:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-50:#eef8ff;--brand-100:#d9effe;--brand-200:#b4dffd;--brand-300:#7cc8fc;--brand-500:#26abfb;--brand-600:#0a78c4;--brand-700:#085f9c;--brand-900:#0d2a45;--brand-950:#081c30;--ground:#f3f6f9;--surface:#fff;--surface-2:#e9eef3;--surface-3:#dde5ec;--line:#d5dde5;--line-strong:#b8c4cf;--ink:#0f1b26;--ink-soft:#3a4a58;--muted:#5f6f7d;--muted-soft:#8d9baa;--overlay:#0916237a;--success:#1e8e5a;--success-soft:#e1f4ea;--success-ink:#14603d;--warning:#c27a0e;--warning-soft:#fbf0dc;--warning-ink:#8a5608;--danger:#c93a2e;--danger-soft:#fbe7e4;--danger-ink:#952a21;--info:var(--brand-600);--info-soft:var(--brand-100);--info-ink:var(--brand-700);--primary-bg:var(--brand-600);--primary-ink:#fff;--primary-hover:var(--brand-700);--focus-ring:0 0 0 3px #26abfb59;--sidebar-bg:var(--brand-900);--sidebar-ink:#a9bccb;--sidebar-ink-strong:#fff;--sidebar-line:#ffffff14;--sidebar-hover:#ffffff0f;--sidebar-active:#26abfb29;--avatar-bg:var(--brand-100);--avatar-ink:var(--brand-700);--chart-1:#26abfb;--chart-2:#0d2a45;--chart-3:#7cc8fc;--chart-4:#c27a0e;--chart-5:#1e8e5a;--chart-6:#c93a2e;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--radius:var(--r-sm);--sh-1:0 1px 2px #0f1b260f;--sh-2:0 4px 14px #0f1b2614;--sh-3:0 12px 32px #0f1b2624;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--font-head:"Cairo", "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;--font-body:"IBM Plex Sans Arabic", "Cairo", "Segoe UI", Tahoma, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--sidebar-width:256px;--sidebar-rail:76px;--topbar-height:64px;--content-max:1440px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0b1219;--surface:#121b25;--surface-2:#192430;--surface-3:#22303d;--line:#26333f;--line-strong:#36475a;--ink:#e8eef3;--ink-soft:#bcc8d3;--muted:#97a6b3;--muted-soft:#6f7f8d;--overlay:#0000009e;--brand-50:#0f2438;--brand-100:#123152;--brand-200:#164470;--brand-300:#1f6aa8;--brand-600:#4db8fc;--brand-700:#7ccafd;--success:#4ec58a;--success-soft:#133124;--success-ink:#8fe0b4;--warning:#e5b45a;--warning-soft:#3a2c14;--warning-ink:#f3cf8a;--danger:#f08a7a;--danger-soft:#3d1f1a;--danger-ink:#f7b0a4;--primary-bg:var(--brand-500);--primary-ink:#06202f;--primary-hover:#55bdfc;--sidebar-bg:#0a1826;--sidebar-ink:#9db0c0;--avatar-bg:#123152;--avatar-ink:#9ed6fd;--chart-2:#7cc8fc;--chart-3:#164470;--sh-1:0 1px 2px #0006;--sh-2:0 4px 14px #00000073;--sh-3:0 12px 32px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0b1219;--surface:#121b25;--surface-2:#192430;--surface-3:#22303d;--line:#26333f;--line-strong:#36475a;--ink:#e8eef3;--ink-soft:#bcc8d3;--muted:#97a6b3;--muted-soft:#6f7f8d;--overlay:#0000009e;--brand-50:#0f2438;--brand-100:#123152;--brand-200:#164470;--brand-300:#1f6aa8;--brand-600:#4db8fc;--brand-700:#7ccafd;--success:#4ec58a;--success-soft:#133124;--success-ink:#8fe0b4;--warning:#e5b45a;--warning-soft:#3a2c14;--warning-ink:#f3cf8a;--danger:#f08a7a;--danger-soft:#3d1f1a;--danger-ink:#f7b0a4;--primary-bg:var(--brand-500);--primary-ink:#06202f;--primary-hover:#55bdfc;--sidebar-bg:#0a1826;--sidebar-ink:#9db0c0;--avatar-bg:#123152;--avatar-ink:#9ed6fd;--chart-2:#7cc8fc;--chart-3:#164470;--sh-1:0 1px 2px #0006;--sh-2:0 4px 14px #00000073;--sh-3:0 12px 32px #0000008c}:root{--black:var(--ink);--white:var(--surface);--gray-light:var(--surface-2);--gray-mid:var(--muted);--gray-dark:var(--ink-soft);--accent:var(--brand-500);--accent-ink:var(--primary-ink)}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-weight:400;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);text-wrap:balance;font-weight:700;line-height:1.3}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}button{cursor:pointer;color:inherit;font-family:inherit}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:var(--fs-base);color:var(--ink);background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--muted-soft)}img,svg{max-width:100%}ul,ol{list-style:none}code,kbd,pre{font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ltr{direction:ltr;unicode-bidi:isolate}:root[dir=ltr] .icon-mirror,:root[dir=rtl] .icon-mirror-rtl{transform:scaleX(-1)}.tnum{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-header-actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.page-title{font-size:var(--fs-2xl);letter-spacing:0;margin-bottom:2px;font-weight:800}.page-subtitle{font-size:var(--fs-md);color:var(--muted);margin-bottom:var(--s-2)}.page-header .page-subtitle{margin-bottom:0}.breadcrumb{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--brand-600);text-decoration:none}.breadcrumb-sep{color:var(--muted-soft)}.section-heading{font-size:var(--fs-lg);margin-bottom:var(--s-4);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-1)}.card-title{font-size:var(--fs-lg);margin-bottom:var(--s-4);font-weight:700}.card-header-row{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.card-header-row .card-title{margin-bottom:0}.card-flush{padding:0;overflow:hidden}.btn{min-height:40px;font-family:var(--font-head);font-size:var(--fs-md);border-radius:var(--r-md);background:var(--surface);color:var(--ink);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn svg{flex-shrink:0;width:18px;height:18px}.btn-primary{background:var(--primary-bg);color:var(--primary-ink);border-color:var(--primary-bg)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn-ghost{color:var(--ink-soft);border-color:var(--line);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-soft{background:var(--brand-50);color:var(--brand-600);border-color:#0000}.btn-soft:hover:not(:disabled){background:var(--brand-100)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){filter:brightness(.94)}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-ink);border-color:#0000}.btn-sm{min-height:32px;font-size:var(--fs-sm);border-radius:var(--r-sm);gap:6px;padding:0 12px}.btn-sm svg{width:15px;height:15px}.btn-lg{min-height:48px;font-size:var(--fs-base);border-radius:var(--r-md);padding:0 24px}.btn-block{width:100%}.btn-icon{border-radius:var(--r-md);width:38px;min-height:38px;color:var(--ink-soft);background:0 0;border-color:#0000;padding:0}.btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-icon.btn-sm{width:30px;min-height:30px}.chip{font-family:var(--font-head);font-size:var(--fs-sm);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{background:var(--surface-2);color:var(--ink)}.chip.active,.chip.chip-active{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.chip-readonly{cursor:default}.chip-readonly:hover{background:var(--surface);color:var(--ink-soft)}.chip-readonly.chip-active:hover{background:var(--brand-600);color:#fff}.filter-chips{gap:var(--s-2);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.tabs{border-bottom:1px solid var(--line);margin-bottom:var(--s-6);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font-family:var(--font-head);font-size:var(--fs-md);color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 16px;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex;position:relative}.tab:hover{color:var(--ink)}.tab.active{color:var(--brand-600);border-bottom-color:var(--brand-500)}.tab-count{border-radius:var(--r-pill);background:var(--surface-2);min-width:20px;height:20px;color:var(--ink-soft);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.tab.active .tab-count{background:var(--brand-100);color:var(--brand-700)}.filter-bar{gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;align-items:center;display:flex}.filter-bar select,.filter-bar input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:start;min-height:38px;font-size:var(--fs-md);padding:0 14px}.view-toggle{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.view-toggle button{border-radius:var(--r-sm);min-height:30px;font-family:var(--font-head);font-size:var(--fs-sm);color:var(--muted);background:0 0;border:none;padding:0 14px;font-weight:700;transition:background .15s,color .15s}.view-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}.form-group{margin-bottom:var(--s-4);flex-direction:column;gap:6px;display:flex}.form-group label,.form-label{font-family:var(--font-head);font-size:var(--fs-sm);color:var(--ink-soft);font-weight:700}.form-group input,.form-group select,.form-group textarea,.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:42px;color:var(--ink);font-size:var(--fs-base);text-align:start;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.form-group textarea,.textarea{resize:vertical;min-height:90px;line-height:1.6}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.input:focus,.select:focus,.textarea:focus,.filter-bar select:focus,.filter-bar input:focus{border-color:var(--brand-500);box-shadow:var(--focus-ring);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--surface-2);color:var(--muted)}.form-row{gap:0 var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-actions{gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.form-error{border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger-ink);font-size:var(--fs-sm);margin-bottom:var(--s-3);align-items:flex-start;gap:8px;padding:10px 12px;line-height:1.5;display:flex}.form-hint,.hint{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.5;display:block}.muted-text{color:var(--muted);font-size:var(--fs-sm)}.modal-hint{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s-4);line-height:1.6}.callout{border-radius:var(--r-md);background:var(--brand-50);color:var(--ink-soft);border:1px solid var(--brand-100);font-size:var(--fs-sm);margin-bottom:var(--s-4);align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.6;display:flex}.callout svg{width:18px;height:18px;color:var(--brand-600);flex-shrink:0;margin-top:2px}.callout.warning{background:var(--warning-soft);color:var(--warning-ink);border-color:#0000}.callout.warning svg{color:var(--warning)}.course-hint{font-size:var(--fs-sm);color:var(--ink-soft);margin-bottom:var(--s-4);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);padding:10px 14px;line-height:1.6}.badge{border-radius:var(--r-pill);font-family:var(--font-head);font-size:var(--fs-xs);white-space:nowrap;background:var(--surface-2);color:var(--ink-soft);align-items:center;gap:6px;padding:3px 10px;font-weight:700;line-height:1.5;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.tone-neutral{background:var(--surface-2);color:var(--ink-soft)}.badge.tone-brand{background:var(--brand-100);color:var(--brand-700)}.badge.tone-success{background:var(--success-soft);color:var(--success-ink)}.badge.tone-warning{background:var(--warning-soft);color:var(--warning-ink)}.badge.tone-danger{background:var(--danger-soft);color:var(--danger-ink)}.badge.tone-muted{color:var(--muted);border:1px solid var(--line);background:0 0}.phase-badge{border-radius:var(--r-pill);font-family:var(--font-head);font-size:var(--fs-xs);background:var(--surface-2);color:var(--ink-soft);align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.track-pill{border-radius:var(--r-pill);font-family:var(--font-head);font-size:var(--fs-xs);background:var(--brand-900);color:#fff;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.avatar{background:var(--avatar-bg);width:32px;height:32px;color:var(--avatar-ink);font-family:var(--font-head);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:44px;height:44px;font-size:15px}.avatar-initials{background:var(--avatar-bg);width:32px;height:32px;color:var(--avatar-ink);font-family:var(--font-head);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:10px;font-size:12px;font-weight:800;display:inline-flex}.empty-state{color:var(--muted);text-align:center;padding:var(--s-7) var(--s-4);font-size:var(--fs-md)}.empty-block{padding:var(--s-8) var(--s-4);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-block-icon{background:var(--brand-50);width:52px;height:52px;color:var(--brand-600);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.empty-block-icon svg{width:24px;height:24px}.empty-block h3{font-size:var(--fs-base);font-weight:700}.empty-block p{font-size:var(--fs-sm);color:var(--muted);max-width:40ch;line-height:1.6}.empty-block .btn{margin-top:6px}.skeleton{background:var(--surface-2);border-radius:var(--r-sm);min-height:14px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.page-loading{gap:var(--s-4);flex-direction:column;display:flex}.page-loading .skeleton-title{width:240px;height:28px}.page-loading .skeleton-row{border-radius:var(--r-md);height:56px}.page-loading .skeleton-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.page-loading .skeleton-tile{border-radius:var(--r-lg);height:110px}.spinner{border:2px solid var(--line-strong);border-top-color:var(--brand-500);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.grid-2{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid-auto{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}}.divider{background:var(--line);height:1px;margin:var(--s-4) 0}.kbd{border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);font-family:var(--font-mono);color:var(--muted);border-bottom-width:2px;align-items:center;padding:1px 6px;font-size:11px;display:inline-flex}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-muted{color:var(--muted)}.fw-700{font-weight:700}.amount-positive{color:var(--success-ink);font-variant-numeric:tabular-nums;font-weight:600}.amount-negative{color:var(--danger-ink);font-variant-numeric:tabular-nums;font-weight:600}.report-json{font-size:var(--fs-xs);text-align:left;background:var(--surface-2);max-height:60vh;padding:var(--s-3);border-radius:var(--r-md);direction:ltr;overflow:auto}.task-unassigned-pop{font-family:var(--font-head);color:var(--danger-ink);background:var(--danger-soft);border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;padding-block:2px;padding-inline:6px 8px;font-size:11px;font-weight:700;line-height:1.4;animation:.35s ease-out task-unassigned-pop-in;display:inline-flex}.task-unassigned-pop-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.6s ease-out infinite task-unassigned-pulse;box-shadow:0 0 #c93a2e80}@keyframes task-unassigned-pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes task-unassigned-pulse{0%{box-shadow:0 0 #c93a2e80}70%{box-shadow:0 0 0 6px #c93a2e00}to{box-shadow:0 0 #c93a2e00}}@media (prefers-reduced-motion:reduce){.task-unassigned-pop,.task-unassigned-pop-dot{animation:none}}@media (width<=640px){.chart-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}:root{--lead-new:var(--muted-soft);--lead-contacted:var(--brand-300);--lead-interested:var(--brand-500);--lead-paid:var(--warning);--lead-enrolled:var(--success);--lead-archived:var(--line-strong);--lead-lost:var(--danger);--dept-sales:#e9b93a;--dept-sales-ink:#3b2f05;--dept-operation:#e4645e;--dept-operation-ink:#fff;--dept-logistics:#3d8bd8;--dept-logistics-ink:#fff;--dept-media:#d97aa8;--dept-media-ink:#fff;--dept-accountant:#2e4a6b;--dept-accountant-ink:#fff}:root[data-theme=dark]{--dept-accountant:#6f8db0;--dept-accountant-ink:#071322}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dept-accountant:#6f8db0;--dept-accountant-ink:#071322}}.dept-sales{--dept-color:var(--dept-sales);--dept-text:var(--dept-sales-ink)}.dept-operation,.dept-ops{--dept-color:var(--dept-operation);--dept-text:var(--dept-operation-ink)}.dept-logistics{--dept-color:var(--dept-logistics);--dept-text:var(--dept-logistics-ink)}.dept-media{--dept-color:var(--dept-media);--dept-text:var(--dept-media-ink)}.dept-accountant{--dept-color:var(--dept-accountant);--dept-text:var(--dept-accountant-ink)}.dept-badge{font-family:var(--font-head);letter-spacing:0;border-radius:var(--r-pill);background:var(--dept-color);color:var(--dept-text);white-space:nowrap;align-items:center;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.task-row-border{border-inline-start:4px solid var(--dept-color)}.toast-stack{bottom:20px;z-index:1100;pointer-events:none;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;inset-inline-start:20px}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-inline-start:4px solid var(--brand-500);border-radius:var(--r-md);box-shadow:var(--sh-3);pointer-events:auto;align-items:flex-start;gap:10px;padding-block:12px;padding-inline:14px 12px;animation:.2s ease-out toast-in;display:flex}.toast-icon{color:var(--brand-600);flex-shrink:0;margin-top:2px;display:inline-flex}.toast.tone-success{border-inline-start-color:var(--success)}.toast.tone-success .toast-icon{color:var(--success)}.toast.tone-error{border-inline-start-color:var(--danger)}.toast.tone-error .toast-icon{color:var(--danger)}.toast.tone-warning{border-inline-start-color:var(--warning)}.toast.tone-warning .toast-icon{color:var(--warning)}.toast-text{min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:1;gap:2px;line-height:1.5;display:flex}.toast-text strong{font-family:var(--font-head);font-weight:700}.toast-close{border-radius:var(--r-sm);width:26px;height:26px;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{background:var(--surface-2);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-overlay{background:var(--overlay);z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:24px;animation:.15s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:520px;max-height:calc(100vh - 48px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-3);outline:none;flex-direction:column;animation:.18s ease-out modal-rise;display:flex;overflow:hidden}.modal-sm{max-width:420px}.modal-md{max-width:520px}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 0;display:flex}.modal-head-text{flex:1;min-width:0}.modal-title{font-size:var(--fs-lg);font-weight:800;line-height:1.3}.modal-desc{font-size:var(--fs-sm);color:var(--muted);margin-top:4px;line-height:1.5}.modal-close{margin-inline-end:-8px;margin-top:-6px}.modal-body{overscroll-behavior:contain;padding:18px 24px 24px;overflow-y:auto}.modal-body>.form-group:last-child{margin-bottom:0}.modal-foot{border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;gap:8px;padding:14px 24px;display:flex}.modal-foot .btn-ghost{margin-inline-start:auto}.modal .card-title{font-size:var(--fs-lg)}.dialog-message{font-size:var(--fs-base);color:var(--ink-soft);white-space:pre-line;line-height:1.7}.dialog-body{align-items:flex-start;gap:14px;display:flex}.dialog-icon{background:var(--brand-50);width:42px;height:42px;color:var(--brand-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog-icon.warning{background:var(--warning-soft);color:var(--warning)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (width<=560px){.modal-overlay{align-items:flex-end;padding:12px}.modal{border-radius:var(--r-lg);max-height:calc(100vh - 24px)}.modal-head{padding:16px 18px 0}.modal-body{padding:14px 18px 18px}.modal-foot{padding:12px 18px}}
