/* Extra styles for the real app (login, signature pad, loading) */
.login{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.login .card{display:flex;flex-direction:column;gap:12px}
.err{background:var(--bad-bg);color:var(--bad);border-radius:6px;padding:12px 14px;font-size:13.5px}
.big-sign{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:92px;width:100%;border-radius:8px;border:0;font:700 22px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.03em;background:var(--ok);color:#fff}
.big-sign.out{background:var(--ink);color:var(--bg)}
.big-sign small{font:500 13px/1.2 var(--f-body);text-transform:none;letter-spacing:0;opacity:.85}
.loading{opacity:.55;pointer-events:none}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.thumbs a{display:block;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--sunk)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.grpbox{border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.grpbox legend{font-weight:700;padding:0 6px}
.right{text-align:right}
/* pass / fail and yes / no / n/a switches */
.pf{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;flex:none}
.pf label{position:relative;padding:8px 11px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-left:1px solid var(--line);background:var(--surface);white-space:nowrap}
.pf label:first-child{border-left:0}
.pf input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pf label.yes:has(input:checked){background:var(--ok);color:#fff}
.pf label.no:has(input:checked){background:var(--bad);color:#fff}
.pf label.na:has(input:checked){background:var(--ink);color:var(--bg)}
.pf label:has(input:focus-visible){outline:2px solid var(--hi)}
.row.chk{align-items:center}
.row.chk .l1{font-weight:500}
.doc .chip{white-space:normal}
/* emergency */
.em-btn{position:relative;overflow:hidden;width:100%;min-height:96px;border:0;border-radius:10px;background:#C8102E;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 0 0 3px rgba(200,16,46,.25)}
.em-btn .em-txt{position:relative;font:700 30px/1 var(--f-display);letter-spacing:.08em}
.em-btn small{position:relative;font-size:13px;opacity:.9}
.em-btn .em-fill{position:absolute;inset:0;width:0;background:rgba(0,0,0,.35)}
.em-btn.holding .em-fill{width:100%;transition:width 2s linear}
.quick .em-tile{position:relative;overflow:hidden;background:#C8102E;color:#fff;border:1px solid #C8102E;border-radius:6px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px;font-weight:600;text-align:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.quick .em-tile svg{position:relative;width:22px;height:22px}
.quick .em-tile b{position:relative;font:700 12.5px/1 var(--f-display);letter-spacing:.06em}
.quick .em-tile small{position:relative;font-size:11px;font-weight:500;opacity:.9}
.quick .em-tile .em-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(0,0,0,.4)}
.quick .em-tile.holding .em-fill{width:100%;transition:width 2s linear}
.btn.em-live{background:#C8102E;color:#fff;min-height:64px;font-size:17px}
.btn.em-live svg{width:24px;height:24px}
.em-banner{background:#C8102E;color:#fff;border-radius:8px;padding:16px;font:700 22px/1.2 var(--f-display);text-transform:uppercase;text-align:center}
.em-help{font-weight:700;font-size:16px;margin:4px 0 -4px}
.btn.em-999{background:#fff;color:#C8102E;border:3px solid #C8102E;font-size:20px;min-height:58px;text-decoration:none}
.em-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.em-stop{background:#2A2C31;color:#fff;min-height:54px;font-size:17px}
@media (prefers-reduced-motion:no-preference){.btn.em-stop{animation:empulse 1s ease-in-out infinite}@keyframes empulse{50%{box-shadow:0 0 0 6px rgba(200,16,46,.45)}}}
.em-type{min-height:72px;border:2px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:600;font-size:14.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:8px}
.em-type span{font-size:24px}
.em-type:active{border-color:#C8102E;background:var(--bad-bg)}
a.btn{text-decoration:none}
.em-overlay{position:fixed;inset:0;z-index:200;background:#B00B26;color:#fff;overflow:auto;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;max-width:none}
@media (prefers-reduced-motion:no-preference){.em-overlay{animation:emflash 1s steps(2,end) infinite}@keyframes emflash{50%{background:#7A0618}}}
.em-head{font:700 30px/1.05 var(--f-display);letter-spacing:.04em;text-align:center}
.em-box{background:rgba(0,0,0,.25);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:16px}
.em-site{font-weight:700;font-size:18px}
.em-kind{font:700 24px/1.15 var(--f-display);text-transform:uppercase}
.em-details{background:rgba(255,255,255,.12);border-radius:4px;padding:8px}
.em-ok{background:#fff;color:#1E7A45;border-radius:4px;padding:8px;font-weight:700}
.btn.em-call{background:#fff;color:#B00B26;font-size:19px;min-height:60px}
.btn.em-white{background:#fff;color:#2A2C31}
.em-overlay .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.em-overlay .err{background:#fff}
.em-esc{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.em-esc .btn{min-height:44px;white-space:normal;line-height:1.2}
.top .brand{background:#fff;padding:0 6px}
.top .brand img{height:30px;width:auto;display:block}
.btn.nm-btn{background:var(--bad);color:#fff;min-height:52px;font-size:16px}
.btn.nm-btn svg{width:22px;height:22px}
.photo svg{width:28px;height:28px;flex:none}
.doc .sig{display:inline-block;width:110px;height:44px;background:#fff;border-radius:3px;border:0;vertical-align:middle}
.doc .sig img{display:block;width:100%;height:100%;object-fit:contain}
.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.site button.sitesw{align-self:flex-start;background:transparent;border:1px solid #484B52;color:var(--bar-ink);border-radius:4px;padding:4px 10px;font-size:12.5px}
.offline{position:fixed;top:0;left:0;right:0;z-index:70;background:var(--warn);color:#fff;text-align:center;font-size:13px;padding:4px}
@media print{.top,.nav,.btns,.no-print{display:none!important}main{padding:0!important}}

/* live permit countdown cards */
.pcards{display:flex;flex-direction:column;gap:10px}
.pcard{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--ok);border-radius:8px;padding:12px 14px;font:inherit;cursor:pointer}
.pcard.warn{border-left-color:var(--warn)}
.pcard.bad{border-left-color:var(--bad)}
.pc-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pc-type{font-weight:700}
.pc-loc{color:var(--muted);font-size:14px}
.pc-left{font:700 30px/1.05 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--ok)}
.pcard.warn .pc-left{color:var(--warn)}
.pcard.bad .pc-left{color:var(--bad)}
.pc-bar{display:block;height:6px;border-radius:3px;background:var(--sunk);overflow:hidden}
.pc-bar i{display:block;height:100%;background:var(--ok);transition:width 1s linear}
.pcard.warn .pc-bar i{background:var(--warn)}
.pcard.bad .pc-bar i{background:var(--bad)}
.pc-when{color:var(--muted)}

/* site manager priority tiles */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:640px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:118px;padding:12px 12px 12px 14px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:8px;cursor:pointer;min-width:0}
.tile.ok{border-top-color:var(--ok)} .tile.warn{border-top-color:var(--warn)} .tile.bad{border-top-color:var(--bad)} .tile.info{border-top-color:var(--info)}
.t-k{font-size:12.5px;font-weight:600;color:var(--muted)}
.t-v{font:700 34px/1 var(--f-display);font-variant-numeric:tabular-nums}
.tile.bad .t-v{color:var(--bad)} .tile.warn .t-v{color:var(--warn)}
.t-wx{font-size:28px}
.t-s{font-size:12.5px;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%}
.t-s b{color:var(--bad)} .t-s .chip{margin-top:4px}
.t-bar{display:block;width:100%;height:6px;border-radius:3px;background:var(--sunk);overflow:hidden}
.t-bar i{display:block;height:100%;background:var(--hi)}
/* milestones */
.ms{display:flex;flex-direction:column;gap:6px}
.ms-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ms-row{display:flex;align-items:center;gap:10px}
.ms-row input[type=range]{flex:1;accent-color:var(--hi)}
.ms-pct{font:700 18px/1 var(--f-display);min-width:48px;text-align:right}

/* wide screens: tiles spread out, full-width blocks stay full width */
.desk .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1300px){.desk .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
.desk main>.sec:has(.tiles),.desk main>.sec:has(.quick),.desk main>.sec:has(.pcards){grid-column:1/-1}
.desk .pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.desk .quick{grid-template-columns:repeat(6,1fr)}

/* announcements: blue, like the red emergency tile */
.quick .ann-tile{background:#1D5FAF;color:#fff;border:1px solid #1D5FAF;border-radius:6px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px;font-weight:600;text-align:center;cursor:pointer}
.quick .ann-tile svg{width:22px;height:22px}
.quick .ann-tile b{font:700 12.5px/1 var(--f-display);letter-spacing:.06em}
.quick .ann-tile small{font-size:11px;font-weight:500;opacity:.9}
.btn.ann-btn{background:#1D5FAF;border-color:#1D5FAF;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ann-card{border-left:6px solid #1D5FAF;display:flex;flex-direction:column;gap:10px}
.ann-card.imp{border-left-color:var(--bad)}
.ann-card .eyebrow{color:#1D5FAF}
.ann-card.imp .eyebrow{color:var(--bad)}
.auds{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.aud{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}
.aud>span{display:flex;flex-direction:column;gap:2px}
.aud:has(input:checked){border-color:#1D5FAF;background:color-mix(in srgb,#1D5FAF 8%,var(--surface))}
.aud.dis{opacity:.5;cursor:default}
.aud input{margin-top:3px;accent-color:#1D5FAF}
.tickpeople{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.tickpeople label{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14px;cursor:pointer}
.tickpeople label:has(input:checked){border-color:#1D5FAF;background:color-mix(in srgb,#1D5FAF 10%,var(--surface));font-weight:600}
.tickpeople input{accent-color:#1D5FAF}
/* reply thread */
.chat{display:flex;flex-direction:column;gap:8px}
.bub{max-width:82%;align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:8px 11px;font-size:15px;line-height:1.35;word-wrap:break-word}
.bub.me{align-self:flex-end;background:#1D5FAF;border-color:#1D5FAF;color:#fff;border-radius:12px 12px 4px 12px}
.bub-h{display:block;font-size:11.5px;font-weight:600;opacity:.75;margin-bottom:2px}
.replybar{position:sticky;bottom:calc(var(--navh,64px) + 8px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;align-items:flex-end;background:var(--bg);padding:8px 0 0;z-index:4}
.replybar textarea{flex:1;min-height:44px;max-height:140px;resize:vertical}
.desk .replybar{bottom:12px}
.pick .main{display:flex;flex-direction:column;gap:2px;min-width:0}

/* ---------- ITP lines ---------- */
.itls{display:flex;flex-direction:column;gap:8px}
.itl{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.itl.hold{border-left-color:var(--bad)}
.itl.done{border-left-color:var(--ok)}
.itl.fail{border-left-color:var(--bad);background:var(--bad-bg)}
.itl-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.itl-no{font:600 13px/1 "IBM Plex Mono",monospace;color:var(--muted);min-width:28px}
.itl-codes{margin-left:auto;display:inline-flex;gap:4px}
.itc{display:inline-block;min-width:22px;text-align:center;font:700 11px/1 var(--f-display);padding:4px 5px;border-radius:3px;background:var(--sunk);color:var(--ink);border:1px solid var(--line)}
.itc.H{background:#B3261E;color:#fff;border-color:#B3261E}
.itc.W{background:#E0A100;color:#1B1B1B;border-color:#E0A100}
.itc.cl{background:transparent}
.itc.cl.H{color:#B3261E;border-color:#B3261E;background:transparent}
.itc.cl.W{color:#8a6300;border-color:#E0A100;background:transparent}
.itl-c{font-size:14px}
.itl-a{display:flex;justify-content:flex-end}
.aud.res-pass:has(input:checked){border-color:var(--ok);background:var(--ok-bg)}
.aud.res-fail:has(input:checked){border-color:var(--bad);background:var(--bad-bg)}

/* ---------- STANDARD PRINTABLE REPORT (brand guidelines v1) ---------- */
.rpt-paper{background:#fff;color:#292828;border:1px solid var(--line);border-radius:4px;padding:22px;overflow-x:auto}
.rpt{--maroon:#761128;--red:#C4312E;--char:#292828;--grey:#5A5A5B;--black:#1B1B1B;font:400 10.5pt/1.45 Montserrat,"Segoe UI",Arial,sans-serif;color:var(--char);min-width:600px}
.rpt.land{min-width:900px}
.rpt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;border-bottom:3px solid var(--maroon);margin-bottom:18px}
.rpt-logo{height:44px;width:auto}
.rpt-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:8.5pt;color:var(--grey)}
.rpt-type{font:800 9pt/1.2 Saira,"Bahnschrift","Arial Black",sans-serif;font-stretch:125%;letter-spacing:.08em;color:var(--maroon)}
.rpt-title{font:800 20pt/1.15 Saira,"Bahnschrift","Arial Black",sans-serif;font-stretch:125%;text-transform:uppercase;letter-spacing:.01em;margin:0 0 4px;color:var(--char)}
.rpt-by{margin:0 0 14px;color:var(--grey);font-size:9pt}
.rpt-sec{margin:16px 0 0}
.rpt-sec h2{font:700 11.5pt/1.2 Saira,"Bahnschrift","Arial Black",sans-serif;font-stretch:125%;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;color:var(--char)}
.rpt-sec h2::after{content:"";display:block;width:12mm;height:3px;background:var(--red);margin:5px 0 8px}
.rpt-sec p{margin:0 0 6px}
.rpt-t{width:100%;border-collapse:collapse;font-size:8.5pt;line-height:1.35}
.rpt-t th{background:var(--black);color:#fff;text-align:left;font:600 7.5pt/1.2 Montserrat,"Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:5px 6px;vertical-align:bottom}
.rpt-t th,.rpt-t td{text-align:left;white-space:normal;min-width:0;border-top:0;overflow-wrap:break-word}
.rpt-t td{border-bottom:.5pt solid #cfcac5;padding:5px 6px;vertical-align:top;color:var(--char)}
.rpt-t th:first-child,.rpt-t td:first-child{min-width:0}
.rpt-itp{table-layout:fixed}
.rpt-itp th:nth-child(1){width:4%}.rpt-itp th:nth-child(2){width:11%}.rpt-itp th:nth-child(3){width:17%}.rpt-itp th:nth-child(4){width:9%}.rpt-itp th:nth-child(5){width:7%}.rpt-itp th:nth-child(6){width:8%}.rpt-itp th:nth-child(7){width:8%}.rpt-itp th:nth-child(8){width:8%}.rpt-itp th:nth-child(9),.rpt-itp th:nth-child(10){width:6%;letter-spacing:0}.rpt-itp th:nth-child(11){width:6%}.rpt-itp th:nth-child(12){width:10%}
.rpt-ctl td:first-child{width:32%;font-weight:600;color:var(--grey)}
.rpt-t .rpt-no{font-family:"IBM Plex Mono",monospace;white-space:nowrap}
.rpt-t .rpt-code{text-align:center;font-weight:700}
.rpt-t tr.rpt-hold td.rpt-code:first-of-type{color:#B3261E}

.rpt-small{font-size:7.5pt;color:var(--grey)}
.rpt-none{color:var(--grey);font-style:italic}
.rpt-st{display:inline-block;font:700 7pt/1 Montserrat,Arial,sans-serif;letter-spacing:.04em;padding:3px 5px;border-radius:2px;white-space:nowrap}
.rpt-st.ok{background:#2E7D32;color:#fff} .rpt-st.bad{background:#B3261E;color:#fff} .rpt-st.warn{background:#E0A100;color:#1B1B1B} .rpt-st.na{background:#e6e2de;color:#292828}
.rpt-sig img{height:28px}
.rpt-foot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:6px;border-top:.5pt solid #cfcac5;font-size:7.5pt;color:var(--grey)}
.rpt-tag{font-family:Saira,"Bahnschrift",sans-serif;font-stretch:125%;letter-spacing:.12em}
.rpt-actions{margin-bottom:10px}
@media print{
  body.printing-report .top,body.printing-report .nav,body.printing-report .rpt-actions,body.printing-report .toast,body.printing-report #layer,body.printing-report #emLayer,body.printing-report .offline{display:none!important}
  body.printing-report,body.printing-report .app{background:#fff!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important}
  body.printing-report main{padding:0!important;display:block!important;max-width:none!important}
  body.printing-report .rpt-paper{border:0;padding:0;overflow:visible}
  .rpt{min-width:0!important}
  .rpt-t thead{display:table-header-group}
  .rpt-t tr,.rpt-keep{break-inside:avoid}
  .rpt-sec h2{break-after:avoid}
  .rpt-sec{break-inside:avoid}
  .desk body.printing-report .app,html.desk body.printing-report .app{margin:0!important}
}
.rk{display:inline-block;font:700 10.5px/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:3px 5px;margin-right:4px;vertical-align:1px}

/* ---------- all sites ---------- */
.pgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pcard-site{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--hi);border-radius:8px;padding:12px 14px;cursor:pointer;min-width:0}
.psh{display:flex;justify-content:space-between;align-items:center;gap:8px}
.psh b{font-size:16px}
.pstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;margin-top:4px}
.ps{display:flex;flex-direction:column-reverse;gap:2px;background:var(--sunk);border-radius:6px;padding:7px 8px;font-size:11.5px;color:var(--muted)}
.ps b{font:700 17px/1.1 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.ps b small{font:600 10.5px/1 var(--f-body,inherit);color:var(--muted)}
.ps.bad b{color:var(--bad)} .ps.warn b{color:var(--warn)}
/* valuation sums */
.vt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.vt td{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left;white-space:normal;min-width:0;font-family:inherit}
.vt td:last-child{text-align:right;white-space:nowrap}
.vt tr.tot td{font-weight:700}
.vt tr.big td{font:700 18px/1.2 var(--f-display);border-bottom:0;padding-top:10px}

/* ---------- project book ---------- */
.src{display:inline-block;font:600 10.5px/1 var(--f-body,inherit);padding:3px 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);vertical-align:1px;margin-left:4px;white-space:nowrap}
.src.ok{border-color:var(--ok);color:var(--ok)} .src.info{border-color:var(--info);color:var(--info)} .src.warn{border-color:var(--warn);color:var(--warn)}
.bkno{font:600 11.5px/1 "IBM Plex Mono",monospace;color:var(--ink);white-space:nowrap}
.ico .bkno{font-size:10.5px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:480px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vt th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);white-space:normal;min-width:0}
.vt.kd td:first-child{width:40%}
.app-t td{vertical-align:middle;font-size:14px}
.app-t td:first-child{min-width:180px;text-align:left;white-space:normal}
.app-t td:not(:first-child){text-align:right;white-space:nowrap}
.app-t input{width:96px;padding:6px 8px;text-align:right}
.app-t input.ap-p{width:56px}
.hm-wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hm-t{border-collapse:separate;border-spacing:3px}
.hm-t th{font-size:11px;color:var(--muted);font-weight:600;padding:0 4px;min-width:0;text-align:center}
.hm-t td.hm{width:34px;height:30px;text-align:center;font-weight:700;border-radius:4px;min-width:0;white-space:nowrap}
.hm.ok{background:var(--ok-bg);color:var(--ok)} .hm.warn{background:var(--warn-bg);color:var(--warn)} .hm.bad{background:var(--bad-bg);color:var(--bad)}
.tile[disabled]{cursor:default}

/* ---------- book page: today on site ---------- */
.dtiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:640px){.dtiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.dtiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.dt{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;padding:9px 10px;cursor:pointer;min-width:0}
.dt.ok{border-left-color:var(--ok)} .dt.warn{border-left-color:var(--warn)} .dt.bad{border-left-color:var(--bad)} .dt.info{border-left-color:var(--info)}
.dt-v{grid-row:1/3;font:700 26px/1 var(--f-display);font-variant-numeric:tabular-nums;min-width:30px;text-align:center}
.dt.bad .dt-v{color:var(--bad)} .dt.warn .dt-v{color:var(--warn)}
.dt-k{font-size:13px;font-weight:600;line-height:1.2}
.dt-s{font-size:11.5px;color:var(--muted);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dt-s b{color:var(--bad)}
/* ---------- book page: project areas ---------- */
.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:640px){.areas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.areas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.area{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:104px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;min-width:0}
.area.ok{border-top-color:var(--ok)} .area.warn{border-top-color:var(--warn)} .area.bad{border-top-color:var(--bad)}
.area.off{opacity:.55;cursor:default}
.ar-h{display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}
.ar-no{font:700 12px/1 "IBM Plex Mono",monospace;background:var(--ink);color:var(--surface);padding:3px 6px;border-radius:3px}
.ar-h .src{margin-left:0;font-size:9.5px;padding:2px 5px}
.ar-t{font-weight:700;font-size:14.5px;line-height:1.2;margin-top:4px}
.ar-1{font:700 15px/1.2 var(--f-display);font-variant-numeric:tabular-nums}
.ar-2{font-size:12px;color:var(--muted);line-height:1.25}
.area.bad .ar-2{color:var(--bad);font-weight:600} .area.warn .ar-2{color:var(--warn);font-weight:600}
.desk main>.sec:has(.dtiles),.desk main>.ar-sec{grid-column:1/-1}
.desk .dtiles{grid-template-columns:repeat(5,minmax(0,1fr))}
.desk .areas{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- book page: one button per section ---------- */
.secbtns{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:700px){.secbtns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.desk main>.sec:has(.secbtns){grid-column:1/-1}
@media (min-width:1300px){.desk .secbtns{grid-template-columns:repeat(3,minmax(0,1fr))}}
.secbtn{display:flex;flex-direction:column;gap:8px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:8px;padding:12px 14px;cursor:pointer;min-width:0}
.secbtn.ok{border-left-color:var(--ok)} .secbtn.warn{border-left-color:var(--warn)} .secbtn.bad{border-left-color:var(--bad)} .secbtn.info{border-left-color:var(--info)}
.sb-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sb-num{font:800 20px/1 var(--f-display);background:var(--ink);color:var(--surface);min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}
.sb-title{font:700 17px/1.15 var(--f-display);text-transform:uppercase;letter-spacing:.02em;flex:1;min-width:0}
.sb-src{display:flex;gap:4px;flex-wrap:wrap}
.sb-src .src{margin-left:0;font-size:9.5px;padding:2px 5px}
.sb-lines{display:flex;flex-direction:column;gap:5px}
.sb-l{display:grid;grid-template-columns:34px 1fr;column-gap:8px;font-size:13px;line-height:1.3;padding-top:5px;border-top:1px solid var(--line)}
.sb-n{grid-row:1/3;font:600 11.5px/1.5 "IBM Plex Mono",monospace;color:var(--muted)}
.sb-name{font-weight:600}
.sb-p{color:var(--muted)}
.sb-p em{font-style:normal}
.sb-l.bad .sb-p em{color:var(--bad);font-weight:600} .sb-l.warn .sb-p em{color:var(--warn);font-weight:600} .sb-l.ok .sb-p em{color:var(--ok)}

/* ---------- 0.1 project information ---------- */
.pi-cards{display:grid;grid-template-columns:1fr;gap:12px}
.desk main>.pi-cards{grid-column:1/-1}
@media (min-width:900px){.pi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pi-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;min-width:0}
.pi-card h3{margin:0 0 10px;font:700 14px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.04em;padding-bottom:8px;border-bottom:3px solid var(--hi)}
.pi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.pi{display:flex;flex-direction:column;gap:2px;min-width:0}
.pi.wide{grid-column:1/-1}
.pi-l{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.pi-v{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.kd{display:flex;flex-direction:column}
.kd-r{display:grid;grid-template-columns:1.6fr 1fr 1fr .6fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:baseline}
.kd-r.kd-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.kd-r.done .kd-l{font-weight:600}
.kd-v{text-align:right}
.st{display:flex;flex-direction:column}
.st-r{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.st-r small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.st-dot{width:10px;height:10px;border-radius:50%;background:var(--line);margin-top:4px}
.st-dot.ok{background:var(--ok)} .st-dot.warn{background:var(--warn)} .st-dot.bad{background:var(--bad)}
.st-s{font-size:12px;font-weight:600;color:var(--muted)}
.dir-a{display:inline-block;margin:4px 8px 0 0;font-weight:600;color:var(--info)}
.dir-n{color:var(--ink);font-weight:700;font-size:14.5px}
.dir-p{color:var(--ink);font-weight:600}
/* ---------- SSI form ---------- */
.ssi-q{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.ssi-q>span:first-child{font-size:14px;font-weight:500}
.ssi-o{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ssi-o label{display:inline-flex}
.ssi-o input{position:absolute;opacity:0;pointer-events:none}
.ssi-o span{padding:7px 11px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface)}
.ssi-o label+label span{border-left:1px solid var(--line)}
.ssi-Y input:checked+span{background:var(--ok);color:#fff} .ssi-N input:checked+span{background:var(--bad);color:#fff} .ssi-NA input:checked+span{background:var(--sunk);color:var(--ink)}
.ssi-n{grid-column:1/-1;display:grid;grid-template-columns:1fr 120px;gap:8px}
.ssi-n[hidden]{display:none}
/* ---------- programme ---------- */
.pts{display:flex;flex-direction:column;gap:4px}
.pt{display:grid;grid-template-columns:1fr 120px;grid-template-rows:auto auto;column-gap:12px;row-gap:3px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;padding:8px 10px 8px calc(10px + var(--lv,0) * 16px);cursor:pointer;min-width:0}
.pt.sum{background:var(--sunk);cursor:default;font-weight:700}
.pt.behind{border-left-color:var(--bad)} .pt.done{border-left-color:var(--ok)}
.pt-n{font-size:14px;line-height:1.25;min-width:0}
.pt-d{grid-column:1;font-size:11.5px;color:var(--muted)}
.pt-bar{grid-column:2;grid-row:1;align-self:center;position:relative;display:block;height:8px;background:var(--sunk);border-radius:4px;overflow:hidden}
.pt-bar.big{height:14px}
.pt-bar i{position:absolute;left:0;top:0;bottom:0;display:block}
.pt-bar i.pl{background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,transparent 3px,transparent 6px)}
.pt-bar i.ac{background:var(--hi);height:60%;top:20%;border-radius:2px}
.pt.behind .pt-bar i.ac{background:var(--bad)}
.pt-p{grid-column:2;grid-row:2;font-size:12px;text-align:right;white-space:nowrap}
.pt-p small{color:var(--muted)}
.lg{display:inline-block;width:18px;height:8px;border-radius:2px;vertical-align:0;margin:0 4px 0 8px}
.lg.pl{background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,transparent 3px,transparent 6px);border:1px solid var(--line)} .lg.ac{background:var(--hi)}
/* ---------- registers as tables ---------- */
.reg-wrap{overflow-x:auto;padding:0}
.vt.reg{min-width:980px;font-size:13px}
.vt.reg td,.vt.reg th{padding:7px 8px;white-space:nowrap;text-align:left}
.vt.reg td:nth-child(2){white-space:normal;min-width:220px}
.vt.reg tbody tr[data-go]{cursor:pointer}
.vt.reg tbody tr[data-go]:hover{background:var(--sunk)}
.desk main>.sec:has(.reg-wrap){grid-column:1/-1}

/* ---------- applications (6.3) ---------- */
.tblw{overflow-x:auto;padding:0}
.app-t{min-width:760px}
.app-t th,.app-t td{padding:7px 8px;white-space:nowrap;text-align:right}
.app-t th:nth-child(-n+2),.app-t td:nth-child(-n+2){text-align:left}
.app-t td.dsc{white-space:normal;min-width:180px}
.app-t input{width:84px;padding:6px 8px;text-align:right}
.app-t tr.bad td{background:var(--bad-bg)}
.app-t tr.bad input{border-color:var(--bad)}
.chk{display:flex;gap:8px;align-items:baseline;font-size:13.5px;padding:3px 0}
.chk span{font-weight:800;width:14px} .chk.ok span{color:var(--ok)} .chk.bad span{color:var(--bad)} .chk.bad{color:var(--bad);font-weight:600}
.appset .pi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.appset .pi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.desk main>.sec:has(.app-t),.desk main>form[data-form=app2],.desk main>.ap-print-wrap{grid-column:1/-1}
/* ---------- the printed application (as the Application Book) ---------- */
.ap-print-wrap{overflow-x:auto;background:var(--sunk);border-radius:8px;padding:12px}
.ap-sheet{background:#fff;color:#292828;box-shadow:0 2px 10px rgba(0,0,0,.12);margin:0 auto;max-width:794px;min-width:640px;padding:30px 34px}
.ap-sheet.print{box-shadow:none;padding:0;max-width:none;min-width:0}
.rpt-paper.plain{padding:24px}
.ap-doc{font:400 8.6pt/1.4 Montserrat,"Segoe UI",Arial,sans-serif;color:#292828}
.ap-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:8px;border-bottom:2.5px solid #761128}
.ap-logo{height:46px;width:auto}
.ap-tt{text-align:right}
.ap-tt h1{margin:0;font:800 15pt/1.1 Saira,"Bahnschrift","Arial Black",sans-serif;font-stretch:110%;color:#1B1B1B;letter-spacing:.01em}
.ap-tt div{font-weight:700;font-size:8pt;color:#5A5A5B;letter-spacing:.03em}
.ap-details{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin:14px 0 6px}
.ap-details table{border-collapse:collapse;width:100%}
.ap-details th{text-align:left;font-weight:700;font-size:7.6pt;color:#5A5A5B;white-space:nowrap;padding:2.5px 10px 2.5px 0;width:1%;letter-spacing:.02em}
.ap-details td{padding:2.5px 0;font-size:8.2pt}
.ap-details table+table td{text-align:right}
.ap-bar{background:#761128;color:#fff;font:700 8pt/1 Montserrat,Arial,sans-serif;letter-spacing:.05em;padding:4px 7px;margin:12px 0 6px}
.ap-sum{width:100%;border-collapse:collapse}
.ap-sum td{padding:3px 6px;font-size:8.3pt}
.ap-sum td:first-child{padding-left:96px}
.ap-sum td:last-child{text-align:right;white-space:nowrap}
.ap-sum tr.in td:first-child{padding-left:108px}
.ap-sum tr.b td{font-weight:700}
.ap-sum tr.ul td:last-child{border-bottom:1px solid #292828}
.ap-sum tr.tot td{font-weight:800;font-size:10.5pt;background:#F2F0EE;padding:6px;border-top:1.5px solid #292828;border-bottom:1.5px solid #292828}
.ap-sum tr.tot td:first-child{padding-left:96px}
.ap-sum tr.it td{font-style:italic;color:#5A5A5B;font-size:7.5pt}
.ap-decl{width:100%;border-collapse:collapse}
.ap-decl th{text-align:left;font-size:7.4pt;color:#5A5A5B;font-weight:700;white-space:nowrap;padding:9px 10px 2px 0;width:1%}
.ap-decl td{border-bottom:1px solid #292828;padding:9px 6px 2px;width:34%;font-size:8.2pt}
.ap-decl td.sig{font-style:italic;font-family:"Segoe Script","Brush Script MT",cursive;font-size:10pt}
.ap-sched{width:100%;border-collapse:collapse;font-size:7.6pt}
.ap-sched th{background:#1B1B1B;color:#fff;font-weight:700;padding:5px 4px;text-align:center;font-size:6.9pt;letter-spacing:.03em}
.ap-sched td{padding:3.5px 4px;border-bottom:.5px solid #d8d3ce;text-align:right;white-space:nowrap}
.ap-sched td:first-child{text-align:center} .ap-sched td.d{text-align:left;white-space:normal}
.ap-sched tr.tot td{font-weight:800;border-top:1.5px solid #292828;border-bottom:0}
.ap-terms{margin:4px 0 0;padding-left:16px;font-size:7.6pt;line-height:1.45}
.ap-terms li{margin:0 0 5px}
.ap-foot{display:flex;justify-content:space-between;margin-top:18px;font-size:6.8pt;color:#5A5A5B}
@media print{.ap-foot{display:none} .ap-sheet{max-width:none}}
/* the printed application: shield it from the app's own table styles, keep it to one A4 page */
.ap-doc th,.ap-doc td{font:inherit;letter-spacing:normal;text-transform:none;color:inherit;border-top:0;white-space:normal;min-width:0;text-align:left;padding:2px 4px}
.ap-doc .ap-details th{font-weight:700;font-size:7.4pt;color:#5A5A5B;white-space:nowrap;width:1%;padding:2px 12px 2px 0;letter-spacing:.02em}
.ap-doc .ap-details td{font-size:8pt;padding:2px 0;text-align:left}
.ap-doc .ap-details table+table td{text-align:right}
.ap-doc .ap-sum td{padding:2.6px 6px;font-size:8.1pt}
.ap-doc .ap-sum td:first-child{padding-left:96px}
.ap-doc .ap-sum tr.in td:first-child{padding-left:108px}
.ap-doc .ap-sum td:last-child{text-align:right;white-space:nowrap}
.ap-doc .ap-sum tr.tot td{font-weight:800;font-size:10pt;padding:5px 6px}
.ap-doc .ap-sum tr.tot td:first-child{padding-left:96px}
.ap-doc .ap-sum tr.b td{font-weight:700}
.ap-doc .ap-sum tr.it td{font-style:italic;color:#5A5A5B;font-size:7.3pt}
.ap-doc .ap-decl th{font-size:7.2pt;color:#5A5A5B;font-weight:700;white-space:nowrap;width:1%;padding:8px 10px 2px 0}
.ap-doc .ap-decl td{border-bottom:1px solid #292828;padding:8px 6px 2px;width:34%;font-size:8pt}
.ap-doc .ap-decl td.sig{font-style:italic;font-family:"Segoe Script","Brush Script MT",cursive;font-size:10pt}
.ap-doc .ap-sched{table-layout:fixed}
.ap-doc .ap-sched th{background:#1B1B1B;color:#fff;font-weight:700;font-size:6.6pt;text-align:center;padding:4px 3px;letter-spacing:.02em;line-height:1.2}
.ap-doc .ap-sched td{font-size:7.4pt;padding:3px 4px;text-align:right;white-space:nowrap;border-bottom:.5px solid #d8d3ce}
.ap-doc .ap-sched td:first-child{text-align:center}
.ap-doc .ap-sched td.d{text-align:left;white-space:normal}
.ap-doc .ap-sched th:nth-child(1){width:8%} .ap-doc .ap-sched th:nth-child(2){width:31%} .ap-doc .ap-sched th:nth-child(3){width:12%} .ap-doc .ap-sched th:nth-child(4){width:8%} .ap-doc .ap-sched th:nth-child(5){width:13.5%} .ap-doc .ap-sched th:nth-child(6){width:14%} .ap-doc .ap-sched th:nth-child(7){width:13.5%}
.ap-doc .ap-sched tr.tot td{font-weight:800;border-top:1.5px solid #292828;border-bottom:0}
.ap-doc .ap-bar{margin:9px 0 5px;padding:3.5px 7px}
.ap-doc .ap-details{margin:10px 0 4px}
.ap-doc .ap-logo{height:40px}
.ap-doc .ap-terms{font-size:7.2pt;line-height:1.38}
.ap-doc .ap-terms li{margin:0 0 3px}
@media print{.ap-doc .ap-sched tr{break-inside:avoid}}

/* ---------- application tracker ---------- */
.trk{display:flex;flex-direction:column;gap:8px}
.desk main>.sec:has(.trk){grid-column:1/-1}
.trk-c{display:flex;flex-direction:column;gap:8px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;width:100%;min-width:0}
.trk.one .trk-c{cursor:default;margin-bottom:10px}
.trk-c.ok{border-left-color:var(--ok)} .trk-c.warn{border-left-color:var(--warn)} .trk-c.bad{border-left-color:var(--bad)} .trk-c.info{border-left-color:var(--info)}
.trk-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.trk-h b{font-size:15px} .trk-h span:not(.chip){color:var(--muted);font-size:13px;flex:1}
.trk-n{font-size:13.5px;line-height:1.35}
.trk-n em{font-style:normal;font-weight:700}
.trk-c.bad .trk-n{color:var(--bad);font-weight:600} .trk-c.warn .trk-n{color:var(--warn);font-weight:600}
.stp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.st{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted);text-align:center;min-width:0}
.st i{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--line);z-index:1}
.st::before{content:"";position:absolute;top:7px;left:-50%;right:50%;height:2px;background:var(--line)}
.st:first-child::before{display:none}
.st b{font-weight:600;line-height:1.15;overflow-wrap:anywhere}
.st.done i{background:var(--ok);border-color:var(--ok)} .st.done::before,.st.now::before{background:var(--ok)}
.st.now i{background:var(--surface);border-color:var(--info);box-shadow:0 0 0 3px color-mix(in srgb,var(--info) 25%,transparent)}
.st.now b{color:var(--ink);font-weight:700}
.st.pln i{border-color:var(--bad);background:var(--bad-bg)} .st.pln b{color:var(--bad)}
.choice{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.choice .btn{flex:1;min-width:200px}
.btn.bad{background:var(--bad);border-color:var(--bad);color:#fff}
.tls{display:flex;flex-direction:column;border-left:2px solid var(--line);margin-left:6px;padding-left:12px}
.tl{display:grid;grid-template-columns:120px 1fr auto;gap:10px;padding:6px 0;font-size:13px;position:relative}
.tl::before{content:"";position:absolute;left:-18px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--hi)}
.tl-d{color:var(--muted);font-size:12px} .tl-b{color:var(--muted);font-size:12px}
@media (max-width:560px){.tl{grid-template-columns:1fr}.st b{font-size:9.5px}}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:520px){.grid3{grid-template-columns:1fr}}
.bill h3{margin:0 0 8px}

/* ---------- accounts ---------- */
.accgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:700px){.accgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.desk .accgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.desk main>.accgrid,.desk main>.accc{grid-column:1/-1}
.accs{display:flex;flex-direction:column;gap:10px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:8px;padding:14px 16px;cursor:pointer;min-width:0}
.accs.ok{border-left-color:var(--ok)} .accs.warn{border-left-color:var(--warn)} .accs.bad{border-left-color:var(--bad)}
.accs-h{display:flex;flex-direction:column;gap:2px} .accs-h b{font:700 17px/1.2 var(--f-display);text-transform:uppercase}
.accs-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:12.5px;color:var(--muted)}
.accs-l span{background:var(--sunk);border-radius:6px;padding:7px 8px;line-height:1.25}
.accs-l b{display:block;font:700 20px/1.1 var(--f-display);color:var(--ink)}
.accs-l .od b{color:var(--bad)}
.accc{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px}
.accc.ok{border-left-color:var(--ok)} .accc.warn{border-left-color:var(--warn)} .accc.bad{border-left-color:var(--bad)} .accc.info{border-left-color:var(--info)}
.accc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .accc-h b{font-size:16px} .accc-h .muted{flex:1}
.accc-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:760px){.accc-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.accf{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.accf input{flex:1;min-width:150px}
.accf .btn{flex:0 0 auto}
.lnk{align-self:flex-start;background:none;border:0;padding:0;font:600 13px/1 inherit;color:var(--info);cursor:pointer;text-decoration:underline}
/* long schedules: tighten so the application stays on one A4 page */
.ap-doc.compact .ap-details{margin:8px 0 2px}
.ap-doc.compact .ap-details th,.ap-doc.compact .ap-details td{padding-top:1.5px;padding-bottom:1.5px}
.ap-doc.compact .ap-sum td{padding-top:1.6px;padding-bottom:1.6px;font-size:7.8pt}
.ap-doc.compact .ap-sum tr.tot td{padding-top:3.5px;padding-bottom:3.5px;font-size:9.5pt}
.ap-doc.compact .ap-decl th,.ap-doc.compact .ap-decl td{padding-top:5px}
.ap-doc.compact .ap-bar{margin:6px 0 4px;padding:3px 7px}
.ap-doc.compact .ap-sched td{padding:1.8px 4px;font-size:7pt;line-height:1.25}
.ap-doc.compact .ap-sched th{padding:3px;font-size:6.4pt}
.ap-doc.compact .ap-terms{font-size:6.9pt;line-height:1.3}
.ap-doc.compact .ap-terms li{margin:0 0 2px}
.ap-doc.compact .ap-logo{height:34px}
.ap-doc.tight .ap-sched td.d{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
.ap-doc.tight .ap-sched td{padding-top:1.3px;padding-bottom:1.3px}
.ap-doc.tight .ap-decl th,.ap-doc.tight .ap-decl td{padding-top:4px}
.ap-doc.tight .ap-sum td{padding-top:1.3px;padding-bottom:1.3px}
.ap-doc.tight .ap-terms li{margin:0 0 1px}
.docbtn{display:inline-flex;margin-top:6px}
.docv{width:min(960px,96vw);max-width:none;height:min(88vh,1100px);padding:0;display:flex;flex-direction:column;overflow:hidden}
.docv-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.docv-h b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.docv-f{flex:1;border:0;width:100%;background:#fff}
.docv-b{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:var(--sunk)}
.docv-b img{max-width:100%;height:auto}
.docv-b{flex-direction:column;align-items:center;gap:12px;padding:12px}
.docv-pg{display:block;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.18);max-width:100%;height:auto}
.docv-n{color:var(--muted);font-size:12px;margin-left:auto;margin-right:8px}
.docv-b .docv-f{align-self:stretch;min-height:70vh}
.sitetag{display:inline-block;font:700 11px/1.2 var(--f-body,inherit);background:var(--ink);color:var(--surface);border-radius:3px;padding:3px 6px;margin:0 6px 3px 0;vertical-align:1px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sitetag.none{background:var(--sunk);color:var(--muted)}

/* ---------- overall dashboard ---------- */
.dash{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.desk main>.dash,.desk main>.sec-h{grid-column:1/-1}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:700px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kpi{display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}
.kpi.ok{border-top-color:var(--ok)} .kpi.warn{border-top-color:var(--warn)} .kpi.bad{border-top-color:var(--bad)} .kpi.info{border-top-color:var(--info)}
.kpi .t-v{font-size:26px} .kpi .t-s b{color:var(--bad)}
.charts{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:900px){.charts{grid-template-columns:repeat(2,minmax(0,1fr))}.chartc.wide{grid-column:1/-1}}
@media (min-width:1300px){.desk .charts{grid-template-columns:repeat(3,minmax(0,1fr))}.desk .chartc.wide{grid-column:span 3}}
.chartc{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-width:0}
.chartc h3{margin:0 0 8px;font:700 13px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.05em}
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .ax{fill:var(--muted);font:500 10.5px/1 var(--f-body,system-ui)}
.chart .ln{fill:none;stroke-width:2.5}
.lg2{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;color:var(--muted)}
.lg2 i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;border:1px solid var(--line)}
.dn{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dn-s{width:160px;flex:0 0 160px}
.dn-c{fill:var(--ink);font:800 26px/1 var(--f-display)}
.dn-l{display:flex;flex-direction:column;gap:5px;font-size:13px;flex:1;min-width:150px}
.dn-l span{display:flex;align-items:center;gap:6px} .dn-l b{margin-left:auto;font-variant-numeric:tabular-nums}
.dn-l i{width:10px;height:10px;border-radius:2px;flex:0 0 10px}
.pb{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.pb-r{display:grid;grid-template-columns:76px 1fr 44px;gap:10px;align-items:center;font-size:12.5px}
.pb-n{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-t{position:relative;height:14px;background:var(--sunk);border-radius:7px}
.pb-a{position:absolute;left:0;top:0;bottom:0;background:var(--hi);border-radius:7px}
.pb-a.bad{background:var(--bad)}
.pb-p{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);margin-left:-1px}
.pb-p b{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font:600 9.5px/1 var(--f-body,system-ui);color:var(--muted);white-space:nowrap}
.pb-v{text-align:right}
.sb2{display:flex;flex-direction:column;gap:10px;padding-top:4px}
.sb2 .pb-r{grid-template-columns:76px 1fr}
.sb2-t{display:flex;height:20px;border-radius:4px;overflow:hidden;background:var(--sunk)}
.sb2-t i{display:flex;align-items:center;justify-content:center;font:700 11px/1 var(--f-body,system-ui);color:#fff;font-style:normal;min-width:18px}
.chart .ax{font-size:11px}

/* ---------- project performance ---------- */
.rag{display:inline-block;font:700 11px/1 var(--f-body,inherit);padding:4px 7px;border-radius:999px;white-space:nowrap}
.rag.ok{background:var(--ok);color:#fff} .rag.warn{background:#E0A100;color:#1B1B1B} .rag.bad{background:var(--bad);color:#fff} .rag.none{background:var(--sunk);color:var(--muted)}
.pp-head{display:grid;grid-template-columns:1fr;gap:12px;background:var(--bar);color:var(--bar-ink);border-radius:8px;padding:14px 16px;border-left:10px solid var(--line);margin-bottom:10px}
@media (min-width:800px){.pp-head{grid-template-columns:auto 1fr}}
.pp-head.ok{border-left-color:var(--ok)} .pp-head.warn{border-left-color:#E0A100} .pp-head.bad{border-left-color:var(--bad)}
.pp-head h2{margin:2px 0 4px;font:800 30px/1 var(--f-display)} .pp-head.ok h2{color:#4cc27e} .pp-head.warn h2{color:#f2bd2c} .pp-head.bad h2{color:#ff6b61}
.pp-head .eyebrow{color:var(--bar-muted)} .pp-head .small{color:var(--bar-muted)}
.pp-top{background:rgba(255,255,255,.07);border-radius:6px;padding:8px 12px} .pp-top p{margin:4px 0 0;font-size:14px}
.pp-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
@media (min-width:700px){.pp-areas{grid-template-columns:repeat(5,minmax(0,1fr))}.pp-live .pp-areas{grid-template-columns:repeat(6,minmax(0,1fr))}}
.pp-area{display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--line);border-radius:8px;padding:9px 11px;min-width:0}
.pp-area.ok{border-top-color:var(--ok)} .pp-area.warn{border-top-color:#E0A100} .pp-area.bad{border-top-color:var(--bad)}
.pp-ar{font:800 20px/1.1 var(--f-display)} .pp-area.ok .pp-ar{color:var(--ok)} .pp-area.warn .pp-ar{color:var(--warn)} .pp-area.bad .pp-ar{color:var(--bad)}
.pp-area.ov{background:var(--sunk)}
.pp-live{position:sticky;top:0;z-index:3;background:var(--bg);padding:6px 0}
.ppq{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}
.ppq.ok{border-left-color:var(--ok)} .ppq.warn{border-left-color:#E0A100} .ppq.bad{border-left-color:var(--bad)}
.ppq-h{display:flex;align-items:center;gap:8px} .ppq-h b{flex:1} .ppq-q{margin:0;font-size:13.5px;color:var(--muted)}
.ppq-hint{margin:0;font-size:12.5px;background:var(--sunk);border-radius:4px;padding:5px 8px;color:var(--ink)}
.ppq-d summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--info)}
.ppq select{width:100%}
.pp-t td{white-space:normal} .pp-t .pp-n{font-weight:600;min-width:170px} .pp-t .pp-a{min-width:160px} .pp-t .pp-c{min-width:140px}
.tw{color:var(--bad);font-weight:600} .ti{color:var(--ok);font-weight:600}
.site-wrap{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.site-wrap{grid-template-columns:1fr auto}}
.desk main>.site-wrap{grid-column:1/-1}
.health{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:170px;text-align:left;font:inherit;border:0;border-radius:8px;padding:10px 16px;cursor:pointer;color:#fff;background:var(--muted)}
.health span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.9} .health b{font:800 24px/1.05 var(--f-display)} .health small{opacity:.85}
.health.ok{background:var(--ok)} .health.warn{background:#E0A100;color:#1B1B1B} .health.bad{background:var(--bad)}
.hrow{display:flex;align-items:center;gap:8px}
.pcard-site.h-ok{border-top-color:var(--ok)} .pcard-site.h-warn{border-top-color:#E0A100} .pcard-site.h-bad{border-top-color:var(--bad)}
.hgrid-w{overflow-x:auto}
.hgrid{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}
.hgrid th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;padding:6px 4px;border:0;white-space:normal}
.hgrid th:first-child,.hgrid td:first-child{text-align:left}
.hgrid td{padding:5px 4px;border-top:1px solid var(--line);text-align:center;white-space:nowrap}
.hgrid tr[data-go]{cursor:pointer} .hgrid tr[data-go]:hover td{background:var(--sunk)}
.hcell{display:inline-block;min-width:64px;padding:5px 6px;border-radius:4px;font-weight:700;font-size:12px}
.hcell.ok{background:var(--ok);color:#fff} .hcell.warn{background:#E0A100;color:#1B1B1B} .hcell.bad{background:var(--bad);color:#fff} .hcell.none{background:var(--sunk);color:var(--muted)}
.autotag{display:inline-block;font:700 10px/1 var(--f-body,inherit);letter-spacing:.04em;text-transform:uppercase;background:var(--info);color:#fff;border-radius:3px;padding:3px 5px;margin-left:6px;vertical-align:1px;cursor:help}
.autotag.yours{background:var(--warn);color:#1B1B1B}
.ppq-hint.auto{background:color-mix(in srgb,var(--info) 10%,var(--surface));border-left:3px solid var(--info)}

/* ---------- PPR meeting ---------- */
.ppr{display:flex;flex-direction:column;gap:12px;font-size:15.5px}
.desk main>.ppr,.desk main>.ppr-setup{grid-column:1/-1}
.ppr-bar{position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0 8px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.ppr-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline} .ppr-meta b{font:700 15px/1.2 var(--f-display);text-transform:uppercase} .ppr-meta span{color:var(--muted);font-size:13px}
.ppr-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ppr-st{display:flex;flex-direction:column;align-items:center;gap:3px;font:inherit;font-size:11.5px;color:var(--muted);background:none;border:0;cursor:pointer;padding:2px;min-width:0;text-align:center}
.ppr-st i{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font:700 12px/1 var(--f-body,inherit);font-style:normal;background:var(--surface);border:2px solid var(--line);color:var(--ink)}
.ppr-st i.ok{border-color:var(--ok)} .ppr-st i.warn{border-color:#E0A100} .ppr-st i.bad{border-color:var(--bad)}
.ppr-st.done i{background:var(--sunk)} .ppr-st.now i{background:var(--hi);border-color:var(--hi);color:#fff} .ppr-st.now span{color:var(--ink);font-weight:700}
.ppr-st span{line-height:1.15;overflow-wrap:anywhere}
.ppr-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.ppr-h{background:var(--bar);color:var(--bar-ink);border-radius:10px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-left:10px solid var(--line)}
.ppr-h h2{margin:2px 0 6px;font:800 30px/1.05 var(--f-display);text-transform:uppercase} .ppr-h p{margin:0;color:var(--bar-muted)} .ppr-h .eyebrow{color:var(--bar-muted)}
.ppr-h.ok{border-left-color:var(--ok)} .ppr-h.warn{border-left-color:#E0A100} .ppr-h.bad{border-left-color:var(--bad)}
.ppr-h.close.ok h2{color:#4cc27e} .ppr-h.close.warn h2{color:#f2bd2c} .ppr-h.close.bad h2{color:#ff6b61}
.ppr-rag{display:flex;flex-direction:column;align-items:flex-end} .ppr-rag b{font:800 34px/1 var(--f-display)} .ppr-rag span{color:var(--bar-muted);font-size:13px}
.ppr-h.ok .ppr-rag b{color:#4cc27e} .ppr-h.warn .ppr-rag b{color:#f2bd2c} .ppr-h.bad .ppr-rag b{color:#ff6b61}
.pp-areas.mini{margin:0;flex:1;min-width:300px} .pp-areas.mini .pp-area{padding:7px 9px;background:rgba(255,255,255,.95)} .pp-areas.mini .t-k{color:#62656C}
.pprq{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pprq.ok{border-left-color:var(--ok)} .pprq.warn{border-left-color:#E0A100} .pprq.bad{border-left-color:var(--bad)}
.pprq-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .pprq-h b{flex:1;font-size:16.5px;min-width:180px}
.pprq-q{margin:0;color:var(--muted)}
.ppr-in.big{font-size:16px;padding:10px 12px;width:100%}
.pprq-x{display:flex;flex-direction:column;gap:6px} .pprq-x.hide{display:none}
.pprq-a{display:grid;grid-template-columns:2fr 1fr 150px;gap:6px}
@media (max-width:640px){.pprq-a{grid-template-columns:1fr}.ppr-steps{grid-template-columns:repeat(7,minmax(0,1fr))}.ppr-st span{display:none}}
.ppr textarea.ppr-in,.ppr input.ppr-in,.ppr select.ppr-in{width:100%}
.ppr-act{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.ppr-act b{display:block;font-size:16px} .ppr-act p{margin:4px 0}
@media (max-width:640px){.ppr-act{grid-template-columns:1fr}}
.ppr-nav{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:calc(var(--navh,64px) + 8px + env(safe-area-inset-bottom,0px));background:var(--bg);padding:8px 0}
.desk .ppr-nav{bottom:8px}
.ppr-nav .btn{min-width:200px;font-size:15px}
.ppr-go{font-size:16px;padding:14px}
.ppr-intro{background:var(--bar);color:var(--bar-ink);border-radius:10px;padding:18px 20px} .ppr-intro h2{margin:2px 0 6px;font:800 26px/1.1 var(--f-display);text-transform:uppercase} .ppr-intro p{margin:0;color:var(--bar-muted)} .ppr-intro .eyebrow{color:var(--bar-muted)}
.ppr-h>div:first-child{flex:1;min-width:220px}
/* PPR minutes on A4 portrait: tighter tables that wrap */
.ppr-print table{table-layout:fixed;width:100%}
.ppr-print th,.ppr-print td{white-space:normal !important;overflow-wrap:anywhere;font-size:7.4pt;padding:3px 4px;vertical-align:top}
.ppr-print .rpt-sub{display:block;font-size:6.6pt;color:#5A5A5B;font-weight:400;text-transform:uppercase;letter-spacing:.03em;margin-top:1px}
.ppr-print .pp-ind th:nth-child(1){width:25%} .ppr-print .pp-ind th:nth-child(2){width:23%} .ppr-print .pp-ind th:nth-child(3){width:9%} .ppr-print .pp-ind th:nth-child(4){width:10%} .ppr-print .pp-ind th:nth-child(5){width:9%} .ppr-print .pp-ind th:nth-child(6){width:24%}
.ppr-print .pp-act th:nth-child(1){width:25%} .ppr-print .pp-act th:nth-child(2){width:9%} .ppr-print .pp-act th:nth-child(3){width:32%} .ppr-print .pp-act th:nth-child(4){width:13%} .ppr-print .pp-act th:nth-child(5){width:10%} .ppr-print .pp-act th:nth-child(6){width:11%}
.ppr-print .pp-act th:nth-child(3){width:28%} .ppr-print .pp-act th:nth-child(5){width:12%} .ppr-print .pp-act th:nth-child(6){width:13%}
.ppr-print .pp-act td:nth-child(5){white-space:nowrap !important;overflow-wrap:normal}

/* ---------- PPR record (print, A4 portrait) ---------- */
.pprp-wrap{background:#fff}
.pprp{font:400 8pt/1.35 Montserrat,"Segoe UI",Arial,sans-serif;color:#292828}
.pprp-top{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:6px;border-bottom:2.5px solid #761128}
.pprp-logo{height:36px} .pprp-top h1{margin:0;text-align:right;font:800 13pt/1.1 Saira,"Bahnschrift","Arial Black",sans-serif;color:#1B1B1B} .pprp-top .ref{text-align:right;font-weight:700;font-size:7.5pt;color:#5A5A5B}
.pprp-meta{display:flex;flex-direction:column;gap:1px;margin:8px 0 10px;font-size:7.6pt;color:#5A5A5B} .pprp-meta b{font-size:10pt;color:#1B1B1B}
.pprp-health{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:5px}
.hb{display:flex;flex-direction:column;gap:2px;border-radius:5px;padding:7px 8px;color:#fff;background:#9a9a9a;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.hb.ok{background:#1E7B45} .hb.warn{background:#E0A100;color:#1B1B1B} .hb.bad{background:#B3261E} .hb.none{background:#E6E2DD;color:#5A5A5B}
.hb span{font-size:6.6pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.9} .hb b{font:800 11pt/1.05 Saira,"Arial Black",sans-serif} .hb.big b{font-size:17pt} .hb small{font-size:6.8pt;display:flex;gap:4px;align-items:center}
.hb small i{font-style:normal;font-weight:700;border-radius:3px;padding:0 4px;background:rgba(255,255,255,.85);color:#1B1B1B}
.hb small i.g{color:#1E7B45} .hb small i.a{color:#8a6300} .hb small i.r{color:#B3261E}
.pprp .hb .pa{color:inherit !important;font-size:8pt}
.pprp-calls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 0}
.pprp-call{border-left:3px solid #761128;background:#F4F1EE;padding:5px 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact} .pprp-call span{font-size:6.6pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#761128} .pprp-call p{margin:2px 0 0;font-weight:600}
.pprp-h{margin:12px 0 5px;font:800 10pt/1 Saira,"Arial Black",sans-serif;text-transform:uppercase;display:flex;align-items:center;gap:6px;border-bottom:1px solid #d8d3ce;padding-bottom:4px}
.pprp-h small{font:700 7pt Montserrat,Arial;background:#1B1B1B;color:#fff;border-radius:9px;padding:1px 6px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pprp-h.brk{break-before:page;page-break-before:always}
.pprp-acts{width:100%;border-collapse:collapse;table-layout:fixed}
.pprp-acts th{font-size:6.6pt;text-transform:uppercase;letter-spacing:.04em;color:#5A5A5B;text-align:left;padding:2px 4px;border-bottom:1px solid #292828;font-weight:700;white-space:normal;background:none}
.pprp-acts th:nth-child(1){width:4px;padding:0} .pprp-acts th:nth-child(2){width:5%} .pprp-acts th:nth-child(3){width:52%} .pprp-acts th:nth-child(4){width:16%} .pprp-acts th:nth-child(5){width:14%} .pprp-acts th:nth-child(6){width:12%}
.pprp-acts td{padding:4px 4px;border-bottom:.5px solid #d8d3ce;vertical-align:top;text-align:left;white-space:normal;font-size:7.8pt}
.pprp-acts td.sb{padding:0;width:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact} .pprp-acts td.sb.ok{background:#1E7B45} .pprp-acts td.sb.warn{background:#E0A100} .pprp-acts td.sb.bad{background:#B3261E} .pprp-acts td.sb.none{background:#ccc}
.pprp-acts td.n{font-weight:800;color:#5A5A5B} .pprp-acts .sub{display:block;font-size:6.6pt;color:#5A5A5B;margin-top:1px} .pprp-acts .nw{white-space:nowrap} .pprp-acts i.od{color:#B3261E;font-style:normal;font-weight:700;font-size:6.6pt}
.pprp-none{color:#5A5A5B;font-style:italic}
.pprp-key{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:6.8pt;color:#5A5A5B;margin-bottom:6px} .pprp-key span{display:inline-flex;align-items:center;gap:3px}
.pprp-grid{column-count:2;column-gap:14px}
.pprp-area{break-inside:avoid-column;margin:0 0 9px;display:block}
.pprp-area h3{margin:0 0 3px;display:flex;justify-content:space-between;align-items:center;font:700 7.6pt/1 Montserrat,Arial;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;border-radius:3px;color:#fff;background:#9a9a9a;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pprp-area h3.ok{background:#1E7B45} .pprp-area h3.warn{background:#E0A100;color:#1B1B1B} .pprp-area h3.bad{background:#B3261E} .pprp-area h3.none{background:#E6E2DD;color:#5A5A5B}
.pprp-comm{margin:0 0 3px;font-size:7pt;font-style:italic;color:#3a3a3a}
.ir{display:grid;grid-template-columns:9px 1fr 12px 10px;gap:5px;align-items:start;padding:2.5px 0;border-bottom:.5px solid #ece8e4;break-inside:avoid}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ccc;margin-top:2px;-webkit-print-color-adjust:exact;print-color-adjust:exact} .dot.ok{background:#1E7B45} .dot.warn{background:#E0A100} .dot.bad{background:#B3261E}
.ir .nm{display:flex;flex-direction:column;min-width:0} .ir .nm b{font-size:7.3pt;font-weight:700;line-height:1.2} .ir .ans{font-size:6.8pt;color:#5A5A5B;line-height:1.2}
.ir .nt{font-size:6.6pt;color:#292828;background:#F4F1EE;border-radius:2px;padding:1px 4px;margin-top:1px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pprp .pa{font-size:7.5pt;text-align:center;line-height:1.3;background:none;border:0;padding:0} .pprp .pa.up{color:#1E7B45} .pprp .pa.down{color:#B3261E} .pprp .pa.same,.pprp .pa.none{color:#9a9a9a}
.ir .ps{font-size:7pt;color:#1D5FAF;text-align:center}
.rpt-paper.plain .pprp-wrap{max-width:794px;margin:0 auto}
.pprp-t1{text-align:right;font:800 13pt/1.1 Saira,"Bahnschrift","Arial Black",sans-serif;color:#1B1B1B}
.pprp .pa svg,.pprp .ps svg{width:8px;height:8px;fill:currentColor;display:inline-block;vertical-align:-0.5px}
.pprp .hb .pa svg{width:9px;height:9px}
.pprp .ps{color:#1D5FAF;background:none;border:0}
.pprp-key b{display:inline-flex}
.pprp-area{break-inside:auto}
.pprp-area h3{break-after:avoid}
.ir{padding:2px 0}
.chg .choice .btn{min-width:200px}
.btn.ghost.danger{color:var(--bad);border-color:var(--bad)}
.form.del{border-left:4px solid var(--bad)}
details.deleted{margin-top:10px} details.deleted summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600;padding:6px 0}

/* ---------- payables ---------- */
.signq{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:8px solid var(--warn);border-radius:8px;padding:12px 16px;margin-bottom:12px;cursor:pointer}
.signq.bad{border-left-color:var(--bad)} .signq b{font:800 30px/1 var(--f-display)} .signq span{font-size:14px} .signq em{font-style:normal;color:var(--bad);font-weight:700}
.desk main>.signq{grid-column:1/-1}
.acc-h{margin:16px 0 8px;font:800 16px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.03em;border-bottom:3px solid var(--hi);padding-bottom:6px}
.desk main>.acc-h{grid-column:1/-1}
.accs-p{display:block;font-size:12.5px;color:var(--ink);background:var(--warn-bg);border-radius:5px;padding:6px 8px} .accs-p i{color:var(--bad);font-style:normal;font-weight:700}
.ap-doc .py-basis{font-size:8pt;margin:2px 0 4px;white-space:pre-wrap}
.bill-btn{font-size:16px;padding:14px;margin-bottom:10px;flex-direction:column;gap:2px}
.bill-btn small{font-weight:500;opacity:.85;font-size:12px}
