:root {
    --bg: #e9eef6;
    --panel: rgba(255, 255, 255, 0.88);
    --panel-strong: rgba(255, 255, 255, 0.94);
    --ink: #102033;
    --muted: #5d6a78;
    --line: rgba(16, 32, 51, 0.1);
    --brand: #0c67f3;
    --brand-deep: #0a3e9d;
    --accent: #0e7c66;
    --warning: #cc7a00;
    --danger: #a43131;
    --shadow: 0 24px 60px rgba(16, 32, 51, 0.12);
    --radius: 28px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    color: var(--ink);
    font-family: "Aptos", "Segoe UI Variable Display", "Trebuchet MS", sans-serif;
    background:
        radial-gradient(circle at top left, rgba(12, 103, 243, 0.18), transparent 24%),
        radial-gradient(circle at bottom right, rgba(14, 124, 102, 0.12), transparent 25%),
        linear-gradient(180deg, #f7faff 0%, var(--bg) 100%);
}

body.scopeforge-desktop {
    --bg: #09121f;
    --panel: rgba(14, 22, 34, 0.88);
    --panel-strong: rgba(17, 28, 43, 0.94);
    --ink: #edf4ff;
    --muted: #9bb0c8;
    --line: rgba(130, 159, 197, 0.18);
    --brand: #66b7ff;
    --brand-deep: #a8d7ff;
    --accent: #46d4a2;
    --warning: #f5c06c;
    --danger: #ff8d8d;
    --shadow: 0 28px 72px rgba(0, 0, 0, 0.32);
    background:
        radial-gradient(circle at top left, rgba(102, 183, 255, 0.2), transparent 22%),
        radial-gradient(circle at top right, rgba(70, 212, 162, 0.12), transparent 24%),
        linear-gradient(180deg, #08111d 0%, #0e1727 44%, #0b1320 100%);
}

body.scopeforge-field {
    --bg: #edf2f9;
    --panel: rgba(255, 255, 255, 0.94);
    --panel-strong: rgba(255, 255, 255, 0.98);
    --ink: #102033;
    --muted: #58697a;
    --line: rgba(16, 32, 51, 0.12);
    background:
        radial-gradient(circle at top left, rgba(12, 103, 243, 0.16), transparent 22%),
        radial-gradient(circle at bottom right, rgba(14, 124, 102, 0.1), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, #e7edf6 100%);
}

body.scopeforge-login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

body > .shell.public-shell {
    display: block;
    min-height: 100vh;
    padding: 2rem 1rem;
}

.shell {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    min-height: 100vh;
}

.shell.home-shell {
    grid-template-columns: 1fr;
}

.shell.has-project {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
}

.sidebar,
.logo-card,
.panel,
.workspace-header,
.status-card {
    background: var(--panel);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    border-radius: var(--radius);
    backdrop-filter: blur(18px);
}

.sidebar {
    margin: 1rem;
    padding: 1rem;
    display: grid;
    gap: 1rem;
    align-content: start;
}

.workspace {
    padding: 1rem 1rem 2rem 0;
    display: grid;
    gap: 1rem;
}

.shell.has-project .workspace {
    width: min(1560px, calc(100vw - 2rem));
    margin: 0 auto;
    padding: 1rem 0 2rem;
}

body.scopeforge-desktop .shell.has-project .workspace,
body.scopeforge-desktop .shell.home-shell .workspace {
    width: calc(100vw - 2rem);
    max-width: none;
    padding: 1rem 1rem 12.5rem;
}

.shell.has-project .sidebar {
    display: none;
}

.shell.home-shell .sidebar {
    display: none;
}

.shell.home-shell .workspace {
    width: min(1380px, calc(100vw - 2rem));
    margin: 0 auto;
    padding: 1rem 0 2rem;
}

.public-finance-card {
    width: min(920px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 1rem;
}

.logo-card,
.panel,
.workspace-header,
.status-card {
    padding: 1.15rem;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.13em;
    font-size: 0.72rem;
    color: var(--brand-deep);
}

h1, h2, h3 {
    margin: 0;
    font-family: "Bahnschrift", "Aptos Display", sans-serif;
    letter-spacing: -0.03em;
}

p,
.muted {
    color: var(--muted);
    line-height: 1.55;
}

.mini-badges,
.project-list,
.stack-form,
.flash-stack,
.assembly-list,
.line-item-groups,
.scan-list,
.catalog-card-list,
.division-list,
.room-list,
.math-grid {
    display: grid;
    gap: 0.75rem;
}

.mini-badges {
    margin-top: 0.9rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inline-action-form {
    display: inline-flex;
    margin: 0;
}

.user-chip {
    cursor: default;
}

.login-shell {
    width: min(760px, 100%);
}

.login-card {
    background: rgba(11, 21, 35, 0.92);
    border: 1px solid rgba(130, 159, 197, 0.22);
    border-radius: 32px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
    padding: 1.4rem;
    display: grid;
    gap: 1rem;
}

.login-brand-lockup {
    align-items: center;
}

.login-form {
    margin-top: 0.25rem;
}

.login-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.login-help-grid article {
    background: rgba(17, 28, 43, 0.92);
    border: 1px solid rgba(130, 159, 197, 0.18);
    border-radius: 20px;
    padding: 0.9rem 1rem;
    display: grid;
    gap: 0.3rem;
}

.login-help-grid article strong {
    color: #f2f7ff;
}

.login-help-grid article span {
    color: #c6d8ee;
}

.logo-card-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
}

.brand-lockup-estimator {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.estimator-logo-shell {
    width: 224px;
    height: 112px;
    flex: 0 0 224px;
    display: grid;
    place-items: center;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(150, 165, 181, 0.18), rgba(112, 128, 146, 0.14));
    border: 1px solid rgba(180, 198, 221, 0.22);
    box-shadow: 0 18px 34px rgba(7, 12, 20, 0.18);
    overflow: hidden;
    padding: 0;
}

.estimator-brand-card {
    gap: 0.9rem;
}

.estimator-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
    background: transparent;
    padding: 0;
}

.estimator-logo-fallback {
    display: none;
    width: 72px;
    height: 72px;
    border-radius: 18px;
    place-items: center;
    font-family: "Bahnschrift", "Aptos Display", sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    background: linear-gradient(135deg, var(--brand), var(--brand-deep));
    color: #fff;
}

.estimator-logo-shell.is-fallback .estimator-logo-fallback {
    display: grid;
}

body.scopeforge-desktop .estimator-logo {
    background: transparent;
}

body.scopeforge-desktop .estimator-logo-shell {
    background: linear-gradient(180deg, rgba(146, 161, 178, 0.28), rgba(97, 114, 132, 0.22));
    border-color: rgba(177, 201, 230, 0.26);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.26);
}

@media (max-width: 900px) {
    .estimator-logo-shell {
        width: 176px;
        height: 92px;
        flex: 0 0 176px;
        border-radius: 24px;
    }
}

.estimator-title-block {
    display: grid;
    gap: 0.25rem;
}

.estimator-title-block p,
.header-brand-lockup p {
    margin: 0;
}

.header-brand-lockup {
    align-items: flex-start;
}

body.scopeforge-desktop .sidebar,
body.scopeforge-desktop .logo-card,
body.scopeforge-desktop .panel,
body.scopeforge-desktop .workspace-header,
body.scopeforge-desktop .status-card,
body.scopeforge-desktop .project-pill,
body.scopeforge-desktop .room-chip,
body.scopeforge-desktop .scan-chip,
body.scopeforge-desktop .assembly-card,
body.scopeforge-desktop .catalog-card,
body.scopeforge-desktop .division-row,
body.scopeforge-desktop .flash,
body.scopeforge-desktop .line-row,
body.scopeforge-desktop .pipeline-stage-card,
body.scopeforge-desktop .followup-card,
body.scopeforge-desktop .app-tile,
body.scopeforge-desktop .workflow-step,
body.scopeforge-desktop .hero-chip,
body.scopeforge-desktop .workspace-tab {
    background: var(--panel);
    border-color: var(--line);
    box-shadow: var(--shadow);
}

body.scopeforge-desktop .mini-badges span,
body.scopeforge-desktop .badge,
body.scopeforge-desktop .count,
body.scopeforge-desktop .hero-chip,
body.scopeforge-desktop .workspace-tab,
body.scopeforge-desktop .workspace-suite-metric,
body.scopeforge-desktop .measure-command-card,
body.scopeforge-desktop .assistant-response-card,
body.scopeforge-desktop .canvas-stage-panel,
body.scopeforge-desktop .canvas-side-panel,
body.scopeforge-desktop .photo-scope-summary-board,
body.scopeforge-desktop .insurance-package-panel,
body.scopeforge-desktop .coach-dock {
    background: rgba(14, 24, 40, 0.96);
}

body.scopeforge-desktop .app-shell-header,
body.scopeforge-desktop .home-landing-header {
    background:
        linear-gradient(135deg, rgba(16, 30, 48, 0.95), rgba(10, 18, 32, 0.92)),
        linear-gradient(135deg, rgba(102, 183, 255, 0.12), rgba(70, 212, 162, 0.08));
}

body.scopeforge-desktop input,
body.scopeforge-desktop select,
body.scopeforge-desktop textarea {
    background: rgba(8, 17, 29, 0.76);
    border-color: rgba(130, 159, 197, 0.16);
    color: var(--ink);
}

body.scopeforge-desktop select option,
body.scopeforge-field select option {
    color: #102033;
    background: #f5f9ff;
}

body.scopeforge-desktop .action.secondary,
body.scopeforge-desktop .action.ghost {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(130, 159, 197, 0.18);
}

body.scopeforge-desktop .muted,
body.scopeforge-desktop p,
body.scopeforge-desktop .project-pill span,
body.scopeforge-desktop .project-pill em,
body.scopeforge-desktop .room-chip span,
body.scopeforge-desktop .room-chip em,
body.scopeforge-desktop .scan-chip span,
body.scopeforge-desktop .scan-chip em,
body.scopeforge-desktop .catalog-card p,
body.scopeforge-desktop .coach-dock-copy,
body.scopeforge-desktop .coach-dock-empty p {
    color: var(--muted);
}

body.scopeforge-desktop .canvas-summary-card,
body.scopeforge-desktop .canvas-guide-card,
body.scopeforge-desktop .job-coach-panel,
body.scopeforge-desktop .field-coach-panel,
body.scopeforge-desktop .coach-dock {
    background: rgba(11, 20, 33, 0.95);
    border-color: rgba(130, 159, 197, 0.16);
    box-shadow: var(--shadow);
}

body.scopeforge-desktop .app-shell-header,
body.scopeforge-desktop .status-card,
body.scopeforge-desktop .math-grid article,
body.scopeforge-desktop .totals-grid article {
    background: linear-gradient(180deg, rgba(20, 32, 53, 0.99), rgba(8, 16, 29, 0.97));
    border-color: rgba(145, 176, 215, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 18px 34px rgba(2, 8, 18, 0.3);
}

body.scopeforge-desktop .math-grid article span,
body.scopeforge-desktop .totals-grid article span {
    color: #deebf8;
}

body.scopeforge-desktop .math-grid article strong,
body.scopeforge-desktop .totals-grid article strong,
body.scopeforge-desktop .status-card strong {
    color: #ffffff;
}

body.scopeforge-desktop .coach-dock-form textarea {
    background: rgba(8, 17, 29, 0.9);
    border-color: rgba(130, 159, 197, 0.18);
    color: var(--ink);
}

body.scopeforge-desktop .coach-dock-form textarea::placeholder {
    color: rgba(196, 211, 232, 0.72);
}

.mini-badges span,
.badge,
.count {
    font-size: 0.82rem;
}

.mini-badges span,
.badge {
    border-radius: 999px;
    padding: 0.45rem 0.75rem;
    background: rgba(16, 32, 51, 0.08);
    color: var(--ink);
    text-align: center;
    border: 1px solid rgba(16, 32, 51, 0.08);
}

.badge.online { color: var(--accent); }
.badge.offline { color: var(--warning); }
.badge.warning { color: var(--warning); }
.badge.wide { display: grid; place-items: center; }

.project-pill,
.room-chip,
.scan-chip,
.assembly-card,
.catalog-card,
.division-row,
.flash,
.status-card,
.line-row {
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.74);
}

.project-pill {
    padding: 0.95rem 1rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    text-decoration: none;
    color: inherit;
}

.project-pill span,
.project-pill em,
.room-chip span,
.room-chip em,
.scan-chip span,
.scan-chip em,
.catalog-card p {
    color: var(--muted);
    font-style: normal;
}

.project-pill.active {
    background: linear-gradient(135deg, rgba(12, 103, 243, 0.16), rgba(10, 62, 157, 0.12));
    border-color: rgba(12, 103, 243, 0.26);
}

.shell.has-project .project-list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 270px);
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.shell.has-project .project-pill {
    min-height: 100%;
}

.pipeline-stage-grid,
.followup-feed,
.app-home-grid {
    display: grid;
    gap: 0.75rem;
}

.pipeline-stage-grid {
    grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
}

.pipeline-stage-card,
.followup-card,
.app-tile {
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.82);
    border-radius: 24px;
}

