@import url('https://fonts.googleapis.com/css2?family=PT+Mono&family=PT+Sans+Narrow:wght@400;700&family=PT+Sans:wght@400;700&display=swap');
:root{--paper:#E4E5DB;--card:#F0F1E9;--ink:#22203A;--soft:#5F5D74;--line:#C7C9BA;--stamp:#5B3A9E;--blood:#93332F;--green:#3D6B4F;--ochre:#A8762A}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:'PT Sans',system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
main{padding:0 14px calc(90px + env(safe-area-inset-bottom));max-width:760px;margin:0 auto}
h1,h2,h3{margin:0;font-family:'PT Sans Narrow',sans-serif;font-weight:700}
.load{padding:60px 20px;font-family:'PT Sans Narrow';text-transform:uppercase;letter-spacing:.16em;color:var(--soft);text-align:center}
.auth{max-width:340px;margin:0 auto;padding:48px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.auth h1{font-size:24px;text-transform:uppercase;letter-spacing:.12em;margin-top:6px}
.auth-s{margin:0;font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.18em}
.auth-seg{margin:14px 0 6px}
.auth-f{width:100%;display:flex;flex-direction:column;gap:9px;text-align:left}
.auth-err{color:var(--blood);font-size:13.5px;margin:2px 0}
.btn.wide{width:100%;padding:12px}
.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--ink);padding:calc(10px + env(safe-area-inset-top)) 14px 0;max-width:760px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mark{width:30px;height:30px;display:grid;place-items:center;background:var(--stamp);color:#F0F1E9;font-family:'PT Sans Narrow';font-weight:700;font-size:19px;transform:rotate(-4deg);flex:0 0 auto}
.mark.big{width:58px;height:58px;font-size:33px}
.brand h1{font-size:18px;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
.brand p{margin:0;font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.16em}
.alarm{margin-left:auto;background:var(--blood);color:#F0F1E9;font-family:'PT Mono';font-size:13px;padding:3px 9px;flex:0 0 auto}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:0 0 auto;background:none;border:none;border-bottom:3px solid transparent;font-family:'PT Sans Narrow';font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);padding:8px 13px;cursor:pointer}
.tabs button.on{color:var(--ink);border-bottom-color:var(--stamp)}
.banner{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);padding:12px;margin:14px 0}
.banner.bad{border-left-color:var(--blood)}.banner.warn{border-left-color:var(--ochre)}
.banner-n{font-family:'PT Mono';font-size:30px;font-weight:700;min-width:44px;text-align:center}
.banner.bad .banner-n{color:var(--blood)}.banner.warn .banner-n{color:var(--ochre)}.banner.ok .banner-n{color:var(--green)}
.banner b{display:block;font-family:'PT Sans Narrow';font-size:17px}.banner span{font-size:12.5px;color:var(--soft)}
.warnbar{background:#F7E4C8;border:1px solid var(--ochre);color:#7A5416;padding:9px 12px;font-size:13.5px;cursor:pointer;margin-bottom:12px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.stat{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ink);padding:9px 11px}
.sv{font-family:'PT Mono';font-size:17px;font-weight:700}
.sl{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--soft);margin-top:2px}
.stat.ok{border-left-color:var(--green)}.stat.ok .sv{color:var(--green)}
.stat.bad{border-left-color:var(--blood)}.stat.bad .sv{color:var(--blood)}
.stat.warn{border-left-color:var(--ochre)}.stat.warn .sv{color:var(--ochre)}
.hd{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--soft);margin:22px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.hd.flat{margin:0;border:none;padding:0}.hd em{font-style:normal;font-family:'PT Mono';color:var(--ink)}
.bar{display:flex;gap:8px;align-items:center;margin:14px 0;flex-wrap:wrap}.bar.end{justify-content:flex-end;margin-top:20px}
.btn{background:var(--ink);color:var(--card);border:none;padding:10px 15px;cursor:pointer;font-family:'PT Sans Narrow';font-size:14px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;display:inline-block;text-align:center}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.btn.danger{background:var(--blood);color:#F0F1E9}
.btn:focus-visible,.tabs button:focus-visible,.mini:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}
.seg{display:flex;border:1px solid var(--line);background:var(--card)}
.seg button{background:none;border:none;padding:8px 13px;cursor:pointer;font-family:'PT Sans Narrow';font-size:13.5px;text-transform:uppercase;color:var(--soft)}
.seg button.on{background:var(--ink);color:var(--card)}
.search{flex:1;min-width:150px;background:var(--card);border:1px solid var(--line);padding:10px 11px;font-family:'PT Sans';font-size:16px;color:var(--ink)}
.back{background:none;border:none;color:var(--soft);font-family:'PT Sans Narrow';text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding:14px 0 4px;cursor:pointer}
.link{background:none;border:none;color:var(--stamp);border-bottom:1px solid var(--stamp);padding:0;cursor:pointer;font-family:'PT Sans';font-size:14px}
.mini{background:var(--card);border:1px solid var(--line);color:var(--soft);padding:7px 12px;cursor:pointer;font-family:'PT Sans Narrow';font-size:13px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.mini.go{border-color:var(--green);color:var(--green)}.mini.done{border-color:var(--stamp);color:var(--stamp)}
.card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ink);padding:11px;margin-bottom:8px}
.card.click{cursor:pointer}.card.bad{border-left-color:var(--blood)}.card.done{border-left-color:var(--green);opacity:.72}
.card-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.card-t{font-family:'PT Sans Narrow';font-weight:700;font-size:17px}
.card-s{font-size:12.5px;color:var(--soft)}
.card-n{text-align:right;flex:0 0 auto}
.card-n b{display:block;font-family:'PT Mono';font-size:15px}
.card-n span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--soft)}
.card-f{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding-top:7px;border-top:1px dotted var(--line);font-size:12px;color:var(--soft);flex-wrap:wrap}
.acts{display:flex;gap:5px}.c-ok{color:var(--green)}.c-bad{color:var(--blood)}
.tally{display:flex;flex-wrap:wrap;gap:3px;margin-top:9px}
.tally i{width:14px;height:14px;border:1px solid var(--line)}
.tally i.t1{background:var(--stamp);border-color:var(--stamp)}
.tally i.t2{background:linear-gradient(135deg,var(--stamp) 50%,transparent 50%);border-color:var(--stamp)}
.tally i.t3{background:var(--blood);border-color:var(--blood)}
.row{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);padding:10px;margin-bottom:8px}
.row.bad{border-left-color:var(--blood)}.row.warn{border-left-color:var(--ochre)}
.row-top{display:flex;justify-content:space-between;gap:10px}
.row-l{flex:1;cursor:pointer;min-width:0}
.row-t{font-family:'PT Sans Narrow';font-weight:700;font-size:16px}
.row-s{font-size:12px;color:var(--soft)}
.row-a{font-family:'PT Mono';font-size:16px;font-weight:700;flex:0 0 auto}
.row-btns{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.quick{display:flex;gap:6px;margin-top:8px}
.quick input{flex:1;background:#fff;border:1px solid var(--ink);padding:9px 10px;font-family:'PT Mono';font-size:16px;color:var(--ink)}
.doc{background:var(--card);border:1px solid var(--line);padding:14px;margin:12px 0;box-shadow:3px 3px 0 rgba(34,32,58,.07)}
.doc-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.doc-h h2{font-size:21px}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--soft);margin-bottom:2px}
.stamp{border:2px solid var(--stamp);color:var(--stamp);padding:3px 9px;transform:rotate(-5deg);font-family:'PT Sans Narrow';text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;flex:0 0 auto}
.tbl{width:100%;border-collapse:collapse}
.tbl td{padding:6px 0;border-bottom:1px dotted var(--line);font-size:14px;vertical-align:top}
.tbl td:last-child{text-align:right;font-family:'PT Mono';padding-left:10px}
.tbl td:first-child{color:var(--soft)}
.tbl .sum td{font-weight:700;border-bottom:2px solid var(--ink);color:var(--ink)!important}
.note{font-size:13px;color:var(--soft);margin:9px 0 0;font-style:italic}
.hint{font-size:12.5px;color:var(--soft);margin:9px 0;padding-left:10px;border-left:2px solid var(--line)}
.hint.bad-hint{border-left-color:var(--blood);color:var(--blood)}
.checklist{display:grid;gap:4px;margin:8px 0 12px}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--soft)}
.chk i{width:17px;height:17px;border:1.5px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:12px;flex:0 0 auto}
.chk.on{color:var(--ink)}.chk.on i{background:var(--green);border-color:var(--green);color:#F0F1E9}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:7px;margin-bottom:12px}
.thumb{position:relative;padding:0;border:1px solid var(--line);background:var(--paper);cursor:pointer;aspect-ratio:3/4;overflow:hidden;display:block}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb-l{position:absolute;left:0;right:0;bottom:0;background:rgba(34,32,58,.82);color:#F0F1E9;font-family:'PT Sans Narrow';font-size:10.5px;text-transform:uppercase;padding:3px 4px;line-height:1.2}
.addbar{display:flex;gap:8px;flex-wrap:wrap}
.addbar select{flex:1;min-width:150px;background:var(--paper);border:1px solid var(--line);border-bottom:2px solid var(--ink);padding:10px;font-family:'PT Sans';font-size:15px;color:var(--ink)}
.consent{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ochre);padding:11px;margin-top:10px;font-size:13.5px;cursor:pointer}
.consent input{width:20px;height:20px;flex:0 0 auto;margin-top:1px}
.stubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:7px}
.stub{position:relative;background:var(--card);border:1px solid var(--line);border-top:2px dashed var(--line);padding:8px;cursor:pointer;text-align:center}
.stub-n{font-family:'PT Sans Narrow';font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.1em}
.stub-d{font-family:'PT Mono';font-size:12px;margin:2px 0}
.stub-a{font-family:'PT Mono';font-size:14px;font-weight:700}
.stub.s1{border-color:var(--stamp)}.stub.s1 .stub-a{color:var(--soft);text-decoration:line-through}
.stub-st{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);border:2px solid var(--stamp);color:var(--stamp);font-family:'PT Sans Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;padding:1px 7px;opacity:.85;background:rgba(240,241,233,.6)}
.stub.s3{border-color:var(--blood);border-top-color:var(--blood)}.stub.s3 .stub-a{color:var(--blood)}
.stub.s2{border-color:var(--ochre)}.stub-p{font-family:'PT Mono';font-size:11px;color:var(--ochre)}
.pay{background:var(--ink);color:var(--card);padding:12px;margin:10px 0}
.pay-h{font-size:12.5px;opacity:.8;margin-bottom:8px;font-family:'PT Mono'}
.pay-r{display:flex;gap:8px}
.pay-r input{flex:1;background:var(--card);border:none;padding:10px 11px;font-family:'PT Mono';font-size:16px;color:var(--ink)}
.pay-r .btn{background:var(--card);color:var(--ink)}
.pay-l{display:flex;gap:14px;margin-top:9px;flex-wrap:wrap}
.pay-l .link{color:var(--card);border-color:rgba(240,241,233,.5);font-size:12.5px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fld{display:flex;flex-direction:column;gap:3px}.fld.w{grid-column:1/-1}
.fld span{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}
.fld input,.fld select{background:var(--card);border:1px solid var(--line);border-bottom:2px solid var(--ink);padding:10px;font-family:'PT Sans';font-size:16px;color:var(--ink);width:100%}
.fld input[type=number],.fld input[type=date],.fld input[type=tel]{font-family:'PT Mono'}
.fld input:focus,.fld select:focus,.search:focus{outline:none;border-bottom-color:var(--stamp);background:#fff}
.prev{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--ink);color:var(--card);padding:12px;margin-top:14px}
.prev div{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.prev span{opacity:.7}.prev b{font-family:'PT Mono'}.prev .green{color:#8FD0A5}
.empty{background:var(--card);border:1px dashed var(--line);padding:22px 16px;text-align:center;color:var(--soft);font-size:14px}
.empty p{margin:0 0 10px}
.tpl{display:block;margin-bottom:10px}
.tpl span{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}
.tpl textarea{width:100%;background:var(--card);border:1px solid var(--line);border-bottom:2px solid var(--ink);padding:9px;font-family:'PT Sans';font-size:15px;color:var(--ink);margin-top:3px}
.modal{position:fixed;inset:0;background:rgba(34,32,58,.55);display:flex;align-items:flex-end;justify-content:center;z-index:60;padding:12px}
.modal.dark{background:rgba(20,19,34,.93);align-items:center}
.sheet{background:var(--card);border:2px solid var(--ink);padding:14px;width:100%;max-width:520px}
.sheet-h{font-family:'PT Sans Narrow';text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--soft);margin-bottom:8px}
.sheet textarea{width:100%;background:#fff;border:1px solid var(--line);padding:10px;font-family:'PT Sans';font-size:16px;color:var(--ink);resize:vertical}
.sheet-b{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
.viewer{width:100%;max-width:620px;display:flex;flex-direction:column;gap:10px}
.viewer-h{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#F0F1E9}
.viewer-h b{display:block;font-family:'PT Sans Narrow';font-size:16px}
.viewer-h span{font-size:11.5px;opacity:.7;font-family:'PT Mono'}
.viewer img{width:100%;max-height:66vh;object-fit:contain;background:#000}
.viewer-b{display:flex;justify-content:center}
.flash{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:#F0F1E9;padding:10px 16px;font-size:14px;z-index:70;max-width:92vw}
.addhome{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#F0F1E9;padding:14px 40px 14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom));font-size:13.5px;z-index:80;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
.addhome b{display:block;font-family:'PT Sans Narrow';font-size:15px;margin-bottom:3px}
.addhome p{margin:0;color:#D7D8CE}
.addhome-i{display:inline-block}
.addhome-x{position:absolute;top:8px;right:10px;background:none;border:none;color:#D7D8CE;font-size:22px;line-height:1;cursor:pointer;padding:4px}
a{color:var(--stamp)}
@media(max-width:430px){.form,.prev{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
