:root{--bg:#eef1f5;--surface:#fff;--sunk:#e4e8ee;--ink:#141c28;--muted:#566173;--line:#d5dbe4;--navy:#1f3a64;--navy-ink:#fff;--brass:#9a6a12;--brass-soft:#f3e7cf;--good:#23704a;--good-soft:#dcefe3;--warn:#9a5b00;--warn-soft:#fbecd2;--bad:#a6271c;--bad-soft:#f8dcd8;--rail:#16263f;--rail-ink:#c9d3e2;--rail-active:#fff;--display:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--radius:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e131b;--surface:#161d28;--sunk:#1d2533;--ink:#e5e9ef;--muted:#9aa4b4;--line:#2b3546;--navy:#4f7fc4;--navy-ink:#0b1220;--brass:#d8a54a;--brass-soft:#3a2e17;--good:#5cc68a;--good-soft:#173826;--warn:#f0b24a;--warn-soft:#3b2b10;--bad:#f07a6e;--bad-soft:#3d1a17;--rail:#0a0f17;--rail-ink:#9aa6b8;--rail-active:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}h1{font-size:2rem}h2{font-size:1.35rem}p{margin:0}a{color:var(--navy)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--rail);color:var(--rail-ink);flex-direction:column;gap:20px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.brand b{font-family:var(--display);color:var(--rail-active);letter-spacing:.04em;text-transform:uppercase;font-size:1.5rem}.brand span{font-size:.8rem}.rail nav{flex-direction:column;gap:2px;display:flex}.rail .group{text-transform:uppercase;letter-spacing:.12em;opacity:.65;margin:10px 0 4px 10px;font-size:.7rem}.rail nav a{color:inherit;border-radius:var(--radius);padding:7px 10px;font-size:.95rem;text-decoration:none;display:block}.rail nav a:hover{color:var(--rail-active);background:#ffffff12}.rail nav a[aria-current=page]{color:var(--rail-active);box-shadow:inset 3px 0 0 var(--brass);background:#ffffff1f}.rail nav a .sub{opacity:.75;font-size:.75rem;display:block}.rail-foot{flex-direction:column;gap:8px;margin-top:auto;font-size:.8rem;display:flex}.rail-foot button{all:unset;cursor:pointer;text-decoration:underline}.main{min-width:0}.view{padding:28px max(16px, env(safe-area-inset-right,0px)) 60px max(16px, env(safe-area-inset-left,0px));flex-direction:column;gap:22px;max-width:1100px;display:flex}@media (min-width:900px){.view{padding-left:36px;padding-right:36px}}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.rail{height:auto;position:static}.rail nav{flex-flow:wrap}.rail .group{display:none}}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brass);font-size:.72rem;font-weight:700}.lede{color:var(--muted);max-width:68ch}.muted{color:var(--muted)}.small{font-size:.86rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;display:grid}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat .k{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.74rem}.stat .v{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:600}.tablewrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th{text-align:left;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:var(--sunk);white-space:nowrap;padding:9px 12px;font-size:.72rem;font-weight:600}td{border-top:1px solid var(--line);vertical-align:middle;padding:9px 12px}.num{text-align:right;font-variant-numeric:tabular-nums}.chip{background:var(--sunk);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:.76rem;font-weight:600;display:inline-flex}.chip.brass{background:var(--brass-soft);color:var(--brass)}.chip.navy{background:var(--navy);color:var(--navy-ink)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.form{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:end;gap:12px 14px;display:grid}.field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:.84rem;font-weight:600;display:flex}input[type=text],input[type=email],input[type=number],input[type=date],select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);width:100%;min-width:0;padding:8px 10px;font-size:.95rem;font-weight:400}.btn{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);color:var(--ink);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}.btn.small{padding:4px 10px;font-size:.84rem}.btn.danger{color:var(--bad)}.btn[disabled]{opacity:.6;cursor:default}.notice{border-radius:var(--radius);padding:10px 14px;font-size:.92rem}.notice.ok{background:var(--good-soft);color:var(--good)}.notice.error{background:var(--bad-soft);color:var(--bad)}.center{min-height:100vh;padding:24px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));place-items:center;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:440px;overflow:hidden}.card header{background:var(--rail);color:var(--rail-active);flex-direction:column;gap:4px;padding:20px 22px;display:flex}.card header b{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;font-size:1.6rem}.card header span{color:var(--rail-ink);font-size:.9rem}.card .body{flex-direction:column;gap:16px;padding:22px;display:flex}.templates{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.tpl{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:4px;padding:14px;text-decoration:none;display:flex}.tpl b{font-family:var(--display);font-size:1.2rem;font-weight:600}.tpl span{color:var(--muted);font-size:.85rem}.tpl:hover{border-color:var(--muted)}.tpl[aria-current=true]{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}td input[type=text]{min-width:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.86em}.chip.good{background:var(--good-soft);color:var(--good)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.seg{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;width:fit-content;max-width:100%;display:inline-flex;overflow:hidden}.seg button,.seg a{all:unset;cursor:pointer;color:var(--ink);padding:6px 12px;font-size:.88rem;font-weight:600}.seg button[aria-pressed=true],.seg a[aria-current=true]{background:var(--navy);color:var(--navy-ink)}.seg button:focus-visible,.seg a:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.confirm{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunk);justify-items:start;gap:8px;max-width:420px;margin-left:auto;padding:10px;display:grid}.history{margin:0;padding:0;list-style:none;display:grid}.history li{border-top:1px solid var(--line);grid-template-columns:160px minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;padding:8px 0;display:grid}.history li:first-child{border-top:0}@media (max-width:640px){.history li{grid-template-columns:minmax(0,1fr)}}h3{font-size:1.1rem}.checkin{gap:14px;display:grid}.checkin-bar{top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);gap:10px;padding-block:8px;display:grid;position:sticky}.checkin-count{gap:6px;font-size:1.05rem;display:grid}.checkin-count b{font-family:var(--display);font-size:1.6rem}.bar{background:var(--sunk);border-radius:4px;height:8px;overflow:hidden}.bar i{background:var(--good);height:100%;transition:width .3s;display:block}.checkin-search{padding:12px 14px!important;font-size:1.1rem!important}.checkin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checkin-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.checkin-list li.in{background:var(--good-soft);border-color:#0000}.checkin-list .who{gap:2px;min-width:0;display:grid}.checkin-list .who b{font-size:1.1rem}.checkin-btn{flex:none;min-width:120px;min-height:48px}@media (prefers-reduced-motion:reduce){.bar i{transition:none}}.print-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.print-grid .tpl a{color:var(--navy)}.print-grid .tpl>a{color:var(--ink);text-decoration:none}