.pipeline-stage-card {
    padding: 0.85rem 0.9rem;
    display: grid;
    gap: 0.3rem;
}

.pipeline-stage-card span {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--brand-deep);
}

.followup-card {
    padding: 0.9rem 1rem;
    text-decoration: none;
    color: inherit;
    display: grid;
    gap: 0.22rem;
}

.followup-card.is-overdue {
    border-color: rgba(164, 49, 49, 0.22);
    background: linear-gradient(180deg, rgba(255, 245, 245, 0.96), rgba(255, 255, 255, 0.9));
}

.followup-card.is-today {
    border-color: rgba(204, 122, 0, 0.24);
    background: linear-gradient(180deg, rgba(255, 248, 236, 0.96), rgba(255, 255, 255, 0.9));
}

.followup-card span,
.followup-card em {
    color: var(--muted);
    font-style: normal;
}

.app-home-grid {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.home-launch-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.app-tile {
    padding: 1rem;
    min-height: 154px;
    display: grid;
    align-content: space-between;
    gap: 0.8rem;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 18px 34px rgba(16, 32, 51, 0.08);
}

.app-tile,
.workspace-tool-tile {
    color: inherit;
    text-decoration: none;
}

.app-tile-icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 22px;
    display: inline-grid;
    place-items: center;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #f7fbff;
    background: linear-gradient(135deg, #3b628d, #1f3550);
    box-shadow: 0 12px 22px rgba(16, 32, 51, 0.18);
}

.app-tile strong {
    font-size: 1.04rem;
}

.app-tile small {
    display: block;
    color: var(--muted);
    line-height: 1.4;
}

.app-tile.is-recommended {
    border-color: rgba(12, 103, 243, 0.28);
    box-shadow: 0 18px 34px rgba(12, 103, 243, 0.14);
}

.app-tile.tone-home .app-tile-icon { background: linear-gradient(135deg, #0c67f3, #0a3e9d); }
.app-tile.tone-crm .app-tile-icon { background: linear-gradient(135deg, #6f7df7, #4250bf); }
.app-tile.tone-claim .app-tile-icon { background: linear-gradient(135deg, #0e7c66, #0a5f50); }
.app-tile.tone-capture .app-tile-icon { background: linear-gradient(135deg, #0c67f3, #1f89ff); }
.app-tile.tone-estimate .app-tile-icon { background: linear-gradient(135deg, #1f3d72, #0f223d); }
.app-tile.tone-finance .app-tile-icon { background: linear-gradient(135deg, #cc7a00, #9d5700); }
.app-tile.tone-output .app-tile-icon { background: linear-gradient(135deg, #8d5cf6, #5b2db4); }
.app-tile.tone-submit .app-tile-icon { background: linear-gradient(135deg, #a43131, #712020); }

.workspace-suite-panel {
    display: grid;
    gap: 1rem;
    padding: 1.3rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 253, 0.93)),
        radial-gradient(circle at top right, rgba(16, 32, 51, 0.06), transparent 34%);
}

.workspace-suite-header {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.95fr);
    gap: 1rem;
    align-items: start;
}

.workspace-suite-copy {
    display: grid;
    gap: 0.45rem;
}

.workspace-suite-copy h3 {
    font-size: clamp(1.24rem, 2.1vw, 1.74rem);
}

.workspace-suite-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.workspace-suite-metric {
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 0.95rem 1rem;
    display: grid;
    gap: 0.28rem;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 12px 22px rgba(16, 32, 51, 0.05);
}

.workspace-suite-metric span {
    color: var(--muted);
    font-size: 0.8rem;
}

.workspace-suite-metric strong {
    font-size: 1.08rem;
    color: var(--brand-deep);
}

.workspace-tool-tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.8rem;
}

.workspace-tool-tile {
    min-height: 150px;
}

.suite-tone-capture {
    background:
        linear-gradient(180deg, rgba(246, 250, 255, 0.97), rgba(239, 247, 255, 0.94)),
        radial-gradient(circle at top right, rgba(12, 103, 243, 0.12), transparent 34%);
}

.suite-tone-estimate {
    background:
        linear-gradient(180deg, rgba(248, 249, 252, 0.97), rgba(242, 245, 250, 0.94)),
        radial-gradient(circle at top right, rgba(31, 61, 114, 0.12), transparent 34%);
}

.suite-tone-finance {
    background:
        linear-gradient(180deg, rgba(255, 250, 243, 0.97), rgba(255, 246, 234, 0.94)),
        radial-gradient(circle at top right, rgba(204, 122, 0, 0.14), transparent 34%);
}

.panel-topline,
.workspace-header,
.split,
.catalog-topline {
    display: flex;
    gap: 0.75rem;
}

.panel-topline,
.workspace-header,
.catalog-topline {
    justify-content: space-between;
    align-items: center;
}

.workspace-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.65rem;
    position: sticky;
    top: 0.75rem;
    z-index: 12;
    padding: 0.7rem;
    border-radius: 26px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 253, 0.86);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.workspace-tab {
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.8);
    color: var(--muted);
    border-radius: 20px;
    padding: 0.78rem 0.9rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    text-align: left;
    min-height: 72px;
}

.workspace-tab.is-active {
    background: linear-gradient(135deg, var(--brand), var(--brand-deep));
    color: white;
    border-color: transparent;
}

.workspace-tab-icon {
    min-width: 3rem;
    height: 3rem;
    padding: 0 0.65rem;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    background: rgba(16, 32, 51, 0.08);
    color: inherit;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    flex: 0 0 auto;
}

.workspace-tab.is-active .workspace-tab-icon {
    background: rgba(255, 255, 255, 0.16);
}

.workspace-tab-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.workspace-tab-copy strong,
.workspace-tab-copy small {
    display: block;
}

.workspace-tab-copy small {
    color: inherit;
    opacity: 0.78;
    font-size: 0.79rem;
    font-weight: 600;
}

.workspace-panel-group[hidden] {
    display: none !important;
}

.start-here-grid {
    align-items: start;
}

.start-title {
    margin-bottom: 0.55rem;
}

.app-shell-header {
    display: grid;
    gap: 1rem;
    padding: 1.35rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(242, 247, 255, 0.92)),
        radial-gradient(circle at top right, rgba(12, 103, 243, 0.14), transparent 32%);
}

.header-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.9fr);
    gap: 1rem;
    align-items: start;
}

.header-dock {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.hero-chip-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.hero-chip {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    padding: 0.95rem 1rem;
    display: grid;
    gap: 0.28rem;
}

.hero-chip span {
    color: var(--muted);
    font-size: 0.82rem;
}

.hero-chip strong {
    font-size: 1.05rem;
}

.job-dock {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    padding: 0.65rem;
    gap: 0.55rem;
    border-radius: 30px;
    background: rgba(247, 250, 255, 0.88);
}

.job-dock .workspace-tab {
    min-height: 86px;
    padding: 0.85rem 0.8rem;
    border-radius: 24px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.55rem;
}

.job-dock .workspace-tab-copy {
    justify-items: center;
}

.job-dock .workspace-tab-copy small {
    font-size: 0.74rem;
}

.home-dashboard-panels .project-list {
    margin-top: 1rem;
}

.home-project-grid {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    overflow: visible;
}

body.scopeforge-desktop .app-home-grid,
body.scopeforge-desktop .workspace-tool-tile-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

body.scopeforge-desktop .app-tile,
body.scopeforge-desktop .workspace-tool-tile {
    min-height: 180px;
    background:
        linear-gradient(180deg, rgba(26, 42, 64, 0.98), rgba(15, 24, 38, 0.96)),
        radial-gradient(circle at top right, rgba(102, 183, 255, 0.18), transparent 34%);
    border-color: rgba(162, 193, 227, 0.18);
}

body.scopeforge-desktop .workspace-suite-panel,
body.scopeforge-desktop .suite-tone-capture,
body.scopeforge-desktop .suite-tone-estimate,
body.scopeforge-desktop .suite-tone-finance {
    background:
        linear-gradient(180deg, rgba(18, 31, 49, 0.98), rgba(10, 17, 29, 0.96)),
        radial-gradient(circle at top right, rgba(102, 183, 255, 0.16), transparent 32%);
    border-color: rgba(162, 193, 227, 0.16);
}

body.scopeforge-desktop .workspace-tabs,
body.scopeforge-desktop .job-dock {
    background: rgba(11, 20, 34, 0.94);
    border-color: rgba(162, 193, 227, 0.18);
}

body.scopeforge-desktop .workspace-tab {
    background: linear-gradient(180deg, rgba(31, 47, 70, 0.98), rgba(18, 29, 45, 0.96));
    color: #deebf8;
    border-color: rgba(167, 198, 231, 0.16);
}

body.scopeforge-desktop .workspace-tab.is-active {
    background: linear-gradient(135deg, #66b7ff, #2d6dd6);
    color: #08111d;
}

body.scopeforge-desktop .workspace-tab.is-active .workspace-tab-icon {
    background: rgba(8, 17, 29, 0.12);
}

body.scopeforge-desktop .app-tile strong,
body.scopeforge-desktop .workspace-tool-tile strong,
body.scopeforge-desktop .workspace-suite-copy h3,
body.scopeforge-desktop .workspace-suite-metric strong,
body.scopeforge-desktop .hero-chip strong,
body.scopeforge-desktop .measure-command-card strong,
body.scopeforge-desktop .workflow-step strong,
body.scopeforge-desktop .task-card strong,
body.scopeforge-desktop .activity-card strong,
body.scopeforge-desktop .quote-card strong,
body.scopeforge-desktop .suggestion-card strong,
body.scopeforge-desktop .capture-guide-grid article strong {
    color: #f3f8ff;
}

body.scopeforge-desktop .app-tile small,
body.scopeforge-desktop .workspace-tab-copy small,
body.scopeforge-desktop .workspace-suite-copy p,
body.scopeforge-desktop .workspace-suite-metric span,
body.scopeforge-desktop .hero-chip span,
body.scopeforge-desktop .measure-command-card em,
body.scopeforge-desktop .measure-task-list,
body.scopeforge-desktop .workflow-step span,
body.scopeforge-desktop .task-card-header span,
body.scopeforge-desktop .activity-card-header span,
body.scopeforge-desktop .quote-card-header span,
body.scopeforge-desktop .suggestion-card-header span,
body.scopeforge-desktop .capture-guide-grid span,
body.scopeforge-desktop .capture-guide p,
body.scopeforge-desktop .muted,
body.scopeforge-desktop p {
    color: #c8d9ea;
}

body.scopeforge-desktop .hero-chip,
body.scopeforge-desktop .measure-command-card,
body.scopeforge-desktop .workflow-step,
body.scopeforge-desktop .task-card,
body.scopeforge-desktop .activity-card,
body.scopeforge-desktop .quote-card,
body.scopeforge-desktop .suggestion-card,
body.scopeforge-desktop .capture-guide-grid article {
    background: linear-gradient(180deg, rgba(25, 39, 61, 0.98), rgba(12, 21, 36, 0.96));
    border-color: rgba(174, 204, 237, 0.22);
}

body.scopeforge-desktop .app-shell-header .hero-chip {
    background: linear-gradient(180deg, rgba(24, 39, 61, 0.99), rgba(8, 16, 29, 0.98));
    border-color: rgba(170, 200, 236, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 16px 28px rgba(2, 8, 18, 0.32);
}

body.scopeforge-desktop .app-shell-header .hero-chip span {
    color: #dbe8f7;
}

body.scopeforge-desktop .app-shell-header .hero-chip strong {
    color: #ffffff;
}

body.scopeforge-desktop .workspace-suite-metric {
    background: linear-gradient(180deg, rgba(31, 47, 71, 0.99), rgba(15, 27, 45, 0.96));
    border-color: rgba(174, 204, 237, 0.22);
}

body.scopeforge-desktop .badge,
body.scopeforge-desktop .count,
body.scopeforge-desktop .mini-badges span {
    color: #eff6ff;
    border-color: rgba(174, 204, 237, 0.2);
}

body.scopeforge-desktop .panel-topline .badge,
body.scopeforge-desktop .panel-topline .count {
    background: linear-gradient(180deg, rgba(22, 36, 58, 0.98), rgba(10, 19, 34, 0.96));
    border-color: rgba(164, 194, 231, 0.26);
    color: #f2f8ff;
}

body.scopeforge-desktop .followup-card {
    background: linear-gradient(180deg, rgba(22, 36, 58, 0.98), rgba(10, 19, 34, 0.97));
    border-color: rgba(145, 177, 214, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 16px 28px rgba(2, 8, 18, 0.28);
}

body.scopeforge-desktop .followup-card span,
body.scopeforge-desktop .followup-card em {
    color: #d2e1f3;
}

body.scopeforge-desktop .check-row,
body.scopeforge-desktop .workflow-step,
body.scopeforge-desktop .definition-grid article,
body.scopeforge-desktop .signature-card,
body.scopeforge-desktop .signature-summary,
body.scopeforge-desktop .tool-console,
body.scopeforge-desktop .tool-status-band,
body.scopeforge-desktop .tool-metric-grid article,
body.scopeforge-desktop .fixture-package-card,
body.scopeforge-desktop .field-measure-assist,
body.scopeforge-desktop .opening-panel,
body.scopeforge-desktop .mobile-summary-grid article,
body.scopeforge-desktop .empty-checklist article,
body.scopeforge-desktop .advanced-fields {
    border-color: rgba(145, 176, 215, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 16px 30px rgba(2, 8, 18, 0.24);
}

body.scopeforge-desktop .check-row,
body.scopeforge-desktop .workflow-step,
body.scopeforge-desktop .definition-grid article,
body.scopeforge-desktop .signature-card,
body.scopeforge-desktop .tool-console,
body.scopeforge-desktop .fixture-package-card,
body.scopeforge-desktop .field-measure-assist,
body.scopeforge-desktop .opening-panel,
body.scopeforge-desktop .mobile-summary-grid article,
body.scopeforge-desktop .empty-checklist article,
body.scopeforge-desktop .advanced-fields {
    background: linear-gradient(180deg, rgba(21, 34, 55, 0.98), rgba(9, 18, 32, 0.97));
}

body.scopeforge-desktop .signature-summary,
body.scopeforge-desktop .tool-status-band {
    background: linear-gradient(180deg, rgba(24, 45, 75, 0.98), rgba(11, 25, 46, 0.96));
}

body.scopeforge-desktop .tool-metric-grid article {
    background: linear-gradient(180deg, rgba(23, 38, 60, 0.98), rgba(10, 19, 34, 0.96));
}

body.scopeforge-desktop .tool-status-band {
    color: #edf6ff;
}

body.scopeforge-desktop .check-row span,
body.scopeforge-desktop .workflow-step span,
body.scopeforge-desktop .definition-grid span,
body.scopeforge-desktop .signature-summary span,
body.scopeforge-desktop .signature-summary em,
body.scopeforge-desktop .field-measure-assist span,
body.scopeforge-desktop .opening-panel p,
body.scopeforge-desktop .fixture-package-card span,
body.scopeforge-desktop .fixture-package-card em,
body.scopeforge-desktop .tool-metric-grid span,
body.scopeforge-desktop .advanced-fields .field-help,
body.scopeforge-desktop .advanced-fields summary,
body.scopeforge-desktop .empty-checklist span {
    color: #d7e5f6;
}

body.scopeforge-desktop .check-row strong,
body.scopeforge-desktop .workflow-step strong,
body.scopeforge-desktop .definition-grid strong,
body.scopeforge-desktop .signature-summary strong,
body.scopeforge-desktop .tool-metric-grid strong,
body.scopeforge-desktop .fixture-package-card strong,
body.scopeforge-desktop .opening-panel h3,
body.scopeforge-desktop .advanced-fields summary {
    color: #ffffff;
}

body.scopeforge-desktop .tool-pane {
    background: linear-gradient(180deg, rgba(25, 38, 64, 0.96), rgba(12, 21, 40, 0.92));
    border-color: rgba(107, 136, 194, 0.22);
    box-shadow: 0 18px 38px rgba(6, 13, 28, 0.22);
}

body.scopeforge-desktop .tool-pane-accent {
    background: linear-gradient(180deg, rgba(24, 47, 82, 0.98), rgba(13, 31, 57, 0.94));
    border-color: rgba(84, 144, 255, 0.3);
}

body.scopeforge-desktop .room-roster-card,
body.scopeforge-desktop .metric-pill,
body.scopeforge-desktop .sketch-hint-card {
    background: linear-gradient(180deg, rgba(22, 33, 55, 0.96), rgba(13, 21, 37, 0.9));
    border-color: rgba(101, 131, 192, 0.18);
}

body.scopeforge-desktop .tool-pane-header p,
body.scopeforge-desktop .room-roster-head span,
body.scopeforge-desktop .metric-pill span,
body.scopeforge-desktop .sketch-hint-card span {
    color: rgba(222, 230, 243, 0.74);
}

body.scopeforge-desktop .metric-pill strong,
body.scopeforge-desktop .room-roster-card strong,
body.scopeforge-desktop .tool-pane-header strong,
body.scopeforge-desktop .sketch-hint-card strong {
    color: #f4f7fc;
}

body.scopeforge-desktop .lidar-hero,
body.scopeforge-desktop .capture-bridge,
body.scopeforge-desktop .capture-guide,
body.scopeforge-desktop .capture-preview,
body.scopeforge-desktop .photo-analysis-panel,
body.scopeforge-desktop .scan-chip,
body.scopeforge-desktop .attachment-card,
body.scopeforge-desktop .capture-preview-card,
body.scopeforge-desktop .analysis-card,
body.scopeforge-field .lidar-hero,
body.scopeforge-field .capture-bridge,
body.scopeforge-field .capture-guide,
body.scopeforge-field .capture-preview,
body.scopeforge-field .photo-analysis-panel,
body.scopeforge-field .scan-chip,
body.scopeforge-field .attachment-card,
body.scopeforge-field .capture-preview-card,
body.scopeforge-field .analysis-card {
    background: linear-gradient(180deg, rgba(20, 30, 49, 0.98), rgba(11, 19, 31, 0.95));
    border-color: rgba(124, 154, 201, 0.22);
    box-shadow: 0 14px 28px rgba(4, 9, 18, 0.18);
}

body.scopeforge-desktop .capture-preview-head strong,
body.scopeforge-desktop .lidar-hero strong,
body.scopeforge-desktop .capture-guide-grid article strong,
body.scopeforge-desktop .analysis-card strong,
body.scopeforge-desktop .scan-chip strong,
body.scopeforge-desktop .attachment-card strong,
body.scopeforge-field .capture-preview-head strong,
body.scopeforge-field .lidar-hero strong,
body.scopeforge-field .capture-guide-grid article strong,
body.scopeforge-field .analysis-card strong,
body.scopeforge-field .scan-chip strong,
body.scopeforge-field .attachment-card strong {
    color: #f3f8ff;
}

body.scopeforge-desktop .capture-preview-head span,
body.scopeforge-desktop .capture-guide-grid span,
body.scopeforge-desktop .capture-preview-card span,
body.scopeforge-desktop .capture-preview-card em,
body.scopeforge-desktop .analysis-card span,
body.scopeforge-desktop .analysis-card em,
body.scopeforge-desktop .scan-chip span,
body.scopeforge-desktop .scan-chip em,
body.scopeforge-desktop .attachment-card span,
body.scopeforge-desktop .attachment-card em,
body.scopeforge-desktop .lidar-hero p,
body.scopeforge-desktop .field-help,
body.scopeforge-desktop .capture-bridge .muted,
body.scopeforge-desktop .scan-list .muted,
body.scopeforge-field .capture-preview-head span,
body.scopeforge-field .capture-guide-grid span,
body.scopeforge-field .capture-preview-card span,
body.scopeforge-field .capture-preview-card em,
body.scopeforge-field .analysis-card span,
body.scopeforge-field .analysis-card em,
body.scopeforge-field .scan-chip span,
body.scopeforge-field .scan-chip em,
body.scopeforge-field .attachment-card span,
body.scopeforge-field .attachment-card em,
body.scopeforge-field .lidar-hero p,
body.scopeforge-field .field-help,
body.scopeforge-field .capture-bridge .muted,
body.scopeforge-field .scan-list .muted {
    color: #cbd9ec;
}

body.scopeforge-desktop .capture-preview-list .muted,
body.scopeforge-field .capture-preview-list .muted {
    color: #d9e5f5;
}

body.scopeforge-desktop .capture-status,
body.scopeforge-field .capture-status,
body.scopeforge-desktop .signature-status,
body.scopeforge-field .signature-status {
    background: rgba(72, 137, 255, 0.18);
    color: #e7f1ff;
    border: 1px solid rgba(121, 170, 255, 0.24);
}

body.scopeforge-desktop .field-mode-banner span,
body.scopeforge-desktop .field-mode-banner strong {
    color: #dff7ee;
}

body.scopeforge-desktop .field-mode-banner {
    background: linear-gradient(135deg, rgba(70, 212, 162, 0.16), rgba(102, 183, 255, 0.1));
    border-color: rgba(70, 212, 162, 0.22);
}

body.scopeforge-desktop .link-button.neutral {
    color: #a8d7ff;
}

.checkbox-field {
    display: grid;
    align-content: end;
    gap: 0.45rem;
}

.checkbox-field input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
}

.task-center-list,
.activity-feed-list,
.quote-register {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
}

.task-card,
.activity-card,
.quote-card,
.suggestion-card {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    padding: 1rem;
}

.task-card.is-done {
    border-color: rgba(14, 124, 102, 0.28);
    background: rgba(14, 124, 102, 0.08);
}

.task-card.is-blocked {
    border-color: rgba(164, 49, 49, 0.26);
    background: rgba(164, 49, 49, 0.06);
}

.task-card-header,
.activity-card-header,
.quote-card-header,
.suggestion-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.9rem;
    margin-bottom: 0.55rem;
}

.task-card-header span,
.activity-card-header span,
.quote-card-header span,
.suggestion-card-header span {
    display: block;
    color: var(--muted);
}

.task-create-form {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.quick-suggestion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.9rem;
}

.suggestion-card.is-matched {
    border-color: rgba(12, 103, 243, 0.28);
    background: linear-gradient(180deg, rgba(12, 103, 243, 0.08), rgba(255, 255, 255, 0.82));
}

.crm-contact-list {
    margin-top: 1rem;
}

.quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.quote-actions {
    align-items: center;
}

.quote-actions form {
    margin: 0;
}

.headline {
    display: grid;
    gap: 0.4rem;
}

.measure-command-panel {
    display: grid;
    gap: 0.9rem;
}

.measure-command-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.measure-command-card {
    display: grid;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.84);
}

.measure-command-card em {
    color: var(--muted);
    font-style: normal;
}

.measure-task-list {
    margin: 0;
    padding-left: 1rem;
    color: var(--muted);
    display: grid;
    gap: 0.3rem;
}

.measure-jump-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.totals-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 0.8rem;
}

.totals-grid article,
.math-grid article {
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid var(--line);
}

.totals-grid article span,
.math-grid article span {
    display: block;
    color: var(--muted);
    margin-bottom: 0.35rem;
}

.totals-grid article.highlight,
.math-grid article.highlight {
    background: linear-gradient(135deg, var(--brand), var(--brand-deep));
    color: white;
}

.totals-grid article.highlight span,
.math-grid article.highlight span {
    color: rgba(255, 255, 255, 0.82);
}

.intro-strip,
.grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.intro-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.split > * {
    flex: 1 1 0;
}

.triad {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quad {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

input,
select,
textarea,
button {
    font: inherit;
}

input,
select,
textarea {
    width: 100%;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.9);
    color: var(--ink);
}

input:disabled,
select:disabled,
textarea:disabled {
    background: rgba(16, 32, 51, 0.05);
    color: var(--muted);
}

textarea {
    resize: vertical;
}

.field,
.field-grid,
.claim-form,
.authorization-form,
.output-stack {
    display: grid;
    gap: 0.75rem;
}

.field-grid.two-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-grid.three-up {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.field-grid.four-up {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.field-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ink);
}

.field-tip {
    display: inline-grid;
    place-items: center;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: rgba(12, 103, 243, 0.12);
    color: var(--brand-deep);
    font-size: 0.72rem;
    font-weight: 800;
}

.field-help {
    margin: 0;
    font-size: 0.84rem;
    color: var(--muted);
}

.section-divider {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    padding-top: 0.35rem;
    border-top: 1px solid var(--line);
}

.advanced-fields {
    display: grid;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(240, 245, 250, 0.82));
}

.advanced-fields summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--ink);
}

.advanced-fields > .field-help {
    margin: -0.35rem 0 0;
}

.field-mode .advanced-fields {
    display: none;
}

.field-mode [data-field-mode-hidden] {
    display: none !important;
}

body.field-user [data-field-role-hidden] {
    display: none !important;
}

.action {
    border: 0;
    border-radius: 16px;
    padding: 0.85rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.action.mini {
    padding: 0.65rem 0.85rem;
    border-radius: 14px;
    font-size: 0.9rem;
}

.action.primary {
    background: linear-gradient(135deg, var(--brand), var(--brand-deep));
    color: white;
}

.action.secondary {
    background: rgba(16, 32, 51, 0.08);
    color: var(--ink);
}

button:disabled,
.action:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.field-mode-note,
.field-mode-banner {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(12, 103, 243, 0.18);
    background: linear-gradient(135deg, rgba(12, 103, 243, 0.12), rgba(10, 62, 157, 0.06));
    color: var(--brand-deep);
}

.field-mode-note {
    margin: 0 0 0.25rem;
}

.field-mode-banner span,
.field-mode-note {
    color: var(--brand-deep);
}

.inline-save-status {
    margin: 0;
    padding: 0.8rem 0.95rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.82);
    color: var(--muted);
    font-size: 0.86rem;
}

.inline-save-status[data-state="pending"] {
    border-color: rgba(204, 122, 0, 0.24);
    background: rgba(255, 248, 231, 0.95);
    color: #8a5a00;
}

.inline-save-status[data-state="success"] {
    border-color: rgba(14, 124, 102, 0.24);
    background: rgba(236, 251, 247, 0.96);
    color: var(--accent);
}

.inline-save-status[data-state="error"] {
    border-color: rgba(164, 49, 49, 0.22);
    background: rgba(254, 244, 244, 0.96);
    color: var(--danger);
}

.action.mini {
    padding: 0.6rem 0.9rem;
}

.room-list.rich,
.scan-list,
.division-list {
    margin-top: 0.9rem;
}

.room-chip,
.scan-chip,
.division-row {
    padding: 0.85rem 0.95rem;
    display: grid;
    gap: 0.2rem;
}

.assembly-card {
    padding: 1rem;
    display: grid;
    gap: 0.8rem;
}

.playbook-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.catalog-zone {
    align-items: start;
}

.catalog-card-list {
    max-height: 720px;
    overflow: auto;
    padding-right: 0.2rem;
}

.catalog-card {
    padding: 1rem;
    display: grid;
    gap: 0.35rem;
}

.intro-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-grid,
.checklist-grid,
.definition-grid {
    display: grid;
    gap: 0.85rem;
}

.inline-actions {
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
    gap: 0.5rem;
}

.inline-actions form {
    margin: 0;
}

.workflow-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.workflow-step,
.check-row,
.definition-grid article {
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(247, 250, 255, 0.92);
}

.workflow-step,
.check-row {
    display: grid;
    gap: 0.4rem;
}

.workflow-step span,
.check-row span,
.definition-grid span {
    color: var(--muted);
    line-height: 1.45;
}

.workflow-step.ready,
.check-row.ready {
    border-color: rgba(14, 124, 102, 0.28);
    background: linear-gradient(135deg, rgba(14, 124, 102, 0.12), rgba(12, 103, 243, 0.08));
}

.definition-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.definition-grid article {
    display: grid;
    gap: 0.3rem;
}

.definition-grid span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.definition-grid strong {
    color: var(--ink);
}

.checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compact-math article {
    padding-block: 0.8rem;
}

.lidar-form,
.signature-card,
.lidar-hero,
.capture-bridge,
.signature-card-top,
.mobile-summary-grid,
.empty-checklist,
.output-card {
    display: grid;
    gap: 0.75rem;
}

.lidar-hero,
.signature-card,
.output-card {
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(247, 250, 255, 0.92);
}

.lidar-actions,
.signature-actions {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
    align-items: center;
}

.capture-bridge {
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(16, 32, 51, 0.04);
    border: 1px dashed rgba(16, 32, 51, 0.14);
}

.capture-status,
.signature-status {
    border-radius: 999px;
    padding: 0.5rem 0.85rem;
    background: rgba(12, 103, 243, 0.1);
    color: var(--brand-deep);
    font-size: 0.84rem;
    font-weight: 700;
}

.capture-status[data-tone="error"] {
    background: rgba(164, 49, 49, 0.12);
    color: var(--danger);
}

.capture-status[data-tone="success"] {
    background: rgba(14, 124, 102, 0.12);
    color: var(--accent);
}

.signature-pad {
    width: 100%;
    min-height: 200px;
    height: 200px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,253,0.94)),
        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 27px,
            rgba(12, 103, 243, 0.08) 27px,
            rgba(12, 103, 243, 0.08) 28px
        );
    touch-action: none;
    display: block;
}

.signature-pad-mobile {
    min-height: 220px;
    height: 220px;
}

.tool-shell-grid,
.analysis-shell-grid,
.sketch-stage-shell {
    display: grid;
    gap: 1rem;
}

.tool-shell-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.tool-shell-grid-rooms {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.analysis-shell-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
}

.sketch-stage-shell {
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
    align-items: start;
}

.tool-pane,
.sketch-stage-main,
.sketch-side-panel {
    display: grid;
    gap: 0.95rem;
}

.tool-pane {
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(245,248,253,0.92));
}

.tool-pane-accent {
    background: linear-gradient(180deg, rgba(233, 242, 255, 0.98), rgba(245, 249, 255, 0.94));
    border-color: rgba(12, 103, 243, 0.14);
}

.tool-pane-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.tool-pane-header strong {
    display: block;
    font-size: 1rem;
}

.tool-pane-header p {
    margin: 0.25rem 0 0;
    color: var(--muted);
    max-width: 52ch;
}

.room-roster {
    display: grid;
    gap: 0.85rem;
}

.room-roster-card {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.88);
}

.room-roster-card-empty {
    place-items: start;
}

.room-roster-card-compact {
    padding: 0.9rem 0.95rem;
}

.room-roster-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.room-roster-head span {
    color: var(--muted);
}

.status-cluster,
.tool-action-row {
    display: flex;
    gap: 0.55rem;
    align-items: center;
    flex-wrap: wrap;
}

.metric-pill-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.metric-pill {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem 0.85rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(247, 249, 252, 0.95);
}

.metric-pill span {
    color: var(--muted);
    font-size: 0.82rem;
}

.metric-pill strong {
    font-size: 1rem;
}

.analysis-list-wide {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.sketch-hint-list {
    display: grid;
    gap: 0.75rem;
}

.sketch-hint-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.9rem 0.95rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.9);
}

.sketch-hint-card span {
    color: var(--muted);
}

.signature-summary {
    display: grid;
    gap: 0.25rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(12, 103, 243, 0.12), rgba(10, 62, 157, 0.07));
    border: 1px solid rgba(12, 103, 243, 0.12);
}

