:root{
  --ink:#0A1E31;--ink-2:#0F2A43;--blue:#2078B0;--blue-2:#3592CF;--blue-d:#175C88;--blue-l:#E2EEF7;--blue-ll:#F1F7FC;
  --graphite:#383838;--text:#2C3136;--muted:#66717A;--line:rgba(56,56,56,.12);--line-2:rgba(56,56,56,.2);
  --paper:#F2F6F9;--white:#fff;--ok:#1F7A45;--ok-l:#E4F4EA;--warn:#8A5A00;--warn-l:#FFF3D6;--err:#A3291A;--err-l:#FDE9E5;
  --r:14px;--r-s:10px;--side:252px;
  --f-head:"Montserrat",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 15.5px/1.5 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--f-head);color:var(--graphite);margin:0;letter-spacing:-.015em}
h1{font-size:clamp(22px,2.6vw,28px);font-weight:800}
h2{font-size:17px;font-weight:700}
small{font-size:.82em}
.muted{color:var(--muted)}.small{font-size:13.5px}.block{display:block}.mono{font-family:var(--f-mono)}.strong{font-weight:600;color:var(--graphite)}
.ic{flex:none;vertical-align:-.18em}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}

/* logo crop (PNG 417x630) */
.logo-crop{display:block;position:relative;overflow:hidden;aspect-ratio:360/212;height:56px}
.logo-crop img{position:absolute;width:115.83%;height:auto;max-width:none;left:-9.44%;top:-32.08%}
.logo-crop.lg{height:92px;margin:0 auto}

/* ---------- shell ---------- */
.app{padding-left:var(--side)}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px 14px;z-index:30}
.side-logo{display:block;padding:0 8px}
.side-sub{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.side-nav{display:grid;gap:2px;flex:1;align-content:start}
.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-s);color:var(--graphite);font-weight:500;text-decoration:none}
.side-nav a:hover{background:var(--blue-ll)}
.side-nav a.on{background:var(--blue);color:#fff}
.side-nav a em,.sheet-card a em{margin-left:auto;font:500 10px var(--f-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.side-user{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.side-user .who{flex:1;min-width:0;display:grid;line-height:1.25}
.side-user .who b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--graphite)}
.side-user .who small{color:var(--muted)}
.av{width:36px;height:36px;border-radius:50%;background:var(--blue-l);color:var(--blue-d);display:grid;place-items:center;font:700 13px var(--f-head);flex:none}
.ib{width:38px;height:38px;border-radius:var(--r-s);display:grid;place-items:center;color:var(--graphite);border:0;background:transparent;cursor:pointer;font-size:22px;text-decoration:none!important}
.ib:hover{background:var(--blue-ll)}
.top,.bnav{display:none}
.main{max-width:1320px;margin:0 auto;padding:28px clamp(16px,3vw,40px) 48px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-head .sub{margin:6px 0 0;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- components ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,2vw,22px);margin-bottom:16px}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r-s);border:1px solid var(--line-2);background:#fff;color:var(--graphite);font:600 14.5px var(--f-body);cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--blue);color:var(--blue-d)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.btn.ghost{background:transparent}
.btn.small{min-height:34px;padding:0 11px;font-size:13.5px}
.btn.big{min-height:54px;font-size:16px;padding:0 22px}
.btn.block{width:100%}
.btn.danger-ghost{color:var(--err);border-color:rgba(163,41,26,.3);background:transparent}.btn.danger-ghost:hover{background:var(--err-l);border-color:var(--err)}
.btn:disabled{opacity:.6;cursor:wait}
.fld{display:grid;gap:6px;min-width:0}
.lbl,.fld>span:first-child{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lbl small{text-transform:none;letter-spacing:0;font-family:var(--f-body)}
input,select,textarea{width:100%;font:16px var(--f-body);color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:11px 13px;min-height:46px;appearance:none;-webkit-appearance:none}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(32,120,176,.14)}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2366717A' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
input.big{font:700 24px var(--f-head);padding:10px 14px;min-height:58px;color:var(--graphite)}
.check{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--blue);appearance:auto}
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}
.frow.end{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin:0}
.frow.end .check{margin-right:auto}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.form-inline h2{margin-bottom:14px}
.narrow{max-width:460px}.narrow .fld{margin-bottom:12px}

