@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background:#f3f6fb;font-weight:400;line-height:1.5}a{color:inherit}body{min-width:320px;margin:0}#root{min-height:100vh}:root{--bg:#eef3f9;--panel:#ffffffe6;--panel-strong:#fff;--sidebar:linear-gradient(180deg, #071a34 0%, #0c2445 100%);--text:#0b1b33;--muted:#6f86a3;--border:#d9e3ef;--primary:#123b74;--primary-soft:#123b7414;--purple:#274c8f;--orange:#d97706;--success:#0f766e;--shadow:0 16px 34px #071a3414}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #123b7429, transparent 26%), radial-gradient(circle at top right, #1e40af1a, transparent 28%), var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:left;width:100%;max-width:460px}.login-copy{color:var(--muted);margin:14px 0 18px}.inline-input,.inline-textarea,.compact-editor-row input,.progress-edit-cell input,.table-panel input,.team-card input{width:100%;color:var(--text);background:0 0;border:1px dashed #0000;border-radius:10px;padding:6px 8px}.inline-input:focus,.inline-textarea:focus,.compact-editor-row input:focus,.progress-edit-cell input:focus,.table-panel input:focus,.team-card input:focus{background:#2563eb0f;border-color:#2563eb73;outline:none}.inline-textarea{resize:vertical;min-height:62px}.hero-title-input{padding-left:0;font-size:2rem;font-weight:700}.hero-desc-input{padding-left:0}.tag-input{background:var(--primary-soft);width:auto;color:var(--primary);border-radius:999px;font-weight:700}.mini-stat-value,.metric-value-input{font-size:1.25rem;font-weight:700}.metric-delta-input{color:var(--success);font-weight:700}.inline-grid-controls{gap:10px;margin-top:14px;display:grid}.compact-editor-row{grid-template-columns:52px 1fr 1fr;align-items:center;gap:10px;display:grid}.editable-card,.editable-stack{gap:8px;display:grid}.compact-stack{gap:4px}.progress-edit-cell{min-width:170px}.login-form{gap:12px;display:grid}.login-form input{border:1px solid var(--border);background:var(--panel-strong);width:100%;color:var(--text);border-radius:14px;padding:12px 14px}.login-button{border:none;border-radius:14px;padding:12px 16px}button,input,select{font:inherit}button{cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}.app-shell{grid-template-columns:288px minmax(0,1fr) 340px;min-height:100vh;transition:all .25s;display:grid}.theme-dark{--bg:#07111f;--panel:#0f172ae0;--panel-strong:#111c2f;--text:#eff6ff;--muted:#8fa1bf;--border:#94a3b82e;--primary-soft:#2563eb2e;--shadow:0 12px 30px #00000038}.sidebar{background:var(--sidebar);color:#e5eefc;border-right:1px solid #94a3b814;flex-direction:column;gap:24px;height:100vh;padding:24px 20px;display:flex;position:sticky;top:0}.sidebar-top{gap:18px;display:grid}.brand-mark{color:#fff;background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:14px;font-weight:800;display:grid;box-shadow:0 18px 36px #123b743d}.brand-copy h1,.brand-copy p,.topbar h2,.section-heading h3,.panel h3,.kanban-header h4,.hero-copy h3,.drawer-placeholder h3,.drawer-header h3{margin:0}.brand-copy h1,.topbar h2,.section-heading h3,.panel h3,.hero-copy h3,.drawer-header h3,.drawer-placeholder h3,.modal-header h3,.login-card h2{letter-spacing:-.02em;font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif}.brand-copy h1{color:#f8fbff;font-size:1.2rem}.brand-copy p,.sidebar-card p,.metric-card span,.panel-header span,.performance-item p,.team-card p,.team-card span,.metric-meta p,.eyebrow,.search-box,.workspace-switcher span,.highlight-row span,.task-card p,.stage-card p,.stage-card span,.table-title p,.legend-item p,.drawer-copy,.drawer-placeholder p{color:var(--muted)}.workspace-switcher{background:#94a3b814;border:1px solid #94a3b814;border-radius:18px;padding:14px 16px}.workspace-switcher strong{color:#f8fbff;margin-top:6px;display:block}.role-switcher{color:#fff;background:#ffffff0f;border:1px solid #94a3b826;border-radius:12px;width:100%;margin-top:10px;padding:10px 12px}.nav{gap:8px;display:grid}.nav a{color:#cbd5e1;border-radius:14px;padding:12px 14px;text-decoration:none;transition:transform .18s,background .18s,color .18s}.nav a:hover{transform:translate(2px)}.nav a strong,.nav a span{display:block}.nav-item-inner{align-items:center;gap:12px;display:flex}.nav-icon{color:#d7e5fb;background:#ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;display:inline-flex}.nav a span{color:#94a3b8;margin-top:2px;font-size:.82rem}.nav a:hover,.nav a.active{color:#fff;background:#94a3b824}.nav a:hover span,.nav a.active span{color:#cfe0ff}.sidebar-card{background:linear-gradient(#3b82f62e,#94a3b814);border:1px solid #94a3b81f;border-radius:20px;margin-top:auto;padding:18px}.sidebar-card span{color:#93c5fd;margin-bottom:8px;font-size:.85rem;display:block}.sidebar-card strong{margin-bottom:8px;font-size:1.25rem;display:block}.main-panel{padding:28px}.detail-drawer{border-left:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff80;padding:24px}.theme-dark .detail-drawer{background:#07111fb8}.topbar,.section-heading,.panel-header,.team-head,.kanban-header,.metric-meta,.topbar-actions,.topbar-right,.hero-card,.hero-side,.team-footer,.filters,.drawer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar{margin-bottom:28px}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.search-box,.filters input,.filters select{background:var(--panel-strong);border:1px solid var(--border);min-width:220px;color:var(--text);border-radius:14px;padding:12px 14px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.75rem;font-weight:700}.topbar h2,.hero-copy h3,.drawer-header h3{color:var(--text)}.topbar h2{font-size:1.95rem;font-weight:800}.topbar-actions button,.ghost-button,.file-label,.icon-button,.link-button{border:1px solid var(--border);background:var(--panel-strong);color:var(--text);border-radius:12px;padding:10px 16px}.ghost-button:hover,.file-label:hover,.link-button:hover,.icon-button:hover{border-color:#123b743d;box-shadow:0 10px 20px #071a3414}.topbar-actions .primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 14px 24px #2563eb2e}.icon-button{width:40px;height:40px;padding:0;font-size:1.4rem}.link-button,.button-row{cursor:pointer}.link-button{color:var(--primary);background:0 0}.section{margin-bottom:28px}.hero-section,.metrics-grid,.dashboard-grid,.two-column,.kanban-grid,.drawer-grid{gap:18px;display:grid}.hero-card{background:linear-gradient(135deg, var(--panel-strong), var(--panel));border-radius:28px;align-items:stretch;padding:26px}.hero-copy{max-width:720px}.hero-copy h3{margin-bottom:12px;font-size:2.12rem;font-weight:800;line-height:1.15}.hero-copy>p:last-of-type{color:#64748b;max-width:620px}.theme-dark .hero-copy>p:last-of-type{color:#b5c2d6}.hero-tags{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-tags span,.util-badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;padding:8px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.hero-side{flex-direction:column;align-items:stretch;min-width:250px}.mini-stat,.stage-card,.performance-item,.team-card,.task-card,.metric-card,.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.mini-stat{border-radius:18px;padding:18px}.mini-stat strong,.stage-card strong,.metric-card strong,.performance-item strong,.legend-item strong,.table-title strong{color:var(--text);display:block}.mini-stat strong{margin-top:6px;font-size:1.25rem}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{border-radius:22px;padding:20px}.metric-card strong{margin:8px 0 14px;font-size:2rem}.metric-meta em{color:var(--success);font-style:normal;font-weight:700}.dashboard-grid{grid-template-columns:1.65fr 1fr}.panel{border-radius:26px;padding:22px;transition:transform .22s,box-shadow .22s,border-color .22s}.panel:hover{transform:translateY(-2px);box-shadow:0 18px 34px #071a341a}.chart-wrap{height:280px;margin-top:16px}.small-chart{height:280px}.pie-layout{grid-template-columns:1fr 1fr;align-items:center;gap:18px;display:grid}.legend-list,.team-list,.kanban-items,.highlight-list{gap:14px;display:grid}.legend-item{background:var(--panel-strong);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.legend-dot{border-radius:999px;width:12px;height:12px}.highlight-row{background:var(--panel-strong);border:1px solid #0000;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.button-row{text-align:left;width:100%}.button-row:hover{border-color:#2563eb47}.highlight-row strong{margin-bottom:4px;display:block}.highlight-metrics{text-align:right}.highlight-metrics span{color:var(--text);font-weight:800;display:block}.highlight-metrics em{color:#64748b;font-style:normal}.table-panel{overflow-x:auto}.table-panel table{border-collapse:collapse;width:100%}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.danger{color:#dc2626;border-color:#dc262638}.toast{color:#fff;z-index:60;background:#0f172a;border-radius:14px;padding:12px 16px;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 40px #0f172a47}.notif-button{align-items:center;gap:8px;display:inline-flex;position:relative}.notif-icon{font-size:1rem}.notif-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;display:inline-flex}.notif-drawer{transform-origin:100% 0;transition:all .28s}.notif-drawer.closed{opacity:0;pointer-events:none;max-height:0;margin-bottom:0;overflow:hidden;transform:translateY(-10px)scale(.98)}.notif-drawer.open{opacity:1;transform:translateY(0)scale(1)}.notif-drawer,.modal-card,.toast,.activity-item,.team-card,.task-card,.metric-card,.hero-card,.mini-stat{will-change:transform, opacity}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:14px 10px;font-size:.96rem}th{color:#64748b;font-weight:600}.status{border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.status.on-track{color:#166534;background:#dcfce7}.status.at-risk{color:#92400e;background:#fef3c7}.status.planning{color:#1d4ed8;background:#dbeafe}.status.delayed{color:#b91c1c;background:#fee2e2}.progress-cell{align-items:center;gap:12px;display:flex}.progress-bar{background:#94a3b833;border-radius:999px;width:120px;height:10px;overflow:hidden}.progress-bar div{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%}.kanban-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kanban-column{background:var(--panel)}.kanban-header span{width:30px;height:30px;color:var(--text);background:#94a3b82e;border-radius:999px;place-items:center;font-weight:700;display:grid}.task-card{border-radius:18px;padding:14px}.task-card strong{margin-bottom:6px;display:block}.two-column{grid-template-columns:1.1fr .9fr}.top-aligned{align-items:start}.compact{margin-bottom:16px}.team-card{border-radius:18px;padding:16px}.team-head strong,.metric-card strong,.panel h3,.kanban-header h4,.stage-card strong{color:var(--text)}.team-head em{color:var(--primary);font-style:normal;font-weight:700}.slim{width:100%;margin:12px 0 10px}.team-footer{align-items:center}.util-badge.busy{color:#c2410c;background:#fff7ed}.util-badge.healthy{color:#047857;background:#ecfdf5}.util-badge.overloaded{color:#dc2626;background:#ef44441f}.drawer-grid{grid-template-columns:1fr 1fr}.drawer-copy{margin:14px 0 18px}.drawer-section{margin-top:20px}.drawer-list{color:var(--muted);margin:10px 0 0;padding-left:18px}.drawer-placeholder{position:sticky;top:24px}.activity-panel{margin-bottom:22px}.glass-stack{gap:14px;margin-bottom:18px;display:grid}.glass-stack .activity-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff6b;border:1px solid #ffffff59;border-radius:18px;margin-bottom:0;padding:14px}.theme-dark .glass-stack .activity-panel{background:#0f172a6b;border-color:#94a3b82e}.activity-list{gap:10px;display:grid}.activity-item{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:14px;padding:12px 14px}.notif-item{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.notif-item.read{opacity:.72}.notif-item.unread{border-color:#123b744d;box-shadow:inset 0 0 0 1px #123b7414}.notif-item strong{color:var(--primary);font-size:.78rem}.module-tabs{gap:10px;margin-bottom:18px;display:flex}.module-tab{background:var(--panel-strong);border:1px solid var(--border);color:var(--muted);border-radius:12px;padding:10px 14px}.module-tab.active{color:var(--primary);background:var(--primary-soft);border-color:#2563eb33}.role-summary{color:var(--muted);margin-top:6px}.filters-row{align-items:flex-end}.filters{flex-wrap:wrap}.table-title{min-width:220px}@media (width<=1480px){.app-shell{grid-template-columns:288px 1fr}.detail-drawer{display:none}}@media (width<=1280px){.metrics-grid,.kanban-grid,.two-column,.dashboard-grid{grid-template-columns:1fr 1fr}.pie-layout,.drawer-grid{grid-template-columns:1fr}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.metrics-grid,.dashboard-grid,.kanban-grid,.two-column{grid-template-columns:1fr}.topbar,.topbar-right,.topbar-actions,.hero-card,.filters-row{flex-direction:column;align-items:flex-start}.hero-side,.search-box,.filters input,.filters select{width:100%}}.admin-grid{gap:18px;display:grid}.admin-section h4{margin-top:0;margin-bottom:14px}.admin-section label,.admin-card,.admin-row{gap:8px;display:grid}.admin-card{border:1px solid var(--border);background:var(--panel-strong);border-radius:16px;margin-bottom:12px;padding:14px}.admin-section input,.admin-section textarea{border:1px solid var(--border);background:var(--panel-strong);width:100%;color:var(--text);border-radius:12px;padding:10px 12px}.admin-section textarea{resize:vertical;min-height:90px}.compact-row{grid-template-columns:70px 1fr 1fr;align-items:center}.file-label{justify-content:center;align-items:center;display:inline-flex}.erp-card{gap:14px;display:grid}.small-button{padding:8px 12px;font-size:.85rem}.modal-backdrop{z-index:50;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{width:100%;max-width:560px}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-form{gap:14px;display:grid}.form-field{gap:8px;display:grid}.form-field span{color:var(--muted);font-size:.92rem}.form-field input,.form-field textarea{border:1px solid var(--border);background:var(--panel-strong);width:100%;color:var(--text);border-radius:14px;padding:12px 14px}.form-field textarea{resize:vertical;min-height:110px}@media (width<=640px){.main-panel,.sidebar{padding:18px}.metric-card strong,.hero-copy h3,.drawer-header h3{font-size:1.6rem}.topbar h2{font-size:1.4rem}th,td{font-size:.9rem}.compact-row{grid-template-columns:1fr}}
