@import url('/static/no-external-fonts.css');
.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}
:root{--brand:#c64f19;--brandbright:#e97536;--bg:#f6f5f1;--panel:#fff;--ink:#26362e;--muted:#63716a;--line:#dedfd8;--tint:#fff1e7;--ok:#246448;--shadow:0 8px 32px #26362e08;color-scheme:light;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid var(--line);border-radius:10px;padding:11px 17px;background:var(--panel);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:600}button:hover,.button:hover{border-color:var(--brand);color:var(--brand)}button.primary,.button.primary{background:var(--brand);color:white;border-color:var(--brand)}button.danger{color:#b33232}button:disabled{opacity:.5;cursor:default}button.small,.button.small{padding:7px 11px;font-size:13px}button.link{border:0;background:none;color:var(--brand);padding:4px}input,select,textarea{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:11px;width:100%;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brandbright);outline-offset:1px}textarea{min-height:90px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--brand)}label{font-size:13px;font-weight:600;display:block;margin:0 0 6px}label.check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:400;margin:8px 0}h1{font-size:32px;letter-spacing:-1px;margin:0 0 10px;font-weight:650}h2{font-size:20px;margin:0 0 16px;letter-spacing:-.3px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.6;margin:8px 0}small,.muted{color:var(--muted)}small{font-size:12px;line-height:1.5}a{color:var(--brand)}.app-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:28px 20px;background:var(--panel);display:flex;flex-direction:column;gap:25px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand img{width:42px;height:42px}.brand strong{font-size:23px;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;justify-content:flex-start;padding:12px;font-weight:500;color:var(--muted)}.nav button.active{background:var(--tint);color:var(--brand)}.nav .ico{width:22px;font-size:18px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.sidebar-bottom strong{font-size:14px}.sidebar-bottom p{margin:5px 0 12px}.theme{display:flex;gap:4px;margin-top:12px}.theme button{font-size:11px;padding:6px;flex:1}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 38px;border-bottom:1px solid var(--line);background:var(--panel);gap:15px}.topbar select{width:270px;max-width:100%}.topbar .status{font-size:12px;display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}.dot.offline{background:#c68517}.content{max-width:1310px;padding:38px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;color:var(--brand);text-transform:uppercase;letter-spacing:1.7px;font-weight:700;margin-bottom:10px}.pagehead p{margin:0;color:var(--muted);max-width:680px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:var(--shadow)}.card.hero{background:var(--ink);color:var(--panel);border:0;position:relative;overflow:hidden}.hero p{color:#d7e2d7;max-width:460px;margin-bottom:24px}.hero .primary{background:#f39556;border-color:#f39556;color:#292d25}.hero h2{font-size:25px}.hero .watermark{position:absolute;right:15px;bottom:-35px;font-size:170px;opacity:.07;pointer-events:none}.section{margin-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.section-title h2{margin:0}.tag{display:inline-flex;gap:5px;align-items:center;border-radius:6px;padding:4px 7px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.tag.green{background:#e8f2e9;color:#246448}.tag.orange{background:var(--tint);color:var(--brand)}.location{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;cursor:pointer;text-align:left}.location .locicon{width:40px;height:40px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.location .text{flex:1}.location strong{display:block;margin-bottom:5px;font-size:14px}.location small{font-weight:400}.empty{padding:25px 12px;text-align:center;color:var(--muted);font-size:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:15px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span2{grid-column:1/-1}.notice{padding:13px 16px;border-radius:9px;background:var(--tint);color:var(--brand);font-size:13px;line-height:1.6;margin:15px 0}.notice.green{background:#e8f2e9;color:#246448}.notice.error{background:#fbe8e8;color:#a62f2f}.listline{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.listline:last-child{border-bottom:0}.listline p{margin:0;font-size:14px}.number{font-size:32px;letter-spacing:-1px;font-weight:650}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:500;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:var(--bg);padding:12px;white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block}td input{width:90px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{flex:1;min-width:140px}.toolbar select{width:auto;min-width:140px}.countrow{display:grid;grid-template-columns:minmax(180px,1fr) 130px 130px;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.countrow input{text-align:center;font-size:22px;font-weight:600;padding:10px;min-width:0}.countrow label{font-size:11px;color:var(--muted);font-weight:400;text-align:center}.countrow strong{font-size:15px}.countrow small{display:block;margin-top:5px}.sticky-actions{position:sticky;bottom:0;padding:18px 0;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2}.auth{max-width:490px;margin:65px auto;padding:28px}.auth .brand{margin-bottom:35px}.auth h1{font-size:28px}.auth .card{margin-top:25px}.auth button.primary{width:100%}.welcome{max-width:1100px;margin:auto;padding:45px 30px}.welcome-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:65px}.welcome .intro{max-width:600px;margin-bottom:35px}.welcome h1{font-size:45px;line-height:1.13}.welcome .namegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.welcome footer{color:var(--muted);font-size:12px;margin-top:60px;border-top:1px solid var(--line);padding-top:20px}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:17px;padding:0;width:min(680px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#14251bb0;backdrop-filter:blur(3px)}.modalhead{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.modalhead h2{margin:0}.modalbody{padding:25px}.modalfoot{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.error-text{color:#ae3030;font-size:13px;margin-top:12px}.pre{white-space:pre-wrap;font-size:12px;max-height:230px;overflow:auto;background:var(--bg);padding:15px;border-radius:8px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:12px}.printonly{display:none}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 22px;background:var(--ink);color:var(--panel);border-radius:10px;box-shadow:0 5px 30px #0002;z-index:10;display:none;font-size:14px}.mobilebrand{display:none}.save-state{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:8px;margin-bottom:20px;overflow:auto}.tabs button{white-space:nowrap}.tabs button.active{background:var(--ink);color:var(--panel);border-color:var(--ink)}.metric{display:flex;gap:12px;align-items:baseline}.metric .unit{color:var(--muted);font-size:13px}.calendar-date{color:var(--brand);font-weight:700;min-width:60px}.annotation{border-left:3px solid var(--brandbright);padding-left:12px}.progressbar{height:5px;background:var(--line);border-radius:10px;margin:15px 0}.progressbar span{height:5px;display:block;background:var(--brandbright);border-radius:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[data-theme=dark]{--bg:#1c2621;--panel:#26322b;--ink:#f1f3ed;--muted:#b1bcb2;--line:#425046;--tint:#463326;--brand:#f49a62;--brandbright:#e97536;--shadow:none;color-scheme:dark}[data-theme=dark] .hero{background:#354c3a;color:#f1f3ed}[data-theme=dark] .tag.green,[data-theme=dark] .notice.green{background:#294333;color:#b2dabc}
@media(prefers-color-scheme:dark){[data-theme=auto]{--bg:#1c2621;--panel:#26322b;--ink:#f1f3ed;--muted:#b1bcb2;--line:#425046;--tint:#463326;--brand:#f49a62;--brandbright:#e97536;--shadow:none;color-scheme:dark}[data-theme=auto] .hero{background:#354c3a;color:#f1f3ed}}
@media(max-width:1000px){.grid.three{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 13px}.content{padding:26px}.topbar{padding:18px 26px}.grid.two{grid-template-columns:1fr}.countrow{grid-template-columns:minmax(150px,1fr) 100px 100px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:15px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.sidebar>.brand{display:none}.nav{display:flex;overflow:auto;gap:4px}.nav button{white-space:nowrap;font-size:12px;padding:9px}.nav .ico{display:none}.sidebar-bottom{display:none}.topbar{height:auto;padding:14px 18px;flex-wrap:wrap}.topbar select{width:100%;order:2}.topbar .status{margin-left:auto}.mobilebrand{display:flex;font-weight:750;font-size:19px;letter-spacing:1px;color:var(--brand)}.content{padding:24px 17px}.pagehead{display:block;margin-bottom:20px}.pagehead>.row{margin-top:15px}h1{font-size:27px}.grid.three,.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.card{padding:19px}.grid{gap:13px}.countrow{grid-template-columns:minmax(110px,1fr) 86px 86px;gap:10px}.countrow strong{font-size:13px}.countrow input{font-size:21px;padding:10px 3px}.countrow small{font-size:10px}.checks{grid-template-columns:1fr}.welcome{padding:25px 20px}.welcome-head{margin-bottom:45px}.welcome h1{font-size:36px}.welcome-head .brand strong{font-size:20px}.welcome-head .brand small{font-size:8px}.auth{margin:25px auto;padding:15px}.sticky-actions{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.sticky-actions button{font-size:12px;padding:11px}.toolbar select{flex:1;min-width:100px}.modalbody{padding:19px}.modalhead{padding:18px}.location{padding:15px}.pagehead p{font-size:14px}}
@media print{.sidebar,.topbar,.toolbar,button,.sticky-actions{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none;break-inside:avoid}.printonly{display:block}body{background:white;color:black}table{font-size:10px}}

.event-chooser{display:flex;align-items:center;gap:12px}.event-chooser strong{white-space:nowrap}.event-chooser select{min-width:100px}.overview-filters>div{min-width:150px}.count-day h2{font-size:1.15rem;text-transform:capitalize}@media(max-width:650px){.event-chooser{gap:6px;flex-wrap:wrap}.overview-filters>div{flex:1;min-width:120px}}
