@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b4787;--blue:#0079bc;--tint:#e6f2f8;--tint-soft:#f0f7fb;--ink:#1c2e42;--muted:#5f7083;--line:#dbe4ec;--paper:#f4f6f8;--orange:#ac5a22;--radius:16px;font-family:'DM Sans',sans-serif;color:var(--ink);font-size:16px;background:var(--paper)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:2rem;letter-spacing:-1.1px}h2{font-size:1.2rem;letter-spacing:-.4px}h3{font-size:1rem}p{line-height:1.6}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:30px 20px;position:fixed;width:238px;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:10px;align-items:center;font-family:Manrope;font-weight:800;font-size:1.15rem;letter-spacing:-.6px}.mark{background:#9fd0ee;color:var(--navy);width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.company{margin:30px 0 25px;padding:13px 10px;background:#ffffff0a;border:1px solid #ffffff1c;border-radius:10px;font-size:.875rem}.company small{display:block;color:#afc1c7;margin-top:4px}.navlabel{font-size:.75rem;text-transform:uppercase;letter-spacing:1.4px;color:#8faab5;margin:10px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:12px;background:none;color:#bdd0d7;padding:13px 14px;text-align:left;border-radius:9px;font-size:.9rem}.nav button.active{background:#1c5b9f;color:#fff}.nav button:hover{background:#ffffff12}.nav .count{margin-left:auto;background:#ffffff18;padding:1px 7px;border-radius:5px;font-size:.75rem}.sidebar-bottom{margin-top:auto;padding-top:28px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff20;padding-top:20px;font-size:.875rem}.avatar{background:#eee7dc;color:#526064;border-radius:50%;display:grid;place-items:center;width:35px;height:35px;font-weight:700;flex-shrink:0}.profile small{color:#b2c4ca;display:block}.main{grid-column:2;min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:16px 36px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px}.breadcrumb{font-size:.875rem;color:var(--muted)}.top-actions{display:flex;gap:14px;align-items:center}.demo{font-size:.75rem;letter-spacing:.5px;background:#eef2f4;padding:6px 10px;border-radius:6px;color:#5f7083;font-weight:700}.workspace{padding:30px 36px 130px;max-width:1550px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-size:.75rem;font-weight:700;margin-bottom:8px}.sub{color:var(--muted);font-size:.9rem;margin-top:7px}.btn{padding:11px 17px;border-radius:8px;font-weight:600;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}a.btn{color:white}a.btn.secondary{color:var(--ink)}.btn.ghost{background:transparent;color:var(--blue);padding:8px 0}.btn.danger{background:#ad3d3d}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:25px}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.stat.panel-highlight{background:var(--tint-soft)}.stat-clickable{text-align:left;transition:transform .15s,box-shadow .15s}.stat-clickable:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1335410f}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.875rem}.stat-value{font-family:Manrope;font-weight:800;font-size:2rem;margin:12px 0 5px;letter-spacing:-1px}.stat-note{font-size:.8rem;color:var(--muted)}.green{color:var(--blue)}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.panel{background:var(--tint-soft);border:2px solid var(--blue);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 23px;border-bottom:1px solid var(--line)}.panel-body{padding:23px}.visit{display:flex;gap:18px;padding:22px;border-bottom:1px solid var(--line);align-items:flex-start}.visit:last-child{border:0}.time{font-weight:700;font-size:.875rem;min-width:65px;line-height:1.5}.visit-detail{flex:1}.visit-detail p{font-size:.875rem;color:var(--muted);margin:5px 0 10px}.badge{display:inline-block;padding:5px 9px;font-size:.75rem;font-weight:700;border-radius:5px;white-space:nowrap;background:#eaf0f4;color:#3f5f80}.badge.green{background:var(--tint);color:#0b4787}.badge.amber{background:#fff0df;color:#955b20}.badge.red{background:#ffe8e5;color:#a74638}.visit-side{display:flex;align-items:center;gap:7px}.task{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:10px}.task:last-child{border:0}.task p{font-size:.875rem;color:var(--muted);margin-top:3px}.notice{padding:16px;border-radius:10px;background:#fff5e9;color:#815120;display:flex;gap:11px;font-size:.875rem;line-height:1.5;margin-bottom:16px}.notice.info{background:#e9f2f8;color:#2c5a85}.bottom-card{margin-top:24px;padding:24px;background:var(--navy);color:white;border-radius:var(--radius);display:flex;justify-content:space-between;gap:20px;align-items:center}.bottom-card p{font-size:.875rem;color:#bed3dc;max-width:510px;margin-top:7px}.bottom-card .btn{background:#9fd0ee;color:var(--navy)}.mobile-brand{display:none}.mobile-nav{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border-radius:10px;padding:15px 22px;z-index:100;max-width:calc(100vw - 30px);box-shadow:0 8px 30px #0003;display:none;font-size:.9rem}#toast.show{display:block}dialog{border:0;border-radius:18px;padding:0;width:min(570px,calc(100vw - 28px));color:var(--ink);max-height:90vh;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#0b24346b;backdrop-filter:blur(3px)}.modal-head{padding:23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-body{padding:23px}.close{font-size:1.5rem;background:transparent;color:var(--muted);padding:3px 9px}.field{display:block;margin-bottom:18px;font-size:.875rem;font-weight:600}.field input,.field select,.field textarea,.search{width:100%;padding:12px;border:1px solid #ccd8dc;background:white;color:var(--ink);border-radius:8px;margin-top:7px}.search{border:1px solid var(--blue)}.search:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #087d701f}.field textarea{min-height:85px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.empty{text-align:center;color:var(--muted);padding:45px 20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.heading-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.checkbox-field{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:400}.checkbox-field input{width:auto;margin:0}.overdue-panel{background:#fff5f5;border-color:#e6a5a5;margin-bottom:20px}.overdue-panel .panel-head{background:#fff5f5}.offline-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;background:#fff5e9;border:1px solid #f0d9b8;border-radius:8px}.search-results{margin-top:6px;border:1px solid var(--line);border-radius:8px;max-height:220px;overflow-y:auto;background:white}.search-result{display:block;width:100%;text-align:left;padding:10px 12px;font-size:.9rem;font-weight:400;border-bottom:1px solid var(--line);background:white;color:var(--ink)}.search-result:last-child{border-bottom:0}.search-result:hover,.search-result:focus{background:var(--paper)}.search-results .empty{padding:14px;font-size:.85rem}
@media(min-width:1500px){.workspace{padding-top:40px}.visit{padding:26px}.stats{gap:22px}}
@media(max-width:1100px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding:24px 14px}.topbar{padding:16px 23px}.workspace{padding:25px 23px}.columns{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.stat-top{font-size:.8rem}.stat-note{font-size:.75rem}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none}.main{padding-bottom:75px}.topbar{padding:14px 18px;min-height:65px}.mobile-brand{display:flex;font-weight:800;gap:8px;align-items:center;font-size:.95rem}.breadcrumb{display:none}.top-actions .avatar{display:none}.workspace{padding:24px 17px}.page-heading{align-items:flex-start}h1{font-size:1.6rem}.page-heading .btn{padding:10px;font-size:.875rem}.stats{grid-template-columns:1fr 1fr;gap:11px}.stat{padding:16px}.stat-value{font-size:1.8rem}.columns{gap:18px}.visit{padding:17px;gap:10px}.visit-side{display:none}.panel-head,.panel-body{padding:18px}.bottom-card{align-items:flex-start;flex-direction:column}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:8px 8px max(8px,env(safe-area-inset-bottom));justify-content:space-around;z-index:20;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{flex-shrink:0;display:flex;flex-direction:column;gap:4px;align-items:center;background:transparent;color:var(--muted);font-size:.75rem;padding:6px 12px;border-radius:8px}.mobile-nav button.active{color:var(--blue);background:var(--tint)}#toast{bottom:90px}.form-row{grid-template-columns:1fr}.demo{font-size:.7rem;padding:5px 7px}}

