:root{--navy-50:#f0f4ff;--navy-100:#dbe4ff;--navy-200:#bac8ff;--navy-300:#91a7ff;--navy-400:#748ffc;--navy-500:#5c7cfa;--navy-600:#4263eb;--navy-700:#3b5bdb;--navy-800:#364fc7;--navy-900:#0f172a;--navy-950:#0a0f1e;--teal-50:#e6fcf5;--teal-100:#c3fae8;--teal-200:#96f2d7;--teal-300:#63e6be;--teal-400:#38d9a9;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--warm-50:#fefcfb;--warm-100:#fdf4ef;--warm-200:#fde8d8;--warm-300:#fbd5b5;--red-500:#ef4444;--red-600:#dc2626;--amber-500:#f59e0b;--green-500:#22c55e;--green-600:#16a34a;--bg-primary:var(--navy-950);--bg-secondary:var(--navy-900);--bg-tertiary:rgba(30,41,59,0.95);--bg-card:rgba(15,23,42,0.8);--bg-card-hover:rgba(30,41,59,0.9);--bg-input:rgba(15,23,42,0.6);--border-color:rgba(148,163,184,0.15);--border-active:var(--teal-500);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:var(--teal-500);--accent-hover:var(--teal-400);--accent-glow:rgba(20,184,166,0.15);--control-bg:var(--bg-input);--control-border:var(--border-color);--control-border-hover:rgba(148,163,184,0.25);--control-border-focus:var(--accent);--control-shadow-focus:0 0 0 3px var(--accent-glow);--secondary-btn-bg:var(--bg-card);--secondary-btn-border:var(--border-color);--secondary-btn-hover-bg:var(--bg-card-hover);--tab-strip-bg:var(--bg-secondary);--tab-strip-border:var(--border-color);--tab-bg:transparent;--tab-bg-active:var(--bg-card);--tab-text:var(--text-muted);--tab-text-active:var(--accent);--tab-shadow-active:var(--shadow-sm);--table-head-bg:transparent;--table-row-hover-bg:rgba(148,163,184,0.08);--settings-create-panel-bg:var(--bg-secondary);--settings-create-panel-border:var(--border-color);--settings-create-panel-shadow:0 12px 24px -12px rgba(0,0,0,0.2);--settings-template-shell-bg:var(--bg-primary);--settings-template-shell-border:var(--border-color);--settings-template-tile-bg:var(--bg-secondary);--settings-template-tile-active-bg:var(--bg-tertiary);--settings-template-tile-border:var(--border-color);--settings-template-tile-border-active:var(--accent);--settings-template-tile-shadow-active:var(--shadow-sm);--panel-bg:var(--bg-card);--panel-border:var(--border-color);--panel-border-hover:rgba(148,163,184,0.25);--panel-shadow:0 1px 2px rgba(0,0,0,0.18),0 8px 20px rgba(0,0,0,0.14);--panel-shadow-hover:0 12px 26px rgba(0,0,0,0.22);--panel-active-shadow:0 0 0 1px var(--accent),0 12px 26px rgba(0,0,0,0.2);--dashboard-strip-bg:var(--bg-tertiary);--chart-tooltip-bg:var(--bg-card);--chart-tooltip-border:var(--border-color);--chart-tooltip-shadow:var(--shadow-lg);--sidebar-bg:var(--bg-secondary);--sidebar-border:1px solid var(--border-color);--sidebar-link-hover-bg:rgba(148,163,184,0.08);--sidebar-link-active-bg:var(--accent-glow);--sidebar-link-active-color:var(--accent);--sidebar-link-active-shadow:none;--sidebar-label-color:var(--text-muted);--sidebar-user-bg:rgba(15,23,42,0.5);--sidebar-user-border:1px solid var(--border-color);--sidebar-shadow:none;--surface-subtle:var(--bg-secondary);--surface-elevated:var(--bg-card);--accent-soft:rgba(20,184,166,0.12);--accent-strong:var(--accent);--shadow-soft:var(--shadow-sm);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.3),0 2px 4px -2px rgba(0,0,0,0.2);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -4px rgba(0,0,0,0.3);--shadow-glow:0 0 20px rgba(20,184,166,0.1);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=light]{--bg-primary:#f7f3ed;--bg-secondary:#efe7dc;--bg-tertiary:#e8dccd;--bg-card:#fffdfa;--bg-card-hover:#f9f3ea;--bg-input:#fffaf4;--border-color:rgba(148,163,184,0.28);--text-primary:#0f172a;--text-secondary:#44556f;--text-muted:#6f7f95;--accent-glow:rgba(20,184,166,0.12);--control-bg:#fffaf4;--control-border:rgba(148,163,184,0.28);--control-border-hover:rgba(148,163,184,0.38);--control-border-focus:var(--accent);--control-shadow-focus:0 0 0 3px rgba(20,184,166,0.12);--secondary-btn-bg:#fff8f0;--secondary-btn-border:rgba(148,163,184,0.28);--secondary-btn-hover-bg:#f9f3ea;--tab-strip-bg:rgba(232,220,205,0.58);--tab-strip-border:rgba(148,163,184,0.22);--tab-bg:transparent;--tab-bg-active:#fffdfa;--tab-text:#6f7f95;--tab-text-active:#0f766e;--tab-shadow-active:0 1px 3px rgba(15,23,42,0.08);--table-head-bg:rgba(243,237,228,0.72);--table-row-hover-bg:rgba(232,220,205,0.34);--settings-create-panel-bg:#efe7dc;--settings-create-panel-border:rgba(148,163,184,0.22);--settings-create-panel-shadow:0 12px 24px -12px rgba(15,23,42,0.18);--settings-template-shell-bg:#f7f3ed;--settings-template-shell-border:rgba(148,163,184,0.28);--settings-template-tile-bg:#efe7dc;--settings-template-tile-active-bg:#e8dccd;--settings-template-tile-border:rgba(148,163,184,0.28);--settings-template-tile-border-active:var(--accent);--settings-template-tile-shadow-active:0 0 0 1px rgba(20,184,166,0.12);--panel-bg:#fffdfa;--panel-border:rgba(148,163,184,0.24);--panel-border-hover:rgba(148,163,184,0.34);--panel-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 20px rgba(15,23,42,0.04);--panel-shadow-hover:0 10px 24px rgba(15,23,42,0.07);--panel-active-shadow:0 0 0 1px rgba(20,184,166,0.2),0 10px 24px rgba(15,23,42,0.06);--dashboard-strip-bg:rgba(232,220,205,0.6);--chart-tooltip-bg:#fffdfa;--chart-tooltip-border:rgba(148,163,184,0.24);--chart-tooltip-shadow:0 10px 24px rgba(15,23,42,0.08);--sidebar-bg:linear-gradient(180deg,#f3ede4,#efe7dc);--sidebar-border:1px solid rgba(148,163,184,0.22);--sidebar-link-hover-bg:rgba(16,33,58,0.04);--sidebar-link-active-bg:rgba(20,184,166,0.14);--sidebar-link-active-color:#0f766e;--sidebar-link-active-shadow:inset 0 0 0 1px rgba(20,184,166,0.08);--sidebar-label-color:#73839a;--sidebar-user-bg:rgba(232,220,205,0.72);--sidebar-user-border:1px solid rgba(148,163,184,0.18);--sidebar-shadow:1px 0 0 rgba(255,255,255,0.45),8px 0 24px rgba(15,23,42,0.04);--surface-subtle:rgba(232,220,205,0.58);--surface-elevated:#fffdfa;--accent-soft:rgba(20,184,166,0.12);--accent-strong:#0f766e;--shadow-soft:0 1px 3px rgba(15,23,42,0.08);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.05)}*{margin:0;padding:0;box-sizing:border-box}html{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;padding:32px;margin-left:260px;min-height:100vh}.sidebar{width:260px;height:100vh;position:fixed;left:0;top:0;background:var(--sidebar-bg);border-right:var(--sidebar-border);padding:24px 16px;display:flex;flex-direction:column;z-index:50;box-shadow:var(--sidebar-shadow)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:32px}.sidebar-logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--teal-500),var(--teal-700));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:white;font-weight:800;font-size:18px}.sidebar-logo h1{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.sidebar-logo span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left}.sidebar-link:hover{background:var(--sidebar-link-hover-bg);color:var(--text-primary)}.sidebar-link.active{background:var(--sidebar-link-active-bg);color:var(--sidebar-link-active-color);box-shadow:var(--sidebar-link-active-shadow)}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-label-color);padding:20px 12px 8px}.sidebar-user{border-top:var(--sidebar-user-border);background:var(--sidebar-user-bg);margin:auto -16px 0;padding:16px 16px 8px}.sidebar-user-info{display:flex;align-items:center;gap:12px;padding:8px 12px}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--navy-600),var(--navy-400));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:white}.sidebar-user-name{font-size:14px;font-weight:600;color:var(--text-primary)}.sidebar-user-role{font-size:12px;color:var(--text-muted)}.page-header{margin-bottom:32px}.page-header h2{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px}.page-header p{font-size:15px;color:var(--text-secondary)}.dashboard-stack{--dashboard-section-gap:24px;display:flex;flex-direction:column;gap:var(--dashboard-section-gap)}.dashboard-section{min-width:0}.dashboard-section .stats-grid{margin-bottom:0}.personal-grant-breakdown{display:grid;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{appearance:none;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:24px;transition:all var(--transition-base);backdrop-filter:blur(8px);box-shadow:var(--panel-shadow);color:inherit;font:inherit;text-align:left;width:100%}.card:hover,.stat-card:hover{transform:translateY(-2px)}.card:hover,.stat-card:hover,.table-container:hover{border-color:var(--panel-border-hover);box-shadow:var(--panel-shadow-hover)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-card-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-card-icon.teal{background:rgba(20,184,166,.15);color:var(--teal-400)}.stat-card-icon.blue{background:rgba(59,130,246,.15);color:#60a5fa}.stat-card-icon.amber{background:rgba(245,158,11,.15);color:var(--amber-500)}.stat-card-icon.green{background:rgba(34,197,94,.15);color:var(--green-500)}.stat-card-label{font-size:13px;font-weight:500;color:var(--text-muted)}.stat-card-value{font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stat-card.clickable{cursor:pointer;user-select:none}.stat-card.clickable:hover{border-color:var(--panel-border-hover);box-shadow:var(--panel-shadow-hover);transform:translateY(-2px)}.stat-card.active{border-color:var(--border-active);box-shadow:var(--panel-active-shadow)}.stat-card.active:hover{transform:none}.drill-down-panel{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,margin .25s ease;opacity:0;margin-top:0}.drill-down-panel.open{max-height:600px;opacity:1;margin-top:20px}.table-container{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);overflow:hidden;backdrop-filter:blur(8px);box-shadow:var(--panel-shadow)}.table-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.table-header h3{font-size:16px;font-weight:600;color:var(--text-primary)}.table-search{display:flex;align-items:center;gap:8px;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:8px 12px;max-width:280px}.table-search input{background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;width:100%}.table-search input::placeholder{color:var(--text-muted)}.table-search svg{color:var(--text-muted);width:16px;height:16px;flex-shrink:0}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:12px 24px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:var(--table-head-bg)}tbody td{padding:16px 24px;font-size:14px;color:var(--text-secondary);border-bottom:1px solid rgba(148,163,184,.06)}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--table-row-hover-bg)}.data-table{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--panel-shadow)}tbody tr:last-child td{border-bottom:none}.client-name{color:var(--text-primary);font-weight:600;text-decoration:none}.client-name:focus-visible,.client-name:hover{color:var(--accent);text-decoration:underline}.table-sort-button{appearance:none;display:inline-flex;align-items:center;gap:2px;padding:0;background:none;border:none;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;user-select:none}.table-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.02em}.badge-dvaf{background:rgba(139,92,246,.15);color:#a78bfa}.badge-ecrf{background:rgba(59,130,246,.15);color:#60a5fa}.badge-uw{background:rgba(245,158,11,.15);color:#fbbf24}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--teal-500),var(--teal-600));color:white;box-shadow:0 2px 8px rgba(20,184,166,.25)}.btn-primary:hover{background:linear-gradient(135deg,var(--teal-400),var(--teal-500));box-shadow:0 4px 12px rgba(20,184,166,.35);transform:translateY(-1px)}.btn-secondary{background:var(--secondary-btn-bg);color:var(--text-primary);border:1px solid var(--secondary-btn-border)}.btn-secondary:hover{background:var(--secondary-btn-hover-bg);border-color:var(--control-border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:rgba(148,163,184,.08);color:var(--text-primary)}.btn-danger{background:rgba(239,68,68,.15);color:var(--red-500)}.btn-danger:hover{background:rgba(239,68,68,.25)}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.01em}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--control-border-focus);box-shadow:var(--control-shadow-focus)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2373849a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-checkbox-group{display:flex;align-items:center;gap:10px;padding:8px 0}.form-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-checkbox-label{font-size:14px;color:var(--text-secondary);cursor:pointer}.settings-tab-strip{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--tab-strip-bg);border:1px solid var(--tab-strip-border);border-radius:12px;box-shadow:var(--shadow-sm)}.settings-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid transparent;background:var(--tab-bg);color:var(--tab-text);font-weight:600;font-size:14px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{background:var(--tab-bg-active);color:var(--tab-text-active);box-shadow:var(--tab-shadow-active);border-color:var(--border-color)}.settings-theme-card{text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--control-border);background:var(--control-bg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.settings-theme-card:hover{border-color:var(--control-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.settings-theme-card.active{border-color:var(--accent);background:rgba(20,184,166,.1);box-shadow:var(--control-shadow-focus)}.settings-create-panel{padding:32px 24px;background:var(--settings-create-panel-bg);border-bottom:1px solid var(--settings-create-panel-border);margin-bottom:32px;box-shadow:var(--settings-create-panel-shadow);position:relative;z-index:10}.settings-template-shell{margin-bottom:24px;padding:16px;border:1px solid var(--settings-template-shell-border);border-radius:8px;background:var(--settings-template-shell-bg)}.settings-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.settings-template-tile{padding:12px;border-radius:6px;border:2px solid var(--settings-template-tile-border);cursor:pointer;background:var(--settings-template-tile-bg);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.settings-template-tile:hover{border-color:var(--control-border-hover);transform:translateY(-1px)}.settings-template-tile.active{border-color:var(--settings-template-tile-border-active);background:var(--settings-template-tile-active-bg);box-shadow:var(--settings-template-tile-shadow-active)}.card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:24px;backdrop-filter:blur(8px);box-shadow:var(--panel-shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.step-indicator{gap:0;margin-bottom:40px}.step,.step-indicator{display:flex;align-items:center}.step{gap:10px;flex:1}.step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;transition:all var(--transition-base)}.step.active .step-number{background:var(--accent);color:white;box-shadow:0 0 12px rgba(20,184,166,.4)}.step.completed .step-number{background:var(--green-600);color:white}.step.inactive .step-number{background:rgba(148,163,184,.1);color:var(--text-muted);border:1px solid var(--border-color)}.step-label{font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.step.active .step-label{color:var(--text-primary)}.step.completed .step-label{color:var(--green-500)}.step-line{flex:1;height:2px;background:var(--border-color);margin:0 8px}.step-line.completed{background:var(--green-500)}.login-container{min-height:100vh;justify-content:center;padding:32px;background:radial-gradient(ellipse at top,rgba(20,184,166,.08) 0,transparent 50%),var(--bg-primary)}.login-container,.login-logo{display:flex;flex-direction:column;align-items:center}.login-logo{margin-bottom:48px}.login-logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--teal-500),var(--teal-700));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 32px rgba(20,184,166,.2)}.login-logo h1{font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:-.03em}.login-logo p{font-size:15px;color:var(--text-secondary);margin-top:4px}.login-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;width:100%}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px;text-align:center;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.login-card:hover{border-color:var(--accent);box-shadow:0 0 24px var(--accent-glow),var(--shadow-lg);transform:translateY(-4px)}.login-card-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.login-card h3{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.login-card p{font-size:13px;color:var(--text-muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state svg{margin-bottom:16px;opacity:.3}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.empty-state p{font-size:14px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.profile-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.profile-section h4{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.profile-field{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.06)}.profile-field:last-child{border-bottom:none}.profile-field-label{font-size:13px;color:var(--text-muted)}.profile-field-value{font-size:14px;font-weight:500;color:var(--text-primary)}.vulnerability-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.vulnerability-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(239,68,68,.12);color:#fca5a5;border-radius:100px;font-size:12px;font-weight:600}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:32px;max-width:520px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}.avatar-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px}.avatar-editor-crop-surface{position:relative;height:360px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(15,23,42,.65))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-sm{font-size:14px}.text-muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.w-full{width:100%}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.skeleton-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:24px;padding:16px 24px;border-bottom:1px solid rgba(148,163,184,.06)}.skeleton-cell{height:14px;border-radius:4px;background:linear-gradient(90deg,rgba(148,163,184,.06) 25%,rgba(148,163,184,.12) 50%,rgba(148,163,184,.06) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.budget-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.bottom-nav,.fab-backdrop,.fab-container,.mobile-only{display:none}.mobile-client-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;background:#1e2d42;border:1px solid rgba(148,163,184,.2);border-left:3px solid var(--accent);border-radius:4px 12px 12px 4px;padding:14px 16px;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.4);box-sizing:border-box}.mobile-client-card:active{background:#243651;transform:scale(.98);box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 16px rgba(20,184,166,.12)}.mobile-client-card-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.mobile-client-card-name{font-weight:700;font-size:15px;color:var(--text-primary);line-height:1.3}.mobile-client-card-zip{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0;margin-left:8px}.mobile-client-card-mid{margin-bottom:10px;gap:8px;flex-wrap:wrap}.mobile-client-card-bottom,.mobile-client-card-mid{display:flex;justify-content:space-between;align-items:center}.mobile-client-card-bottom{padding-top:8px;border-top:1px solid rgba(148,163,184,.08)}.mobile-client-list{flex-direction:column;gap:12px;padding:8px 0;overflow:hidden;max-width:100%;width:100%;box-sizing:border-box}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);align-items:center;padding:0 16px;z-index:60;gap:12px}.mobile-hamburger{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.mobile-hamburger:active{background:rgba(148,163,184,.12)}.mobile-header-brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-weight:700;font-size:16px}.mobile-header-brand span{color:var(--text-primary)}.sidebar-close,.sidebar-overlay{display:none}@media (max-width:768px){.mobile-header{display:flex}.sidebar{transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.5)}.sidebar-close{display:flex;position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm)}.sidebar-close:active{background:rgba(148,163,184,.12)}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);z-index:150;animation:fadeIn .2s ease}body,html{overflow-x:hidden;width:100%}.app-layout,.main-content{max-width:100vw;overflow-x:hidden}.main-content{margin-left:0;padding:72px 16px 76px;width:100%;box-sizing:border-box}.card,.profile-section,.stat-card,.table-container{max-width:100%;overflow:hidden;box-sizing:border-box}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:rgba(13,27,42,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-color);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around}.bottom-nav,.bottom-nav-tab{display:flex;align-items:center}.bottom-nav-tab{flex-direction:column;justify-content:center;gap:2px;flex:1;height:100%;background:none;border:none;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;text-decoration:none;transition:color .2s ease;-webkit-tap-highlight-color:transparent;min-width:0}.bottom-nav-tab:active,.bottom-nav-tab:hover{color:var(--text-secondary)}.bottom-nav-tab.active{color:var(--accent)}.bottom-nav-tab.active svg{filter:drop-shadow(0 0 6px rgba(0,200,170,.4))}.bottom-nav-tab svg{width:22px;height:22px}.bottom-nav-tab span{letter-spacing:.3px}.fab-container{display:block;position:fixed;right:16px;bottom:80px;z-index:110}.fab-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:105;animation:fadeIn .2s ease}.fab-main{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),#00a896);color:white;cursor:pointer;box-shadow:0 4px 16px rgba(0,200,170,.4);display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s ease;-webkit-tap-highlight-color:transparent}.fab-main:active{transform:scale(.9)}.fab-container.expanded .fab-main{transform:rotate(45deg);background:var(--bg-tertiary);color:var(--text-primary);box-shadow:0 2px 8px rgba(0,0,0,.3)}.fab-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;animation:fabSlideUp .2s ease}@keyframes fabSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fab-action-btn{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:28px;color:var(--text-primary);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:background .15s ease}.fab-action-btn:active{background:var(--bg-tertiary)}.page-header{margin-bottom:20px}.page-header h2{font-size:22px}.page-header p{font-size:13px}.dashboard-stack{--dashboard-section-gap:16px}.personal-grant-breakdown{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat-card{padding:10px 12px}.stat-card-header{margin-bottom:2px}.stat-card-value{font-size:20px;line-height:1.2}.stat-card-label{font-size:11px}.stat-card-icon{width:24px;height:24px}.stat-card-icon svg{width:14px;height:14px}.card-header{margin-bottom:10px}.card-header h3{font-size:15px}.card{padding:14px;margin-bottom:0}.dashboard-two-col{gap:10px}.desktop-only{display:none!important}.mobile-only{display:block!important}.mobile-only.mobile-client-list{display:flex!important}.drill-down-panel.open{max-height:400px;overflow-y:auto;margin-top:8px}.table-header{flex-direction:column;gap:12px;padding:16px;align-items:flex-start}.table-container,.table-search{max-width:100%;width:100%}.table-container{overflow-x:hidden;box-sizing:border-box}.table-container .desktop-only{overflow-x:auto;-webkit-overflow-scrolling:touch}thead th{padding:10px 12px;font-size:11px;white-space:nowrap}tbody td{padding:12px;font-size:13px}table{min-width:540px}.form-row{grid-template-columns:1fr;gap:12px}.card{padding:16px}.step-label{display:none}.step-number{width:32px;height:32px;font-size:13px}.step-indicator{margin-bottom:24px}.step-line{margin:0 4px}.login-cards{grid-template-columns:1fr;max-width:400px}.login-card{padding:24px}.login-logo h1{font-size:24px}.login-container{padding:20px}.profile-grid{grid-template-columns:1fr}.profile-section{padding:16px}.btn{padding:12px 18px;font-size:14px;min-height:44px}.btn-sm{padding:10px 14px;min-height:40px}.modal-content{width:95%;padding:20px;max-width:none}.avatar-editor-layout{grid-template-columns:1fr}.avatar-editor-crop-surface{height:280px}.form-checkbox{width:22px;height:22px}.flex.justify-between{flex-wrap:wrap;gap:8px}.dashboard-two-col{gap:16px}.budget-breakdown,.dashboard-two-col{grid-template-columns:1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.main-content{padding:68px 12px 12px}.page-header h2{font-size:20px}.stat-card{padding:14px}.stat-card-value{font-size:22px}tbody td{padding:10px 8px;font-size:12px}thead th{padding:8px;font-size:10px}}@media (min-width:769px) and (max-width:1024px){.main-content{padding:24px}.login-cards,.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header h2{font-size:24px}}@media (hover:none) and (pointer:coarse){.btn-primary:hover,.login-card:hover,.stat-card:hover{transform:none}.stat-card:active{border-color:rgba(148,163,184,.25);box-shadow:var(--shadow-glow)}.login-card:active{border-color:var(--accent);box-shadow:0 0 24px var(--accent-glow),var(--shadow-lg)}.sidebar-link{padding:14px 12px;min-height:48px}*{touch-action:manipulation}a,button{-webkit-tap-highlight-color:rgba(20,184,166,.15)}::-webkit-scrollbar{width:10px}}.segmented-control{display:inline-flex;gap:6px;padding:6px;border-radius:12px;background:var(--surface-subtle);border:1px solid var(--border-color)}.segmented-control-option{border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;padding:10px 14px;border-radius:10px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.segmented-control-option.active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-soft)}.report-preview-empty,.report-preview-sheet{padding:20px;min-width:0}.report-preview-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.report-preview-kicker{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.report-preview-header h3{margin:0;font-size:24px;color:var(--text-primary)}.report-preview-subtitle{margin:8px 0 0;font-size:14px;color:var(--text-secondary)}.report-preview-meta{display:grid;gap:10px;min-width:180px}.report-preview-meta span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.report-preview-meta strong{color:var(--text-primary)}.report-preview-top{display:grid;gap:18px}.report-preview-top.with-sidebar{grid-template-columns:minmax(0,2fr) minmax(280px,.95fr)}.report-preview-footer-stack,.report-preview-main,.report-preview-sidebar,.report-preview-summary-stack{display:grid;gap:18px;min-width:0}.report-preview-section{border:1px solid var(--border-color);border-radius:16px;background:var(--panel-bg);box-shadow:var(--panel-shadow);min-width:0}.report-preview-section-header{padding:16px 18px;border-bottom:1px solid var(--border-color)}.report-preview-section-header h4{margin:0;font-size:15px;color:var(--text-primary)}.report-preview-text-block{padding:18px;white-space:pre-wrap;line-height:1.7;color:var(--text-secondary)}.report-preview-table-shell{overflow-x:auto;max-width:100%;min-width:0;width:100%}.report-preview-table{width:100%;border-collapse:collapse;table-layout:auto}.report-preview-table--wide{table-layout:fixed}.report-preview-table td,.report-preview-table th{padding:12px 14px;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top}.report-preview-table--wide td,.report-preview-table--wide th{padding:8px 10px;line-height:1.35}.report-preview-table th{background:var(--table-head-bg);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report-preview-table--wide th{font-size:10px;letter-spacing:.04em}.report-preview-table td{font-size:13px;color:var(--text-secondary)}.report-preview-table--wide td{font-size:12px}.report-preview-table tbody tr:hover{background:var(--table-row-hover-bg)}.report-preview-metric-grid{display:grid;gap:12px;padding:18px}.report-preview-metric-card{border:1px solid var(--border-color);border-radius:14px;background:var(--surface-subtle);padding:16px}.report-preview-metric-label{color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:8px}.report-preview-metric-value{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.report-preview-metric-description{color:var(--text-muted);font-size:12px;line-height:1.5}.report-preview-breakdowns{display:grid;gap:14px;padding:18px}.report-preview-breakdown-card{border:1px solid var(--border-color);border-radius:14px;background:var(--surface-subtle);padding:16px}.report-preview-breakdown-title{font-size:14px;font-weight:700;color:var(--text-primary)}.report-preview-breakdown-subtitle{font-size:12px;color:var(--text-muted);margin:6px 0 12px}.report-preview-breakdown-list{display:grid;gap:8px}.report-preview-breakdown-row{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:13px}.report-workspace-header{padding:18px;display:grid;gap:12px}.report-workspace-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.report-workspace-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start}.report-workspace-mobile-actions{display:none;gap:10px}.report-workspace-mobile-actions .btn{flex:1}.report-workspace-chevron{transition:transform var(--transition-fast)}.report-workspace-chevron.open{transform:rotate(180deg)}.report-workspace-controls{display:grid;gap:14px}.report-workspace-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.report-workspace-template-row{display:flex;align-items:center;gap:8px}.report-workspace-template-row .form-input{flex:1}.report-workspace-period-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--border-color)}.report-workspace-period-meta{display:flex;gap:12px;max-width:420px;color:var(--text-secondary)}.report-workspace-period-meta strong{display:block;margin-bottom:4px;color:var(--text-primary)}.report-workspace-period-meta p{margin:0;font-size:13px;line-height:1.6}.report-workspace-preset-list{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.report-workspace-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-workspace-stack{display:grid;gap:16px;margin-top:14px}.report-status-banner{position:relative;overflow:hidden;padding:18px;display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--accent-strong) 28%,var(--border-color));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 80%,transparent),transparent 65%),var(--surface-elevated);box-shadow:0 10px 22px rgba(0,0,0,.08)}.report-status-banner:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent-strong),var(--teal-400))}.report-status-banner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.report-status-banner h3{margin:6px 0 4px;color:var(--text-primary);font-size:clamp(21px,2vw,28px);line-height:1.2;letter-spacing:0}.report-status-banner-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.report-status-banner-period{color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.02em}.report-status-banner-summary{margin:0;color:var(--text-primary);font-size:15px;font-weight:600}.report-status-banner-detail{margin:0;color:var(--text-secondary);line-height:1.6}.report-snapshot-card{padding:18px;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,.8fr);gap:16px;align-items:start}.report-snapshot-kicker{margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.report-snapshot-card h3{margin:0 0 6px;font-size:24px;color:var(--text-primary)}.report-snapshot-card p{margin:0;color:var(--text-secondary);line-height:1.6}.report-snapshot-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.report-snapshot-meta span,.report-snapshot-side-label,.report-workspace-status-list span{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.report-snapshot-meta strong,.report-snapshot-narrative strong,.report-workspace-status-list strong{display:block;color:var(--text-primary)}.report-snapshot-side{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-subtle);padding:16px;display:grid;gap:14px}.report-snapshot-narrative p{margin-top:8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.report-snapshot-next-step{display:grid;gap:6px}.report-snapshot-actions{display:flex;flex-wrap:wrap;gap:8px}.report-workspace-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.95fr);gap:16px;align-items:start}.report-workspace-main-column,.report-workspace-side-column{display:grid;gap:16px}.report-workspace-card-header{display:grid;gap:6px;margin-bottom:16px}.report-workspace-card-header h3{margin:0;font-size:18px;color:var(--text-primary)}.report-workspace-card-header p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:14px}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-summary-card{width:100%;border:1px solid var(--border-color);background:var(--panel-bg);border-radius:16px;padding:16px;text-align:left;display:grid;gap:12px;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.report-summary-card:disabled{cursor:default}.report-summary-card:not(:disabled):hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:var(--shadow-soft)}.report-summary-card-foot,.report-summary-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.report-summary-card-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.report-summary-card-icon{color:var(--accent)}.report-summary-card-value{font-size:30px;font-weight:700;color:var(--text-primary)}.report-summary-card-foot{color:var(--text-secondary);font-size:13px;line-height:1.5}.report-job-status-card,.report-preflight-card,.report-section-overview-card,.report-workspace-status-card{padding:20px}.report-job-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-job-list{display:grid;gap:12px;margin-bottom:16px}.report-job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--panel-bg)}.report-job-row.is-current{border-color:color-mix(in srgb,var(--accent-strong) 38%,var(--border-color));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 22%,transparent)}.report-job-row-main{display:grid;gap:6px}.report-job-row-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-job-row-header strong{color:var(--text-primary)}.report-job-empty p,.report-job-row-main p,.report-job-row-main span{margin:0;color:var(--text-secondary)}.report-job-row-main span{font-size:12px}.report-job-row-actions{display:flex;align-items:center}.report-job-row-error{color:#b45309!important;font-size:13px}.report-job-status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em}.report-job-status-pill--ready{background:rgba(16,185,129,.14);color:#047857}.report-job-status-pill--failed{background:rgba(239,68,68,.14);color:#b91c1c}.report-job-status-pill--processing{background:rgba(15,118,110,.14);color:#0f766e}.report-job-status-pill--pending{background:rgba(59,130,246,.12);color:#1d4ed8}.report-job-empty{display:grid;justify-items:start;gap:8px;padding:16px;border:1px dashed var(--border-color);border-radius:14px;background:var(--surface-subtle)}.report-section-overview-list{display:grid;gap:12px}.report-section-overview-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--border-color);background:var(--panel-bg);border-radius:16px;padding:16px 18px;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.report-section-overview-item:hover{border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.report-section-overview-item-main{display:flex;align-items:flex-start;gap:12px}.report-section-overview-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);flex-shrink:0}.report-section-overview-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.report-section-overview-title-row strong{color:var(--text-primary)}.report-section-overview-item p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:14px}.report-section-overview-badge{background:var(--surface-elevated);color:var(--text-secondary)}.report-section-overview-badge,.report-section-status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.report-section-status-pill--ready{background:rgba(16,185,129,.14);color:#047857}.report-section-status-pill--empty{background:rgba(100,116,139,.14);color:#475569}.report-section-status-pill--needs-review{background:rgba(245,158,11,.16);color:#b45309}.report-section-status-pill--blocked{background:rgba(239,68,68,.14);color:#b91c1c}.report-workspace-status-list{display:grid;gap:16px;margin-bottom:18px}.report-workspace-status-actions{display:flex;flex-direction:column;gap:10px}.report-preflight-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.report-preflight-status-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em}.report-preflight-status-pill--ready{background:rgba(16,185,129,.14);color:#047857}.report-preflight-status-pill--warning{background:rgba(245,158,11,.16);color:#b45309}.report-preflight-status-pill--blocked{background:rgba(239,68,68,.14);color:#b91c1c}.report-preflight-count-grid,.report-preflight-panel-summary,.report-reconciliation-grid,.report-reconciliation-panel-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-preflight-count-grid,.report-reconciliation-grid{margin-bottom:16px}.report-preflight-count-grid div,.report-preflight-panel-summary div,.report-reconciliation-grid div,.report-reconciliation-panel-bucket,.report-reconciliation-panel-summary div{padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--panel-bg)}.report-preflight-count-grid span,.report-preflight-panel-summary span,.report-reconciliation-grid span,.report-reconciliation-panel-bucket span,.report-reconciliation-panel-summary span{display:block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.report-preflight-count-grid strong,.report-preflight-panel-summary strong,.report-reconciliation-grid strong,.report-reconciliation-panel-bucket strong,.report-reconciliation-panel-summary strong{color:var(--text-primary);font-size:18px}.report-preflight-issue-preview,.report-preflight-panel-list,.report-reconciliation-buckets,.report-reconciliation-panel{display:grid;gap:12px}.report-preflight-issue-preview{margin-bottom:18px}.report-preflight-issue-preview-item,.report-preflight-panel-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--panel-bg)}.report-preflight-issue-preview-item strong,.report-preflight-panel-item strong{display:block;margin-bottom:4px;color:var(--text-primary)}.report-preflight-empty,.report-preflight-issue-preview-item p,.report-preflight-panel-item p{margin:0;color:var(--text-secondary);line-height:1.6}.report-preflight-issue-preview-item span,.report-preflight-panel-item-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:6px 10px;border-radius:999px;background:var(--surface-elevated);color:var(--text-primary);font-weight:700}.report-preflight-severity-badge,.report-reconciliation-bucket{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600}.report-preflight-severity-badge--blocking,.report-reconciliation-bucket--blocking{background:rgba(239,68,68,.12);color:#b91c1c}.report-preflight-severity-badge--warning,.report-reconciliation-bucket--warning{background:rgba(245,158,11,.14);color:#b45309}.report-reconciliation-panel-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.report-reconciliation-table-shell{display:grid;gap:10px}.report-reconciliation-table-shell h4{margin:0;color:var(--text-primary);font-size:16px}.report-reconciliation-reason-list{margin:0;padding-left:18px;color:var(--text-secondary)}.report-reconciliation-reason-list li+li{margin-top:6px}.report-inspector-overlay{z-index:120;justify-content:flex-end}.report-inspector-sheet{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:100vh}.report-inspector-sheet--side{width:min(560px,100vw);height:100vh;border-radius:0;animation:slideInRight .22s ease}.report-inspector-sheet--fullscreen{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;border-radius:24px;animation:slideUp .22s ease}.report-inspector-footer,.report-inspector-header{padding:18px 22px;border-bottom:1px solid var(--border-color)}.report-inspector-footer{border-bottom:none;border-top:1px solid var(--border-color)}.report-inspector-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.report-inspector-header h3{margin:0 0 6px;color:var(--text-primary);font-size:20px}.report-inspector-header p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.report-inspector-body{padding:22px;overflow:auto;display:grid;gap:18px}.report-inspector-table-shell{overflow:auto}.report-inspector-table th{position:sticky;top:0;z-index:1}.report-export-sheet-actions{display:grid;gap:12px}.report-guide-panel{display:grid;gap:18px}.report-guide-intro,.report-guide-note{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-subtle);padding:14px}.report-guide-intro svg,.report-guide-note svg{flex:0 0 auto;color:var(--accent-strong)}.report-guide-intro h4{margin:0 0 4px;color:var(--text-primary);font-size:16px}.report-guide-intro p,.report-guide-note p,.report-guide-step p{margin:0;color:var(--text-secondary);line-height:1.6}.report-guide-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}.report-guide-step{display:grid;grid-template-columns:28px 34px minmax(0,1fr);gap:12px;align-items:flex-start;border:1px solid var(--border-color);border-radius:12px;background:var(--panel-bg);padding:14px}.report-guide-step-icon,.report-guide-step-index{display:inline-flex;align-items:center;justify-content:center}.report-guide-step-index{width:28px;height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:800}.report-guide-step-icon{width:34px;height:34px;border-radius:10px;background:var(--surface-subtle);color:var(--accent-strong)}.report-guide-step h5{margin:0 0 4px;color:var(--text-primary);font-size:14px}.report-recurring-actions{justify-content:space-between;gap:12px;margin-top:10px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--border-color) 65%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-secondary) 58%,transparent)}.report-recurring-actions,.report-recurring-actions-copy{display:flex;align-items:center}.report-recurring-actions-copy strong{color:var(--text-secondary);font-size:12px}.report-recurring-actions-buttons{display:flex;gap:8px;flex-wrap:wrap}.report-recurring-actions-buttons .btn{padding:8px 11px;font-size:12px}.report-template-wizard{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.report-template-wizard-step{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border-color);border-radius:16px;background:var(--panel-bg)}.report-template-wizard-step strong{display:block;color:var(--text-primary);margin-bottom:4px}.report-template-wizard-step p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5}.report-template-wizard-step--current{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-soft)}.report-template-wizard-step--complete{border-color:color-mix(in srgb,var(--accent) 30%,var(--border-color));background:var(--surface-secondary)}.report-template-wizard-marker{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-secondary);background:var(--panel-bg);font-size:12px;font-weight:700;flex-shrink:0}.report-template-wizard-step--complete .report-template-wizard-marker,.report-template-wizard-step--current .report-template-wizard-marker{border-color:transparent;background:var(--accent);color:white}.report-builder-kickoff-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.report-builder-column,.report-builder-kickoff-card{display:grid;gap:20px}.report-builder-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(340px,460px) minmax(0,1fr);gap:20px;align-items:start}.report-builder-section-copy{display:grid;gap:6px;margin-bottom:16px}.report-builder-section-copy h3{margin:0;font-size:18px;color:var(--text-primary)}.report-builder-section-copy p{margin:0;color:var(--text-secondary);line-height:1.6}.report-builder-section-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.report-builder-inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.report-builder-helper-surface{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--surface-secondary)}.report-builder-helper-surface strong{color:var(--text-primary)}.report-builder-helper-surface p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.report-builder-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.report-builder-card-header h3{margin:0;font-size:18px;color:var(--text-primary)}.report-builder-card-header p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.6}.report-builder-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 10px;border-radius:999px;background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:700}.report-narrative-editor{display:grid}@keyframes slideInRight{0%{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}.report-builder-block-row,.report-builder-option,.report-builder-template-card{width:100%;border:1px solid var(--border-color);background:var(--panel-bg);border-radius:14px;padding:14px 16px;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.report-builder-block-row.active,.report-builder-option.active,.report-builder-template-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-soft)}.report-builder-option strong,.report-builder-template-card strong{display:block;color:var(--text-primary);margin-bottom:4px}.report-builder-option p,.report-builder-template-card p{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted)}.report-builder-template-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.report-builder-template-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-builder-template-meta{display:inline-block;margin-top:8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.report-builder-block-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-builder-group{display:grid;gap:10px}.report-builder-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.report-builder-checkbox-grid{display:grid;gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.report-builder-checkbox,.report-builder-toggle-row label{display:flex;align-items:center;gap:10px;border:1px solid var(--border-color);border-radius:12px;padding:10px 12px;background:var(--panel-bg);color:var(--text-secondary)}.report-builder-checkbox.active{border-color:var(--accent);background:var(--accent-soft)}.report-builder-toggle-row{display:grid;gap:8px}.report-template-lifecycle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.report-template-lifecycle-header h3{margin:0;font-size:18px;color:var(--text-primary)}.report-template-lifecycle-header p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.6}.report-template-lifecycle-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.report-template-lifecycle-stat{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--surface-secondary)}.report-template-lifecycle-stat span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.report-template-lifecycle-stat strong{color:var(--text-primary);font-size:16px}.report-template-lifecycle-actions{display:flex;gap:10px;flex-wrap:wrap}.report-template-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.report-template-status-badge--draft{background:color-mix(in srgb,var(--amber-100) 70%,white);color:var(--amber-700)}.report-template-status-badge--published{background:color-mix(in srgb,var(--green-100) 75%,white);color:var(--green-700)}.report-template-status-badge--archived{background:var(--surface-secondary);color:var(--text-muted)}.report-template-status-badge--default{background:color-mix(in srgb,var(--accent-soft) 80%,white);color:var(--accent-strong)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-secondary);cursor:pointer}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button.danger{color:var(--red-500)}@media (max-width:1100px){.report-preview-top.with-sidebar,.report-snapshot-card,.report-workspace-main-grid{grid-template-columns:1fr}.report-recurring-actions{flex-direction:column;align-items:flex-start}.report-recurring-actions-buttons{width:100%}.report-recurring-actions-buttons .btn{flex:1 1 160px;justify-content:center}.report-template-wizard{grid-template-columns:repeat(2,minmax(0,1fr))}.report-builder-kickoff-grid,.report-builder-shell,.report-template-lifecycle-grid{grid-template-columns:1fr}.report-snapshot-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.report-preview-header,.report-workspace-header-top{flex-direction:column}.report-workspace-header-actions{width:100%;justify-content:flex-start}.report-workspace-control-grid{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-workspace-date-grid{grid-template-columns:1fr}.report-builder-inline-form,.report-template-lifecycle-actions{flex-direction:column;align-items:stretch}}@media (max-width:768px){.report-section-overview-card,.report-snapshot-card,.report-workspace-header,.report-workspace-status-card{padding:18px}.report-workspace-controls{display:none}.report-workspace-mobile-actions{display:flex!important;width:100%}.report-workspace-controls.is-open{display:grid}.report-workspace-period-row{align-items:stretch}.report-workspace-preset-list{width:100%}.report-workspace-preset-list .btn{flex:1 1 calc(50% - 10px)}.report-snapshot-card h3{font-size:22px}.report-snapshot-meta{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:1fr 1fr}.report-job-row{grid-template-columns:1fr}.report-job-row-actions{justify-content:flex-start}.report-section-overview-item{padding:14px 16px}.report-inspector-sheet--fullscreen,.report-inspector-sheet--side{width:100vw;height:100vh;max-height:100vh;border-radius:0;margin:0}.report-inspector-body,.report-inspector-footer,.report-inspector-header{padding:18px}}@media (max-width:520px){.report-summary-grid{grid-template-columns:1fr}.report-guide-step{grid-template-columns:28px minmax(0,1fr)}.report-guide-step-icon{display:none}.report-workspace-preset-list .btn{flex-basis:100%}.report-preflight-count-grid,.report-preflight-panel-summary,.report-reconciliation-grid,.report-reconciliation-panel-buckets,.report-reconciliation-panel-summary{grid-template-columns:1fr}}