@charset "UTF-8";
:root{--bg:#f5f7f7;--ink:#213c3a;--muted:#778784;--green:#177365;--line:#e2e9e6;--soft:#edf5f0;--amber:#b5833a;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Segoe UI",Arial,sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid transparent;border-radius:8px;padding:11px 17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px}button:hover,.button:hover{filter:brightness(.95);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #70b8a6;outline-offset:3px}.primary{background:var(--green);color:white;box-shadow:0 3px 6px #124e4512}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.text-button{padding:4px 0;background:none;color:var(--green);border:0;font-size:12px}.danger{color:#a44545}.full{width:100%}.muted{color:var(--muted)}.small,small{font-size:12px}.eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--green)}h1,h2,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin-bottom:11px;font-weight:650}h2{font-size:19px;letter-spacing:-.45px;font-weight:650;margin:8px 0 18px}p{margin-bottom:17px}label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:12px;margin-bottom:17px}input:not([type=checkbox]),select,textarea{border:1px solid #dce5e1;border-radius:7px;padding:12px;background:#fff;color:var(--ink);width:100%;min-width:0}input::placeholder,textarea::placeholder{color:#a1aaa7}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}label small{font-weight:400;color:var(--muted)}.check-line{flex-direction:row;align-items:center;font-weight:400;gap:9px}.brand{font-size:43px;font-weight:750;letter-spacing:-3px;color:var(--ink);line-height:1}.brand span{font-size:30px;color:var(--green);vertical-align:top;display:inline-block;margin:0 0 0 4px}.brand-caption{font-size:8px;letter-spacing:1.6px;margin:13px 0 58px}.sidebar{position:fixed;top:0;bottom:0;left:0;width:224px;background:white;border-right:1px solid var(--line);padding:35px 23px}.side-label{font-size:9px;color:#98a5a1;letter-spacing:1.2px;margin:0 12px 14px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#71827e;font-size:12px;font-weight:600;padding:12px;border-radius:7px}.sidebar nav a>span{font-size:19px;line-height:1}.sidebar nav a.active{background:var(--soft);color:var(--green)}.counter{margin-left:auto;font-size:10px;background:var(--green);color:#fff;padding:1px 6px;border-radius:10px}.side-bottom{position:absolute;bottom:25px;font-size:10px;color:var(--muted)}.side-bottom p{font-size:9px;margin:8px 0}.location-dot,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#aaa;margin-right:5px}.location-dot,.status-dot.done{background:#42a288}.workspace{margin-left:224px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#fff;border-bottom:1px solid var(--line);font-size:11px;color:#8b9793}.slash{padding:0 12px;color:#ccd4d1}.profile{display:flex;align-items:center;gap:10px}.profile strong{color:var(--ink);font-size:12px;font-weight:600}.profile small{display:block;font-size:9px}.profile form{margin-left:16px}.avatar,.mini-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7efea;color:var(--green);font-weight:650}.content{padding:35px 40px;max-width:1600px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 27px;gap:16px}.page-title .eyebrow{margin-bottom:12px}.page-title p{font-size:12px;margin:0}.title-dot{color:var(--green)}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:22px;box-shadow:0 3px 12px #233d3402}.period-bar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;gap:15px}.inline-label{display:flex;flex-direction:row;align-items:center;gap:17px;margin:0;color:var(--muted);font-size:10px;letter-spacing:1px}.inline-label select{min-width:320px;font-size:12px;font-weight:600;letter-spacing:0;padding:9px 13px}.badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:10px;font-weight:600;border-radius:20px;padding:5px 10px}.open{color:#347565;background:#e7f2eb}.locked{color:#916941;background:#f6eddf}.amber-badge{color:#94661c;background:#fff1d8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin:0 0 25px}.stats article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:21px 24px}.stats article>span{font-size:11px;color:var(--muted)}.stats strong{display:block;font-size:33px;line-height:1.2;margin:12px 0 9px;font-weight:600}.stats strong small{font-size:12px;font-weight:400;color:var(--muted)}.stats p{font-size:10px;color:var(--muted);margin:0}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading .eyebrow{font-size:9px;letter-spacing:.8px}.section-heading h2{margin-bottom:18px}.calendar-symbol{font-size:30px;color:#9bb9ad}.calendar-panel{padding:25px}.member-picker label{max-width:350px}.calendar-caption{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin:18px 0 20px;gap:8px}.calendar-caption>span{color:var(--muted)}.calendar-caption strong{font-size:10px;color:var(--green);background:var(--soft);padding:5px 8px;border-radius:5px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{text-align:center;color:#98a5a1;font-size:9px;font-weight:600;padding:0 0 9px}.weekday:first-child{color:var(--amber)}.calendar-day{position:relative;margin:0;cursor:pointer}.calendar-day input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.day-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e9eeeb;background:#fff;border-radius:8px;min-height:79px;position:relative;transition:background .15s}.day-tile b{font-size:20px;font-weight:550;line-height:1.35}.day-tile small{font-size:7px;font-weight:400;color:#a0aba6;height:12px}.sunday .day-tile{background:#f7f5ef}.sunday .day-tile b{color:#a58e60}.holiday .day-tile{border-color:#ead09e}.holiday .day-tile small:last-of-type{color:#ac7c2e}.day-check{display:none;position:absolute;right:5px;top:1px;font-size:11px}.calendar-day input:checked+.day-tile{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 5px #17736517}.calendar-day input:checked+.day-tile small,.calendar-day input:checked+.day-tile b{color:#fff}.calendar-day input:checked+.day-tile .day-check{display:block}.calendar-day input:focus-visible+.day-tile{outline:3px solid #70b8a6;outline-offset:2px}.calendar-day input:disabled+.day-tile{cursor:default}.legend{display:flex;gap:18px;font-size:9px;color:var(--muted);margin:18px 0 25px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:7px;height:7px;border-radius:2px}.green{background:var(--green)}.amber{background:#e1bd77}.pale{background:#e5decc}.form-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.form-footer .small{max-width:230px;font-size:10px}.form-footer button{white-space:nowrap}.schedule-side .panel{padding:22px}.schedule-side h2{font-size:16px}.member-list{max-height:350px;overflow:auto}.member-list>a{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #eff2f0;color:var(--ink)}.mini-avatar{height:30px;width:30px;font-size:10px;flex-shrink:0}.member-list strong{font-size:11px;display:block}.member-list small{display:block;color:var(--muted);font-size:9px}.member-list .status-dot{margin-left:auto;flex-shrink:0}.stack-actions{display:grid;gap:10px;margin-top:20px}.stack-actions button{font-size:11px}.soft{background:#eef4ee;border-color:#e0e8de}.soft p{font-size:11px;color:#758272}.holiday-list{display:grid;gap:10px;font-size:10px;color:#788879;max-height:300px;overflow:auto}.holiday-list span{display:block}.holiday-list b{display:block;color:#4a6656;margin-bottom:2px}.overview h2{margin-bottom:0}.overview>.small{margin:13px 0}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;color:var(--muted);font-weight:600;background:#f9faf9}th,td{padding:13px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.roster{font-size:10px}.roster th,.roster td{text-align:center;padding:10px 8px;white-space:nowrap}.roster th:first-child{min-width:160px;text-align:left;position:sticky;left:0;background:#fff}.roster .off-cell{background:#edf6ef;color:var(--green);font-weight:700}.two-column{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}.two-column>.panel{min-width:0}.narrow{max-width:550px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}.form-grid button{justify-self:start}.info{padding:14px 17px;background:#eef4f1;border:1px solid #dce9e1;border-radius:7px;font-size:12px;margin-bottom:20px;color:#5b796d}.alert{padding:15px 18px;border-radius:8px;margin:0 0 23px;font-size:13px}.success{background:#e6f4e8;color:#266f45}.error{background:#fbece9;color:#9a4137;border:1px solid #efcfc9}.empty{text-align:center;padding:55px 20px}.empty-icon{font-size:45px;color:#9bb7a9}.footer{border-top:1px solid var(--line);margin-top:35px;padding:20px 0 0;font-size:9px;color:#97a29c;display:flex;justify-content:space-between}.message{padding:20px 0;border-bottom:1px solid var(--line)}.message.unread{border-left:3px solid var(--green);padding-left:15px}.message-meta{display:flex;flex-direction:column;margin-bottom:10px;gap:4px}.message-meta strong{font-size:12px}.message-meta small{color:var(--muted);font-size:10px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:13px}.message-footer{display:flex;justify-content:space-between;font-size:11px}.holiday-row{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.holiday-row p{margin:4px 0;font-size:11px;color:var(--muted)}.inline-form{display:flex;align-items:end;gap:10px}.inline-form label{margin:0;max-width:110px}.audit-detail{min-width:220px;font-size:11px;overflow-wrap:anywhere}summary{cursor:pointer;color:var(--green);margin-bottom:12px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{background:#e9f0e9;padding:55px 13%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:'+';position:absolute;right:-35px;bottom:15px;font-size:460px;line-height:.8;color:#dce7db;font-weight:300;pointer-events:none}.login-story .brand{position:absolute;top:45px}.login-story .eyebrow{font-size:10px;margin-bottom:25px}.login-story h1{font-size:48px;line-height:1.14;letter-spacing:-2px;position:relative;z-index:1}.login-story p{font-size:14px;color:#71806e;margin-top:17px;position:relative;z-index:1}.story-footer{position:absolute;bottom:35px;font-size:8px;letter-spacing:1.3px}.story-footer span{padding:0 12px}.login-card{max-width:440px;width:100%;margin:auto;padding:50px 25px}.login-card h2{font-size:31px;line-height:1.2;letter-spacing:-1px;margin:16px 0}.login-card>.muted{font-size:12px;margin-bottom:30px}.login-card .mark{width:43px;height:43px;border-radius:11px;background:var(--soft);color:var(--green);font-size:32px;text-align:center;line-height:40px;margin-bottom:34px}.login-card button{justify-content:space-between;margin-top:7px}.login-card>.small{font-size:10px;max-width:330px;margin:24px 0}.login-card input{padding:14px}.login-card .eyebrow{font-size:9px}[hidden]{display:none!important}
@media(min-width:1450px){.content{padding:40px 55px}.calendar{gap:10px}.day-tile{min-height:90px}.schedule-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1120px){.sidebar{width:185px;padding:30px 15px}.workspace{margin-left:185px}.content{padding:28px 24px}.topbar{padding:0 24px}.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-column{grid-template-columns:1fr}.login-story h1{font-size:39px}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:31px}.sidebar .brand span{font-size:23px}.brand-caption,.side-label,.side-bottom{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;margin-top:15px;gap:6px}.sidebar nav a{white-space:nowrap;font-size:10px;padding:9px}.sidebar nav a>span{display:none}.workspace{margin:0}.topbar{height:62px;padding:0 20px}.topbar>span{display:none}.profile{width:100%}.profile form{margin-left:auto}.content{padding:25px 16px}.page-title{align-items:start}.page-title h1{font-size:28px}.page-title .primary{font-size:10px;white-space:nowrap;padding:10px}.page-title .eyebrow{font-size:8px}.period-bar{align-items:start;flex-direction:column;gap:12px}.inline-label{gap:10px;font-size:8px}.inline-label select{min-width:0;max-width:280px;font-size:10px}.stats{gap:8px}.stats article{padding:14px 11px}.stats article>span{font-size:9px;display:block;min-height:27px}.stats strong{font-size:25px}.stats strong small{font-size:9px}.stats p{font-size:8px}.panel,.calendar-panel{padding:18px}.calendar{gap:4px}.day-tile{min-height:65px;border-radius:5px}.day-tile b{font-size:17px}.day-tile small{font-size:6px}.weekday{font-size:8px}.calendar-caption{font-size:9px}.calendar-caption strong{font-size:8px}.legend{gap:11px;font-size:8px}.schedule-side{grid-template-columns:1fr;gap:0}.form-footer{align-items:start;flex-direction:column}.form-footer .small{max-width:none}.form-footer button{width:100%}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.footer{font-size:8px;gap:10px}.login-shell{grid-template-columns:1fr}.login-story{padding:28px;min-height:210px}.login-story .brand{position:static;font-size:31px;margin-bottom:25px}.login-story h1{font-size:28px;margin:0}.login-story h1 br{display:none}.login-story .eyebrow,.login-story p,.story-footer{display:none}.login-story:after{font-size:200px;right:0}.login-card{padding:32px 28px}.login-card .mark{display:none}.login-card h2{font-size:28px}.overview .section-heading{align-items:start}.overview button{font-size:10px}.holiday-row{gap:8px}}
@media print{@page{size:landscape;margin:10mm}body{background:#fff;font-size:10px}.sidebar,.topbar,.page-title button,.period-bar form,.schedule-layout,.stats,.footer,#new-period,.alert,.overview button{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}.panel{border:0;box-shadow:none;padding:0}.page-title{margin-bottom:10px}.page-title p{display:none}.period-bar{border:0;padding:0}.table-scroll{overflow:visible}.roster{table-layout:fixed;font-size:6px}.roster th,.roster td{font-size:6px;padding:5px 1px;white-space:normal}.roster th:first-child{width:90px;min-width:0;position:static}.off-cell{print-color-adjust:exact}}
.print-only{display:none}@media print{.print-only{display:block}.no-print{display:none!important}}
.units-section{scroll-margin-top:20px}.unit-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:20px 0}.unit-block{margin:24px 0}.unit-block h3{font-size:13px;margin:0 0 12px}.unit-table{table-layout:fixed;min-width:1300px;font-size:11px}.unit-table th,.unit-table td{padding:10px 5px;border:1px solid var(--line);text-align:center;overflow-wrap:anywhere}.unit-table th:first-child{width:110px;text-align:left}.unit-table th small{display:block;font-size:9px;font-weight:400}.assigned-name{display:block;margin:0 0 7px}.assigned-name:last-child{margin-bottom:0}.unit-pending td{background:#fffaf0}.unit-note{color:var(--muted);line-height:1.8}.unit-table thead{display:table-header-group}
@media(max-width:700px){.units-section>.section-heading{align-items:start}.units-section>.section-heading button{font-size:10px;padding:10px;max-width:140px}}
@media print{.units-section .no-print{display:none!important}.unit-block{margin:12px 0;break-inside:avoid}.unit-block h3{font-size:10px;margin-bottom:6px}.unit-table{min-width:0;width:100%;font-size:8px;color:#111}.unit-table th,.unit-table td{font-size:8px;padding:5px 3px;border-color:#999}.unit-table th:first-child{width:80px}.unit-table th small{font-size:7px}.assigned-name{margin-bottom:5px}.unit-note{font-size:8px;color:#333}.units-section h2{font-size:16px;margin:8px 0}.units-section .eyebrow{font-size:8px}.unit-pending td{background:#fff}.units-section .table-scroll{overflow:visible}.overview{display:none}.units-section{display:block}body[data-print-mode=roster] .units-section{display:none}body[data-print-mode=roster] .overview{display:block}.page-title h1{font-size:22px}.page-title .eyebrow{display:none}}
@media print{.unit-table,.unit-table th,.unit-table td{font-size:10px}.unit-table th small{font-size:8px}body:not(:has(.units-section)) .overview{display:block}}
@media print{@page{size:A4 landscape;margin:10mm}}
