/* Aethelsolutions / Horizonte — surface, typography, motion and interaction system.
   Feature styles retain structural rules. These tokens and components own appearance. */
:root {
  --ah-paper:#f5f4ef; --ah-white:#fffefa; --ah-ink:#193a36; --ah-muted:#60716a;
  --ah-green:#214e43; --ah-dark:#143c32; --ah-lime:#daeea3; --ah-coral:#e9aa91;
  --ah-line:#dfe4da; --ah-wash:#edf1e8; --ah-red:#a13d2f; --ah-shadow:0 12px 36px #1b3b3210;
  --dn-blue:var(--ah-green); --dn-blue-dark:var(--ah-dark); --dn-blue-tint:#e9efe6;
  --dn-orange:#a75238; --dn-orange-tint:#fbede3; --dn-orange-soft:#f3d5c4;
  --dn-navy:var(--ah-ink); --dn-ground:var(--ah-paper); --dn-card:var(--ah-white);
  --dn-line:var(--ah-line); --dn-line-2:#ced7ca; --dn-ink:var(--ah-ink); --dn-ink-2:#405950; --dn-muted:var(--ah-muted);
  --dn-display:'Bricolage Grotesque',sans-serif; --dn-sans:'Geist',system-ui,sans-serif;
  --bg:var(--ah-paper); --bg2:#ecefe6; --bg3:#e8ede2; --card:var(--ah-white);
  --text:var(--ah-ink); --text2:#405950; --text3:var(--ah-muted);
  --blue:var(--ah-green); --purple:#766276; --green:#2d674e; --red:var(--ah-red);
  --border:var(--ah-line); --border2:#c8d3c3; --gradient:linear-gradient(120deg,#214e43,#357464);
  --font:var(--dn-sans); --sidebar-w:236px; --radius:16px; --shadow:var(--ah-shadow);
}
html { color-scheme:light; scroll-behavior:smooth; }
body { background:var(--ah-paper); color:var(--ah-ink); font-family:var(--dn-sans); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font-family:inherit; }
button { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #a85a39!important; outline-offset:3px; }
::selection { background:#d6e8ba; color:#143c32; }
.ah-skip { position:fixed; top:-80px; left:20px; z-index:20000; padding:14px 20px; background:var(--ah-dark); color:white; border-radius:12px; }
.ah-skip:focus { top:12px; }
[hidden] { display:none!important; }
.main-app { background:var(--ah-paper); }
.sidebar { width:var(--sidebar-w); background:#eeefe8; border-right:1px solid var(--ah-line); color:var(--ah-ink); box-shadow:none; padding:0; }
.sidebar::before,.sidebar::after { display:none; }
.sidebar-header { padding:27px 22px 24px; border-bottom:0; }
.sidebar-logo { gap:11px; color:var(--ah-ink); font-family:var(--dn-sans); letter-spacing:-.7px; font-size:20px; align-items:center; line-height:1.2; }
.sidebar-logo>span:last-child { max-width:165px; white-space:normal; }
.sidebar-logo .ah-brand-light { font-weight:400; }
.sidebar-logo small { display:block; font:500 9px/1.3 var(--dn-sans); letter-spacing:3px; margin-top:5px; }
.ah-brand-symbol { display:flex; width:34px; height:40px; color:var(--ah-green); flex:none; }
.ah-brand-symbol svg { width:100%; height:100%; }
.sidebar .sidebar-user { border-radius:0; border-left:0; border-right:0; box-shadow:none; margin:0 16px 18px; padding:12px 9px; border-top:1px solid #d8dfd2; border-bottom:1px solid #d8dfd2; background:transparent; gap:10px; }
.user-avatar { width:35px; height:35px; border-radius:50%; background:var(--ah-lime); color:var(--ah-dark); box-shadow:none; border:1px solid #cad7ae; }
.sidebar .user-name { color:var(--ah-ink); font-size:12px; }
.sidebar .user-area { color:var(--ah-muted); font-size:11px; }
.sidebar-nav { padding:0 12px 16px; scrollbar-width:thin; scrollbar-color:#c6d0c0 transparent; }
.ah-nav-group { margin:0 0 14px; }
.sidebar .nav-section { font:600 9px/1.4 var(--dn-sans); letter-spacing:1.4px; text-transform:uppercase; color:#657268; padding:10px 12px 8px; margin:0; }
.sidebar summary.nav-section { cursor:pointer; min-height:40px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.sidebar summary.nav-section::after { content:'+'; font-size:17px; font-weight:400; }
.sidebar details[open]>summary.nav-section::after { content:'−'; }
.sidebar .nav-item { min-height:41px; margin:2px 0; padding:10px 13px; border:0; border-radius:8px; gap:11px; background:transparent; color:#4e6259; font-size:12px; font-weight:500; text-align:left; transition:background .16s,color .16s; white-space:normal; }
.sidebar .nav-item::before,.sidebar .nav-item::after { display:none; }
.sidebar .nav-item svg { width:17px; height:17px; color:inherit; opacity:.8; flex:none; }
.sidebar .nav-item:hover { background:#e2e8d9; color:var(--ah-ink); transform:none; }
.sidebar .nav-item.active,.sidebar .nav-item[aria-current=page] { background:var(--ah-green); color:#fff; box-shadow:0 5px 12px #214e4315; }
.sidebar .nav-item .nav-badge { background:#daeea3; color:var(--ah-dark); }
.sidebar-footer { padding:12px 18px 20px; border-top:1px solid var(--ah-line); background:transparent; }
.sidebar .btn-logout,.ah-sidebar-preferences { display:flex; align-items:center; gap:10px; border:0; background:transparent; color:#56685e; font-size:11px; padding:10px 6px; width:100%; cursor:pointer; border-radius:7px; }
.sidebar .btn-logout:hover,.ah-sidebar-preferences:hover { background:#e1e7d9; color:var(--ah-ink); }
.ah-sidebar-preferences svg { width:16px; height:16px; }
.content-wrapper { margin-left:var(--sidebar-w); min-width:0; }
.app-header,.app-header.dn-scrolled { min-height:82px; height:auto; background:var(--ah-paper); border-bottom:1px solid var(--ah-line); padding:17px 36px; box-shadow:none; gap:24px; backdrop-filter:none; }
.ws-header-product { font-size:8px; letter-spacing:1.7px; color:#6a796f; }
.page-title { font-family:var(--dn-sans); font-size:15px; font-weight:600; margin-top:5px; letter-spacing:-.3px; }
.ws-header-search { max-width:390px; border:0; background:transparent; padding:0; box-shadow:none; }
.ah-search-trigger { border:1px solid #dce1d5; background:#eeefe7; border-radius:9px; padding:10px 13px; display:flex; align-items:center; gap:12px; width:100%; color:#5b6e63; cursor:pointer; }
.ah-search-trigger svg { width:16px; height:16px; }
.ah-search-trigger span { flex:1; font-size:11px; text-align:left; }
.ah-search-trigger kbd { border:1px solid #d0d9ca; color:#657361; border-radius:4px; padding:2px 4px; background:#f6f7f0; font-size:9px; }
.header-date { font-size:10px; color:var(--ah-muted); }
.notification-bell { color:var(--ah-green); background:transparent; border:1px solid var(--ah-line); border-radius:50%; width:36px; height:36px; }
.view-area { padding:26px 36px 28px; background:var(--ah-paper); }
.view { animation:ah-enter .24s ease both; }
.ah-dashboard { max-width:1440px; margin:0 auto; }
.ah-overline { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ah-overline>span { display:flex; align-items:center; gap:8px; font-size:9px; font-weight:600; letter-spacing:1.4px; }
.ah-overline i { width:6px; height:6px; background:#51775b; border-radius:50%; }
.ah-link { display:inline-flex; align-items:center; gap:9px; color:var(--ah-green); background:none; border:0; font-size:11px; font-weight:600; padding:6px 0; cursor:pointer; text-align:left; }
.ah-link svg { width:16px; height:16px; flex:none; transition:transform .18s; }
.ah-link:hover svg { transform:translateX(3px); }
.ah-button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 19px; min-height:44px; border:1px solid #c7d1c0; border-radius:9px; font-size:12px; font-weight:500; color:var(--ah-green); background:var(--ah-white); cursor:pointer; transition:background .16s,transform .16s; }
.ah-button svg { width:17px; height:17px; }
.ah-button:hover { background:#e8eedf; transform:translateY(-1px); }
.ah-primary { color:white; background:var(--ah-green); border-color:var(--ah-green); box-shadow:0 5px 11px #214e4314; }
.ah-primary:hover { color:white; background:var(--ah-dark); }
.ah-welcome { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; min-height:295px; gap:30px; padding:32px 0 36px; }
.ah-hello { font-size:14px; color:#64756b; margin:0 0 10px; }
.ah-welcome h1 { font-family:var(--dn-display); font-size:clamp(32px,3.3vw,51px); font-weight:700; letter-spacing:-2px; line-height:1.04; color:var(--ah-ink); margin:0; }
.ah-welcome h1>span { color:#718471; }
.ah-intro { margin:17px 0 0; font-size:13px; line-height:1.65; color:var(--ah-muted); }
.ah-welcome-actions { display:flex; align-items:center; gap:22px; margin-top:22px; }
.ah-emblem { width:248px; height:248px; position:relative; display:grid; place-items:center; justify-self:end; overflow:hidden; background:#e8eddf; border-radius:50%; border:1px solid #d9e0ce; }
.ah-emblem-grid { position:absolute; inset:0; background:linear-gradient(90deg,#72846612 1px,transparent 1px),linear-gradient(#72846612 1px,transparent 1px); background-size:22px 22px; transform:rotate(-25deg) scale(1.4); }
.ah-emblem-mark { width:120px; height:120px; color:var(--ah-green); transform:rotate(-9deg); }
.ah-emblem-mark svg { width:100%; height:100%; }
.ah-orbit { position:absolute; width:222px; height:98px; border:1px solid #9aac89; border-radius:50%; transform:rotate(-35deg); }
.ah-orbit-two { transform:rotate(50deg); width:185px; height:235px; border-color:#b8c6a7; }
.ah-emblem-caption { position:absolute; bottom:29px; font:500 7px var(--dn-sans); letter-spacing:1.8px; color:#5e7254; }
.ah-emblem-dot { position:absolute; left:25px; top:73px; width:22px; height:22px; border-radius:50%; background:var(--ah-coral); border:5px solid var(--ah-paper); }
.ah-signal-strip { display:flex; border-top:1px solid var(--ah-line); border-bottom:1px solid var(--ah-line); padding:20px 0; margin-bottom:33px; }
.ah-signal { flex:1; min-width:0; padding:0 22px; border:0; border-right:1px solid var(--ah-line); background:none; text-align:left; color:var(--ah-ink); cursor:pointer; }
.ah-signal:first-child { padding-left:0; }
.ah-signal:last-child { border-right:0; }
.ah-signal>span { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:11px; color:var(--ah-muted); }
.ah-signal svg { width:14px; height:14px; transition:transform .18s; }
.ah-signal:hover svg { transform:translateX(4px); }
.ah-signal strong { display:block; font-family:var(--dn-display); font-size:36px; line-height:1; letter-spacing:-1.5px; font-weight:700; margin-top:12px; }
.ah-signal.coral strong { color:#a2523e; }
.ah-signal.amber strong { color:#8a7037; }
.ah-work-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:30px; align-items:start; }
.ah-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:17px; }
.ah-kicker { font-size:8px; font-weight:600; letter-spacing:1.5px; color:#647668; display:block; margin-bottom:7px; }
.ah-section-heading h2,.ah-activity h2 { font:700 24px/1.2 var(--dn-display); letter-spacing:-.8px; margin:0; color:var(--ah-ink); }
.ah-live-label { font-size:9px; color:#6e7d6c; white-space:nowrap; }
.ah-tabs { display:flex; gap:4px; border-bottom:1px solid var(--ah-line); padding-bottom:12px; overflow:auto; scrollbar-width:thin; }
.ah-tabs>button { border:0; background:transparent; border-radius:7px; padding:8px 11px; color:#5e7167; font-size:11px; cursor:pointer; white-space:nowrap; transition:background .16s; }
.ah-tabs>button[aria-pressed=true] { background:var(--ah-green); color:white; }
.ah-tabs>button:hover:not([aria-pressed=true]) { background:#e5ebdc; }
.ah-task { display:flex; gap:14px; align-items:center; width:100%; text-align:left; border:0; border-bottom:1px solid var(--ah-line); background:none; color:var(--ah-ink); padding:19px 6px 19px 0; cursor:pointer; transition:background .16s,padding .16s; }
.ah-task:hover { background:#ecefe5; padding-left:8px; }
.ah-task-index { align-self:flex-start; padding-top:6px; font:400 10px var(--dn-mono); color:#7d8d7b; width:22px; flex:none; }
.ah-task-copy { display:block; min-width:0; flex:1; }
.ah-task-meta { display:flex; align-items:center; gap:9px; font:400 10px var(--dn-mono); color:#6d7d71; flex-wrap:wrap; }
.ah-tag { display:inline-flex; align-items:center; gap:4px; border-radius:4px; font:500 10px var(--dn-sans); padding:3px 6px; background:#e6eae0; color:#4e6353; font-style:normal; }
.ah-tag::before { content:''; width:4px; height:4px; background:currentColor; border-radius:50%; }
.ah-tag.coral { background:#f4e0d5; color:#96412e; }
.ah-tag.amber { background:#f0e9ca; color:#786021; }
.ah-tag.green { background:#e2ebd6; color:#45622f; }
.ah-task-copy>strong { display:block; font-size:14px; font-weight:600; letter-spacing:-.2px; margin:6px 0 5px; overflow-wrap:anywhere; }
.ah-task-copy>small { display:block; font-size:12px; line-height:1.6; color:#647469; }
.ah-task-arrow { width:27px; height:27px; display:grid; place-items:center; border:1px solid #d5dece; border-radius:50%; transition:background .16s,color .16s; flex:none; }
.ah-task-arrow svg { width:14px; height:14px; }
.ah-task:hover .ah-task-arrow { color:white; background:var(--ah-green); border-color:var(--ah-green); }
.ah-list-foot { display:flex; justify-content:space-between; align-items:center; margin:13px 0; font-size:9px; color:#657969; }
.ah-horizon { background:#eaf0df; border:1px solid #dbe4ce; padding:23px; border-radius:15px; }
.ah-horizon .ah-section-heading { margin-bottom:9px; }
.ah-horizon .ah-section-heading>svg { width:19px; height:19px; color:#63794f; }
.ah-horizon .ah-section-heading h2 { font-size:23px; }
.ah-horizon>p { font-size:10px; line-height:1.65; color:#5d7252; }
.ah-range { display:flex; gap:5px; margin:17px 0 22px; }
.ah-range>button { flex:1; border:1px solid #cfdcc0; border-radius:6px; background:transparent; color:#527046; font-size:10px; padding:7px; cursor:pointer; }
.ah-range>button[aria-pressed=true] { background:var(--ah-green); color:white; border-color:var(--ah-green); }
.ah-calendar-chart { height:79px; display:flex; gap:10px; align-items:stretch; margin-bottom:25px; }
.ah-calendar-chart>div { flex:1; display:flex; flex-direction:column; justify-content:flex-end; position:relative; }
.ah-calendar-chart i { height:var(--height); max-height:100%; min-height:3px; background:#8da96f; border-radius:4px 4px 0 0; transition:height .25s ease; }
.ah-calendar-chart>div:first-child i { background:var(--ah-green); }
.ah-calendar-chart i.empty { background:#cbd9bc; }
.ah-calendar-chart span { position:absolute; top:calc(100% + 7px); font:400 8px var(--dn-mono); color:#617553; width:100%; text-align:center; }
.ah-horizon-count { font-size:10px; color:#506846; border-bottom:1px solid #d0ddc1; padding:9px 0 16px; }
.ah-horizon-count strong { font-family:var(--dn-display); font-size:24px; margin-right:4px; }
.ah-date-row { display:flex; align-items:center; gap:10px; padding:12px 0; width:100%; background:none; border:0; border-bottom:1px solid #d0ddc1; color:var(--ah-ink); text-align:left; cursor:pointer; }
.ah-date-chip { display:grid; place-items:center; flex:none; border:1px solid #c8d7b7; width:34px; height:40px; border-radius:6px; font:700 17px var(--dn-display); background:#f5f8ee; }
.ah-date-chip small { font:500 8px var(--dn-sans); padding-bottom:4px; }
.ah-date-row>span:nth-child(2) { min-width:0; flex:1; }
.ah-date-row strong { display:block; font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ah-date-row>span:nth-child(2)>small { display:block; font-size:9px; color:#5f7552; margin-top:4px; }
.ah-date-row>svg { width:13px; height:13px; flex:none; }
.ah-calendar-link { margin-top:15px; font-size:10px; }
.ah-muted { font-size:10px; color:#61735e; line-height:1.7; margin:12px 0 0; }
.ah-pipeline { margin:36px 0; padding:25px 0; border-top:1px solid var(--ah-line); border-bottom:1px solid var(--ah-line); }
.ah-stages { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.ah-stages>button { display:flex; flex-direction:column; align-items:flex-start; gap:8px; background:var(--ah-white); color:var(--ah-ink); border:1px solid var(--ah-line); border-radius:9px; padding:13px 16px 17px; cursor:pointer; transition:background .16s,transform .16s; }
.ah-stages>button:hover { background:#e2ebd6; transform:translateY(-3px); }
.ah-stages>button:last-child { background:var(--ah-green); color:#e4efd8; border-color:var(--ah-green); }
.ah-stage-top { display:flex; width:100%; justify-content:space-between; align-items:center; opacity:.65; }
.ah-stage-top small { font:400 9px var(--dn-mono); }
.ah-stage-top svg { width:14px; height:14px; }
.ah-stages strong { font:700 32px/1 var(--dn-display); margin:7px 0 3px; }
.ah-stages>button>span:last-child { font-size:10px; }
.ah-bottom-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:35px; margin-bottom:35px; }
.ah-event { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid var(--ah-line); }
.ah-event-dot { width:7px; height:7px; background:#9bb688; border-radius:50%; margin-top:5px; flex:none; }
.ah-event p { margin:0 0 5px; font-size:11px; line-height:1.6; }
.ah-event time { font-size:9px; color:#687d68; }
.ah-next { padding:26px; border-radius:12px; border:1px solid #ead6c7; background:#f1e5d9; position:relative; overflow:hidden; }
.ah-next::after { content:''; position:absolute; right:-30px; top:35px; width:150px; height:150px; border:22px solid #b8845f14; border-radius:50%; pointer-events:none; }
.ah-next h2 { font:700 27px/1.1 var(--dn-display); letter-spacing:-.8px; margin:12px 0; }
.ah-next>p { font-size:11px; line-height:1.7; max-width:300px; margin-bottom:15px; color:#716354; }
.ah-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid var(--ah-line); padding:20px 0 4px; font-size:9px; color:#74816e; }
.ah-footer>span:first-child { font-size:8px; letter-spacing:1px; }
.ah-footer b { padding-left:8px; font-weight:400; }
.ah-empty { padding:34px 25px; text-align:center; background:#eef1e8; border-radius:10px; margin:18px 0; border:1px dashed #ccd7c3; }
.ah-empty>span { width:42px; height:42px; background:#e1ebd4; border-radius:50%; display:grid; place-items:center; margin:0 auto 14px; color:#56764b; }
.ah-empty svg { width:20px; height:20px; }
.ah-empty h3 { font:700 19px var(--dn-display); margin:0 0 9px; }
.ah-empty p { max-width:350px; margin:auto; color:#60735a; font-size:11px; line-height:1.7; }
.ah-empty-small { display:flex; align-items:center; gap:13px; padding:20px 0; }
.ah-empty-small svg { width:24px; height:24px; color:#7c916f; flex:none; }
.ah-empty-small p { font-size:11px; line-height:1.7; }
.ah-empty-small small { display:block; font-size:10px; color:#73836a; }
.ah-fetch { display:flex; gap:8px; align-items:center; font-size:10px; color:#63765d; padding:12px 0; }
.ah-spinner { width:12px; height:12px; border:2px solid #ccd8c1; border-top-color:#406447; border-radius:50%; animation:ah-spin 1s linear infinite; }
.ah-inline-error { margin:14px 0; padding:12px; border-radius:8px; background:#fae8dc; border:1px solid #e6c6b3; color:#894c31; font-size:11px; line-height:1.6; }
.ah-inline-error button { color:inherit; background:none; text-decoration:underline; border:0; cursor:pointer; padding:5px; font-weight:600; }
.ah-module-header { display:flex; gap:25px; align-items:center; justify-content:space-between; padding:20px 0 32px; border-bottom:1px solid var(--ah-line); margin-bottom:25px; }
.ah-module-header h1 { font:700 clamp(28px,3vw,43px)/1.1 var(--dn-display); letter-spacing:-1.5px; margin:10px 0 13px; }
.ah-module-header p { font-size:12px; color:var(--ah-muted); }
.ah-module-number { text-align:right; flex:none; }
.ah-module-number strong { display:block; font:700 60px/1 var(--dn-display); color:#73906e; letter-spacing:-3px; }
.ah-module-number span { display:block; font-size:10px; color:#667c5f; margin-top:8px; }
/* Existing modules now share a single visual language. */
.btn,.ws-btn,.vg-btn,.rd-btn { border-radius:8px; box-shadow:none; font-weight:500; transition:background .16s,color .16s,transform .16s; }
.btn-primary,.ws-primary { background:var(--ah-green); border-color:var(--ah-green); color:white; }
.btn-primary:hover,.ws-primary:hover { background:var(--ah-dark); border-color:var(--ah-dark); box-shadow:0 4px 10px #214e4318; }
.btn-outline,.ws-secondary { border-color:#ced8c7; background:var(--ah-white); color:var(--ah-green); }
.btn-outline:hover,.ws-secondary:hover { background:#e8eedf; border-color:#b4c5a8; }
.btn-danger { background:#a13d2f; color:white; }
.btn:active,.ah-button:active { transform:translateY(1px); }
.btn:disabled { opacity:.55; cursor:wait; }
input,select,textarea,.form-control { background:#fffefa; color:var(--ah-ink); border-color:#cbd6c2; border-radius:8px; }
input:focus,select:focus,textarea:focus { border-color:#66875c; box-shadow:0 0 0 3px #dce8cb; }
input::placeholder,textarea::placeholder { color:#83907c; }
.search-box,.view-toolbar .search-box { background:#fffefa; border-color:var(--ah-line); border-radius:8px; }
.card,.ws-surface,.table-wrap,.pv-table,.rh-table { background:var(--ah-white); border-color:var(--ah-line); box-shadow:none; border-radius:12px; }
.table-wrap th,table th { background:#ebf0e4; color:#5b7153; border-color:var(--ah-line); font-size:10px; letter-spacing:.4px; }
.table-wrap td,table td { border-color:var(--ah-line); }
.table-wrap tr:hover td { background:#f1f4eb; }
.ws-contract { background:var(--ah-white); border:1px solid var(--ah-line); border-radius:12px; box-shadow:none; transition:transform .18s,box-shadow .18s; }
.ws-contract:hover { border-color:#b5c7a8; transform:translateY(-3px); box-shadow:var(--ah-shadow); }
.ws-contract-avatar { background:#e9efde; color:var(--ah-green); border-radius:9px; }
.ws-contract-top,.ws-contract-data,.ws-contract-timing { border-color:var(--ah-line); }
.ws-contract-timing { background:#f0f4e7; color:#52694b; }
.ws-contract-actions { background:#f4f6ef; border-color:var(--ah-line); }
.ws-contract-title h3 { color:var(--ah-ink); }
.ws-contract-delete { color:var(--ah-red); }
.ws-open { background:var(--ah-green); color:white; }
.ws-filter-chips button.selected,.ws-view-switch button.selected { color:var(--ah-green); background:#e3ecd7; border-color:#b7c8a7; }
.ws-filter-chips button,.ws-view-switch button { font-size:11px; border-radius:7px; }
.ws-data-quality { color:#56704a; }
.ws-data-quality.has-missing { color:#936035; background:#f8ecdb; }
.ws-collection-head h2 { font-family:var(--dn-display); color:var(--ah-ink); }
.ws-collection-head h2>span { background:#e0eacf; color:#527044; }
.mesa-hero,.pv-hero,.ops-hero,.cc-hero,.rh-hero,.cm-hero { background:transparent; color:var(--ah-ink); border:0; border-bottom:1px solid var(--ah-line); box-shadow:none; border-radius:0; padding:12px 0 24px; }
.mesa-hero h1,.pv-hero h1,.ops-hero h1,.cc-hero h1 { color:var(--ah-ink); font-family:var(--dn-display); letter-spacing:-1px; }
.mesa-hero p,.mesa-eyebrow,.mesa-helper { color:#60765a; }
.mesa-actions .btn { font-size:11px; }
.mesa-kpis>div,.mesa-kpis>button { border-radius:9px; border-color:var(--ah-line); background:#edf2e5; box-shadow:none; color:var(--ah-ink); }
.mesa-kpis strong { color:var(--ah-green); }
.mesa-card { background:var(--ah-white); border:1px solid var(--ah-line); border-radius:12px; box-shadow:none; }
.mesa-card::before { background:#b8cea2; }
.mesa-card:hover { border-color:#9fb98c; box-shadow:var(--ah-shadow); transform:translateY(-3px); }
.mesa-card h3 { color:var(--ah-ink); }
.mesa-card-next { color:#536b48; background:#eef3e7; border-color:#dbe5d0; }
.mesa-state { border-radius:5px; background:#e4edda; color:#4e6b40; border-color:#c4d4b6; }
.mesa-card[data-tono=faltan] .mesa-state { background:#f3e2d5; color:#8b4d31; }
.mesa-board>section { background:#eef1e8; border-color:var(--ah-line); }
.mesa-toolbar { background:transparent; border-color:var(--ah-line); }
.mesa-tab-count,.ah-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; border-radius:4px; background:#e5ecd9; color:#4b673d; font-size:9px; margin-left:6px; }
.mesa-tabs { gap:4px; padding:12px 0; border-color:var(--ah-line); overflow-x:auto; scrollbar-width:thin; }
.mesa-tabs>button { border-radius:7px; font-size:10px; white-space:nowrap; background:transparent; color:#5c7255; padding:10px; }
.mesa-tabs>button.selected { background:var(--ah-green); color:white; }
.mesa-tabs>button.selected .ah-tab-count { background:#446e53; color:white; }
.mesa-pane { background:var(--ah-white); border:1px solid var(--ah-line); border-radius:12px; padding:25px; margin-top:12px; }
.mesa-pane h2 { font-family:var(--dn-display); color:var(--ah-ink); letter-spacing:-.4px; }
.mesa-aside { background:#eef3e5; border-color:#d4dfc9; border-radius:10px; }
.mesa-step { background:#f9faf5; border-color:var(--ah-line); color:var(--ah-ink); }
.mesa-step.current { background:#e5eed9; border-color:#b4c79e; }
.mesa-step.current>span,.mesa-step.done>span { background:var(--ah-green); color:white; }
.mesa-exp-header { padding-bottom:20px; }
.mesa-exp-header h1 { max-width:800px; font-size:clamp(25px,3vw,40px); overflow-wrap:anywhere; }
.mesa-exp-header .mesa-eyebrow { display:inline-block; margin:0 0 10px 12px; }
.ah-dossier-rail { background:var(--ah-green); border-radius:13px; color:#edf5e3; padding:19px 22px 22px; margin:21px 0; }
.ah-dossier-summary { display:flex; justify-content:space-between; gap:16px; align-items:center; padding-bottom:15px; border-bottom:1px solid #ffffff24; }
.ah-dossier-summary>span { display:flex; gap:7px; align-items:center; font-size:8px; letter-spacing:1.1px; color:#c6dfa9; white-space:nowrap; }
.ah-dossier-summary svg { width:15px; height:15px; }
.ah-dossier-summary>strong { font-size:11px; font-weight:400; color:#e1edce; text-align:right; }
.ah-journey { display:grid; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; gap:15px; margin-top:20px; }
.ah-journey>button { text-align:left; color:#c0d1b7; background:none; border:0; cursor:pointer; position:relative; padding:0; }
.ah-journey>button>span { display:grid; place-items:center; font:500 10px var(--dn-mono); width:26px; height:26px; border:1px solid #7a9d7d; border-radius:50%; margin-bottom:11px; background:#214e43; position:relative; z-index:1; }
.ah-journey>button>span svg { width:13px; height:13px; }
.ah-journey>button:not(:last-child)::after { content:''; position:absolute; height:1px; background:#729470; left:34px; top:13px; right:-7px; }
.ah-journey>button.current>span { background:var(--ah-lime); border-color:var(--ah-lime); color:#214e43; box-shadow:0 0 0 5px #daeea315; }
.ah-journey>button.done>span { background:#648668; color:#fff; }
.ah-journey>button strong { font-size:11px; font-weight:500; display:block; }
.ah-journey>button.current strong { color:#e8f6d0; }
.ah-journey>button small { display:block; font-size:9px; line-height:1.5; margin-top:5px; color:#bad0b3; }
.ah-journey>button:hover strong { text-decoration:underline; text-underline-offset:4px; }
.ah-journey.cancelled { opacity:.75; }
.mesa-guide { background:#f1f3e9; border-color:#d3ddc7; color:var(--ah-ink); box-shadow:none; }
.mesa-warning { background:#f7edd9; color:#80602d; border-color:#e9d4a7; }
.mesa-message { border-color:var(--ah-line); background:#f8faf2; }
.mesa-message.internal { background:#f5eadf; border-color:#e7d7c5; }
.mesa-history li { border-color:var(--ah-line); }
.mesa-wizard,.sol-wizard { color:var(--ah-ink); }
.modal-overlay { background:#102c2766; backdrop-filter:blur(4px); }
.modal { background:var(--ah-white); color:var(--ah-ink); border:1px solid #d0d9c7; border-radius:17px; box-shadow:0 30px 90px #18382c32; animation:ah-dialog .18s ease-out; }
.modal-header { border-color:var(--ah-line); background:#f7f8f1; }
.modal-title { font-family:var(--dn-display); font-weight:700; letter-spacing:-.5px; color:var(--ah-ink); }
.modal-footer { border-color:var(--ah-line); background:#f7f8f1; }
.modal-close { color:var(--ah-green); }
.pl-overlay { background:#102c2766; backdrop-filter:blur(4px); }
.pl-dialog { background:var(--ah-white); border:1px solid var(--ah-line); border-radius:14px; box-shadow:0 25px 90px #193a3633; }
.pl-search,.pl-foot { background:#eff3e7; border-color:var(--ah-line); }
.pl-option.active { background:#e7efd9; color:var(--ah-ink); }
.pl-code { background:#eef3e7; color:#5f7854; }
.pl-group { color:#64785b; }
.ah-preferences>p,.ah-evolution>p { font-size:13px; line-height:1.8; color:#586d50; }
.ah-preferences>label { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid var(--ah-line); }
.ah-preferences strong { font-size:14px; }
.ah-preferences small { display:block; font-size:11px; color:#64765d; line-height:1.6; margin-top:5px; }
.ah-preferences input { accent-color:var(--ah-green); width:20px; height:20px; flex:none; }
.ah-shortcut-note { display:flex; align-items:center; gap:6px; font-size:12px; margin:23px 0 6px; flex-wrap:wrap; }
.ah-shortcut-note kbd { padding:5px 8px; background:#e9efdf; border:1px solid #c7d4b9; border-radius:5px; }
.ah-shortcut-note span { margin-left:7px; font-size:11px; color:#617755; }
.ah-evolution article { display:flex; gap:19px; padding:21px 0; border-bottom:1px solid var(--ah-line); }
.ah-evolution article>span { font:700 27px var(--dn-display); color:#9caf88; }
.ah-evolution article small { font-size:8px; letter-spacing:1.5px; color:#6c815e; }
.ah-evolution article h3 { font:700 18px var(--dn-display); margin:5px 0 8px; }
.ah-evolution article p { font-size:12px; line-height:1.7; color:#5f7356; margin:0; }
/* Reduce legacy decorative machinery while keeping every business control. */
.dn-progress,.dn-ripple,.ws-sculpture,.vg-hero::after { display:none; }
.dn-reveal { opacity:1!important; transform:none!important; }
.fl,.cs,.hz,.hp { border-color:var(--ah-line); box-shadow:none; }
.fl { background:#edf2e4; }
.fl-track { background:#f9faf4; border-color:#d9e3cd; }
.fl-point { background:#f4f8eb; color:var(--ah-ink); }
.fl-count { color:var(--ah-green); }
.cs-orb,.fl-orbit,.fl-particle,.hz-beacon { animation:none!important; }
.ah-mobile-nav { display:none; }
/* A distinctive, lightweight cover: a connected ribbon, not simulated product data. */
#loadingScreen { background:var(--ah-paper)!important; }
#loadingScreen>div { color:var(--ah-green)!important; }
#loadingBar { background:var(--ah-green)!important; }
.login-screen { background:var(--ah-paper); padding:0; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr); min-height:100vh; align-items:stretch; gap:0; }
.login-bg,.login-blob { display:none; }
#loginScreen .login-brand { background:#153e34; color:#f1f5e8; padding:50px clamp(35px,5vw,90px) 32px; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-start; position:relative; overflow:hidden; }
.lb-mark { display:flex; gap:13px; align-items:center; position:relative; z-index:1; }
.lb-mark>svg { color:#d5e9a6; width:42px; height:42px; }
.lb-mark strong { font:500 23px var(--dn-sans); color:#eaf1df; letter-spacing:-.8px; }
.lb-mark small { font-size:9px; letter-spacing:3px; color:#b4c6a9; margin-top:6px; display:block; }
.lb-copy { margin-top:clamp(60px,12vh,135px); z-index:1; }
.lb-copy>span { display:block; color:#b9cf9d; font-size:9px; letter-spacing:2px; margin-bottom:22px; }
.lb-copy h2 { color:#eff4e4; font:700 clamp(40px,4.7vw,68px)/1.01 var(--dn-display); letter-spacing:-2.8px; max-width:600px; margin:0; }
.lb-copy h2 em { font-style:normal; color:#d4e99f; }
.lb-copy p { color:#b9cdb7; max-width:375px; margin:22px 0 0; font-size:13px; line-height:1.8; }
.ah-cover-art { height:220px; margin-top:35px; position:relative; flex:1; min-height:180px; max-height:300px; }
.ah-cover-art svg { width:100%; height:100%; overflow:visible; }
.ah-cover-art .art-ribbon { fill:none; stroke:#d6e8a0; stroke-width:34; }
.ah-cover-art .art-grid { stroke:#f0f5df; stroke-opacity:.07; fill:none; }
.ah-cover-art .art-outline { stroke:#7ca079; fill:none; stroke-width:1; }
.ah-cover-art circle { fill:#e9aa91; }
.ah-cover-label { position:absolute; left:0; bottom:4px; font-size:8px; letter-spacing:2px; color:#a9c19c; }
.lb-foot { display:flex; gap:12px; justify-content:space-between; margin-top:35px; padding-top:20px; border-top:1px solid #ffffff24; font-size:9px; letter-spacing:.5px; color:#b3c6a9; }
.login-card { align-self:center; justify-self:center; width:100%; max-width:420px; padding:48px 32px; background:transparent; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; margin:0; }
.login-logo { display:none; }
.ah-login-eyebrow { display:block; font-size:9px; letter-spacing:2px; font-weight:600; color:#607856; margin-bottom:16px; }
.login-title { font:700 37px/1.1 var(--dn-display); color:var(--ah-ink); letter-spacing:-1.5px; text-align:left; margin-bottom:14px; }
.login-desc { text-align:left; color:#66785e; font-size:13px; line-height:1.8; margin-bottom:28px; }
.login-form label { font-size:11px; color:#4b6641; margin-bottom:8px; }
.login-form input { min-height:48px; border-color:#ccd7bf; background:#fffefa; border-radius:9px; font-size:13px; padding:13px 14px; }
.login-form .input-with-icon input { padding-right:45px; }
.login-form .form-group { margin-bottom:19px; }
.login-form .btn-primary { min-height:48px; font-size:12px; margin-top:6px; }
#loginRecoveryButton { width:100%; margin-top:12px; background:none; border:0; font-size:11px; min-height:40px; color:#59774b; }
.login-hint { border-top:1px solid var(--ah-line); margin-top:28px; padding-top:18px; color:#718168; font-size:10px; text-align:left; line-height:1.7; }
.ah-login-note { font-size:10px; color:#738669; line-height:1.8; margin-top:24px; display:flex; gap:9px; align-items:flex-start; }
.ah-login-note svg { width:14px; height:14px; flex:none; margin-top:2px; }
.ah-compact .ah-task { padding-top:12px; padding-bottom:12px; }
.ah-compact .ws-contract-grid,.ah-compact .mesa-cards { gap:12px; }
.ah-compact .ws-contract,.ah-compact .mesa-card { padding:16px; }
.ah-compact .ah-welcome { min-height:235px; padding:24px 0; }
.ah-compact .ah-emblem { width:190px; height:190px; }
.ah-calm * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@keyframes ah-enter { from { opacity:.6; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@keyframes ah-dialog { from { opacity:.4; transform:translateY(8px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ah-spin { to { transform:rotate(360deg); } }
@media (min-width:1600px) { .view-area { padding-left:55px; padding-right:55px; } .ah-work-grid { grid-template-columns:minmax(0,1fr) 345px; gap:45px; } .ah-welcome { grid-template-columns:minmax(0,1fr) 320px; } .ah-emblem { width:275px; height:275px; } }
@media (max-width:1180px) { :root { --sidebar-w:212px; } .sidebar-header { padding:25px 17px; } .sidebar-logo { font-size:18px; gap:7px; } .app-header,.app-header.dn-scrolled { padding:16px 25px; gap:15px; } .view-area { padding:25px; } .header-date { display:none; } .ah-work-grid { grid-template-columns:minmax(0,1fr) 270px; gap:23px; } .ah-horizon { padding:20px; } .ah-welcome { grid-template-columns:minmax(0,1fr) 205px; gap:20px; } .ah-emblem { width:200px; height:200px; } .ah-welcome h1 { font-size:38px; } .ah-task { gap:10px; } .ah-live-label { display:none; } }
@media (max-width:980px) { .ah-work-grid { grid-template-columns:1fr; } .ah-horizon { display:block; } .ah-calendar-chart { height:70px; } .ah-bottom-grid { gap:23px; } .ah-welcome { grid-template-columns:1fr 170px; } .ah-emblem { width:165px; height:165px; } .ah-emblem-mark { width:86px; height:86px; } .ah-emblem-caption { font-size:5px; bottom:15px; } .ah-welcome h1 { font-size:34px; } .ah-signal { padding:0 14px; } .ah-signal>span { font-size:10px; } .ah-signal strong { font-size:31px; } .ah-stages>button { padding:11px; } .ah-stages>button>span:last-child { font-size:9px; } .login-screen { grid-template-columns:1fr 1fr; } .login-brand { padding:36px 30px; } .lb-copy h2 { font-size:47px; } .login-card { padding:35px; } }
@media (max-width:760px) {
  :root { --sidebar-w:255px; }
  .sidebar { transform:translateX(-100%); position:fixed; z-index:1200; height:100dvh; width:255px; transition:transform .2s; }
  .sidebar.open { transform:translateX(0); box-shadow:30px 0 100px #123c3233; }
  .sidebar-logo { font-size:21px; }
  .sidebar .nav-item { min-height:44px; font-size:13px; }
  .content-wrapper { margin-left:0; width:100%; }
  .app-header,.app-header.dn-scrolled { padding:13px 18px; min-height:68px; gap:12px; position:sticky; top:0; z-index:30; }
  .ws-header-product { font-size:6px; letter-spacing:1.3px; }
  .page-title { font-size:13px; margin-top:3px; }
  .ws-header-search { display:none; }
  .header-right { margin-left:auto; }
  .ws-mobile-menu { display:inline-flex; width:35px; height:35px; align-items:center; justify-content:center; border:1px solid #cfd9c4; background:transparent; border-radius:8px; color:var(--ah-green); }
  .ws-sidebar-close { color:var(--ah-green); }
  .view-area { padding:21px 19px 90px; }
  .ah-overline>span { font-size:7px; letter-spacing:1.2px; }
  .ah-overline>.ah-link { font-size:10px; }
  .ah-overline>.ah-link svg { width:13px; height:13px; }
  .ah-welcome { position:relative; display:block; padding:30px 0; min-height:0; }
  .ah-hello { font-size:12px; }
  .ah-welcome h1 { font-size:clamp(30px,7.8vw,44px); letter-spacing:-1.4px; line-height:1.08; position:relative; z-index:1; }
  .ah-welcome .ah-emblem { display:none; }
  .ah-intro { font-size:11px; line-height:1.7; max-width:320px; }
  .ah-welcome-actions { gap:20px; margin-top:22px; }
  .ah-welcome-actions .ah-link { font-size:10px; }
  .ah-welcome-actions .ah-button { font-size:11px; padding:12px 14px; gap:13px; }
  .ah-signal-strip { display:grid; grid-template-columns:1fr 1fr; gap:20px 0; padding:22px 0; margin-bottom:29px; }
  .ah-signal { padding:0 17px; }
  .ah-signal:nth-child(odd) { padding-left:0; }
  .ah-signal:nth-child(even) { border:0; }
  .ah-signal strong { font-size:34px; margin-top:9px; }
  .ah-signal>span { font-size:10px; }
  .ah-section-heading h2 { font-size:23px; }
  .ah-kicker { font-size:7px; letter-spacing:1.3px; }
  .ah-work-grid { gap:28px; }
  .ah-tabs { gap:1px; }
  .ah-tabs>button { padding:10px 8px; font-size:9px; min-height:38px; }
  .ah-task { padding:18px 0; gap:10px; }
  .ah-task-index { width:18px; font-size:9px; }
  .ah-task-copy>strong { font-size:12px; }
  .ah-task-copy>small { font-size:10px; }
  .ah-task-arrow { width:25px; height:25px; }
  .ah-horizon { padding:21px; }
  .ah-range>button { min-height:39px; font-size:11px; }
  .ah-date-row { padding:14px 0; }
  .ah-date-row strong { font-size:12px; }
  .ah-date-row>span:nth-child(2)>small { font-size:10px; }
  .ah-pipeline { margin:27px 0; padding:23px 0; }
  .ah-pipeline .ah-section-heading { align-items:flex-start; }
  .ah-pipeline .ah-section-heading h2 { max-width:235px; font-size:22px; }
  .ah-pipeline .ah-section-heading>.ah-link { font-size:9px; white-space:nowrap; }
  .ah-stages { display:flex; overflow-x:auto; gap:8px; padding:3px 0 10px; scroll-snap-type:x proximity; }
  .ah-stages>button { flex:0 0 122px; padding:14px; scroll-snap-align:start; }
  .ah-stages>button>span:last-child { font-size:10px; }
  .ah-bottom-grid { grid-template-columns:1fr; gap:26px; }
  .ah-next { padding:23px; }
  .ah-footer { font-size:8px; align-items:flex-start; }
  .ah-footer>span:first-child { font-size:7px; }
  .ah-footer b { display:block; padding:5px 0 0; }
  .ah-mobile-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:100; background:#f8f9f1f5; backdrop-filter:blur(10px); border-top:1px solid #d3ddc7; padding:8px 8px max(8px,env(safe-area-inset-bottom)); box-shadow:0 -5px 30px #284e3610; }
  .ah-mobile-nav>button { display:flex; flex:1; align-items:center; justify-content:center; gap:5px; flex-direction:column; border:0; border-radius:9px; padding:7px 2px; min-height:48px; background:transparent; color:#637b58; font-size:8px; }
  .ah-mobile-nav>button>svg { width:18px; height:18px; }
  .ah-mobile-nav>button[aria-current=page] { background:#e4ecd8; color:#284f2d; }
  .ah-module-header { display:block; padding:10px 0 23px; }
  .ah-module-header h1 { font-size:31px; letter-spacing:-1px; }
  .ah-module-number { display:flex; align-items:baseline; gap:9px; margin-top:20px; }
  .ah-module-number strong { font-size:35px; letter-spacing:-1px; }
  .ah-module-number span { font-size:11px; }
  .view-toolbar { gap:12px; }
  .toolbar-actions { flex-wrap:wrap; }
  .toolbar-actions .btn { min-height:40px; }
  .mesa-hero h1 { font-size:29px; }
  .mesa-actions { gap:7px; }
  .mesa-actions .btn { min-height:40px; }
  .mesa-pane { padding:18px 14px; border-radius:10px; }
  .ah-dossier-rail { padding:17px; }
  .ah-dossier-summary { display:block; }
  .ah-dossier-summary>strong { display:block; text-align:left; margin-top:10px; line-height:1.6; font-size:11px; }
  .ah-journey { display:flex; overflow:auto; gap:14px; padding-bottom:8px; }
  .ah-journey>button { flex:0 0 124px; }
  .ah-journey>button small { font-size:9px; }
  .mesa-tabs { position:sticky; top:68px; z-index:10; background:var(--ah-paper); margin:0 -2px; }
  .mesa-tabs>button { min-height:41px; }
  .modal { max-height:calc(100dvh - 24px); max-width:calc(100vw - 20px); border-radius:14px; }
  .modal-body { padding:20px 16px; }
  .pl-dialog { width:calc(100vw - 24px); margin:12px; }
  .ah-evolution article { gap:12px; }
  .ah-evolution article h3 { font-size:17px; }
  .login-screen { display:flex; flex-direction:column; }
  .login-brand { min-height:auto; padding:28px 27px 30px; }
  .lb-mark strong { font-size:20px; }
  .lb-mark>svg { width:32px; height:32px; }
  .lb-mark small { font-size:7px; letter-spacing:2.5px; }
  .lb-copy { margin-top:35px; }
  .lb-copy>span { font-size:7px; margin-bottom:15px; }
  .lb-copy h2 { font-size:40px; letter-spacing:-1.6px; max-width:340px; }
  .lb-copy p { font-size:11px; max-width:290px; margin-top:17px; }
  .ah-cover-art { position:absolute; width:170px; height:170px; right:-50px; bottom:0; margin:0; opacity:.25; min-height:0; }
  .ah-cover-label,.lb-foot { display:none; }
  .login-card { padding:34px 27px; max-width:440px; }
  .ah-login-eyebrow { font-size:8px; margin-bottom:12px; }
  .login-title { font-size:30px; letter-spacing:-1px; }
  .login-desc { font-size:12px; margin-bottom:24px; }
  .login-form input { font-size:16px; }
  .login-hint { margin-top:20px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.login-brand::before,.login-brand::after { display:none; }
.mesa-pane:has(.mesa-route) .mesa-route { display:none; }
.ah-dossier-rail + .mesa-guide .mg-ring { display:none; }

/* Private evidence stays beside the checklist, rather than displacing it. */
.ah-evidence.has-preview { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(350px,1.2fr); gap:22px; align-items:start; }
.ah-evidence-list { min-width:0; }
.ah-evidence.has-preview .mesa-docs { grid-template-columns:1fr; }
.ah-evidence-preview { min-width:0; background:#edf2e5; border:1px solid #d0dec3; border-radius:10px; padding:15px; position:sticky; top:20px; }
.ah-evidence-preview>header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ah-evidence-preview h3 { font-size:13px; line-height:1.5; overflow-wrap:anywhere; margin:0; }
.ah-evidence-preview>p,.ah-evidence-preview footer { font-size:10px; line-height:1.6; color:#5d7354; margin:12px 0 0; }
.ah-preview-content { margin-top:12px; font-size:12px; color:#547247; min-height:100px; }
.ah-preview-content iframe { width:100%; height:560px; border:0; background:white; border-radius:5px; }
.ah-preview-content img { display:block; width:100%; max-height:620px; object-fit:contain; background:white; border-radius:5px; }
.ah-evidence-preview footer .ah-link { display:block; margin-bottom:7px; }
.ah-draft-note { font-size:11px; line-height:1.6; color:#63795a; margin:8px 0 15px; }
.ah-draft-note button { font:inherit; border:0; color:#5c713f; text-decoration:underline; background:none; cursor:pointer; padding:5px; }
@media(max-width:1100px) { .ah-evidence.has-preview { grid-template-columns:1fr; } .ah-evidence-preview { position:static; grid-row:1; } }
@media(max-width:760px) { .ah-preview-content iframe { height:450px; } .ah-evidence-preview { padding:12px; } }

/* Replace the former high-specificity dark hero treatment. */
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading) { background:transparent!important; background-image:none!important; color:var(--ah-ink); border-radius:0!important; box-shadow:none; border-bottom:1px solid var(--ah-line)!important; }
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading)::before,#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading)::after { display:none; }
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading) :is(h1,h2) { color:var(--ah-ink); }
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading) p { color:var(--ah-muted)!important; }
#mainApp :is(.mesa-eyebrow,.ops-eyebrow,.nm-eyebrow) { color:#607452!important; }
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading) .btn { background:var(--ah-white); color:var(--ah-green); border-color:#c4d2ba; }
#mainApp :is(.mesa-hero,.ops-hero,.cc-head,.nm-heading) .btn-primary { background:var(--ah-green); color:white; border-color:var(--ah-green); }
#mainApp .mesa-exp-header { display:block; }
#mainApp .mesa-exp-header .mesa-actions { margin-top:20px; }
#mainApp .mesa-guide,#mainApp .mesa-guide.is-done { grid-template-columns:1fr; border:1px solid #d3dfc5; background:#edf2e4; color:var(--ah-ink); border-radius:12px; animation:none; box-shadow:none; }
#mainApp .mesa-guide .mg-ring { display:none; }
#mainApp .mg-body h2,#mainApp .mg-who strong { color:var(--ah-ink); }
#mainApp .mg-body p { color:#596e50; font-size:12px; }
#mainApp .mg-eyebrow { color:#58734b; font-size:10px; }
#mainApp .mg-todo .btn-outline,#mainApp .mg-help { color:var(--ah-green); border-color:#c2d1b7; background:#f9fbf4; }

.ah-preview-content canvas { display:block; max-width:100%; height:auto; background:white; margin:0 auto; border:1px solid #d8dfd0; }
.ah-pdf-tools { display:flex; gap:12px; align-items:center; justify-content:space-between; margin:0 0 12px; }
.ah-pdf-tools .btn { min-width:38px; min-height:38px; }
.ah-pdf-tools span { font-size:11px; }
.ah-pdf-text { margin-top:15px; font-size:11px; line-height:1.7; }
.ah-pdf-text summary { cursor:pointer; padding:7px 0; }
.ah-pdf-text p { max-height:240px; overflow:auto; padding:12px; background:#f8faf3; border-radius:6px; }

/* Keep working text readable on compact screens, including touch targets. */
@media(max-width:760px) {
  .ah-intro,.ah-task-copy>small,.ah-date-row>span:nth-child(2)>small { font-size:12px; }
  .ah-task-copy>strong,.ah-date-row strong { font-size:14px; }
  .ah-welcome-actions .ah-link,.ah-welcome-actions .ah-button,.ah-tabs>button { font-size:12px; }
  .ah-welcome-actions { gap:15px; flex-wrap:wrap; }
  .ah-tabs { overflow-x:auto; }
  .ah-tabs>button { min-height:44px; white-space:nowrap; }
  .ah-mobile-nav>button { font-size:10px; }
  .ah-journey>button small { font-size:11px; }
  .ah-kicker,.ah-overline>span { font-size:9px; }
  .ah-signal>span { font-size:11px; }
  .ah-pipeline .ah-section-heading>.ah-link { font-size:11px; }
  .ah-pipeline .ah-section-heading { gap:12px; flex-wrap:wrap; }
  .ah-pdf-text,.ah-pdf-tools span { font-size:12px; }
}
