:root{--bg:#f4f1e9;--paper:#fffdf8;--ink:#222820;--muted:#626b5f;--line:#dcded2;--orange:#ff7900;--teal:#36b5b6;--pale:#dceae1;--dark:#202c29;--danger:#9b3030;--shadow:0 8px 28px #243a2510;--radius:24px;color-scheme:light;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #16767a;outline-offset:3px}button{min-height:48px;border:0;border-radius:16px;padding:12px 18px;color:var(--ink);background:#e9ece3;font-weight:650;transition:transform 160ms ease,background 160ms ease}button:active{transform:scale(.98)}.primary{background:var(--orange);color:#211b15}.secondary{background:var(--pale)}.quiet{background:transparent;border:1px solid var(--line)}.danger{color:var(--danger);background:#f8e6e2}.full{width:100%}.iconbtn{width:48px;min-width:48px;height:48px;display:grid;place-items:center;padding:0;background:transparent;font-size:28px}.icon{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:31px;letter-spacing:-1px;line-height:1.18}h2{font-size:22px;line-height:1.3;letter-spacing:-.45px}h3{font-size:17px;line-height:1.4}.muted,small{color:var(--muted)}.muted{font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.topbar{max-width:820px;display:flex;align-items:center;justify-content:space-between;margin:auto;padding:21px 23px 13px}.brand{display:flex;gap:11px;align-items:center}.brand img{border-radius:13px}.brand strong{display:block;font-size:21px;letter-spacing:-.8px;line-height:1.2}.brand strong span{font-weight:420}.brand small{display:block;font-size:9px;font-weight:650;letter-spacing:2px;margin-top:4px}.mode{max-width:772px;margin:0 auto;padding:0 24px 8px;font-size:10px;color:#795024}.mode.native{color:#28554b}main{max-width:820px;margin:auto;padding:20px 24px 122px;min-height:70vh}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 24px}.heading p{margin-top:8px}.card{background:var(--paper);border:1px solid #e2e5d8;border-radius:var(--radius);padding:21px;margin-bottom:16px;box-shadow:var(--shadow)}.card.inset{background:#e9eee4;box-shadow:none;border:0}.card.flat{box-shadow:none}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.hero{background:var(--dark);color:#fffdf2;padding:25px;border:0;position:relative;overflow:hidden}.hero .muted,.hero small,.hero .eyebrow{color:#b6cabe}.hero .eyebrow{display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;display:inline-block;background:var(--teal);border-radius:100%}.hero h2{font-size:20px}.hero .timer{font-size:58px;font-weight:380;letter-spacing:-3px;line-height:1.2;margin:23px 0 6px;font-variant-numeric:tabular-nums}.hero .timer-label{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#b6cabe;margin-bottom:24px}.hero select{background:#334540;color:#f6fff5;border-color:#51675c}.hero .quiet{color:#e6f4e7;border-color:#657869}.hero .actions{margin-top:18px}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions>*{flex:1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric{padding:18px 20px}.metric strong{font-size:27px;font-weight:500;letter-spacing:-1px;display:block;margin:5px 0}.metric small{font-size:12px}.section-label{display:flex;align-items:center;justify-content:space-between;margin:29px 0 13px}.section-label h2{font-size:18px}.textbtn{min-height:44px;padding:7px 0;background:transparent;border-radius:8px;font-size:13px;color:#375f52}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 0}.item:first-child{border-top:0;padding-top:0}.item:last-child{padding-bottom:0}.item small{display:block;font-size:12px;margin-top:4px}.item .number{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.tag{display:inline-block;border-radius:9px;padding:4px 9px;font-size:11px;font-weight:700;letter-spacing:.2px;background:#e8ebe3;color:#455242;white-space:nowrap}.tag.night,.day.night{background:#dce1e3;color:#253e49}.tag.early,.day.early{background:#d8e6f5;color:#29425a}.tag.late,.day.late{background:#ffe1bc;color:#693407}.tag.zd,.day.zd{background:#c2ebde;color:#20584c}.tag.off,.day.off{background:#ebeddf;color:#45543c}.tag.unknown{background:#ecebe4;color:#53574c}.tag.warn{background:#fbe3c7;color:#755015}.notice{font-size:13px;line-height:1.6;padding:14px 16px;border-radius:16px;background:#e9eee5;color:#475644;margin:14px 0}.notice.warn{background:#f8e7cc;color:#76502b}.notice strong{color:inherit}.empty{padding:20px 3px}.empty p{color:var(--muted);font-size:14px;margin:8px 0 20px}.field{display:block;margin:0 0 16px;font-size:13px;font-weight:650}.field>input,.field>select,.field>textarea{display:block;width:100%;margin-top:7px;font-weight:400}input,select,textarea{border:1px solid #c9d0c1;border-radius:13px;background:var(--paper);color:var(--ink);padding:12px;min-height:49px;min-width:0}textarea{resize:vertical;min-height:95px}.field small{display:block;font-weight:400;margin-top:6px;font-size:11px}input[type=checkbox]{min-height:24px;min-width:24px;accent-color:#267b70}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:15px 0}.check input{margin-top:1px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.formgrid .full{grid-column:1/-1}.filters{display:flex;gap:9px;align-items:center;margin-bottom:18px}.filters select,.filters input{width:100%}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-top h2{font-size:21px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{font-size:10px;color:var(--muted);text-align:center;font-weight:700;margin-bottom:10px}.day{min-height:69px;border-radius:13px;background:#eeeee7;border:1px solid transparent;padding:8px 1px;font-weight:500;position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:14px}.day small{font-size:9px;line-height:1.2;color:inherit}.day.today{border:2px solid #357468}.day.has-actual::after{content:'';width:5px;height:5px;background:#267365;border-radius:100%;position:absolute;bottom:4px;right:4px}.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.legend .tag{font-size:10px}.timeline{border-left:2px solid #b8d0bb;margin:10px 0 0 6px}.timeline-item{position:relative;padding:0 0 22px 23px}.timeline-item::before{content:'';position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:100%;background:#427966}.timeline-item small{display:block;font-size:12px}.timeline-item p{font-size:14px;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-card img{width:100%;height:135px;object-fit:cover;border-radius:16px}.photo-card button{font-size:12px;width:100%;padding:8px}.photo-canvas{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;touch-action:none;object-fit:contain}.signature{display:block;background:#fff;width:100%;height:140px;border:1px dashed #9fa99a;border-radius:14px;touch-action:none}.signature-label{font-size:13px;font-weight:700;margin:18px 0 8px}.report-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:11px}.report-table th{text-align:left;font-size:10px;color:var(--muted)}.report-table td,.report-table th{padding:9px 3px;border-bottom:1px solid var(--line);vertical-align:top}.report-table td:last-child,.report-table th:last-child{text-align:right}.mono{font-family:monospace;font-size:10px;overflow-wrap:anywhere}.photoeditor-tools{display:flex;gap:8px;margin:13px 0}.photoeditor-tools button{font-size:13px}nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:space-around;max-width:820px;margin:auto;padding:11px 10px calc(12px + env(safe-area-inset-bottom));background:#f9f8f2f5;border-top:1px solid var(--line);backdrop-filter:blur(16px)}nav button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;flex:1;min-width:0;min-height:58px;background:transparent;border-radius:18px;font-size:10px;padding:8px 1px;color:var(--muted);font-weight:550}nav button[aria-current=page]{background:#e2ebe1;color:#203d30;font-weight:700}nav .icon{width:21px;height:21px}dialog{width:min(640px,calc(100% - 16px));max-height:90dvh;border:1px solid #dedfd3;border-radius:27px 27px 16px 16px;background:var(--bg);color:var(--ink);padding:0 22px 24px;overscroll-behavior:contain;box-shadow:0 20px 60px #0003}dialog[open]{animation:enter 180ms ease}dialog::backdrop{background:#11241b80;backdrop-filter:blur(4px)}.sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;padding:16px 0;background:var(--bg);z-index:3;margin-bottom:8px}.sheet-head h2{font-size:21px}.error{font-size:13px;color:var(--danger);margin-top:16px;white-space:pre-wrap}.toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);z-index:20;background:#253b30;color:#fff;padding:13px 20px;max-width:90vw;border-radius:15px;font-size:13px;pointer-events:none;opacity:0;transition:opacity 160ms ease}.toast.show{opacity:1}details{margin-bottom:16px}summary{padding:12px 0;font-size:13px;cursor:pointer}.mini{font-size:11px}.archived{opacity:.66}.spacer{height:12px}.wrap{overflow-wrap:anywhere}.report-signatures{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-signatures img{width:100%;height:100px;object-fit:contain;background:#fff;border-bottom:1px solid #abb8a5}#printReport{display:none}
@keyframes enter{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){main{padding-top:28px}.hero{padding:30px}.hero .timer{font-size:72px}.day{min-height:85px}.day small{font-size:11px}.photo-card img{height:220px}nav button{flex:0 1 120px}.mode{padding-left:0}}
@media(max-width:375px){main{padding-left:16px;padding-right:16px}.card{padding:17px}.calendar{gap:3px}.day{min-height:65px}.hero .timer{font-size:50px}.topbar{padding-left:16px}.formgrid{grid-template-columns:1fr}.report-table{font-size:10px}.report-table td{padding:7px 1px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:17mm}body{background:#fff;color:#111;font-size:11px}#app,dialog,#toast{display:none!important}#printReport{display:block!important}#printReport h1{font-size:24px}#printReport h2{font-size:18px}#printReport .report-table{font-size:11px}#printReport .notice{font-size:10px;padding:8px}#printReport .report-signatures{break-inside:avoid}#printReport .report-table tr{break-inside:avoid}.no-print{display:none!important}}
/* Long user-supplied employer/facility names must never push controls out of view. */
.card-title>div,.item>div,.heading>div{min-width:0}.card-title h2,.item h3,.item small,.card-title small{overflow-wrap:anywhere}.card-title .textbtn,.item .textbtn{flex-shrink:0}.textbtn{min-height:48px}

.hero>select{width:100%;max-width:100%;font-size:14px;text-overflow:ellipsis}
