:root{--bg:#f5f7fb;--surface:#ffffff;--surface-2:#eef3f7;--ink:#163041;--muted:#64748b;--line:#d8e1e8;--primary:#0f766e;--primary-strong:#0d5e58;--brand-primary:#0f766e;--brand-secondary:#d1ecf2;--brand-accent:#6fc8d6;--brand-neutral:#eef3f7;--brand-heading-font:"Segoe UI","Helvetica Neue",Arial,sans-serif;--brand-body-font:"Segoe UI","Helvetica Neue",Arial,sans-serif;--sidebar-bg:#102636;--sidebar-bg-strong:#0b1a25;--page-bg-top:#f8fafc;--page-bg-bottom:#edf4f7;--radius:18px;--shadow:0 10px 30px rgba(15,23,42,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(180deg,var(--page-bg-top) 0,var(--page-bg-bottom) 100%);color:var(--ink);font-family:var(--brand-body-font)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--brand-heading-font)}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;min-height:100vh;background:linear-gradient(180deg,var(--sidebar-bg) 0,var(--sidebar-bg-strong) 100%);color:#edf7fb;padding:22px 20px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:inset -1px 0 0 rgba(255,255,255,.04)}.sidebar h1{font-size:.96rem;margin:0}.sidebar__brand{display:grid;grid-gap:10px;gap:10px}.sidebar__logoFrame{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.98);border-radius:18px;padding:14px 16px;min-height:76px;box-shadow:0 14px 30px rgba(4,17,24,.2)}.sidebar__tagline{margin:0;color:#c9dbe5;line-height:1.5}.sidebar__profile{display:grid;grid-gap:4px;gap:4px;padding:14px 14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.05)}.sidebar__profileName{font-size:1rem}.sidebar__nav{display:grid;grid-gap:8px;gap:8px;margin-top:6px}.sidebar a,.sidebar__footerLink{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#d8e7ee;border:1px solid transparent;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.sidebar a:hover,.sidebar__footerLink:hover{background:rgba(255,255,255,.08);color:white;transform:translateX(1px)}.sidebar a.active,.sidebar__footerLink.active{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.1));border-color:rgba(255,255,255,.12);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.sidebar a svg,.sidebar__footerLink svg{flex:0 0 auto}.sidebar__footer{margin-top:auto;display:grid;grid-gap:10px;gap:10px}.content{position:relative;padding:28px;display:grid;grid-gap:24px;gap:24px;background:radial-gradient(circle at top right,rgba(255,255,255,.82) 0,transparent 34%),linear-gradient(180deg,rgba(255,255,255,.22),transparent 18%)}.card,.hero,.panel,.table-wrap,.topbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.panel,.table-wrap,.topbar{padding:20px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--brand-secondary) 54%,white) 0,transparent 28%),linear-gradient(180deg,rgba(255,255,255,.95) 0,rgba(247,250,252,.92) 100%)}.shell-heading{display:grid;grid-gap:6px;gap:6px}.shell-heading h2{margin:0;font-size:clamp(2rem,2.8vw,3rem);line-height:1.02}.shell-kicker{color:color-mix(in srgb,var(--brand-primary) 72%,#4b5563);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.shell-subtitle{max-width:780px;color:var(--muted);line-height:1.6}.shell-actions{display:grid;grid-gap:14px;gap:14px;justify-items:end}.shell-stage,.workspace-grid,.workspace-stack{display:grid;grid-gap:20px;gap:20px}.workspace-grid.workspace-grid--split{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.workspace-grid.workspace-grid--equal{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-rail{display:grid;grid-gap:16px;gap:16px}.workspace-note{display:grid;grid-gap:10px;gap:10px;padding:18px;border-radius:18px;border:1px solid color-mix(in srgb,var(--brand-primary) 12%,white);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,250,252,.92));box-shadow:0 12px 28px rgba(15,23,42,.05)}.workspace-note h3,.workspace-note h4,.workspace-note p{margin:0}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-strip.metric-strip--4{grid-template-columns:repeat(4,minmax(0,1fr))}.session-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.session-actions__identity{text-align:right}.session-actions__name{font-weight:700}.hero{padding:36px;background:linear-gradient(135deg,var(--primary) 0,var(--sidebar-bg-strong) 100%);color:white}.card h3,.hero h2,.panel h2{margin-top:0}.grid{display:grid;grid-gap:20px;gap:20px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:18px;border-radius:16px;background:linear-gradient(180deg,#f8fcfe 0,var(--surface-2) 100%);border:1px solid var(--line)}.stat-label{color:var(--muted);font-size:.92rem}.stat-value{font-size:2rem;font-weight:700;margin-top:8px}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:600}.badge.draft{color:#334155;background:#e2e8f0}.badge.in_progress,.badge.open{color:#0f766e;background:#d1fae5}.badge.closed,.badge.hidden{color:#92400e;background:#fef3c7}.badge.generated,.badge.published,.badge.ready,.badge.reports_generated,.badge.reports_published,.badge.submitted{color:#166534;background:#dcfce7}.badge.due,.badge.not_started,.badge.opened{color:#1d4ed8;background:#dbeafe}.badge.blocked,.badge.failed{color:#991b1b;background:#fee2e2}.badge.partial{color:#9a3412;background:#ffedd5}.badge.full{color:#155e75;background:#cffafe}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;border:1px solid transparent;font-weight:600;cursor:pointer}.button.primary{background:var(--primary);color:white}.button.primary:hover{background:var(--primary-strong)}.button.secondary{background:white;border-color:var(--line);color:var(--ink)}.button.ghost{background:transparent;color:var(--primary)}.button.danger{background:#b42318;color:white}.button.danger:hover{background:#912018}.button.compact{padding:8px 12px;border-radius:10px;font-size:.92rem}.button.icon-button{width:38px;min-width:38px;min-height:38px;padding:0}.button.icon-button svg{width:16px;height:16px}.button:disabled{cursor:not-allowed;opacity:.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-weight:600}.field input,.field select,.field textarea{width:100%;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.98);padding:12px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.field textarea{min-height:120px;resize:vertical}table{width:100%;border-collapse:collapse}.table-wrap{overflow:hidden}.table-wrap table{min-width:100%}td,th{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.88rem;font-weight:700}.rating{display:grid;grid-template-columns:repeat(6,44px);grid-gap:8px;gap:8px}.rating button{border-radius:12px;border:1px solid var(--line);background:white;padding:10px 0}.rating button.active{background:var(--primary);color:white;border-color:var(--primary)}.split{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:20px;gap:20px}.muted{color:var(--muted)}.inline-status{display:inline-flex;align-items:center;gap:8px}.soft-divider{height:1px;background:linear-gradient(90deg,rgba(15,118,110,.14),rgba(15,118,110,.03))}.table-compact td,.table-compact th{padding:10px 12px;font-size:.92rem}.context-hint{color:var(--muted);font-size:.84rem}.upload-card{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px dashed #bfd0d9;border-radius:18px;background:linear-gradient(180deg,#fffef9,#faf5ea)}.upload-row{align-items:center;gap:10px}.upload-meta,.upload-row{display:flex;flex-wrap:wrap}.upload-meta{gap:8px}.upload-token{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#edf3f7;color:#334155;font-size:.84rem;font-weight:600}.tree-stack{display:grid;grid-gap:16px;gap:16px}.tree-block{overflow:hidden;border:1px solid #d6e2e8;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f7fafc);box-shadow:0 8px 22px rgba(15,23,42,.05)}.tree-block-header{display:grid;grid-gap:14px;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#f7fcfb,#eef8f5 55%,#f8fbfd);border-bottom:1px solid var(--line)}.tree-header-top{justify-content:space-between}.tree-header-top,.tree-title-group{display:flex;align-items:flex-start;gap:12px}.tree-title-group{min-width:0;flex:1 1}.tree-title-group>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.tree-title{font-size:1rem;font-weight:700}.tree-description{color:var(--muted);font-size:.92rem;line-height:1.4}.tree-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tree-body{display:grid;grid-gap:16px;gap:16px;padding:18px 20px 20px}.question-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-list-summary{display:flex;flex-wrap:wrap;gap:8px}.question-card,.tree-questions{display:grid;grid-gap:12px;gap:12px}.question-card{padding:14px 16px;border:1px solid #d7e3ea;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f4f9fc)}.question-card.dragging{opacity:.55}.question-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;min-height:38px;padding:0;border:1px dashed #94a3b8;border-radius:10px;background:#f8fafc;color:#334155;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-handle svg{width:16px;height:16px}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.question-drop-zone{height:12px;border-radius:999px;border:1px dashed transparent;transition:all .12s ease}.question-drop-zone.active{height:18px;border-color:#0f766e;background:rgba(15,118,110,.14)}.sequence-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:7px 12px;border-radius:999px;background:linear-gradient(180deg,#d7f2ee,#c6ebe4);color:#11403c;font-size:.86rem;font-weight:800}.context-menu{position:fixed;z-index:40;min-width:240px;padding:8px;display:grid;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 36px rgba(15,23,42,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.context-menu button{width:100%;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:600;cursor:pointer}.context-menu button:hover:not(:disabled){background:#eef6f7}.context-menu button.danger{color:#991b1b}.context-menu button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1040px){.app-shell,.form-grid,.grid.cols-2,.grid.cols-3,.metric-strip,.metric-strip.metric-strip--4,.split,.workspace-grid.workspace-grid--equal,.workspace-grid.workspace-grid--split{grid-template-columns:1fr}.sidebar{display:none}.question-card-header,.question-list-toolbar,.shell-actions,.tree-header-top,.upload-row{flex-direction:column;align-items:stretch}.topbar{padding:22px}.tree-header-actions{justify-content:flex-start}}