:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ds-font-sans:"Noto Sans Thai", "Leelawadee UI", Inter, ui-sans-serif, system-ui, sans-serif;--ds-canvas:#f6f7fa;--ds-surface:#fff;--ds-surface-subtle:#fafafd;--ds-surface-muted:#f3f3f7;--ds-surface-selected:#f1efff;--ds-text:#19172a;--ds-text-secondary:#5f5b70;--ds-text-muted:#8a8698;--ds-border:#e7e5ec;--ds-border-strong:#d5d2df;--ds-primary:#6254d9;--ds-primary-hover:#5143c4;--ds-primary-active:#4436ad;--ds-primary-soft:#eeebff;--ds-primary-border:#cfc8fa;--ds-success:#157964;--ds-success-soft:#e9f7f2;--ds-warning:#9a5b12;--ds-warning-soft:#fff5df;--ds-danger:#bd3e58;--ds-danger-soft:#fff0f2;--ds-info:#336fb5;--ds-info-soft:#edf5ff;--ds-radius-sm:8px;--ds-radius-md:12px;--ds-radius-lg:16px;--ds-radius-xl:20px;--ds-shadow-sm:0 1px 2px #16122d0d;--ds-shadow-md:0 12px 32px #1a163614;--ds-focus:0 0 0 3px #6254d938;--ds-duration-fast:.15s;--ds-duration:.2s;--ds-sidebar:248px;--ds-sidebar-collapsed:72px;--ds-topbar:64px;--ds-content-max:1560px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ds-canvas:#0e1017;--ds-surface:#171923;--ds-surface-subtle:#1b1e29;--ds-surface-muted:#222531;--ds-surface-selected:#292440;--ds-text:#f2f0f7;--ds-text-secondary:#bbb7c8;--ds-text-muted:#8e899d;--ds-border:#2d303d;--ds-border-strong:#424654;--ds-primary:#9d8dff;--ds-primary-hover:#b2a5ff;--ds-primary-active:#8372ef;--ds-primary-soft:#292441;--ds-primary-border:#4b426f;--ds-success:#61d4b1;--ds-success-soft:#152b26;--ds-warning:#f0ba67;--ds-warning-soft:#302617;--ds-danger:#f28aa0;--ds-danger-soft:#321b22;--ds-info:#79b7f6;--ds-info-soft:#172638;--ds-shadow-sm:0 1px 2px #0000004d;--ds-shadow-md:0 18px 42px #00000057;--ds-focus:0 0 0 3px #9d8dff47}html{background:var(--ds-canvas);color:var(--ds-text);font-family:var(--ds-font-sans);font-synthesis:none;text-rendering:optimizelegibility}body{background:var(--ds-canvas);min-width:320px;color:var(--ds-text);font-family:var(--ds-font-sans);margin:0;line-height:1.55;overflow-x:clip}.appBackdrop{z-index:-1;background:radial-gradient(circle at 100% 0%, #6254d90d, transparent 30rem), var(--ds-canvas);pointer-events:none;position:fixed;inset:0}::selection{color:var(--ds-text);background:#6254d92e}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px;box-shadow:var(--ds-focus)}:where(button,a,input,select,textarea){font:inherit}button,a{-webkit-tap-highlight-color:transparent}.skipLink{z-index:1000;border-radius:var(--ds-radius-sm);background:var(--ds-text);color:#fff;transition:transform var(--ds-duration-fast) ease;padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skipLink:focus{transform:translateY(0)}.primaryButton,.secondaryButton,.ghostButton,.dangerButton,.linkButton,.textButton,.iconButton{cursor:pointer;min-height:40px;transition:color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease, border-color var(--ds-duration-fast) ease, box-shadow var(--ds-duration-fast) ease, transform var(--ds-duration-fast) ease;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.875rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.primaryButton{border-color:var(--ds-primary)!important;background:var(--ds-primary)!important;color:#fff!important;box-shadow:0 1px 2px #4436ad2e!important}.primaryButton:hover{border-color:var(--ds-primary-hover)!important;background:var(--ds-primary-hover)!important;transform:translateY(-1px)!important;box-shadow:0 6px 14px #4436ad29!important}.primaryButton:active{background:var(--ds-primary-active)!important;transform:translateY(0)!important}.secondaryButton{border-color:var(--ds-border-strong);background:var(--ds-surface);color:var(--ds-text);box-shadow:var(--ds-shadow-sm)}.secondaryButton:hover{background:var(--ds-surface-subtle);border-color:#bdb7d2}.ghostButton,.linkButton,.textButton{color:var(--ds-primary);box-shadow:none;background:0 0;border-color:#0000}.ghostButton:hover,.linkButton:hover,.textButton:hover{background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.dangerButton{background:var(--ds-danger-soft);color:var(--ds-danger)!important;border-color:#f0c8d1!important}.dangerButton:hover{background:#ffe4e9;border-color:#e7aebc}.iconButton{border-color:var(--ds-border);background:var(--ds-surface);width:40px;color:var(--ds-text-secondary);padding:0}:where(.primaryButton,.secondaryButton,.ghostButton,.dangerButton,.iconButton):disabled{border-color:var(--ds-border);background:var(--ds-surface-muted);color:var(--ds-text-muted);box-shadow:none;cursor:not-allowed;opacity:.68;transform:none}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;border:1px solid var(--ds-border-strong);background:var(--ds-surface);width:100%;min-height:44px;color:var(--ds-text);transition:border-color var(--ds-duration-fast) ease, box-shadow var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease;border-radius:10px;padding:9px 12px;font-size:.925rem;line-height:1.45;box-shadow:0 1px 1px #17132c05}textarea{resize:vertical;min-height:104px}:where(input:not([type=checkbox]):not([type=radio]),select,textarea):hover{border-color:#bbb6ca}:where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--ds-primary);box-shadow:var(--ds-focus);outline:0}:where(input,textarea)::placeholder{color:var(--ds-text-muted);opacity:.8}input:is([type=checkbox],[type=radio]){width:1rem;min-width:1rem;height:1rem;min-height:1rem;accent-color:var(--ds-primary);cursor:pointer;flex:0 0 1rem;margin:0;padding:0}input:is([type=checkbox],[type=radio]):disabled{cursor:not-allowed;opacity:.55}label,.formLabel{color:var(--ds-text-secondary);font-size:.875rem;font-weight:600}.formGrid,.stackForm{gap:18px}.formGrid label,.stackForm label,.portalForm label,.portalQuestion{gap:7px}.fieldHint{color:var(--ds-text-muted);font-size:.78rem;line-height:1.5}.fieldHint.error{color:var(--ds-danger)}.shellFrame{background:0 0;min-height:100dvh}.shellNav{width:var(--ds-sidebar);border-right:1px solid var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 96%, transparent);box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.shellFrame[data-collapsed=true] .shellNav{width:var(--ds-sidebar-collapsed)}.shellBrand{min-height:var(--ds-topbar);border-bottom:1px solid var(--ds-border);padding:0 18px}.brandMark{color:var(--ds-text);letter-spacing:.035em;gap:10px}.brandMark>svg,.portalMark,.authCardIcon{background:var(--ds-primary);color:#fff;border-radius:10px;box-shadow:0 6px 16px #6254d92e}.shellBrand h2{color:var(--ds-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.shellNav nav{gap:4px;padding:14px 10px;display:grid}.shellNavItem{min-height:46px;color:var(--ds-text-secondary);text-align:left;transition:color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease;background:0 0;border:0;border-radius:10px;gap:12px;padding:8px 12px;position:relative}.shellNavItem:hover{background:var(--ds-surface-muted);color:var(--ds-text);transform:none}.shellNavItem.active{background:var(--ds-primary-soft);color:var(--ds-primary-hover);box-shadow:inset 3px 0 var(--ds-primary)}.shellNavTh{font-size:.88rem;font-weight:650}.shellNavEn{color:var(--ds-text-muted);font-size:.68rem;font-weight:500}.shellNavItem.active .shellNavEn{color:#7368b7}.shellAvatar{background:var(--ds-primary-soft);color:var(--ds-primary-hover);font-weight:750}.shellUserChipText strong{color:var(--ds-text)}.shellUserChipText small{color:var(--ds-text-muted)}.shellMain{transition:margin-left var(--ds-duration) ease;background:0 0;margin-left:0}.shellFrame[data-collapsed=true] .shellMain{margin-left:0}.shellTopbar{min-height:var(--ds-topbar);border-bottom:1px solid var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 88%, transparent);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-left:58px}.shellCollapseToggle{z-index:2;border:1px solid var(--ds-border);background:var(--ds-surface);width:36px;height:36px;color:var(--ds-text-secondary);box-shadow:var(--ds-shadow-sm);transition:border-color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease, color var(--ds-duration-fast) ease, box-shadow var(--ds-duration-fast) ease;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.shellCollapseToggle:hover{border-color:var(--ds-primary-border);background:var(--ds-primary-soft);color:var(--ds-primary-hover);transform:translateY(-50%);box-shadow:0 6px 16px #6254d924}.shellCollapseToggle:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.shellTitle{color:var(--ds-text);font-size:1rem;font-weight:700}.shellSubtitle{color:var(--ds-text-muted);font-size:.76rem}.shellWorkflowContext{color:var(--ds-text-muted);align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.shellWorkflowContext span{color:var(--ds-primary)}.shellShieldBadge{background:var(--ds-success-soft);color:var(--ds-success);border:1px solid #cfe9df}.shellUserChip{border-color:var(--ds-border);background:var(--ds-surface);min-height:42px;box-shadow:none;color:var(--ds-text-secondary);cursor:pointer;transition:border-color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease, box-shadow var(--ds-duration-fast) ease}.shellUserChip:hover,.shellUserChip[aria-expanded=true]{border-color:var(--ds-primary-border);background:var(--ds-primary-soft);box-shadow:0 6px 18px #6254d91f}.shellUserChip:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.shellUserChipChevron{transition:transform var(--ds-duration-fast) ease;flex:none}.shellUserChip[aria-expanded=true] .shellUserChipChevron{transform:rotate(180deg)}.shellTopbarRight{position:relative}.shellAccountMenu{z-index:100;border:1px solid var(--ds-border);background:var(--ds-surface);width:min(290px,100vw - 28px);box-shadow:var(--ds-shadow-md);border-radius:14px;gap:10px;padding:14px;animation:.16s ease-out both accountMenuEnter;display:grid;position:absolute;top:calc(100% + 8px);right:0}.shellAccountMenu>div{min-width:0;display:grid}.shellAccountMenu strong{color:var(--ds-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.shellAccountMenu span{color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.shellAccountMenu .shellAccountSecurity{border-block:1px solid var(--ds-border);color:var(--ds-success);align-items:center;gap:6px;padding-block:8px;display:flex}.shellAccountLanguage{grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;display:grid}.shellAccountLanguage>span{color:var(--ds-text-secondary);font-weight:650}.shellAccountLanguage select{border:1px solid var(--ds-border);background-color:var(--ds-surface);min-height:38px;color:var(--ds-text);font:inherit;border-radius:9px;padding:0 30px 0 10px;font-size:.8rem}.shellAccountLanguage select:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.shellAccountMenu button{background:var(--ds-danger-soft);min-height:40px;color:var(--ds-danger);border:0;border-radius:9px;align-items:center;gap:8px;padding:0 10px;font-weight:650;display:flex}.shellAccountMenu button:hover{background:color-mix(in srgb, var(--ds-danger-soft) 82%, var(--ds-danger) 18%)}.shellAccountMenu .shellAccountOrganizations{border-bottom:1px solid var(--ds-border);gap:4px;padding-bottom:8px;display:grid}.shellAccountOrganizations>small{color:var(--ds-text-muted);padding:2px 8px 4px;font-size:.7rem;font-weight:700}.shellAccountMenu .shellAccountOrganizations button{color:var(--ds-text-secondary);text-align:left;background:0 0;justify-content:space-between}.shellAccountMenu .shellAccountOrganizations button:hover,.shellAccountMenu .shellAccountOrganizations button[aria-current=true]{background:var(--ds-primary-soft);color:var(--ds-primary)}.shellAccountOrganizations button>span{min-width:0;display:grid}.shellAccountOrganizations button strong,.shellAccountOrganizations button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes accountMenuEnter{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.shellWorkspace{width:min(100%, var(--ds-content-max));min-height:calc(100dvh - var(--ds-topbar));box-sizing:border-box;outline:none;margin:0 auto;padding:28px 32px 44px}.pageHeader{border-bottom:1px solid var(--ds-border);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding:4px 0 20px;display:flex}.pageHeaderCopy{min-width:0}.pageEyebrow,.stepLabel,.eyebrow{color:var(--ds-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:750}.pageTitleRow{align-items:center;gap:12px;display:flex}.pageHeader h2{color:var(--ds-text);letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,1.7vw,1.8rem);font-weight:720;line-height:1.3}.pageDescription{max-width:760px;color:var(--ds-text-secondary);margin:5px 0 0;font-size:.9rem}.pageHeaderActions,.buttonRow{flex:none;align-items:center;gap:9px;display:flex}.simplePageHeader,.dashboardWelcome{border:0;border-bottom:1px solid var(--ds-border);box-shadow:none;background:0 0;border-radius:0;margin-bottom:22px;padding:4px 0 20px}.panel,.workspaceSection{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm)}.panel{padding:20px}.panel+.panel{margin-top:16px}.panelHeader,.sectionHeading{border-bottom:1px solid var(--ds-border);gap:16px;margin-bottom:18px;padding-bottom:14px}.panelHeader h2,.panelHeader h3,.sectionHeading h3{color:var(--ds-text);margin:0;font-size:1.02rem;font-weight:700}.panelHeader p,.sectionHeading p{color:var(--ds-text-muted);margin:3px 0 0;font-size:.82rem}.alert{border:1px solid var(--ds-border);border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:11px 13px;font-size:.875rem;line-height:1.5;display:flex}.alert.error{background:var(--ds-danger-soft);color:#963047;border-color:#f1cbd4}.alert.success{background:var(--ds-success-soft);color:#116853;border-color:#cce9de}.alert.warning{background:var(--ds-warning-soft);color:#7d480c;border-color:#efdcae}.statusPill{border:1px solid var(--ds-border-strong);background:var(--ds-surface-muted);min-height:24px;color:var(--ds-text-secondary);letter-spacing:.025em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.69rem;font-weight:750;line-height:1;display:inline-flex}:where(.status-active,.status-approved,.status-accepted,.status-ready,.status-published,.status-submitted,.status-confirmed,.status-complete,.status-converted_to_project){background:var(--ds-success-soft);color:var(--ds-success);border-color:#c8e6da}:where(.status-waiting_for_customer,.status-requirement_review,.status-negotiation,.status-on_hold,.status-pending,.status-invited,.status-incomplete,.status-needs_help){background:var(--ds-warning-soft);color:var(--ds-warning);border-color:#edd8a6}:where(.status-discovery_in_progress,.status-technical_assessment,.status-estimation,.status-proposal_submitted,.status-sent,.status-reopened){background:var(--ds-info-soft);color:var(--ds-info);border-color:#cddff4}:where(.status-rejected,.status-failed,.status-revoked,.status-expired,.status-disabled,.status-blacklisted,.status-locked){background:var(--ds-danger-soft);color:var(--ds-danger);border-color:#efcbd4}.simpleMetricGrid,.metricGrid{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);gap:0;margin-bottom:18px;overflow:hidden}.simpleMetricGrid article,.metricCard{box-sizing:border-box;border:0;border-right:1px solid var(--ds-border);min-height:116px;box-shadow:none;background:0 0;border-radius:0;padding:18px 20px}.simpleMetricGrid article:last-child,.metricCard:last-child{border-right:0}.simpleMetricGrid span,.simpleMetricGrid small,.metricCard span,.metricCard small{color:var(--ds-text-muted);font-size:.78rem}.simpleMetricGrid strong,.metricCard strong{color:var(--ds-text);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:1.85rem}.dashboardRoleBadge,.dashboardTotalBadge{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);min-height:25px;color:var(--ds-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:.69rem;font-weight:700;display:inline-flex}.roleMetricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.roleMetricCard{box-sizing:border-box;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);min-height:132px;box-shadow:var(--ds-shadow-sm);grid-template-columns:auto minmax(0,1fr);gap:13px;padding:18px;display:grid;position:relative;overflow:hidden}.roleMetricCard:after{background:var(--metric-accent,var(--ds-primary));content:"";opacity:.72;height:2px;position:absolute;inset:auto 0 0}.roleMetricIcon,.focusIcon{background:var(--metric-soft,var(--ds-primary-soft));color:var(--metric-accent,var(--ds-primary));border-radius:10px;flex:none;place-items:center;display:grid}.roleMetricIcon{width:36px;height:36px}.roleMetricCard>div:last-child{align-content:start;min-width:0;display:grid}.roleMetricCard span{color:var(--ds-text-secondary);font-size:.76rem;font-weight:620}.roleMetricCard strong{color:var(--ds-text);font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin-top:2px;font-size:1.85rem;line-height:1.2}.roleMetricCard small{color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.72rem;overflow:hidden}.tone-primary{--metric-accent:var(--ds-primary);--metric-soft:var(--ds-primary-soft)}.tone-info{--metric-accent:var(--ds-info);--metric-soft:var(--ds-info-soft)}.tone-success{--metric-accent:var(--ds-success);--metric-soft:var(--ds-success-soft)}.tone-warning{--metric-accent:var(--ds-warning);--metric-soft:var(--ds-warning-soft)}.dashboardInsightGrid,.dashboardWorkGrid{gap:16px;margin-bottom:16px;display:grid}.dashboardInsightGrid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr)}.dashboardWorkGrid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.25fr)}.dashboardInsightGrid>.panel,.dashboardWorkGrid>.panel{min-width:0;margin-top:0}.dashboardPanelHeader{justify-content:space-between;align-items:flex-start;display:flex}.dashboardSectionEyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:750;color:var(--ds-primary)!important;margin:0 0 3px!important;font-size:.65rem!important}.dashboardSectionHeading{text-align:center}.dashboardSectionHeading h2{color:var(--ds-text);margin:0;font-size:1.02rem}.dashboardSectionHeading>p:last-child{color:var(--ds-text-muted);margin:4px 0 0;font-size:.78rem}.pipelineChart{gap:17px;padding:4px 0 7px;display:grid}.pipelineRow{grid-template-columns:minmax(132px,.85fr) minmax(120px,2fr) 30px;align-items:center;gap:13px;display:grid}.pipelineLabel{min-width:0;display:grid}.pipelineLabel strong{color:var(--ds-text-secondary);font-size:.8rem;font-weight:680}.pipelineLabel span{color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.pipelineTrack{background:var(--ds-surface-muted);border-radius:999px;height:8px;overflow:hidden}.pipelineBar{border-radius:inherit;background:var(--metric-accent);height:100%;transition:width .24s;display:block}.pipelineValue{color:var(--ds-text);font-variant-numeric:tabular-nums;text-align:right;font-size:.85rem}.pipelineFootnote{border-top:1px solid var(--ds-border);color:var(--ds-text-muted);justify-content:space-between;align-items:center;margin-top:15px;padding-top:13px;font-size:.74rem;display:flex}.pipelineFootnote strong{color:var(--ds-text-secondary);font-weight:680}.readinessPanel{box-sizing:border-box;place-items:center;min-height:100%;display:grid}.readinessRing{background:conic-gradient(var(--ds-primary) var(--readiness-angle), var(--ds-surface-muted) 0);border-radius:50%;place-items:center;width:144px;height:144px;margin:16px auto 12px;display:grid;position:relative}.readinessRing:before{border:1px solid var(--ds-border);background:var(--ds-surface);content:"";border-radius:50%;width:112px;height:112px;position:absolute}.readinessRing>div{z-index:1;align-items:baseline;display:flex}.readinessRing strong{color:var(--ds-text);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:2rem}.readinessRing span{color:var(--ds-text-muted);margin-left:2px;font-size:.76rem}.readinessLegend{color:var(--ds-text-muted);flex-wrap:wrap;justify-content:center;gap:6px 13px;font-size:.67rem;display:flex}.readinessLegend span{align-items:center;gap:5px;display:inline-flex}.readinessLegend i{border-radius:50%;width:7px;height:7px}.legendPrimary{background:var(--ds-primary)}.legendMuted{background:var(--ds-border-strong)}.readinessAdvice{background:var(--ds-surface-subtle);color:var(--ds-text-secondary);text-align:center;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:.72rem;line-height:1.55}.focusList{gap:2px;display:grid}.focusItem{min-height:62px;color:var(--ds-text-secondary);transition:color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:8px 7px;text-decoration:none;display:grid}.focusItem:hover{background:var(--ds-surface-subtle);color:var(--ds-primary-hover)}.focusIcon{width:35px;height:35px}.focusCopy{min-width:0;display:grid}.focusCopy strong{color:var(--ds-text);text-overflow:ellipsis;white-space:nowrap;font-size:.79rem;overflow:hidden}.focusCopy small{color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.focusCount{min-width:28px;color:var(--ds-text);font-variant-numeric:tabular-nums;text-align:right;font-size:.88rem;font-weight:720}.quietLink{min-height:34px;color:var(--ds-primary);align-items:center;gap:3px;font-size:.75rem;font-weight:680;text-decoration:none;display:inline-flex}.quietLink:hover{color:var(--ds-primary-hover)}.roleRecentProjects .simpleProjectRow{min-height:62px}.compactDashboardEmpty{min-height:176px}.simpleProjectList,.quotationList,.recordList{gap:0}.simpleProjectRow,.quotationList>a,.recordCard{border:0;border-bottom:1px solid var(--ds-border);box-shadow:none;transition:background var(--ds-duration-fast) ease;background:0 0;border-radius:0}.simpleProjectRow:last-child,.quotationList>a:last-child,.recordCard:last-child{border-bottom:0}.simpleProjectRow:hover,.quotationList>a:hover,.recordCard:hover{border-color:var(--ds-border);background:var(--ds-surface-subtle);box-shadow:none;transform:none}.simpleProjectRow{min-height:68px;padding:11px 10px}.simpleProjectRow strong,.quotationList strong,.recordCard strong{color:var(--ds-text);font-size:.9rem}.simpleProjectRow span,.simpleProjectRow small,.quotationList span,.quotationList small,.recordCard span{color:var(--ds-text-muted);font-size:.78rem}.customerCardGrid{grid-template-columns:minmax(0,1fr);gap:12px}.customerMiniCard{border-color:var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-subtle);grid-template-columns:minmax(220px,1.15fr) minmax(320px,1.85fr) auto;align-items:center;gap:clamp(20px,3vw,48px);min-height:112px;padding:20px 22px}.customerCardIdentity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.customerMiniCard>.customerCardDetails{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0;display:grid}.customerCardField{gap:3px;min-width:0;display:grid}.customerMiniCard .customerCardLabel{color:var(--ds-text-muted);letter-spacing:.025em;font-size:.68rem;font-weight:700}.customerCardField strong,.customerCardField small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customerCardField small{color:var(--ds-text-secondary);font-size:.75rem}.customerWebsiteField a{min-width:0;color:var(--ds-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.customerWebsiteField a:hover{color:var(--ds-primary-hover);text-underline-offset:3px;text-decoration:underline}.customerWebsiteField a svg{flex:none;width:14px;height:14px}.customerCardEmpty{color:var(--ds-text-muted);font-size:.78rem}.customerMiniCard .customerCardActions{align-items:stretch;min-width:104px}.customerMiniCard .customerCardActions>:first-child{align-self:flex-end}.customerAvatar{background:var(--ds-primary-soft);color:var(--ds-primary);border-radius:10px}@media (max-width:980px){.customerMiniCard{grid-template-columns:minmax(210px,1fr) minmax(260px,1.5fr)}.customerMiniCard .customerCardActions{flex-direction:row;grid-column:1/-1;justify-content:flex-end}.customerMiniCard .customerCardActions>:first-child{align-self:center}}@media (max-width:640px){.customerMiniCard{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}.customerMiniCard>.customerCardDetails{border-top:1px solid var(--ds-border);grid-template-columns:minmax(0,1fr);gap:14px;padding-top:16px}.customerMiniCard .customerCardActions{grid-column:auto;grid-template-columns:auto minmax(0,1fr);display:grid}.customerMiniCard .customerCardActions .compactButton{width:100%}}.listToolbar{border-bottom:1px solid var(--ds-border);color:var(--ds-text-muted);margin-bottom:14px;padding-bottom:14px;font-size:.8rem}.searchField,.templateListSearch{border-color:var(--ds-border-strong);background:var(--ds-surface);border-radius:10px}.searchField:focus-within,.templateListSearch:focus-within{border-color:var(--ds-primary);box-shadow:var(--ds-focus)}.searchField input,.templateListSearch input{min-height:40px;box-shadow:none;border:0}.emptyState,.emptyStateGuided{border:1px dashed var(--ds-border-strong);border-radius:var(--ds-radius-md);background:var(--ds-surface-subtle);min-height:210px;color:var(--ds-text-secondary);text-align:center;padding:34px 20px}.emptyStateIcon,.emptyState>svg{background:var(--ds-primary-soft);width:44px;height:44px;color:var(--ds-primary);border-radius:12px;place-items:center;margin:0 auto 12px;display:grid}.emptyState h3{color:var(--ds-text);margin:0;font-size:1rem}.emptyState p{max-width:420px;color:var(--ds-text-muted);margin:5px auto 0;font-size:.85rem}.emptyStateAction{margin-top:16px}.stateView{box-sizing:border-box;width:min(100% - 32px,520px);min-height:100dvh;color:var(--ds-text-secondary);text-align:center;place-content:center;justify-items:center;gap:12px;margin:0 auto;display:grid}.stateView h1{color:var(--ds-text);margin:4px 0 0;font-size:1.2rem}.stateView p{max-width:420px;margin:0;font-size:.875rem}.stateViewBrand,.stateViewIcon{background:var(--ds-primary-soft);width:44px;height:44px;color:var(--ds-primary);border-radius:12px;place-items:center;display:grid}.stateSkeleton{gap:8px;width:260px;display:grid}.stateSkeleton span{background:linear-gradient(90deg, var(--ds-surface-muted) 25%, #e7e4f3 50%, var(--ds-surface-muted) 75%);background-size:200% 100%;border-radius:999px;height:9px;animation:1.5s ease-in-out infinite ds-shimmer}.stateSkeleton span:nth-child(2){width:82%}.stateSkeleton span:nth-child(3){width:62%}.stateViewActions{gap:8px;margin-top:10px;display:flex}@keyframes ds-shimmer{to{background-position:-200% 0}}.compactSwitcher,.workspaceTabs,.moduleTabs{border:1px solid var(--ds-border);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);border-radius:12px}.compactSwitcher{gap:3px;margin-bottom:16px;padding:3px}.compactSwitcher button,.workspaceTabs button,.moduleTabs button{color:var(--ds-text-secondary);box-shadow:none;background:0 0;border:0}.compactSwitcher button:hover,.workspaceTabs button:hover,.moduleTabs button:hover{background:var(--ds-surface-muted);color:var(--ds-text)}.compactSwitcher button.active,.workspaceTabs button.active,.moduleTabs button.active{background:var(--ds-primary-soft);color:var(--ds-primary-hover);box-shadow:none}.compactSwitcher span{color:var(--ds-primary);background:#6254d91a}.moduleTabs{margin-bottom:18px;padding:4px}.moduleTabs button{border-radius:9px;min-height:52px}.moduleTabs button strong{color:inherit;font-size:.84rem}.moduleTabs button small{color:var(--ds-text-muted);font-size:.68rem}.moduleTabs button.active small{color:#7167ae}.projectHero{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);padding:20px 22px}.projectHero h2{color:var(--ds-text);letter-spacing:-.02em;font-size:1.35rem}.projectHero p{color:var(--ds-text-secondary)}.projectHero .projectSummaryText{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;letter-spacing:0;text-align:start;text-wrap:pretty;tab-size:4;max-width:78ch;margin-top:10px;font-size:1rem;line-height:1.75}.projectHeroActions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.projectProgress{border:1px solid var(--ds-border);background:var(--ds-surface);border-radius:12px;gap:0;margin:14px 0;overflow:auto hidden}.projectProgress article{border:0;border-right:1px solid var(--ds-border);background:0 0;border-radius:0;min-height:58px;padding:10px 12px}.projectProgress article:last-child{border-right:0}.projectProgress article>span,.nextStepList button>span{background:var(--ds-surface-muted);color:var(--ds-text-muted)}.projectProgress article.done>span,.nextStepList button>span.done{background:var(--ds-success-soft);color:var(--ds-success)}.workspaceTabs{z-index:20;top:calc(var(--ds-topbar) + 8px);margin-bottom:12px;padding:4px;position:sticky}.workspaceTabs button{border-radius:9px;min-height:40px;font-size:.83rem}.workspaceSection{box-shadow:var(--ds-shadow-sm);padding:22px}.overviewGrid+.panel{margin-top:16px}.overviewGrid{align-items:stretch}.overviewGrid>.panel,.overviewGrid>.panel+.panel{box-sizing:border-box;height:100%;margin-top:0}.nextStepList button{border:0;border-bottom:1px solid var(--ds-border);background:0 0;border-radius:0;min-height:56px}.nextStepList button:hover{background:var(--ds-surface-subtle)}.projectHistoryPanel{overflow:hidden}.projectHistoryHeader{align-items:flex-start;gap:16px}.projectHistoryHeader p{max-width:760px;color:var(--ds-text-secondary);margin-top:5px}.projectHistoryCount{border:1px solid var(--ds-border);background:var(--ds-surface-muted);color:var(--ds-text-secondary);border-radius:999px;flex:none;padding:6px 10px;font-size:.78rem;font-weight:700}.projectHistoryTimeline{margin-top:8px;display:grid}.projectHistoryItem{border-top:1px solid var(--ds-border);grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px 2px;display:grid}.projectHistoryItem:first-child{border-top:0}.projectHistoryMarker{background:var(--ds-primary-soft);width:32px;height:32px;color:var(--ds-primary);border-radius:50%;place-items:center;display:grid}.projectHistoryBody{min-width:0}.projectHistoryItemHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.projectHistoryItemHeader>div{gap:4px;min-width:0;display:grid}.projectHistoryItemHeader strong{color:var(--ds-text);font-size:.95rem}.projectHistoryActor{color:var(--ds-text-secondary);flex-wrap:wrap;align-items:baseline;gap:7px;font-size:.82rem;display:flex}.projectHistoryActor small{color:var(--ds-text-muted)}.projectHistoryItemHeader time{color:var(--ds-text-muted);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:.78rem;display:inline-flex}.projectHistoryBody>p{color:var(--ds-text-secondary);margin:8px 0 0;font-size:.86rem}.projectHistoryState{min-height:150px;color:var(--ds-text-secondary);justify-content:center;align-items:center;gap:8px;display:flex}.projectHistoryState.errorState{color:var(--ds-danger)}.projectHistoryEmpty{min-height:190px}@media (max-width:720px){.projectHistoryHeader,.projectHistoryItemHeader{flex-direction:column;align-items:flex-start}.projectHistoryCount{align-self:flex-start}.projectHistoryItemHeader time{white-space:normal}}.recentProjectFiles{margin-top:16px}.recentProjectFilesHeader,.projectFilesHeader,.projectFileDialog>header,.projectFileDialog>footer,.projectFilePreviewDialog>header,.projectFileEditDialog>header,.projectFileEditDialog>footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.recentProjectFilesHeader p,.projectFilesHeader p,.projectFileDialog>header p{color:var(--ds-text-secondary);margin:3px 0 0}.recentProjectFileList{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:14px;display:grid}.recentProjectFileList>button,.recentProjectFilesEmpty{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);min-height:58px;color:var(--ds-text);text-align:left;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.recentProjectFileList>button:hover,.recentProjectFilesEmpty:hover{border-color:var(--ds-primary);background:var(--ds-primary-soft)}.recentProjectFileList span{min-width:0;display:grid}.recentProjectFileList strong,.recentProjectFileList small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recentProjectFileList small{color:var(--ds-text-muted)}.recentProjectFilesEmpty{width:100%;color:var(--ds-primary);justify-content:center;margin-top:14px;font-weight:700;display:flex}.projectFilesWorkspace{gap:18px;display:grid}.projectFilesToolbar{grid-template-columns:minmax(220px,1fr) minmax(140px,190px) minmax(140px,190px) auto;gap:10px;display:grid}.projectFileSearch{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex!important}.projectFileSearch input{min-width:0;box-shadow:none;background:0 0;border:0}.projectFileViewSwitch{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);border-radius:9px;gap:3px;padding:3px;display:flex}.projectFileViewSwitch button{color:var(--ds-text-secondary);background:0 0;border:0;border-radius:7px;padding:7px 10px}.projectFileViewSwitch button.active{background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.projectFileList,.projectFileGallery{gap:8px;display:grid}.projectFileGallery{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.projectFileCard{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);border-radius:11px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.projectFileGallery .projectFileCard{grid-template-columns:1fr;align-content:start}.projectFileCard.isUploadIncomplete{border-color:color-mix(in srgb, var(--ds-warning) 45%, var(--ds-border));background:color-mix(in srgb, var(--ds-warning-soft) 62%, var(--ds-surface-subtle))}.projectFileUploadWarning{font-weight:600;color:var(--ds-warning)!important;margin-top:5px!important}.projectFileThumb{border:1px solid var(--ds-border);background:var(--ds-surface-muted);width:54px;height:54px;color:var(--ds-primary);border-radius:9px;place-items:center;padding:0;display:grid;overflow:hidden}.projectFileThumb:disabled{cursor:default}.projectFileGallery .projectFileThumb{width:100%;height:150px}.projectFileThumb img{object-fit:cover;width:100%;height:100%}.projectFileInfo{gap:2px;min-width:0;display:grid}.projectFileInfo strong,.projectFileInfo small,.projectFileInfo p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.projectFileInfo small,.projectFileInfo p{color:var(--ds-text-muted)}.projectFileTags,.projectFileTagPicker>div{flex-wrap:wrap;gap:6px;display:flex}.projectFileTags{margin-top:4px}.projectFileTags span,.projectFileTagPicker label{border:1px solid var(--ds-border-strong);background:var(--ds-surface-muted);color:var(--ds-text-secondary);border-radius:999px;padding:3px 8px;font-size:.75rem;line-height:1.35}.projectFileTagPicker{border:0;min-width:0;margin:0;padding:0}.projectFileTagPicker legend{color:var(--ds-text-secondary);margin-bottom:8px;font-weight:600}.projectFileTagPicker label{cursor:pointer;align-items:center;gap:5px;font-weight:500!important;display:inline-flex!important}.projectFileTagPicker label.selected{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.projectFileTagPicker input{width:14px;height:14px;accent-color:var(--ds-primary);margin:0}.accessRolePicker{border:0;min-width:0;margin:0;padding:0}.accessRolePicker legend{color:var(--ds-text-muted);margin-bottom:7px;font-size:.78rem}.accessRolePicker>div{flex-wrap:wrap;gap:6px;display:flex}.accessRolePicker label{border:1px solid var(--ds-border);background:var(--ds-surface-muted);color:var(--ds-text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:.78rem;display:inline-flex!important}.accessRolePicker input{width:14px;height:14px;accent-color:var(--ds-primary);margin:0}.projectFileActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.projectFileActions a{text-decoration:none}.projectFilesEmpty{border:1px dashed var(--ds-border-strong);min-height:190px;color:var(--ds-text-muted);text-align:center;border-radius:12px;place-items:center;padding:28px;display:grid}.projectFilesEmpty strong{color:var(--ds-text);margin-top:10px}.projectFilesEmpty p{margin:4px 0 0}.projectFileDialogBackdrop{z-index:160;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080a12b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.projectFileDialog,.projectFilePreviewDialog,.projectFileEditDialog{border:1px solid var(--ds-border-strong);background:var(--ds-surface);width:min(720px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--ds-shadow-lg);border-radius:14px;padding:20px;overflow:auto}.projectFileDialog,.projectFileEditDialog{gap:16px;display:grid}.projectFileDropzoneShell{position:relative}.projectFileDropzone{border:1px dashed var(--ds-border-strong);background:var(--ds-surface-subtle);min-height:150px;color:var(--ds-text-secondary);cursor:pointer;text-align:center;border-radius:12px;place-items:center;padding:24px;display:grid}.projectFileDropzone:hover,.projectFileDropzone.dragging{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.projectFileDropzone strong{color:var(--ds-text);margin-top:9px}.projectFilePasteButton{border:1px solid var(--ds-border-strong);background:var(--ds-surface);min-width:44px;min-height:36px;color:var(--ds-text);font:inherit;cursor:pointer;box-shadow:var(--ds-shadow-sm);border-radius:9px;padding:5px 10px;font-size:.82rem;font-weight:700;position:absolute;top:10px;right:10px}.projectFilePasteButton:hover{border-color:var(--ds-primary);color:var(--ds-primary-hover)}.projectFileClipboardError{color:var(--ds-danger);text-align:right;margin-top:7px;display:block}.projectFileClipboardRenameBackdrop{z-index:170;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080a12c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.projectFileClipboardRenameDialog{border:1px solid var(--ds-border-strong);background:var(--ds-surface);width:min(440px,100%);box-shadow:var(--ds-shadow-lg);border-radius:14px;gap:12px;padding:18px;display:grid}.projectFileClipboardRenameDialog h3,.projectFileClipboardRenameDialog p{margin:0}.projectFileClipboardRenameDialog p,.projectFileClipboardRenameQueue{color:var(--ds-text-secondary)}.projectFileClipboardRenameDialog label{font-weight:700}.projectFileClipboardRenameInput{border:1px solid var(--ds-border-strong);background:var(--ds-surface-subtle);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.projectFileClipboardRenameInput:focus-within{border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-primary-soft)}.projectFileClipboardRenameInput input{min-width:0;color:var(--ds-text);font:inherit;background:0 0;border:0;outline:0;padding:10px 12px}.projectFileClipboardRenameInput span{border-left:1px solid var(--ds-border);color:var(--ds-text-muted);padding:10px 12px;font-size:.9rem;font-weight:700}.projectFileClipboardRenameError{color:var(--ds-danger)}.projectFileClipboardRenameDialog footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.projectFileMetadataGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.projectFileMetadataGrid .wideField{grid-column:1/-1}.projectUploadQueue{gap:7px;display:grid}.projectUploadQueue article{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.projectUploadQueue article>div{min-width:0;display:grid}.projectUploadQueue strong,.projectUploadQueue small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projectUploadQueue small{color:var(--ds-text-muted)}.projectUploadQueue span{background:var(--ds-surface-muted);border-radius:999px;height:4px;margin-top:5px;overflow:hidden}.projectUploadQueue i{border-radius:inherit;background:var(--ds-primary);height:100%;transition:width .18s;display:block}.projectFilePreviewDialog{grid-template-rows:auto auto minmax(0,1fr);width:min(1180px,100%);height:min(820px,100dvh - 40px);padding:0;transition:width .16s,height .16s,border-radius .16s;display:grid;overflow:hidden}.projectFilePreviewDialog.isFullscreen{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.projectFilePreviewHeader{border-bottom:1px solid var(--ds-border);background:var(--ds-surface);min-width:0;padding:14px 16px}.projectFilePreviewTitle{gap:2px;min-width:0;display:grid}.projectFilePreviewTitle strong,.projectFilePreviewTitle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projectFilePreviewTitle small{color:var(--ds-text-muted);font-size:12px;font-weight:500}.projectFilePreviewHeaderActions{flex:none;align-items:center;gap:6px;display:flex}.projectFilePreviewToolbar,.projectFilePreviewHint{border-bottom:1px solid var(--ds-border);background:var(--ds-surface-subtle);align-items:center;gap:7px;min-height:42px;padding:7px 14px;display:flex}.projectFilePreviewToolbar{overflow-x:auto}.projectFilePreviewToolbar button{border:1px solid var(--ds-border);background:var(--ds-surface);min-height:30px;color:var(--ds-text-secondary);font:inherit;cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:6px;padding:5px 9px;font-size:12px;display:inline-flex}.projectFilePreviewToolbar button:hover:not(:disabled),.projectFilePreviewToolbar button.isActive{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.projectFilePreviewToolbar button:disabled{opacity:.45;cursor:not-allowed}.projectFileZoomValue{min-width:48px;color:var(--ds-text-secondary);font-variant-numeric:tabular-nums;text-align:center;font-size:12px}.projectFilePreviewHint{color:var(--ds-text-muted);font-size:12px}.projectFilePreviewBody{background:var(--ds-surface-muted);min-height:0;overflow:hidden}.projectFilePreviewState,.projectFileGenericPreview{width:100%;height:100%;min-height:280px;color:var(--ds-text-secondary);text-align:center;align-content:center;place-items:center;gap:10px;padding:28px;display:grid;overflow:auto}.projectFilePreviewState p,.projectFileGenericPreview p{max-width:620px;margin:0}.projectFilePreviewState small{color:var(--ds-text-muted)}.projectFilePreviewState.errorState{color:var(--ds-danger)}.projectFilePreviewSpinner{border:3px solid var(--ds-border-strong);border-top-color:var(--ds-primary);border-radius:50%;width:30px;height:30px;animation:.75s linear infinite projectFilePreviewSpin}@keyframes projectFilePreviewSpin{to{transform:rotate(360deg)}}.projectFileImageCanvas,.projectFileMediaCanvas{background:linear-gradient(45deg, var(--ds-surface-subtle) 25%, transparent 25%), linear-gradient(-45deg, var(--ds-surface-subtle) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--ds-surface-subtle) 75%), linear-gradient(-45deg, transparent 75%, var(--ds-surface-subtle) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;width:100%;height:100%;min-height:0;overflow:auto}.projectFileImageStage{place-items:center;min-width:100%;min-height:100%;padding:24px;display:grid}.projectFileImageStage img{max-width:100%;max-height:100%;box-shadow:var(--ds-shadow-md);object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:50%;border-radius:6px;transition:transform .12s;display:block}.projectFilePdfFrame{background:var(--ds-surface);border:0;width:100%;height:100%;display:block}.projectFileMediaCanvas{background:#080a10;place-items:center;padding:20px;display:grid}.projectFileMediaCanvas video{object-fit:contain;width:100%;height:100%;max-height:100%}.projectFileAudioCanvas{width:100%;height:100%;min-height:300px;color:var(--ds-text-secondary);align-content:center;place-items:center;gap:14px;padding:32px;display:grid}.projectFileAudioCanvas audio{width:min(680px,100%)}.projectFileSpreadsheetPreview{grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.projectFileSheetTabs{border-bottom:1px solid var(--ds-border);background:var(--ds-surface);gap:4px;padding:8px 10px 0;display:flex;overflow-x:auto}.projectFileSheetTabs button{color:var(--ds-text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;flex:none;padding:7px 12px;font-size:12px}.projectFileSheetTabs button:hover,.projectFileSheetTabs button.isActive{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-primary-hover)}.projectFileSheetMeta{border-bottom:1px solid var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text-muted);flex-wrap:wrap;gap:8px 14px;padding:7px 12px;font-size:11px;display:flex}.projectFileSheetMeta strong{color:var(--ds-warning);font-weight:600}.projectFileSheetMetaAction{border:1px solid var(--ds-border);background:var(--ds-surface);min-height:24px;color:var(--ds-text-secondary);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-weight:600;display:inline-flex}.projectFileSheetMetaAction:hover:not(:disabled){border-color:var(--ds-primary);color:var(--ds-primary-hover)}.projectFileSheetMetaAction:disabled{cursor:wait;opacity:.65}.projectFileSpreadsheetScroller{background:var(--ds-surface);min-width:0;min-height:0;overflow:auto}.projectFilePanScroller{cursor:grab;touch-action:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.projectFilePanScroller.isPanning{cursor:grabbing;-webkit-user-select:none;user-select:none}.projectFileSpreadsheetCanvas{isolation:isolate;min-width:max-content;position:relative}.projectFileSpreadsheetScroller table{z-index:1;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;position:relative}.projectFileSpreadsheetScroller th,.projectFileSpreadsheetScroller td{box-sizing:border-box;border-right:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);color:var(--ds-text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;overflow:hidden}.projectFileSpreadsheetImages{pointer-events:none;position:absolute;inset:0}.projectFileSpreadsheetImage{pointer-events:none;position:absolute}.projectFileSpreadsheetImage img{object-fit:contain;pointer-events:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.projectFileSpreadsheetImageCopy{z-index:4;border:1px solid color-mix(in srgb, var(--ds-border) 80%, transparent);background:color-mix(in srgb, var(--ds-surface) 88%, transparent);min-height:28px;color:var(--ds-text);font:inherit;pointer-events:auto;cursor:pointer;opacity:.84;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:7px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:650;display:inline-flex;position:absolute;top:6px;right:6px;box-shadow:0 2px 8px #00000029}.projectFileSpreadsheetImageCopy:hover:not(:disabled),.projectFileSpreadsheetImageCopy:focus-visible{border-color:var(--ds-primary);color:var(--ds-primary-hover);opacity:1}.projectFileSpreadsheetImageCopy:disabled{cursor:wait;opacity:.72}@media (max-width:700px),(hover:none){.projectFileSpreadsheetImageCopy{opacity:1;min-height:32px;padding:5px 8px;top:4px;right:4px}.projectFileSpreadsheetImageCopy span{display:none}}.projectFileSpreadsheetScroller thead th{z-index:2;background:var(--ds-surface-subtle);color:var(--ds-text-muted);font-weight:650;position:sticky;top:0}.projectFileSpreadsheetScroller .rowNumber{z-index:1;background:var(--ds-surface-subtle);width:52px;min-width:52px;color:var(--ds-text-muted);text-align:right;position:sticky;left:0}.projectFileSpreadsheetScroller thead .rowNumber{z-index:3}.projectFileDocumentPreview{background:var(--ds-surface);width:100%;max-width:920px;height:100%;color:var(--ds-text);box-shadow:var(--ds-shadow-sm);margin:0 auto;padding:38px clamp(24px,6vw,72px);line-height:1.65;overflow:auto}.projectFileDocumentPreview img{max-width:100%;height:auto}.projectFileDocumentPreview table{border-collapse:collapse;max-width:100%}.projectFileDocumentPreview td,.projectFileDocumentPreview th{border:1px solid var(--ds-border);padding:6px 8px}.projectFilePresentationPreview{grid-template-columns:220px minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.projectFileSlideRail{border-right:1px solid var(--ds-border);background:var(--ds-surface-subtle);padding:8px;overflow-y:auto}.projectFileSlideRail button{width:100%;color:var(--ds-text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:28px minmax(0,1fr);gap:7px;padding:8px;display:grid}.projectFileSlideRail button:hover,.projectFileSlideRail button.isActive{border-color:var(--ds-primary);background:var(--ds-primary-soft)}.projectFileSlideRail button>span{color:var(--ds-text-muted);text-align:right;font-size:11px}.projectFileSlideRail small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projectFileSlideCanvas{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:0;min-height:0;padding:12px 18px;display:grid;overflow:auto}.projectFileSlideNavigator{color:var(--ds-text-muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.projectFileSlidePage{aspect-ratio:16/9;border:1px solid var(--ds-border);background:var(--ds-surface);width:min(100%,960px);min-height:360px;color:var(--ds-text);box-shadow:var(--ds-shadow-md);border-radius:10px;margin:auto;padding:clamp(28px,5vw,72px);position:relative;overflow:auto}.projectFileSlidePage h3{margin:0 0 22px;font-size:clamp(22px,3vw,36px)}.projectFileSlidePage p{margin:8px 0;font-size:clamp(14px,1.5vw,20px)}.projectFileSlideNumber{color:var(--ds-text-muted);font-size:11px;position:absolute;top:14px;right:16px}.projectFilePreviewFootnote{color:var(--ds-text-muted);text-align:center}.projectFileTextPreview{background:var(--ds-surface);width:100%;height:100%;overflow:auto}.projectFileTextPreview pre{min-width:100%;min-height:100%;color:var(--ds-text-secondary);tab-size:2;margin:0;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.projectFileTextPreview pre.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.projectFileTextPreview pre.nowrap{white-space:pre;width:max-content}.projectFilePreviewWarning{border-bottom:1px solid var(--ds-border);background:var(--ds-warning-soft,var(--ds-surface-subtle));color:var(--ds-warning);padding:8px 12px;font-size:11px}.projectFileArchivePreview{background:var(--ds-surface);grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.projectFileArchiveSummary{border-bottom:1px solid var(--ds-border);align-items:center;gap:12px;padding:14px 16px;display:flex}.projectFileArchiveSummary>div{gap:2px;display:grid}.projectFileArchiveSummary small{color:var(--ds-text-muted)}.projectFileArchiveList{min-height:0;padding:8px;overflow:auto}.projectFileArchiveList>div{border-bottom:1px solid var(--ds-border);min-height:32px;color:var(--ds-text-secondary);align-items:center;gap:8px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;display:flex}.projectFileGenericIcon{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);width:86px;height:86px;color:var(--ds-primary);border-radius:20px;place-items:center;display:grid}.projectFileGenericPreview h3{color:var(--ds-text);margin:2px 0 0}.projectFileGenericPreview dl{border:1px solid var(--ds-border);background:var(--ds-surface);border-radius:10px;width:min(520px,100%);margin:8px 0;display:grid}.projectFileGenericPreview dl>div{border-bottom:1px solid var(--ds-border);text-align:left;grid-template-columns:120px minmax(0,1fr);padding:8px 10px;display:grid}.projectFileGenericPreview dl>div:last-child{border-bottom:0}.projectFileGenericPreview dt{color:var(--ds-text-muted)}.projectFileGenericPreview dd{overflow-wrap:anywhere;margin:0}.projectFileGenericActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.projectFileEditDialog{width:min(520px,100%)}.projectFileEditDialog label{color:var(--ds-text-secondary);gap:6px;font-weight:600;display:grid}@media (max-width:720px){.projectHeroActions,.projectFilesHeader,.recentProjectFilesHeader{flex-direction:column;align-items:stretch}.projectFilesToolbar,.projectFileMetadataGrid{grid-template-columns:1fr}.projectFileMetadataGrid .wideField{grid-column:auto}.projectFileViewSwitch button{flex:1}.projectFileCard{grid-template-columns:46px minmax(0,1fr)}.projectFileThumb{width:46px;height:46px}.projectFileActions{grid-column:1/-1;justify-content:flex-start}.projectFileDialogBackdrop{place-items:end center;padding:0}.projectFileDialog,.projectFilePreviewDialog,.projectFileEditDialog{width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));padding-bottom:max(20px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.projectFilePreviewDialog{height:calc(100dvh - max(12px, env(safe-area-inset-top)));padding-bottom:0}.projectFilePreviewDialog.isFullscreen{border-radius:0;height:100dvh;max-height:100dvh}.projectFilePreviewHeader{gap:8px;padding:10px 12px}.projectFilePreviewHeaderActions{gap:3px}.projectFilePreviewToolbar,.projectFilePreviewHint{padding-inline:10px}.projectFilePresentationPreview{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.projectFileSlideRail{border-right:0;border-bottom:1px solid var(--ds-border);gap:5px;padding:6px;display:flex;overflow:auto hidden}.projectFileSlideRail button{flex:0 0 170px}.projectFileSlideCanvas{padding:10px}.projectFileSlidePage{min-height:300px;padding:28px 22px}.projectFileDocumentPreview{padding:26px 18px}}.intakeFormPanel{border-color:var(--ds-border-strong);box-shadow:var(--ds-shadow-md)}.featureEditorList>article,.phaseEditorList>article,.assignmentSimpleList>article{border-color:var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-subtle)}.estimateTable{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);overflow:auto}.estimateTableHead{background:var(--ds-surface-muted);color:var(--ds-text-secondary);font-size:.75rem}.estimateTableRow{border-top:1px solid var(--ds-border)}.priceSummary,.quotationPreview{border-color:var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:none}.organizationLogoEditor{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-subtle);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.organizationLogoPreview{border:1px dashed var(--ds-border-strong);background:var(--ds-surface);width:88px;height:64px;color:var(--ds-primary);border-radius:12px;place-items:center;display:grid;overflow:hidden}.organizationLogoPreview img{object-fit:contain;width:100%;height:100%}.organizationLogoCopy{gap:4px;display:grid}.organizationLogoCopy strong{color:var(--ds-text)}.organizationLogoCopy span{color:var(--ds-text-muted);font-size:.78rem}.organizationLogoActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (max-width:640px){.organizationLogoEditor{grid-template-columns:auto minmax(0,1fr)}.organizationLogoActions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.organizationLogoActions>:only-child{grid-column:1/-1}}.priceSummary .grand{background:var(--ds-primary-soft);color:var(--ds-primary-active);border-color:#d8d1ff}@media screen{.workspaceSection label,.workspaceSection .wideField,.quickAssignForm label{color:var(--ds-text-secondary)}.workspaceSection label>small,.workspaceSection .fieldHint,.workspaceSection .sectionHeading p,.quickAssignForm label>small{color:var(--ds-text-muted)}.workspaceSection :where(h2,h3,h4,strong),.overviewGrid :where(h2,h3,h4,strong),.nextStepList strong{color:var(--ds-text)}.invitationShareCard{border-color:color-mix(in srgb, var(--ds-success) 32%, var(--ds-border));background:var(--ds-success-soft);color:var(--ds-text)}.invitationShareCard strong{color:var(--ds-text)}.invitationShareCard :where(p,small){color:var(--ds-text-secondary)}.invitationShareCard code{border:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-primary)}.invitationShareCard .invitationQr{border-color:var(--ds-border);background:var(--ds-surface)}.simpleDetails div{border-color:var(--ds-border)}.simpleDetails dt{color:var(--ds-text-muted)}.simpleDetails dd{color:var(--ds-text)}.nextStepList small,.assignmentSimpleList>article span,.workspaceSummary span,.workspaceSaveBar span{color:var(--ds-text-secondary)}.quickAssignForm,.workspaceSummary,.workspaceSaveBar,.projectOutcomePanel{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text-secondary)}.projectOutcomePanel h3{color:var(--ds-text)}.projectOutcomePanel p{color:var(--ds-text-secondary)}.projectOutcomeComplete{background:var(--ds-success-soft);color:var(--ds-success)}.projectOutcomeComplete span{color:var(--ds-text-secondary)}.estimateTableRow{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text-secondary)}.estimateTableRow strong{color:var(--ds-text)}.priceSummary dt{color:var(--ds-text-secondary)}.priceSummary dd{color:var(--ds-text)}.priceSummary .grand{border-color:var(--ds-primary-border)}.priceSummary .grand dt,.priceSummary .grand dd{color:var(--ds-primary)}.phaseNumber{background:var(--ds-primary-soft);color:var(--ds-primary)}.quotationPreview:not(.quotationDocument),.quotationPreview:not(.quotationDocument) .quotationOrganizationName,.quotationPreview:not(.quotationDocument) :where(h2,h3){color:var(--ds-text)}.quotationPreview:not(.quotationDocument) p,.quotationPreview:not(.quotationDocument) .stepLabel{color:var(--ds-text-secondary)}.workspaceSection .quotationDocumentPage :where(h2,h3,h4,strong){color:inherit}.quotationMeta{border-color:var(--ds-border);background:var(--ds-surface-subtle)}.quotationMeta>div,.quotationMeta>div:nth-child(odd){border-color:var(--ds-border)}.quotationMeta dt{color:var(--ds-text-muted)}.quotationMeta dd{color:var(--ds-text)}.signatureGrid span{border-color:var(--ds-border-strong);color:var(--ds-text-secondary)}.paymentScheduleEditor,.paymentScheduleRow,.paymentScheduleSummary>div{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text)}.paymentScheduleRow,.paymentScheduleSummary>div{background:var(--ds-surface)}.paymentScheduleHeader p,.paymentPresetRow>span,.paymentScheduleSummary span,.paymentCalculatedValue span,.paymentValueInput>span,.quotationPaymentSchedule small,.paymentScheduleEmpty{color:var(--ds-text-muted)}.paymentPresetRow button{border-color:var(--ds-border);background:var(--ds-surface);color:var(--ds-text-secondary)}.paymentPresetRow button:hover:not(:disabled){border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary)}.paymentScheduleIndex,.quotationPaymentSchedule>div>span{background:var(--ds-primary-soft);color:var(--ds-primary)}.paymentScheduleSummary .isBalanced{border-color:var(--ds-success)}.paymentScheduleSummary .isUnbalanced,.paymentScheduleWarning{border-color:var(--ds-danger)}.paymentScheduleWarning{background:var(--ds-danger-soft);color:var(--ds-danger)}.quotationPaymentSchedule>div{border-color:var(--ds-border)}}.templateBuilderLayout,.questionnaireColumns,.crmColumns{gap:16px}.templateListPanel,.templatePreviewPanel,.templateEditorPanel,.assignmentRail,.responsePanel{box-shadow:var(--ds-shadow-sm)}.editorCreateButton{align-self:flex-start}.invitationHint{color:var(--ds-text-secondary);margin:-6px 0 2px;font-size:13px}.invitationProfileCheck{margin-bottom:2px}.invitationContactWarning{color:var(--ds-warning);margin-top:4px;display:block}.invitationContactWarning a{color:var(--ds-primary);font-weight:650}.templateListHeader{border-color:var(--ds-border)}.templateHero,.templateHeroCard{border-color:var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-subtle);box-shadow:none}.templateHeroTags span{border-color:var(--ds-border);background:var(--ds-surface);color:var(--ds-text-secondary)}.recordCard.selected,.assignmentButton.active{background:var(--ds-primary-soft);box-shadow:inset 3px 0 var(--ds-primary);border-color:#cfc7ff}.builderToolbar{border-color:var(--ds-border);background:var(--ds-surface-subtle);border-radius:10px}.builderSection{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface)}.builderSection legend{color:var(--ds-text)}.questionBuilder{border:1px solid var(--ds-border);background:var(--ds-surface-subtle);border-radius:10px;gap:12px;padding:14px}.recordCard.questionnaireTemplateCard{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text)}.recordCard.questionnaireTemplateCard:hover{border-color:var(--ds-border-strong);background:var(--ds-surface-muted)}.recordCard.questionnaireTemplateCard.selected{background:var(--ds-primary-soft);border-color:#cfc7ff}.questionnaireTemplateCard .recordBody strong{color:var(--ds-text)}.questionnaireTemplateCard .recordBody span{color:var(--ds-text-muted)}.questionnaireTemplateCard .questionnaireTemplateAction{border-color:var(--ds-border-strong);background:var(--ds-surface);color:var(--ds-text-secondary)}.questionnaireTemplateCard .questionnaireTemplateAction:hover{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary)}.templateListTitle h2,.templateHeroText strong,.templatePreview>strong,.previewSection>strong,.templateEditorPanel>h2,.legendToggle{color:var(--ds-text)}.templateListTitle p,.templateHeroText>span,.templatePreview>p,.builderCount{color:var(--ds-text-muted)}.templatePreviewPanel,.templateEditorPanel{border-color:var(--ds-border);background:var(--ds-surface)}.previewSection{border-color:var(--ds-border);background:var(--ds-surface-subtle)}.previewQuestion{border-color:var(--ds-border);background:var(--ds-primary-soft);color:var(--ds-text-secondary)}.builderFilter,.ghostButton{border-color:var(--ds-border-strong);background:var(--ds-surface);color:var(--ds-text-secondary)}.builderFilter::placeholder{color:var(--ds-text-muted)}.builderFooter{background:linear-gradient(to top, var(--ds-surface) 78%, transparent)}.answerRow,.responseSection,.submissionHistory{border-color:var(--ds-border);background:var(--ds-surface-subtle)}.recordCard.assignmentRecordCard{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text)}.recordCard.assignmentRecordCard:hover{border-color:var(--ds-border-strong);background:var(--ds-surface-muted)}.assignmentRecordCard .recordBody strong,.assignmentFormPanel>h2,.responseSection h3,.submissionHistory h3,.invitationManager h3{color:var(--ds-text)}.assignmentRecordCard .recordBody span,.responseSection>p,.submissionHistory p,.invitationManager .panelHeader p,.invitationList small{color:var(--ds-text-muted)}.assignmentRail,.responsePanel,.assignmentFormPanel{border-color:var(--ds-border);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm)}.assignmentButton{border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text-secondary)}.assignmentButton strong{color:var(--ds-text)}.assignmentButton span{color:var(--ds-text-muted)}.assignmentButton:hover{border-color:var(--ds-border-strong);background:var(--ds-surface-muted)}.assignmentButton.active{background:var(--ds-primary-soft);box-shadow:inset 3px 0 var(--ds-primary);border-color:#cfc7ff}.assignmentButton.active strong{color:var(--ds-text)}.invitationManager{border-color:color-mix(in srgb, var(--ds-success) 38%, var(--ds-border));background:color-mix(in srgb, var(--ds-success-soft) 58%, var(--ds-surface))}.invitationSecret{border-color:color-mix(in srgb, var(--ds-success) 55%, var(--ds-border));background:var(--ds-surface);color:var(--ds-text-secondary)}.invitationList article{border-color:var(--ds-border)}.answerRow,.answerRow label{color:var(--ds-text-secondary)}.answerRow label small{color:var(--ds-text-muted)}.responseActions{border-color:var(--ds-border-strong);background:color-mix(in srgb, var(--ds-surface) 94%, transparent);box-shadow:var(--ds-shadow-md)}.questionnaireEmptyState{min-height:180px}.tableWrap{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;color:var(--ds-text-secondary);font-size:.84rem}thead th{z-index:2;border-bottom:1px solid var(--ds-border-strong);background:var(--ds-surface-muted);color:var(--ds-text-secondary);letter-spacing:.035em;text-align:left;text-transform:uppercase;padding:11px 13px;font-size:.72rem;font-weight:700;position:sticky;top:0}tbody td{border-bottom:1px solid var(--ds-border);color:var(--ds-text-secondary);padding:12px 13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--ds-surface-subtle)}.settingsPanel{background:var(--ds-surface);color:var(--ds-text)}.settingsPanel :where(h2,h3,h4,strong,dd){color:var(--ds-text)}.settingsPanel :where(p,small,time,dt){color:var(--ds-text-secondary)}.settingsPanel .detailGrid>div{border:1px solid var(--ds-border);background:var(--ds-surface-subtle)}.settingsPanel .detailGrid dt{color:var(--ds-text-muted)}.settingsPanel .tableWrap{border-color:var(--ds-border);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm)}.settingsPanel .tableWrap thead th{border-color:var(--ds-border-strong);background:var(--ds-surface-muted);color:var(--ds-text-secondary);box-shadow:inset 0 -1px 0 var(--ds-border-strong)}.settingsPanel .tableWrap tbody tr>td{border-color:var(--ds-border);background:var(--ds-surface);color:var(--ds-text-secondary)}.settingsPanel .tableWrap tbody tr:hover>td{background:var(--ds-surface-subtle)}.settingsPanel .permissionList span{border:1px solid var(--ds-border);background:var(--ds-surface-muted);color:var(--ds-text-secondary)}.settingsPanel .sessionList article{border-color:var(--ds-border)}.settingsPanel .copyBox{border:1px solid var(--ds-border);background:var(--ds-surface-muted);color:var(--ds-text)}.settingsPanel .copyBox code{color:var(--ds-text-secondary)}.settingsPanel .copyBox button{border:1px solid var(--ds-border-strong);background:var(--ds-surface);color:var(--ds-text)}.settingsPanel .copyBox button:hover{border-color:var(--ds-primary-border);background:var(--ds-surface-selected);color:var(--ds-primary)}.authShellFresh{border:1px solid var(--ds-border);background:var(--ds-surface);width:min(100% - 48px,1120px);min-height:min(680px,100dvh - 64px);box-shadow:var(--ds-shadow-md);border-radius:22px;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-content:stretch;margin:32px auto;display:grid;overflow:hidden}.authShellFresh .brandPanel{color:#fff;min-width:0;box-shadow:none;background:#25223f;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px);display:flex}.authShellFresh .brandPanel .brandMark{color:#fff;margin-bottom:52px}.authShellFresh .brandPanel .brandMark>svg{background:#7668e8}.authShellFresh .brandPanel .eyebrow{color:#bdb6ff}.authShellFresh .brandPanel h1{color:#fff;letter-spacing:-.045em;max-width:540px;margin:8px 0 16px;font-size:clamp(2rem,3vw,3.15rem);font-weight:680;line-height:1.18}.authShellFresh .brandPanel h1 span{color:#bcb4ff;display:block}.authShellFresh .brandCopy{color:#d7d4e5;max-width:530px;margin:0 0 30px;font-size:.93rem;line-height:1.75}.authShellFresh .trustList{gap:8px;margin:0;padding:0;display:grid}.authShellFresh .trustList li{color:#f1effa;min-height:42px;box-shadow:none;background:0 0;border:0;padding:0}.authShellFresh .trustList svg{color:#a99fff}.authShellFresh .authCard{background:var(--ds-surface);min-width:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:clamp(36px,4vw,58px);display:flex}.authShellFresh .authCard h2{color:var(--ds-text);letter-spacing:-.025em;margin:7px 0 5px;font-size:1.45rem}.authShellFresh .authLead{color:var(--ds-text-secondary);margin:0 0 24px;font-size:.875rem}.authShellFresh .formStack{gap:15px}.authShellFresh .formStack input{min-height:46px}.authShellFresh .formStack .primaryButton{min-height:46px;margin-top:4px;border-color:var(--ds-primary)!important;background:var(--ds-primary)!important;font-weight:650!important;box-shadow:0 1px 2px #4436ad2e!important}.authShellFresh .formStack .primaryButton:hover{border-color:var(--ds-primary-hover)!important;background:var(--ds-primary-hover)!important;box-shadow:0 6px 14px #4436ad29!important}.authShellFresh .passwordToggle{background:var(--ds-surface-muted);width:44px;height:44px;color:var(--ds-text-secondary);border:0;border-radius:8px}.authShellFresh .formStack .linkButton,.authShellFresh .authCard>.linkButton{min-height:44px}.singleCardShell{background:var(--ds-canvas);min-height:100dvh;color:var(--ds-text);text-align:left;align-content:center;gap:18px;padding:28px}.singleCardBrand{width:min(480px,100%)}.singleCardShell .authCard{box-sizing:border-box;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);width:min(480px,100%);box-shadow:var(--ds-shadow-md);text-align:left;padding:32px}.singleCardShell .authCard h1{color:var(--ds-text);letter-spacing:-.025em;margin:8px 0 24px;font-size:1.5rem}.singleCardShell .authCardIcon{width:42px;height:42px}.singleCardShell .stepLabel{color:var(--ds-primary);margin-top:18px;font-size:.72rem}.singleCardShell .formStack{gap:15px}.singleCardShell .passwordToggle{border-color:var(--ds-border);background:var(--ds-surface-muted);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ds-text-secondary)}.singleCardShell .primaryButton{min-height:46px}.portalShell{background:radial-gradient(circle at 50% 0%, #6254d912, transparent 26rem), var(--ds-canvas);min-height:100dvh;color:var(--ds-text)}.portalHeader,.portalProgress,.portalCard,.portalAlert{border-color:var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 96%, transparent);box-shadow:var(--ds-shadow-sm)}.portalHeader{border-radius:var(--ds-radius-lg);min-height:68px}.portalHeaderTop,.portalHeaderActions{align-items:center;gap:.65rem;min-width:0;display:flex}.portalHeaderTop{justify-content:space-between;width:100%}.portalHeaderActions{justify-content:flex-end}.portalLocaleSelect{color:var(--ds-text-muted);align-items:center;gap:.45rem;font-size:.75rem;font-weight:700;display:inline-flex}.portalLocaleSelect select{border:1px solid var(--ds-border-strong);background:var(--ds-surface);max-width:9.5rem;min-height:38px;color:var(--ds-text);font:inherit;border-radius:999px;padding:.35rem 1.9rem .35rem .75rem}.portalSecure{background:var(--ds-success-soft);color:var(--ds-success);border-color:#cde8dd}.portalCard{border-radius:var(--ds-radius-xl)}.portalCard h1{color:var(--ds-text);letter-spacing:-.025em;font-size:clamp(1.45rem,4vw,2rem)}.portalCard>p:not(.eyebrow),.portalFooter{color:var(--ds-text-secondary)}.progressTrack{background:var(--ds-surface-muted)}.progressTrack i{background:var(--ds-primary)}.portalPrimary,.portalSecondary{border-radius:10px;min-height:46px;font-weight:650}.portalPrimary{border-color:var(--ds-primary);background:var(--ds-primary);color:#fff;box-shadow:none}.portalPrimary:hover{background:var(--ds-primary-hover)}.portalSecondary{border-color:var(--ds-border-strong);background:var(--ds-surface);color:var(--ds-text-secondary)}.choiceGroup button{border-color:var(--ds-border-strong);background:var(--ds-surface);min-height:44px;color:var(--ds-text-secondary);border-radius:10px}.choiceGroup button:hover{background:var(--ds-surface-selected);border-color:#c8c0ef}.choiceGroup button.chosen{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-primary-hover);box-shadow:inset 0 0 0 1px var(--ds-primary)}.sectionDots button{background:var(--ds-surface-muted);color:var(--ds-text-muted)}.sectionDots button.active{background:var(--ds-primary);color:#fff}.sectionDots button.done{background:var(--ds-success-soft);color:var(--ds-success)}.detailHeader{border-color:var(--ds-border);background:var(--ds-surface)}.backButton{border-color:var(--ds-border);background:var(--ds-surface);min-height:38px;color:var(--ds-text-secondary);border-radius:9px}.backButton:hover{border-color:var(--ds-border-strong);background:var(--ds-surface-muted);color:var(--ds-text)}.mono,code,kbd{font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}@media (max-width:1180px){:root{--ds-sidebar:224px}.shellWorkspace{padding-inline:24px}.simpleMetricGrid,.metricGrid,.roleMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardInsightGrid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr)}.simpleMetricGrid article:nth-child(2),.metricCard:nth-child(2){border-right:0}.simpleMetricGrid article:nth-child(-n+2),.metricCard:nth-child(-n+2){border-bottom:1px solid var(--ds-border)}.projectProgress{grid-template-columns:repeat(3,minmax(0,1fr))}.projectProgress article:nth-child(3){border-right:0}.projectProgress article:nth-child(-n+3){border-bottom:1px solid var(--ds-border)}}@media (max-width:900px){:root{--ds-topbar:58px}.shellCollapseToggle,.shellNav{display:none}.shellMain,.shellFrame[data-collapsed=true] .shellMain{margin-left:0}.shellTopbar{padding:0 14px}.shellTopbarCenter,.shellShieldBadge,.shellSubtitle{display:none}.shellUserChip{max-width:min(58vw,260px);min-height:40px}.shellMobileNav{z-index:80;height:66px;padding:4px max(5px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom));border-top:1px solid var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;box-shadow:0 -6px 20px #1a16360d}.shellMobileNavItem{min-width:0;min-height:54px;color:var(--ds-text-muted);border-radius:9px;font-size:.65rem}.shellMobileNavItem.active{background:var(--ds-primary-soft);color:var(--ds-primary-hover)}.shellWorkspace{min-height:calc(100dvh - var(--ds-topbar));padding:22px 18px 92px}.dashboardInsightGrid,.dashboardWorkGrid{grid-template-columns:1fr}.readinessPanel{min-height:auto}.pageHeader{align-items:flex-start}.pageHeaderActions{flex-wrap:wrap;justify-content:flex-end}.workspaceTabs{top:calc(var(--ds-topbar) + 5px)}.authShellFresh{grid-template-columns:1fr;min-height:auto;margin-block:24px}.authShellFresh .authCard{order:1;padding:34px}.authShellFresh .brandPanel{order:2;padding:38px 34px}.authShellFresh .brandPanel .brandMark{margin-bottom:30px}.authShellFresh .brandPanel h1{font-size:2rem}}@media (max-width:640px){.shellTopbarLeft{min-width:0}.shellUserChipText{display:none}.shellUserChip{padding-right:8px}.shellTitle{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.shellWorkspace{padding:18px 14px 88px}.pageHeader{gap:15px;padding-bottom:16px;display:grid}.pageHeader h2{font-size:1.35rem}.pageDescription{font-size:.84rem}.pageHeaderActions,.pageHeaderActions>*,.buttonRow,.buttonRow>*{width:100%}.pageHeaderActions{grid-template-columns:1fr 1fr;display:grid}.pageHeaderActions>:only-child{grid-column:1/-1}.panel,.workspaceSection,.projectHero{border-radius:14px;padding:16px}.simpleMetricGrid,.metricGrid{grid-template-columns:1fr 1fr}.roleMetricGrid{grid-template-columns:1fr 1fr;gap:9px}.roleMetricCard{grid-template-columns:1fr;gap:8px;min-height:126px;padding:14px}.roleMetricIcon{width:32px;height:32px}.roleMetricCard strong{font-size:1.55rem}.roleMetricCard small{white-space:normal}.dashboardRoleBadge{display:none}.pipelineRow{grid-template-columns:minmax(92px,.85fr) minmax(90px,1.5fr) 24px;gap:8px}.pipelineLabel span{display:none}.dashboardPanelHeader{gap:10px}.dashboardTotalBadge{padding-inline:7px;font-size:.64rem}.simpleMetricGrid article,.metricCard{min-height:104px;padding:15px}.simpleMetricGrid strong,.metricCard strong{font-size:1.55rem}.simpleMetricGrid span,.simpleMetricGrid small,.metricCard span,.metricCard small{font-size:.72rem}.simpleProjectRow,.quotationList>a{align-items:flex-start;gap:10px;padding:13px 4px}.projectRowMeta{align-items:flex-end;gap:6px}.projectRowMeta small{display:none}.compactSwitcher,.moduleTabs,.workspaceTabs{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto}.moduleTabs{display:flex}.moduleTabs button{min-width:132px}.projectProgress{display:flex;overflow-x:auto}.projectProgress article{border-right:1px solid var(--ds-border);border-bottom:0;min-width:160px}.overviewGrid,.quotationLayout,.pricingGrid{grid-template-columns:1fr}.estimateTableHead{display:none}.estimateTableRow{min-width:620px}.authShellFresh{border-radius:17px;width:calc(100% - 24px);margin:12px auto}.authShellFresh .authCard,.authShellFresh .brandPanel{padding:28px 20px}.authShellFresh .brandPanel h1{margin:0;font-size:1.45rem}.authShellFresh .brandPanel .eyebrow,.authShellFresh .brandCopy,.authShellFresh .brandPanel .trustList{display:none}.authShellFresh .brandPanel .brandMark{margin-bottom:18px}.singleCardShell{align-content:start;padding:24px 14px}.singleCardShell .authCard{border-radius:16px;padding:24px 20px}.singleCardShell .authCard h1{margin-bottom:20px;font-size:1.35rem}.portalShell{padding-inline:12px}.portalHeader{padding:12px}.portalHeader .portalSecure{color:#0000;width:36px;height:36px;padding:0;overflow:hidden}.portalHeader .portalSecure svg{color:var(--ds-success)}.portalCard{border-radius:16px;padding:22px 18px}.portalActions{gap:8px}.portalActions>*{min-height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}.toastViewport{z-index:10000;pointer-events:none;gap:10px;width:min(420px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.appToast{border:1px solid var(--ds-border-strong);background:color-mix(in srgb, var(--ds-surface) 97%, transparent);color:var(--ds-text-primary);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;grid-template-columns:42px minmax(0,1fr) 36px;align-items:start;gap:12px;padding:14px;animation:.18s ease-out both toastEnter;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 50px #1610302e}.appToast:before{background:var(--toast-accent);content:"";width:3px;position:absolute;inset:0 auto 0 0}.appToast.success{--toast-accent:#0f9f78;--toast-soft:#e8f8f3}.appToast.error{--toast-accent:#d9485f;--toast-soft:#fff0f2}.appToast.info{--toast-accent:var(--ds-primary);--toast-soft:var(--ds-primary-soft)}.appToastIcon{background:var(--toast-soft);width:42px;height:42px;color:var(--toast-accent);border-radius:12px;place-items:center;display:grid}.appToast strong{margin:1px 0 3px;font-size:.88rem;line-height:1.35;display:block}.appToast p{color:var(--ds-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.5}.appToast>button{width:36px;height:36px;color:var(--ds-text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.appToast>button:hover{background:var(--ds-surface-muted);color:var(--ds-text-primary)}@keyframes toastEnter{0%{opacity:0;transform:translate(12px,-8px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (max-width:640px){.toastViewport{width:auto;top:12px;left:12px;right:12px}}@media print{.toastViewport{display:none!important}}.floatingThemeToggle{z-index:900;border:1px solid var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 92%, transparent);width:42px;height:42px;color:var(--ds-text-secondary);box-shadow:var(--ds-shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:color var(--ds-duration-fast) ease, border-color var(--ds-duration-fast) ease, background var(--ds-duration-fast) ease, transform var(--ds-duration-fast) ease;border-radius:12px;place-items:center;padding:0;display:grid;position:fixed;top:92px;right:20px}.floatingThemeToggle:hover{border-color:var(--ds-primary-border);background:var(--ds-primary-soft);color:var(--ds-primary-hover);transform:translateY(-1px)}body:has(.shellFrame) .floatingThemeToggle{display:none}.shellAccountTheme{padding-top:2px}html[data-theme=dark] .appBackdrop{background:radial-gradient(circle at 100% 0%, #7865ff1f, transparent 34rem), radial-gradient(circle at 0% 100%, #37c8b10d, transparent 32rem), var(--ds-canvas)}html[data-theme=dark] :where(input,select,textarea){border-color:var(--ds-border);background-color:var(--ds-surface-subtle);color:var(--ds-text)}html[data-theme=dark] :where(input,textarea)::placeholder{color:var(--ds-text-muted)}html[data-theme=dark] :where(.shellShieldBadge,.portalSecure){border-color:color-mix(in srgb, var(--ds-success) 26%, var(--ds-border))}html[data-theme=dark] .shellNavItem.active .shellNavEn{color:#aaa0df}html[data-theme=dark] :where(.simplePageHeader,.dashboardWelcome,.projectHero,.compactSwitcher,.simpleProjectRow,.customerMiniCard,.workspaceCard,.workspacePanel,.summaryPanel,.metricCard,.chartCard,.tableCard,.modalCard,.dialogCard,.emptyState){border-color:var(--ds-border);background:var(--ds-surface);color:var(--ds-text);box-shadow:var(--ds-shadow-sm)}html[data-theme=dark] :where(.simplePageHeader,.dashboardWelcome,.projectHero,.sectionHeading,.simpleProjectRow,.customerMiniCard) :where(h1,h2,h3,h4,strong){color:var(--ds-text)}html[data-theme=dark] :where(.simplePageHeader,.dashboardWelcome,.projectHero,.sectionHeading,.simpleProjectRow,.customerMiniCard) :where(p,span,small){color:var(--ds-text-secondary)}html[data-theme=dark] :where(.searchField,.workspaceSaveBar,.workspaceSummary){border-color:var(--ds-border);background:var(--ds-surface-subtle);color:var(--ds-text-secondary)}html[data-theme=dark] :where(.portalShell,.singleCardShell){background:radial-gradient(circle at 50% 0%, #7e6bff1f, transparent 28rem), var(--ds-canvas)}html[data-theme=dark] :where(.portalHeader,.portalCard,.singleCardShell .authCard){border-color:var(--ds-border);background:color-mix(in srgb, var(--ds-surface) 96%, transparent);color:var(--ds-text);box-shadow:var(--ds-shadow-md)}html[data-theme=dark] .portalContextGrid,html[data-theme=dark] .portalContextGrid>div{border-color:var(--ds-border)}html[data-theme=dark] .portalContextGrid :where(dt,small){color:var(--ds-text-muted)}html[data-theme=dark] .portalContextGrid dd{color:var(--ds-text)}html[data-theme=dark] .portalShell .portalHeader,html[data-theme=dark] .portalShell .portalCard{box-shadow:var(--ds-shadow-md);border-color:var(--ds-border)!important;background:color-mix(in srgb, var(--ds-surface) 96%, transparent)!important;color:var(--ds-text)!important}html[data-theme=dark] .portalShell .portalQuestions .portalQuestion,html[data-theme=dark] .portalShell .portalRequirementGroup,html[data-theme=dark] .portalShell .reviewSummary button{border-color:var(--ds-border)!important;background:var(--ds-surface-subtle)!important;color:var(--ds-text)!important}html[data-theme=dark] .portalShell :where(.portalHeader strong,.portalCard h1){color:var(--ds-text)!important;-webkit-text-fill-color:var(--ds-text)!important;background:0 0!important}html[data-theme=dark] .portalShell :where(.portalProgress>div:first-child,.sectionMeta){color:var(--ds-text-secondary)!important}html[data-theme=dark] .portalShell .portalActions{box-shadow:var(--ds-shadow-md);border-color:var(--ds-border)!important;background:color-mix(in srgb, var(--ds-surface) 96%, transparent)!important}html[data-theme=dark] .portalShell .portalFooter{border-color:var(--ds-border);color:var(--ds-text-secondary)}html[data-theme=dark] :where(.portalLineNotice,.portalLineConnect,.portalLineSettings,.portalRequirementGroup,.portalQuestion,.reviewSummary button,.sectionProgress,.reference,.portalSkeleton){border-color:var(--ds-border)!important;background:var(--ds-surface-subtle)!important;color:var(--ds-text)!important}html[data-theme=dark] :where(.portalHeader strong,.portalCard h1,.portalQuestion,.portalQuestion label,.portalRequirementGroup legend,.portalLineNotice strong,.portalLineConnect strong,.portalLineSettings strong,.reviewSummary strong,.reference strong){color:var(--ds-text)!important}html[data-theme=dark] :where(.portalHeader small,.portalCard>p:not(.eyebrow),.portalQuestion small,.portalRequirementGroup small,.portalLineNotice span,.portalLineConnect span,.portalLineSettings span,.reviewSummary small,.fieldHint,.profileHint,.portalFooter,.sectionMeta){color:var(--ds-text-secondary)!important}html[data-theme=dark] :where(.portalForm input,.portalForm textarea,.portalQuestion input,.portalQuestion textarea,.portalLocaleSelect select,.codeInput,.choiceGroup button,.sectionDots button,.portalSecondary){border-color:var(--ds-border-strong)!important;background:var(--ds-surface)!important;color:var(--ds-text)!important}html[data-theme=dark] .portalShell .portalQuestion:focus-within{box-shadow:var(--ds-focus);border-color:var(--ds-primary)!important;background:var(--ds-surface-selected)!important}html[data-theme=dark] :where(.portalForm input,.portalQuestion input,.portalQuestion textarea)::placeholder{color:var(--ds-text-muted)}html[data-theme=dark] .choiceGroup button:hover,html[data-theme=dark] .choiceGroup button.chosen{border-color:var(--ds-primary)!important;background:var(--ds-primary-soft)!important;color:var(--ds-text)!important}html[data-theme=dark] .portalAlert{border-color:color-mix(in srgb, var(--ds-danger) 55%, var(--ds-border));background:var(--ds-danger-soft);color:var(--ds-danger)}html[data-theme=dark] :where(.progressTrack,.skeletonLine,.skeletonBlock){background:var(--ds-surface-muted)}html[data-theme=dark] .portalFooter{border-color:var(--ds-border)}@media (max-width:640px){.portalHeaderTop{align-items:flex-start;gap:.85rem}.portalHeaderActions{flex-direction:column-reverse;align-items:flex-end;gap:.45rem}.portalLocaleSelect>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.portalLocaleSelect select{max-width:7.5rem}.floatingThemeToggle{width:40px;height:40px;top:82px;right:12px}}@media print{.floatingThemeToggle{display:none!important}.shellNav,.shellTopbar,.shellMobileNav,.workspaceTabs,.workspaceSaveBar,.pageHeaderActions{display:none}.shellMain{margin:0}.shellWorkspace{width:100%;padding:0}}
