@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--navy-900:#0f1f4a;--navy-800:#1e3a8a;--navy-700:#1d4ed8;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-50:#eff6ff;--orange-500:#f97316;--orange-600:#ea580c;--red-600:#dc2626;--green-600:#16a34a;--slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--slate-50:#f8fafc;--bg:var(--slate-50);--bg-elev:#fff;--bg-subtle:var(--slate-100);--text:var(--slate-900);--text-strong:var(--navy-900);--text-muted:var(--slate-600);--text-subtle:var(--slate-400);--border:var(--slate-200);--border-strong:var(--slate-300);--accent:var(--blue-600);--accent-soft:var(--blue-50);--accent-strong:var(--navy-800);--cta:var(--orange-500);--cta-hover:var(--orange-600);--danger:var(--red-600);--success:var(--green-600);--sans:"Plus Jakarta Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:16px;--fs-md:18px;--fs-lg:22px;--fs-xl:30px;--fs-2xl:40px;--lh-tight:1.25;--lh-base:1.55;--lh-loose:1.7;--radius-sm:4px;--radius:8px;--radius-md:10px;--radius-lg:16px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 18px 40px #0f172a29, 0 6px 16px #0f172a14;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;font:var(--fs-base) / var(--lh-base) var(--sans);color:var(--text);background:var(--bg);font-feature-settings:"cv11", "ss01";font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body,html,#root{min-height:100vh;margin:0;padding:0}body{background:var(--bg)}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-strong);letter-spacing:-.01em;margin:0 0 var(--space-3);font-weight:700}h1{font-size:var(--fs-xl);line-height:var(--lh-tight)}h2{font-size:var(--fs-lg);line-height:var(--lh-tight)}h3{font-size:var(--fs-md);line-height:var(--lh-tight)}h4{font-size:var(--fs-base);line-height:var(--lh-tight)}p{margin:0}button,input,select,textarea{font-family:inherit;font-size:var(--fs-sm);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft);color:var(--text-strong)}.legend-list{max-width:1200px;margin:0 auto}.legend-section{margin-top:var(--space-6)}.legend-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.legend-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.legend-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.legend-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.legend-type{font-size:var(--fs-xs);background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.legend-name{font-size:var(--fs-md);color:var(--text-strong);font-weight:600}.legend-meta{gap:var(--space-3);font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--space-3);display:flex}.legend-actions{gap:var(--space-2);display:flex}.legend-actions button{flex:1}.legend-edit{max-width:800px;margin:0 auto}.form-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:1fr 200px;display:grid}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group.full{grid-column:1/-1}.form-group label{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500}.form-group input,.form-group select{padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);font-size:var(--fs-sm)}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-section{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.form-section h2{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--fs-md);display:flex}.dimension-list,.curve-list{gap:var(--space-2);flex-direction:column;display:flex}.dimension-row,.curve-row{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg);border-radius:var(--radius-sm);display:flex}.curve-row.is-referenced{background:linear-gradient(90deg, #3b82f614, var(--bg));border-left:3px solid var(--blue-500)}.reference-badge{background:var(--blue-50);color:var(--blue-600);font-size:var(--fs-xs);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.dimension-row input,.curve-row input{padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);flex:1}.dimension-row input[type=number],.curve-row input[type=number]{width:80px}.curve-dims{gap:var(--space-1);flex-direction:column;flex:1;min-width:200px;display:flex}.curve-dim{align-items:center;gap:var(--space-1);display:flex}.curve-dim input{padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);flex:1}.color-palette{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--slate-900)}.yaxis-row{align-items:center;gap:var(--space-2);display:flex}.yaxis-row input{padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);flex:1}button.cta.small,button.primary.small{font-size:var(--fs-xs);padding:6px 12px}button.tiny{border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 8px;font-size:11px}button.tiny:hover{background:var(--bg)}button.tiny.danger{color:var(--danger);border-color:var(--danger)}button.tiny.danger:hover{background:#fef2f2}.legend-checkboxes{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.legend-checkbox{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:all .2s;display:flex}.legend-checkbox:hover{border-color:var(--accent);background:var(--accent-soft)}.legend-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.legend-checkbox-content{flex-direction:column;flex:1;gap:2px;display:flex}.legend-type-badge{background:var(--slate-100);color:var(--text-muted);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500}.legend-checkbox:hover .legend-type-badge{background:var(--accent);color:#fff}.selected-legends{gap:var(--space-2);flex-wrap:wrap;display:flex}.selected-legend-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--fs-sm);display:flex}.selected-legend-item .legend-type-badge{background:var(--accent-soft);color:var(--accent-strong)}.dimension-inputs{margin-top:var(--space-4)}.dimension-header{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--space-3);font-weight:500}.curve-sections{gap:var(--space-4);flex-direction:column;display:flex}.curve-section{border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--space-3);background:var(--bg)}.curve-section-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.curve-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.curve-section-title{font-size:var(--fs-sm);color:var(--text-strong);font-weight:600}.curve-section-legend{color:var(--text-muted);font-weight:400;font-size:var(--fs-xs)}.dimension-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.dimension-item{gap:var(--space-1);flex-direction:column;display:flex}.dimension-label{font-size:var(--fs-xs);color:var(--text-strong);flex-direction:column;gap:2px;font-weight:500;display:flex}.dimension-hint{color:var(--text-muted);font-size:10px;font-weight:400}.dimension-item input{padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--fs-sm);background:var(--bg-elev)}.dimension-item input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.empty-state{padding:var(--space-4);text-align:center;color:var(--text-muted);background:var(--bg);border-radius:var(--radius)}.grid-body{gap:var(--space-3);padding:var(--space-4);display:grid}.grid-body.grid-fixed{grid-template-columns:repeat(var(--grid-cols,3), 1fr);gap:var(--space-4);grid-auto-rows:1fr;overflow-y:auto}.legend-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.legend-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.legend-section-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.legend-section-header strong{color:var(--text);font-size:var(--fs-base)}.grid-cell{background:var(--bg-elev);border-radius:var(--radius);cursor:pointer;min-height:300px;display:flex;box-shadow:0 1px 3px #0000001a}.grid-cell:hover{box-shadow:0 4px 12px #00000026}.grid-cell-empty{background:var(--bg);cursor:default}.grid-cell-empty:hover{box-shadow:none}.grid-cell-placeholder{align-items:center;justify-content:var(--legend-grid-justify,center);width:100%;height:100%;display:flex}.grid-cell-placeholder span{background:0 0;width:60%;height:60%}.person-grid{gap:var(--space-4);padding:var(--space-4);box-sizing:border-box;flex-wrap:wrap;flex:1;align-content:flex-start;align-items:flex-start;min-height:0;display:flex;overflow-y:auto}.person-grid-cell{flex-direction:column;flex:1 1 min(var(--person-card-min-width,360px), 100%);background:var(--bg-elev);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;min-width:0;min-height:0;transition:all .2s;display:flex;overflow:hidden}.person-grid-cell:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.person-grid-cell.empty{background:var(--bg);cursor:default}.person-grid-cell.empty:hover{box-shadow:var(--shadow-sm);transform:none}.person-grid-placeholder{flex:1;justify-content:center;align-items:center;display:flex}.person-grid-header{padding:var(--space-2) var(--space-3);background:var(--bg);border-bottom:1px solid var(--border)}.person-grid-name{font-size:var(--fs-sm);color:var(--text-strong);font-weight:600}.grid-scale-control{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--fs-sm);font-weight:600;display:inline-flex}.grid-scale-control input[type=range]{width:160px}.person-legend-grid{--legend-grid-gap:var(--space-2);--legend-effective-cell-size:min(var(--legend-cell-size,320px), var(--legend-cell-width-size,100%));grid-template-columns:repeat(var(--sub-cols,3), var(--legend-effective-cell-size));gap:var(--legend-grid-gap);padding:var(--space-2);flex:none;grid-auto-rows:auto;place-content:center;justify-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.person-legend-cell{aspect-ratio:var(--legend-cell-aspect-ratio,1 / 1);background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;place-self:center;width:100%;min-width:0;height:auto;display:flex;position:relative;overflow:hidden}.person-legend-cell .chart-card{box-sizing:border-box;padding-bottom:18px}.person-legend-cell.empty{background:var(--slate-100)}.legend-thumb-name{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#000000b3;padding:2px 4px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.chart-card.thumbnail{padding:var(--space-1)}.chart-card.thumbnail .chart-canvas{border-radius:var(--radius-sm)}.fullscreen-legend-grid{grid-template-columns:repeat(var(--legend-cols,1), var(--legend-cell-size,240px));grid-template-rows:repeat(var(--legend-rows,1), var(--legend-cell-size,240px));gap:var(--space-4);padding:var(--space-4);box-sizing:border-box;place-content:center;width:100%;height:100%;display:grid}.fullscreen-legend-cell{aspect-ratio:1;background:var(--bg-elev);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.fullscreen-legend-cell.filled{min-height:0}.fullscreen-legend-cell.empty{background:var(--slate-100);color:var(--text-subtle);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex}.fullscreen-legend-placeholder{justify-content:center;align-items:center;height:100%;display:flex}.fullscreen-legend-placeholder span{color:var(--text-subtle);font-size:var(--fs-sm)}.project-overview-stage{min-width:0;min-height:0;padding:var(--space-4);box-sizing:border-box;flex:1;place-items:center;display:grid;container-type:size}.project-overview-chart{aspect-ratio:1;box-sizing:border-box;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-md);width:min(100cqw,100cqh);height:min(100cqw,100cqh);box-shadow:var(--shadow-sm)}.legend-position-list{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.legend-position-item{padding:var(--space-2) var(--space-3);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);justify-content:space-between;align-items:center;display:flex}.legend-position-info{align-items:center;gap:var(--space-2);display:flex}.legend-position-info .legend-name{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500}.legend-order-index{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-strong);font-size:var(--fs-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.legend-order-actions{align-items:center;gap:var(--space-2);display:flex}.legend-order-actions button{padding:var(--space-1) var(--space-2);font-size:var(--fs-xs)}.reference-curve-list{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.reference-curve-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:2px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:all .15s;display:flex}.reference-curve-item:hover{border-color:var(--blue-500);background:var(--blue-50)}.reference-curve-item.incompatible{opacity:.5;cursor:not-allowed}.reference-curve-item.incompatible:hover{border-color:var(--border-strong);background:0 0}.reference-curve-color{border:1px solid #0000001a;border-radius:2px;width:24px;height:12px}.reference-curve-info{flex-direction:column;flex:1;gap:2px;display:flex}.reference-curve-info strong{font-size:var(--fs-sm);color:var(--text-strong)}.reference-curve-info span{font-size:var(--fs-xs);color:var(--text-muted)}.incompatible-badge{background:var(--slate-100);color:var(--text-muted);font-size:var(--fs-xs);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.hello{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.hello h1{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--navy-900);margin:0}.hello p{color:var(--text-muted);font-size:var(--fs-md);margin:0}.hello .hint{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--accent)}.app-layout{background:radial-gradient(circle at 82% -10%,#2563eb29,#0000 28rem),linear-gradient(#f8fafc 0%,#edf3f9 100%);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{gap:var(--space-6);height:100vh;padding:var(--space-6) var(--space-5);background:linear-gradient(180deg, #0f1f4afa, #0f172afa), var(--navy-900);color:#ffffffb8;border-right:1px solid #94a3b82e;flex-direction:column;display:flex;position:sticky;top:0}.app-sidebar .brand{align-items:center;gap:var(--space-3);color:#fff;letter-spacing:-.01em;text-decoration:none;display:inline-flex}.app-sidebar .brand:hover{text-decoration:none}.app-sidebar .brand strong{font-size:var(--fs-md);line-height:1.1;display:block}.app-sidebar .brand small{color:#ffffff7a;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;margin-top:3px;font-weight:600;display:block}.app-sidebar .brand-mark{background:linear-gradient(135deg,#f8fafc,#60a5fa);border-radius:10px;flex-shrink:0;width:36px;height:36px;display:inline-block;position:relative;box-shadow:0 18px 40px #2563eb40}.app-sidebar .brand-mark:after{content:"";border:2px solid var(--navy-900);opacity:.95;border-top:none;border-right:none;border-radius:2px;position:absolute;inset:9px}.app-nav{gap:var(--space-5);align-content:start;display:grid}.nav-group{padding-top:var(--space-4);border-top:1px solid #e2e8f01a;gap:8px;display:grid}.nav-group:first-child{border-top:0;padding-top:0}.nav-section-label{color:#e2e8f080;letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:800;line-height:1.2}.app-nav a{color:#ffffffb8;font-size:var(--fs-sm);border-radius:var(--radius-md);border:1px solid #0000;align-items:center;min-height:44px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.app-nav a:hover{color:#fff;background:#ffffff12;text-decoration:none}.app-nav a.active{color:#fff;background:#ffffff1a;border-color:#ffffff29;box-shadow:inset 3px 0 #f59e0b}.app-workspace{flex-direction:column;min-width:0;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:76px;padding:0 var(--space-7);z-index:10;box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;border-bottom:1px solid #cbd5e1b8;display:flex;position:sticky;top:0}.app-header strong{color:var(--navy-900);font-size:var(--fs-md);display:block}.topbar-actions{align-items:center;gap:var(--space-4);color:var(--navy-900);font-size:var(--fs-sm);font-weight:700;display:inline-flex}.topbar-home{border-radius:var(--radius);min-height:40px;color:var(--navy-900);font-size:var(--fs-sm);box-shadow:var(--shadow-xs);background:#ffffffb8;border:1px solid #cbd5e1eb;align-items:center;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.topbar-home:hover{border-color:var(--border-strong);background:#fff;text-decoration:none}.notification-dot{color:#fff;background:#e11d48;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:11px;display:inline-flex;box-shadow:0 10px 24px #e11d483d}.app-main{padding:var(--space-7);flex:1;width:100%;max-width:1360px;margin:0 auto}.app-main.immersive{max-width:none;padding:0}.page h1{font-size:var(--fs-xl);margin-bottom:var(--space-2)}.page h2{font-size:var(--fs-lg);margin-bottom:var(--space-2)}.page h3{font-size:var(--fs-md);margin-bottom:var(--space-2)}.page-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-toolbar .spacer{flex:1}.empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-muted);background:var(--bg-elev);border:1px dashed var(--border);border-radius:var(--radius-md);font-size:var(--fs-base)}.empty p{margin:0}button{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:var(--radius);font-size:var(--fs-sm);letter-spacing:0;cursor:pointer;min-height:36px;padding:8px 16px;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform 50ms}button:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong);box-shadow:var(--shadow-xs)}button.primary:hover:not(:disabled){background:var(--navy-700);border-color:var(--navy-700)}button.cta{background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:var(--shadow-xs)}button.cta:hover:not(:disabled){background:var(--cta-hover);border-color:var(--cta-hover)}button.danger{color:var(--danger);border-color:var(--border)}button.danger:hover:not(:disabled){border-color:var(--danger);background:#dc26260f}button.ghost{background:0 0;border-color:#0000;padding:6px 10px}button.ghost:hover:not(:disabled){background:var(--bg-subtle)}.dashboard-hero{align-items:end;gap:var(--space-6);margin-bottom:var(--space-5);padding:var(--space-6);background:linear-gradient(135deg, #fffffff0, #eff6ffdb), var(--bg-elev);box-shadow:var(--shadow-md);border:1px solid #cbd5e1c7;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;display:grid}.dashboard-hero h1{letter-spacing:-.035em;color:var(--navy-900);font-size:42px}.dashboard-hero p:not(.eyebrow){max-width:760px;color:var(--text-muted);font-size:var(--fs-base)}.dashboard-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard-metrics{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-metrics article{padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;border:1px solid #cbd5e1cc}.dashboard-metrics span{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800;display:block}.dashboard-metrics strong{margin-top:var(--space-2);color:var(--navy-900);font-variant-numeric:tabular-nums;font-size:34px;line-height:1;display:block}.dashboard-metrics small{margin-top:var(--space-2);color:var(--text-subtle);font-size:var(--fs-xs);display:block}.portfolio-section{padding:var(--space-5);box-shadow:var(--shadow-sm);background:#ffffffa3;border:1px solid #cbd5e1c7;border-radius:24px}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-heading h2{margin:0}.section-heading>span{color:var(--text-muted);font-size:var(--fs-sm);font-weight:700}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);background:var(--bg-elev);gap:var(--space-4);box-shadow:var(--shadow-xs);flex-direction:column;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex}.project-card-premium{background:linear-gradient(#fffffff5,#f8fafcf5);border-color:#94a3b86b}.project-status{margin-bottom:var(--space-2);background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.card-title{font-size:var(--fs-md);color:var(--text-strong);letter-spacing:-.01em;font-weight:700;text-decoration:none}.card-title:hover{color:var(--accent);text-decoration:none}.card-meta{gap:var(--space-2) var(--space-3);font-size:var(--fs-sm);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.card-meta dt{color:var(--text-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-weight:500}.card-meta dd{color:var(--text);margin:0;font-weight:600}.card-actions{gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.card-actions button{font-size:var(--fs-sm);min-height:32px;padding:6px 12px}.form{gap:var(--space-5);background:var(--bg-elev);max-width:760px;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.field{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.field>span,.field>legend{font-weight:600;font-size:var(--fs-sm);color:var(--text-strong);padding:0}.field input[type=text],.field input:not([type]),.field input[type=number],.field select,.field textarea,input[type=text],input[type=number]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);font-size:var(--fs-base);padding:10px 12px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dim-list,.role-list{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.dim-row,.role-row{gap:var(--space-2);align-items:center;display:flex}.dim-row input,.role-row input[type=text],.role-row input:not([type]){flex:1}.role-row input[type=color]{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border-strong);background:0 0;width:40px;height:36px;padding:0}.yaxis-field{gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;display:grid}.yaxis-field legend{grid-column:1/-1}.yaxis-field label{gap:var(--space-1);font-size:var(--fs-sm);color:var(--text-muted);flex-direction:column;display:flex}.form-error{color:var(--danger);border-radius:var(--radius);font-size:var(--fs-sm);background:#dc26260f;border:1px solid #dc262633;padding:10px 14px;font-weight:500}.form-actions{gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-4);display:flex}.project-detail{gap:var(--space-5);flex-direction:column;display:flex}.project-breadcrumb{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm);font-weight:700;display:flex}.project-breadcrumb strong{color:var(--navy-900)}.project-admin-header{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.project-title-block h1{color:var(--navy-900);letter-spacing:-.035em;margin:0;font-size:34px}.project-submeta{gap:var(--space-4);margin-top:var(--space-3);color:var(--slate-600);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.project-submeta strong{color:var(--slate-500);font-weight:800}.project-submeta em{color:var(--accent-strong);font-style:normal;font-weight:800}.project-header-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-overview-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 420px;display:grid}.metric-panel,.management-panel,.data-export-panel{box-shadow:var(--shadow-xs);background:#ffffffe6;border:1px solid #cbd5e1d1;border-radius:18px}.metric-panel{padding:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-item{padding:var(--space-3) var(--space-5);border-right:1px solid #cbd5e1b8}.metric-item:last-child{border-right:0}.metric-symbol{color:var(--text-muted);font-size:var(--fs-sm);font-weight:800;display:block}.metric-item strong{margin-top:var(--space-2);color:var(--navy-900);font-variant-numeric:tabular-nums;font-size:30px;line-height:1;display:block}.metric-item small{color:var(--text-muted);font-size:var(--fs-sm);margin-left:4px}.metric-item p{margin:var(--space-2) 0 0;color:var(--text-subtle);font-size:var(--fs-xs);font-weight:700}.presentation-gateway{justify-content:center;align-items:flex-start;gap:var(--space-2);min-height:148px;padding:var(--space-5) var(--space-6);text-align:left;color:#fff;box-shadow:var(--shadow-md);background:radial-gradient(circle at 88%,#f59e0b3d,#0000 6rem),linear-gradient(135deg,#0b1f44,#071832);border-color:#0e1e40cc;border-radius:18px;flex-direction:column;display:flex}.presentation-gateway:after{content:"→";color:#fbbf24;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:inline-flex;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.presentation-gateway{position:relative}.presentation-gateway:hover:not(:disabled){color:#fff;background:radial-gradient(circle at 88%,#f59e0b52,#0000 6rem),linear-gradient(135deg,#102a5c,#071832);border-color:#f59e0b73;box-shadow:0 22px 48px #07183238}.presentation-gateway:hover:after{color:#fcd34d;background:#ffffff29}.presentation-gateway span{letter-spacing:-.03em;font-size:28px;font-weight:900}.presentation-gateway small{color:#ffffffad;max-width:280px;font-size:var(--fs-sm);line-height:1.55}.project-management-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;display:grid}.management-panel,.data-export-panel{padding:var(--space-5)}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-header h2,.data-export-panel h2{color:var(--navy-900);font-size:var(--fs-lg);letter-spacing:-.02em;margin:0}.link-action{min-height:auto;color:var(--accent-strong);background:0 0;border:0;padding:0;font-weight:800}.table-tools{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:minmax(180px,1fr) 150px 180px 120px;display:grid}.table-tools input,.table-tools select{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:var(--fs-sm);background:#fff;padding:10px 12px}.premium-table,.legend-config-table{border-collapse:collapse;width:100%;box-shadow:none;background:0 0;border:0}.premium-table th,.premium-table td,.legend-config-table th,.legend-config-table td{text-align:left;border-bottom:1px solid #e2e8f0eb;padding:13px 10px}.premium-table thead th,.legend-config-table thead th{color:var(--text-muted);font-size:var(--fs-xs);background:0 0;font-weight:900}.premium-table tbody tr:hover,.legend-config-table tbody tr:hover{background:#2563eb09}.legend-config-table{table-layout:fixed}.legend-config-table th,.legend-config-table td{font-size:var(--fs-xs);vertical-align:middle;padding:10px 8px;line-height:1.35}.legend-config-table th:first-child,.legend-config-table td:first-child{width:42%}.legend-config-table th:nth-child(2),.legend-config-table td:nth-child(2){width:18%}.legend-config-table th:nth-child(3),.legend-config-table td:nth-child(3),.legend-config-table th:nth-child(5),.legend-config-table td:nth-child(5){text-align:center;width:12%}.legend-config-table th:nth-child(4),.legend-config-table td:nth-child(4){width:16%}.legend-config-table td{word-break:keep-all}.legend-config-table td:first-child{word-break:normal}.legend-config-table td:nth-child(2),.legend-config-table td:nth-child(4){white-space:nowrap}.legend-config-table .status-enabled{font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.progress-cell{align-items:center;gap:var(--space-3);grid-template-columns:minmax(80px,1fr) auto;display:grid}.progress-cell span{background:#e2e8f0;border-radius:999px;height:7px;overflow:hidden}.progress-cell i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa);height:100%;display:block}.progress-cell strong{color:var(--navy-900);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.icon-actions{flex-wrap:nowrap;gap:6px;display:flex}.icon-actions button{min-height:28px;font-size:var(--fs-xs);padding:4px 8px}.status-enabled{color:#059669;font-weight:800}.status-enabled:before{content:"";background:#10b981;border-radius:999px;flex:none;width:7px;height:7px;display:inline-block}.panel-hint{margin:var(--space-4) 0 0;color:var(--text-subtle);font-size:var(--fs-xs);line-height:1.45}.data-export-panel{margin-top:0}.data-export-panel h2{margin-bottom:var(--space-4)}.export-actions-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.export-actions-grid button{min-height:88px;padding:var(--space-4);text-align:left;background:#fff;border-color:#cbd5e1d6;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;display:flex}.export-actions-grid strong{color:var(--navy-900);font-size:var(--fs-base)}.export-actions-grid span{color:var(--text-subtle);font-size:var(--fs-sm)}.detail-hero{align-items:center;gap:var(--space-6);margin-bottom:var(--space-5);padding:var(--space-6);background:linear-gradient(135deg, #0f1f4afa, #1e3a8ae0), var(--navy-900);box-shadow:var(--shadow-lg);border:1px solid #cbd5e1c7;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;display:grid}.detail-hero h1{color:#fff;letter-spacing:-.035em;font-size:38px}.detail-hero p:not(.eyebrow){color:#ffffffad;font-size:var(--fs-base)}.detail-hero .eyebrow{color:#fbbf24}.detail-hero-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-hero-actions button{color:#fff;background:#ffffff17;border-color:#fff3}.detail-hero-actions button:hover:not(:disabled){background:#ffffff29;border-color:#ffffff52}.meta-bar{gap:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-sm);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.meta-bar>div{flex-direction:column;gap:2px;display:flex}.meta-bar .meta-label{font-size:var(--fs-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.meta-bar .meta-value{color:var(--text-strong);font-weight:600;font-size:var(--fs-sm)}.eyebrow{margin:0 0 var(--space-2);color:var(--accent);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.presentation-entry-card{margin-top:var(--space-5);align-items:center;gap:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg, #0f1f4af5, #1e3a8ae6), var(--navy-900);color:#ffffffd1;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #94a3b83d;grid-template-columns:minmax(0,1fr) auto;display:grid}.presentation-entry-card h2{color:#fff;margin-bottom:var(--space-2)}.presentation-entry-card p:not(.eyebrow){color:#ffffffb8;max-width:820px;font-size:var(--fs-sm)}.presentation-entry-card .eyebrow{color:#fbbf24}.presentation-entry-card button.primary{color:var(--navy-900);background:#fff;border-color:#fffc}.presentation-entry-card button.primary:hover:not(:disabled){background:var(--blue-50);border-color:var(--blue-50)}.role-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.role-chips.inline{font-size:var(--fs-xs)}.role-chip{background:var(--bg-elev);border:1px solid var(--border);font-size:var(--fs-sm);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:500;display:inline-flex}.role-chip .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.person-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.person-table th,.person-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 18px}.person-table thead th{background:var(--bg-subtle);color:var(--text-muted);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.person-table tbody tr:last-child td{border-bottom:none}.person-table tbody tr:hover{background:var(--bg-subtle)}.person-table td.col-name{color:var(--text-strong);font-weight:600;font-size:var(--fs-base)}.person-table .actions{flex-wrap:wrap;gap:6px;display:flex}.person-table .actions button{font-size:var(--fs-sm);min-height:30px;padding:4px 10px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;padding:var(--space-5);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elev);border-radius:var(--radius-lg);width:100%;max-width:820px;max-height:92vh;box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow-y:auto}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-subtle);align-items:center;display:flex}.modal-header h3{font-size:var(--fs-md);color:var(--text-strong);flex:1;margin:0}.modal-form{padding:var(--space-5);gap:var(--space-4);background:var(--bg-elev);box-shadow:none;border:none;border-radius:0;max-width:none}.curves-table{gap:var(--space-2);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);flex-direction:column;display:flex}.curves-head,.curves-row{grid-template-columns:180px repeat(var(--dim-cols,3), minmax(80px, 1fr)) 44px;gap:var(--space-2);align-items:center;display:grid}.curves-head{font-size:var(--fs-xs);color:var(--text-subtle);padding:0 4px var(--space-2);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.curves-head .unit{color:var(--text-subtle);font-size:var(--fs-xs);text-transform:none;font-weight:400}.curves-row select,.curves-row input{width:100%;font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--text);padding:8px 10px}.curves-row select:focus,.curves-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.curves-row .del-col{font-size:var(--fs-xs);min-height:32px;padding:4px 6px}.curve-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.add-role-inline{gap:var(--space-2);padding:var(--space-3);background:var(--accent-soft);border-radius:var(--radius);border:1px solid #2563eb33;align-items:center;display:flex}.add-role-inline input[type=color]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-strong);background:0 0;width:40px;height:36px;padding:0}.add-role-inline input:not([type=color]){flex:1}.chart-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.chart-card .chart-title{font-size:var(--fs-md);padding:var(--space-3) var(--space-5) 0;color:var(--text-strong);font-weight:700}.chart-card .chart-title.compact{font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);color:var(--text);border-bottom:1px solid var(--border);font-weight:600}.chart-card .chart-canvas{flex:1;min-height:0}.fullscreen-page{background:var(--bg);flex-direction:column;height:100vh;display:flex}.fullscreen-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.fullscreen-header .title{font-size:var(--fs-md);color:var(--text-strong);flex:1;font-weight:700}.fullscreen-header .title .muted{color:var(--text-muted);margin-left:var(--space-2);font-weight:500;font-size:var(--fs-sm)}.fullscreen-header .page-indicator{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:500;display:flex}.fullscreen-body{padding:var(--space-5);flex:1;min-height:0;overflow:hidden;container-type:size}.fullscreen-body .chart-card{border:1px solid var(--border);height:100%;box-shadow:var(--shadow-sm)}.fullscreen-foot{text-align:center;font-size:var(--fs-xs);color:var(--text-subtle);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);background:var(--bg-elev);letter-spacing:.02em}.grid-body{gap:var(--space-3);padding:var(--space-4);flex:1;min-height:0;display:grid}.grid-fixed{grid-template-columns:repeat(var(--grid-cols,4), minmax(0, 1fr));grid-auto-rows:calc((100vh - 96px) / var(--grid-visible-rows,2));align-content:start;overflow-y:auto}.grid-cell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev);cursor:pointer;width:100%;min-width:0;min-height:0;box-shadow:var(--shadow-xs);font:inherit;color:inherit;text-align:left;appearance:none;flex-direction:column;margin:0;padding:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.grid-cell:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.grid-cell:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.grid-cell .chart-card{width:100%;height:100%;box-shadow:none;border:none;flex:1}.export-progress{max-width:460px;padding:var(--space-5)}.export-progress h3{margin:0 0 var(--space-3);font-size:var(--fs-md);color:var(--text-strong)}.progress{background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--blue-600), var(--navy-700));height:100%;transition:width .2s}.progress-info{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.presentation-center-page{min-height:100vh;color:var(--text);background:radial-gradient(circle at 100% 0,#2563eb24,#0000 32rem),linear-gradient(#f8fafc 0%,#eef4fb 100%)}.presentation-center-header{align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border-bottom:1px solid #94a3b847;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.presentation-center-title span{margin-bottom:var(--space-1);color:var(--accent);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:inline-flex}.presentation-center-title h1{color:var(--navy-900);margin:0}.presentation-center-title p{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--fs-sm)}.presentation-center-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.presentation-center-meta span{color:var(--text-muted);font-size:var(--fs-xs);background:#ffffffb8;border:1px solid #94a3b861;border-radius:999px;padding:6px 10px;font-weight:600}.presentation-center-main{max-width:1180px;padding:var(--space-7) var(--space-6);margin:0 auto}.presentation-hero{gap:var(--space-6);margin-bottom:var(--space-5);padding:var(--space-6);color:#ffffffc7;background:linear-gradient(135deg, #0f1f4afa, #1e3a8aeb), var(--navy-900);box-shadow:var(--shadow-lg);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;display:grid}.presentation-hero h2{color:#fff;max-width:720px;font-size:34px}.presentation-hero p:not(.eyebrow){color:#ffffffb8;max-width:680px;font-size:var(--fs-base)}.presentation-hero .eyebrow{color:#fbbf24}.presentation-readiness{gap:var(--space-3);grid-template-columns:1fr;display:grid}.presentation-readiness div{padding:var(--space-4);border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff29}.presentation-readiness span{color:#ffffff9e;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:block}.presentation-readiness strong{margin-top:var(--space-1);color:#fff;font-variant-numeric:tabular-nums;font-size:30px;line-height:1;display:block}.presentation-actions{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(240px,1fr));display:grid}.presentation-card{justify-content:space-between;gap:var(--space-5);min-height:280px;padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffdb;border:1px solid #cbd5e1e6;flex-direction:column;display:flex}.presentation-card.primary-display{background:linear-gradient(#eff6fff0,#ffffffeb);border-color:#2563eb38}.presentation-card h3{margin-bottom:var(--space-2);color:var(--navy-900);font-size:var(--fs-lg)}.presentation-card p:not(.eyebrow){color:var(--text-muted);font-size:var(--fs-sm)}.presentation-card dl{gap:var(--space-3);grid-template-columns:1fr 1fr;margin:0;display:grid}.presentation-card dt{color:var(--text-subtle);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.presentation-card dd{color:var(--text-strong);font-size:var(--fs-md);margin:2px 0 0;font-weight:800}.presentation-card button{width:fit-content}.presentation-note{align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-sm);background:#ffffffb8;border:1px solid #cbd5e1e6;display:flex}.presentation-note strong{color:var(--text-strong)}@media (width<=1360px){.project-overview-row,.project-management-grid{grid-template-columns:1fr}.metric-panel,.export-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item:nth-child(2){border-right:0}.table-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.app-layout{grid-template-columns:1fr}.app-sidebar{height:auto;padding:var(--space-4);position:relative}.app-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-note{display:none}.app-main{padding:var(--space-4)}.app-header{padding:0 var(--space-4);gap:var(--space-3)}.form{padding:var(--space-4)}.person-table th,.person-table td{padding:10px 12px}.meta-bar{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.card-grid,.dashboard-hero,.detail-hero,.dashboard-metrics{grid-template-columns:1fr}.dashboard-actions,.detail-hero-actions{justify-content:flex-start}.dashboard-hero h1,.detail-hero h1{font-size:var(--fs-xl)}.presentation-entry-card,.presentation-center-header,.presentation-hero,.presentation-actions,.project-admin-header,.project-overview-row,.project-management-grid,.metric-panel,.table-tools,.export-actions-grid{grid-template-columns:1fr}.project-header-actions{justify-content:flex-start}.metric-item{border-bottom:1px solid #cbd5e1b8;border-right:0}.metric-item:last-child{border-bottom:0}.topbar-actions{gap:var(--space-2)}.presentation-center-header,.presentation-center-main{padding-left:var(--space-4);padding-right:var(--space-4)}.presentation-center-meta{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