.mobile-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mobile-summary-grid article,
.empty-checklist article {
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--line);
    display: grid;
    gap: 0.2rem;
}

.mobile-summary-grid span,
.empty-checklist span {
    color: var(--muted);
}

body.scopeforge-desktop .totals-grid article,
body.scopeforge-desktop .empty-checklist article,
body.scopeforge-desktop .definition-grid article {
    background: linear-gradient(180deg, rgba(24, 38, 60, 0.98), rgba(11, 20, 35, 0.96));
    border-color: rgba(174, 204, 237, 0.22);
}

body.scopeforge-desktop .totals-grid article span,
body.scopeforge-desktop .empty-checklist span,
body.scopeforge-desktop .definition-grid span,
body.scopeforge-desktop .home-definition-grid article p {
    color: #d3e1f0;
}

body.scopeforge-desktop .totals-grid article strong,
body.scopeforge-desktop .empty-checklist article strong,
body.scopeforge-desktop .definition-grid strong {
    color: #f5f9ff;
}

body.scopeforge-desktop .home-definition-grid article p {
    margin: 0;
}

body.scopeforge-desktop .totals-grid article.highlight {
    background: linear-gradient(135deg, #66b7ff, #2d6dd6);
    border-color: transparent;
}

body.scopeforge-desktop .totals-grid article.highlight span,
body.scopeforge-desktop .totals-grid article.highlight strong {
    color: #08111d;
}

.catalog-breakdown,
.line-totals span,
.sketch-chip em,
.attachment-card span,
.attachment-card em {
    color: var(--muted);
}

.sketch-toolbar {
    display: grid;
    gap: 0.6rem;
}

.tool-console,
.capture-guide,
.capture-preview,
.photo-analysis-panel {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 253, 0.92);
}

