@charset "UTF-8";.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{margin:6px 0 4px;font-size:26px;font-weight:700;color:var(--ink)}.page-head p{margin:0;color:var(--ink-muted);font-size:14px}.crumbs{display:flex;gap:8px;font-size:13px;color:var(--ink-muted)}.crumbs .sep{color:var(--ink-faint)}.crumbs .current{color:var(--primary);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.kpi__icon{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center}.kpi__icon--navy{color:var(--primary);background:var(--primary-soft)}.kpi__icon--gold{color:var(--accent-ink);background:var(--accent-soft)}.kpi__icon--green{color:var(--success);background:var(--success-soft)}.kpi__icon--amber{color:var(--warning);background:var(--warning-soft)}.kpi__label{display:block;font-size:13px;color:var(--ink-muted);margin-bottom:2px}.kpi__value{font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.kpi__value small{font-size:12px;font-weight:500;color:var(--ink-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.toolbar select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 12px;min-width:170px;cursor:pointer}.toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.search{position:relative;flex:1 1 320px;max-width:460px}.search svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint)}.search input{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;padding-inline-start:40px}.search input:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.table-wrap{overflow:auto;max-height:calc(100vh - 380px);min-height:260px;container-type:inline-size}.table-wrap table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table-wrap th,.table-wrap td{padding:12px 16px;text-align:start;white-space:nowrap;border-bottom:1px solid var(--border)}.table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--table-head);color:var(--ink-soft);font-size:12.5px;font-weight:700;border-bottom:1px solid var(--border-strong)}.table-wrap tbody tr{transition:background .12s}.table-wrap tbody tr td{background:var(--surface);color:var(--ink-soft)}.table-wrap tbody tr:nth-child(2n) td{background:var(--surface-zebra)}.table-wrap tbody tr:hover td{background:var(--row-hover)}.sticky-start{position:sticky;inset-inline-start:0;z-index:1;border-inline-end:1px solid var(--border)}thead .sticky-start,thead .sticky-end{z-index:3}.sticky-end{position:sticky;inset-inline-end:0;z-index:1;width:1%;border-inline-start:1px solid var(--border)}.num{text-align:end;font-variant-numeric:tabular-nums}td.ltr{text-align:left}td.num.ltr,[dir=rtl] td.ltr{text-align:right}[dir=rtl] td.num.ltr{text-align:left}.strong{color:var(--ink)!important;font-weight:600}.mono{font-family:var(--font-mono);font-size:12.5px}.notes{max-width:220px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--active{color:var(--success);background:var(--success-soft)}.badge--expiring{color:var(--warning);background:var(--warning-soft)}.badge--expired{color:var(--danger);background:var(--danger-soft)}.chip{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;color:var(--primary);background:var(--primary-soft)}.row-actions{display:flex;gap:4px}.empty{padding:56px 16px;white-space:normal;background:var(--surface)!important}.empty__box{position:sticky;inset-inline-start:16px;width:calc(100cqi - 32px);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink-faint);text-align:center}.empty__box strong{color:var(--ink);font-size:15px;margin-top:6px}.empty__box span{color:var(--ink-muted);font-size:13px}.empty__box .btn{margin-top:10px}.table-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px 20px;font-size:13px;color:var(--ink-muted);background:var(--surface-muted)}.table-foot strong{color:var(--ink)}.confirm{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:16px}.confirm__backdrop{position:absolute;inset:0;background:#0814288c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm__box{position:relative;width:min(420px,100%);padding:28px;text-align:center;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.confirm__box h3{margin:14px 0 6px;font-size:18px;color:var(--ink)}.confirm__box p{margin:0;color:var(--ink-muted);font-size:14px}.confirm__icon{width:52px;height:52px;margin:0 auto;border-radius:50%;display:grid;place-items:center;color:var(--danger);background:var(--danger-soft)}.confirm__actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.confirm__actions .btn{min-width:110px;justify-content:center}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius);background:var(--ink);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-xl);animation:toast-in .25s ease-out}.toast svg{color:#4ade80}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.kpis{grid-template-columns:1fr}.page-head .btn{width:100%;justify-content:center}.toolbar select{flex:1 1 140px;min-width:0}.table-wrap{max-height:none}}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px 16px}.modal__backdrop{position:absolute;inset:0;background:#0814288c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-fade .18s ease-out}.modal__box{position:relative;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:modal-rise .22s cubic-bezier(.2,.8,.2,1)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}}.spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid var(--primary-soft);border-top-color:var(--primary);animation:spin .7s linear infinite}.spinner--lg{width:36px;height:36px;border-width:3px;margin-bottom:6px}.spinner--light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.count{display:inline-block;min-width:24px;padding:1px 8px;font-size:12px;font-weight:700;text-align:center;color:var(--ink-soft);background:var(--border);border-radius:999px;font-variant-numeric:tabular-nums}.count--ok{color:var(--success);background:var(--success-soft)}.count--bad{color:var(--danger);background:var(--danger-soft)}.muted{color:var(--ink-muted)!important}.btn:disabled{opacity:.55;cursor:not-allowed}.section-head{display:flex;align-items:center;gap:10px;padding:18px 20px 2px}.section-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.source{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.source--manual{color:var(--primary);background:var(--primary-soft)}.source--upload{color:var(--success);background:var(--success-soft)}.est{display:inline-grid;place-items:center;width:18px;height:18px;margin-inline-start:4px;font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:50%;cursor:help}.badge--pending{color:var(--warning);background:var(--warning-soft)}.badge--won{color:var(--success);background:var(--success-soft)}.badge--lost{color:var(--danger);background:var(--danger-soft)}.badge--unknown{color:var(--ink-muted);background:var(--surface-muted)}:root{--primary: #0f3460;--primary-hover: #0b2849;--primary-soft: #e8eef7;--accent: #c9a227;--accent-ink: #8a6d12;--accent-soft: #f8f1dc;--sidebar: #0d2747;--sidebar-deep: #081a31;--ink: #0f1b2d;--ink-soft: #334155;--ink-muted: #64748b;--ink-faint: #94a3b8;--bg: #f3f5f9;--surface: #ffffff;--surface-muted: #f8fafc;--surface-zebra: #fbfcfe;--table-head: #f1f4f9;--row-hover: #f0f5fc;--border: #e3e8ef;--border-strong: #cfd7e3;--focus-ring: rgb(15 52 96 / .16);--success: #15803d;--success-soft: #e7f6ec;--warning: #b45309;--warning-soft: #fdf3e2;--danger: #c0262d;--danger-soft: #fdeceb;--radius: 9px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgb(15 27 45 / .04), 0 1px 3px rgb(15 27 45 / .06);--shadow-xl: 0 24px 60px -12px rgb(8 20 40 / .35);--font: "IBM Plex Sans", "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;--font-mono: "IBM Plex Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}.ltr{direction:ltr;unicode-bidi:isolate}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:14px;font-weight:600;padding:10px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn--primary{color:#fff;background:var(--primary);box-shadow:0 1px 2px #0f34604d}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost{color:var(--ink-soft);background:var(--surface);border-color:var(--border-strong)}.btn--ghost:hover{background:var(--surface-muted);border-color:var(--ink-faint)}.btn--danger{color:#fff;background:var(--danger)}.btn--danger:hover{background:#a11f25}.btn--lg{padding:12px 22px}.btn--sm{padding:7px 14px;font-size:13px}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:var(--primary-soft);color:var(--primary)}.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