.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--graphite);font:500 14px var(--f-body);cursor:pointer;text-decoration:none!important;white-space:nowrap}
.chip:hover{border-color:var(--blue)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:grid;place-items:center;text-align:center;min-height:56px;border-radius:var(--r-s);border:1px solid var(--line-2);background:#fff;padding:6px;line-height:1.2;transition:background .12s,border-color .12s}
.seg span b{font:800 17px var(--f-head);color:var(--graphite)}
.seg span small{color:var(--muted);font-size:12px}
.seg input:checked+span{background:var(--blue-l);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.seg input:checked+span b{color:var(--blue-d)}
.seg input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.seg.mini span{min-height:46px;font-weight:600;font-size:14px;padding:0 12px}
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;background:var(--paper);border:1px solid var(--line);font:600 12px var(--f-body);color:var(--graphite);white-space:nowrap}
.badge.big{font:800 15px var(--f-head);padding:5px 10px}
.badge.ok{background:var(--ok-l);border-color:transparent;color:var(--ok)}
.badge.warn{background:var(--warn-l);border-color:transparent;color:var(--warn)}
.badge.danger{background:var(--err-l);border-color:transparent;color:var(--err)}
.badge.accent{background:var(--blue-l);border-color:transparent;color:var(--blue-d)}
.flash{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-s);margin-bottom:14px;font-size:14.5px;background:var(--blue-ll);color:var(--blue-d)}
.flash span{flex:1;min-width:200px}
.flash.ok{background:var(--ok-l);color:var(--ok)}
.flash.err{background:var(--err-l);color:var(--err)}
.flash.warn{background:var(--warn-l);color:var(--warn)}
.flash form{margin:0}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.kpis.wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:grid;gap:4px}
.card .kpi{background:var(--paper);border:0}
.kpi small{color:var(--muted);font-size:13px}
.kpi b{font:800 clamp(18px,2vw,22px)/1.15 var(--f-head);color:var(--graphite);letter-spacing:-.01em}
.kpi.accent{background:var(--blue);border-color:var(--blue)}
.kpi.accent small{color:#CFE4F3}.kpi.accent b{color:#fff}
.empty{text-align:center;padding:40px 20px}.empty p{margin:8px 0 0}
.empty-s{margin:10px 0 0}
.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:16px;align-items:start}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:14px 0 18px;font-size:14.5px}
.dl dt{color:var(--muted)}.dl dd{margin:0;text-align:right}
.dl.compact{margin:12px 0}