.tool-status-band {
    padding: 0.75rem 0.9rem;
    border-radius: 14px;
    background: rgba(12, 103, 243, 0.1);
    color: var(--brand-deep);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
}

.tool-metric-grid,
.capture-guide-grid,
.capture-preview-list {
    display: grid;
    gap: 0.75rem;
}

.tool-metric-grid,
.capture-guide-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tool-metric-grid article,
.capture-guide-grid article,
.capture-preview-card {
    display: grid;
    gap: 0.2rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.82);
}

.tool-metric-grid span,
.capture-guide-grid span,
.capture-preview-card span,
.capture-preview-card em {
    color: var(--muted);
}

.capture-preview-head {
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.capture-preview-list {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.analysis-list {
    display: grid;
    gap: 0.75rem;
}

.canvas-workstation,
.photo-scope-board {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.95fr);
}

.canvas-stage-panel {
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(130, 159, 197, 0.16);
    background: rgba(7, 14, 24, 0.34);
}

.canvas-stage-head,
.assistant-response-head {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.coach-dock {
    position: fixed;
    right: 1.4rem;
    bottom: 1.35rem;
    z-index: 80;
    width: min(420px, calc(100vw - 2rem));
    display: grid;
    gap: 0.8rem;
    padding: 1rem 1rem 1.05rem;
    border-radius: 22px;
    border: 1px solid rgba(130, 159, 197, 0.18);
    background: linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(233, 241, 252, 0.96));
    box-shadow: 0 20px 52px rgba(5, 12, 22, 0.24);
    backdrop-filter: blur(16px);
}

.coach-dock.is-disabled {
    gap: 0.55rem;
}

.coach-dock-head,
.coach-dock-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.coach-dock-head-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.coach-dock-body {
    display: grid;
    gap: 0.8rem;
}

.coach-dock-head strong {
    display: block;
    margin-top: 0.08rem;
}

.coach-dock-copy,
.coach-dock-empty p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.coach-dock-form {
    display: grid;
    gap: 0.75rem;
}

.coach-dock.is-collapsed {
    gap: 0.45rem;
    padding-bottom: 0.9rem;
}

.coach-dock.is-collapsed [data-job-coach-body] {
    display: none;
}

.coach-dock-form textarea {
    min-height: 72px;
    resize: vertical;
}

.coach-dock-hints {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.coach-dock-response {
    margin-top: 0.05rem;
    max-height: min(42vh, 360px);
    overflow: auto;
}

.canvas-side-stack,
.photo-scope-card-list {
    display: grid;
    gap: 0.9rem;
}

.canvas-summary-card,
.canvas-guide-card,
.photo-scope-summary-board,
.insurance-package-panel,
.field-coach-panel,
.job-coach-panel,
.coach-dock {
    border-radius: 20px;
}

.canvas-stage-board {
    min-height: 380px;
}

.sketch-layout-wide {
    grid-template-columns: minmax(0, 1.5fr) minmax(240px, 0.9fr);
}

.canvas-side-panel {
    background: rgba(8, 16, 27, 0.8);
}

.analysis-card {
    display: grid;
    gap: 0.65rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.9);
}

.analysis-inline {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(16, 32, 51, 0.08);
}

.analysis-score-row,
.suggestion-card-actions {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.packet-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 32, 51, 0.12);
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--ink);
}

