:root {
  --paper: #ffffff;
  --surface: #ffffff;
  --surface-soft: #b8f1ef;
  --ink: #000000;
  --muted: #036365;
  --line: rgba(3, 99, 101, .2);
  --green: #036365;
  --green-deep: #036365;
  --green-pale: #b8f1ef;
  --sage: #12c8d5;
  --clay: #12c8d5;
  --clay-pale: #b8f1ef;
  --blue-pale: #b8f1ef;
  --gold: #036365;
  --shadow: 0 14px 40px rgba(3, 99, 101, .12);
  --radius: 0;
  --font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font: 14px/1.5 var(--font); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(82,105,87,.3); outline-offset: 2px; }
.app-shell { min-height: 100vh; }
.sidebar { width: 248px; position: fixed; inset: 0 auto 0 0; display: flex; flex-direction: column; padding: 26px 16px 16px; background: #fbfbf8; border-right: 1px solid var(--line); z-index: 5; }
.brand-lockup { display: flex; align-items: center; gap: 11px; padding: 0 8px; margin: 0 0 31px; }
.brand-mark { height: 35px; width: 35px; border-radius:0; background: var(--green-deep); position: relative; overflow: hidden; }
.brand-mark span { position: absolute; display: block; border: 1.3px solid rgba(255,255,255,.82); border-radius:0; width: 16px; height: 26px; top: 5px; left: 10px; transform: rotate(35deg); }
.brand-mark span:nth-child(2) { transform: rotate(-35deg); left: 9px; }
.brand-mark span:nth-child(3) { width: 22px; height: 10px; left: 7px; top: 12px; transform: rotate(-8deg); }
.product-name { font: 600 15px/1.1 var(--font); letter-spacing: -.025em; }
.product-subtitle { margin-top: 4px; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.workspace-switcher { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); background: white; border-radius:0; padding: 10px; margin-bottom: 28px; }
.workspace-avatar { height: 32px; width: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius:0; background: var(--clay-pale); color: #805a47; font: 600 13px Georgia,serif; }
.workspace-copy { min-width: 0; flex: 1; }
.workspace-copy .eyebrow { display: block; font-size: 9px; letter-spacing: .1em; color: var(--muted); margin-bottom: 2px; }
.workspace-copy strong { display: block; font-size: 11px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chevron { color: #8a928b; font-size: 15px; line-height: 1; }
.nav-caption { margin: 0 0 9px 12px; color: #979e97; font-size: 9px; letter-spacing: .13em; font-weight: 650; }
.primary-nav { display: grid; gap: 4px; }
.nav-link { height: 42px; display: flex; align-items: center; gap: 11px; border: 0; border-radius:0; background: transparent; padding: 0 12px; text-align: left; color: #68716a; cursor: pointer; transition: background .15s,color .15s; }
.nav-link:hover { background: #f0f2ec; color: var(--ink); }
.nav-link.active { background: var(--green-pale); color: var(--green-deep); font-weight: 600; }
.nav-icon { width: 19px; text-align: center; color: #738077; font-size: 18px; line-height: 1; }
.nav-link.active .nav-icon { color: var(--green-deep); }
.nav-count { margin-left: auto; color: #89938a; font-size: 11px; }
.sidebar-spacer { flex: 1; min-height: 30px; }
.calm-note { margin: 0 2px 18px; padding: 15px 13px 13px; border: 1px solid #e7e9df; border-radius:0; background: linear-gradient(145deg,#f4f5ee,#f9f8f2); }
.calm-note-icon { display: grid; place-items: center; width: 26px; height: 26px; margin-bottom: 8px; border-radius:0; background: #e2e9dd; color: var(--green); font-size: 16px; }
.calm-note p { margin: 0; color: #788078; font-size: 11px; line-height: 1.55; }
.calm-note p strong { color: #3e4e42; font-weight: 600; }
.text-button { border: 0; padding: 8px 0 0; background: transparent; color: var(--green); font-size: 11px; font-weight: 600; cursor: pointer; }
.text-button:hover { color: #263b2e; }
.sidebar-footer { display: flex; align-items: center; gap: 8px; padding: 0 6px; color: #8a918b; font-size: 10px; }
.status-dot { width: 7px; height: 7px; border-radius:0; background: #9ba989; }
.main-area { min-height: 100vh; margin-left: 248px; display: flex; flex-direction: column; }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 0 42px; border-bottom: 1px solid rgba(225,228,220,.85); background: rgba(250,250,247,.84); }
.breadcrumb { display: flex; align-items: center; gap: 11px; color: #929991; font-size: 11px; white-space: nowrap; }
.breadcrumb strong { color: #475249; font-weight: 600; }
.crumb-divider { color: #c0c5be; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.global-search-wrap { width: min(290px, 33vw); height: 36px; border: 1px solid #e6e8e1; border-radius:0; background: #fff; display: flex; align-items: center; gap: 8px; padding: 0 9px; color: #7b857d; }
.search-icon { font-size: 20px; transform: rotate(-20deg); line-height: 1; }
.global-search-wrap input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; }
.global-search-wrap input::placeholder { color: #9ba29b; }
kbd { flex: 0 0 auto; border: 1px solid #e8e9e4; border-radius:0; padding: 0 4px; color: #999f98; font: 10px var(--font); }
.help-button { height: 29px; width: 29px; border: 1px solid #e4e7df; border-radius:0; color: #748076; background: white; cursor: pointer; }
.user-chip { display: flex; align-items: center; gap: 8px; color: #68716a; font-size: 11px; white-space: nowrap; }
.user-avatar { display: grid; place-items: center; height: 30px; width: 30px; border-radius:0; background: #e9ded5; color: #735842; font-size: 10px; font-weight: 700; }
.main-content { width: min(1420px, 100%); flex: 1; padding: 32px 42px 42px; margin: 0 auto; }
.page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.page-kicker { color: #879087; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; font-weight: 650; }
h1,h2,h3,p { margin-top: 0; }
h1 { margin: 5px 0 7px; font-size: clamp(25px,3vw,34px); line-height: 1.14; letter-spacing: -.045em; font-weight: 570; }
.page-intro p { margin: 0; color: #778078; font-size: 13px; }
.intro-meta { color: #879087; font-size: 11px; white-space: nowrap; }
.button { min-height: 38px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius:0; cursor: pointer; font-size: 11px; font-weight: 650; transition: transform .15s,background .15s,border-color .15s; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--green-deep); color: white; }
.button-primary:hover { background: #263b2f; }
.button-secondary { border-color: #e4e7df; background: white; color: #536057; }
.button-secondary:hover { background: #f7f8f4; border-color: #d4dbd2; }
.button-quiet { background: transparent; color: #607062; border-color: transparent; }
.button-quiet:hover { background: #eef1eb; }
.button-small { min-height: 31px; padding: 0 10px; font-size: 10px; }
.button-icon { font-size: 15px; line-height: 1; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius:0; box-shadow: 0 2px 10px rgba(36,48,40,.018); }
.card-pad { padding: 19px; }
.card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card-title { margin: 0; color: #364139; font-size: 13px; font-weight: 650; letter-spacing: -.01em; }
.card-description { margin: 5px 0 0; color: #818a82; font-size: 11px; }
.soft-label { color: #8a938b; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; font-weight: 650; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius:0; background: #eef2eb; color: #607260; font-size: 9px; font-weight: 650; white-space: nowrap; }
.badge-clay { background: #f6eee8; color: #8b6b56; }
.badge-blue { background: #edf2f3; color: #5f737a; }
.badge-neutral { background: #f1f2ee; color: #737c74; }
.grid-two { display: grid; grid-template-columns: minmax(0,1.58fr) minmax(275px,.94fr); gap: 17px; align-items: start; }
.stack { display: grid; gap: 16px; }
.dashboard-hero { position: relative; min-height: 231px; overflow: hidden; padding: 23px 25px; border: 1px solid #354f40; border-radius:0; color: white; background: radial-gradient(ellipse at 85% -10%,rgba(196,211,180,.18),transparent 41%),linear-gradient(124deg,#384f40 0%,#314739 57%,#3f5945 100%); box-shadow: 0 13px 35px rgba(49,71,57,.1); }
.dashboard-hero:before,.dashboard-hero:after { content:""; position:absolute; border:1px solid rgba(226,235,220,.13); border-radius:0; pointer-events:none; }
.dashboard-hero:before { width:260px; height:260px; right:-65px; top:-106px; }
.dashboard-hero:after { width:180px; height:180px; right:-22px; top:-65px; }
.hero-topline { display:flex; align-items:center; gap:8px; color:#ced9cd; font-size:10px; position:relative; z-index:1; }
.hero-topline .status-dot { background:#c0caa8; }
.dashboard-hero h2 { max-width:520px; margin:19px 0 6px; color:#fff; font: 500 clamp(21px,2.5vw,29px)/1.17 Georgia,serif; letter-spacing:-.025em; position:relative; z-index:1; }
.dashboard-hero p { max-width:460px; margin:0; color:#d4ded3; font-size:11px; position:relative; z-index:1; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; position:relative; z-index:1; }
.hero-bottom .button-primary { background:#f3f2e9; color:#304539; }
.hero-bottom .button-primary:hover { background:white; }
.hero-footnote { color:#d1dbcf; font-size:10px; }
.capacity-card { padding:17px 18px 16px; }
.capacity-options { display:flex; gap:6px; margin-top:14px; }
.capacity-option { flex:1; min-height:33px; border:1px solid #e7e9e2; border-radius:0; background:white; color:#758078; font-size:10px; cursor:pointer; }
.capacity-option:hover { border-color:#bdcabc; }
.capacity-option.selected { border-color:#aab9a8; background:#edf2eb; color:#435a47; font-weight:650; }
.capacity-note { min-height:32px; margin:10px 0 0; color:#858e86; font-size:10px; }
.next-step-card { padding:18px; }
.next-step-main { display:flex; align-items:flex-start; gap:12px; margin-top:15px; }
.step-number { height:31px; width:31px; flex:0 0 31px; display:grid; place-items:center; border-radius:0; background:#edf2eb; color:#506a54; font: 500 14px Georgia,serif; }
.next-step-main h3 { margin:0 0 4px; color:#38453b; font-size:12px; font-weight:650; }
.next-step-main p { margin:0; color:#808981; font-size:10px; }
.next-step-footer { margin-top:14px; padding-top:12px; border-top:1px solid #f0f1ed; display:flex; justify-content:space-between; align-items:center; }
.inline-link { padding:0; border:0; color:#5e775f; background:none; cursor:pointer; font-size:10px; font-weight:650; }
.inline-link:hover { color:#324b36; }
.small-muted { color:#939a93; font-size:9px; }
.strategy-source { display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:0; background:#f8f7f1; border:1px solid #ecebe2; }
.source-icon { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:0; background:#eeeddf; color:#89815e; font-size:15px; }
.strategy-source h3 { margin:0 0 4px; font-size:11px; font-weight:650; }
.strategy-source p { margin:0; color:#7d857d; font-size:10px; line-height:1.5; }
.strategy-source .source-meta { margin-top:7px; color:#9a9c90; font-size:9px; }
.ai-card { padding:18px; background:linear-gradient(140deg,#fafbf8,#f2f5ef); border-color:#e4e9df; }
.ai-heading { display:flex; align-items:center; gap:9px; }
.ai-orb { height:28px; width:28px; display:grid; place-items:center; border-radius:0; background:#dfe9dc; color:#4b664f; font-size:14px; }
.ai-heading strong { font-size:12px; font-weight:650; }
.ai-heading span { display:block; color:#929a91; font-size:9px; }
.ai-card > p { margin:13px 0; color:#768078; font-size:10px; }
.ai-actions { display:grid; gap:6px; }
.ai-action { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #e7ebe3; border-radius:0; padding:0 10px; background:rgba(255,255,255,.76); color:#57645a; cursor:pointer; text-align:left; font-size:10px; }
.ai-action:hover { background:white; border-color:#ccd7c9; }
.ai-action span:last-child { color:#879588; font-size:14px; }
.ai-disclaimer { margin-top:12px; color:#999f96; font-size:9px; line-height:1.45; }
.progress-card { padding:18px; }
.progress-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:14px 0 8px; }
.progress-row strong { color:#4a564c; font-size:11px; font-weight:600; }
.progress-row span { color:#889188; font-size:9px; }
.progress-track { height:5px; overflow:hidden; border-radius:0; background:#edf0e9; }
.progress-fill { height:100%; border-radius:0; background:#93a58f; transition:width .3s; }
.progress-foot { display:flex; justify-content:space-between; gap:10px; margin-top:11px; color:#889188; font-size:9px; }
.method-strip { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid var(--line); border-radius:0; background:#fff; }
.method-step { padding:14px 16px; border-right:1px solid #eceee8; }
.method-step:last-child { border-right:0; }
.method-step strong { display:block; color:#596a5d; font:500 14px Georgia,serif; margin-bottom:2px; }
.method-step span { display:block; color:#8b938c; font-size:9px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:27px 0 12px; }
.section-heading h2 { margin:0; color:#39443c; font-size:14px; font-weight:650; }
.section-heading p { margin:3px 0 0; color:#89918a; font-size:10px; }
.project-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.project-mini-card { padding:15px; border:1px solid var(--line); border-radius:0; background:white; cursor:pointer; text-align:left; transition:transform .15s, box-shadow .15s,border .15s; }
.project-mini-card:hover { transform:translateY(-2px); border-color:#cfd8cc; box-shadow:var(--shadow); }
.project-mini-card h3 { margin:11px 0 5px; color:#3e4940; font-size:11px; line-height:1.45; font-weight:650; }
.project-mini-card p { min-height:30px; margin:0; color:#8a928b; font-size:9px; line-height:1.5; }
.project-mini-meta { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:12px; padding-top:10px; border-top:1px solid #f0f1ed; color:#949b94; font-size:9px; }
.project-card-kicker { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.project-list { display:grid; gap:9px; }
.project-row { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid var(--line); border-radius:0; background:white; cursor:pointer; text-align:left; }
.project-row:hover,.project-row.selected { border-color:#bfcdbd; background:#fbfcf9; }
.project-row.selected { box-shadow:inset 3px 0 0 #788f76; }
.project-symbol { display:grid; place-items:center; height:34px; width:34px; flex:0 0 34px; border-radius:0; color:#657667; background:#edf1e9; font-size:15px; }
.project-row-copy { flex:1; min-width:0; }
.project-row-copy strong { display:block; color:#465148; font-size:10px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.project-row-copy span { display:block; margin-top:3px; color:#929a92; font-size:9px; }
.project-row .chevron { margin-left:auto; }
.projects-layout { display:grid; grid-template-columns:minmax(220px,.74fr) minmax(0,1.6fr); gap:15px; align-items:start; }
.project-sidebar-card { padding:16px; }
.project-detail { padding:22px; }
.detail-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.detail-top h2 { max-width:620px; margin:5px 0 8px; font:500 clamp(20px,2.4vw,28px)/1.18 Georgia,serif; letter-spacing:-.025em; }
.detail-desc { max-width:660px; margin:0; color:#778078; font-size:11px; line-height:1.65; }
.detail-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.detail-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.detail-divider { margin:20px 0 16px; border:0; border-top:1px solid #eceee8; }
.project-meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:20px; }
.project-meta-cell { padding:11px; border-radius:0; background:#f8f9f6; }
.project-meta-cell span { display:block; color:#939a93; font-size:9px; }
.project-meta-cell strong { display:block; margin-top:4px; color:#536056; font-size:10px; font-weight:600; }
.task-list { display:grid; gap:6px; margin-top:12px; }
.task-row { display:flex; align-items:flex-start; gap:10px; padding:10px 9px; border-radius:0; background:#fbfbf8; }
.task-row:hover { background:#f5f7f2; }
.task-check { height:16px; width:16px; margin:1px 0 0; accent-color:#607b61; cursor:pointer; }
.task-copy { flex:1; color:#59635b; font-size:10px; }
.task-copy.done { color:#9aa19a; text-decoration:line-through; }
.task-note { display:block; margin-top:2px; color:#9ba29b; font-size:9px; text-decoration:none; }
.task-source { color:#a0a69f; font-size:9px; white-space:nowrap; }
.add-task-form { display:flex; gap:7px; margin-top:10px; }
.add-task-form input { flex:1; min-width:0; height:34px; padding:0 10px; border:1px solid #e5e8e0; border-radius:0; background:white; font-size:10px; }
.add-task-form input::placeholder { color:#a2a8a2; }
.status-line { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0 0; margin-top:14px; border-top:1px solid #eff0eb; color:#889188; font-size:9px; }
.project-note { margin-top:14px; padding:13px; border-radius:0; background:#f8f7f2; color:#778078; font-size:10px; line-height:1.6; }
.project-note strong { color:#556256; }
.project-header-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.library-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.library-count { color:#848d85; font-size:10px; }
.filter-row { display:flex; flex-wrap:wrap; gap:6px; }
.filter-chip { min-height:28px; padding:0 10px; border:1px solid #e4e7df; border-radius:0; background:white; color:#788178; cursor:pointer; font-size:9px; }
.filter-chip.active { background:#eaf0e8; color:#4e6651; border-color:#d6e0d4; font-weight:650; }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.resource-card { min-height:186px; display:flex; flex-direction:column; padding:15px; border:1px solid var(--line); border-radius:0; background:white; }
.resource-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.resource-icon { height:33px; width:33px; display:grid; place-items:center; border-radius:0; background:#eff2ec; color:#657764; font-size:15px; }
.save-resource { border:0; padding:4px; background:transparent; color:#b0b7af; font-size:17px; cursor:pointer; line-height:1; }
.save-resource.saved { color:#a67f4d; }
.resource-card h3 { margin:12px 0 5px; color:#465147; font-size:11px; line-height:1.4; font-weight:650; }
.resource-card p { margin:0; color:#838c84; font-size:9px; line-height:1.55; }
.resource-card-footer { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:auto; padding-top:13px; }
.resource-source { overflow:hidden; color:#a0a69f; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.resource-open { border:0; padding:0; color:#5a745e; background:transparent; cursor:pointer; font-size:9px; font-weight:650; white-space:nowrap; }
.empty-state { padding:36px 20px; text-align:center; color:#8b938b; font-size:11px; }
.empty-state strong { display:block; margin-bottom:4px; color:#566157; font-size:13px; }
.review-shell { max-width:920px; }
.review-banner { display:flex; align-items:flex-start; gap:13px; padding:17px; margin-bottom:15px; border:1px solid #e9e7dc; border-radius:0; background:#f9f7ef; }
.review-banner-icon { height:31px; width:31px; display:grid; place-items:center; flex:0 0 31px; border-radius:0; background:#efecde; color:#8a805a; }
.review-banner h2 { margin:1px 0 4px; color:#4f594d; font-size:12px; font-weight:650; }
.review-banner p { margin:0; color:#838981; font-size:10px; }
.review-form { display:grid; gap:12px; }
.review-field { padding:16px; }
.review-field label { display:flex; align-items:center; gap:8px; color:#465149; font-size:11px; font-weight:650; }
.review-field label span { display:grid; place-items:center; height:21px; width:21px; border-radius:0; background:#eef2eb; color:#637a62; font:500 10px Georgia,serif; }
.review-field p { margin:5px 0 9px 29px; color:#89918a; font-size:9px; }
.review-field textarea { display:block; width:100%; min-height:68px; resize:vertical; padding:10px 11px; border:1px solid #e6e9e2; border-radius:0; color:#526056; background:#fff; font-size:10px; line-height:1.6; }
.review-field textarea::placeholder { color:#a4aaa3; }
.review-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:2px 0; }
.review-footer span { color:#939a93; font-size:9px; }
.review-success { color:#648069 !important; }
.review-side-note { padding:18px; }
.review-side-note h3 { margin:0 0 7px; color:#4a574c; font-size:12px; }
.review-side-note p { margin:0; color:#828a83; font-size:10px; line-height:1.65; }
.review-cue { margin-top:12px; padding:11px; border-radius:0; background:#f2f5ef; color:#6b7c6c; font:italic 12px Georgia,serif; }
.review-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr); gap:15px; align-items:start; }
.prototype-banner { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 11px; margin:0 0 18px; border:1px solid #e9ebe4; border-radius:0; background:rgba(255,255,255,.55); color:#889188; font-size:9px; }
.prototype-banner strong { color:#68776a; font-weight:650; }
.prototype-banner button { border:0; padding:0; background:none; color:#6b7e6c; font-size:9px; cursor:pointer; }
.app-footer { display:flex; justify-content:space-between; gap:12px; padding:12px 42px 18px; border-top:1px solid rgba(225,228,220,.85); color:#939a93; font-size:9px; }
.modal-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; overflow:auto; padding:24px; background:rgba(31,42,34,.33); backdrop-filter:blur(3px); }
.modal { width:min(560px,100%); max-height:min(88vh,800px); overflow:auto; padding:22px; border:1px solid rgba(255,255,255,.7); border-radius:0; background:#fff; box-shadow:0 22px 70px rgba(28,39,30,.22); animation:modal-in .18s ease-out; }
@keyframes modal-in { from { transform:translateY(6px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:15px; }
.modal-head h2 { margin:3px 0 0; color:#344239; font:500 22px/1.22 Georgia,serif; letter-spacing:-.02em; }
.modal-close { height:29px; width:29px; display:grid; place-items:center; border:1px solid #eceee8; border-radius:0; background:#fff; color:#7f8980; cursor:pointer; font-size:17px; }
.modal-body { color:#717b73; font-size:11px; line-height:1.65; }
.modal-body p { margin:0 0 12px; }
.modal-body strong { color:#4d5a4f; }
.modal-callout { padding:13px; margin:13px 0; border-radius:0; background:#f5f7f2; color:#687469; font-size:10px; line-height:1.6; }
.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:17px; }
.ai-modal-label { display:inline-flex; align-items:center; gap:6px; color:#768676; font-size:9px; letter-spacing:.1em; text-transform:uppercase; font-weight:650; }
.ai-preview-note { padding:10px 11px; margin-bottom:13px; border-radius:0; background:#f7f7f2; color:#858b82; font-size:9px; }
.ai-suggestions { display:grid; gap:7px; margin:11px 0 0; }
.ai-suggestion { display:flex; align-items:flex-start; gap:9px; padding:9px; border:1px solid #eceee8; border-radius:0; background:#fcfcfa; color:#59645b; font-size:10px; line-height:1.45; }
.ai-suggestion input { margin-top:2px; accent-color:#637b63; }
.draft-copy { padding:15px; border-left:3px solid #a3b39f; border-radius:0; background:#f7f8f4; color:#4e5b51; font:15px/1.65 Georgia,serif; }
.form-grid { display:grid; gap:11px; }
.form-field label { display:block; margin-bottom:5px; color:#5b665c; font-size:10px; font-weight:650; }
.form-field input,.form-field textarea { display:block; width:100%; padding:10px 11px; border:1px solid #e4e8e0; border-radius:0; background:#fff; color:#49554c; font-size:10px; }
.form-field textarea { min-height:70px; resize:vertical; }
.toast-region { position:fixed; bottom:22px; right:22px; z-index:40; display:grid; gap:8px; }
.toast { max-width:min(360px,calc(100vw - 36px)); padding:11px 15px; border:1px solid #dce5d9; border-radius:0; background:#fff; box-shadow:var(--shadow); color:#526353; font-size:10px; animation:modal-in .15s ease-out; }
.toast.error { border-color:#ead6ce; color:#8b5f4c; }

@media (max-width: 1120px) {
  .topbar { padding:0 26px; }
  .main-content { padding:28px 26px 36px; }
  .app-footer { padding-left:26px; padding-right:26px; }
  .sidebar { width:220px; }
  .main-area { margin-left:220px; }
  .grid-two { grid-template-columns:minmax(0,1.3fr) minmax(245px,.8fr); }
  .project-mini-grid,.library-grid,.integration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .sidebar { width:100%; height:65px; inset:auto 0 0; flex-direction:row; align-items:center; padding:6px 10px; border-right:0; border-top:1px solid var(--line); background:rgba(251,251,248,.97); backdrop-filter:blur(12px); }
  .brand-lockup,.workspace-switcher,.nav-caption,.sidebar-spacer,.calm-note,.sidebar-footer { display:none; }
  .primary-nav { width:100%; display:grid; grid-template-columns:repeat(5,1fr); gap:3px; }
  .nav-link { height:50px; flex-direction:column; justify-content:center; gap:1px; padding:2px; font-size:9px; }
  .nav-icon { width:auto; font-size:17px; }
  .nav-count { display:none; }
  .main-area { margin-left:0; padding-bottom:65px; }
  .topbar { height:62px; padding:0 19px; }
  .breadcrumb span:first-child,.breadcrumb .crumb-divider { display:none; }
  .global-search-wrap { width:min(230px,39vw); }
  .user-chip > span:not(.user-avatar), .help-button { display:none; }
  .main-content { padding:24px 19px 30px; }
  .grid-two { grid-template-columns:minmax(0,1fr); }
  .dashboard-hero { min-height:210px; }
  .app-footer { padding:11px 19px 14px; }
}
@media (max-width: 620px) {
  .topbar { gap:10px; }
  .topbar-actions { gap:7px; }
  .global-search-wrap { width:38vw; height:33px; }
  .global-search-wrap input { font-size:10px; }
  .global-search-wrap kbd { display:none; }
  .page-intro { align-items:flex-start; flex-direction:column; margin-bottom:19px; }
  .page-intro > .button,.page-intro > .intro-meta { align-self:flex-start; }
  .dashboard-hero { padding:19px; }
  .hero-bottom { align-items:flex-start; flex-direction:column; margin-top:18px; }
  .hero-footnote { display:none; }
  .project-mini-grid,.library-grid,.integration-grid { grid-template-columns:1fr; }
  .integration-intro { align-items:flex-start; }
  .integration-preview-label { display:none; }
  .project-mini-card p { min-height:0; }
  .method-strip { grid-template-columns:repeat(2,1fr); }
  .method-step:nth-child(2) { border-right:0; }
  .method-step:nth-child(-n+2) { border-bottom:1px solid #eceee8; }
  .projects-layout,.review-layout { grid-template-columns:minmax(0,1fr); }
  .project-sidebar-card { padding:13px; }
  .project-list { grid-template-columns:1fr; }
  .project-detail { padding:16px; }
  .detail-top { flex-direction:column; }
  .detail-actions { justify-content:flex-start; }
  .project-meta-grid { grid-template-columns:1fr; }
  .project-meta-cell { padding:9px 10px; }
  .library-toolbar { align-items:flex-start; flex-direction:column; }
  .review-footer { align-items:flex-start; flex-direction:column; }
  .prototype-banner { align-items:flex-start; flex-direction:column; }
  .app-footer { font-size:8px; }
  .modal-backdrop { padding:13px; }
  .modal { padding:18px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* She Stays Mindful brand refresh: bright teal, deep teal, pale mint, and black. */
html,body,.app-shell,.main-area,.main-content { background:#fff !important; color:#000 !important; }
*,*::before,*::after { border-radius:0 !important; }
body * { color:#000 !important; border-color:rgba(3,99,101,.2) !important; }
button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible { outline:3px solid #12c8d5 !important; outline-offset:2px; }
::selection { background:#12c8d5; color:#000; }

.sidebar,.topbar,.workspace-switcher,.global-search-wrap,.card,.modal,.toast,.resource-card,.project-mini-card,.project-row,.method-strip,.help-button,.user-avatar { background:#fff !important; }
.sidebar,.topbar,.workspace-switcher,.global-search-wrap,.card,.modal,.toast,.resource-card,.project-mini-card,.project-row,.method-strip { border-color:#b8f1ef !important; }
.brand-mark { background:#036365 !important; border-color:#036365 !important; }
.brand-mark span { border-color:#b8f1ef !important; }
.workspace-avatar,.calm-note,.strategy-source,.step-number,.project-symbol,.project-meta-cell,.project-note,.ai-card,.ai-orb,.source-icon,.review-banner,.review-cue,.modal-callout,.ai-preview-note,.ai-suggestion,.draft-copy,.prototype-banner,.toast.error { background:#b8f1ef !important; }
.calm-note-icon,.user-avatar,.capacity-option.selected,.review-banner-icon,.review-field label span,.filter-chip.active,.resource-icon,.modal-close { background:#12c8d5 !important; }

.product-subtitle,.workspace-copy .eyebrow,.chevron,.nav-caption,.nav-count,.nav-icon,.sidebar-footer,.breadcrumb,.crumb-divider,.page-kicker,.intro-meta,.card-description,.soft-label,.small-muted,.capacity-note,.detail-desc,.task-note,.task-source,.status-line,.library-count,.resource-source,.empty-state,.review-field p,.review-footer span,.review-side-note p,.prototype-banner,.app-footer,.ai-disclaimer,.ai-heading span,.global-search-wrap,.global-search-wrap input::placeholder,.global-search-wrap kbd { color:#036365 !important; }
.nav-link,.nav-link .nav-icon,.text-button,.inline-link,.resource-open,.button-quiet,.review-success,.badge,.badge-clay,.badge-blue,.badge-neutral { color:#036365 !important; }
.nav-link:hover,.button-secondary:hover,.button-quiet:hover,.project-mini-card:hover,.project-row:hover,.task-row:hover { background:#b8f1ef !important; }
.nav-link.active { background:#12c8d5 !important; color:#000 !important; }
.nav-link.active .nav-icon { color:#000 !important; }
.calm-note p,.calm-note p strong,.text-button:hover,.inline-link:hover { color:#000 !important; }
.status-dot { background:#12c8d5 !important; }

.button-primary { background:#036365 !important; border-color:#036365 !important; color:#fff !important; }
.button-primary:hover { background:#12c8d5 !important; border-color:#12c8d5 !important; color:#000 !important; }
.button-secondary { background:#fff !important; border-color:#036365 !important; color:#036365 !important; }
.button-quiet { background:transparent !important; }
.badge,.badge-clay,.badge-blue,.badge-neutral { background:#b8f1ef !important; }
.dashboard-hero { background:#036365 !important; border-color:#12c8d5 !important; box-shadow:0 13px 35px rgba(3,99,101,.16); }
.dashboard-hero,.dashboard-hero * { color:#fff !important; }
.dashboard-hero .hero-topline,.dashboard-hero p,.dashboard-hero .hero-footnote { color:#b8f1ef !important; }
.dashboard-hero:before,.dashboard-hero:after { display:none !important; }
.dashboard-hero .status-dot { background:#12c8d5 !important; }
.dashboard-hero .button-primary,.dashboard-hero .button-primary:hover { background:#12c8d5 !important; border-color:#12c8d5 !important; color:#000 !important; }
.capacity-option { background:#fff !important; color:#036365 !important; }
.capacity-option.selected { border-color:#036365 !important; color:#000 !important; font-weight:700; }
.progress-track { background:#b8f1ef !important; }
.progress-fill { background:#12c8d5 !important; }
.method-step strong,.section-heading h2,.card-title,.next-step-main h3,.project-mini-card h3,.project-row-copy strong,.detail-top h2,.project-note strong,.resource-card h3,.empty-state strong,.review-banner h2,.review-field label,.review-side-note h3,.modal-head h2,.modal-body strong { color:#036365 !important; }
.project-row.selected { background:#b8f1ef !important; border-color:#036365 !important; box-shadow:inset 4px 0 0 #12c8d5 !important; }
.task-row { background:#fff !important; }
.task-row:hover { background:#b8f1ef !important; }
.task-check,.ai-suggestion input { accent-color:#12c8d5 !important; }
.task-copy.done { color:#036365 !important; }
.filter-chip { background:#fff !important; color:#036365 !important; }
.filter-chip.active { background:#12c8d5 !important; border-color:#036365 !important; color:#000 !important; }
.save-resource.saved { color:#036365 !important; }
.review-banner,.review-cue,.modal-callout,.ai-preview-note,.ai-suggestion,.draft-copy,.toast.error { border-color:#036365 !important; }
.review-field textarea,.form-field input,.form-field textarea,.add-task-form input { background:#fff !important; color:#000 !important; border-color:#036365 !important; }
input::placeholder,textarea::placeholder { color:#036365 !important; opacity:.8; }
.modal-backdrop { background:rgba(0,0,0,.4) !important; }
.toast,.toast.error { background:#b8f1ef !important; color:#000 !important; border-color:#036365 !important; }

.integration-boundary { color:#036365 !important; }
.integration-intro { display:flex; align-items:center; gap:14px; padding:17px; margin-bottom:15px; border:1px solid #036365 !important; background:#b8f1ef; }
.integration-intro-mark { flex:0 0 36px; height:36px; display:grid; place-items:center; background:#12c8d5; color:#000 !important; font-size:20px; }
.integration-intro h2 { margin:0 0 3px; color:#036365 !important; font-size:12px; font-weight:700; }
.integration-intro p { max-width:760px; margin:0; color:#036365 !important; font-size:10px; }
.integration-preview-label { margin-left:auto; padding:5px 8px; border:1px solid #036365 !important; color:#036365 !important; font-size:9px; white-space:nowrap; }
.integration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.integration-card { min-height:222px; display:flex; flex-direction:column; padding:16px; border:1px solid #b8f1ef !important; background:#fff; }
.integration-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.integration-service-mark { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border:1px solid #036365 !important; background:#b8f1ef; color:#036365 !important; font-size:11px; font-weight:750; letter-spacing:-.04em; }
.integration-state { display:inline-flex; align-items:center; gap:6px; padding:5px 7px; border:1px solid #b8f1ef !important; color:#036365 !important; font-size:9px; white-space:nowrap; }
.integration-state-dot { width:6px; height:6px; background:#12c8d5; }
.integration-category { margin-top:13px; color:#036365 !important; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.integration-card h2 { margin:3px 0 6px; color:#036365 !important; font-size:15px; font-weight:700; letter-spacing:-.02em; }
.integration-card > p { margin:0; color:#000 !important; font-size:10px; line-height:1.55; }
.integration-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:14px; }
.integration-option-label { color:#036365 !important; font-size:9px; }
.integration-card .button-secondary { min-height:30px; }
.integration-next-step { margin-top:14px; padding:14px 16px; border-left:3px solid #12c8d5 !important; background:#b8f1ef; }
.integration-next-step strong { color:#036365 !important; font-size:10px; }
.integration-next-step p { margin:3px 0 0; color:#036365 !important; font-size:10px; }
.integration-detail-role { padding:12px; margin:12px 0; border:1px solid #036365 !important; background:#b8f1ef; }
.integration-detail-role strong { color:#036365 !important; }
.integration-detail-role p { margin:4px 0 0; color:#036365 !important; }
