/* V23: operational dashboard, safe import, audit and bill quality */
:root{--v23-ink:#142c4d;--v23-line:#dce7f3;--v23-cyan:#2c7aae}
body{background:linear-gradient(160deg,#f2f6fd 0%,#f7faff 56%,#f1f5fb 100%)}
.card{box-shadow:0 12px 40px rgba(26,51,85,.06);border-color:#dfe8f3}
.kpi{transition:transform .15s ease,box-shadow .15s ease}
.kpi:hover{transform:translateY(-2px);box-shadow:0 14px 35px #17395814}
.v23-command{background:linear-gradient(110deg,#102a4d 5%,#1d4474 65%,#2f6292 100%);color:#fff;border-radius:19px;padding:21px 25px;margin:0 0 19px;display:flex;justify-content:space-between;gap:15px;align-items:center;box-shadow:0 16px 30px rgba(13,43,82,.17)}
.v23-command h2{color:#fff;font-size:19px;margin:2px 0 4px}
.v23-command .v23-muted{color:#cee1f7;font-size:12px}
.v23-command .v23-badge{display:inline-flex;padding:3px 10px;background:#ffffff1e;border:1px solid #ffffff44;border-radius:30px;font-size:11px;white-space:nowrap}
.v23-command-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v23-command-actions .btn{background:#f2f8ff;color:#133659;border:0;min-height:39px}
.v23-alert-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.v23-alert{display:flex;gap:10px;align-items:center;border:1px solid #dce7f4;background:white;border-radius:13px;padding:12px 14px;min-height:79px;box-shadow:0 5px 20px #19385809}
.v23-alert .v23-alert-symbol{display:grid;place-items:center;min-width:32px;height:32px;background:#eaf2fb;border-radius:10px;color:#1f5787;font-size:18px}
.v23-alert strong{display:block;color:#193653;font-size:15px;line-height:1.4}
.v23-alert span{display:block;color:#71859e;font-size:11px}
.v23-alert.warn{border-color:#f2ddad;background:#fffaf0}.v23-alert.warn .v23-alert-symbol{background:#fff0cf;color:#ac6b15}
.v23-alert.danger{border-color:#efd0d2;background:#fff6f5}.v23-alert.danger .v23-alert-symbol{background:#fae4e8;color:#b84554}
.v23-action-panel{border:1px solid #dbe6f2;background:white;border-radius:15px;padding:16px 18px;margin-bottom:18px;box-shadow:0 8px 24px #203d6010}
.v23-action-panel h3{font-size:15px;margin:0 0 9px}.v23-action-panel .v23-action-list{display:flex;gap:8px;flex-wrap:wrap}
.v23-action-item{border:1px solid #e2e9f3;border-radius:9px;padding:9px 11px;display:flex;gap:8px;align-items:center;font-size:12px;background:#f8fbff;min-height:40px}
.v23-action-item b{color:#12375f;font-size:16px}.v23-action-item .btn{min-height:30px;padding:4px 10px}
.v23-quality{margin:0 0 18px;padding:15px 17px;border:1px solid #cddff2;background:#f4f9ff;border-radius:13px}
.v23-quality h3{font-size:14px;margin:0 0 6px}.v23-quality .v23-quality-list{margin:7px 0 5px;padding:0 21px 0 0;font-size:12px;line-height:2}
.v23-quality li.v23-stop{color:#a74850}.v23-quality li.v23-info{color:#6b6471}
.v23-import-review{border:1px solid #a2c5e6;background:#f0f7ff;border-radius:13px;padding:15px;margin:12px 0}
.v23-import-review .v23-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.v23-import-review .v23-side{border:1px solid #d0e1f0;background:#fff;border-radius:11px;padding:11px;font-size:12px}
.v23-import-review .v23-side b{font-size:13px;color:#102f57}
.v23-import-review ul{font-size:12px;line-height:2;margin:8px 0;padding:0 21px 0 0}
.v23-import-review .v23-compare strong{display:block;font-size:16px;color:#153e6a}
.v23-log-table{max-height:390px;overflow:auto}
.v23-history-role{font-size:10px;color:#637993}
.v23-role-technical{border-right:4px solid #3f86c5}.v23-role-senior{border-right:4px solid #8066bf}.v23-role-director{border-right:4px solid #c3434d}
@media(max-width:940px){.v23-alert-row{grid-template-columns:1fr 1fr}.v23-command{flex-direction:column;align-items:stretch}.v23-command-actions{justify-content:flex-start}}
@media(max-width:560px){.v23-alert-row{grid-template-columns:1fr}.v23-import-review .v23-compare{grid-template-columns:1fr}.v23-command{padding:18px}}
@media print{.v23-command,.v23-alert-row,.v23-action-panel,.v23-quality,.v23-import-review{display:none!important}}
