:root{color-scheme:dark;--bg:#000;--panel:#101113;--line:#282a2e;--muted:#a8a9b1;--red:#ed1c24;--orange:#edb563;--green:#71cf9b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#fff;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#fff;text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #36383c;border-radius:7px;background:#191a1e;color:#fff;padding:10px 17px;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:#292a2f;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--red);border-color:var(--red);font-weight:650}.primary:hover{background:#c9121b}.quiet{background:none;border:0;padding:5px 10px;color:var(--muted)}input:not([type=checkbox]),textarea,select{width:100%;min-height:44px;border:1px solid #37393e;border-radius:6px;background:#090a0c;color:#fff;padding:11px 12px}input[type=checkbox]{accent-color:var(--red);width:20px;height:20px;flex-shrink:0}input:disabled{opacity:.4}textarea{resize:vertical}label{display:block;margin-bottom:7px}label input:not([type=checkbox]),label select{margin-top:6px}:focus-visible{outline:2px solid #ff6970;outline-offset:4px}header{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:94px;padding:15px 4vw}.brand{display:flex;align-items:center;gap:16px;text-decoration:none!important}.brand img{width:122px;height:auto;display:block}.brand>span{border-left:1px solid #414145;padding-left:16px;font-size:11px;line-height:1.4;letter-spacing:1.8px;color:#b9b9bf}.brand strong{color:white}nav{display:flex;align-items:center;gap:30px}nav a{padding:20px 0;color:#acadb3;font-size:14px}nav a[aria-current]{color:#fff;border-bottom:2px solid var(--red)}.account{display:flex;align-items:center;gap:16px;font-size:13px}.account form{margin:0}main{max-width:1536px;min-height:76vh;margin:auto;padding:40px 4vw 60px}footer{border-top:1px solid var(--line);padding:22px 4vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#85868f}footer b{color:var(--red);padding:0 9px}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.6px;line-height:1.15;margin:8px 0 15px;font-weight:700}h2{font-size:22px;line-height:1.3;letter-spacing:-.5px}h3{font-size:17px}p{margin:10px 0 18px}.muted,small{color:var(--muted)}.red{color:var(--red)}.eyebrow{color:#c3c3ca;font-size:10px;font-weight:650;letter-spacing:2.4px;margin:0 0 14px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.page-heading p{margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:30px 0}.metrics>div,.metrics>a{background:#0c0d0e;padding:22px 28px;border-right:1px solid var(--line);display:grid;gap:3px}.metrics small{font-size:10px;letter-spacing:1.5px}.metrics strong{font-size:36px;line-height:1.2;font-weight:600}.metrics span{font-size:12px;color:#858791}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:25px;margin-bottom:20px}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:22px;gap:15px}.month-controls{display:flex;align-items:center;gap:12px}.month-controls h2{min-width:180px;text-align:center;text-transform:capitalize;margin:0;font-size:23px}.square{font-size:23px;padding:3px 14px}.view-switch{display:flex;background:#08090b;border:1px solid var(--line);border-radius:6px;padding:3px}.view-switch button{border:0;min-height:35px;background:transparent;padding:5px 15px;font-size:12px}.view-switch button[aria-pressed=true]{background:#313238}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 22px 22px}.filters input,.filters select{width:auto;max-width:220px;font-size:12px}.filters input[type=number]{width:85px}.filters button{font-size:12px}.filters label{margin:0}.filters .check{font-size:12px;gap:5px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#15161a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.weekdays span{font-size:9px;letter-spacing:1.3px;color:#999ba6;padding:13px}.day{min-height:132px;border-right:1px solid #242529;border-bottom:1px solid #242529;padding:9px}.day:nth-child(7n){border-right:0;background:#121315}.day.outside{background:#090a0b;color:#555}.day-number{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;margin-bottom:6px;font-size:12px}.today{background:var(--red);color:white;border-radius:50%}.calendar-event{display:block;border-left:2px solid var(--orange);background:#252019;border-radius:3px;padding:6px 7px;margin:0 0 5px;line-height:1.45}.calendar-event.full{border-color:var(--green);background:#14251d}.calendar-event strong{display:block;font-size:11px;overflow-wrap:anywhere}.calendar-event span,.calendar-event small{display:block;font-size:9px;color:#c4beb5}.legend{display:flex;align-items:center;gap:9px;padding:15px 20px;font-size:10px;color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-left:10px}.orange{background:var(--orange)}.green{background:var(--green)}.gray{background:#727580}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.section-heading span{font-size:12px}.event-cards,.workers-grid,.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{display:flex;align-items:center;gap:22px;margin:0}.event-date{display:grid;text-align:center;border-right:1px solid var(--line);padding-right:22px;min-width:70px}.event-date strong{font-size:32px;font-weight:500}.event-date span{font-size:11px;text-transform:uppercase;color:var(--muted)}.event-info{flex:1}.event-info h3{margin:8px 0 4px}.event-info p,.event-info>span:last-child{font-size:12px;color:var(--muted);margin:0}.badge{display:inline-block;border:1px solid #45474d;background:#23252a;color:#c5c5cc;font-size:10px;font-weight:500;border-radius:4px;padding:3px 7px;line-height:1.4}.badge.warning{background:#302416;border-color:#594021;color:#f0bd72}.badge.success{background:#14281e;border-color:#2c503b;color:#8dd9ad}.arrow{font-size:23px;color:#888}.empty{grid-column:1/-1;text-align:center;padding:40px}.empty p{color:var(--muted)}.admin-links{display:flex;gap:25px;font-size:12px;margin-top:30px;color:var(--muted)}.auth-wrap{display:grid;grid-template-columns:1fr 460px;align-items:center;gap:80px;max-width:1120px;margin:35px auto}.auth-intro h1{font-size:clamp(50px,6vw,85px);letter-spacing:-4px;line-height:1.03}.auth-intro h1 span{color:var(--red)}.auth-intro>p:not(.eyebrow){color:#aaaab4;font-size:17px;line-height:1.7}.intro-line{height:2px;width:65px;background:var(--red);margin:40px 0 25px}.auth-intro small{font-size:9px;letter-spacing:2px}.auth{padding:35px;background:#0d0e10}.auth-logo{width:160px;display:block;margin:0 auto 30px}.auth h2{font-size:27px}.auth label{font-size:13px}.auth .eyebrow{text-align:center;font-size:9px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:25px;font-size:12px;color:var(--muted)}.wide{width:100%}.helptext{font-size:12px;color:var(--muted);display:block;margin-top:6px}.helptext ul{padding-left:20px}.errorlist{color:#ff8b91;font-size:13px;padding-left:20px}.message{background:#191a1e;border:1px solid #45464f;border-radius:7px;padding:16px 20px;margin:0 0 20px}.message.error{border-color:#9a323b;color:#ffafb4}.message.success{border-color:#367654;color:#a2e0ba}.warning{color:#efb76b}.back{display:block;color:var(--muted);font-size:13px;margin-bottom:25px}.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:28px;align-items:start}.detail-aside{position:sticky;top:20px;padding:30px}.detail-aside h2{font-size:34px}.detail-aside p{font-size:14px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}.actions .button,.actions button{font-size:12px}.day-panel{padding:0;overflow:hidden}.day-panel h3{margin:0;padding:17px 22px;background:#191a1d;text-transform:capitalize}.day-panel h3 small{font-size:11px;display:block;font-weight:400}.role-row{border-top:1px solid #27282d;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.role-choice{display:flex;align-items:center;gap:12px;margin:0;flex:1;font-size:14px}.role-choice .badge{margin-left:auto}.role-row details{font-size:11px;max-width:45%}summary{cursor:pointer;min-height:30px;align-content:center}.people{display:flex;flex-wrap:wrap;gap:5px}.people span,.tags span{font-size:10px;background:#25262c;border-radius:4px;padding:3px 7px;color:#bfc0c8}.night-panel{display:flex;flex-wrap:wrap;gap:15px}.night-choice,.check{display:flex;align-items:center;gap:10px;font-size:13px}.night-choice{padding:10px;background:#1c1d21;border:1px solid #33343b;border-radius:5px}.confirmations .check{margin:16px 0}.confirmations small{display:block;margin-top:12px}.worker-picker{display:flex;gap:10px;align-items:center}.worker-picker label{font-size:12px;min-width:100px}.editor{max-width:850px}.editor>p{margin:0 0 23px}.editor label{font-size:13px}.editor input[type=checkbox]{vertical-align:middle}.capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.capacity-input{display:flex;justify-content:space-between;align-items:center;margin:14px 0;gap:20px;font-size:13px}.capacity-input input{max-width:80px}.capacity-input small{display:block;font-size:10px}.worker-card{display:flex;gap:20px}.worker-card h3{margin:10px 0 5px}.worker-card p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.avatar{height:45px;width:45px;background:#342023;color:#ff898e;border:1px solid #513033;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:13px}.tags{display:flex;gap:5px;flex-wrap:wrap}.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.mini-metrics div{display:grid}.mini-metrics strong{font-size:25px;font-weight:500}.mini-metrics small{font-size:10px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.compact{padding:18px 22px}.pagination{display:flex;justify-content:center;gap:20px;font-size:12px;padding:20px}.narrow{max-width:650px;margin:50px auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;z-index:100;background:black;padding:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.hidden{display:none!important}#list-view{margin-top:25px}
@media(max-width:1100px){header{gap:20px;flex-wrap:wrap}nav{gap:20px}.account{margin-left:auto}.auth-wrap{gap:35px;grid-template-columns:1fr 430px}.day{padding:6px}.calendar-event span{display:none}.event-cards{grid-template-columns:1fr}}
@media(max-width:760px){header{padding:14px 20px;gap:14px}.brand img{width:95px}.brand>span{font-size:9px;padding-left:12px}.brand{gap:10px}.account{font-size:11px;gap:8px}.account .quiet{padding:5px;font-size:11px}nav{order:3;width:100%;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}nav a{padding:13px 0 3px;font-size:12px}main{padding:25px 18px 40px}h1{font-size:31px;letter-spacing:-1px}.page-heading{gap:15px;align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.page-heading>.button{font-size:12px}.metrics{grid-template-columns:repeat(2,1fr);margin:22px 0}.metrics>div,.metrics>a{padding:16px;border-bottom:1px solid var(--line)}.metrics strong{font-size:28px}.metrics small{font-size:8px}.metrics span{font-size:10px}.calendar-toolbar{padding:15px;display:block}.month-controls{justify-content:space-between;gap:6px}.month-controls h2{min-width:130px;font-size:20px}.view-switch{display:none}.filters{padding:0 15px 15px;gap:8px}.filters input,.filters select{max-width:none;flex:1;min-width:120px}.filters input[type=number]{max-width:90px;min-width:70px}.filters label{font-size:12px}#calendar-view{display:none}.legend{font-size:9px;flex-wrap:wrap;padding:10px}.legend .dot{margin-left:0}.event-cards,.workers-grid,.stats-grid,.detail-layout{grid-template-columns:1fr;gap:12px}.panel{padding:20px}.calendar-panel{padding:0}.event-card{gap:16px}.event-date{min-width:50px;padding-right:15px}.event-date strong{font-size:27px}.event-info h3{font-size:16px}.event-info p{font-size:11px}.event-info>span:last-child{font-size:10px}.event-card .arrow{font-size:18px}.auth-wrap{display:block;margin:10px auto;max-width:480px}.auth-intro{display:none}.auth{padding:25px}.auth h2{font-size:26px}.auth-logo{width:140px}.detail-aside{display:none}.day-panel{padding:0}.day-panel h3{padding:15px 18px;font-size:15px}.role-row{padding:12px 15px;gap:10px;flex-wrap:wrap}.role-choice{font-size:13px}.role-row details{width:100%;max-width:100%;padding-left:35px}.night-panel{gap:8px}.night-choice{font-size:12px;flex:1;white-space:nowrap}.worker-picker{flex-wrap:wrap}.worker-picker label{width:100%}.worker-picker select{flex:1}.section-heading h2{font-size:18px}.section-heading{align-items:start;gap:12px}.section-heading span{font-size:10px}.capacity-grid{grid-template-columns:1fr}.actions{margin-bottom:10px}.actions button,.actions .button{font-size:11px;padding:8px 12px}footer{font-size:8px;letter-spacing:1px;gap:15px}.mini-metrics small{font-size:9px}.compact{padding:15px}.confirmations .primary{font-size:13px}.confirmations .check{align-items:start}}
@media print{*{color:#000!important;background:white!important;box-shadow:none!important}header,footer,.filters,.actions,.admin-links,.back,button{display:none!important}main{padding:0}.panel{break-inside:avoid;border:1px solid #bbb}details{display:block}details>div{display:block!important}.stats-grid,.capacity-grid{display:block}.hidden{display:block!important}a{text-decoration:none}.table-scroll{overflow:visible}}
.filters input[type=checkbox]{width:20px;min-width:20px;max-width:20px;flex:0 0 20px}.filters .check{white-space:nowrap;padding:0 6px}.auth form p:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;flex-direction:row-reverse;justify-content:flex-end}.auth form p:has(input[type=checkbox]) label{margin:0}

/* Keep the application chrome in view; only the content area scrolls. */
@media screen {
 html{height:100%;overflow:hidden}
 body{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 body>header,body>footer{position:relative;z-index:10;background:var(--bg)}
 body>main{width:100%;min-height:0;margin:0 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable}
 body>footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
.brand-block{flex-shrink:0;display:flex;flex-direction:column;gap:4px}
.header-copyright{font-size:10px;line-height:1.4;color:#a8a9b1;letter-spacing:.3px}
@media(max-width:760px){.header-copyright{font-size:9px}body>footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media print{html,body{height:auto;overflow:visible;display:block}body>main{height:auto;overflow:visible;min-height:0}}
/* Original transparent logo, adapted to the application's dark background. */
.brand img,.auth-logo{filter:invert(1) hue-rotate(180deg) brightness(1.15) saturate(5)}

.footer-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;letter-spacing:.5px}
@media(max-width:760px){body>footer{flex-wrap:wrap;gap:8px}.footer-meta{justify-content:flex-start;gap:6px 14px}}

.calendar-event[class*="event-color-"]{border-color:var(--event-color);background:color-mix(in srgb,var(--event-color) 16%,#101113)}
.event-card[class*="event-color-"]{border-left:3px solid var(--event-color)}
.event-color-0{--event-color:#ed2638}
.event-color-1{--event-color:#32bd79}
.event-color-2{--event-color:#e9c83e}
.event-color-3{--event-color:#549df0}
.event-color-4{--event-color:#bb78ef}
.event-color-5{--event-color:#f39442}
.event-color-6{--event-color:#ed77af}
.event-color-7{--event-color:#3bcbd4}
.event-color-8{--event-color:#a7ca4b}
.event-color-9{--event-color:#bd8f73}
.event-color-10{--event-color:#f19187}
.event-color-11{--event-color:#91a6e8}
.event-color-12{--event-color:#c4a3ed}
.event-color-13{--event-color:#6bd5ac}
.event-color-14{--event-color:#d8a647}
.event-color-15{--event-color:#b1c2ce}
.event-color-16{--event-color:#d96ab7}
.event-color-17{--event-color:#66b4a5}
.event-color-18{--event-color:#a5a8ee}
.event-color-19{--event-color:#e6ba9c}
.day{position:relative}.day-create{position:absolute;inset:0;z-index:1;border-radius:3px}.day-create:hover{background:rgba(255,255,255,.035)}.day-create:focus-visible{outline:2px solid var(--red);outline-offset:-3px}.day-number{pointer-events:none}.day .calendar-event{position:relative;z-index:2}

/* Four compact event rows fit without changing calendar row height. */
.calendar-grid{grid-auto-rows:132px}
.calendar-grid .day{height:132px;min-height:0;padding:6px;overflow:hidden}
.calendar-grid .day-number{height:20px;width:20px;margin-bottom:4px;font-size:11px}
.day-events{height:94px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;position:relative;pointer-events:none}
.day-events .calendar-event{height:22px;min-height:22px;margin:0 0 2px;padding:2px 5px;line-height:18px;pointer-events:auto;overflow:hidden}
.day-events .calendar-event strong{font-size:10px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.day-events .calendar-event span,.day-events .calendar-event small{display:none}
.day-events:has(.calendar-event:nth-child(5)){z-index:2;pointer-events:auto}
.day-events .calendar-event:last-child{margin-bottom:0}

.role-row{flex-wrap:wrap}.assignment-roster{flex:0 0 100%;min-width:0}.assignment-roster>.muted{display:block;font-size:11px;margin-bottom:7px}.assignment-roster .people span{font-size:13px;overflow-wrap:anywhere}.assignment-roster .people .own-assignment{color:#fff;border:1px solid #ed1726}

.calendar-event.event-cancelled,.event-card.event-cancelled{--event-color:#898b91;background:#292a2e;color:#bfc0c5;border-left-color:#898b91}.event-card.event-cancelled .badge{background:#3b3c41;color:#c8c9ce}
