:root{--surface:#f4f0e6;--surface-raised:#fffdf7;--surface-sunken:#ebe6d8;--ink:#12303a;--ink-muted:#55666d;--line:#dcd5c4;--line-strong:#7b8179;--brand:#1d4f5c;--on-brand:#fffdf7;--brand-soft:#dbe7e9;--accent:#e5a82e;--on-accent:#12303a;--status-open:#a8381f;--status-open-bg:#f8e1d8;--status-wip:#7a5a00;--status-wip-bg:#f7e8b8;--status-done:#1f6a45;--status-done-bg:#d8ecdf;--attention-bg:#fbf1d2;--destructive:var(--status-open);--destructive-bg:var(--status-open-bg);--delta-good:var(--status-done);--delta-bad:var(--status-open);--delta-neutral:var(--ink-muted);--scrim:rgba(18,48,58,.62);--photo-placeholder:#c9d6d5;--r-sm:6px;--r-md:12px;--r-full:999px;--shadow-card:0 1px 2px rgba(18,48,58,.08), 0 6px 16px rgba(18,48,58,.06);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--size-touch:44px;--size-control:48px;--size-primary:52px;--font-display:"Newsreader", Georgia, serif;--font-body:"Public Sans", system-ui, sans-serif}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-normal-B66TYsaK.woff2) format("woff2"),url(/assets/newsreader-latin-500-normal-DFwuUcdu.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-600-normal-30OJ_TG_.woff2) format("woff2"),url(/assets/newsreader-latin-600-normal-DUnT2r2g.woff) format("woff")}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px var(--font-body)}h1,h2,p,ul,ol,figure,fieldset{margin:0;padding:0}ul,ol{list-style:none}h1{font:600 36px/40px var(--font-display);letter-spacing:-.01em}h2{font:600 22px/28px var(--font-display);letter-spacing:-.01em}h1:focus,h2:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.label{font:600 13px/16px var(--font-body);letter-spacing:.02em}.small{font:400 14px/20px var(--font-body)}.caption{font:400 12px/16px var(--font-body)}.muted{color:var(--ink-muted)}.ink{color:var(--ink)}.lead{font:400 16px/24px var(--font-body);color:var(--ink-muted)}.lead.ink{color:var(--ink)}.body-strong{font:600 15px/20px var(--font-body)}.display{font:600 40px/44px var(--font-display)}.section-label{font:600 13px/16px var(--font-body);letter-spacing:.02em;color:var(--ink-muted);margin-top:var(--space-2)}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.underline{text-decoration:underline}.brand-name{font:600 24px/28px var(--font-display);color:var(--brand)}.frame{max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--surface)}.plain,.scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);scrollbar-width:none}.plain::-webkit-scrollbar,.scroll::-webkit-scrollbar{display:none}.plain{padding-top:var(--space-8)}.app-header{padding:max(var(--space-3),env(safe-area-inset-top)) var(--space-5) var(--space-2)}.app-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.header-actions{display:flex;gap:0}.icon-btn{position:relative;width:var(--size-touch);height:var(--size-touch);display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink)}.dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:var(--r-full);background:var(--accent);border:2px solid var(--surface);box-sizing:content-box}.footer{padding:var(--space-3) var(--space-5) 28px;padding-bottom:max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface)}.help{font:400 14px/20px var(--font-body);color:var(--ink-muted);text-align:center;min-height:20px}.back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-touch);margin-left:-4px;padding:0 var(--space-2) 0 0;background:none;border:0;color:var(--brand);font:600 15px/20px var(--font-body)}.bottom-nav{display:flex;background:var(--surface-raised);border-top:1px solid var(--line);padding-bottom:max(20px,env(safe-area-inset-bottom))}.bottom-nav a{flex:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:600 12px/16px var(--font-body);color:var(--ink-muted)}.bottom-nav a.active{color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;border-radius:var(--r-sm);border:0;text-align:center;transition:background-color .15s ease-out,color .15s ease-out}.btn-primary{min-height:var(--size-primary);background:var(--brand);color:var(--on-brand);font:600 16px/20px var(--font-body);letter-spacing:.02em}.btn-secondary{min-height:var(--size-control);background:none;color:var(--brand);border:1px solid var(--brand);font:600 15px/20px var(--font-body)}.btn-destructive{min-height:var(--size-primary);background:var(--destructive);color:var(--on-brand);font:600 16px/20px var(--font-body)}.btn[disabled]{background:var(--line);color:var(--ink-muted);border-color:transparent;cursor:not-allowed}.link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--size-touch);background:none;border:0;padding:0;color:var(--brand);font:600 14px/20px var(--font-body)}.link.inline{min-height:0;display:inline}.link.danger{color:var(--destructive)}.row-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 var(--space-4);font:600 15px/20px var(--font-body)}.row-link svg{transform:rotate(180deg);color:var(--ink-muted)}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.row2{display:grid;grid-template-columns:1fr 88px;gap:var(--space-3)}.req{font-weight:400;color:var(--ink-muted)}.hint{font:400 14px/20px var(--font-body);color:var(--ink-muted)}.error{display:flex;gap:var(--space-2);font:600 14px/20px var(--font-body);color:var(--status-open)}input[type=text],input[type=email],input[type=tel],input[type=password],textarea{width:100%;min-height:52px;padding:13px var(--space-3);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-sm);font:400 16px/24px var(--font-body)}textarea{min-height:96px;resize:vertical}input[readonly]{background:var(--surface-sunken);border-color:var(--line);color:var(--ink-muted)}::placeholder{color:var(--ink-muted);opacity:1}.check{display:flex;align-items:center;gap:var(--space-3);min-height:var(--size-touch);font:400 14px/20px var(--font-body)}.check input,.option input{width:22px;height:22px;accent-color:var(--brand);flex:none}.options{border:0;display:flex;flex-direction:column;gap:var(--space-2)}.options legend{padding:0;margin-bottom:var(--space-2)}.option{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 14px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-md)}.option.selected{border:2px solid var(--brand);padding:11px 13px}.option .body-strong{font-size:16px}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-touch);padding:0 var(--space-4);background:none;border:1px solid var(--line-strong);border-radius:var(--r-sm);font:600 14px/20px var(--font-body);transition:background-color .15s ease-out,color .15s ease-out}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.chip-wip{border-color:var(--status-wip);color:var(--status-wip)}.chip-wip[aria-pressed=true]{background:var(--status-wip);color:var(--on-brand)}.switch{position:relative;width:52px;height:32px;border-radius:var(--r-full);border:0;background:var(--line-strong);padding:0;flex:none;transition:background-color .15s ease-out}.switch.on{background:var(--brand)}.switch i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:var(--r-full);background:var(--on-brand);transition:left .15s ease-out}.switch.on i{left:24px}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md)}.card.raised{box-shadow:var(--shadow-card)}.card.pad{padding:var(--space-4)}.list>li+li{border-top:1px solid var(--line)}.list{overflow:hidden}.row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-4)}.row.between{justify-content:space-between;padding:0;min-height:0}p.row{padding:0;min-height:0}.row.setting{min-height:60px}.grow{flex:1;min-width:0}.place-link{display:block;padding:var(--space-3) 0}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-sm);font:600 13px/16px var(--font-body);letter-spacing:.02em;white-space:nowrap;flex:none}.tag-open{background:var(--status-open-bg);color:var(--status-open)}.tag-wip{background:var(--status-wip-bg);color:var(--status-wip)}.tag-done{background:var(--status-done-bg);color:var(--status-done)}.tag-role{background:var(--line);color:var(--ink)}.delta{display:inline-flex;align-items:center;gap:4px;font:600 13px/16px var(--font-body)}.delta-improve{color:var(--delta-good)}.delta-worsen{color:var(--delta-bad)}.delta-neutral{color:var(--delta-neutral)}.notice{display:flex;gap:var(--space-2);align-items:flex-start;padding:10px var(--space-3);border-radius:var(--r-sm);font:600 14px/20px var(--font-body)}.notice-warn{background:var(--status-wip-bg);color:var(--status-wip)}.notice-ok{background:var(--status-done-bg);color:var(--status-done)}.notice-error{background:var(--status-open-bg);color:var(--status-open)}.loading{padding:var(--space-8) 0;text-align:center;color:var(--ink-muted)}.badge{width:64px;height:64px;border-radius:var(--r-full);display:grid;place-items:center;flex:none}.badge.done{background:var(--status-done-bg);color:var(--status-done)}.badge.neutral{background:var(--line);color:var(--ink-muted)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-2)}.empty h2{font-size:28px;line-height:32px}.occ-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 14px;min-height:72px;position:relative}.occ-row.stale{background:var(--attention-bg);box-shadow:inset 4px 0 0 var(--accent)}.thumb-wrap{position:relative;flex:none}.thumb{width:48px;height:48px;border-radius:var(--r-sm);object-fit:cover;background:var(--photo-placeholder);display:block}.stale-badge{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);border:2px solid var(--surface-raised);box-sizing:content-box;display:grid;place-items:center;font:700 12px/1 var(--font-body)}.occ-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.stale-text{display:inline-flex;align-items:center;gap:4px;color:var(--status-wip);font-weight:600}.notif{display:flex;gap:var(--space-3);align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:var(--space-3) 14px;min-height:64px}.notif.unread{background:var(--attention-bg)}.photo-lg{width:100%;height:208px;object-fit:cover;border-radius:var(--r-md);background:var(--photo-placeholder)}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.before-after img{width:100%;height:160px;object-fit:cover;border-radius:var(--r-md);display:block;background:var(--photo-placeholder)}.before-after figcaption{margin-top:var(--space-1)}.timeline{display:flex;flex-direction:column;gap:var(--space-3)}.timeline li{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.msg-preview{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.msg-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:var(--r-sm)}.msg-text{white-space:pre-line;font:400 16px/24px var(--font-body)}.photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:176px;padding:0;background:var(--surface-raised);border:1.5px dashed var(--line-strong);border-radius:var(--r-md);color:var(--brand);font:600 16px/20px var(--font-body);overflow:hidden}.photo-drop.has-photo{border-style:solid;border-color:var(--line)}.photo-drop img{width:100%;height:100%;object-fit:cover}.progress{display:flex;flex-direction:column;gap:var(--space-2)}.bars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.bars i{height:4px;border-radius:var(--r-sm);background:var(--line)}.bars i.on{background:var(--brand)}.add-row{display:flex;gap:var(--space-3);align-items:flex-end}.add-btn{width:auto;padding:0 var(--space-4);flex:none}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.qr-card{padding:var(--space-3);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;break-inside:avoid}.qr{width:100%;max-width:140px;aspect-ratio:1;color:var(--ink)}.qr svg{width:100%;height:100%;display:block}.qr-card .caption{overflow-wrap:anywhere}.print-actions{display:flex;flex-direction:column;gap:var(--space-3)}.perms{padding:var(--space-2) var(--space-4)}.perms li{display:flex;align-items:center;gap:var(--space-3);min-height:40px;font:400 15px/22px var(--font-body)}.perm-ok{color:var(--status-done);display:inline-flex}.perms li>span:first-child{display:inline-flex}.link-box{overflow-wrap:anywhere;font:400 14px/20px var(--font-body)}.legend{display:flex;gap:var(--space-4);flex-wrap:wrap}.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat{padding:14px var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.stat .delta{align-items:flex-start;font-size:12px;line-height:16px}.stat .delta svg{margin-top:1px;flex:none}.chart{width:100%;height:auto;display:block;margin-top:var(--space-3)}.axis{stroke:var(--line-strong);stroke-width:1}.bar-rep{fill:var(--accent)}.bar-res{fill:var(--brand)}.chart-label{font:400 12px var(--font-body);fill:var(--ink-muted)}.chart-value{font:600 12px var(--font-body);fill:var(--ink)}.legend-keys{display:flex;gap:var(--space-4);font:400 12px/16px var(--font-body);color:var(--ink-muted)}.key{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:var(--r-sm)}.key-rep{background:var(--accent)}.key-res{background:var(--brand)}.ranking{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.ranking li{display:grid;grid-template-columns:72px 1fr 28px;align-items:center;gap:var(--space-2)}.rank-name{font:400 14px/20px var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-bar{height:10px;border-radius:var(--r-sm);background:var(--surface-sunken);overflow:hidden}.rank-bar i{display:block;height:100%;background:var(--brand);border-radius:var(--r-sm)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet{width:100%;max-width:480px;max-height:92dvh;overflow-y:auto;background:var(--surface-raised);border-radius:var(--r-md) var(--r-md) 0 0;padding:var(--space-3) var(--space-5) max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-3);animation:rise .2s ease-out}.sheet h2{font-size:28px;line-height:32px}.sheet-handle{width:40px;height:4px;border-radius:var(--r-sm);background:var(--line);align-self:center}.sheet-icon{width:48px;height:48px;border-radius:var(--r-full);background:var(--destructive-bg);color:var(--destructive);display:grid;place-items:center}.consequences{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);font:400 15px/22px var(--font-body)}.consequences li{display:flex;gap:var(--space-2);align-items:flex-start}.consequences li svg{flex:none;margin-top:2px;color:var(--ink-muted)}.consequences .first svg{color:var(--destructive)}@keyframes rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{background:none}.frame{height:auto;max-width:none}.plain,.scroll{overflow:visible;padding:0}.app-header,.bottom-nav,.footer,.print-actions,.back,.progress,.lead,.scrim,.plain>h1,.scroll>h1{display:none}.qr-grid{grid-template-columns:1fr 1fr;gap:16px}.qr-card{border:1px solid var(--ink)}.qr{max-width:220px}}