/* Brand: the Top Flight Stage Runners logo */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.brand-card{background:#fff;border-radius:14px;padding:12px 16px;margin-bottom:8px}
.brand-card img{display:block;width:100%;height:auto}
.brand-logo{display:block;height:58px;width:auto}
.lnav .brand{padding:0}
.mobile-brand img{display:block;height:36px;width:auto}
.signin-brand{display:block;margin:0 auto 14px;width:min(280px,80%)}
.signin-brand img{display:block;width:100%;height:auto}
/* Shared horizontal Stage Runners identity across sign-in and app navigation. */
.brand-card{display:flex;align-items:center;gap:9px;padding:16px 10px;color:#123b67}
.brand-card .sr-brand-icon{width:39px;height:auto;flex-shrink:0}
.sr-brand-name{font-family:inherit;font-weight:800;white-space:nowrap;letter-spacing:-.5px}
.brand-card .sr-brand-name{font-size:17px}
.mobile-brand{gap:8px;color:#123b67}
.mobile-brand .sr-brand-icon{width:34px;height:auto;flex-shrink:0}
.mobile-brand .sr-brand-name{font-size:16px}
.signin-brand{display:flex;align-items:center;justify-content:center;gap:12px;width:auto;color:#123b67;text-decoration:none}
.signin-brand .sr-brand-icon{width:54px;height:auto;flex-shrink:0}
.signin-brand .sr-brand-name{font-size:26px}

/* light-on-navy text in the sidebar footer */
.sidebar-bottom .btn.ghost,.sidebar-bottom a{color:#cfe3f5}
.sidebar-bottom .sub{color:#9dbbd6}

/* quiet credit on client-facing pages (quote/share) -- below all
   stager-branded content, never competing with it */
.powered-by-footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);text-align:center}
.powered-by-footer a{color:var(--muted);font-size:.8rem;text-decoration:none}
.powered-by-footer a:hover{text-decoration:underline}
