:root{--navy:#1F3B5C;--green:#2E6B34;--bg:#f3f5f7;--card:#fff;--line:#d9dee4;--muted:#5f6b78;--red:#b42318;--amber:#9a6700;--sel:#e2efda}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1d2733}
.top{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}
.brand{font-weight:800;font-size:19px;color:#cfe8c9}.sub{font-size:14px;opacity:.85}
main{padding:12px 12px calc(96px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:6;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;border:0;background:none;padding:8px 2px 9px;font-size:11.5px;color:var(--muted);min-height:58px}
.tabs button .ic{display:block;font-size:21px;line-height:1.2}
.tabs button.on{color:var(--navy);font-weight:700;box-shadow:inset 0 3px 0 var(--green)}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden}
summary{list-style:none;padding:14px 16px;font-weight:700;font-size:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px}
summary::-webkit-details-marker{display:none}
summary:after{content:"▾";color:var(--muted);transition:transform .2s}
details[open]>summary:after{transform:rotate(180deg)}
details>.body{padding:2px 16px 14px}
details details{border-radius:10px;margin:10px 0}
details.more>summary{color:var(--navy);font-size:15px}
.f{display:block;margin:10px 0}
.f>span{display:block;font-size:14px;color:#33404d;margin-bottom:4px}
.f small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
input,select,textarea{width:100%;font-size:17px;padding:12px;border:1px solid #b9c2cc;border-radius:10px;background:#fff;min-height:48px;color:#1d2733}
input:focus,select:focus{outline:2px solid #7aa7d6;border-color:#7aa7d6}
.suffix{position:relative}.suffix input{padding-right:46px}.suffix i{position:absolute;right:12px;top:13px;font-style:normal;color:var(--muted)}
.prefix{position:relative}.prefix input{padding-left:28px}.prefix i{position:absolute;left:12px;top:13px;font-style:normal;color:var(--muted)}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1;min-height:46px;border:1px solid #b9c2cc;background:#fff;border-radius:10px;font-size:15px;padding:6px 8px}
.seg button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.status{border-radius:12px;padding:12px 14px;margin:0 0 12px;font-weight:700}
.status.bad{background:#fdecea;color:var(--red)}.status.warn{background:#fff6dd;color:var(--amber)}.status.ok{background:#e6f4e4;color:var(--green)}
.checks{margin:6px 0 0;padding-left:18px;font-weight:400;font-size:14px}
.cards{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.opt{background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left;font:inherit;color:inherit;width:100%}
.opt.on{border-color:var(--green);background:var(--sel)}
.opt h3{margin:0 0 2px;font-size:15px;color:var(--navy);display:flex;justify-content:space-between}
.opt .tot{font-size:26px;font-weight:800;margin:2px 0 6px}
.opt .tl{font-size:12px;color:var(--muted)}
.opt table{width:100%;font-size:13.5px;border-collapse:collapse}.opt td{padding:2px 0}.opt td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.badge{font-size:11px;background:var(--green);color:#fff;border-radius:20px;padding:2px 8px}
.rec{background:var(--navy);color:#fff;border-radius:12px;padding:14px 16px;margin-bottom:12px}
.rec .big{font-size:30px;font-weight:800}.rec small{opacity:.85}
.kv{width:100%;border-collapse:collapse;font-size:14.5px}.kv td{padding:6px 0;border-bottom:1px solid #eef1f4}.kv td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.btn{min-height:50px;border-radius:12px;border:1px solid var(--navy);background:#fff;color:var(--navy);font-size:16px;font-weight:700;padding:10px}
.btn.pri{background:var(--green);border-color:var(--green);color:#fff}.btn.full{grid-column:1/-1}.btn.danger{border-color:var(--red);color:var(--red)}
.list .item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.item .t{font-weight:700}.item .m{font-size:13.5px;color:var(--muted)}.item .p{font-weight:800;font-size:18px;float:right}
.item .acts{display:flex;gap:8px;margin-top:10px}.item .acts button{flex:1;min-height:44px;border-radius:10px;border:1px solid var(--line);background:#f7f9fb;font-size:14.5px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{font-size:12px;text-align:left;color:var(--muted);font-weight:600}
.tbl td,.tbl th{padding:4px 3px;vertical-align:middle}.tbl input,.tbl select{min-height:44px;padding:8px;font-size:16px}
.note{font-size:13px;color:var(--muted);margin:6px 0}
.calcout{background:#f3f5f7;border-radius:8px;padding:8px 10px;font-size:14px;margin:8px 0}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#1d2733;color:#fff;padding:10px 16px;border-radius:20px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:9}
#toast.show{opacity:1}
.print-only{display:none}
@media print{
  body{background:#fff}.top,.tabs,main,#toast{display:none!important}.print-only{display:block}
  @page{margin:16mm}
}
.doc{font-family:Calibri,Arial,sans-serif;color:#222;font-size:11pt}
.doc .hd{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid var(--green);padding-bottom:6px;margin-bottom:12px}
.doc .co{font-size:22pt;font-weight:800;color:var(--green)}.doc .tag{color:var(--navy);font-size:9.5pt}
.doc h1{color:var(--navy);font-size:16pt;margin:8px 0}.doc h2{color:var(--navy);font-size:12.5pt;margin:14px 0 6px;border-bottom:1px solid #ccd;padding-bottom:2px}
.doc table{width:100%;border-collapse:collapse;margin:4px 0}.doc td,.doc th{border:1px solid #bfbfbf;padding:5px 7px;text-align:left;vertical-align:top}
.doc th{background:var(--navy);color:#fff}.doc tr.sel td{background:#e2efda;font-weight:700}
.doc .sig td{height:34px}.doc .small{font-size:9pt;color:#555}