.packet-status-pill.status-ready,
.requirement-card.status-complete {
    border-color: rgba(20, 129, 70, 0.22);
    background: rgba(20, 129, 70, 0.12);
    color: #0f6a39;
}

.packet-status-pill.status-usable,
.requirement-card.status-partial {
    border-color: rgba(188, 104, 0, 0.24);
    background: rgba(255, 200, 104, 0.18);
    color: #8a5200;
}

.packet-status-pill.status-partial,
.packet-status-pill.status-weak,
.requirement-card.status-missing {
    border-color: rgba(180, 58, 58, 0.22);
    background: rgba(180, 58, 58, 0.12);
    color: #8f1f1f;
}

.analysis-tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.chip.neutral {
    border-color: rgba(12, 103, 243, 0.16);
    background: rgba(12, 103, 243, 0.08);
    color: var(--ink);
}

.analysis-gap-list {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: 0.35rem;
    color: var(--muted);
}

.analysis-gap-list li {
    line-height: 1.4;
}

.analysis-gap-list strong {
    color: var(--ink);
    margin-right: 0.3rem;
}

.photo-scope-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 249, 255, 0.9));
}

.requirement-list,
.zone-grid,
.scope-suggestion-stack {
    display: grid;
    gap: 0.7rem;
}

.requirement-list {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.requirement-card,
.zone-card,
.scope-suggestion-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.86);
}

