@charset "UTF-8";:root{--indigo-950: #2b1607;--indigo-900: #4a260b;--indigo-800: #e8741a;--indigo-600: #f08a30;--indigo-400: #f6b27a;--indigo-100: #fde3cc;--indigo-50: #fff3e8;--gold-600: #1f5fae;--gold-500: #2f7bd8;--gold-200: #b9d4f6;--gold-50: #eaf2fd;--green-700: #15803d;--green-600: #16a34a;--green-100: #d7f2df;--green-50: #ecf9f0;--red-700: #b91c1c;--red-600: #dc2626;--red-50: #fdeeee;--amber-700: #a16207;--amber-50: #fef7e6;--violet-600: #7c3aed;--blue-600: #2f7bd8;--paper: #fbf6f1;--surface: #ffffff;--surface-2: #fdf9f5;--neutral-soft: #f5eee7;--ink: #1c1917;--ink-2: #44403c;--muted: #7a716b;--line: #f0e5da;--line-strong: #e6d6c6;--primary: var(--indigo-800);--primary-hover: color-mix(in srgb, var(--indigo-800) 88%, #000);--primary-ink: color-mix(in srgb, var(--indigo-800) 78%, #000);--on-primary: #fff;--primary-soft: var(--indigo-50);--primary-line: color-mix(in srgb, var(--indigo-800) 35%, transparent);--sidebar-bg: color-mix(in srgb, var(--surface) 70%, var(--paper));--overlay: rgba(28, 25, 23, .45);--chart-1: var(--indigo-800);--chart-2: var(--gold-500);--chart-3: var(--green-600);--chart-4: var(--violet-600);--chart-5: #eab308;--chart-6: var(--red-600);--font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--base-size: 15px;--radius-s: 10px;--radius: 18px;--radius-l: 22px;--shadow-1: 0 1px 2px rgba(120, 72, 30, .05), 0 6px 18px -12px rgba(120, 72, 30, .18);--shadow-2: 0 24px 50px -20px rgba(80, 45, 15, .32), 0 4px 10px rgba(80, 45, 15, .06);--ease: cubic-bezier(.2, .8, .2, 1);--weave: linear-gradient(90deg, var(--indigo-800), var(--indigo-600) 40%, var(--gold-500) 75%, var(--green-600))}[data-accent=indigo]{--indigo-950: #0f1533;--indigo-900: #161e45;--indigo-800: #2f3f8f;--indigo-600: #4456b5;--indigo-400: #7d8ad0;--indigo-100: #e3e7f7;--indigo-50: #f0f2fb;--gold-500: #e3a919;--gold-600: #b5850c;--gold-50: #fdf6e2;--gold-200: #f6dd95}[data-accent=bleu]{--indigo-950: #071a33;--indigo-900: #0b2a52;--indigo-800: #1d64c8;--indigo-600: #3b82e0;--indigo-400: #6ea2ec;--indigo-100: #dceafd;--indigo-50: #eef5ff;--gold-500: #e8741a;--gold-600: #c25e10;--gold-50: #fff3e8;--gold-200: #fbcfa6}[data-accent=vert]{--indigo-950: #052016;--indigo-900: #08301f;--indigo-800: #12895a;--indigo-600: #1fa56f;--indigo-400: #5cc79a;--indigo-100: #d5f3e4;--indigo-50: #ecfaf3}[data-accent=rouge]{--indigo-950: #2a0708;--indigo-900: #460c0f;--indigo-800: #c62532;--indigo-600: #db3d49;--indigo-400: #ee7a83;--indigo-100: #fde0e2;--indigo-50: #fff1f2}[data-accent=rose]{--indigo-950: #2b0718;--indigo-900: #4a0c2a;--indigo-800: #d63384;--indigo-600: #e2559a;--indigo-400: #f08cbd;--indigo-100: #fde0ee;--indigo-50: #fff0f7;--gold-500: #8b5cf6;--gold-600: #6d3fe0;--gold-50: #f3eeff;--gold-200: #cfbdfb}[data-accent=orange]{--indigo-800: #ea580c;--indigo-600: #f97316;--indigo-400: #fdba74;--indigo-100: #ffedd5;--indigo-50: #fff7ed;--gold-500: #0ea5a4;--gold-600: #0b7f7e;--gold-50: #e4f8f8;--gold-200: #9fe0df}[data-accent=violet]{--indigo-950: #170a33;--indigo-900: #261252;--indigo-800: #6d3fe0;--indigo-600: #8257ea;--indigo-400: #a98cf3;--indigo-100: #ebe3fe;--indigo-50: #f5f1ff;--gold-500: #f0b429;--gold-600: #c48d0e;--gold-50: #fdf6e2}[data-accent=sahel]{--indigo-950: #1d140a;--indigo-900: #2b2116;--indigo-800: #b07914;--indigo-600: #c58d22;--indigo-400: #e3b86a;--indigo-100: #f8ebcf;--indigo-50: #fdf7ea;--gold-500: #2f8f83;--gold-600: #1f6b62;--gold-50: #e6f5f3;--gold-200: #a7ddd5}[data-mode=dark]{--paper: #0f0d0b;--surface: #1a1714;--surface-2: #211d19;--neutral-soft: #2a2520;--ink: #f5efe9;--ink-2: #d9cfc6;--muted: #a39890;--line: #2e2823;--line-strong: #3d352e;--primary: var(--indigo-800);--primary-hover: color-mix(in srgb, var(--indigo-800) 85%, #fff);--primary-ink: color-mix(in srgb, var(--indigo-800) 70%, #fff);--indigo-50: color-mix(in srgb, var(--indigo-800) 16%, var(--surface));--indigo-100: color-mix(in srgb, var(--indigo-800) 30%, var(--surface));--gold-50: color-mix(in srgb, var(--gold-500) 16%, var(--surface));--green-50: color-mix(in srgb, #22c55e 15%, var(--surface));--green-100: color-mix(in srgb, #22c55e 26%, var(--surface));--green-700: #4ade80;--green-600: #22c55e;--red-50: color-mix(in srgb, #f87171 15%, var(--surface));--red-700: #fca5a5;--red-600: #f87171;--amber-50: color-mix(in srgb, #f5a524 15%, var(--surface));--amber-700: #fbbf24;--sidebar-bg: var(--surface);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 20px -14px rgba(0, 0, 0, .8);--shadow-2: 0 24px 50px -18px rgba(0, 0, 0, .85), 0 3px 10px rgba(0, 0, 0, .4);--overlay: rgba(0, 0, 0, .6)}[data-size=large]{--base-size: 17px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:var(--base-size);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(1000px 520px at 100% -8%,color-mix(in srgb,var(--indigo-800) 9%,transparent),transparent 70%),radial-gradient(800px 480px at 0% 105%,color-mix(in srgb,var(--indigo-800) 6%,transparent),transparent 70%),var(--paper);background-attachment:fixed}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0;letter-spacing:-.015em}h1{font-size:clamp(1.4rem,1.15rem + .8vw,1.75rem);font-weight:800}h2{font-size:1.12rem;font-weight:750}h3{font-size:1rem;font-weight:700}p{margin:0}a{color:var(--primary-ink);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.center{text-align:center}.grow{flex:1}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.text-primary{color:var(--primary-ink)}.text-green{color:var(--green-700)}.text-red{color:var(--red-600)}::selection{background:color-mix(in srgb,var(--indigo-800) 25%,transparent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--indigo-800) 55%,transparent);outline-offset:2px;border-radius:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:650 .92rem var(--font-body);cursor:pointer;transition:background .15s,border-color .15s,transform .12s,box-shadow .18s,filter .15s,color .15s;white-space:nowrap;text-decoration:none!important;box-shadow:0 1px 2px #78481e0f}.btn:hover{border-color:var(--primary-line);color:var(--primary-ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 6px 14px -6px color-mix(in srgb,var(--primary) 75%,transparent)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-primary)}.btn.outline{border-color:var(--primary);color:var(--primary-ink);background:var(--surface)}.btn.outline:hover{background:var(--primary-soft)}.btn.pdf{background:var(--red-600);border-color:var(--red-600);color:#fff;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--red-600) 70%,transparent)}.btn.pdf:hover{filter:brightness(1.07);color:#fff}.btn.excel,.btn.success{background:var(--green-600);border-color:var(--green-600);color:#fff;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--green-600) 70%,transparent)}.btn.excel:hover,.btn.success:hover{filter:brightness(1.07);color:#fff}.btn.word{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.btn.word:hover{filter:brightness(1.07);color:#fff}.btn.gold{background:var(--gold-500);border-color:var(--gold-500);color:#fff}.btn.gold:hover{filter:brightness(1.07);color:#fff}.btn.danger{color:var(--red-600);border-color:color-mix(in srgb,var(--red-600) 35%,transparent)}.btn.danger:hover{background:var(--red-50);border-color:var(--red-600);color:var(--red-600)}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none!important}.btn.ghost:hover{background:var(--primary-soft)}.btn.sm{min-height:34px;padding:0 12px;font-size:.84rem;border-radius:10px}.btn.lg{min-height:52px;padding:0 24px;font-size:1.02rem;border-radius:14px}.btn.icon{width:42px;padding:0}.btn.sm.icon{width:34px}[data-mode=dark] .btn:not(.primary):not(.pdf):not(.excel):not(.success):not(.word):not(.gold){background:var(--surface-2)}[data-fx="3d"] .btn:not(.ghost):hover{transform:translateY(-1px)}.icon-btn{position:relative;width:42px;height:42px;flex:none;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s;text-decoration:none!important}.icon-btn:hover{border-color:var(--primary-line);color:var(--primary-ink)}.icon-btn .count{position:absolute;top:-7px;right:-7px;min-width:22px;height:20px;padding:0 6px;border-radius:99px;background:var(--red-600);color:#fff;font:800 .7rem/20px var(--font-body);text-align:center;box-shadow:0 0 0 2px var(--surface)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-weight:650;font-size:.86rem;color:var(--ink-2)}.field .hint{font-size:.8rem;color:var(--muted)}.field .error{font-size:.82rem;color:var(--red-600);font-weight:600}.input,select.input,textarea.input{width:100%;min-height:42px;padding:9px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:500 .93rem var(--font-body);transition:border-color .15s,box-shadow .15s}.input:hover,select.input:hover,textarea.input:hover{border-color:var(--primary-line)}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent)}.input.big,select.input.big,textarea.input.big{min-height:50px;font-size:1.02rem}.input.sm,select.input.sm,textarea.input.sm{min-height:34px;padding:5px 10px;font-size:.85rem;border-radius:10px}.input:disabled,select.input:disabled,textarea.input:disabled{background:var(--surface-2);color:var(--muted)}select.input{appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e8741a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}textarea.input{min-height:84px;resize:vertical}.input.num{text-align:right;font-family:var(--font-mono);font-size:.9rem}select.input option{background:var(--surface);color:var(--ink)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.92rem}.check input{width:19px;height:19px;accent-color:var(--primary);margin-top:1px;flex:none}.segmented{display:inline-flex;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;flex-wrap:wrap;box-shadow:var(--shadow-1)}.segmented button{border:0;background:transparent;min-height:36px;padding:0 16px;border-radius:10px;font:650 .88rem var(--font-body);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s,box-shadow .15s}.segmented button:hover{color:var(--primary-ink)}.segmented button.on{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 10px -4px color-mix(in srgb,var(--primary) 70%,transparent)}.segmented button .count{background:var(--primary-soft);color:var(--primary-ink);border-radius:99px;padding:0 7px;font-size:.74rem;font-weight:700}.segmented button.on .count{background:#ffffff40;color:#fff}.tabs-bar{display:flex;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow-1)}.tabs-bar button,.tabs-bar a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:11px;border:0;background:transparent;font:650 .9rem var(--font-body);color:var(--ink-2);cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:background .15s,color .15s}.tabs-bar button:hover,.tabs-bar a:hover{color:var(--primary-ink);background:var(--surface-2)}.tabs-bar button.on,.tabs-bar button.active,.tabs-bar a.on,.tabs-bar a.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000000f,0 4px 12px -6px #78481e4d;border:1px solid var(--line)}.tabs-bar button.on app-icon,.tabs-bar button.active app-icon,.tabs-bar a.on app-icon,.tabs-bar a.active app-icon{color:var(--primary-ink)}.tabs-bar button .count,.tabs-bar a .count{background:var(--primary-soft);color:var(--primary-ink);border-radius:99px;padding:0 7px;font-size:.74rem;font-weight:700}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.filter-bar .f{display:flex;align-items:center;gap:10px}.filter-bar .f>label,.filter-bar .f>span.lbl{font:750 .74rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.filter-bar .input{min-height:38px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.card.highlight{border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent),var(--shadow-1)}.card-pad{padding:20px 22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{font-size:1.02rem;font-weight:750}.card-head .sub,.card-head p{color:var(--muted);font-size:.84rem;margin-top:2px}.card-head .total{font:800 1.05rem var(--font-display);color:var(--primary-ink)}.tilt{position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}[data-fx="3d"] .tilt{transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}[data-fx="3d"] .tilt.tilting{transition:transform .08s linear;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(6px);box-shadow:var(--shadow-2)}.ico-3d,.ico-tile{display:grid;place-items:center;border-radius:14px;color:var(--primary-ink);background:var(--primary-soft)}.ico-tile{width:46px;height:46px;flex:none}.ico-tile.sm{width:36px;height:36px;border-radius:11px}.ico-tile.green,.ico-3d.green{background:var(--green-50);color:var(--green-700)}.ico-tile.red,.ico-3d.red{background:var(--red-50);color:var(--red-600)}.ico-tile.blue,.ico-3d.blue,.ico-3d.gold{background:var(--gold-50);color:var(--gold-600)}.ico-tile.amber,.ico-3d.amber{background:var(--amber-50);color:var(--amber-700)}.ico-tile.grey,.ico-3d.grey{background:var(--neutral-soft);color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.kpi{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);min-width:0;color:var(--ink);text-decoration:none!important;transition:border-color .15s,box-shadow .2s,transform .2s}.kpi.highlight{border-color:color-mix(in srgb,var(--primary) 55%,transparent)}.kpi.link{cursor:pointer}.kpi.link:hover{border-color:var(--primary-line);transform:translateY(-2px);box-shadow:var(--shadow-2)}.kpi .kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.kpi .kpi-top .delta{max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis}.kpi .kpi-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;font:800 clamp(1.45rem,1.1rem + .8vw,1.9rem)/1.1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}.kpi .kpi-value .unit{font:700 .82rem var(--font-body);color:var(--muted);letter-spacing:0}.kpi .kpi-label{font:750 .74rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kpi .kpi-foot{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:auto}.kpi .kpi-foot b,.kpi .kpi-foot strong{color:var(--ink);font-weight:750}.delta{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font:750 .78rem var(--font-body);white-space:nowrap;background:var(--neutral-soft);color:var(--ink-2)}.delta.up,.delta.good{background:var(--green-50);color:var(--green-700)}.delta.down,.delta.bad{background:var(--red-50);color:var(--red-600)}.delta.warn{background:var(--amber-50);color:var(--amber-700)}.delta.primary{background:var(--primary-soft);color:var(--primary-ink)}.bar{height:6px;border-radius:99px;background:var(--neutral-soft);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .6s var(--ease)}.bar.green>i{background:var(--green-600)}.bar.red>i{background:var(--red-600)}.bar.blue>i{background:var(--gold-500)}.section-title{display:flex;align-items:center;gap:12px;margin:26px 0 14px}.section-title .dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex:none}.section-title .dot.dark{background:var(--ink)}.section-title .dot.green{background:var(--green-600)}.section-title .dot.blue{background:var(--gold-500)}.section-title .t{font:800 .86rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.section-title .d{font-size:.84rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-title:after{content:"";flex:1;height:1px;background:var(--line-strong);min-width:20px}.chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:99px;font:700 .86rem var(--font-body);background:var(--primary-soft);color:var(--primary-ink);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);white-space:nowrap}.chip.neutral{background:var(--surface);color:var(--ink-2);border-color:var(--line-strong)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:.9rem}table.table th{text-align:left;font:750 .72rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:13px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}table.table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.table tbody tr{transition:background .12s}table.table tbody tr.clickable{cursor:pointer}table.table tbody tr:hover td{background:color-mix(in srgb,var(--primary-soft) 70%,transparent)}table.table tbody tr:last-child td{border-bottom:0}table.table td.num,table.table th.num{text-align:right}table.table td.center,table.table th.center{text-align:center}table.table td.num b,table.table td.num strong{font-weight:800}table.table tfoot td{font-weight:800;background:var(--surface-2);border-top:2px solid var(--line-strong)}table.table tr.tint-ok td{background:color-mix(in srgb,var(--green-50) 85%,transparent)}table.table tr.tint-bad td{background:color-mix(in srgb,var(--red-50) 85%,transparent)}table.table tr.tint-warn td{background:color-mix(in srgb,var(--amber-50) 85%,transparent)}table.table td.mono,table.table td .mono{white-space:nowrap}@media(max-width:760px){table.table th,table.table td{padding:10px}}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;font:700 .77rem var(--font-body);white-space:nowrap;background:var(--primary-soft);color:var(--primary-ink)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.green{background:var(--green-50);color:var(--green-700)}.badge.red{background:var(--red-50);color:var(--red-600)}.badge.amber{background:var(--amber-50);color:var(--amber-700)}.badge.gold,.badge.blue{background:var(--gold-50);color:var(--gold-600)}.badge.grey{background:var(--neutral-soft);color:var(--muted)}.badge.plain:before{display:none}.alert{display:flex;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid;font-size:.9rem;align-items:flex-start}.alert.info{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--primary-ink)}.alert.warn{background:var(--amber-50);border-color:color-mix(in srgb,var(--amber-700) 28%,transparent);color:var(--amber-700)}.alert.error{background:var(--red-50);border-color:color-mix(in srgb,var(--red-600) 28%,transparent);color:var(--red-700)}.alert.ok{background:var(--green-50);border-color:color-mix(in srgb,var(--green-600) 28%,transparent);color:var(--green-700)}.alert strong{display:block;margin-bottom:2px}.page{padding:26px 30px 48px;max-width:1480px;margin:0 auto;animation:page-in .4s var(--ease)}@media(max-width:700px){.page{padding:18px 16px 80px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head .eyebrow{font:750 .74rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--primary-ink);margin-bottom:6px;display:inline-flex;align-items:center;gap:8px}.page-head .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary)}.page-head .sub{color:var(--muted);margin-top:4px;font-size:.92rem}.page-head .actions,.page-head>.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty .empty-icon{width:60px;height:60px;border-radius:18px;background:var(--primary-soft);color:var(--primary-ink);display:grid;place-items:center;margin:0 auto 14px}.empty h3{color:var(--ink);margin-bottom:6px}.empty p{max-width:420px;margin:0 auto 16px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}.toolbar+.toolbar{border-top:0;padding-top:4px}.search{position:relative;flex:1;min-width:220px;max-width:420px}.search .input{padding-left:40px}.search .ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}.card>.table-wrap:last-child,.card>.table-wrap+.pager{border-radius:0 0 var(--radius) var(--radius)}.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px;font-size:.9rem}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}.who{display:flex;align-items:center;gap:10px;min-width:0}.who .av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font:800 .74rem var(--font-display);color:var(--primary-ink);background:var(--primary-soft)}.who .nm{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.skeleton{background:linear-gradient(90deg,var(--neutral-soft) 0,var(--surface-2) 40%,var(--neutral-soft) 80%);background-size:400px 100%;animation:shimmer 1.2s infinite linear;border-radius:12px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.weave{height:5px;background:var(--weave)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tilt{transform:none!important}}@media print{.no-print{display:none!important}body{background:#fff!important}}
