@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_a4bae9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_a4bae9{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3d9088{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3d9088{--font-body:"Instrument Sans","Instrument Sans Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d7bf65{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_d7bf65{--font-mono:"Geist Mono","Geist Mono Fallback"}:root{--bg:#fcfcfd;--bg-muted:#f5f5f7;--bg-dark:#10141d;--ink:#0a0a0c;--ink-2:#33333b;--ink-3:#62626e;--ink-4:#8f8f9a;--line:#e7e7ec;--line-2:#d8d8e0;--on-dark:#f4f4f6;--on-dark-muted:#a2a2ae;--stage-1:#e63946;--stage-2:#f3722c;--stage-3:#f9c74f;--stage-4:#2a9d8f;--stage-5:#1f78d1;--stage-6:#b5179e;--accent:var(--stage-5);--green:#117a3d;--green-bg:#e8f6ee;--danger:#b3261e;--radius:16px;--radius-sm:10px;--shadow-card:0 1px 2px rgba(10,10,12,0.04),0 8px 24px -12px rgba(10,10,12,0.1);--shadow-float:0 24px 60px -24px rgba(10,10,12,0.25)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body),-apple-system,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--ink);color:#fff}h1,h2,h3{font-family:var(--font-display),sans-serif;font-weight:640;letter-spacing:-.02em;line-height:1.1}.logo-mark{display:inline-block;width:28px;height:28px;background:url(/brand/logo-mark.png) 50%/contain no-repeat;flex:none}.portal-shell{display:grid;grid-template-rows:auto 1fr;height:100dvh}.portal-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 22px;border-bottom:1px solid var(--line);background:rgba(252,252,253,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display),sans-serif;font-weight:640;font-size:16px;letter-spacing:-.01em;white-space:nowrap}.portal-brand .suffix{color:var(--ink-4);font-weight:500}.portal-links{display:inline-flex;gap:4px}.portal-link{padding:7px 14px;border-radius:999px;font-size:14px;color:var(--ink-3);transition:color .15s ease,background .15s ease}.portal-link:hover{color:var(--ink)}.portal-link.active{background:var(--ink);color:#fff}.portal-email{margin-left:auto;font-family:var(--font-mono),monospace;font-size:12px;color:var(--ink-4)}.portal-logout{background:transparent;border:1px solid var(--line-2);color:var(--ink-3);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;transition:border-color .15s ease,color .15s ease}.portal-logout:hover{border-color:var(--ink);color:var(--ink)}.map-main{overflow-y:auto;padding:28px 22px 48px;background:var(--bg-muted)}.map-section{max-width:1080px;margin:0 auto 34px}.map-section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.map-section-head h2{font-size:20px}.map-updated{font-family:var(--font-mono),monospace;font-size:11.5px;color:var(--ink-4)}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.map-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;grid-gap:12px;gap:12px;align-content:start;box-shadow:var(--shadow-card)}.map-card.alert{border-color:var(--danger)}.map-card-head{display:flex;align-items:center;gap:10px}.map-card-head h3{font-size:17px;text-transform:capitalize}.health{width:10px;height:10px;border-radius:50%;flex:none;margin-left:auto}.health.green{background:var(--green)}.health.yellow{background:var(--stage-3)}.health.red{background:var(--danger)}.program-tag{margin-left:auto;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--stage-6);background:rgba(181,23,158,.08);border-radius:999px;padding:3px 10px}.stage-rail{display:flex;align-items:center;gap:5px}.stage-dot{width:9px;height:9px;border-radius:50%;background:var(--line-2);flex:none}.stage-dot.on.s1{background:var(--stage-1)}.stage-dot.on.s2{background:var(--stage-2)}.stage-dot.on.s3{background:var(--stage-3)}.stage-dot.on.s4{background:var(--stage-4)}.stage-dot.on.s5{background:var(--stage-5)}.stage-dot.current{box-shadow:0 0 0 3px rgba(10,10,12,.08)}.stage-label{margin-left:6px;font-family:var(--font-mono),monospace;font-size:11.5px;color:var(--ink-3)}.map-focus{font-size:14px;color:var(--ink-2)}.map-blocker{font-size:13.5px;color:var(--danger)}.map-actions{list-style:none;display:grid;grid-gap:6px;gap:6px}.map-actions li{font-size:13.5px;color:var(--ink-3);padding-left:16px;position:relative;overflow-wrap:anywhere}.map-actions li:before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.map-actions li.done{color:var(--ink-4);text-decoration:line-through}.map-actions li.done:before{background:var(--green)}.milestone-phase{display:inline-block;margin-left:6px;font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--ink-4)}.milestone-meter{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.milestone-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--stage-4),var(--stage-5))}.map-card-foot{display:flex;gap:8px;margin-top:2px}.map-btn{padding:8px 16px;border-radius:999px;background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.map-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-float)}.map-btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line-2)}.map-btn.ghost:hover{border-color:var(--ink);color:var(--ink);box-shadow:none}.map-empty{max-width:480px;margin:10vh auto 0;text-align:center;display:grid;grid-gap:10px;gap:10px;justify-items:center}.map-empty .logo-mark{width:48px;height:48px}.map-empty p{color:var(--ink-3);font-size:14.5px}.leads-list{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.lead-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:grid;grid-gap:8px;gap:8px;box-shadow:var(--shadow-card)}.lead-card header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.lead-contact{font-family:var(--font-mono),monospace;font-size:12px;color:var(--ink-3)}.lead-card p{font-size:14px;color:var(--ink-2)}.lead-card footer{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-4)}.docs-main{overflow-y:auto;padding:28px 22px 64px;background:var(--bg-muted)}.docs-head{max-width:820px;margin:0 auto 24px;display:grid;grid-gap:8px;gap:8px}.docs-back{font-size:13.5px;color:var(--ink-3)}.docs-back:hover{color:var(--ink)}.docs-head h1{font-size:clamp(24px,4vw,32px)}.docs-entity{color:var(--ink-4);font-weight:500}.docs-sub{color:var(--ink-3);font-size:14.5px}.docs-group{max-width:820px;margin:0 auto 22px}.docs-group-title{font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}.docs-list{list-style:none;display:grid;grid-gap:8px;gap:8px}.docs-item{display:flex;align-items:baseline;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 17px;transition:border-color .15s ease,transform .15s ease}.docs-item:hover{border-color:var(--ink);transform:translateY(-1px)}.docs-item-title{font-weight:550;font-size:15px}.docs-item-meta{margin-left:auto;font-family:var(--font-mono),monospace;font-size:11.5px;color:var(--ink-4);white-space:nowrap}.doc-article{max-width:820px;margin:0 auto;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,5vw,48px);box-shadow:var(--shadow-card);font-size:15.5px;color:var(--ink-2)}.doc-article h1,.doc-article h2,.doc-article h3,.doc-article h4{color:var(--ink);margin:1.4em 0 .5em}.doc-article h1:first-child{margin-top:0}.doc-article h1{font-size:clamp(26px,4vw,34px)}.doc-article h2{font-size:22px}.doc-article h3{font-size:18px}.doc-article ol,.doc-article p,.doc-article ul{margin-bottom:.9em}.doc-article ol,.doc-article ul{padding-left:1.4em}.doc-article li{margin-bottom:.3em}.doc-article a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.doc-article code{font-family:var(--font-mono),monospace;font-size:13px;background:var(--bg-muted);border:1px solid var(--line);border-radius:6px;padding:1px 6px}.doc-article pre{background:var(--bg-dark);color:var(--on-dark);border-radius:var(--radius-sm);padding:16px 18px;overflow-x:auto;margin-bottom:1em}.doc-article pre code{background:transparent;border:none;color:inherit;padding:0}.doc-article blockquote{border-left:3px solid var(--line-2);padding-left:16px;color:var(--ink-3);margin-bottom:.9em}.doc-article table{width:100%;border-collapse:collapse;margin-bottom:1em;font-size:14px;display:block;overflow-x:auto}.doc-article td,.doc-article th{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.doc-article th{background:var(--bg-muted);font-weight:600}.doc-article hr{border:none;border-top:1px solid var(--line);margin:1.6em 0}.doc-article img{max-width:100%;border-radius:var(--radius-sm)}.chat-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:0}.chat-shell.in-portal{height:100%}.chat-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 22px;border-bottom:1px solid var(--line);background:var(--bg)}.chat-context-stage{font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.04em;color:var(--accent);background:rgba(31,120,209,.08);border-radius:999px;padding:3px 11px;white-space:nowrap}.chat-context-focus{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.chat-select{background:var(--bg);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:7px 12px;font-size:14px}.chat-scroll{overflow-y:auto;padding:28px 20px;background:var(--bg-muted)}.chat-thread{max-width:780px;margin:0 auto}.chat-empty,.chat-thread{display:grid;grid-gap:14px;gap:14px}.chat-empty{text-align:center;margin-top:8vh;justify-items:center}.chat-empty .logo-mark{width:52px;height:52px;margin-bottom:6px}.chat-empty h2{font-size:clamp(24px,4vw,32px)}.chat-empty p{color:var(--ink-3);font-size:15px;max-width:420px}.chat-suggestions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}.chat-suggestion{background:var(--bg);border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;padding:9px 17px;font-size:14px;box-shadow:var(--shadow-card);transition:border-color .15s ease,transform .15s ease}.chat-suggestion:hover{border-color:var(--ink);transform:translateY(-1px)}.chat-msg{max-width:82%;border-radius:var(--radius);padding:12px 16px;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:var(--shadow-card)}.chat-msg.owner{justify-self:end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}.chat-msg.factory{justify-self:start;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}.chat-msg.pending{color:var(--ink-4)}.chat-msg.pending:after{content:"";display:inline-block;width:.9em;animation:dots 1.2s steps(4) infinite;overflow:hidden;vertical-align:bottom}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.chat-msg code{font-family:var(--font-mono),monospace;background:var(--bg-muted);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:13px}.chat-msg.owner code{background:rgba(255,255,255,.14);border-color:transparent;color:#fff}.chat-meta{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);padding:0 4px}.chat-msg.owner+.chat-meta{justify-self:end}.chat-composer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.chat-composer-inner{max-width:780px;margin:0 auto;display:flex;gap:10px}.chat-input{flex:1 1;min-width:0;padding:13px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.chat-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,10,12,.06)}.chat-send{padding:13px 24px;border-radius:999px;border:none;background:var(--ink);color:#fff;font-weight:600;font-size:15px;transition:transform .15s ease,box-shadow .15s ease}.chat-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-float)}.chat-send:disabled{opacity:.4;cursor:default}.login-main{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 85% -10%,rgba(31,120,209,.06),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(42,157,143,.05),transparent 60%),var(--bg-muted)}.login-card{width:100%;max-width:400px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;display:grid;grid-gap:18px;gap:18px;box-shadow:var(--shadow-float)}.login-head{display:grid;grid-gap:8px;gap:8px;justify-items:start}.login-head .logo-mark{width:40px;height:40px;margin-bottom:4px}.login-eyebrow{font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.login-card h1{font-size:28px}.login-sub{color:var(--ink-3);font-size:14.5px}.login-label{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:500;color:var(--ink-2)}.login-input{padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.login-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,10,12,.06)}.login-error{color:var(--danger);font-size:13.5px}.login-submit{padding:13px 16px;border-radius:999px;border:none;background:var(--ink);color:#fff;font-weight:600;font-size:15px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-float)}.login-submit:disabled{opacity:.6}.login-foot{font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.04em;color:var(--ink-4);text-align:center}.login-back{font-size:13px;color:var(--ink-3);text-align:center}.login-back a{text-decoration:underline;text-underline-offset:3px}.login-back a:hover{color:var(--ink)}@media (max-width:640px){.portal-nav{padding:10px 14px;gap:8px 10px}.portal-brand{font-size:14.5px}.portal-brand .suffix,.portal-email{display:none}.portal-logout{padding:6px 12px}.portal-link{padding:6px 11px;font-size:13px}.map-main{padding:18px 12px 40px}.map-grid{grid-template-columns:1fr}.docs-main{padding:18px 12px 48px}.docs-item-meta{display:none}.chat-context{padding:9px 12px;gap:8px}.chat-context-focus{display:none}.chat-select{flex:1 1;min-width:0}.chat-scroll{padding:16px 12px}.chat-msg{max-width:90%}.chat-empty{margin-top:4vh}.chat-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.chat-send{padding:12px 18px}.login-card{padding:28px 22px}}