:root{--bg:#f4f1eb;--surface:#fffdf8;--surface-strong:#ffffff;--ink:#17201d;--muted:#65716d;--line:#ded8cd;--teal:#0b7a75;--coral:#cf5b3f;--olive:#6e7d36;--gold:#b7791f;--danger:#a33232;--shadow:0 24px 70px rgba(28,35,31,0.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,rgba(11,122,117,.08),transparent 34%),linear-gradient(225deg,rgba(207,91,63,.08),transparent 30%),var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-nav{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:60px;margin-bottom:18px;padding:10px 14px;border:1px solid var(--line);background:rgba(255,253,248,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px}.app-nav__brand{color:var(--teal);font-weight:900}.app-nav__links{display:flex;gap:8px}.app-nav__links a{min-height:38px;padding:10px 12px;color:var(--muted);border-radius:8px;font-weight:800}.app-nav__links a:hover{background:#eef4f0;color:var(--teal)}.mobile-tabbar{display:none}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.role-app{width:min(960px,100%);margin:0 auto;padding:18px}.role-hero{padding:26px;border:1px solid rgba(23,32,29,.12);background:var(--surface);border-radius:8px;box-shadow:0 18px 44px rgba(28,35,31,.08)}.role-hero h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.role-hero p:not(.eyebrow){max-width:680px;margin:14px 0 0;color:var(--muted);line-height:1.55}.mobile-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(118px,1fr);grid-gap:8px;gap:8px;margin:14px 0;padding:8px;overflow-x:auto;border:1px solid var(--line);background:rgba(244,241,235,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px}.mobile-tabs button{min-height:42px;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;font-weight:900;white-space:nowrap}.mobile-tabs__active{border-color:rgba(11,122,117,.22)!important;background:#fff!important;color:var(--teal)!important;box-shadow:0 8px 22px rgba(28,35,31,.08)}.friendly-form,.friendly-section{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);background:rgba(255,253,248,.92);border-radius:8px}.friendly-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.9rem;font-weight:800}.friendly-form input,.friendly-form select,.friendly-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px}.friendly-form textarea{resize:vertical}.action-card button,.friendly-form button{min-height:44px;border:0;background:var(--teal);color:#fff;border-radius:8px;cursor:pointer;font-weight:900}.friendly-form button:disabled{background:#aab5b1;cursor:not-allowed}.plain-checklist{display:grid;grid-gap:8px;gap:8px;padding:12px;background:#eef4f0;border-radius:8px}.plain-checklist span{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.9rem;font-weight:700}.plain-checklist svg{flex:0 0 auto;color:var(--teal)}.action-card,.mini-job-card,.status-card{padding:14px;border:1px solid var(--line);background:#fff;border-radius:8px}.status-card{display:grid;grid-gap:4px;gap:4px}.status-card strong{color:var(--ink);font-size:1.12rem}.mini-job-card small,.mini-job-card span,.status-card span{color:var(--muted)}.status-card--good{border-color:rgba(11,122,117,.24);background:#eef4f0}.status-card--warn{border-color:rgba(207,91,63,.26);background:#fff3ea}.mini-job-card{display:grid;grid-gap:8px;gap:8px}.mini-job-card div{display:flex;justify-content:space-between;gap:12px}.mini-job-card p{margin:0;color:var(--ink);font-weight:900}.mini-job-card small{line-height:1.45}.action-card{display:grid;grid-gap:12px;gap:12px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.44fr);grid-gap:24px;gap:24px;align-items:stretch;min-height:320px;padding:36px;border:1px solid rgba(23,32,29,.12);background:linear-gradient(120deg,rgba(23,32,29,.88),rgba(23,32,29,.68)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='560' viewBox='0 0 1200 560'%3E%3Crect width='1200' height='560' fill='%23d7d1c5'/%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.42' stroke-width='3'%3E%3Cpath d='M90 100h280v130H90zM420 100h300v130H420zM770 100h330v130H770zM90 290h240v150H90zM380 290h360v150H380zM790 290h310v150H790z'/%3E%3Cpath d='M180 230v60M560 230v60M930 230v60M330 365h50M740 365h50'/%3E%3C/g%3E%3Cg fill='%230b7a75' fill-opacity='.22'%3E%3Ccircle cx='180' cy='165' r='42'/%3E%3Ccircle cx='565' cy='365' r='52'/%3E%3Ccircle cx='945' cy='165' r='46'/%3E%3C/g%3E%3Cg fill='%23cf5b3f' fill-opacity='.22'%3E%3Crect x='145' y='330' width='90' height='54'/%3E%3Crect x='510' y='138' width='110' height='56'/%3E%3Crect x='885' y='335' width='120' height='58'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;background-position:50%;border-radius:8px;box-shadow:var(--shadow);color:#fff}.hero__content{display:flex;flex-direction:column;justify-content:flex-end;max-width:760px}.hero h1{max-width:780px;margin:0;font-size:clamp(2.4rem,6vw,5.4rem);line-height:.96;letter-spacing:0}.hero p:not(.eyebrow){max-width:620px;margin:18px 0 0;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.6}.hero__metrics{align-self:flex-end;display:grid;grid-gap:12px;gap:12px}.hero__metrics div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px}.hero__metrics strong{font-size:2rem}.hero__metrics span{color:rgba(255,255,255,.78);text-align:right}.eyebrow{margin:0 0 8px;color:currentColor;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.flow-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;padding:16px 0;background:rgba(244,241,235,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flow-tab{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:12px 16px;border:1px solid var(--line);border-left:6px solid var(--tab-accent);background:var(--surface);border-radius:8px;font-weight:700}.flow-tab small{color:var(--muted);font-weight:600}.workspace-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.side-column,.workflow-column,.workspace-grid{display:grid;grid-gap:24px;gap:24px}.side-column{position:-webkit-sticky;position:sticky;top:92px}.actors-panel,.communications-panel,.flow-section,.flow-validation,.intake-panel,.job-queue,.selected-job{border:1px solid var(--line);background:rgba(255,253,248,.86);border-radius:8px}.flow-section{padding:22px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.panel-heading h2,.section-heading h2{margin:0;font-size:1.45rem}.section-heading>p{max-width:360px;margin:0;color:var(--muted);line-height:1.5;text-align:right}.timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.step-card{display:grid;min-height:286px;padding:16px;border:1px solid var(--line);border-top:5px solid var(--step-accent);background:var(--surface-strong);border-radius:8px}.step-card__footer,.step-card__top{display:flex;justify-content:space-between;gap:12px;align-items:center}.step-number{color:var(--step-accent);font-size:.88rem;font-weight:800}.step-owner{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:.82rem;font-weight:700}.actor-chip span,.step-owner span{display:grid;place-items:center;width:32px;height:32px;background:#eef4f0;color:var(--teal);border-radius:50%;font-size:.72rem;font-weight:800}.step-card__body h3{margin:18px 0 8px;font-size:1.08rem}.actor-chip small,.comms-list,.decision-box,.step-card__body p{color:var(--muted);line-height:1.45}.step-card__body p{margin:0}.decision-box{display:grid;grid-gap:9px;gap:9px;align-self:flex-end;margin:16px 0;padding:12px;background:#f7f4ee;border-radius:8px;font-size:.87rem}.decision-box strong{color:var(--ink)}.decision-box div{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:8px;gap:8px}.decision-box span{color:var(--olive);font-weight:800}.status-pill{display:inline-flex;gap:7px;align-items:center;width:-moz-fit-content;width:fit-content;min-height:32px;padding:6px 10px;border:1px solid rgba(23,32,29,.12);background:#fff;border-radius:999px;font-size:.82rem;font-weight:800}.step-card--active .status-pill{color:var(--teal)}.step-card--blocked .status-pill{color:var(--danger)}.step-card--waiting .status-pill{color:var(--gold)}.step-card--done .status-pill{color:var(--olive)}.actors-panel,.communications-panel,.flow-validation,.intake-panel,.job-queue,.selected-job{padding:18px}.panel-heading{display:flex;gap:12px;align-items:center;margin-bottom:16px}.panel-heading svg{color:var(--teal)}.request-form{display:grid;grid-gap:12px;gap:12px}.portal-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px;padding:4px;background:#f7f4ee;border:1px solid var(--line);border-radius:8px}.portal-switch button{min-height:38px;border:0;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;font-weight:800}.portal-switch__button--active{background:#fff!important;color:var(--teal)!important;box-shadow:0 6px 20px rgba(28,35,31,.08)}.flow-hint,.validation-panel{display:grid;grid-gap:6px;gap:6px;padding:12px;background:#eef4f0;color:var(--teal);border-radius:8px;font-size:.88rem;line-height:1.4}.flow-hint span,.validation-panel span{color:var(--muted)}.validation-panel--warn{background:#fff3ea;color:var(--coral)}.form-row{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:10px;gap:10px}.request-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.85rem;font-weight:700}.request-form input,.request-form select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px}.request-form button{min-height:44px;border:0;background:var(--teal);color:#fff;border-radius:8px;cursor:pointer;font-weight:800}.request-form button:hover{background:#086762}.request-form button:disabled{background:#aab5b1;cursor:not-allowed}.approval-banner,.estimate-preview{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;background:#eef4f0;color:var(--teal);border-radius:8px;font-size:.9rem}.approval-banner span,.estimate-preview span,.form-success{color:var(--muted)}.form-success{margin:0;font-size:.85rem;line-height:1.4}.job-list{display:grid;grid-gap:10px;gap:10px}.job-list__item{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;min-height:66px;padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;cursor:pointer;text-align:left}.job-list__item--active,.job-list__item:hover{border-color:rgba(11,122,117,.5);background:#eef4f0}.job-list__item span{display:grid;grid-gap:4px;gap:4px;min-width:0;color:var(--muted);font-size:.85rem}.job-list__item strong{color:var(--ink)}.job-list__item small{flex:0 0 auto;padding:5px 8px;background:#f7f4ee;color:var(--muted);border-radius:999px;font-weight:800}.job-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0 0 14px}.job-details div{display:grid;grid-gap:4px;gap:4px;min-height:60px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.job-details dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.job-details dd{margin:0;color:var(--ink);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.approval-banner{display:grid;align-items:start;color:var(--teal)}.approval-banner--warn{background:#fff3ea;color:var(--coral)}.gate-list{display:grid;grid-gap:8px;gap:8px;margin:0 0 12px;padding:0;list-style:none}.gate-list li{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;min-height:38px;padding:9px 10px;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;font-size:.88rem;font-weight:700}.gate-list span{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}.gate-list__item--done{color:var(--ink)!important;background:#eef4f0!important;border-color:rgba(11,122,117,.22)!important}.gate-list__item--done span{color:var(--teal)}.comms-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:20px}.comms-list li{padding-left:4px}.comms-list li small,.comms-list li span{display:block}.comms-list li small{margin-top:2px;color:var(--teal);font-weight:800}.actors-panel{margin-top:24px}.section-heading--compact{margin-bottom:16px}.actors-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.coverage-item{display:flex;gap:10px;align-items:flex-start;min-height:56px;padding:12px;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;line-height:1.4;font-size:.9rem;font-weight:700}.coverage-item svg{flex:0 0 auto;color:var(--teal);margin-top:1px}.actor-chip{display:flex;gap:12px;min-height:92px;align-items:center;padding:14px;border:1px solid var(--line);background:#fff;border-radius:8px}.actor-chip div{display:grid;grid-gap:4px;gap:4px}.actor-chip strong{font-size:.96rem}@media (max-width:1100px){.hero,.workspace-grid{grid-template-columns:1fr}.hero{min-height:auto}.side-column{position:static}.actors-grid,.side-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){body{padding-bottom:72px}.app-shell,.role-app{padding:12px}.app-nav{justify-content:center;min-height:52px;margin-bottom:12px}.app-nav__links{display:none}.mobile-tabbar{position:fixed;right:10px;bottom:10px;left:10px;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;padding:8px;border:1px solid rgba(23,32,29,.14);background:rgba(255,253,248,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px;box-shadow:0 18px 44px rgba(28,35,31,.16)}.mobile-tabbar a{display:grid;place-items:center;min-height:42px;color:var(--muted);border-radius:8px;font-size:.84rem;font-weight:900}.mobile-tabbar a:hover{background:#eef4f0;color:var(--teal)}.hero{padding:24px}.hero h1{font-size:2.5rem;line-height:1}.flow-tab,.hero__metrics div,.section-heading{align-items:flex-start}.actors-grid,.coverage-grid,.flow-tabs,.form-row,.job-details,.side-column,.timeline{grid-template-columns:1fr}.flow-tabs{position:static}.flow-tab{min-height:54px}.section-heading{display:grid}.section-heading>p{max-width:none;text-align:left}.flow-section{padding:14px}.step-card{min-height:auto}.friendly-form,.friendly-section,.role-hero{padding:14px}.mini-job-card div{display:grid}}