.requirement-card span,
.zone-card span,
.zone-card em,
.scope-suggestion-card span,
.scope-suggestion-card em {
    color: var(--muted);
}

.zone-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.wet-zone-card {
    background: rgba(12, 103, 243, 0.08);
    border-color: rgba(12, 103, 243, 0.18);
}

.scope-suggestion-stack {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.compact-summary-list {
    gap: 0.55rem;
}

.assistant-response-card {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(130, 159, 197, 0.18);
    background: rgba(8, 17, 29, 0.84);
}

.assistant-response-card[data-state="loading"] {
    border-color: rgba(102, 183, 255, 0.22);
}

.assistant-response-card[data-state="error"] {
    border-color: rgba(199, 92, 92, 0.32);
}

.assistant-response-copy {
    margin: 0;
    color: var(--ink);
    line-height: 1.55;
}

.assistant-response-list {
    display: grid;
    gap: 0.45rem;
}

.assistant-response-list ol,
.assistant-response-list ul {
    margin: 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.3rem;
    color: var(--muted);
}

.warning-list strong {
    color: #ffd27c;
}

.scope-suggestion-code-row {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.compact-requirements {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.compact-zone-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.compact-stack {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.compact-metrics {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.sketch-board {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 246, 253, 0.92));
    min-height: 340px;
    padding: 0.75rem;
    overflow: hidden;
}

#sketch-canvas,
#roof-canvas,
#elevation-canvas {
    width: 100%;
    height: 320px;
    display: block;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    cursor: crosshair;
}

@media (max-width: 860px) {
    .signature-pad {
        min-height: 240px;
        height: 240px;
    }

    #sketch-canvas,
    #roof-canvas,
    #elevation-canvas {
        height: 420px;
    }
}

.sketch-gridline {
    stroke: rgba(16, 32, 51, 0.08);
    stroke-width: 0.2;
}

.sketch-polygon {
    fill: rgba(12, 103, 243, 0.18);
    stroke: var(--brand);
    stroke-width: 0.8;
}

.sketch-point {
    fill: var(--brand-deep);
}

.sketch-list,
.attachment-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.sketch-chip,
.attachment-card {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.76);
}

.attachment-card {
    grid-template-columns: 84px minmax(0, 1fr);
    align-items: start;
}

.attachment-thumb {
    display: block;
    width: 84px;
    height: 84px;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(16, 32, 51, 0.06);
}

.attachment-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.division-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.division-row div {
    display: grid;
    gap: 0.2rem;
}

.rich-line {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
}

.line-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
}

.line-metrics label {
    display: grid;
    gap: 0.25rem;
    font-size: 0.82rem;
    color: var(--muted);
}

.line-totals {
    display: grid;
    gap: 0.2rem;
    font-size: 0.9rem;
}

.line-actions {
    display: flex;
    gap: 0.65rem;
    align-items: center;
}

.catalog-topline span {
    color: var(--brand-deep);
    font-size: 0.8rem;
}

.catalog-price {
    font-weight: 800;
    color: var(--accent);
}

.math-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.line-group {
    display: grid;
    gap: 0.75rem;
}

.line-group h3 {
    padding-bottom: 0.35rem;
    border-bottom: 1px solid var(--line);
}

.line-table {
    display: grid;
    gap: 0.6rem;
}

.line-row {
    padding: 0.8rem;
    display: flex;
    gap: 0.7rem;
    align-items: center;
}

.line-title {
    min-width: 290px;
    display: grid;
    gap: 0.15rem;
}

.line-title em,
.line-title span {
    color: var(--muted);
    font-style: normal;
}

.line-row input {
    max-width: 148px;
}

.line-total {
    min-width: 110px;
    text-align: right;
    font-weight: 800;
}

.delete-row {
    margin: -0.15rem 0 0.25rem;
}

.link-button {
    border: 0;
    background: transparent;
    color: var(--danger);
    cursor: pointer;
    padding: 0 0.35rem;
}

.flash {
    padding: 0.9rem 1rem;
}

.flash.success {
    color: var(--accent);
    background: rgba(14, 124, 102, 0.12);
}

.flash.error {
    color: var(--danger);
    background: rgba(164, 49, 49, 0.1);
}

.empty-state {
    min-height: 320px;
    display: grid;
    gap: 1rem;
    place-content: center;
    text-align: center;
}

.empty-checklist {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-landing-header,
.home-launcher-panel {
    margin-top: 0;
}

.home-dashboard-panels {
    align-items: start;
}

.home-project-grid {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.home-project-pill {
    min-height: 106px;
    align-items: start;
}

.home-definition-grid article p {
    margin: 0;
}

.home-metrics article strong {
    font-size: 1.05rem;
}

.line-row.rich-line {
    display: grid;
    align-items: stretch;
}

.line-row.rich-line input {
    max-width: none;
    width: 100%;
}

@media (max-width: 1380px) {
    .intro-strip,
    .workflow-grid,
    .checklist-grid,
    .definition-grid,
    .playbook-grid,
    .math-grid,
    .totals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workspace-suite-header {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .shell,
    .grid-two,
    .intro-strip,
    .workflow-grid,
    .checklist-grid,
    .definition-grid,
    .playbook-grid,
    .math-grid,
    .totals-grid {
        grid-template-columns: 1fr;
    }

    .workspace {
        padding: 0 1rem 2rem;
    }

    .shell.has-project .project-list {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        overflow-x: visible;
    }

    .header-hero {
        grid-template-columns: 1fr;
    }

    .shell.has-project .workspace-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .sidebar {
        margin-bottom: 0;
    }

    .workspace-header,
    .split {
        flex-direction: column;
        align-items: stretch;
    }

    .header-hero {
        grid-template-columns: 1fr;
    }

    .line-metrics {
        grid-template-columns: 1fr;
    }

    .attachment-card {
        grid-template-columns: 1fr;
    }

    .line-title,
    .line-row input,
    .line-total,
    .line-totals,
    .line-actions {
        min-width: 0;
        width: 100%;
        text-align: left;
    }

    .app-home-grid,
    .pipeline-stage-grid,
    .workspace-tabs,
    .shell.has-project .workspace-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-chip-grid {
        grid-template-columns: 1fr 1fr;
    }

    .workspace-tool-tile-grid,
    .workspace-suite-metric-grid {
        grid-template-columns: 1fr;
    }

    .workspace-tool-tile {
        min-height: 132px;
    }
}

.action-strip {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.shell.has-project .action-strip {
    padding: 0.55rem;
    border-radius: 22px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 253, 0.82);
    box-shadow: var(--shadow);
}

.fixture-selector-toolbar {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.fixture-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.fixture-package-card {
    display: grid;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.84);
}

.fixture-package-card span,
.fixture-package-card em {
    color: var(--muted);
    font-style: normal;
    line-height: 1.45;
}

.fixture-package-card em {
    font-size: 0.84rem;
}

.fixture-package-card.is-disabled {
    opacity: 0.7;
}

.field-measure-assist {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 253, 0.92);
}

.measure-results article {
    min-height: 88px;
}

.action.secondary.is-active,
.action.secondary.mini.is-active {
    background: rgba(12, 103, 243, 0.12);
    border-color: rgba(12, 103, 243, 0.3);
    color: var(--brand-deep);
}

.sketch-layout,
.markup-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 1rem;
    align-items: start;
}

.sketch-toolset {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.opening-panel {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 253, 0.92);
}

.opening-list {
    display: grid;
    gap: 0.65rem;
}

.opening-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: #fff;
}

.opening-row.detailed {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, auto) auto;
}

.opening-row-main {
    display: grid;
    gap: 0.15rem;
}

.opening-row-fields {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.opening-row-fields label {
    display: grid;
    gap: 0.2rem;
    font-size: 0.8rem;
    color: var(--muted);
}

.opening-row-fields input {
    width: 92px;
}

.opening-row div {
    display: grid;
    gap: 0.15rem;
}

.opening-row span {
    font-size: 0.84rem;
    color: var(--muted);
}

.opening-point {
    stroke: #fff;
    stroke-width: 0.4;
    fill-opacity: 0.9;
}

.opening-door {
    fill: #0c67f3;
}

.opening-window {
    fill: #0ea266;
}

.opening-opening {
    fill: #ff8a1f;
}

.opening-label {
    font-size: 4px;
    fill: #102033;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, 0.82);
    stroke-width: 0.6px;
}

.attachment-thumb.placeholder {
    display: grid;
    place-items: center;
    color: var(--muted);
    font-size: 0.82rem;
    text-transform: capitalize;
}

.attachment-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.45rem;
}

.link-button.neutral {
    color: var(--brand-deep);
}

.aux-shell {
    background: linear-gradient(180deg, #eef3fb 0%, #f7f9fc 100%);
    min-height: 100vh;
}

.aux-page {
    width: min(1200px, calc(100vw - 2rem));
    margin: 0 auto;
    padding: 1.25rem 0 2rem;
}

.markup-header,
.mobile-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    flex-wrap: wrap;
}

.markup-stage {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: #09111c;
    min-height: 320px;
}

.markup-stage img {
    display: block;
    width: 100%;
    height: auto;
}

#markup-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.markup-toolbar {
    margin-bottom: 1rem;
}

.markup-rect {
    stroke-width: 0.8;
    rx: 1.2;
    ry: 1.2;
}

.markup-line {
    stroke-width: 0.9;
    stroke-linecap: round;
}

.mobile-page {
    width: min(980px, calc(100vw - 1.25rem));
}

.mobile-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.mobile-stats article {
    display: grid;
    gap: 0.2rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.84);
}

.mobile-stats span {
    color: var(--muted);
    font-size: 0.82rem;
}

.mobile-stats strong {
    font-size: 1.3rem;
}

.mobile-grid {
    margin-bottom: 1rem;
}

.field-page-shell {
    width: min(1180px, calc(100vw - 1rem));
    padding-bottom: 12.5rem;
}

.field-topbar {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.field-topbar-actions,
.field-capture-shortcuts,
.field-action-grid {
    display: grid;
    gap: 0.75rem;
}

.field-topbar-actions {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.advanced-field-link {
    display: grid;
    gap: 0.5rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
}

.advanced-field-link summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--ink);
}

.field-command-ribbon {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(232, 242, 255, 0.92)),
        radial-gradient(circle at top right, rgba(12, 103, 243, 0.16), transparent 30%);
}

