.bar{height:6px;background:var(--surface-sunk);overflow:hidden}.bar,.bar>i{border-radius:3px}.bar>i{display:block;height:100%;background:var(--brand)}.bar.warn>i{background:var(--amber)}.dtable{display:flex;flex-direction:column}.trow{display:grid;grid-template-columns:var(--cols,1fr);gap:12px;align-items:center;min-height:44px;padding:0 12px;border-bottom:1px solid var(--border-soft);position:relative}.trow.head{min-height:34px;height:34px;font-size:12px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--border);background:transparent}.trow.hover,a.trow:hover{background:var(--brand-wash)}.trow>*{min-width:0}.right{text-align:right;justify-content:flex-end}.card.flush .trow,.card.flush .trow.head{padding:0 16px}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}@media (max-width:767px){.dtable{margin:0 -16px}.trow.head{display:none}.trow{padding:0 16px}.card.flush .dtable{margin:0}.trow.stack-sm{display:block;padding:12px 16px}.trow.stack-sm>*{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.trow.stack-sm>[data-label]:before{content:attr(data-label);color:var(--ink-4);font-size:12px;font-weight:500}}.kpi-row{display:grid;gap:16px;margin-bottom:16px}.kpi-row.lg{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row.sm{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);padding:14px 16px;box-shadow:var(--shadow-1);min-width:0;display:flex;flex-direction:column;gap:4px}.k-label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);font-weight:500}.k-label .i{color:var(--brand)}.k-val{font:700 30px/36px var(--font-head);letter-spacing:-.02em;color:var(--ink-1);white-space:nowrap}.k-val small{font:500 13px var(--font-body);color:var(--ink-3);letter-spacing:0;margin-left:4px}.k-foot{font-size:12.5px;color:var(--ink-3)}.k-bar{margin-top:6px}.k-bar .bar{height:6px}.k-bar .k-cap{justify-content:space-between;margin-top:5px;font-size:12px}.k-bar .k-cap,.stat-lines{display:flex;color:var(--ink-3)}.stat-lines{flex-direction:column;gap:3px;margin-top:2px;font-size:12.5px}.stat-lines .faint{font-size:12px}@media (max-width:767px){.kpi-row.lg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-row.sm{grid-template-columns:minmax(0,1fr);gap:10px}.kpi{padding:12px}.k-val{font-size:25px;line-height:30px}}.callout{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--r-m);border:1px solid var(--border);background:var(--callout-bg);font-size:13px;color:var(--ink-2)}.callout .i{margin-top:1px;flex:none}.callout .txt{flex:1;min-width:0}.callout b{font-weight:650}.callout.amber{background:var(--callout-amber-bg);border-color:var(--callout-amber-border);color:var(--callout-amber-fg)}.callout.info{background:var(--callout-info-bg);border-color:var(--callout-info-border);color:var(--callout-info-fg)}.callout.red{background:var(--callout-red-bg);border-color:var(--callout-red-border);color:var(--callout-red-fg)}.callout.green{background:var(--callout-green-bg);border-color:var(--callout-green-border);color:var(--callout-green-fg)}.overlay{position:fixed;inset:0;z-index:70;background:var(--scrim-2);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:480px;max-width:100%;max-height:100%;background:var(--surface-raised);border-radius:14px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden}.modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-soft)}.modal-h h3{font-size:16px}.modal-b{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.55;color:var(--ink-2)}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-soft);background:var(--soft-1)}@media (max-width:767px){.overlay{padding:12px}}.menu{background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:4px;min-width:176px}.menu a,.menu button{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 10px;border-radius:7px;font-size:13px;color:var(--ink-2);text-align:left}.menu a:hover,.menu button:hover{background:var(--brand-wash)}.menu .danger{color:var(--err)}.menu hr{border:0;border-top:1px solid var(--border-soft);margin:4px 0}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 24px;color:var(--ink-3)}.empty .e-ico{width:48px;height:48px;border-radius:50%;background:var(--brand-wash);color:var(--brand);display:grid;place-items:center;margin-bottom:6px}.empty h3{font-size:15px;color:var(--ink-1)}.empty p{max-width:340px}