/* NEXO 2.8 — STUDIO EDITION
   Neutral editorial product UI. Keeps IA, data, routes and Figma-derived structure.
   The terracotta is a CTA accent, not a tint applied to every surface. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&display=swap');
:root{
  --bg:#faf9f7;--side:#f4f1ee;--surface:#fff;--soft:#f1efec;
  --stone-75:#f8f7f6;--stone-100:#f1efec;--stone-150:#eae7e4;
  --stone-200:#e4e0dc;--stone-300:#c9c5c1;--stone-400:#9d9a95;
  --brand:#a65e35;--deep:#875033;--brand-soft:#f7f2ed;
  --text:#292d31;--muted:#636971;--border:#e4e0dc;
  --shadow:0 6px 22px rgba(28,32,36,.035);
  --shadow-xs:0 1px 3px rgba(28,32,36,.025);
  --shadow-sm:0 4px 16px rgba(28,32,36,.035);
  --shadow-md:0 9px 26px rgba(28,32,36,.055);
  --shadow-lg:0 26px 80px rgba(28,32,36,.13);
}
html{background:var(--bg)}
body{font-family:'DM Sans',Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.55}
body :is(button,input,textarea,select){font-family:inherit}
:where(main,.home-copy,.guided-chat,.request-entry,.faculty-card,.review-panel,.compare-card,.guided-context){min-width:0}
main{max-width:1280px;padding:46px clamp(30px,4.25vw,64px) 128px}
#main:focus,#main:focus-visible{outline:0}
:is(h1,h2,h3){font-family:'DM Sans',Inter,system-ui,sans-serif;color:#262b30}
h1{font-size:clamp(32px,2.6vw,42px);font-weight:750;letter-spacing:-.052em;line-height:1.13;margin:0 0 12px}
h2{font-weight:700;letter-spacing:-.035em}
h3{font-weight:700;letter-spacing:-.025em}
.lead{font-size:16px;line-height:1.65;color:#666b70;margin:0 0 32px;max-width:76ch}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#766e66;font-weight:700;margin-bottom:16px}
/* App chrome: quieter and sharply organized */
.sidebar{background:var(--side);border-right:1px solid #e7e1db;box-shadow:none;padding:27px 14px 19px}
.brand{padding:0 12px 30px}.brand img{width:116px;filter:none}.brand small{color:#85807b;font-size:8px;letter-spacing:.20em}
.sidebar nav{gap:4px}.sidebar .nav{height:44px;min-height:44px;padding:0 13px;gap:12px;border:none;border-radius:10px;background:transparent;box-shadow:none;font-size:14px;font-weight:500;transform:none;color:#565b60;letter-spacing:-.012em}
.sidebar .nav img{width:19px;height:19px;opacity:.78}
.sidebar .nav:hover{background:var(--stone-150);box-shadow:none;transform:none}
.sidebar .nav.active{background:var(--stone-150);box-shadow:none;color:#292d31;font-weight:700}
.sidebar .nav.active:before{display:none}
.sidebar-bottom{border-top:1px solid #e0dad4;padding-top:12px}
.sidebar .resource-link{background:transparent;border:0;box-shadow:none;font-size:13px;color:#61646a}
.sidebar .resource-link:hover{background:#eae7e4;transform:none;box-shadow:none}
.mini-ai{background:#efeae5;border:1px solid #e5ded7;border-radius:16px;box-shadow:none;margin-top:15px;padding:17px}
.mini-ai p{font-size:14px;line-height:1.55}.mini-ai strong{color:#615951}
.user{background:transparent;border:0;box-shadow:none;padding:12px 9px;margin-top:2px}
.avatar{box-shadow:none;object-fit:cover}
.topbar{height:74px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.topbar>span{color:#60666c;font-size:13px}
.topbar .icon:hover{background:var(--stone-100);box-shadow:none;transform:none}
/* Home: editorial hierarchy, air and one deliberate accent */
.home-hero{margin:-34px calc(-1 * clamp(30px,4.25vw,64px)) 0;min-height:580px;padding:86px clamp(30px,5.7vw,87px) 26px;background:none;overflow:hidden}
.home-copy{max-width:1080px}.welcome{color:#726960;letter-spacing:.22em;font-size:11px;gap:11px;margin-bottom:19px}
.welcome i{width:29px;height:1px;background:var(--brand)}
.home-hero h1{max-width:765px;font-size:clamp(40px,3.85vw,58px);font-weight:750;letter-spacing:-.064em;line-height:1.07;margin:0 0 18px;padding:0;text-wrap:balance}
.home-hero .lead{max-width:720px;font-size:16px;line-height:1.66;padding:0;margin:0 0 32px;color:#636a71}
.home-hero>img.architecture{top:9px;right:0;width:370px;height:330px;opacity:1;filter:none;box-shadow:none}
.searchbox{max-width:1037px;background:#fff;border:1px solid #dbd8d4;border-radius:17px;padding:21px 23px 18px;box-shadow:0 7px 24px rgba(32,34,37,.055);transition:border-color .15s,box-shadow .15s}
.searchbox:focus-within{border-color:#aaa49e;box-shadow:0 0 0 3px #e9e6e2,0 7px 24px rgba(32,34,37,.05)}
.searchbox textarea{padding:4px 8px 4px 16px;border-left:2px solid #777b7c;font-size:16px;min-height:90px;color:var(--text)}
.searchbox textarea::placeholder{color:#858b90;opacity:1}
.search-actions{margin-top:9px}.filter-btn,.chip{box-shadow:none;background:#fff;border:1px solid var(--border);color:#444b51}
.filter-btn{height:43px;border-radius:999px;font-size:13px}
.filter-btn:hover,.chip:hover{background:var(--stone-75);border-color:#bdb7b1;transform:none;box-shadow:none}
.btn{background:var(--brand);border:1px solid var(--brand);border-radius:10px;color:#fff;box-shadow:none;min-height:46px;font-size:14px;letter-spacing:-.01em;font-weight:700;transition:background .16s,border-color .16s,transform .16s}
.btn:hover{background:#8f4e2c;border-color:#8f4e2c;transform:translateY(-1px);box-shadow:none}
.btn.secondary{background:#fff;border:1px solid var(--border);color:#4b5055;box-shadow:none}
.btn.secondary:hover{background:var(--stone-75);border-color:#bbb6b0;color:#292d31}
.btn.ghost{color:#5b6065;box-shadow:none}
.search-cta{border-radius:10px;min-width:224px}
.prompt-row{gap:10px;margin-top:23px}.prompt-row>strong{font-size:10px;letter-spacing:.16em;color:#71716f}
.prompt-row button{border-radius:999px;min-height:46px;padding:7px 13px;background:#fff;font-size:13px;font-weight:550;text-align:center;justify-content:center;box-shadow:none}
.prompt-row button:hover{background:var(--stone-100);transform:none;box-shadow:none}
.home-cards{margin:40px 0 0;gap:19px}
.home-cards article{min-height:226px;padding:28px;background:#fff;border:1px solid var(--stone-200);border-radius:17px;box-shadow:var(--shadow-xs)}
.home-cards article:after{display:none}
.home-cards h2{font-size:22px;letter-spacing:-.04em;margin:16px 0 9px;line-height:1.25}
.home-cards p{max-width:300px;color:#656b71;font-size:14px;line-height:1.6}
.card-icon{background:var(--stone-100);color:#515961;border-radius:13px;width:43px;height:43px;box-shadow:none}
.profile-stack{border:1px solid var(--border);box-shadow:0 5px 16px rgba(29,34,37,.06);transform:rotate(-2deg);border-radius:11px}
.mini-chart i{background:var(--stone-150);box-shadow:none}
.mini-chart i:last-of-type{background:#a65e35}
.text-link,.flow-link{color:#805038;font-weight:650;text-decoration:none}
.text-link:hover,.flow-link:hover{text-decoration:underline;text-underline-offset:3px}
/* Section rhythm and chat: avoid an accounting form made of stacked identical boxes */
.nexo-progress{margin-top:26px;margin-bottom:38px}
.nexo-progress>div{background:#ece9e5}
.guided-layout,.review-layout{gap:28px}
.guided-messages{gap:17px;padding:4px 7px 11px 3px;scrollbar-color:#cac6c1 transparent}
.guided-user,.guided-agent{max-width:min(590px,89%);border:1px solid #e8e4df;border-radius:17px;padding:19px 22px;box-shadow:none;background:#fff}
.guided-user{align-self:flex-end;background:var(--stone-100);border-color:var(--stone-100)}
.guided-agent{align-self:flex-start;background:#fff;border-color:var(--stone-200);box-shadow:var(--shadow-xs)}
.guided-messages b{font-size:11px;letter-spacing:.055em;color:#656260}
.guided-messages p{font-size:16px;line-height:1.62}
.guided-context{border:1px solid var(--stone-200);border-radius:17px;box-shadow:none;background:#fff;padding:25px}
.guided-context>small{letter-spacing:.10em;color:#77716c}
.guided-context h2{margin:12px 0;font-size:21px}
.guided-context section{border-bottom:1px solid #eeebe7;padding:15px 0}
.guided-context section b{color:#7b7b79;letter-spacing:.065em;font-size:11px}
.guided-context section span{font-size:15px;line-height:1.5;color:#41474d}
.guided-context-note{background:var(--stone-75);border:1px solid #eeeae6;border-radius:12px;padding:16px;margin-top:19px;box-shadow:none}
.guided-context-note p{overflow-wrap:anywhere;word-break:break-word}
.guided-prompt{font-size:14px;color:#50575e;margin-top:22px}
.guided-options{gap:10px}.guided-options .chip{min-height:46px;border-radius:12px;font-size:14px}
.guided-composer{padding:11px 12px;border:1px solid #d9d7d4;border-radius:13px;background:#fff;box-shadow:none;gap:10px}
.guided-composer:focus-within{border-color:#aaa49e;box-shadow:0 0 0 3px #e9e6e2}
.guided-composer input{border:0;box-shadow:none;background:transparent;font-size:15px}
.guided-composer input:focus{box-shadow:none}
.guided-footnote{font-size:13px;color:#777b7d;line-height:1.6}
/* Cards: distinct scan zones, not government admin row after row */
.request-summary{background:var(--stone-75);border:1px solid var(--stone-200);border-radius:13px;color:#41474d;box-shadow:none}
.results-layout{gap:22px}.cards{gap:19px}
.faculty-card{background:#fff;border:1px solid var(--stone-200);border-radius:18px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.faculty-card:hover{border-color:#bbb8b3;box-shadow:0 8px 24px rgba(29,35,40,.045);transform:none}
.faculty-card-header{padding:25px 27px 22px;border-bottom:1px solid var(--stone-100);gap:12px}
.faculty-card .faculty-head{gap:15px}
.faculty-card .faculty-head img,.faculty-card .faculty-head .initial-avatar{width:66px;height:66px;flex-basis:66px;border-radius:14px}
.faculty-card .faculty-head h3{font-size:21px;margin-bottom:5px;letter-spacing:-.035em}
.faculty-area{font-size:14px;line-height:1.45}
.faculty-demo-label{font-size:12px;color:#85837f}
.faculty-match-tag{font-size:12px;border-radius:999px;padding:6px 10px;min-height:32px}
.faculty-match-tag.potential{background:#e6f3ed;border-color:#d3e6dc;color:#1e674e}
.faculty-match-tag.validate{background:#fff2d9;border-color:#f3e7d1;color:#785b29}
.faculty-details{padding:22px 27px 13px;gap:22px}
.faculty-details section b,.faculty-match b{font-size:11px;letter-spacing:.09em;color:#797b7b}
.faculty-details section p,.faculty-match p{font-size:15px;line-height:1.6;margin-top:7px}
.faculty-match{padding:17px 19px;margin:5px 27px 15px;background:#f9f8f7;border:1px solid var(--stone-100);border-radius:11px}
.faculty-match small{font-size:13px;line-height:1.6;color:#72777a}
.faculty-shift-status{background:#fff;border:0;border-top:1px solid var(--stone-100);border-bottom:1px solid var(--stone-100);border-radius:0;margin:17px 27px 11px;padding:12px 0;color:#555d62;font-size:13px;line-height:1.6}
.faculty-shift-status b{color:#4a5055}
.faculty-availability{margin:0 27px 20px;color:#6f767c;font-size:13px}
.faculty-card .card-actions{padding:17px 27px;gap:14px;background:#fff;border-top:1px solid var(--stone-100)}
.faculty-main-action{font-size:14px}
.faculty-compare-action{min-height:42px;border-radius:10px;font-size:13px}
.decision-card,.evidence-validation{border:1px solid var(--stone-200);background:var(--stone-75);border-radius:16px;padding:23px;box-shadow:none}
.decision-card small,.evidence-validation>small{color:#7b7874;letter-spacing:.09em}
.decision-card h3{font-size:21px;line-height:1.25}
.compare-card,.faculty-evidence-main,.review-panel,.review-pending,.handoff-panel,.handoff-success,.handoff-error{background:#fff;border:1px solid var(--stone-200);border-radius:17px;box-shadow:none}
.compare-card{padding:25px}.compare-card h2{font-size:21px}.compare-evidence b{font-size:11px;letter-spacing:.08em}.compare-evidence p{font-size:15px}
.compare-query{border:1px solid var(--stone-200);background:var(--stone-75);box-shadow:none;border-radius:13px}
.review-panel{padding:27px}.review-panel h2{font-size:23px}
.review-panel input,.review-panel select,.handoff-panel input,.handoff-panel textarea,.handoff-panel select,.requests-toolbar input,.compare-selectors select{border-radius:10px;background:#fff;border:1px solid #dfdcd8;box-shadow:none}
.review-panel input:focus,.review-panel select:focus,.handoff-panel input:focus,.handoff-panel select:focus,.handoff-panel textarea:focus,.requests-toolbar input:focus,.compare-selectors select:focus{border-color:#a7a29c;box-shadow:0 0 0 3px #eae7e4}
/* Requests: a lightweight editorial list; status and actions have their own zones */
.requests-toolbar{border-radius:15px;border:1px solid var(--stone-200);background:#fff;box-shadow:none;padding:19px 23px}
.request-entry{grid-template-columns:minmax(0,1fr) minmax(220px,auto);align-items:center;gap:24px;min-height:115px;padding:23px 26px;border:1px solid var(--stone-200);border-radius:16px;background:#fff;box-shadow:none}
.request-entry:hover{border-color:#bdbbb6;box-shadow:var(--shadow-sm);transform:none}
.request-type{font-size:10px;color:#92908c;letter-spacing:.13em}
.request-entry-heading b{font-size:19px;letter-spacing:-.03em}
.request-entry .request-meta{font-size:14px;color:#757a7f;line-height:1.5}
.request-entry .request-note{font-size:13px;color:#676c70;max-width:72ch}
.request-entry-side{grid-template-columns:1fr;justify-items:end;gap:12px}
.request-badge{font-size:12px;border-radius:999px;background:var(--stone-75);padding:7px 12px;color:#4d555b;border:1px solid var(--stone-200)}
.request-entry-actions{display:flex;flex-direction:row;justify-content:flex-end;gap:21px;align-items:center}
.request-entry-actions .text-link{font-size:13px}
.request-entry-actions .danger-link{color:#8f4c45!important;font-size:13px}
.request-filter{font-size:13px}
.request-filter.selected,.request-filter[aria-pressed=true]{background:var(--stone-100);color:#30353b}
/* Decision: high-stakes step gets clarity rather than extra color */
.decision-choice{background:#fff;border:1px solid var(--stone-200);border-radius:16px;box-shadow:none;min-height:120px}
.decision-choice:hover{border-color:#bbb8b3;box-shadow:var(--shadow-sm);transform:none}
.decision-choice strong{font-size:20px}
.decision-symbol{background:var(--stone-100);color:#4d5358}
.handoff-success{min-height:270px}.handoff-warning{background:#f9f8f6;border-left:3px solid var(--stone-300)}
/* Widgets, overlays and readable status */
.ai-fab{background:var(--brand);border-radius:999px;box-shadow:0 8px 24px rgba(31,33,36,.13)}
.ai-fab:hover{background:#8f4e2c;box-shadow:0 12px 26px rgba(31,33,36,.16)}
.ai-panel{border-radius:17px;box-shadow:0 22px 70px rgba(20,24,28,.16);background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.ai-context{background:var(--stone-75);border:1px solid var(--stone-100);box-shadow:none}
.msg.agent{background:var(--stone-75);box-shadow:none}
.msg.user{background:var(--stone-100);color:#292d31;box-shadow:none}
.ai-composer{border:1px solid var(--stone-200);background:#fff;border-radius:12px;box-shadow:none}
.ai-composer button{background:var(--brand)}
.drawer,.modal,.delete-dialog{background:#fff;box-shadow:var(--shadow-lg)}
.empty{border:1px solid var(--stone-200);background:#fff;border-radius:16px}
.insights-no-data{border:0!important;background:transparent!important;box-shadow:none!important}
.insights-no-data article{background:#fff;border:1px solid var(--stone-200);border-radius:16px}
:where(button,a,input,textarea,select,summary):focus-visible{outline:2px solid #626a70;outline-offset:3px}
/* Tablet & mobile: editorial composition without shrunken desktop proportions */
@media(max-width:1199px){
 main{padding:36px clamp(20px,4vw,48px) 116px}
 .home-hero{margin:-30px calc(-1 * clamp(20px,4vw,48px)) 0;padding:58px clamp(20px,5vw,60px) 20px}
 .home-hero>img.architecture{right:0;top:4px}
 .guided-layout,.review-layout{gap:20px}
}
@media(max-width:820px){
 main{padding:30px 22px 104px}
 .home-hero{margin:-30px -22px 0;padding:48px 22px 18px;min-height:auto}
 .home-hero h1{font-size:clamp(36px,6vw,47px)}
 .home-hero>img.architecture{display:none}
 .guided-layout,.review-layout,.results-layout,.evidence-layout{grid-template-columns:1fr}
 .request-entry{grid-template-columns:1fr}
 .request-entry-side{justify-items:start;display:flex;justify-content:space-between;flex-wrap:wrap;width:100%}
 .request-entry-actions{justify-content:flex-start}
 .home-cards{margin-top:25px}
 .guided-user,.guided-agent{max-width:92%}
}
@media(max-width:600px){
 main{padding:25px 16px 110px}
 .home-hero{margin:-25px -16px 0;padding:39px 16px 12px}
 .home-hero h1{font-size:clamp(33px,8.6vw,42px);line-height:1.12}
 .home-hero .lead{font-size:15px;line-height:1.6;margin-bottom:24px}
 .searchbox{padding:17px;border-radius:15px}
 .searchbox textarea{min-height:108px}
 .search-actions{display:grid;grid-template-columns:1fr;gap:12px}
 .search-cta{width:100%}
 .prompt-row{grid-template-columns:1fr 1fr;gap:9px}
 .prompt-row button{font-size:13px;min-height:49px}
 .home-cards article{padding:20px;grid-template-columns:minmax(0,1fr) 88px;gap:12px}
 .home-cards h2{font-size:18px}
 .guided-user,.guided-agent{max-width:100%;padding:17px 18px}
 .guided-messages p{font-size:15px}
 .guided-context,.review-panel,.review-pending{padding:20px}
 .faculty-card-header,.faculty-details,.faculty-card .card-actions{padding-inline:19px}
 .faculty-match{margin-inline:19px}
 .faculty-shift-status,.faculty-availability{margin-inline:19px}
 .faculty-card .faculty-head h3{font-size:18px}
 .faculty-details{grid-template-columns:1fr}
 .request-entry{padding:19px;gap:18px}
 .request-entry-heading b{font-size:18px}
 .request-entry-actions{gap:20px}
 .requests-toolbar{padding:16px}
 .ai-fab{min-height:50px}
}
@media(prefers-reduced-motion:reduce){.btn,.nav,.chip,.filter-btn,.faculty-card,.request-entry,.decision-choice{transition:none!important;transform:none!important}}
