:root{--bg: #EDEBE6;--ink: #111111;--card: #FFFFFF;--line: #E2DFD8;--muted: #55524C;--dim: #B9B6AE;--acc: #FFC400;--red: #D92D20;--red-ink: #B42318;--ok: #1E7B3C;--ok-bg: #DDF0E2;--warn-bg: #FFF4CC;--r: 14px;--r-sm: 10px;--nav-h: 66px;--orange: #F79009;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.35;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--ink)}:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.app{min-height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;background:var(--bg)}.hdr{background:var(--ink);color:#fff;padding:calc(14px + env(safe-area-inset-top)) 16px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;z-index:5;margin:0 var(--gut);border-radius:0 0 22px 22px;box-shadow:calc(-1 * var(--gut)) 0 0 0 var(--bg),var(--gut) 0 0 0 var(--bg)}.app{--gut: 16px}.hdr-top{display:flex;align-items:center;gap:10px;min-height:36px}.hdr-kick{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--acc);text-transform:uppercase;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hdr h1{margin:0;font-size:40px;line-height:1;font-weight:800;font-stretch:70%;text-transform:uppercase;overflow-wrap:anywhere}.hdr h1.small{font-size:30px}.hdr .sub{color:var(--dim);font-size:14px}.ava{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-weight:800;border:0;flex:none}.back{height:36px;padding:0 12px 0 6px;background:transparent;border:2px solid #fff;border-radius:18px;color:#fff;font-weight:800;letter-spacing:.06em;display:inline-flex;align-items:center;gap:2px;font-size:13px;text-transform:uppercase}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;letter-spacing:.08em;padding:4px 9px;border-radius:999px;text-transform:uppercase;background:var(--line);color:var(--ink);white-space:nowrap}.tag.red{background:var(--red);color:#fff}.tag.yel{background:var(--acc);color:var(--ink)}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.blk{background:var(--ink);color:#fff}.tag.out{background:transparent;border:1.5px solid currentColor;padding:3px 8px}.page{flex:1;padding:14px var(--gut) calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.card{background:var(--card);border-radius:var(--r);overflow:hidden}.card.pad{padding:12px;display:flex;flex-direction:column;gap:10px}.card.b{border:2px solid var(--ink)}.card.dark{background:var(--ink);color:#fff}.card.warn{background:var(--warn-bg);border:2px solid var(--ink)}.lbl{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.card.dark .lbl{color:var(--acc)}.card>.lbl:first-child{padding:10px 12px 6px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card.pad>.lbl:first-child{padding:0}.muted{color:var(--muted)}.card.dark .muted{color:var(--dim)}.small{font-size:13px}.big{font-size:34px;font-weight:800;font-stretch:75%;line-height:1.05}.mid{font-size:22px;font-weight:800;font-stretch:80%}.red-t{color:var(--red-ink)}.ok-t{color:var(--ok)}.right{text-align:right}.nowrap{white-space:nowrap}.sp{flex:1}.flex{display:flex;gap:8px;align-items:center}.flex.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hr{border-top:1px solid var(--line)}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.row{display:flex;gap:10px;padding:11px 12px;border-top:1px solid var(--line);align-items:center;background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left}.card>.row:first-child{border-top:0}button.row:active{background:#f6f4ef}.row .bar{display:none}.row .bar.red,.row .bar.yel{display:block;width:10px;height:10px;border-radius:50%;flex:none;align-self:center}.row .bar.red{background:var(--red);animation:dotpulse 1.6s ease-out infinite}.row .bar.yel{background:var(--orange)}.pdot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;vertical-align:1px}.pdot.red{background:var(--red);animation:dotpulse 1.6s ease-out infinite}.pdot.yel{background:var(--orange)}@keyframes dotpulse{0%{box-shadow:0 0 #d92d208c}70%,to{box-shadow:0 0 0 7px #d92d2000}}@media (prefers-reduced-motion: reduce){.row .bar.red,.pdot.red{animation:none}}.row.tinted{background:var(--tint)}button.row.tinted:active{filter:brightness(.97)}.card>.row.tinted:first-child{border-top:0}.avi{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:10px;font-weight:800;flex:none;vertical-align:-4px;margin-right:4px}.adot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.row .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row .main strong{font-size:16px;overflow-wrap:anywhere}.row .main span{font-size:13px;color:var(--muted)}.row .amt{font-weight:800;white-space:nowrap}.empty{padding:14px 12px;color:var(--muted);font-size:14px}.btn{height:54px;padding:0 18px;background:var(--ink);color:var(--acc);border:0;border-radius:var(--r);font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;text-decoration:none}.btn.full{width:100%}.btn.sec{height:46px;background:#fff;color:var(--ink);border:2px solid var(--ink);text-transform:none;letter-spacing:0;font-weight:700}.btn.yel{background:var(--acc);color:var(--ink)}.btn.red{background:var(--red);color:#fff}.btn.sm{height:40px;font-size:13px;padding:0 12px}.btn.xs{height:34px;font-size:12px;padding:0 10px}.btn.ghost{background:transparent;color:var(--ink);border:0;text-transform:none;letter-spacing:0;font-weight:700;text-decoration:underline;padding:0 6px;height:40px}.card.dark .btn.sec{background:transparent;color:#fff;border-color:#fff}.iconbtn{width:46px;height:46px;flex:none;border-radius:50%;border:2px solid var(--ink);background:#fff;display:grid;place-items:center;padding:0}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.inp,.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--ink);border-radius:var(--r-sm);background:#fff;font-size:16px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 12px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:32px}.field textarea{min-height:96px;resize:vertical}.field .hint{font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.field>span i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400}.pw{position:relative;display:flex}.pw input{padding-right:84px}.pw .btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:34px;padding:0 10px;border-radius:var(--r-sm)}.linkbox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all;background:var(--bg);border:1px dashed var(--line);padding:8px 10px;border-radius:var(--r);-webkit-user-select:all;user-select:all}.addrow{display:flex;gap:6px}.addrow input{flex:1;min-width:0}.voice{position:relative}.voice textarea{padding-right:62px}.voice .mic{position:absolute;right:6px;top:6px}.mic{width:48px;height:48px;border-radius:50%;border:0;background:var(--acc);display:grid;place-items:center;padding:0;flex:none}.mic.on{background:var(--red);color:#fff;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d92d2080}50%{box-shadow:0 0 0 8px #d92d2000}}.check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-top:1px solid var(--line)}.check>input[type=checkbox]{width:22px;height:22px;margin:2px 0 0;accent-color:var(--ink);flex:none}.check .inp{min-height:44px;padding:8px 10px}.seg{display:flex;border:2px solid var(--ink);border-radius:var(--r-sm);overflow:hidden;background:#fff}.seg button{flex:1;min-height:44px;border:0;background:none;font-weight:700;font-size:13px;padding:4px 6px;border-left:2px solid var(--ink)}.seg button:first-child{border-left:0}.seg button.on{background:var(--ink);color:var(--acc)}.card.dark .seg{background:transparent;border-color:#fff}.card.dark .seg button{color:#fff;border-left-color:#fff}.card.dark .seg button.on{background:var(--acc);color:var(--ink)}.card.dark .field>span{color:var(--dim)}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips button{flex:none;height:36px;padding:0 12px;border-radius:18px;border:2px solid var(--ink);background:#fff;font-weight:700;font-size:13px}.chips button.on{background:var(--ink);color:var(--acc)}.prog{position:relative;height:12px;background:var(--line);border-radius:6px}.prog>i{position:absolute;left:0;top:0;bottom:0;background:var(--ink);border-radius:6px}.prog>i.red{background:var(--red)}.prog>i.yel{background:var(--acc)}.prog>i.ok{background:var(--ok)}.prog>b{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--red);border-radius:2px}.pcts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pcts button{height:44px;border:2px solid var(--ink);border-radius:var(--r-sm);background:#fff;font-weight:800}.pcts button.on{background:var(--ink);color:var(--acc)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--ink);padding-bottom:env(safe-area-inset-bottom)}.nav-in{max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--nav-h)}.nav button{border:0;background:none;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;position:relative}.nav button.on{background:var(--acc);color:var(--ink)}.nav .nl{display:block;max-width:100%;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-in.many button{padding:0 2px;font-size:10.5px;letter-spacing:.01em}.nav-in.many{overflow:hidden}.nav-in.many .nl{font-stretch:72%;padding:0}.nav .dot{position:absolute;top:8px;right:calc(50% - 20px);min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px;letter-spacing:0}.shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#1111118c;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:760px;max-height:92dvh;overflow:auto;border-top:6px solid var(--acc);border-radius:22px 22px 0 0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet>*{flex-shrink:0}.sheet h2{margin:0;font-size:26px;font-weight:800;font-stretch:75%;text-transform:uppercase;line-height:1.05}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(12px + env(safe-area-inset-top));z-index:30;background:var(--ink);color:#fff;border-left:6px solid var(--acc);padding:12px 14px;border-radius:var(--r);font-weight:600;max-width:calc(100% - 28px);width:max-content;box-shadow:0 6px 20px #00000040}.toast.err{border-left-color:var(--red)}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.thumbs img,.thumbs .ph{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-sm);background:var(--line);display:block}.filebtn{position:relative;overflow:hidden;white-space:nowrap;gap:8px}.filebtn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.login{min-height:100dvh;display:flex;flex-direction:column}.login .hdr{position:static;padding-top:calc(40px + env(safe-area-inset-top));box-shadow:none}.login .hdr h1{font-size:52px}.login .page{padding-bottom:32px}.spin{display:grid;place-items:center;min-height:60dvh;font-weight:800;letter-spacing:.12em;color:var(--muted)}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl td,.tbl th{padding:8px 12px;border-top:1px solid var(--line);text-align:left}.tbl th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap}.tbl.tight td,.tbl.tight th{padding:8px 6px}.tbl.tight td:first-child,.tbl.tight th:first-child{padding-left:12px}.tbl.tight td:last-child,.tbl.tight th:last-child{padding-right:12px}@media (min-width: 700px){.hdr h1{font-size:48px}.app{--gut: 20px}}.row.dec{flex-wrap:wrap}.row.dec .acts{width:100%;display:flex;gap:8px;justify-content:flex-end;padding-left:18px}.row.dec .acts .btn{flex:1;max-width:200px}input[type=range]{accent-color:var(--ink);width:100%;min-height:32px;padding:0;border:0}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.qr-card{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;break-inside:avoid}.qr-img{width:100%;max-width:220px;aspect-ratio:1}.qr-img svg{width:100%;height:100%;display:block}@media print{.hdr,.nav,.no-print,.toast{display:none!important}body,.app,.page{background:#fff!important;padding:0!important}.qr-grid{grid-template-columns:repeat(3,1fr)}}.days2{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}@media (min-width: 700px){.days2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{position:relative;background:#fff;border:2px solid var(--ink);border-radius:18px;padding:12px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;text-align:left}.tile b{font-size:16px;font-weight:800;font-stretch:85%;text-transform:uppercase;letter-spacing:.02em}.tile span{font-size:13px;color:var(--muted)}.tile .dot{position:absolute;top:8px;right:8px;min-width:22px;height:22px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 6px}@media (min-width: 700px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}input[type=color].swatch{width:36px;height:36px;border-radius:50%;border:2px solid var(--ink);padding:0;background:none;flex:none;cursor:pointer;overflow:hidden}input[type=color].swatch::-webkit-color-swatch-wrapper{padding:0}input[type=color].swatch::-webkit-color-swatch{border:0;border-radius:50%}input[type=color].swatch::-moz-color-swatch{border:0;border-radius:50%}.ava{padding:0;overflow:hidden}.avimg{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block}.avtxt{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-weight:800}.gear{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;color:#fff;display:grid;place-items:center;padding:0;flex:none}.bigava{width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(--line);display:grid;place-items:center;flex:none}.bigava .avimg,.bigava .avtxt{width:88px;height:88px;font-size:32px}button.tagbtn{border:0;cursor:pointer;font-family:inherit}button.tagbtn:after{content:"›";margin-left:2px;font-size:13px;line-height:0}[id^=sec-]{scroll-margin-top:190px}.flash{animation:flash 1.2s ease-out}@keyframes flash{0%{box-shadow:0 0 0 4px var(--acc)}to{box-shadow:0 0 #ffc40000}}.voice1{position:relative}.voice1 input{padding-right:52px}.mic.sm{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px}.iconbtn.sm{width:36px;height:36px;font-weight:800}.iconbtn:disabled{opacity:.3}.sheet .check{border-top:0;padding:4px 0}.doclist{display:flex;flex-direction:column;gap:6px}.docitem{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px}.docitem img,.docitem .ph{width:48px;height:64px;object-fit:cover;border-radius:6px;background:var(--line);display:grid;place-items:center;flex:none}.docitem .main{flex:1;min-width:0;display:flex;flex-direction:column}.docpages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.docpages>.btn{grid-column:1 / -1}.docpage{position:relative;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--line);overflow:hidden;aspect-ratio:3 / 4}.docpage img,.docpage .ph{width:100%;height:100%;object-fit:cover;display:block}.docpage .pno{position:absolute;left:6px;bottom:6px;background:var(--ink);color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:2px 8px}.zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;color:#fff;overflow:auto}.zoom img{max-width:100%;max-height:calc(100vh - 70px);object-fit:contain;background:#fff}.zoom a{color:var(--acc)}.stale{position:fixed;left:8px;right:8px;top:8px;z-index:80;background:var(--red);color:#fff;border-radius:var(--r-sm);padding:10px 12px;display:flex;gap:10px;align-items:center;font-size:14px;box-shadow:0 4px 16px #00000040}.stale .btn{flex:none;background:#fff;color:var(--ink)}.scale6{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.scale6 button{height:44px;border-radius:50%;border:2px solid var(--ink);background:#fff;font-weight:800;font-size:16px;padding:0}.scale6 button.on{background:var(--acc)}.scale6 button.cur{outline:3px solid var(--ink);outline-offset:1px}.scale6 button.six.on{background:var(--ok);color:#fff;border-color:var(--ok)}.prep{font-size:12px;font-weight:800;border:2px solid var(--ink);border-radius:999px;padding:1px 8px;white-space:nowrap}.prep.ok{background:var(--ok);border-color:var(--ok);color:#fff}.rolegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rolegrid button{min-height:44px;border:2px solid var(--ink);border-radius:var(--r-sm);background:#fff;font-weight:700;font-size:14px;padding:4px 6px}.rolegrid button.on{background:var(--ink);color:var(--acc)}.rolegrid button:disabled{opacity:.45}.kv{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:6px 10px;font-size:14px}.kv>span{color:var(--mut, #55524C)}.kv>b,.kv>small{overflow-wrap:anywhere;min-width:0}
