:root{color-scheme:light;--brand-50:#d4ebe5;--brand-100:#b9ded5;--brand-300:#5fa99d;--brand-500:#1f8275;--brand-600:#176f65;--brand-700:#115850;--accent-orange:#e46f3c;--accent-orange-soft:rgba(228,111,60,0.12);--ui-bg:#f4f2ed;--ui-bg-elevated:#fffefa;--ui-bg-subtle:#edeae1;--ui-surface:#ebe7dd;--ui-surface-hover:#e2ddd0;--ui-border:#e4dfd2;--ui-border-strong:#d0c9b9;--ui-text:#17221f;--ui-text-secondary:#4a5654;--ui-text-tertiary:#8a938f;--ui-text-muted:#6b736f;--ui-text-inverse:#fffefa;--ui-accent:var(--brand-600);--ui-accent-hover:var(--brand-700);--ui-accent-soft:rgba(23,111,101,0.1);--ui-success:#1f8275;--ui-success-bg:#d4ebe5;--ui-warning:#c2772e;--ui-warning-bg:#fbefe2;--ui-danger:#c0392b;--ui-danger-bg:#fbeae7;--ui-info:#1e5f8c;--ui-info-bg:#e6eef4;--ui-sidebar-bg:#101b26;--ui-sidebar-bg-2:#172737;--ui-sidebar-text:#9db0bc;--ui-sidebar-text-active:#fffefa;--ui-sidebar-hover:rgba(255,255,255,0.06);--ui-sidebar-active-bg:rgba(212,235,229,0.14);--ui-sidebar-active-text:#ffffff;--ui-sidebar-border:rgba(255,255,255,0.08);--ui-sidebar-accent:#d4ebe5;--ui-radius-sm:7px;--ui-radius-md:10px;--ui-radius-lg:14px;--ui-radius-xl:20px;--ui-sidebar-w:248px;--ui-sidebar-w-collapsed:68px;--ui-page-max-width:1240px;--ui-content-gutter:28px;--ui-shadow-sm:0 1px 2px rgba(23,34,31,0.05);--ui-shadow-md:0 6px 18px rgba(23,34,31,0.07);--ui-shadow-lg:0 18px 44px rgba(23,34,31,0.12);--ui-font:var(--font-inter),system-ui,-apple-system,sans-serif;--ui-font-mono:"JetBrains Mono",ui-monospace,monospace;--ui-chart-grid:#e4dfd2;--ui-chart-text:#6b736f;--bg:var(--ui-bg);--bg-elevated:var(--ui-bg-elevated);--surface:var(--ui-surface);--surface-hover:var(--ui-surface-hover);--border:var(--ui-border);--border-strong:var(--ui-border-strong);--border-subtle:var(--ui-border);--text:var(--ui-text);--text-secondary:var(--ui-text-secondary);--text-tertiary:var(--ui-text-tertiary);--text-muted:var(--ui-text-muted);--accent:var(--brand-600);--accent-hover:var(--brand-700);--accent-soft:var(--ui-accent-soft);--sidebar:var(--ui-sidebar-bg);--sidebar-text:var(--ui-sidebar-text);--sidebar-text-active:var(--ui-sidebar-text-active);--sidebar-hover:var(--ui-sidebar-hover);--sidebar-active:var(--ui-sidebar-active-bg);--sidebar-w:var(--ui-sidebar-w);--radius:var(--ui-radius-md);--radius-lg:var(--ui-radius-lg);--font:var(--ui-font);--success:var(--ui-success);--error:var(--ui-danger);--warning:var(--ui-warning);--danger:var(--ui-danger);--preview-bg:var(--ui-surface);--preview-text:var(--ui-text-secondary)}.dark{color-scheme:dark;--brand-50:#123832;--brand-100:#16463e;--brand-300:#2ba493;--brand-500:#34c7b2;--brand-600:#2eb8a3;--brand-700:#56d6c3;--accent-orange:#f0865a;--accent-orange-soft:rgba(240,134,90,0.16);--ui-bg:#0e1714;--ui-bg-elevated:#15201c;--ui-bg-subtle:#111b18;--ui-surface:#1c2925;--ui-surface-hover:#263530;--ui-border:#2a3833;--ui-border-strong:#3a4a44;--ui-text:#ecf1ee;--ui-text-secondary:#aab6b1;--ui-text-tertiary:#7d8a85;--ui-text-muted:#8b968f;--ui-text-inverse:#0e1714;--ui-accent:var(--brand-600);--ui-accent-hover:var(--brand-700);--ui-accent-soft:rgba(46,184,163,0.18);--ui-success:#34c7b2;--ui-success-bg:#123832;--ui-warning:#e3a35a;--ui-warning-bg:#3a2a14;--ui-danger:#f0816f;--ui-danger-bg:#3a1a16;--ui-info:#6aa9d6;--ui-info-bg:#16293a;--ui-sidebar-bg:#0b1620;--ui-sidebar-bg-2:#11202c;--ui-sidebar-text:#8b9ba6;--ui-sidebar-text-active:#ffffff;--ui-sidebar-hover:rgba(255,255,255,0.07);--ui-sidebar-active-bg:rgba(46,184,163,0.18);--ui-sidebar-active-text:#ffffff;--ui-sidebar-border:rgba(255,255,255,0.07);--ui-sidebar-accent:#2eb8a3;--ui-shadow-sm:0 1px 2px rgba(0,0,0,0.4);--ui-shadow-md:0 6px 18px rgba(0,0,0,0.5);--ui-shadow-lg:0 18px 44px rgba(0,0,0,0.6);--ui-chart-grid:#2a3833;--ui-chart-text:#7d8a85;--bg:var(--ui-bg);--bg-elevated:var(--ui-bg-elevated);--surface:var(--ui-surface);--surface-hover:var(--ui-surface-hover);--border:var(--ui-border);--border-strong:var(--ui-border-strong);--border-subtle:var(--ui-border);--text:var(--ui-text);--text-secondary:var(--ui-text-secondary);--text-tertiary:var(--ui-text-tertiary);--text-muted:var(--ui-text-muted);--accent:var(--brand-600);--accent-hover:var(--brand-700);--accent-soft:var(--ui-accent-soft);--sidebar:var(--ui-sidebar-bg);--sidebar-text:var(--ui-sidebar-text);--sidebar-text-active:var(--ui-sidebar-text-active);--sidebar-hover:var(--ui-sidebar-hover);--sidebar-active:var(--ui-sidebar-active-bg);--preview-bg:var(--ui-surface);--preview-text:var(--ui-text-secondary)}.ui-kpi{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);padding:16px 20px;min-height:88px;box-shadow:var(--ui-shadow-sm)}.ui-kpi-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-tertiary);margin-bottom:6px}.ui-kpi-value{font-size:24px;font-weight:700;color:var(--ui-text);line-height:1.2}.ui-kpi-sub{font-size:12px;color:var(--ui-text-secondary);margin-top:4px}.ui-kpi-sub--up{color:var(--ui-success)}.ui-kpi-sub--down{color:var(--ui-danger)}.ui-kpi-grid{display:grid;grid-gap:16px;gap:16px}.ui-kpi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.ui-kpi-grid-3,.ui-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.ui-kpi-grid-2,.ui-kpi-grid-3,.ui-kpi-grid-4{grid-template-columns:1fr}}.ui-widget-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}.ui-widget{grid-column:span 3;min-width:0}.ui-widget--wide{grid-column:span 6}.ui-widget--full{grid-column:span 12}@media (max-width:1024px){.ui-widget{grid-column:span 6}.ui-widget--wide{grid-column:span 12}}@media (max-width:640px){.ui-widget,.ui-widget--wide{grid-column:span 12}}.ui-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-sm);overflow:hidden}.ui-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ui-border)}.ui-card-title{font-size:16px;font-weight:600;color:var(--ui-text);margin:0}.ui-card-body{padding:20px}.ui-card-footnote{margin-top:12px;font-size:13px}.ui-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--ui-radius-sm);font-size:12px;font-weight:500;line-height:1.4}.ui-badge--neutral{background:var(--ui-surface);color:var(--ui-text-secondary)}.ui-badge--info{background:var(--ui-info-bg);color:var(--ui-info)}.ui-badge--success{background:var(--ui-success-bg);color:var(--ui-success)}.ui-badge--warning{background:var(--ui-warning-bg);color:var(--ui-warning)}.ui-badge--danger{background:var(--ui-danger-bg);color:var(--ui-danger)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--ui-radius-md);font-size:14px;font-weight:500;font-family:var(--ui-font);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-btn--primary{background:var(--brand-600);color:var(--ui-text-inverse)}.ui-btn--primary:hover{background:var(--brand-700);box-shadow:var(--ui-shadow-sm)}.ui-btn--secondary{background:var(--ui-bg-elevated);border-color:var(--ui-border-strong);color:var(--ui-text)}.ui-btn--secondary:hover{background:var(--ui-surface)}.ui-btn--ghost{background:transparent;color:var(--ui-text-secondary)}.ui-btn--ghost:hover{background:var(--ui-surface);color:var(--ui-text)}.ui-btn--danger{background:var(--ui-danger);color:var(--ui-text-inverse)}.ui-btn--sm{height:28px;padding:0 10px;font-size:13px}.ui-table-wrap{overflow-x:auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-bg-elevated)}.ui-table{width:100%;border-collapse:collapse;font-size:13px}.ui-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-tertiary);background:var(--ui-surface)}.ui-table td,.ui-table th{border-bottom:1px solid var(--ui-border)}.ui-table td{padding:12px 16px;color:var(--ui-text)}.ui-table tbody tr:hover td{background:var(--ui-surface-hover)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table-row-link{cursor:pointer}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-label{font-size:13px;font-weight:500;color:var(--ui-text-secondary)}.ui-input,.ui-select,.ui-textarea{width:100%;font-family:var(--ui-font);font-size:14px;color:var(--ui-text);background:var(--ui-bg-elevated);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);padding:8px 12px;transition:border-color .15s,box-shadow .15s}.ui-input,.ui-select{height:36px}.ui-textarea{min-height:80px;resize:vertical}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(79,70,229,.15)}.ui-field-error{font-size:12px;color:var(--ui-danger)}.ui-form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.ui-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center;padding:16px}.ui-modal{background:var(--ui-bg-elevated);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow:auto}.ui-modal--md{max-width:640px}.ui-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ui-border)}.ui-modal-title{font-size:18px;font-weight:600;margin:0}.ui-modal-body{padding:20px}.ui-modal-foot{padding:16px 20px;border-top:1px solid var(--ui-border)}.ui-kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}.ui-kanban-column{flex:0 0 280px;background:var(--ui-surface);border-radius:var(--ui-radius-lg);padding:12px;min-height:200px}.ui-kanban-col-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--ui-text-secondary)}.ui-kanban-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:12px;margin-bottom:8px;box-shadow:var(--ui-shadow-sm);cursor:-webkit-grab;cursor:grab}.ui-kanban-card--dragging{opacity:.85;box-shadow:var(--ui-shadow-md);transform:rotate(1deg)}.ui-page-header{margin-bottom:20px}.ui-page-title{font-size:24px;font-weight:700;color:var(--ui-text);margin:0;letter-spacing:-.01em}.ui-page-subtitle{font-size:14px;color:var(--ui-text-secondary);margin:4px 0 0}.ui-page-head-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.ui-page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ui-page-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:min(100%,720px)}.ui-page-header-actions>*{flex:0 0 auto}.biz-kpi,.biz-kpi-grid .biz-kpi{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:16px 20px;min-height:88px;box-shadow:var(--ui-shadow-sm)}.biz-kpi-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-tertiary)}.biz-kpi-value{font-size:24px;font-weight:700;color:var(--ui-text)}.biz-kpi-sub{font-size:12px;color:var(--ui-text-secondary)}.biz-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.biz-badge-ok{background:var(--ui-success-bg);color:var(--ui-success)}.biz-badge-warn{background:var(--ui-warning-bg);color:var(--ui-warning)}.biz-badge-critical{background:var(--ui-danger-bg);color:var(--ui-danger)}.biz-badge-neutral{background:var(--ui-surface);color:var(--ui-text-secondary)}.biz-badge{display:inline-flex;padding:2px 8px;border-radius:var(--ui-radius-sm);font-size:12px;font-weight:500}.btn-primary{background:var(--brand-600)!important;color:var(--ui-text-inverse)!important;border:none!important;border-radius:var(--ui-radius-md)!important;box-shadow:none!important;transform:none!important;filter:none!important}.btn-primary:hover{background:var(--brand-700)!important;transform:none!important}.ui-kanban-column--drop{outline:2px dashed var(--brand-600);outline-offset:-2px;background:color-mix(in srgb,var(--brand-600) 6%,var(--ui-surface))}.ui-kanban-col-meta{font-size:12px;color:var(--ui-text-tertiary);margin:-4px 0 10px}.ui-kanban-col-body{display:flex;flex-direction:column;gap:8px;min-height:40px}.ui-kanban-card-title{font-size:14px;font-weight:600;color:var(--ui-text);text-decoration:none;display:block}.ui-kanban-card-title:hover{color:var(--brand-600)}.ui-kanban-card-footer,.ui-kanban-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--ui-text-secondary)}.ui-kanban-card-sub{font-size:12px;color:var(--ui-text-tertiary);margin-top:6px}.ui-page-shell{display:flex;flex-direction:column;gap:20px;max-width:var(--ui-page-max-width,1280px);width:100%}.ui-page-shell--wide{max-width:none}.ui-text-muted{font-size:13px;color:var(--ui-text-secondary)}.ui-text-error{font-size:13px;color:var(--ui-danger)}.ui-text-success{font-size:13px;color:var(--ui-success)}.ui-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ui-toolbar-spacer{flex:1 1;min-width:8px}.ui-toolbar .ui-input,.ui-toolbar .ui-select{flex:1 1;min-width:180px;max-width:320px}.ui-tabs{display:flex;flex-wrap:wrap;gap:6px}.ui-tab{border:1px solid var(--ui-border);background:var(--ui-bg-elevated);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ui-text-secondary);font-family:var(--ui-font)}.ui-tab:hover{background:var(--ui-surface)}.ui-tab--active{border-color:var(--brand-600);color:var(--brand-600);background:var(--brand-50)}.ui-filter-pills{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}.ui-filter-pill{border:1px solid var(--ui-border);background:var(--ui-bg-elevated);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ui-text-secondary);font-family:var(--ui-font)}.ui-filter-pill:hover{background:var(--ui-surface)}.ui-filter-pill--active{border-color:var(--brand-600);color:var(--brand-600);background:var(--brand-50)}.ui-alert-list{display:flex;flex-direction:column;gap:8px}.ui-alert-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);text-decoration:none;color:inherit;transition:background .15s}.ui-alert-item:hover{background:var(--ui-surface)}.ui-quick-nav{display:flex;flex-direction:column;gap:4px}.ui-quick-nav a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--ui-radius-md);font-size:13px;font-weight:500;color:var(--ui-text-secondary);text-decoration:none}.ui-quick-nav a:hover{background:var(--ui-surface);color:var(--ui-text)}.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.ui-form-grid--full{grid-column:1/-1}@media (max-width:640px){.ui-form-grid{grid-template-columns:1fr}}.ui-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.ui-form-row .ui-input{flex:1 1;min-width:200px}.ui-badge-row{display:flex;flex-wrap:wrap;gap:6px}.ui-link{color:var(--brand-600);font-size:13px;font-weight:500;text-decoration:none}.ui-link:hover{text-decoration:underline}.ui-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.ui-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 24px;gap:16px 24px}.ui-detail-item{display:flex;flex-direction:column;gap:4px}.ui-detail-label{font-size:12px;font-weight:500;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.02em}.ui-detail-value{font-size:14px;font-weight:600;color:var(--ui-text)}.ui-activity-timeline{display:flex;flex-direction:column;gap:12px;margin-top:16px}.ui-activity-item{padding:12px 14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg-elevated)}.ui-activity-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.ui-activity-subject{font-weight:600;font-size:14px;margin-bottom:4px}.ui-activity-form{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}@media (max-width:640px){.ui-detail-list{grid-template-columns:1fr}}@media (max-width:900px){.ui-grid-2{grid-template-columns:1fr}}.ui-section-title{font-size:14px;font-weight:600;color:var(--ui-text);margin:8px 0 0}.ui-kanban-quick-create{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ui-kanban-quick-create .ui-input{flex:1 1;min-width:200px}.ui-kanban-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ui-kanban-filters .ui-select{min-width:180px;flex:1 1;max-width:240px}.biz-page{display:flex;flex-direction:column;gap:20px;max-width:var(--ui-page-max-width,1280px);width:100%}.biz-page-wide{max-width:none}.biz-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.biz-page-title{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--ui-text)}.biz-muted{font-size:13px;color:var(--ui-text-secondary)}.biz-error{font-size:13px;color:var(--ui-danger)}.biz-success{font-size:13px;color:var(--ui-success)}.biz-link{color:var(--brand-600);font-size:13px;font-weight:500;text-decoration:none}.biz-link:hover{text-decoration:underline}.biz-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:900px){.biz-grid-2{grid-template-columns:1fr}}.biz-toolbar{gap:8px;align-items:center}.biz-tabs,.biz-toolbar{display:flex;flex-wrap:wrap}.biz-tabs{gap:6px}.biz-tab{border:1px solid var(--ui-border);background:var(--ui-bg-elevated);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ui-text-secondary)}.biz-tab.active{border-color:var(--brand-600);color:var(--brand-600);background:var(--brand-50)}.biz-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.biz-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.biz-form-stack{gap:12px}.biz-form-field,.biz-form-stack{display:flex;flex-direction:column}.biz-form-field{gap:6px;font-size:13px}.biz-badge-row{display:flex;flex-wrap:wrap;gap:6px}.biz-alert-list{display:flex;flex-direction:column;gap:8px}.biz-alert-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);text-decoration:none;color:inherit}.biz-alert-item:hover{background:var(--ui-surface)}.biz-quick-links{display:flex;flex-direction:column;gap:4px}.biz-quick-links a{padding:8px 10px;border-radius:var(--ui-radius-md);font-size:13px;color:var(--ui-text-secondary);text-decoration:none}.biz-quick-links a:hover{background:var(--ui-surface);color:var(--ui-text)}.biz-section-title{font-size:14px;font-weight:600;color:var(--ui-text);margin:8px 0 0}.biz-kpi-grid{display:grid;grid-gap:16px;gap:16px}.biz-kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.biz-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.biz-kpi-grid-3,.biz-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.biz-kpi-grid-3,.biz-kpi-grid-4{grid-template-columns:1fr}}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--ui-bg)}.portal-header{border-bottom:1px solid var(--ui-border);background:var(--ui-bg-elevated);position:-webkit-sticky;position:sticky;top:0;z-index:100;overflow:visible}.portal-header-inner{max-width:1280px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}.portal-user-menu{width:auto;position:relative}.portal-user-menu .user-menu-trigger{width:auto}.portal-user-menu .user-menu-dropdown{top:calc(100% + 8px);bottom:auto;right:0;left:auto;z-index:110}.user-menu-link{display:block}.portal-brand,.user-menu-link{text-decoration:none;color:inherit}.portal-brand{display:flex;align-items:center;gap:10px;min-width:0}.portal-brand-logo{flex-shrink:0;display:block}.portal-brand-text{display:flex;flex-direction:column;min-width:0}.portal-brand-text strong{font-size:15px;line-height:1.2}.portal-brand small{display:block;font-size:12px;color:var(--ui-text-secondary);font-weight:400}.portal-nav-desktop{display:flex;flex-wrap:wrap;gap:6px}.portal-nav-link{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ui-text-secondary);text-decoration:none}.portal-nav-link:hover{background:var(--ui-surface);color:var(--ui-text)}.portal-nav-link--active{background:var(--brand-50);color:var(--brand-600)}.portal-main{flex:1 1;max-width:1280px;width:100%;margin:0 auto;padding:24px 20px 88px}.portal-nav-mobile{display:none;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--ui-border);background:var(--ui-bg-elevated);padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:4px;z-index:50}.portal-nav-mobile-link{flex:1 1;min-width:0;text-align:center;font-size:10px;font-weight:500;color:var(--ui-text-secondary);text-decoration:none;padding:6px 2px;border-radius:8px}.portal-nav-mobile-link--active{color:var(--brand-600);background:var(--brand-50)}@media (max-width:900px){.portal-nav-desktop{display:none}.portal-nav-mobile{display:flex}}.crm-global-search{position:relative;margin-bottom:16px}.crm-global-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md);max-height:320px;overflow:auto}.crm-global-search-hit{display:block;padding:12px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--ui-border)}.crm-global-search-hit:last-child{border-bottom:none}.crm-global-search-hit:hover{background:var(--ui-bg-subtle)}.crm-global-search-hit-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crm-global-search-hit-meta{font-size:13px;margin-top:4px}.crm-global-search-empty{padding:12px 16px;margin:0}.crm-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.crm-quick-action--disabled{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;color:var(--ui-text-tertiary);border:1px dashed var(--ui-border);border-radius:var(--ui-radius-md)}.crm-health-badge{display:inline-flex;align-items:center;gap:8px}.crm-health-score{font-size:12px;color:var(--ui-text-secondary)}.crm-health-factors{margin:12px 0 0;padding-left:18px;color:var(--ui-text-secondary);font-size:14px}.crm-unified-timeline{display:flex;flex-direction:column;gap:0}.crm-timeline-item{display:grid;grid-template-columns:16px 1fr;grid-gap:12px;gap:12px;padding-bottom:16px;position:relative}.crm-timeline-item:not(:last-child):before{content:"";position:absolute;left:7px;top:14px;bottom:0;width:2px;background:var(--ui-border)}.crm-timeline-marker{width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--brand-500);border:2px solid var(--ui-bg-elevated);box-shadow:0 0 0 1px var(--ui-border)}.crm-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}.crm-timeline-title{font-weight:600;margin-bottom:4px}.crm-timeline-desc{font-size:14px;margin:0;line-height:1.45}.crm-client-cards{display:none;flex-direction:column;gap:12px}.crm-client-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:14px 16px;box-shadow:var(--ui-shadow-sm)}.crm-client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.crm-client-card-title{font-size:16px;font-weight:700}.crm-client-card-meta{font-size:13px;margin-bottom:12px}.crm-client-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.crm-client-kpis{margin-bottom:16px}.crm-client-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.crm-client-tabs::-webkit-scrollbar{display:none}.crm-client-edit-desktop{display:inline-flex}@media (max-width:768px){.crm-clients-table-wrap{display:none}.crm-client-cards{display:flex}.crm-client-edit-desktop{display:none}.crm-client-summary-grid{grid-template-columns:1fr}.crm-clients-toolbar .ui-tabs{overflow-x:auto;flex-wrap:nowrap}}@media (min-width:769px){.crm-client-cards{display:none}}.internal-priority-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.internal-priority-card{display:block;padding:14px 16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);text-decoration:none;color:inherit;background:var(--ui-bg-subtle)}.internal-priority-card:hover{border-color:var(--brand-300);background:var(--ui-bg-elevated)}.internal-priority-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.internal-priority-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:13px;color:var(--ui-text-secondary)}.internal-project-cards{display:none;flex-direction:column;gap:12px}.internal-project-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:14px 16px;box-shadow:var(--ui-shadow-sm)}.internal-project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.internal-project-card-title{font-size:16px;font-weight:700}.internal-project-card-meta{font-size:13px;margin-bottom:12px}.internal-project-card-actions{display:flex;flex-wrap:wrap;gap:8px}.internal-my-tasks-list{display:flex;flex-direction:column;gap:8px}.internal-my-task-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);text-decoration:none;color:inherit}.internal-my-task-row:hover{background:var(--ui-bg-subtle)}.internal-my-task-overdue{border-color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 6%,transparent)}.internal-activity-timeline,.internal-portal-timeline{display:flex;flex-direction:column;gap:12px}.internal-activity-item,.internal-portal-timeline-item{padding-bottom:12px;border-bottom:1px solid var(--ui-border)}.internal-activity-head,.internal-portal-timeline-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.internal-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:14px}.internal-board-page .ui-kanban-board,.internal-project-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.internal-board-page{max-width:100%;overflow-x:hidden}.internal-pilotage-grid{margin-top:16px}.internal-portal-kpis{margin:12px 0 16px}.internal-my-tasks-filters{flex-wrap:wrap}@media (max-width:768px){.internal-projects-table-wrap{display:none}.internal-project-cards{display:flex}.internal-my-task-row{grid-template-columns:1fr}.internal-my-task-date{font-size:13px}.internal-pilotage-grid,.time-page-grid{grid-template-columns:1fr}.ui-kanban-board{padding-bottom:8px}}@media (min-width:769px){.internal-project-cards{display:none}}.billing-page{max-width:100%;overflow-x:hidden}.billing-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.billing-totals-grid{display:flex;flex-direction:column;gap:6px;max-width:420px;margin-left:auto}.billing-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:4px 0}.billing-total-row--ttc{border-top:1px solid var(--ui-border,#e2e8f0);margin-top:4px;padding-top:10px;font-size:1.15rem}.billing-total-row--ttc strong{color:var(--ui-accent,#176f65)}.billing-mobile-cards{display:none;flex-direction:column;gap:12px}.billing-mobile-card{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:14px 16px;box-shadow:var(--ui-shadow-sm)}.billing-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.billing-mobile-card-title{font-size:16px;font-weight:700}.billing-mobile-card-meta{font-size:13px;margin-bottom:10px}.billing-mobile-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;color:var(--ui-text-secondary)}.billing-mobile-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.billing-catalog-form-card{margin-bottom:16px}@media (max-width:768px){.billing-table-wrap:has(+.billing-mobile-cards){display:none}.billing-mobile-cards{display:flex}.billing-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-page .ui-toolbar{flex-direction:column;align-items:stretch}.billing-page .ui-page-header-actions{flex-wrap:wrap}}@media (min-width:769px){.billing-mobile-cards{display:none}}.portal-billing-page .ui-kpi-grid{margin-bottom:16px}.portal-billing-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--ui-border)}.portal-billing-list-item:last-child{border-bottom:none}.portal-billing-list-meta{align-items:center;justify-content:flex-end;font-size:14px}.portal-billing-list-meta,.portal-billing-row-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-billing-panels{margin-top:16px}.portal-billing-detail-grid{margin-bottom:16px}.portal-billing-page .billing-table-wrap+.billing-mobile-cards{margin-top:0}@media (max-width:390px){.portal-billing-page .ui-kpi-grid{grid-template-columns:1fr;gap:10px}.portal-billing-detail-grid,.portal-billing-page .ui-grid-2{grid-template-columns:1fr}.portal-billing-list-item{flex-direction:column;align-items:flex-start}.portal-billing-list-meta{justify-content:flex-start}}.portal-projects-page .ui-kpi-grid{margin-bottom:16px}.portal-projects-panels{margin-top:16px}.portal-project-meta{display:flex;flex-direction:column;gap:8px}.portal-project-doc-item{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--ui-border)}.portal-project-doc-item:last-child{border-bottom:none}.portal-project-comment-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--ui-border)}@media (max-width:390px){.portal-projects-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-projects-page .ui-grid-2{grid-template-columns:1fr}.portal-projects-page .ui-activity-head{flex-direction:column;align-items:flex-start;gap:4px}}.portal-tickets-page .ui-kpi-grid{margin-bottom:16px}.portal-tickets-page .ui-card+.ui-card{margin-top:16px}.portal-ticket-attachments{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}@media (max-width:390px){.portal-tickets-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-tickets-page .ui-form-grid{grid-template-columns:1fr}.portal-tickets-page .ui-activity-head{flex-direction:column;align-items:flex-start;gap:4px}}.portal-hosting-page .ui-kpi-grid{margin-bottom:16px}.portal-hosting-page .ui-card+.ui-card{margin-top:16px}.portal-hosting-ssl-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.portal-hosting-ssl-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--ui-border)}.portal-hosting-ssl-item:last-child{border-bottom:none}.portal-hosting-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 20px;gap:12px 20px;margin:0}.portal-hosting-meta dt{margin:0;font-size:12px;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.04em}.portal-hosting-meta dd{margin:4px 0 0;font-weight:600}.portal-hosting-backup-meta,.portal-hosting-external-link{margin-top:8px}@media (max-width:390px){.portal-hosting-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-hosting-meta{grid-template-columns:1fr}.portal-hosting-page .ui-page-header-actions{flex-wrap:wrap}}.tickets-page{max-width:100%;overflow-x:hidden}.tickets-message-internal{border-left:3px solid var(--ui-warning);padding-left:12px;background:color-mix(in srgb,var(--ui-warning) 6%,transparent);border-radius:var(--ui-radius-sm)}@media (max-width:768px){.tickets-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tickets-page .ui-toolbar{flex-direction:column;align-items:stretch}.tickets-page .ui-page-header-actions{flex-wrap:wrap}.tickets-page .ui-grid-2{grid-template-columns:1fr}}.dashboard-page{max-width:100%;overflow-x:hidden}.dashboard-section{margin-bottom:20px}.dashboard-section-title{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-secondary)}.dashboard-quick-nav{display:flex;flex-wrap:wrap;gap:8px}.dashboard-quick-link{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg-elevated);font-size:13px;font-weight:600;color:var(--ui-text);text-decoration:none}.dashboard-quick-link:hover{border-color:var(--brand-300);background:var(--brand-50);color:var(--brand-700)}.dashboard-pilotage-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.dashboard-sub-kpis{margin-top:12px}@media (max-width:768px){.dashboard-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-pilotage-grid{grid-template-columns:1fr}.dashboard-page .ui-page-header-actions{flex-wrap:wrap}}.portal-dashboard-page .portal-dashboard-kpis{margin-bottom:16px}.portal-dashboard-page .ui-link-block{display:block;color:inherit;text-decoration:none}.portal-dashboard-page .ui-link-block:hover .ui-activity-subject{color:var(--ui-accent)}.portal-dashboard-panels .ui-table-wrap{overflow-x:auto}@media (max-width:390px){.portal-dashboard-page .ui-kpi-grid{grid-template-columns:1fr;gap:10px}.portal-dashboard-page .ui-grid-2{grid-template-columns:1fr}.portal-dashboard-page .ui-table td,.portal-dashboard-page .ui-table th{padding:8px 10px;font-size:13px}.portal-dashboard-page .ui-activity-head{flex-direction:column;align-items:flex-start;gap:4px}}.admin-page{max-width:100%;overflow-x:hidden}.admin-page .ui-card+.ui-card,.admin-page .ui-form-grid+.ui-card{margin-top:16px}@media (max-width:768px){.admin-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .ui-grid-2{grid-template-columns:1fr}}.infra-page{max-width:100%;overflow-x:hidden}.infra-page-body{display:flex;flex-direction:column;gap:16px}.infra-project-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.infra-project-topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.infra-hosting-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.infra-hosting-search{flex:1 1;min-width:200px;max-width:360px}.infra-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.infra-recent-list{display:flex;flex-direction:column;gap:8px}.infra-recent-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);text-decoration:none;color:inherit}.infra-recent-item:hover{background:var(--ui-surface-muted)}.infra-recent-msg{font-size:14px;font-weight:500}.infra-recent-meta{font-size:12px;color:var(--ui-text-muted);white-space:nowrap}.infra-deploy-filters{margin-bottom:16px;flex-wrap:wrap}.infra-deploy-filter-grow{flex:1 1;min-width:180px}.infra-deploy-table-wrap{margin-top:8px}.infra-hub{display:flex;flex-direction:column;gap:16px}.infra-hub-tabs{flex-wrap:wrap}.infra-hub-tab-desc{display:block;font-size:12px;margin-top:2px}.infra-hub-card{padding:16px}.infra-hub-card--danger{border-color:var(--ui-danger)}.infra-hub-card .hub-card-title{font-size:15px;font-weight:600;margin:0 0 8px}.infra-hub-card .hub-card-desc,.infra-hub-card .hub-empty{color:var(--ui-text-muted);font-size:13px;margin:0 0 12px}.infra-hub-card .hub-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.ui-card-intro{margin:0 0 12px;font-size:13px}.ui-form-grid--inline{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.ui-form-grid--grow{flex:1 1;min-width:200px}@media (max-width:768px){.infra-page .ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-project-grid,.infra-recent-item{grid-template-columns:1fr}.infra-recent-item{gap:6px}.infra-hosting-toolbar{flex-direction:column;align-items:stretch}.infra-hosting-search{max-width:none}}.infra-dns-hint{margin-top:16px;padding:12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-muted);font-size:13px}.infra-dns-steps{margin:8px 0 0;padding-left:18px;color:var(--ui-text-muted)}.infra-code-block{display:block;margin:8px 0;padding:8px;font-size:12px;word-break:break-all;background:var(--ui-surface-muted);border-radius:var(--ui-radius)}.ged-library-toolbar{display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;margin-bottom:20px}.ged-document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.ged-document-grid>*{min-width:0}.ged-document-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg,12px);background:var(--ui-surface);box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .15s,box-shadow .15s;overflow:hidden;min-width:0}.ged-document-card-top{display:flex;gap:12px;align-items:flex-start;min-width:0}.ged-document-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.ged-document-card:hover{border-color:var(--ui-accent,#2563eb);box-shadow:0 4px 12px rgba(37,99,235,.08)}.portal-document-card{cursor:pointer}.ged-document-card-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:10px;background:linear-gradient(135deg,var(--ui-info-bg),var(--brand-50));color:var(--ui-info);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;overflow:hidden}.ged-document-card-thumb--pdf{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.ged-document-card-thumb--image{padding:0;background:var(--ui-surface-muted)}.ged-document-card-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.ged-document-card-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--ui-info-bg),var(--brand-50));color:var(--ui-info);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.ged-document-card-title{margin:0;font-size:15px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;min-width:0;flex:1 1 auto}.ged-document-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0}.ged-document-card-desc{margin:0;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.ged-document-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--ui-text-muted)}.ged-document-card-filename{margin:0;font-size:12px;color:var(--ui-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.ged-document-card-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;width:100%;margin-top:auto;padding-top:4px;border-top:1px solid var(--ui-border)}.ged-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;padding:12px 16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-muted);font-size:14px}.ged-detail-meta-item{color:var(--ui-text-muted)}.ged-detail-meta--minimal{margin-bottom:12px}.ged-detail-preview-frame{border:1px solid var(--ui-border);border-radius:var(--ui-radius);overflow:hidden;background:#f8fafc}.ged-image-preview{display:block;width:100%;max-height:70vh;object-fit:contain;margin:0 auto}.ged-detail-file-card{padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface)}.ged-detail-file-name{margin:0 0 12px;font-weight:600;word-break:break-word;overflow-wrap:anywhere}.ged-text-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.ged-detail-file-meta-compact{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 16px;gap:8px 16px;margin:0;font-size:14px}.ged-detail-file-meta-compact dt{color:var(--ui-text-muted);margin:0}.ged-detail-file-meta-compact dd{margin:0}.ged-detail-dl{display:grid;grid-template-columns:120px 1fr;grid-gap:8px 16px;gap:8px 16px;margin:0;font-size:14px}.ged-detail-dl dt{color:var(--ui-text-muted)}.ged-pdf-preview{width:100%;min-height:520px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#f8fafc}.ged-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);grid-gap:20px;gap:20px;align-items:start}.ged-detail-preview-col{min-width:0}.ged-detail-sidebar-col{display:flex;flex-direction:column;gap:16px;min-width:0}.ged-detail-preview-card .ged-pdf-preview{min-height:60vh}.ged-detail-file-info{margin-bottom:12px}.ged-detail-filename,.ged-version-filename{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word}.ged-detail-no-preview{margin:12px 0 0;font-size:13px}.ged-detail-file-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.ged-version-list{list-style:none;margin:0;padding:0}.ged-version-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ui-border)}.portal-documents-tabs{grid-column:1/-1;overflow-x:auto}.ged-global-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.ged-global-toolbar>*{min-width:140px;flex:1 1 140px}.ged-global-toolbar input[type=date]{max-width:160px;flex:0 1 160px}.ged-document-card-org{margin:0 0 4px;font-size:.85rem}@media (max-width:768px){.ged-document-grid,.ged-library-toolbar{grid-template-columns:1fr}.ged-document-card-actions{flex-direction:row}.ged-detail-layout{grid-template-columns:1fr}.ged-detail-preview-card .ged-pdf-preview,.ged-pdf-preview{min-height:280px}.ged-detail-meta{flex-direction:column;align-items:flex-start;gap:8px}}.app-sidebar-top-actions,.mobile-topbar-actions{display:flex;align-items:center;gap:6px;position:relative;overflow:visible}.admin-notify{position:relative}.admin-notify-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.admin-notify-trigger:hover{background:var(--ui-surface-hover);color:var(--ui-text);border-color:var(--ui-border-strong)}.admin-notify-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ui-danger,#dc2626);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.admin-notify-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-bg-elevated);box-shadow:var(--ui-shadow-lg);overflow:hidden}.admin-notify-panel--floating{position:fixed;z-index:10050;width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.admin-notify-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ui-border-subtle)}.admin-notify-mark-all{border:none;background:none;color:var(--brand-600,var(--ui-accent));font-size:12px;font-weight:500;cursor:pointer}.admin-notify-list{max-height:360px;overflow-y:auto}.admin-notify-empty{padding:20px 14px;margin:0;font-size:13px;color:var(--ui-text-secondary);text-align:center}.admin-notify-item{display:block;width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--ui-border-subtle);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.admin-notify-item:hover{background:var(--ui-surface-hover)}.admin-notify-item--unread{background:rgba(0,112,243,.04)}.admin-notify-item-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.admin-notify-item-date{margin-left:auto;font-size:11px;color:var(--ui-text-tertiary)}.admin-notify-item-title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--ui-text)}.admin-notify-item-message{margin:0;font-size:12px;line-height:1.45;color:var(--ui-text-secondary)}.admin-notify-panel-foot{padding:10px 14px;border-top:1px solid var(--ui-border-subtle);text-align:center}.admin-notify-view-all{font-size:13px;font-weight:500;color:var(--brand-600,var(--ui-accent));text-decoration:none}.admin-notify-view-all:hover{text-decoration:underline}.notifications-list{display:flex;flex-direction:column;gap:10px}.notifications-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-bg-elevated)}.notifications-item--unread{border-color:rgba(0,112,243,.25);background:rgba(0,112,243,.03)}.notifications-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.notifications-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-600,var(--ui-accent))}.notifications-item-title{margin:0 0 6px;font-size:15px;font-weight:600}.notifications-item-message{margin:0;font-size:14px;color:var(--ui-text-secondary);line-height:1.5}.notifications-item-org{margin:8px 0 0;font-size:12px}.notifications-item-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.notifications-footnote{margin-top:16px;font-size:12px}@media (max-width:768px){.notifications-item{flex-direction:column}.notifications-item-actions{flex-direction:row;width:100%}}.ui-sidebar-v2.app-sidebar{border-right:1px solid var(--ui-border);background:var(--ui-bg-elevated);color:var(--ui-text-secondary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ui-sidebar-v2 .app-nav-item{font-weight:500;border-radius:var(--ui-radius-md);transform:none!important;box-shadow:none!important}a.ui-nav-group-toggle.ui-nav-group-toggle--link{text-decoration:none}.ui-sidebar-v2 .app-nav-item:hover{transform:none!important;background:var(--ui-surface);color:var(--ui-text)}.ui-sidebar-v2 .app-nav-item.active{background:var(--brand-50);color:var(--ui-text);box-shadow:none;border-left:3px solid var(--brand-600);padding-left:9px}.ui-sidebar-v2 .app-nav-icon-wrap{width:20px;height:20px;border-radius:0;background:transparent!important;color:inherit}.ui-sidebar-v2 .app-nav-item.active .app-nav-icon-wrap{color:var(--brand-600)}.ui-sidebar-v2 .nav-emoji{display:none!important}.ui-sidebar-v2 .sidebar-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-tertiary);padding:12px 12px 6px}.ui-nav-group{margin-bottom:2px}.ui-nav-group-toggle-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.ui-nav-group-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ui-text-tertiary);flex-shrink:0}.ui-nav-group-toggle.is-active,.ui-nav-group.is-active>.ui-nav-group-toggle{color:var(--brand-700)}.ui-nav-group-toggle.is-active .ui-nav-group-icon,.ui-nav-group.is-active>.ui-nav-group-toggle .ui-nav-group-icon{color:var(--brand-600)}.ui-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-tertiary);cursor:pointer;font-family:var(--ui-font)}.ui-nav-group-toggle:hover{color:var(--ui-text-secondary)}.ui-nav-group-items{display:flex;flex-direction:column;gap:2px;padding:0 6px 8px}.ui-nav-group-items[hidden]{display:none}.ui-nav-group-chevron{flex-shrink:0;transform:rotate(-90deg);transition:transform .15s ease}.ui-nav-group-chevron.is-open{transform:rotate(0deg)}.ui-nav-item--disabled{opacity:.45;pointer-events:none}.ui-nav-item-badge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--ui-surface);color:var(--ui-text-tertiary)}.ui-sidebar-v2 .app-sidebar-bottom{border-top:1px solid var(--ui-border);padding:12px 10px 16px;display:flex;flex-direction:column;gap:0}.ui-sidebar-v2 .app-sidebar-bottom .app-nav-item{background:transparent!important;color:var(--ui-text-secondary)!important;font-weight:500!important;box-shadow:none!important}.ui-sidebar-v2 .app-sidebar-bottom .app-nav-item:hover{transform:none!important;background:var(--ui-surface)!important}.mobile-drawer-head,.mobile-drawer-overlay,.mobile-topbar{display:none}@media (max-width:768px){.mobile-topbar{display:flex;align-items:center;gap:8px;position:fixed;top:0;left:0;right:0;z-index:900;height:52px;padding:0 12px;background:var(--ui-bg-elevated);border-bottom:1px solid var(--ui-border)}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--ui-radius-md);background:transparent;color:var(--ui-text);cursor:pointer}.mobile-menu-btn:hover{background:var(--ui-surface)}.mobile-topbar-brand{display:flex;align-items:center}.mobile-topbar-spacer{flex:1 1}.app-shell{flex-direction:column;min-height:100dvh}.app-main{flex:1 1;min-height:0;padding-top:52px;padding-bottom:env(safe-area-inset-bottom,0)}.ui-sidebar-v2.app-sidebar{position:fixed;top:0;left:0;width:min(320px,88vw);height:100dvh;max-height:100dvh;z-index:1200;transform:translateX(-105%);transition:transform .24s ease;border-right:1px solid var(--ui-border);box-shadow:4px 0 24px rgba(15,23,42,.12);overflow:hidden}.ui-sidebar-v2.app-sidebar.mobile-open{transform:translateX(0)}.mobile-drawer-overlay{display:block;position:fixed;inset:0;z-index:1100;border:none;padding:0;margin:0;background:rgba(15,23,42,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .24s ease;cursor:pointer}.mobile-drawer-overlay.open{opacity:1;pointer-events:auto}body.mobile-nav-open{overflow:hidden}body.mobile-nav-open .mobile-topbar{visibility:hidden;pointer-events:none}body.mobile-nav-open .app-main{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-drawer-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;flex-shrink:0;padding:10px 12px;border-bottom:1px solid var(--ui-border);background:var(--ui-bg-elevated)}.mobile-drawer-brand{display:flex;align-items:center;min-width:0}.mobile-drawer-title{margin:0;font-size:15px;font-weight:600;color:var(--ui-text);letter-spacing:-.01em}.mobile-drawer-close{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text-secondary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.mobile-drawer-close:hover{background:var(--ui-bg);color:var(--ui-text)}.ui-sidebar-v2 .app-sidebar-top{padding:8px 12px 6px}.ui-sidebar-v2 .app-sidebar-top .app-brand{display:none}.ui-sidebar-v2 .app-nav{flex:1 1;min-height:0;padding:2px 6px 4px;overflow-y:auto;-webkit-overflow-scrolling:touch}.ui-nav-group-toggle{padding:7px 10px}.ui-nav-group-items{padding:0 4px 4px}.ui-sidebar-v2 .app-sidebar-bottom{flex-shrink:0;margin-top:auto;padding:8px 10px calc(10px + env(safe-area-inset-bottom, 0px))}}@media (min-width:769px){.ui-sidebar-v2 .app-sidebar-top .app-brand{display:flex}.ui-sidebar-v2.app-sidebar{width:var(--sidebar-w,var(--ui-sidebar-w))}.ui-sidebar-v2 .app-nav{padding:6px 8px 12px;gap:4px}.ui-nav-group-items{padding:0 4px 6px 8px}.ui-nav-group-toggle{padding:7px 10px;border-radius:var(--ui-radius-md)}.ui-nav-group-toggle:hover{background:var(--ui-surface)}.ui-sidebar-v2 .app-nav-item{min-height:36px;padding:7px 10px}.ui-sidebar-v2 .app-nav-item.active{font-weight:600}.mobile-drawer-head{display:none}}@media (max-width:768px){.ui-sidebar-v2.app-sidebar{background:var(--ui-bg-elevated)}}@media (min-width:769px){.app-shell{--sidebar-w:var(--ui-sidebar-w);--ui-page-max-width:1280px;display:grid;align-items:stretch;width:100%;transition:grid-template-columns .22s ease}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.app-shell.sidebar-collapsed{--sidebar-w:var(--ui-sidebar-w-collapsed);--ui-page-max-width:none}.app-shell>.mobile-drawer-overlay,.app-shell>.mobile-topbar{display:none}.ui-sidebar-v2.app-sidebar{width:100%;min-width:0;grid-column:1;grid-row:1}.app-main{grid-column:2;grid-row:1;flex:none;min-width:0;padding:24px var(--ui-content-gutter,28px) 40px;box-sizing:border-box}.app-main,.app-shell.sidebar-collapsed .biz-page,.app-shell.sidebar-collapsed .cdc-page,.app-shell.sidebar-collapsed .dashboard-page,.app-shell.sidebar-collapsed .ui-page-shell{width:100%;max-width:none}.app-shell.sidebar-collapsed .billing-table-wrap,.app-shell.sidebar-collapsed .crm-clients-table-wrap,.app-shell.sidebar-collapsed .dashboard-hero-kpis,.app-shell.sidebar-collapsed .dashboard-pilotage-grid,.app-shell.sidebar-collapsed .ui-kpi-grid,.app-shell.sidebar-collapsed .ui-table-wrap{width:100%}.ui-sidebar-v2.app-sidebar{width:var(--sidebar-w);transition:width .22s ease;overflow:hidden}.app-sidebar-top-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.sidebar-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-collapse-toggle:hover{background:var(--ui-surface-hover);color:var(--ui-text);border-color:var(--ui-border-strong)}.ui-sidebar-v2.is-collapsed .app-brand{padding:4px}.ui-sidebar-v2.is-collapsed .app-nav-item-label,.ui-sidebar-v2.is-collapsed .sidebar-project-switcher,.ui-sidebar-v2.is-collapsed .ui-nav-group-chevron,.ui-sidebar-v2.is-collapsed .ui-nav-group-toggle-label>span:not(.ui-nav-group-icon),.ui-sidebar-v2.is-collapsed .ui-nav-item-badge,.ui-sidebar-v2.is-collapsed .user-menu-label{display:none!important}.ui-sidebar-v2.is-collapsed .app-sidebar-top{padding:12px 8px 8px}.ui-sidebar-v2.is-collapsed .app-sidebar-top-row{flex-direction:column;gap:8px}.ui-sidebar-v2.is-collapsed .app-sidebar-top-actions{flex-direction:column;align-items:center;gap:8px;width:100%}.ui-sidebar-v2.is-collapsed .app-brand{justify-content:center;width:100%;padding:4px 0}.ui-sidebar-v2.is-collapsed .app-nav,.ui-sidebar-v2.is-collapsed .app-nav--collapsed-icons,.ui-sidebar-v2.is-collapsed .app-sidebar-bottom,.ui-sidebar-v2.is-collapsed .app-sidebar-top,.ui-sidebar-v2.is-collapsed.app-sidebar{overflow-x:hidden}.ui-sidebar-v2.is-collapsed .app-nav,.ui-sidebar-v2.is-collapsed .app-nav--collapsed-icons{scrollbar-width:none}.ui-sidebar-v2.is-collapsed .app-nav--collapsed-icons::-webkit-scrollbar,.ui-sidebar-v2.is-collapsed .app-nav::-webkit-scrollbar{width:0;height:0}.ui-sidebar-v2.is-collapsed .app-sidebar-top-actions>*{flex:0 0 auto}.ui-sidebar-v2.is-collapsed .sidebar-collapse-toggle{width:40px;height:36px}.ui-sidebar-v2.is-collapsed .app-nav--collapsed-icons{padding:4px 6px;gap:4px;align-items:center}.ui-sidebar-v2.is-collapsed .ui-nav-item--icon-only{justify-content:center;width:44px;min-height:40px;padding:8px;margin:0 auto;gap:0;border-left:none!important;padding-left:8px!important}.ui-sidebar-v2.is-collapsed .ui-nav-item--icon-only.active{border-left:none!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand-600) 35%,transparent)}.ui-sidebar-v2.is-collapsed .app-sidebar-theme-panel{margin:0 6px 8px;padding:6px 4px}.ui-sidebar-v2.is-collapsed .theme-switcher--sidebar .theme-switcher-options{display:flex;flex-direction:column;gap:4px;width:100%;padding:0;border:none;background:transparent;box-shadow:none}.ui-sidebar-v2.is-collapsed .user-menu-trigger{justify-content:center;padding:8px}.ui-sidebar-v2.is-collapsed .app-sidebar-bottom{padding:8px 6px 12px}.app-nav-item.ui-nav-item--icon-only[title]:hover:after,.sidebar-collapse-toggle[title]:hover:after{content:attr(title);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);z-index:1300;padding:6px 10px;border-radius:var(--ui-radius-md);background:var(--ui-text);color:var(--ui-text-inverse);font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:var(--ui-shadow-md)}.app-nav-item.ui-nav-item--icon-only{position:relative}}@media (max-width:768px){.sidebar-collapse-toggle{display:none}}.app-sidebar-theme-panel{margin:0 8px 10px;padding:10px 10px 8px;border-radius:var(--ui-radius-lg);background:color-mix(in srgb,var(--ui-surface) 88%,var(--ui-bg-elevated));border:1px solid var(--ui-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.app-sidebar-theme-label{margin:0 0 8px;padding:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-tertiary);text-align:center}.theme-switcher--sidebar{padding:0;gap:0;width:100%}.theme-switcher--sidebar .theme-switcher-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;width:100%;padding:4px;background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm)}.theme-switcher--sidebar .theme-switcher-btn{flex:none;width:100%;min-height:36px;padding:6px 4px;flex-direction:column;gap:3px;font-size:10px;font-weight:600;border-radius:calc(var(--ui-radius-md) - 2px)}.theme-switcher--sidebar .theme-switcher-icon{font-size:15px;line-height:1}.theme-switcher--sidebar .theme-switcher-btn.is-active{background:var(--brand-50);color:var(--brand-700);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-600) 22%,transparent)}.theme-switcher--sidebar .theme-switcher-text{font-size:10px;line-height:1.1;letter-spacing:.01em}.ui-sidebar-v2.is-collapsed .theme-switcher--sidebar .theme-switcher-btn{min-height:32px;min-width:0;padding:5px}.ui-sidebar-v2 .app-sidebar-bottom{padding:10px 6px 14px}.ui-sidebar-v2 .app-sidebar-user{padding:0 8px}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--ui-bg)}.login-theme-bar{position:fixed;top:16px;right:16px;z-index:50}.login-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px;background:radial-gradient(120% 120% at 100% 0,rgba(23,111,101,.5) 0,transparent 55%),linear-gradient(150deg,#172737,#101b26);color:#fffefa}.login-aside:after{content:"";position:absolute;left:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:var(--accent-orange,#e46f3c);opacity:.12;filter:blur(10px)}.login-aside-brand,.login-aside-message{position:relative;z-index:1}.login-aside-message{max-width:22ch;font-size:34px;line-height:1.18;font-weight:700;letter-spacing:-.03em;margin:0}.login-aside-message strong{color:#d4ebe5;font-weight:700}.login-aside-footer{position:relative;z-index:1;font-size:13px;color:rgba(255,255,255,.6)}.login-main{display:flex;align-items:center;justify-content:center;padding:32px 24px}.login-card{width:100%;max-width:400px}.login-card-brand{display:none;margin-bottom:24px}.login-title{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--ui-text);margin:0 0 6px}.login-subtitle{font-size:14.5px;color:var(--ui-text-secondary);margin:0 0 26px}.login-error{font-size:13px;color:var(--ui-danger);background:var(--ui-danger-bg);border:1px solid color-mix(in srgb,var(--ui-danger) 24%,transparent);border-radius:var(--ui-radius-md);padding:10px 12px;margin-bottom:16px}.login-form{display:flex;flex-direction:column;gap:16px}.login-submit{width:100%;margin-top:4px}.login-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--ui-border);font-size:12.5px;color:var(--ui-text-tertiary);text-align:center}.login-footer+.login-footer{margin-top:8px;padding-top:0;border-top:none}.login-saas{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(110% 80% at 50% -10%,rgba(23,111,101,.1) 0,transparent 60%),var(--ui-bg)}.login-saas-card{width:100%;max-width:420px;background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-md);padding:32px 28px}.login-saas-brand{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:22px}.login-saas-brand-text{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ui-text)}.login-saas-title{font-size:24px;font-weight:700;letter-spacing:-.025em;color:var(--ui-text);margin:0 0 6px;text-align:center}.login-saas-subtitle{font-size:14px;color:var(--ui-text-secondary);margin:0 0 22px;text-align:center}.login-saas-error{font-size:13px;color:var(--ui-danger);background:var(--ui-danger-bg);border:1px solid color-mix(in srgb,var(--ui-danger) 24%,transparent);border-radius:var(--ui-radius-md);padding:10px 12px;margin-bottom:16px}.login-saas-info{font-size:13.5px;line-height:1.5;color:var(--ui-text);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--ui-radius-md);padding:12px 14px;margin-bottom:16px}.login-saas-info p{margin:0 0 8px}.login-saas-info p:last-child{margin-bottom:0}.login-saas-form{display:flex;flex-direction:column;gap:16px}.login-saas-submit{width:100%;margin-top:4px}.login-saas-footer{margin-top:18px;font-size:13px;color:var(--ui-text-tertiary);text-align:center}.login-saas-card .ui-link{font-weight:600}@media (max-width:860px){.login-shell{grid-template-columns:1fr}.login-aside{display:none}.login-card-brand{display:flex;justify-content:center}.login-main{min-height:100dvh}}.dark body,.dark html{background:var(--ui-bg);color:var(--ui-text)}.dark .theme-switcher--sidebar .theme-switcher-btn.is-active{background:color-mix(in srgb,var(--brand-600) 18%,var(--ui-bg-elevated));color:var(--ui-text)}.dark .app-shell{background:var(--ui-bg)}.dark .ui-sidebar-v2 .app-nav-item.active{background:var(--brand-50);color:var(--ui-text);border-left-color:var(--brand-600)}.dark .portal-nav-link--active,.dark .portal-nav-mobile-link--active{background:var(--brand-50);color:var(--brand-500)}.dark .user-menu-dropdown{border-color:var(--ui-border);box-shadow:var(--ui-shadow-lg)}.dark .mobile-drawer,.dark .user-menu-dropdown{background:var(--ui-bg-elevated)}.dark .analytics-card,.dark .deploy-card,.dark .deploy-table-wrap,.dark .fp-pre,.dark .logs-panel,.dark .metric-card,.dark .overview-card,.dark .preview-frame,.dark .speed-card,.dark .status-card{background:var(--ui-bg-elevated)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}.dark .fp-pre,.dark .logs{background:var(--ui-surface)!important;color:var(--ui-text-secondary)!important}.dark .analytics-table td,.dark .analytics-table th,.dark .deploy-table td,.dark .deploy-table th{border-color:var(--ui-border)!important}.dark .deploy-table tr:hover td{background:var(--ui-surface-hover)!important}.dark .ged-doc-icon{background:linear-gradient(135deg,var(--ui-info-bg),var(--brand-50))!important;color:var(--ui-info)!important}.dark .ui-kanban-column{background:var(--ui-surface)}.dark .ui-kanban-card{background:var(--ui-bg-elevated)}.theme-switcher{display:flex;flex-direction:column;gap:4px;padding:8px 10px}.theme-switcher-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-tertiary);padding:0 4px 4px}.theme-switcher-options{display:flex;gap:4px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:3px}.theme-switcher-options--inline{flex-direction:row}.theme-switcher-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:6px 8px;border:none;border-radius:calc(var(--ui-radius-md) - 2px);background:transparent;color:var(--ui-text-secondary);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--ui-font);transition:background .15s ease,color .15s ease}.theme-switcher-btn:hover{color:var(--ui-text);background:var(--ui-surface-hover)}.theme-switcher-btn.is-active{background:var(--ui-bg-elevated);color:var(--ui-text);box-shadow:var(--ui-shadow-sm)}.theme-switcher-btn--compact{min-width:36px;min-height:36px;padding:6px;flex:0 0 auto}.theme-switcher-icon{font-size:14px;line-height:1}.theme-switcher-text{white-space:nowrap}.theme-switcher--header{padding:0}.theme-switcher--header .theme-switcher-options{background:var(--ui-surface)}@media (max-width:520px){.theme-switcher-text{display:none}}.ui-kpi{position:relative;border-radius:var(--ui-radius-lg);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.ui-kpi:hover{box-shadow:var(--ui-shadow-md);border-color:var(--ui-border-strong)}.ui-kpi--accent{border-left:3px solid var(--brand-600);padding-left:17px}.ui-kpi--highlight{background:linear-gradient(135deg,var(--ui-bg-elevated) 0,var(--brand-50) 100%);border-color:color-mix(in srgb,var(--brand-600) 18%,var(--ui-border))}.ui-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.ui-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--ui-accent-soft);color:var(--brand-600);flex-shrink:0}.ui-kpi-icon--success{background:color-mix(in srgb,var(--ui-success) 12%,transparent);color:var(--ui-success)}.ui-kpi-icon--warning{background:color-mix(in srgb,var(--ui-warning) 12%,transparent);color:var(--ui-warning)}.ui-kpi-icon--info{background:var(--ui-info-bg);color:var(--ui-info)}.ui-kpi-icon--danger{background:var(--ui-danger-bg);color:var(--ui-danger)}.ui-kpi-value{font-size:26px;letter-spacing:-.02em}.ui-card{border-radius:var(--ui-radius-lg);transition:box-shadow .18s ease}.ui-card:hover{box-shadow:var(--ui-shadow-md)}.ui-card-head{background:var(--ui-bg-subtle)}.ui-card--flush .ui-card-body{padding-top:16px}.dashboard-hero{margin-bottom:24px}.dashboard-hero-kpis{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.dashboard-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.dashboard-hero-kpis{grid-template-columns:1fr}}.dashboard-section-title{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ui-text-tertiary)}.dashboard-quick-nav{gap:10px}.dashboard-quick-link{gap:8px;padding:10px 16px;border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dashboard-quick-link:hover{transform:translateY(-1px);box-shadow:var(--ui-shadow-md)}.dashboard-quick-link-icon{display:inline-flex;color:var(--brand-600)}.dashboard-pilotage-grid{gap:18px;margin-bottom:18px}.ui-alert-item--critical{border-left:3px solid var(--ui-danger);background:var(--ui-danger-bg)}.ui-alert-item--warning{border-left:3px solid var(--ui-warning);background:var(--ui-warning-bg)}.ui-alert-item--info{border-left:3px solid var(--ui-info);background:var(--ui-info-bg)}.cdc-page{max-width:min(1120px,var(--ui-page-max-width,1120px));width:100%}.cdc-hero{display:grid;grid-gap:16px;gap:16px;margin-bottom:20px}.cdc-hero-main{background:var(--ui-bg-elevated);border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);padding:22px 24px;box-shadow:var(--ui-shadow-sm)}.cdc-hero-title{margin:0 0 10px;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ui-text);line-height:1.25}.cdc-hero-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.cdc-hero-header .cdc-hero-title{margin:0;flex:1 1;min-width:220px}.cdc-hero-pilotage{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.cdc-pilotage-field{display:flex;flex-direction:column;gap:6px;min-width:150px}.cdc-pilotage-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-tertiary)}.cdc-pilotage-input{min-width:150px}.spec-deadline{display:inline-block;font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.spec-deadline--neutral{color:#475569;background:#eef2f6;border-color:#dbe2ea}.spec-deadline--ok{color:#15803d;background:#dcfce7;border-color:#a7f3c4}.spec-deadline--warning{color:#b4480f;background:#ffedd5;border-color:#fed7aa}.spec-deadline--critical{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.cdc-progress{display:flex;align-items:center;gap:12px;margin-top:14px}.cdc-progress-track{flex:1 1;height:8px;border-radius:999px;background:var(--ui-surface);overflow:hidden}.cdc-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand-600),var(--brand-500));transition:width .3s ease}.cdc-progress-label{font-size:12px;font-weight:600;color:var(--ui-text-secondary);white-space:nowrap}.cdc-status-card{margin-top:14px;padding:14px 16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg-subtle)}.cdc-status-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cdc-status-card-title{margin:0;font-size:14px;font-weight:600;color:var(--ui-text)}.cdc-status-card-hint{margin:8px 0 0;font-size:13px;color:var(--ui-text-secondary);line-height:1.45}.cdc-status-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cdc-meta-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cdc-meta-card{background:var(--ui-bg-subtle);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:12px 14px}.cdc-meta-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-tertiary);margin-bottom:4px}.cdc-meta-value{font-size:14px;font-weight:600;color:var(--ui-text)}.cdc-workflow-stack{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px}.cdc-document{font-size:14px;line-height:1.75;color:var(--ui-text);background:var(--ui-bg-subtle);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:20px 22px;white-space:pre-wrap;word-break:break-word;max-height:70vh;overflow:auto}.cdc-section-pills{display:flex;flex-wrap:wrap;gap:8px}.client-wizard-steps{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.client-wizard-step{flex:1 1;min-width:100px;padding:8px 10px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface);font-size:11px;font-weight:600;text-align:center;color:var(--ui-text-tertiary)}.client-wizard-step.is-active{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700)}.client-wizard-step.is-done{color:var(--ui-success);border-color:color-mix(in srgb,var(--ui-success) 30%,var(--ui-border))}.ui-modal--lg{max-width:720px;width:calc(100vw - 32px)}.ui-page-shell{overflow-x:hidden}.crm-clients-table-wrap,.ui-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:768px){.ui-modal--lg{max-width:100%;margin:8px}.cdc-hero-title{font-size:20px}}