.field-checklist-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.field-checklist-head h2 {
    margin: 0.25rem 0;
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    letter-spacing: -0.04em;
}

.field-checklist-head p {
    margin: 0;
    color: var(--muted);
    max-width: 760px;
}

.field-progress-score {
    min-width: 150px;
    display: grid;
    justify-items: end;
    gap: 0.2rem;
}

.field-progress-score strong {
    font-size: 2rem;
    line-height: 1;
    color: var(--brand-deep);
}

.field-progress-score span {
    color: var(--muted);
    font-weight: 800;
}

.field-progress-meter {
    overflow: hidden;
    height: 18px;
    border-radius: 999px;
    background: rgba(16, 32, 51, 0.1);
    border: 1px solid rgba(16, 32, 51, 0.12);
}

.field-progress-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0e7c66, #28c895, #66b7ff);
    box-shadow: 0 0 24px rgba(40, 200, 149, 0.38);
}

.field-check-step-grid,
.field-review-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.field-check-step,
.field-review-grid article {
    display: grid;
    gap: 0.4rem;
    min-height: 128px;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid rgba(16, 32, 51, 0.12);
    background: rgba(255, 255, 255, 0.86);
    color: var(--ink);
    text-decoration: none;
}

.field-check-step span {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(16, 32, 51, 0.08);
    color: var(--ink);
    font-weight: 900;
}

.field-check-step strong,
.field-review-grid strong {
    color: var(--ink);
}

.field-check-step small,
.field-review-grid span {
    color: var(--muted);
}

.field-check-step.is-done,
.field-review-grid article.is-ready {
    border-color: rgba(14, 124, 102, 0.32);
    background: linear-gradient(180deg, rgba(235, 255, 247, 0.96), rgba(255, 255, 255, 0.88));
}

.field-check-step.is-done span {
    background: #0e7c66;
    color: #fff;
}

.field-check-step.is-needed,
.field-review-grid article.is-needed {
    border-color: rgba(204, 122, 0, 0.32);
    background: linear-gradient(180deg, rgba(255, 248, 231, 0.98), rgba(255, 255, 255, 0.9));
}

.field-check-step.is-optional,
.field-review-grid article.is-optional {
    border-style: dashed;
    background: rgba(248, 250, 253, 0.82);
}

.field-checklist-missing {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    background: rgba(16, 32, 51, 0.06);
    color: var(--ink);
    font-weight: 700;
}

.field-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.field-summary-card,
.field-next-steps-card {
    min-height: 100%;
}

.field-summary-grid,
.field-action-grid,
.field-bridge-grid {
    display: grid;
    gap: 0.75rem;
}

.field-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.field-summary-grid article,
.field-action-card {
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.78);
    padding: 1rem;
}

.field-summary-grid span,
.field-summary-notes p,
.field-action-card small {
    color: var(--muted);
}

.field-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-action-card {
    display: grid;
    gap: 0.45rem;
    text-decoration: none;
    color: inherit;
}

.field-action-card .app-tile-icon {
    width: 54px;
    height: 54px;
}

.field-section-grid {
    margin-bottom: 1rem;
}

.field-step-panel {
    position: relative;
    overflow: hidden;
}

.field-step-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, var(--accent), var(--brand));
}

.field-upload-queue-card {
    border-color: rgba(102, 183, 255, 0.32);
}

.field-packet-review {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.field-submit-form {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.field-capture-form input[type="file"] {
    padding: 0.95rem;
    border-style: dashed;
}

.field-capture-shortcuts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-room-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.field-signature-card .signature-pad-mobile {
    min-height: 280px;
    height: 280px;
}

.compact-list .attachment-card.compact-card {
    grid-template-columns: 1fr;
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 980px) {
    .tool-shell-grid,
    .analysis-shell-grid,
    .canvas-workstation,
    .photo-scope-board,
    .sketch-stage-shell,
    .shell,
    .field-grid.two-up,
    .field-grid.three-up,
    .field-grid.four-up,
    .sketch-layout,
    .markup-layout,
    .mobile-stats,
    .mobile-summary-grid,
    .empty-checklist,
    .workspace-suite-metric-grid,
    .field-summary-grid,
    .field-topbar-actions,
    .field-capture-shortcuts,
    .tool-metric-grid,
    .capture-guide-grid {
        grid-template-columns: 1fr;
    }

    .opening-row.detailed {
        grid-template-columns: 1fr;
    }

    .totals-grid,
    .intro-strip,
    .intro-four,
    .workflow-grid,
    .measure-command-grid,
    .checklist-grid,
    .definition-grid,
    .playbook-grid,
    .grid-two,
    .math-grid,
    .field-hero-grid,
    .field-action-grid,
    .field-checklist-head,
    .field-bridge-grid {
        grid-template-columns: 1fr;
    }

    .field-checklist-head {
        display: grid;
    }

    .field-progress-score {
        justify-items: start;
    }

    .workspace {
        padding: 1rem;
    }

    .sidebar {
        margin: 1rem 1rem 0;
    }

    .workspace-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        top: 0.5rem;
    }

    .workspace-tool-tile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fixture-package-grid {
        grid-template-columns: 1fr;
    }

    body.scopeforge-field .field-coach-panel {
        display: none;
    }

    .coach-dock,
    .coach-dock-mobile {
        right: 0.75rem;
        left: 0.75rem;
        bottom: 0.75rem;
        width: auto;
        border-radius: 20px;
    }

    .coach-dock-response {
        max-height: min(34vh, 260px);
    }
}

@media (max-width: 720px) {
    .workspace-tool-tile-grid {
        grid-template-columns: 1fr;
    }
}

body.scopeforge-desktop .room-choice-note {
    margin: 0;
    color: #dce9f8;
}

body.scopeforge-desktop .guard-copy,
body.scopeforge-field .guard-copy {
    margin: 0;
    color: #d7e8fb;
    font-weight: 600;
}

body.scopeforge-desktop .math-grid article,
body.scopeforge-desktop .workflow-step,
body.scopeforge-desktop .check-row,
body.scopeforge-desktop .definition-grid article,
body.scopeforge-desktop .signature-card,
body.scopeforge-desktop .signature-summary,
body.scopeforge-desktop .tool-console,
body.scopeforge-desktop .tool-status-band,
body.scopeforge-desktop .tool-metric-grid article,
body.scopeforge-desktop .capture-guide,
body.scopeforge-desktop .capture-preview,
body.scopeforge-desktop .capture-guide-grid article,
body.scopeforge-desktop .capture-preview-card,
body.scopeforge-desktop .analysis-card,
body.scopeforge-desktop .room-roster-card,
body.scopeforge-desktop .metric-pill,
body.scopeforge-desktop .opening-panel,
body.scopeforge-desktop .fixture-package-card,
body.scopeforge-desktop .followup-card,
body.scopeforge-desktop .quote-card,
body.scopeforge-desktop .room-chip,
body.scopeforge-desktop .canvas-summary-card,
body.scopeforge-desktop .canvas-guide-card,
body.scopeforge-desktop .requirement-card,
body.scopeforge-desktop .zone-card,
body.scopeforge-desktop .scope-suggestion-card,
body.scopeforge-desktop .mobile-summary-grid article,
body.scopeforge-desktop .empty-checklist article,
body.scopeforge-desktop .advanced-fields,
body.scopeforge-desktop .lidar-hero,
body.scopeforge-desktop .capture-bridge,
body.scopeforge-desktop .scan-chip,
body.scopeforge-desktop .attachment-card {
    background: linear-gradient(180deg, rgba(22, 35, 56, 0.99), rgba(9, 18, 32, 0.97)) !important;
    border-color: rgba(138, 170, 211, 0.26) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025), 0 16px 32px rgba(2, 8, 18, 0.24) !important;
}

body.scopeforge-desktop .signature-pad,
body.scopeforge-desktop .signature-pad-mobile {
    background: rgba(245, 248, 252, 0.98);
}

body.scopeforge-desktop .math-grid article span,
body.scopeforge-desktop .workflow-step span,
body.scopeforge-desktop .check-row span,
body.scopeforge-desktop .definition-grid span,
body.scopeforge-desktop .signature-summary span,
body.scopeforge-desktop .signature-summary em,
body.scopeforge-desktop .tool-metric-grid span,
body.scopeforge-desktop .capture-guide-grid span,
body.scopeforge-desktop .capture-preview-head span,
body.scopeforge-desktop .capture-preview-card span,
body.scopeforge-desktop .capture-preview-card em,
body.scopeforge-desktop .analysis-card span,
body.scopeforge-desktop .analysis-card em,
body.scopeforge-desktop .room-roster-card span,
body.scopeforge-desktop .metric-pill span,
body.scopeforge-desktop .opening-panel p,
body.scopeforge-desktop .fixture-package-card span,
body.scopeforge-desktop .fixture-package-card em,
body.scopeforge-desktop .followup-card span,
body.scopeforge-desktop .followup-card em,
body.scopeforge-desktop .quote-card span,
body.scopeforge-desktop .quote-card em,
body.scopeforge-desktop .room-chip span,
body.scopeforge-desktop .room-chip em,
body.scopeforge-desktop .requirement-card span,
body.scopeforge-desktop .zone-card span,
body.scopeforge-desktop .zone-card em,
body.scopeforge-desktop .scope-suggestion-card span,
body.scopeforge-desktop .scope-suggestion-card em,
body.scopeforge-desktop .empty-checklist span,
body.scopeforge-desktop .capture-bridge .field-help,
body.scopeforge-desktop .lidar-hero p,
body.scopeforge-desktop .scan-chip span,
body.scopeforge-desktop .scan-chip em,
body.scopeforge-desktop .attachment-card span,
body.scopeforge-desktop .attachment-card em,
body.scopeforge-desktop .field-help,
body.scopeforge-desktop .muted {
    color: #d7e6f7 !important;
}

