:root{--bg:#f3efe6;--ink:#1c1915;--muted:#6e675e;--card:#fffcf7;--line:#e4ddd0;--teal:#0c6b66;--teal-deep:#095650;--teal-soft:#e5f3f1;--amber:#9a5b10;--amber-soft:#fff1dc;--danger:#8d2d2d;--ok:#1d6b45;--r:14px;--shadow:0 1px 0 #ffffffc7 inset, 0 10px 28px #30241012, 0 1px 2px #3024100d;--primary:linear-gradient(180deg, #ffffff42, #fff0 42%), linear-gradient(180deg, #1a8f87 0%, #0c6b66 58%, #095650 100%);--surface:linear-gradient(180deg, #fff 0%, #f7f3ec 100%);--nav:calc(76px + env(safe-area-inset-bottom));--side:212px;--font:"Avenir Next", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html::-webkit-scrollbar{width:36px;height:36px}.sheet form::-webkit-scrollbar{width:36px;height:36px}.sheet .panel::-webkit-scrollbar{width:36px;height:36px}html::-webkit-scrollbar-track{background:#e7e0d4}.sheet form::-webkit-scrollbar-track{background:#e7e0d4}.sheet .panel::-webkit-scrollbar-track{background:#e7e0d4}html::-webkit-scrollbar-thumb{background:#5c564e;border:6px solid #e7e0d4;border-radius:18px;min-width:72px;min-height:72px}.sheet form::-webkit-scrollbar-thumb{background:#5c564e;border:6px solid #e7e0d4;border-radius:18px;min-width:72px;min-height:72px}.sheet .panel::-webkit-scrollbar-thumb{background:#5c564e;border:6px solid #e7e0d4;border-radius:18px;min-width:72px;min-height:72px}html::-webkit-scrollbar-thumb:active{background:#0c6b66}.sheet form::-webkit-scrollbar-thumb:active{background:#0c6b66}.sheet .panel::-webkit-scrollbar-thumb:active{background:#0c6b66}body{font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent;background:radial-gradient(900px 420px at 50% -120px,#ffffffb8,#0000 62%),linear-gradient(#f7f4ee 0%,#efe8dc 100%);font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{width:min(920px,100%);padding:calc(16px + env(safe-area-inset-top)) 16px var(--nav);margin:0 auto}.top h1{letter-spacing:-.04em;margin:0;font-size:1.85rem;font-weight:700;line-height:1.1}.top p{color:var(--muted);margin:6px 0 0;font-size:15px}.top-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.top-head h1{min-width:0}.gps-slot{flex:none;justify-items:end;gap:4px;display:grid}.gps-toggle{background:var(--surface);min-height:40px;color:var(--ink);white-space:nowrap;border:1px solid #ddd6c8;border-radius:12px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:.92rem;font-weight:650;line-height:1;display:inline-flex;box-shadow:inset 0 1px #fff,0 1px 2px #3024100d}.gps-toggle svg{color:var(--muted);flex:none}.gps-toggle[data-on="1"]{background:#fdecec;border-color:#e7b4b4}.gps-toggle[data-on="1"] svg{color:#c23b3b}.gps-hint{text-align:right;max-width:220px;color:var(--danger);margin:0;font-size:12px}.stack{gap:12px;margin-top:16px;display:grid}.card{box-shadow:var(--shadow);background:linear-gradient(#fffefb 0%,#f6f2ea 100%);border:1px solid #e4ddd0f2;border-radius:18px;padding:14px}a.card{transition:border-color .16s,box-shadow .16s}a.card:hover{border-color:#b7ddd9;box-shadow:inset 0 1px #ffffffe6,0 14px 32px #0c6b661f}.card h2{letter-spacing:-.02em;margin:0 0 8px;font-size:1.125rem}.meta{color:var(--muted);font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn,button.primary,a.primary,.ghost,button.ghost,.btn-add,button.danger{border-radius:var(--r);letter-spacing:-.01em;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 16px;font-size:1.05rem;font-weight:650;text-decoration:none;transition:border-color .16s,color .16s,box-shadow .16s,transform .16s,background .16s;display:inline-flex}.btn,button.primary,a.primary{border:1px solid var(--teal-deep);background:var(--primary);color:#fff;box-shadow:inset 0 1px #ffffff57,0 1px 2px #09565033,0 8px 16px #0c6b6629}.btn:hover,button.primary:hover,a.primary:hover{color:#fff}.ghost,button.ghost{background:var(--surface);color:var(--ink);border:1px solid #ddd4c6;box-shadow:inset 0 1px #fff,0 1px 2px #3024100d}.ghost:hover,button.ghost:hover{border-color:var(--teal);color:var(--teal)}.btn-add{color:#92400e;background:linear-gradient(#fffbeb 0%,#fef3c7 100%);border:1px solid #fcd34d;box-shadow:inset 0 1px #ffffffd9,0 1px 2px #92400e0f}.btn-add:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/12px 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 12px no-repeat;flex:none;width:12px;height:12px}.btn-add:hover{color:#78350f;background:linear-gradient(#fef3c7 0%,#fde68a 100%);border-color:#fbbf24}button.danger,.reserves .drop{color:var(--danger);background:linear-gradient(#fffefe 0%,#fdf2f2 100%);border:1px solid #e7c4c4;box-shadow:inset 0 1px #fff,0 1px 2px #8d2d2d0f}button.danger:hover,.reserves .drop:hover{color:var(--danger);border-color:#c98a8a}.btn:active,button.primary:active,a.primary:active,.ghost:active,button.ghost:active,.btn-add:active,button.danger:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.hours{flex-wrap:wrap;gap:8px;display:flex}.hours button{border-radius:var(--r);background:var(--surface);border:1px solid #ddd4c6;min-width:64px;min-height:64px;font-size:1.15rem;font-weight:700;box-shadow:inset 0 1px #fff,0 1px 2px #3024100d}.hours button:hover{border-color:var(--teal);color:var(--teal)}.hours button[data-on="1"]{background:var(--primary);color:#fff;border-color:var(--teal-deep);box-shadow:inset 0 1px #ffffff57,0 6px 14px #0c6b662e}label{color:var(--muted);gap:8px;font-size:1rem;display:grid}input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:var(--r);background:linear-gradient(#fff 0%,#fbfaf7 100%);border:1px solid #ddd6c8;width:100%;min-height:52px;padding:12px 14px;font-size:1.05rem;box-shadow:inset 0 1px 2px #3024100a,inset 0 1px #fff}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}textarea{min-height:140px;line-height:1.4}input[inputmode=numeric]:not([type=checkbox]):not([type=radio]),input[inputmode=decimal]:not([type=checkbox]):not([type=radio]){letter-spacing:-.03em;min-height:84px;font-size:2rem;font-weight:650}input[type=checkbox],input[type=radio]{width:32px;height:32px;min-height:32px;accent-color:var(--teal)}label.row{min-height:56px;color:var(--ink);align-items:center;font-size:1.05rem}.error{color:var(--danger);background:#fdecec;border-radius:12px;padding:10px}.pill{background:var(--teal-soft);color:var(--teal);letter-spacing:.01em;border-radius:8px;align-items:center;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.pill.warn,.pill[data-status=on_site]{background:var(--amber-soft);color:var(--amber)}.pill[data-status=done]{color:var(--ok);background:#e8f6ee}.nav{z-index:7;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffcf7e6,#f7f3ecf5);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #3024100f}.nav a{text-align:center;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;margin:6px 4px;padding:8px 4px;font-size:13px;text-decoration:none;transition:color .16s,background .16s;display:flex}.nav a:hover{color:var(--teal)}.nav a[data-on="1"]{color:var(--teal);background:linear-gradient(#f7fcfb 0%,#e7f3f1 100%);font-weight:650;box-shadow:inset 0 1px #ffffffe6}.hero{box-shadow:var(--shadow);background:linear-gradient(#fffefb 0%,#f3f7f6 100%);border:1px solid #e4ddd0f2;border-radius:22px;gap:8px;padding:18px;display:grid}.hero h2{letter-spacing:-.03em;margin:0;font-size:1.35rem}.seg{background:linear-gradient(#ebe4d8 0%,#e4dcd0 100%);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:16px;padding:4px;display:grid;box-shadow:inset 0 1px 2px #30241014,inset 0 0 0 1px #ffffff59}.seg[data-week="1"]{grid-template-columns:auto minmax(0,1fr) auto}.seg[data-week="1"]>button{padding:0 12px}.seg-week{grid-template-columns:48px minmax(0,1fr) 48px;gap:4px;min-width:0;display:grid}.seg-week button{min-width:0;padding:0 8px}.seg-week .week-arrow{padding:0}.seg-week button[data-on="1"]{white-space:nowrap}@media (max-width:380px){.seg[data-week="1"]{grid-template-columns:1fr 1fr}.seg[data-week="1"] .seg-week{grid-area:1/1/auto/-1}.seg[data-week="1"]>button:first-of-type,.seg[data-week="1"]>button:last-of-type{grid-row:2}}.seg button,.tabs button{min-height:48px;color:var(--muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:12px;padding:0 16px;font-size:1.02rem;font-weight:650}.seg button:hover,.tabs button:hover{color:var(--teal)}.seg button[data-on="1"],.tabs button[data-on="1"]{background:var(--primary);color:#fff;border-color:var(--teal-deep);box-shadow:inset 0 1px #ffffff52,0 4px 10px #0c6b6633}.seg .week-arrow{box-shadow:none;color:var(--ink);background:0 0;border-color:#0000}.seg .week-arrow:hover{color:var(--teal)}.tabs{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.tabs button{background:var(--surface);border-color:#ddd4c6;flex:none;padding:0 14px;box-shadow:inset 0 1px #fff}.dock{z-index:6;left:0;right:0;bottom:var(--nav);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffcf7e6,#f7f3ecf7);gap:8px;padding:10px 16px;display:flex;position:fixed;box-shadow:0 -8px 24px #3024100f}.dock .primary,.dock .ghost,.dock .btn-add,.dock button.danger{flex:1}.app:has(.dock){padding-bottom:calc(var(--nav) + 96px)}.back{color:var(--teal);align-items:center;min-height:52px;font-size:1.05rem;font-weight:650;text-decoration:none;display:inline-flex}.ok{color:var(--ok);background:#e8f6ee;border-radius:12px;padding:10px}.strike{opacity:.7;text-decoration:line-through}.skeleton{background:linear-gradient(90deg,#efe8dc,#f7f3eb,#efe8dc) 0 0/200% 100%;border-radius:18px;height:92px;animation:1.2s infinite shine}@keyframes shine{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.btn,button.primary,a.primary,.ghost,.btn-add,button.danger,a.card,a.ledger-row,.nav a{transition:none}}.login{place-items:center;min-height:100dvh;padding:24px;display:grid}.login form{gap:12px;width:min(420px,100%);display:grid}.mark{background:var(--primary);color:#fff;border-radius:18px;place-items:center;width:64px;height:64px;font-size:1.4rem;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff57,0 8px 16px #0c6b6633}.sheet{z-index:40;background:#1c191566;align-items:end;display:grid;position:fixed;inset:0}:is(body:has(.sheet) .nav,body:has(.sheet) .dock){visibility:hidden}.sheet form,.sheet .panel{background:var(--card);padding:0 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;gap:16px;max-height:94dvh;display:grid;overflow:auto}button.sheet-close{z-index:5;border:0;border-bottom:1px solid var(--line);background:var(--card);width:calc(100% + 32px);min-height:64px;color:var(--ink);border-radius:20px 20px 0 0;margin-left:-16px;margin-right:-16px;font-size:1.2rem;font-weight:700;position:sticky;top:0}.sheet form button.primary,.sheet form button.danger,.sheet form .btn-add,form.card button.primary,.card form button.primary{width:100%}.split{grid-template-columns:1fr;gap:16px;display:grid}.choice{grid-template-columns:1fr;gap:10px;display:grid}.choice button{border-radius:var(--r);background:var(--surface);border:1px solid #ddd4c6;min-height:72px;padding:12px;font-size:1.15rem;font-weight:650;box-shadow:inset 0 1px #fff,0 1px 2px #3024100d}.choice button:hover{border-color:var(--teal);color:var(--teal)}.choice button[data-on="1"]{border-color:var(--teal-deep);background:var(--primary);color:#fff;box-shadow:inset 0 1px #ffffff57,0 6px 14px #0c6b662e}.clock{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid;container-type:inline-size}.clock legend{color:var(--muted);padding:0;font-size:1rem}.clock-face{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.clock-part{letter-spacing:-.04em;border:1px solid var(--line);background:#fff;border-radius:16px;min-height:88px;font-size:2.4rem;font-weight:700;line-height:1}.clock-part[data-on="1"]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.clock-colon{font-size:2.4rem;font-weight:700;line-height:1}.clock-grid{grid-template-columns:repeat(4,minmax(64px,1fr));gap:8px;display:grid}.clock-grid button{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;min-height:64px;font-size:1.35rem;font-weight:700}@container (min-width:520px){.clock-grid{grid-template-columns:repeat(5,minmax(64px,1fr))}.clock-grid button{min-height:72px}}.clock-wheel-frame{position:relative}.clock-wheel-frame:after{content:"";height:var(--clock-row,72px);border:2px solid var(--teal);background:color-mix(in srgb, var(--teal-soft) 70%, transparent);pointer-events:none;z-index:1;border-radius:14px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.clock-wheel{--clock-row:72px;height:calc(var(--clock-row) * 3);scroll-snap-type:y mandatory;overscroll-behavior-y:contain;touch-action:pan-y;border:1px solid var(--line);scrollbar-width:none;background:#fff;border-radius:16px;overflow:hidden auto}.clock-wheel::-webkit-scrollbar{display:none}.clock-wheel-pad{height:var(--clock-row)}.clock-wheel button{width:100%;height:var(--clock-row);min-height:var(--clock-row);scroll-snap-align:center;color:var(--muted);background:0 0;border:0;place-items:center;font-size:1.5rem;font-weight:650;display:grid}.clock-wheel button[data-on="1"]{color:var(--ink);font-size:2rem;font-weight:700}button.picker-close{width:100%;min-height:64px}.day{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid;position:relative;container-type:inline-size}.day legend{color:var(--muted);padding:0;font-size:1rem}button.day-now{text-align:left;letter-spacing:-.03em;border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;min-height:76px;margin:0;padding:14px 16px;font-size:1.55rem;font-weight:700;line-height:1.15}button.day-now[data-on="1"],button.day-now[aria-expanded=true]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.day-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.day-quick button,.day-nav button,.day-grid button{border:1px solid var(--line);background:#fff;border-radius:14px}.day-quick button{min-height:56px;padding:8px;font-size:1.05rem}.day-quick button[data-on="1"],.day-grid button[data-on="1"]{background:var(--primary);color:#fff;border-color:var(--teal-deep);box-shadow:inset 0 1px #ffffff52}.day-nav{grid-template-columns:72px 1fr 72px;align-items:center;gap:8px;display:grid}.day-nav button{min-height:64px;font-size:2rem;line-height:1}.day-nav strong{text-align:center;text-transform:capitalize;font-size:1.25rem}.day-week{display:none}.day-grid{scroll-snap-type:x mandatory;grid-auto-columns:minmax(84px,1fr);grid-auto-flow:column;gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.day-grid>span{display:none}.day-grid button{scroll-snap-align:start;align-content:center;justify-items:center;gap:2px;min-width:84px;min-height:88px;padding:8px 4px;display:grid}.day-wd{font-size:.85rem;font-weight:650}.day-num{font-size:1.45rem;font-weight:700;line-height:1}.day-grid button[data-today="1"]:not([data-on="1"]){border-color:var(--teal)}input.day-value{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}@container (min-width:560px){.day-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-week span{text-align:center;color:var(--muted);font-size:.95rem;font-weight:650}.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-flow:row;overflow:visible}.day-grid>span{display:block}.day-grid button{min-width:0;min-height:76px}.day-wd{display:none}.day-num{font-size:1.35rem}}.reserves-title{margin:4px 0 0;font-size:1rem}.reserves{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.reserves li{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.reserves p{margin:0;font-size:1.15rem;font-weight:650}.reserves .row{grid-template-columns:1fr 1fr;width:100%;display:grid}.reserves .row button{width:100%}.reserves .drop{color:var(--danger);border-color:#e7c8c8}.clock-grid button[data-on="1"]{background:var(--primary);color:#fff;border-color:var(--teal-deep);box-shadow:inset 0 1px #ffffff52}.clock .ghost[data-on="1"]{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}.media-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.media-grid img,.media-grid video{object-fit:cover;background:#ddd;border-radius:12px;width:100%;height:96px}@media (max-width:799px){.app{padding-top:0}.phone-bar{z-index:8;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top);background:#fffcf7f0;margin:0 -16px 12px;display:grid;position:sticky;top:0}.phone-menu{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.phone-menu a{text-align:center;color:var(--muted);border-bottom:2px solid #0000;padding:12px 2px 10px;font-size:.78rem;text-decoration:none}.phone-menu a:hover{color:var(--teal)}.phone-menu a[data-on="1"]{color:var(--teal);border-bottom-color:var(--teal);font-weight:650}.crumbs{align-items:center;gap:6px;min-width:0;padding:8px 16px 10px;font-size:.92rem;display:flex}.crumbs a{color:var(--teal);font-weight:650;text-decoration:none}.crumbs [aria-current=page]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.path{display:none}}@media (min-width:768px){.app{margin-left:var(--side);width:min(980px, calc(100% - var(--side)));padding-bottom:32px}.nav{width:var(--side);border-top:0;border-right:1px solid var(--line);height:100dvh;padding:16px 10px env(safe-area-inset-bottom);box-shadow:none;flex-direction:column;grid-template-columns:1fr;align-content:start;align-items:stretch;display:flex;inset:0 auto auto 0}.nav a{text-align:left;flex-direction:row;justify-content:flex-start;gap:10px;padding:12px;font-size:16px}.filters{grid-template-columns:1.4fr .8fr;align-items:end}.dock{left:var(--side);bottom:0}.app:has(.dock){padding-bottom:128px}.home-grid{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.media-grid{grid-template-columns:repeat(4,1fr)}.choice,.split{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.choice.three{grid-template-columns:1fr 1fr 1fr}}.fold{display:grid}.fold-bar{text-align:left;letter-spacing:-.02em;border:0;border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 14px;font-size:1.05rem;font-weight:700;display:grid}.fold[data-open="1"] .fold-bar{border-radius:16px 16px 0 0}.fold-count{background:#ffffffb8;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.85rem;display:grid}.fold-chevron{justify-self:end}.fold[data-tone=performed] .fold-bar{color:#0c4f4a;background:#d7efe9}.fold[data-tone=extra] .fold-bar{color:#7a3e08;background:#ffe6c4}.fold[data-tone=journal] .fold-bar{color:#3a3260;background:#e6e3f6}.fold[data-tone=expense] .fold-bar{color:#7a2e22;background:#f8d8d1}.fold[data-tone=check] .fold-bar{color:#245018;background:#dcead3}.fold[data-tone=sign] .fold-bar{color:#1a3d66;background:#d6e6f8}.fold[data-tone=time] .fold-bar{color:#24343c;background:#e7eef2}.fold-body{background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;overflow:hidden}.fold-empty{color:var(--muted);margin:0;padding:12px 14px;font-size:.92rem}.fold-form{gap:12px;padding:12px 14px 14px;display:grid}.fold-form>.ghost,.fold-form>.primary,.fold-form>button{width:100%}.fold-body>.error{margin:12px 14px 0}.ledger{box-shadow:var(--shadow);background:linear-gradient(#fffefb 0%,#f6f2ea 100%);border:1px solid #e4ddd0f2;border-radius:18px;overflow:hidden}.ledger-row{min-height:64px;color:inherit;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;transition:background .16s,color .16s;display:grid}a.ledger-row:hover{background:#f4fbfa}a.ledger-row:hover .ledger-title{color:var(--teal)}.visit-row{grid-template-columns:72px minmax(0,1fr) auto;gap:10px}.visit-when{min-height:64px;color:var(--teal);background:linear-gradient(#f7fcfb 0%,#e7f4f2 100%);border-radius:12px;align-content:center;justify-items:center;gap:2px;display:grid;box-shadow:inset 0 1px #ffffffd9,inset 0 0 0 1px #0c6b6614}.visit-when strong{letter-spacing:-.03em;font-size:1rem;line-height:1.1}.visit-when span{font-size:.72rem;font-weight:700}.visit-row .ledger-sub{white-space:normal}.fold-body .ledger-row+.ledger-row,.ledger .ledger-row+.ledger-row,.check-run+.check-run{border-top:1px solid var(--line)}.ledger-main{gap:2px;min-width:0;display:grid}.ledger-title{align-items:center;gap:8px;min-width:0;font-weight:650;display:flex}.ledger-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ledger-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.ledger-row.is-muted .ledger-title>span:last-child{opacity:.7;text-decoration:line-through}.icon-btn{border:1px solid var(--line);width:44px;height:44px;min-height:44px;color:var(--teal);background:#fff;border-radius:12px;place-items:center;padding:0;display:grid}.icon-btn.danger{color:var(--danger);border-color:#e7c8c8}.check-run{display:grid}.check-item{min-height:52px;color:var(--ink);border-top:1px solid var(--line);align-items:center;gap:10px;padding:6px 14px;display:flex}input.file-pick[type=file]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.filters{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffcf7f0,#f7f3ece6);border-radius:18px;gap:10px;margin-top:14px;padding:12px;display:grid}.filters label{letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.days{gap:18px;margin-top:18px;display:grid}.days>section{gap:8px;display:grid}.day-head{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;margin:0 2px;font-size:.95rem;font-weight:700;display:flex}.day-head:after{content:"";background:linear-gradient(90deg, var(--line), transparent);flex:1;height:1px}@media (min-width:640px){.filters{grid-template-columns:1.4fr .8fr;align-items:end}}.sign-shot{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-height:180px}.sign{border:1px solid var(--line);touch-action:none;background:#fff;border-radius:12px;width:100%;height:auto}video.sign{background:#111;max-height:240px}