/* ---------- purchase form ---------- */
.pform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.span2{grid-column:1/-1}
.pform .chips{margin-bottom:8px}
.disc{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:6px}
.disc .seg{grid-auto-columns:auto}
.price-note{font-family:var(--f-body);text-transform:none;letter-spacing:0;color:var(--warn)}
.calc{margin:18px 0 16px;background:var(--ink);color:#fff;border-radius:var(--r);padding:14px 18px}
.calc-row{display:flex;justify-content:space-between;font-size:14px;color:#AFC3D5;padding:2px 0}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid rgba(255,255,255,.14);margin-top:8px;padding-top:10px}
.calc-total>span{font-size:14px;color:#CFE0EE}
.calc-total b{font:800 clamp(26px,3.4vw,34px)/1 var(--f-head);letter-spacing:-.02em}
.verify{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:var(--r-s);background:var(--warn-l);color:var(--warn);font-size:14px;cursor:pointer}
.verify input{width:20px;height:20px;accent-color:var(--warn);appearance:auto;margin-top:2px}

/* ---------- lists ---------- */
.rows{list-style:none;margin:12px 0 0;padding:0;display:grid}
.rows li+li{border-top:1px solid var(--line)}
.rows a,.rows.plain li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;color:inherit;text-decoration:none}
.rows a:hover{background:var(--blue-ll)}
.rows a.flagged{box-shadow:inset 3px 0 0 #E0A21B}
.r-main{display:grid;min-width:0}
.r-main b{font-weight:600;color:var(--graphite)}
.r-main small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-amt{font:700 15px var(--f-head);color:var(--graphite);white-space:nowrap}
.filters .chips{margin-bottom:14px}
.fdet>summary{display:none;list-style:none}
.fdet>summary::-webkit-details-marker{display:none}
.tbl-card{padding:6px 0}
.tbl-card .card-head{padding:14px clamp(16px,2vw,22px) 0}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{font:500 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl th:first-child,.tbl td:first-child{padding-left:clamp(16px,2vw,22px)}
.tbl th:last-child,.tbl td:last-child{padding-right:clamp(16px,2vw,22px)}
.tbl .r{text-align:right;white-space:nowrap}
.tbl tbody tr[data-href]{cursor:pointer}
.tbl tbody tr:hover{background:var(--blue-ll)}
.tbl tr.flagged td:first-child{box-shadow:inset 3px 0 0 #E0A21B}
.tbl tr.inactive{opacity:.55}
.tbl .acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.acts form{margin:0}
.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin:8px 0 20px}

/* ---------- report ---------- */
.month-bar{display:flex;align-items:center;gap:8px;padding:10px 12px}
.month-bar .chips{flex:1;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.month-pick input{min-height:38px;padding:6px 10px;font-size:14px;width:auto}
.rep{display:grid}
.rep-row{display:grid;grid-template-columns:minmax(0,1.6fr) .6fr 1fr .9fr 1.1fr;gap:10px;align-items:center;padding:12px clamp(16px,2vw,22px);border-bottom:1px solid var(--line);font-size:14.5px}
.rep-h{font:500 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:6px;padding-bottom:8px}
.rep .r{text-align:right;white-space:nowrap}
.rep-d summary{list-style:none;cursor:pointer}
.rep-d summary::-webkit-details-marker{display:none}
.rep-d summary:hover{background:var(--blue-ll)}
.rep-d[open] summary{background:var(--blue-ll)}
.rep-d summary>span:first-child::before{content:"›";display:inline-block;width:14px;color:var(--muted);transition:transform .15s}
.rep-d[open] summary>span:first-child::before{transform:rotate(90deg)}
.rep-split{background:var(--blue-ll);border-bottom:1px solid var(--line)}
.rep-row.sub{border-bottom:0;padding-top:7px;padding-bottom:7px;padding-left:calc(clamp(16px,2vw,22px) + 14px);color:var(--muted);font-size:13.5px}
.rep-links{display:flex;gap:16px;padding:6px clamp(16px,2vw,22px) 12px calc(clamp(16px,2vw,22px) + 14px);font-size:13.5px;font-weight:600}
.rep-t{border-bottom:0;font:700 15px var(--f-head);color:var(--graphite);background:var(--paper);border-radius:0 0 var(--r) var(--r)}
.print-head{display:none}
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:16px}
.type-card{margin:0}
.type-card.inactive{opacity:.6}
.tc-head{display:flex;align-items:center;gap:10px}
.tc-price{display:flex;align-items:baseline;gap:6px;margin-top:14px}
.tc-price b{font:800 40px/1 var(--f-head);color:var(--blue-d);letter-spacing:-.02em}
.tc-price span{color:var(--muted)}
.type-card .acts{display:flex;gap:6px;flex-wrap:wrap}
.roles-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px}
.roles-info div{display:grid;gap:4px}
.roles-info span{color:var(--muted)}
.pw-card{border-color:var(--blue);background:var(--blue-ll)}
.pw-card p{margin:8px 0 14px;color:var(--muted)}
.pw-box{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;background:#fff;border-radius:var(--r-s);padding:14px 16px}
.pw-box span{color:var(--muted);font-size:13px}
.pw-box b{font-size:18px}
.pw-box .btn{grid-column:1/-1;justify-self:start}

/* ---------- log ---------- */
.log{list-style:none;margin:0;padding:0}
.log li{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.log li:last-child{border-bottom:0}
.log time{font-size:12.5px;color:var(--muted);display:grid;line-height:1.3}
.log time b{font:600 15px var(--f-mono);color:var(--graphite)}
.log p{margin:0;font-size:14.5px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.log p a{color:var(--graphite)}
.log small{color:var(--muted)}
.diff{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.diff span{font-size:12.5px;background:var(--paper);border-radius:6px;padding:3px 8px}
.diff s{color:var(--err)}

/* ---------- login ---------- */
.login-page .main{min-height:100svh;display:grid;place-items:center;padding:24px 16px}
.login{width:100%;display:grid;justify-items:center;gap:14px}
.login-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px;display:grid;gap:14px;box-shadow:0 30px 60px -40px rgba(10,30,49,.35)}
.login-card.wide{max-width:720px}
.login-card h1{text-align:center;font-size:22px}
.login-card h2{margin-top:6px}
.login-card>p.muted{text-align:center;margin:-6px 0 4px}
.login-logo{padding:4px 0 2px}
.login-foot{color:var(--muted);font-size:13px;margin:0}

/* ---------- sheet (mobile menu) ---------- */
.sheet{position:fixed;inset:0;z-index:60}
.sheet-bg{position:absolute;inset:0;background:rgba(10,30,49,.45)}
.sheet-card{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));display:grid;gap:2px;animation:up .22s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.sheet-head{display:grid;grid-template-columns:1fr auto;align-items:center;padding:4px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.sheet-head small{grid-row:2;color:var(--muted)}
.sheet-head .ib{grid-row:1/3;grid-column:2}
.sheet-card a{display:flex;align-items:center;gap:14px;padding:14px 10px;border-radius:var(--r-s);color:var(--graphite);font-weight:500;font-size:16px;text-decoration:none}
.sheet-card a:active{background:var(--blue-ll)}
.sheet-card a.danger{color:var(--err)}

/* ---------- payment slips ---------- */
.fise{background:#E9EEF2}
.fise-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);z-index:5}
.fisa{background:#fff;max-width:820px;margin:20px auto;padding:36px 40px;border-radius:6px;font-size:13.5px}
.fisa header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--blue);padding-bottom:16px}
.fisa .logo-crop{height:62px}
.fisa-t{text-align:right}.fisa-t h1{font-size:24px}.fisa-t p{margin:4px 0 0;color:var(--muted)}
.fisa-who{display:flex;align-items:baseline;gap:14px;margin:20px 0 14px}
.fisa-who span{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fisa-who b{font:800 22px var(--f-head);color:var(--graphite)}
.fisa table{width:100%;border-collapse:collapse}
.fisa th{text-align:left;font:600 11px var(--f-body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line-2);padding:6px 8px}
.fisa td{padding:6px 8px;border-bottom:1px solid var(--line)}
.fisa .r{text-align:right;white-space:nowrap}
.fisa tfoot td{font-weight:700;border-top:2px solid var(--graphite);border-bottom:0}
.fisa-sum{display:flex;justify-content:space-between;align-items:baseline;background:var(--blue-ll);border-radius:8px;padding:14px 18px;margin:18px 0 40px}
.fisa-sum b{font:800 26px var(--f-head);color:var(--graphite)}
.fisa-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.fisa-sign div{display:grid;gap:6px}
.fisa-sign i{display:block;height:46px;border-bottom:1px solid var(--graphite)}
.fisa-sign small{color:var(--muted)}
.fisa footer{margin-top:36px;color:var(--muted);font-size:11.5px;border-top:1px solid var(--line);padding-top:10px}

/* ---------- responsive ---------- */
@media (max-width:1100px){.two{grid-template-columns:1fr}.kpis.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .app{padding-left:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .side{display:none}
  .top{display:flex;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top))}
  .top .logo-crop{height:46px}
  .bnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .bnav a,.bnav button{display:grid;justify-items:center;gap:2px;padding:6px 0;border:0;background:none;color:var(--muted);font:600 11.5px var(--f-body);text-decoration:none;border-radius:var(--r-s);cursor:pointer}
  .bnav .on{color:var(--blue)}
  .bnav .on .ic{background:var(--blue-l);border-radius:999px;width:52px;padding:2px 0}
  .main{padding:18px 14px 28px}
  .page-head{align-items:flex-start;margin-bottom:14px}
  .page-head .actions{width:100%}
  .page-head .actions .btn{flex:1}
  .roles-info{grid-template-columns:1fr}
  .fdet>summary{display:inline-flex}
  .fdet[open]>summary{margin-bottom:12px}
  .filters .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -4px 12px;padding:0 4px}
  /* tables → cards */
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{padding:12px 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
  .tbl td{border:0;padding:0!important;text-align:left!important;font-size:14px}
  .tbl td[data-l]::before{content:attr(data-l);display:block;font:500 10.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .tbl td.strong{grid-column:1/-1;font-size:16px}
  .tbl td.strong::before{display:none}
  .tbl td.acts{grid-column:1/-1;justify-content:flex-start;margin-top:6px}
  .tbl tr.flagged td:first-child{box-shadow:none}
  .tbl tr.flagged{box-shadow:inset 3px 0 0 #E0A21B}
  .rep-row{grid-template-columns:1fr 1fr;gap:2px 12px}
  .rep-row>span:first-child{grid-column:1/-1}
  .rep-row .r{text-align:left}
  .rep-row [data-l]::before{content:attr(data-l) " ";font:500 10.5px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:block}
  .rep-h{display:none}
  .rep-row.sub{grid-template-columns:1fr auto;padding-left:30px}
  .rep-row.sub>span:nth-child(2),.rep-row.sub>span:nth-child(4){display:none}
  .rep-t{grid-template-columns:1fr auto}
  .rep-t>span:nth-child(2),.rep-t>span:nth-child(4){display:none}
  .log li{grid-template-columns:1fr;gap:4px}
  .log time{display:flex;gap:8px}
  .fisa{padding:22px 18px;margin:0;border-radius:0}
  .fisa-sign{grid-template-columns:1fr;gap:24px}
}
@media (max-width:520px){
  .pform-grid{grid-template-columns:1fr}
  .kpis.wide{grid-template-columns:1fr 1fr}
  .kpi b{font-size:17px}
  .disc{grid-template-columns:1fr}
  .seg span b{font-size:15px}
}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;font-size:12px}
  .app{padding:0}
  .side,.top,.bnav,.sheet,.noprint,.actions,.flash,.fise-bar{display:none!important}
  .main{padding:0;max-width:none}
  .card{border:0;padding:0;margin-bottom:12px}
  .print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--blue);padding-bottom:10px;margin-bottom:14px;text-align:right}
  .print-head .logo-crop{height:48px}
  .report-page .page-head{display:none}
  .kpi{border:1px solid var(--line)}.kpi.accent{background:#fff;border-color:var(--blue)}.kpi.accent b{color:var(--graphite)}.kpi.accent small{color:var(--muted)}
  .rep-d .rep-split{display:block!important}
  .rep-d summary>span:first-child::before{display:none}
  .rep-row{padding:6px 4px}
  .fise{background:#fff}
  .fisa{margin:0;padding:0;max-width:none;page-break-after:always;break-after:page}
  .fisa:last-of-type{page-break-after:auto;break-after:auto}
}
.support{display:grid;text-align:right;line-height:1.2;text-decoration:none!important;color:var(--graphite)}
.support b{font:700 13px var(--f-head)}
.support span{font-size:12.5px;color:var(--blue)}
.support-d{display:flex;justify-content:flex-end;margin:-14px 0 6px}
.top .support{margin-left:auto;margin-right:10px}
@media (max-width:900px){.support-d{display:none}}
@media print{.support,.support-d{display:none!important}}