body.scopeforge-desktop .math-grid article strong,
body.scopeforge-desktop .workflow-step strong,
body.scopeforge-desktop .check-row strong,
body.scopeforge-desktop .definition-grid strong,
body.scopeforge-desktop .signature-summary strong,
body.scopeforge-desktop .tool-metric-grid strong,
body.scopeforge-desktop .capture-guide-grid article strong,
body.scopeforge-desktop .analysis-card strong,
body.scopeforge-desktop .room-roster-card strong,
body.scopeforge-desktop .metric-pill strong,
body.scopeforge-desktop .opening-panel h3,
body.scopeforge-desktop .fixture-package-card strong,
body.scopeforge-desktop .followup-card strong,
body.scopeforge-desktop .quote-card strong,
body.scopeforge-desktop .room-chip strong,
body.scopeforge-desktop .requirement-card strong,
body.scopeforge-desktop .zone-card strong,
body.scopeforge-desktop .scope-suggestion-card strong,
body.scopeforge-desktop .lidar-hero strong,
body.scopeforge-desktop .capture-preview-head strong,
body.scopeforge-desktop .attachment-card strong {
    color: #f7fbff !important;
}

body.scopeforge-desktop .workspace-suite-metric,
body.scopeforge-desktop .division-row,
body.scopeforge-desktop .tool-pane,
body.scopeforge-desktop .tool-pane-accent,
body.scopeforge-desktop .sketch-hint-card,
body.scopeforge-desktop .signature-card,
body.scopeforge-desktop .signature-summary,
body.scopeforge-desktop .analysis-shell-grid .tool-pane,
body.scopeforge-desktop .analysis-shell-grid .tool-pane-accent {
    background: linear-gradient(180deg, rgba(22, 35, 56, 0.99), rgba(9, 18, 32, 0.97)) !important;
    border-color: rgba(138, 170, 211, 0.26) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025), 0 16px 32px rgba(2, 8, 18, 0.24) !important;
}

body.scopeforge-desktop .workspace-suite-metric span,
body.scopeforge-desktop .division-row span,
body.scopeforge-desktop .tool-pane p,
body.scopeforge-desktop .tool-pane span,
body.scopeforge-desktop .tool-pane em,
body.scopeforge-desktop .tool-pane small,
body.scopeforge-desktop .tool-pane-accent p,
body.scopeforge-desktop .tool-pane-accent span,
body.scopeforge-desktop .tool-pane-accent em,
body.scopeforge-desktop .tool-pane-accent small,
body.scopeforge-desktop .sketch-hint-card span,
body.scopeforge-desktop .signature-card p,
body.scopeforge-desktop .signature-card span,
body.scopeforge-desktop .signature-summary span,
body.scopeforge-desktop .signature-summary em {
    color: #d7e6f7 !important;
}

body.scopeforge-desktop .workspace-suite-metric strong,
body.scopeforge-desktop .division-row strong,
body.scopeforge-desktop .tool-pane strong,
body.scopeforge-desktop .tool-pane-accent strong,
body.scopeforge-desktop .sketch-hint-card strong,
body.scopeforge-desktop .signature-card strong,
body.scopeforge-desktop .signature-summary strong {
    color: #f7fbff !important;
}

body.scopeforge-desktop .action[disabled],
body.scopeforge-desktop .action:disabled,
body.scopeforge-desktop .action[aria-disabled="true"],
body.scopeforge-desktop .link-button[disabled],
body.scopeforge-desktop .link-button[aria-disabled="true"] {
    background: linear-gradient(180deg, rgba(39, 55, 78, 0.98), rgba(18, 28, 44, 0.96)) !important;
    color: #d7e6f7 !important;
    border-color: rgba(138, 170, 211, 0.2) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 12px 24px rgba(2, 8, 18, 0.22) !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

body.scopeforge-desktop input:disabled,
body.scopeforge-desktop select:disabled,
body.scopeforge-desktop textarea:disabled,
body.scopeforge-desktop input[aria-disabled="true"],
body.scopeforge-desktop select[aria-disabled="true"],
body.scopeforge-desktop textarea[aria-disabled="true"] {
    background: linear-gradient(180deg, rgba(21, 33, 51, 0.98), rgba(10, 19, 34, 0.96)) !important;
    color: #dce9f8 !important;
    border-color: rgba(138, 170, 211, 0.22) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #dce9f8;
}

body.scopeforge-desktop input::placeholder,
body.scopeforge-desktop textarea::placeholder {
    color: rgba(214, 227, 244, 0.76) !important;
}

body.scopeforge-desktop .panel .math-grid article,
body.scopeforge-desktop .panel .compact-metrics > *,
body.scopeforge-desktop .panel .compact-summary-list > *,
body.scopeforge-desktop .panel .field-summary-grid article,
body.scopeforge-desktop .panel .workflow-grid article,
body.scopeforge-desktop .panel .definition-grid article,
body.scopeforge-desktop .panel .empty-checklist article,
body.scopeforge-desktop .panel .capture-guide-grid article,
body.scopeforge-desktop .panel .tool-metric-grid article,
body.scopeforge-desktop .panel .mobile-summary-grid article,
body.scopeforge-desktop .panel .line-metrics label,
body.scopeforge-desktop .panel .signature-card-top,
body.scopeforge-desktop .panel .tool-pane-header,
body.scopeforge-desktop .panel .panel-topline .badge,
body.scopeforge-desktop .panel .panel-topline .count,
body.scopeforge-desktop .panel .section-divider .badge {
    background: linear-gradient(180deg, rgba(26, 39, 61, 0.99), rgba(11, 20, 35, 0.97)) !important;
    border-color: rgba(146, 177, 217, 0.28) !important;
    color: #f3f8ff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 14px 28px rgba(2, 8, 18, 0.22) !important;
}

body.scopeforge-desktop .panel .math-grid article span,
body.scopeforge-desktop .panel .compact-metrics > * span,
body.scopeforge-desktop .panel .compact-summary-list > * span,
body.scopeforge-desktop .panel .field-summary-grid article span,
body.scopeforge-desktop .panel .workflow-grid article span,
body.scopeforge-desktop .panel .definition-grid article span,
body.scopeforge-desktop .panel .empty-checklist article span,
body.scopeforge-desktop .panel .capture-guide-grid article span,
body.scopeforge-desktop .panel .tool-metric-grid article span,
body.scopeforge-desktop .panel .mobile-summary-grid article span,
body.scopeforge-desktop .panel .line-metrics label,
body.scopeforge-desktop .panel .tool-pane-header p,
body.scopeforge-desktop .panel .tool-pane-header small,
body.scopeforge-desktop .panel .section-divider .eyebrow,
body.scopeforge-desktop .panel .section-divider p,
body.scopeforge-desktop .panel .section-divider small {
    color: #d8e7f8 !important;
}

body.scopeforge-desktop .panel .math-grid article strong,
body.scopeforge-desktop .panel .compact-metrics > * strong,
body.scopeforge-desktop .panel .compact-summary-list > * strong,
body.scopeforge-desktop .panel .field-summary-grid article strong,
body.scopeforge-desktop .panel .workflow-grid article strong,
body.scopeforge-desktop .panel .definition-grid article strong,
body.scopeforge-desktop .panel .empty-checklist article strong,
body.scopeforge-desktop .panel .capture-guide-grid article strong,
body.scopeforge-desktop .panel .tool-metric-grid article strong,
body.scopeforge-desktop .panel .mobile-summary-grid article strong,
body.scopeforge-desktop .panel .tool-pane-header strong,
body.scopeforge-desktop .panel .section-divider strong {
    color: #fbfdff !important;
}

body.scopeforge-desktop .panel .field-help,
body.scopeforge-desktop .panel .muted,
body.scopeforge-desktop .panel p.muted,
body.scopeforge-desktop .panel em.muted {
    color: #d4e4f7 !important;
}

/* === Field UI fixes 2026-05-02 === */
/* Shrink the giant logo header on field pages so screen real estate goes to actual work */
body.scopeforge-field .estimator-logo-shell {
    width: 36px !important;
    height: 36px !important;
    flex-shrink: 0;
}
body.scopeforge-field .estimator-logo {
    max-width: 36px !important;
    max-height: 36px !important;
}
body.scopeforge-field .estimator-logo-fallback {
    font-size: 11px !important;
    width: 36px;
    height: 36px;
    line-height: 36px;
}
body.scopeforge-field .field-topbar {
    padding: 12px 16px !important;
    gap: 12px !important;
}
body.scopeforge-field .estimator-title-block .eyebrow { font-size: 10px !important; }
body.scopeforge-field .estimator-title-block h1 { font-size: 18px !important; margin: 0 !important; }
body.scopeforge-field .estimator-title-block p { font-size: 12px !important; margin: 2px 0 0 !important; }

/* Coach dock should default narrower when collapsed and not block content */
.coach-dock.is-collapsed {
    max-width: 220px !important;
}
.coach-dock {
    max-width: 360px !important;
}

/* Step 1 needs an obvious what to do next affordance — emphasize is-needed step */
.field-check-step.is-needed {
    box-shadow: 0 0 0 2px rgba(204, 122, 0, 0.45) !important;
}
.field-check-step.is-needed::after {
    content: 'Tap below to add your first room \2192';
    display: block;
    margin-top: 8px;
    font-size: 11px;
    color: #b06400;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* === Field UI fixes part 2 === */
/* Topbar actions: prevent cut-off at narrower widths (<1300px when sidebar takes 240) */
body.scopeforge-field .field-topbar-actions {
    flex-wrap: wrap !important;
    max-width: 320px !important;
    gap: 6px !important;
    align-items: flex-end !important;
}
body.scopeforge-field .field-topbar-actions .action {
    font-size: 12px !important;
    padding: 6px 10px !important;
    white-space: nowrap;
}
body.scopeforge-field .field-topbar-actions .action.secondary {
    border-radius: 999px;
}
@media (max-width: 1100px) {
    body.scopeforge-field .field-topbar-actions {
        max-width: 240px !important;
    }
    body.scopeforge-field .field-topbar-actions .action {
        font-size: 11px !important;
    }
}

/* Field Summary panel: dedupe — checklist already shows the same counts */
body.scopeforge-field .field-summary-card .field-summary-grid {
    display: none !important;
}
body.scopeforge-field .field-summary-card::before {
    content: 'See progress in the checklist above';
    display: block;
    font-size: 11px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    padding: 8px 0;
    opacity: 0.7;
}

/* The 'Still needed' banner under the checklist needs higher contrast */
body.scopeforge-field .field-checklist-missing {
    background: rgba(204, 122, 0, 0.15) !important;
    color: #6b3e00 !important;
    border: 1px solid rgba(204, 122, 0, 0.4);
}
