/* Agricultural cockpit: reference artwork, native CSS, existing policy workflows.
   Layers: backdrop -1; header 20; drawer 900; modal 1000; toast 2000. */
body.theme-cockpit {
  color-scheme: dark;
  --red-900:#07466d; --red-800:#087aaa; --red-700:#48d4f0; --red-600:#75e5fc;
  --gold-700:#88e7cd; --gold-600:#64dcb8; --gold-500:#54dfca; --gold-100:#113e4b;
  --ink:#e9faff; --ink-2:#d9f4ff; --muted:#b5ddeb; --muted-2:#a8d8e6;
  --line:#278db2; --line-2:#17617e; --paper:#043352; --bg:#051b2c;
  --surface-panel:linear-gradient(116deg,rgba(4,51,82,.73),rgba(3,48,79,.76) 62%,rgba(4,58,83,.72));
  --surface-card:linear-gradient(116deg,rgba(4,51,82,.88),rgba(3,48,79,.90) 62%,rgba(4,58,83,.86));
  --surface-border:rgba(83,212,245,.82);
  --surface-shadow:inset 0 1px 0 rgba(223,255,255,.21),inset 0 0 19px rgba(47,172,209,.07),0 7px 24px rgba(0,11,29,.31),0 0 0 1px rgba(32,206,255,.10);
  --blue:#74dfff; --blue-soft:#045782; --green:#61eaba; --green-soft:#006d5a;
  --amber:#ffe29a; --amber-soft:#665117; --gray-soft:#064664;
  --danger:#ffaaa0; --danger-soft:#442f3a;
  --serif:var(--sans); --radius:10px; --radius-lg:14px;
  --shadow-sm:0 4px 16px #06375220; --shadow-md:0 8px 26px #06375240; --shadow-lg:0 18px 60px #052d48a6;
  background:var(--bg); min-height:100dvh; isolation:isolate;
}
.theme-cockpit .landscape-backdrop { position:fixed; inset:0; z-index:-1; pointer-events:none; }
.theme-cockpit .landscape-backdrop::before { content:""; position:absolute; inset:0; background:url('../assets/landscape.webp') center 52%/cover no-repeat; filter:saturate(1.3) contrast(1.07) brightness(1.04); }
.theme-cockpit .landscape-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,14,36,.40),rgba(0,20,36,.02) 21%,rgba(0,13,26,.02) 68%,rgba(0,15,30,.32) 98%),linear-gradient(90deg,rgba(0,13,29,.11),transparent 23%,transparent 77%,rgba(0,13,29,.1)); }
.theme-cockpit .wrap { width:min(1840px,calc(100% - 48px)); }
.theme-cockpit button,.theme-cockpit a,.theme-cockpit input,.theme-cockpit select,.theme-cockpit textarea { -webkit-tap-highlight-color:transparent; }
.theme-cockpit :focus-visible { outline:2px solid #8cf3ff; outline-offset:4px; }
.theme-cockpit ::selection { background:#24719a; color:#fff; }
.theme-cockpit * { scrollbar-width:thin; scrollbar-color:#73aec8 #164e6b; }
.theme-cockpit [hidden] { display:none!important; }
.theme-cockpit .skip { background:#0b3c57; color:#fff; }
.theme-cockpit .site-header { background:linear-gradient(180deg,rgba(1,25,51,.90),rgba(3,53,86,.68)); box-shadow:0 3px 22px rgba(0,40,75,.38); border-top:2px solid #19b9db; }
.theme-cockpit .header-main { display:grid; grid-template-columns:1fr 1.35fr 1fr; min-height:94px; gap:18px; }
.theme-cockpit .brand { gap:12px; }
.brand-logo { object-fit:contain; filter:drop-shadow(0 0 9px #80d6fb55); flex-shrink:0; }
.theme-cockpit .brand-text strong { color:#eefbff; font-size:clamp(18px,1.45vw,27px); font-weight:800; letter-spacing:.04em; white-space:nowrap; }
.theme-cockpit .brand-text small { color:#c5e4f1; font-size:11px; letter-spacing:.11em; }
.mast-title { display:flex; align-items:center; justify-content:center; gap:15px; text-align:center; }
.mast-title h1 { margin:0; white-space:nowrap; font-size:clamp(24px,2.05vw,37px); font-weight:800; letter-spacing:.1em; text-shadow:0 2px 20px #56cbff55; }
.mast-title p { margin:4px 0 0; color:#c7e6f4; font-size:12px; letter-spacing:.28em; }
.mast-wing { width:35px; height:17px; border-block:1px solid #4da9c7; transform:skewX(38deg); opacity:.8; flex-shrink:0; }
.mast-wing.right { transform:skewX(-38deg); }
.theme-cockpit .header-tools { justify-content:flex-end; gap:10px; }
.demo-badge { display:inline-flex; align-items:center; padding:5px 10px; border:1px solid #3d947d; color:#a5efc9; background:#12494180; border-radius:5px; font-size:11px; white-space:nowrap; }
.theme-cockpit .header-tool { color:#c1e1ef; padding:8px; white-space:nowrap; min-height:40px; font-size:12px; }
.theme-cockpit .header-tool:hover,.theme-cockpit .header-tool[aria-pressed=true] { background:#145172; color:#fff; }
.theme-cockpit .site-nav { background:#023653d9; border-top:1px solid #2798bd66; border-bottom:1px solid #53d4f58c; }
.theme-cockpit .nav-inner { min-height:49px; gap:12px; }
.theme-cockpit .nav-tab { color:#b9d6e5; min-height:49px; font-size:14px; padding:0 19px; background:transparent; }
.theme-cockpit .nav-tab:hover { color:#fff; background:#15557570; }
.theme-cockpit .nav-tab.active { color:#9ff1ff; background:linear-gradient(0deg,#1684b348,transparent); }
.theme-cockpit .nav-tab::after { bottom:0; left:14px; right:14px; height:2px; }
.theme-cockpit .nav-tab.active::after { background:#56d9f4; box-shadow:0 0 12px #38ccff; }
.theme-cockpit .profile-select-wrap { margin-left:auto; color:#a8c9d9; padding-left:18px; }
.theme-cockpit .profile-select-wrap .select { color:#d8f5ff; background-color:#043f65ac; width:218px; border:1px solid #3ebbe673; border-radius:5px; padding:7px 46px 7px 12px; font-size:12px; min-height:36px; appearance:none; -webkit-appearance:none; background-image:url('../assets/select-chevron.svg'); background-repeat:no-repeat; background-position:right 18px center; background-size:16px 16px; cursor:pointer; text-overflow:ellipsis; }
.cockpit-context { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; color:#d4f1ff; font-size:12px; text-shadow:0 1px 3px #002b48,0 0 8px #002b48aa; }
.context-location,.context-meta { display:flex; align-items:center; gap:8px; }
.context-location .ic { color:#5cdbf5; width:15px; }
.context-location strong { color:#e9f9ff; font-weight:500; }
.context-meta span+span { padding-left:14px; margin-left:6px; border-left:1px solid #4a7689; }
.theme-cockpit #view-home { padding-bottom:24px; }
.cockpit-grid { display:grid; grid-template-columns:minmax(270px,24fr) minmax(0,49fr) minmax(290px,27fr); gap:18px; min-height:clamp(630px,calc(100dvh - 220px),900px); height:auto; }
.cockpit-column { min-width:0; min-height:0; display:flex; flex-direction:column; gap:16px; }
.cockpit-panel { background:var(--surface-panel); border:1px solid var(--surface-border); border-radius:10px; box-shadow:var(--surface-shadow); backdrop-filter:blur(6px) saturate(1.2); -webkit-backdrop-filter:blur(6px) saturate(1.2); position:relative; min-width:0; }
.cockpit-panel::before { content:""; position:absolute; pointer-events:none; top:-1px; left:20px; width:48px; height:2px; background:#69deef; box-shadow:0 0 10px #2dc6e4aa; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:47px; padding:0 16px; border-bottom:1px solid rgba(97,203,235,.23); background:linear-gradient(90deg,rgba(13,122,153,.21),rgba(12,96,152,.08)); }
.panel-heading h2 { display:flex; align-items:center; gap:9px; font-size:16px; letter-spacing:.04em; margin:0; color:#e4f6ff; }
.panel-heading h2 .ic { color:#61eaba; width:19px; height:19px; filter:drop-shadow(0 0 5px #2be7c555); }
.panel-heading > span { font-size:11px; color:var(--muted); }
.panel-link { display:flex; align-items:center; gap:3px; color:#8bdef4; background:transparent; border:0; padding:9px 0 9px 5px; font-size:12px; white-space:nowrap; }
.panel-link:hover { color:#fff; }
.panel-link .ic { width:13px; height:13px; }
.subject-content { padding:17px 16px 14px; }
.subject-heading { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.subject-avatar { width:46px; height:46px; display:grid; place-items:center; border-radius:8px; border:1px solid #54a2ba; background:linear-gradient(145deg,#1b6382,#123e59); color:#b9f5ec; font-size:22px; font-weight:600; flex-shrink:0; }
.subject-heading h3 { font-size:17px; margin:0 0 2px; }
.subject-heading p { font-size:12px; color:#c5e4f1; margin:0; }
.subject-fields { margin:0; display:grid; grid-template-columns:70px 1fr; gap:9px 12px; font-size:12px; }
.subject-fields dt { color:#c0dcea; }
.subject-fields dd { margin:0; color:#dcf0f7; text-align:right; overflow-wrap:anywhere; }
.subject-progress { margin-top:16px; padding-top:12px; border-top:1px solid #2f617d75; }
.subject-progress > div:first-child { display:flex; justify-content:space-between; font-size:11px; margin-bottom:8px; color:#c4dfed; }
.subject-progress strong { color:#7de1cf; }
.theme-cockpit .progress { height:5px; background:#0a4966; }
.theme-cockpit .progress > span { background:linear-gradient(90deg,#2898cb,#75e6cd); }
.policies-panel { flex:1; min-height:0; display:flex; flex-direction:column; }
.cockpit-policy-list { flex:1; min-height:0; overflow:auto; padding:5px 12px; }
.cockpit-policy { color:var(--ink); display:grid; grid-template-columns:35px 1fr auto; gap:10px; width:100%; padding:13px 6px; border:0; border-bottom:1px solid #2c617b66; background:transparent; text-align:left; align-items:start; border-radius:4px; transition:background .16s,border-color .16s; }
.cockpit-policy:last-child { border-bottom-color:transparent; }
.cockpit-policy:hover,.cockpit-policy.active { background:linear-gradient(110deg,rgba(11,145,154,.73),rgba(4,79,118,.76)); }
.cockpit-policy.active { box-shadow:inset 0 0 0 1px #56efd1,0 0 14px rgba(24,213,222,.28); }
.policy-small-icon { border:1px solid #49bdd7; border-radius:6px; height:34px; display:grid; place-items:center; color:#b7f8ff; background:linear-gradient(145deg,#087fa5,#044c75); }
.cockpit-policy strong { display:block; font-size:13px; font-weight:600; line-height:1.5; }
.cockpit-policy small { display:block; color:#bfdfed; font-size:11px; margin-top:4px; }
.cockpit-policy .tag { font-size:10px; padding:2px 5px; border-radius:4px; margin-top:2px; white-space:nowrap; }
.panel-bottom-note { margin:0; border-top:1px solid #30637b5c; padding:9px 16px; font-size:11px; color:#bad9e8; }
.agri-scene { flex:1; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; position:relative; text-align:center; overflow:hidden; padding:10px 10px 0; }
.agri-scene::before { content:""; position:absolute; left:8%; right:8%; top:0; height:135px; pointer-events:none; background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(0,21,37,.48),rgba(0,31,55,.18) 62%,transparent 100%); }
.scene-kicker,.scene-title { position:relative; }
.scene-kicker { margin:0; color:#a7e1ed; font-size:11px; letter-spacing:.24em; }
.scene-title { margin:6px 0 8px; font-size:clamp(22px,2vw,33px); color:#f0fbff; text-shadow:0 2px 4px #09375380,0 2px 18px #0c4168b8; font-weight:700; letter-spacing:.04em; }
.scene-title span { color:#a4f1d8; }
.scene-kicker { color:#e1f5ff; text-shadow:0 1px 4px #073b5b,0 0 14px #0a385ede; }
.orb-stage { flex:1; min-height:150px; width:100%; position:relative; display:flex; align-items:center; justify-content:center; }
.orb-stage::after { content:""; position:absolute; width:68%; height:20%; bottom:3%; border:1px solid #54dff785; border-radius:50%; box-shadow:0 0 0 10px #39b9ed10,0 0 0 25px #39b9ed0a,0 0 28px #53daff30; transform:rotate(-4deg); }
.agri-orb { height:100%; max-height:310px; width:min(92%,385px); object-fit:contain; position:absolute; bottom:1%; filter:drop-shadow(0 0 17px #53d0f340); mask-image:radial-gradient(ellipse 62% 65% at 50% 52%,#000 48%,transparent 84%); }
.scene-orbit { position:absolute; width:68%; height:20%; left:16%; bottom:3%; border-radius:50%; padding:2px; overflow:hidden; pointer-events:none; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; transform:rotate(-4deg); }
.scene-orbit::before { content:""; position:absolute; inset:-300% -15%; background:conic-gradient(transparent 0 40%,#8cefff 48%,transparent 56% 88%,#8cefff 96%,transparent); }
.scene-label { position:absolute; top:51%; z-index:1; color:#b7e9f2; font-size:11px; padding:6px 10px; border-bottom:1px solid #6acada8a; background:linear-gradient(90deg,#083e57b8,transparent); }
.scene-label.left { left:0; }
.scene-label.right { right:0; top:24%; background:linear-gradient(270deg,#083e57b8,transparent); }
.scene-label strong { display:block; color:#e0fcff; font-size:13px; margin-bottom:1px; }
.overview-panel { flex-shrink:0; padding-bottom:16px; border-color:rgba(70,227,253,.9); background:linear-gradient(120deg,rgba(4,56,87,.85),rgba(2,44,78,.87)); }
.overview-panel .panel-heading { border-bottom:0; min-height:48px; background:none; }
.overview-caption { margin:-3px 16px 12px; font-size:11px; color:var(--muted); }
.cockpit-stats { display:grid; grid-template-columns:repeat(4,1fr); margin:0 12px 16px; gap:5px; }
.cockpit-stat { border:1px solid #45ebbc9c; color:#fff; background:linear-gradient(150deg,rgba(0,113,92,.91),rgba(2,69,85,.87)); text-align:center; border-radius:6px; padding:12px 3px; position:relative; }
.cockpit-stat + .cockpit-stat { border-left-width:1px; }
.cockpit-stat strong { display:block; font-size:42px; font-weight:500; line-height:1.15; font-family:Bahnschrift,'DIN Alternate','SFMono-Regular',Consolas,monospace; text-shadow:0 0 20px #68e9ca2b; }
.cockpit-stat span { display:block; color:#e0f7ff; font-size:12px; margin-top:7px; }
.cockpit-stat small { color:#bddae8; font-size:10px; }
.cockpit-stat.confirm { color:#fff; border-color:#f9de5270; background:linear-gradient(150deg,rgba(100,100,26,.86),rgba(36,91,79,.87)); }
.cockpit-stat.watch { color:#fff; border-color:#60b9fb84; background:linear-gradient(150deg,rgba(5,91,131,.94),rgba(3,58,107,.87)); }
.cockpit-stat.ineligible { color:#fff; border-color:#ffa0a076; background:linear-gradient(150deg,rgba(112,40,61,.78),rgba(51,65,91,.88)); }
.cockpit-stat:hover { filter:brightness(1.12); }
.consult-cta { display:flex; width:calc(100% - 32px); justify-content:center; align-items:center; gap:12px; min-height:48px; border:1px solid #2aa4b6; border-radius:8px; color:#e7fbff; background:#075c70; margin:0 16px; font-size:16px; font-weight:600; letter-spacing:.04em; box-shadow:none; text-shadow:none; }
.consult-cta:hover { background:#08758a; border-color:#65cfd7; }
.conditions-panel { flex-shrink:0; }
.cockpit-right .panel-heading { min-height:42px; }
.cockpit-right .condition-bars { gap:9px; padding-bottom:12px; }
.cockpit-right .next-action { padding-block:8px; }
.selected-policy { padding:12px 16px 7px; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:8px; align-items:start; }
.selected-policy .tag { grid-column:2; grid-row:1; margin:0; }
.selected-policy h3 { grid-column:1; grid-row:1; }
.selected-policy p { grid-column:1 / -1; }
.selected-policy h3 { font-size:14px; margin:0 0 4px; line-height:1.6; }
.selected-policy p { margin:0; color:#c5dfec; font-size:11px; }
.condition-bars { padding:8px 16px 16px; display:grid; gap:12px; }
.condition-row { display:grid; grid-template-columns:68px 1fr 20px; align-items:center; gap:10px; font-size:12px; color:#c3dfe9; }
.condition-row strong { text-align:right; font-family:Consolas,monospace; color:#7ae7c1; font-size:17px; font-weight:500; }
.condition-track { height:6px; background:#0a4966; border-radius:9px; overflow:hidden; }
.condition-track i { display:block; height:100%; background:linear-gradient(90deg,#1c917c,#75e6c4); border-radius:9px; }
.condition-row.pending strong { color:#f2cf8d; }.condition-row.pending i { background:linear-gradient(90deg,#a18245,#f2d28c); }
.condition-row.gap strong { color:#f5a994; }.condition-row.gap i { background:#cf8f7e; }
.notice-panel { flex:1; min-height:154px; overflow:auto; }
.cockpit-notices { list-style:none; counter-reset:notice; padding:13px 16px; margin:0; display:grid; gap:12px; }
.cockpit-notices li { counter-increment:notice; display:flex; gap:10px; color:#e0f0f8; font-size:12px; line-height:1.65; }
.cockpit-notices li::before { content:counter(notice); display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#134465; background:#eac052; border:1px solid #ffdc7a; font-weight:800; font-family:Consolas,monospace; flex-shrink:0; margin-top:2px; font-size:11px; }
.next-panel { flex-shrink:0; }
.next-actions { padding:5px 12px; }
.next-action { display:flex; text-align:left; align-items:center; gap:10px; padding:10px 4px; border:0; border-bottom:1px solid #2d627a6e; color:#d9f2fa; background:transparent; width:100%; }
.next-action:last-child { border:0; }
.next-action > .ic:first-child { width:30px; height:30px; padding:6px; color:#dcffff; background:#0a95b5; border-radius:5px; }
.next-action > .ic:last-child { margin-left:auto; width:14px; color:#c4e3ef; }
.next-action strong { font-size:12px; display:block; font-weight:500; }
.next-action small { font-size:10px; color:#bfdceb; display:block; margin-top:2px; }
.next-action:nth-child(2) > .ic:first-child { background:#0a997f; }
.next-action:nth-child(3) > .ic:first-child { background:#167bcc; }
.next-action:hover { background:rgba(11,103,140,.6); }

/* Shared dark surfaces keep every tab and every overlay in the same visual system. */
.theme-cockpit .page-wrap,.theme-cockpit .chat-page { padding:24px 0 32px; }
.theme-cockpit .page-title { margin-bottom:20px; }
.theme-cockpit .page-title h1 { font-size:27px; letter-spacing:.06em; }
.theme-cockpit .eyebrow,.theme-cockpit .side-label { color:#76c8dd; font-size:10px; letter-spacing:.17em; }
.theme-cockpit .card,.theme-cockpit .match-profile-bar,.theme-cockpit .match-summary,.theme-cockpit .result-card,.theme-cockpit .aside-card,.theme-cockpit .policy-filter,.theme-cockpit .policy-row,.theme-cockpit .chat-shell,.theme-cockpit .side-card,.theme-cockpit .dimension-card,.theme-cockpit .help-form-card,.theme-cockpit .help-side-card { background:var(--surface-card); border-color:var(--surface-border); border-radius:9px; box-shadow:var(--surface-shadow); backdrop-filter:blur(6px) saturate(1.2); -webkit-backdrop-filter:blur(6px) saturate(1.2); }
.theme-cockpit .btn { color:#fff; background:linear-gradient(180deg,#0786b8,#046ba4); border-color:#5ed8f7; border-radius:6px; min-height:36px; }
.theme-cockpit .btn:hover { background:#087daf; border-color:#9fefff; }
.theme-cockpit .btn.secondary,.theme-cockpit .btn.ghost { background:#043f65ac; color:#b5efff; border-color:rgba(62,187,230,.45); }
.theme-cockpit .btn.secondary:hover,.theme-cockpit .btn.ghost:hover { background:#0a6896; color:#fff; }
.theme-cockpit .btn.green { background:#17634f; color:#effff8; border-color:#46987d; }
.theme-cockpit .btn:disabled { opacity:.5; cursor:wait; transform:none; }
.theme-cockpit .tag { border:1px solid transparent; border-radius:4px; }
.theme-cockpit .tag.green { background:#1f67544a; color:#8debc6; border-color:#3d896c7d; }
.theme-cockpit .tag.amber,.theme-cockpit .tag.gold { background:#65552842; color:#f4d898; border-color:#967e3c73; }
.theme-cockpit .tag.blue { background:#195f7f75; color:#94def9; border-color:#3d85a1; }
.theme-cockpit .tag.gray { background:#324b606b; color:#c2d3df; border-color:#5d7b9161; }
.theme-cockpit .tag.red { background:#663e413d; color:#ffc5b4; border-color:#8c626655; }
.theme-cockpit .outline-tag { background:#14384c; color:#b4d5e4; }
.theme-cockpit .input,.theme-cockpit .select,.theme-cockpit .textarea { background-color:#023853d9; color:#e9faff; border-color:#2e9cbe; border-radius:6px; }
.theme-cockpit .input::placeholder,.theme-cockpit .textarea::placeholder { color:#bdd8e6; }
.theme-cockpit option { color:#ebf9ff; background:#033b5c; }
.theme-cockpit .input:focus,.theme-cockpit .select:focus,.theme-cockpit .textarea:focus { border-color:#71dcec; box-shadow:0 0 0 3px #4ecfff16; }
.theme-cockpit .notice,.theme-cockpit .conflict-note { background:rgba(102,75,10,.58); color:#ffe7a6; border-color:#e7b23e77; }
.theme-cockpit .icon-notice { display:flex; align-items:flex-start; gap:8px; line-height:1.7; }
.theme-cockpit .icon-notice > .ic { width:16px; height:16px; flex:0 0 16px; margin-top:.15em; }
.theme-cockpit .icon-notice > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.theme-cockpit .result-foot { flex-wrap:wrap; }
.theme-cockpit .result-foot .meta { gap:8px 16px; line-height:1.6; }
.theme-cockpit .result-foot .meta > span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.theme-cockpit .result-foot .meta .ic { width:15px; height:15px; flex:0 0 15px; }
.theme-cockpit .match-profile-icon,.theme-cockpit .side-profile .avatar { background:#1a4d66; color:#8fdfed; }
.theme-cockpit .match-summary.active { background:#195375c9; border-color:#68d9ed; }
.theme-cockpit .reason-block.hit { background:rgba(0,113,92,.64); color:#c5ffe4; }
.theme-cockpit .reason-block.pending { background:rgba(102,75,10,.58); color:#ffedba; }
.theme-cockpit .reason-block.gap { background:rgba(5,91,131,.60); color:#e0f0f8; }
.theme-cockpit .question-card p,.theme-cockpit .question-card .q-title { color:#ead8a9; }
.theme-cockpit .policy-row:hover,.theme-cockpit .result-card:hover { border-color:#6bb4cd; }
.theme-cockpit .policy-meta { gap:8px 18px; line-height:1.6; }
.theme-cockpit .policy-meta-item { display:inline-flex; align-items:center; gap:6px; min-width:0; max-width:100%; }
.theme-cockpit .policy-meta-item > span { min-width:0; overflow-wrap:anywhere; }
.theme-cockpit .policy-meta-item .ic { width:15px; height:15px; flex:0 0 15px; }
.theme-cockpit .policy-meta time { white-space:nowrap; }
.theme-cockpit .policy-side .link-btn { display:inline-flex; align-items:center; gap:6px; }
.theme-cockpit .profile-hero { background:linear-gradient(105deg,rgba(1,55,91,.88),rgba(2,70,92,.64)),url('../assets/landscape.webp') center/cover; border:1px solid #4796ad; border-radius:10px; }
.theme-cockpit .score-ring { background:conic-gradient(#74e4c5 var(--pct),#2e667b 0); }
.theme-cockpit .score-ring::before { background:#103a51; }
.theme-cockpit .dimension-card.missing { background:#034360ed; border-color:#7c805d; }
.theme-cockpit .dimension-card.calc { background:#035a72ed; }
.theme-cockpit .choice { background:#044365; color:#d9f4ff; border-color:#4a778b; }
.theme-cockpit .choice.active { background:#1c6783; color:#e4faff; border-color:#83d9eb; }
.theme-cockpit .field label { color:#c7e3ef; }
.theme-cockpit .help-side-card .hotline { color:#8cdff4; }
.theme-cockpit .feedback-quick button { background:#044c70; color:#e4f5fc; border-color:#2f98b9; }
.theme-cockpit .feedback-quick button:hover { background:#205a75; }
.theme-cockpit .detail-list li .num { background:#1a5367; color:#97f1dd; }

/* AI consultation: context, conversation, policy evidence. */
.theme-cockpit .chat-layout { grid-template-columns:minmax(200px,.72fr) minmax(0,2.3fr) minmax(250px,.95fr); height:calc(100dvh - 310px); min-height:520px; max-height:850px; gap:18px; }
.chat-navigation { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.chat-navigation .subject-content { border-bottom:1px solid #326b825e; }
.chat-navigation .subject-heading { margin:0; gap:9px; }
.chat-navigation .subject-heading h3 { font-size:14px; }
.chat-navigation .subject-avatar { width:39px; height:39px; font-size:18px; }
.chat-navigation nav { padding:10px; display:grid; gap:6px; }
.chat-navigation nav button { display:flex; gap:10px; align-items:center; text-align:left; border:1px solid transparent; background:transparent; border-radius:6px; color:#c7e9f4; padding:12px 8px; }
.chat-navigation nav button:hover { background:#20516d90; border-color:#3e849e; }
.chat-navigation nav button strong { display:block; font-size:13px; font-weight:600; }
.chat-navigation nav button small { display:block; font-size:10px; color:#bedcea; margin-top:3px; }
.chat-sidebar-art { flex:1; min-height:100px; margin:10px 14px 14px; border-radius:7px; background:linear-gradient(180deg,#082f3e11,#073449bc),url('../assets/farmland-hd.jpg') center/cover; display:flex; flex-direction:column; justify-content:flex-end; padding:20px 12px; border:1px solid #3c7a8d; }
.chat-sidebar-art p { color:#bfe7e8; font-size:10px; margin:0 0 5px; letter-spacing:.14em; }
.chat-sidebar-art strong { font-size:19px; line-height:1.6; letter-spacing:.06em; text-shadow:0 2px 8px #062734; }
.theme-cockpit .chat-shell { min-height:0; }
.theme-cockpit .chat-head { background:linear-gradient(90deg,rgba(6,99,125,.75),rgba(4,61,105,.85)); border-bottom-color:#298eb1; padding:18px; }
.theme-cockpit .chat-head strong { font-size:17px; }
.theme-cockpit .chat-head small { font-size:11px; margin-top:4px; }
.theme-cockpit .chat-avatar { background:linear-gradient(145deg,#3187b8,#174967); border:1px solid #65bad9; border-radius:50%; }
.theme-cockpit .chat-head .tag { font-size:10px; }
.theme-cockpit .chat-log { background:rgba(2,35,59,.76); padding:22px 20px; }
.theme-cockpit .chat-message .avatar { background:#205f80; color:#bdefff; border:1px solid #5993af; border-radius:50%; width:31px; height:31px; }
.theme-cockpit .chat-message .bubble { background:linear-gradient(120deg,#075372,#043c60); color:#e9faff; border:1px solid #2c96b8; font-size:14px; max-width:88%; }
.theme-cockpit .chat-message.user .bubble { background:linear-gradient(120deg,#037ca2,#056ca6); border-color:#56d7f4; }
.theme-cockpit .chat-message .bubble strong { color:#a4edf5; }
.theme-cockpit .chat-cite { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:8px 10px; margin-top:14px; padding-top:12px; border-top-color:#38728b80; white-space:normal; }
.chat-cite-label { color:#c4e1ed; font-size:11px; line-height:20px; padding-block:6px; white-space:nowrap; }
.chat-cite-links { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.theme-cockpit .chat-cite button { display:inline-flex; align-items:center; gap:7px; min-height:32px; max-width:100%; padding:6px 10px; background:#043c60; color:#daf4fc; border:1px solid #2f97b9; border-radius:6px; font-size:12px; line-height:18px; text-align:left; white-space:normal; transition:background .18s,border-color .18s; }
.theme-cockpit .chat-cite button > span { min-width:0; overflow-wrap:anywhere; }
.theme-cockpit .chat-cite button .ic { flex:0 0 15px; width:15px; height:15px; }
.theme-cockpit .chat-cite button .cite-arrow { width:13px; height:13px; flex-basis:13px; color:#b5e2f3; }
.theme-cockpit .chat-cite button:hover { background:#19526c; border-color:#78c9e0; color:#fff; }
@media (max-width:760px) { .theme-cockpit .chat-cite { grid-template-columns:minmax(0,1fr); gap:6px; }.chat-cite-label { padding:0; } }
.theme-cockpit .chat-feedback { flex-wrap:wrap; }
.theme-cockpit .chat-suggestions,.theme-cockpit .chat-input { background:#034260; }
.theme-cockpit .chat-suggestions { border-top:1px solid #28516b; padding-top:14px; }
.theme-cockpit .suggest-chip { background:#065174; color:#d2f4ff; border-color:#2a92b5; border-radius:5px; font-size:11px; padding:7px 9px; }
.theme-cockpit .suggest-chip:hover { background:#205d77; border-color:#58c7df; }
.theme-cockpit .chat-input { padding-top:14px; }
.theme-cockpit .chat-side { gap:14px; }
.theme-cockpit .side-card h3 { font-size:15px; }
.theme-cockpit .side-facts div { font-size:12px; padding-block:9px; }
.theme-cockpit .side-trust { padding-left:17px; font-size:12px; }

/* Drawers and forms are dark too, including the original policy excerpts. */
.theme-cockpit .modal,.theme-cockpit .drawer { background:#043352; border:1px solid #53d4f5b8; }
.theme-cockpit .modal-head,.theme-cockpit .modal-foot,.theme-cockpit .drawer-head,.theme-cockpit .drawer-foot { background:#054466; }
.theme-cockpit .modal-head h2,.theme-cockpit .drawer-head h2 { color:#e5f8ff; }
.theme-cockpit .modal-mask,.theme-cockpit .drawer-mask { background:#000e21a6; }
.theme-cockpit .close-btn { background:#234e67; color:#ceecf8; }
.theme-cockpit .close-btn:hover { background:#396d83; color:#fff; }
.theme-cockpit .detail-tab,.theme-cockpit .sub-item-tab { background:#064a6e; color:#d9f4ff; }
.theme-cockpit .detail-tab.active,.theme-cockpit .sub-item-tab.active { background:#1a6d8b; color:#edfcff; border-color:#77cfdf; }
.theme-cockpit .detail-card,.theme-cockpit .detail-item { background:#064665; border-color:#2888a8; }
.theme-cockpit .detail-summary,.theme-cockpit .source-box { background:#064c68; border-color:#389db8; color:#e4f4fc; }
.theme-cockpit .source-box blockquote,.theme-cockpit .original-text { color:#cee6ee; }
.theme-cockpit .source-box strong { color:#aadfe7!important; }
.theme-cockpit .material-item { background:#054764; }
.theme-cockpit #toast { background:#035c7b; border:1px solid #8be9fa; }
.theme-cockpit .empty { color:#aecad9; }
.theme-cockpit .empty h3 { color:#e2f3fc; }

@media (min-width:1700px) { .cockpit-grid { gap:22px; }.cockpit-column { gap:20px; }.panel-heading { min-height:54px; }.panel-heading h2 { font-size:18px; }.subject-content { padding:22px; }.subject-fields { gap:12px; font-size:14px; }.subject-heading h3 { font-size:20px; }.cockpit-policy { padding:17px 8px; }.cockpit-policy strong { font-size:15px; }.cockpit-policy small,.cockpit-notices li { font-size:13px; }.selected-policy { padding:17px 20px 10px; }.selected-policy h3 { font-size:16px; }.condition-bars { padding:10px 20px 22px; gap:18px; }.next-action { padding:14px 6px; }.next-action strong { font-size:14px; }.next-action small { font-size:12px; }.overview-panel { padding-bottom:20px; }.cockpit-stat strong { font-size:52px; }.overview-caption { font-size:13px; margin-bottom:18px; }.consult-cta { min-height:55px; }.agri-orb { max-height:390px; width:min(92%,450px); }.scene-kicker { font-size:13px; }.scene-label strong { font-size:16px; }.scene-label { font-size:13px; } }
@media (min-width:1700px) {
  .cockpit-right .panel-heading { min-height:54px; }
  .cockpit-right .selected-policy { padding:12px 20px 6px; }
  .cockpit-right .condition-bars { gap:10px; padding:8px 20px 14px; }
  .cockpit-right .condition-row { font-size:14px; grid-template-columns:90px 1fr 24px; }
  .cockpit-right .condition-row strong { font-size:21px; line-height:1.2; }
  .cockpit-right .next-action { padding-block:9px; }
  .cockpit-right .next-action strong,.cockpit-right .next-action small { line-height:1.4; }
  .cockpit-notices { gap:12px; padding:14px 20px; }
}
@media (max-width:1200px) { .theme-cockpit .wrap { width:calc(100% - 32px); }.theme-cockpit .header-main { grid-template-columns:1fr 1.35fr auto; gap:12px; min-height:85px; }.brand-logo { width:39px; height:42px; }.mast-wing { display:none; }.mast-title h1 { font-size:25px; }.theme-cockpit .header-tools { gap:4px; }.theme-cockpit .header-tool { padding:6px; }.theme-cockpit .header-tool span:not(.font-icon) { display:none; }.theme-cockpit .nav-inner { gap:2px; }.theme-cockpit .nav-tab { padding-inline:13px; font-size:13px; }.theme-cockpit .profile-select-wrap { padding-left:8px; }.theme-cockpit .profile-select-wrap > span { display:none; }.theme-cockpit .profile-select-wrap .select { width:175px; }.cockpit-grid { gap:12px; grid-template-columns:minmax(250px,25fr) minmax(0,46fr) minmax(260px,29fr); }.cockpit-column { gap:12px; }.panel-heading { padding-inline:12px; }.panel-heading h2 { font-size:14px; }.scene-label { display:none; }.scene-title { font-size:23px; }.theme-cockpit .chat-layout { grid-template-columns:180px minmax(0,1fr) 250px; gap:12px; }.theme-cockpit .chat-head .tag { display:none; }.theme-cockpit .chat-head { padding:14px; } }
@media (min-width:1001px) and (max-height:850px) {
  .theme-cockpit .header-main { min-height:78px; }
  .cockpit-context { min-height:39px; }
  .cockpit-grid { min-height:max(545px,calc(100dvh - 194px)); gap:12px; }
  .cockpit-column { gap:12px; }
  .panel-heading,.cockpit-right .panel-heading { min-height:39px; }
  .subject-content { padding:12px 14px; }
  .subject-heading { margin-bottom:10px; }
  .subject-fields { gap:6px 10px; }
  .subject-progress { padding-top:9px; margin-top:10px; }
  .selected-policy { padding-top:9px; }
  .selected-policy p { display:none; }
  .cockpit-right .condition-bars { gap:6px; padding-top:5px; padding-bottom:10px; }
  .cockpit-right .next-action { padding-block:6px; }
  .cockpit-right .next-action strong,.cockpit-right .next-action small { line-height:1.4; }
  .cockpit-policy { padding-block:10px; }
  .notice-panel { min-height:142px; }
  .cockpit-notices { gap:7px; padding:10px 14px; }
  .overview-panel .panel-heading { min-height:40px; }
  .overview-caption { margin-bottom:7px; }
  .cockpit-stats { margin-bottom:10px; }
  .cockpit-stat { padding-block:8px; }
  .cockpit-stat strong { font-size:36px; }
  .consult-cta { min-height:43px; }
  .scene-title { margin-top:3px; font-size:25px; }
  .scene-kicker { font-size:10px; }
  .theme-cockpit .chat-layout { min-height:490px; }
}
@media (max-width:1000px) { .theme-cockpit .header-main { grid-template-columns:1fr auto; }.mast-title { display:none; }.theme-cockpit .header-tools .header-tool span { display:initial; }.theme-cockpit .profile-select-wrap .select { width:150px; }.theme-cockpit .nav-tab { padding-inline:10px; }.cockpit-grid { grid-template-columns:1fr 1.35fr; height:auto; min-height:0; max-height:none; }.cockpit-left { grid-column:1; grid-row:1; }.cockpit-center { grid-column:2; grid-row:1; }.cockpit-right { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }.next-panel { grid-column:1 / -1; }.next-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.next-action { border-bottom:0; }.policies-panel { min-height:260px; }.cockpit-policy-list { max-height:310px; }.agri-scene { min-height:300px; }.cockpit-notices { gap:16px; }.theme-cockpit .chat-layout { grid-template-columns:minmax(0,1fr) 250px; height:auto; min-height:620px; }.chat-navigation { display:none; }.theme-cockpit .chat-shell { min-height:600px; }.theme-cockpit .chat-side { display:grid; grid-template-columns:1fr; }.context-meta span:first-child { display:none; }.context-meta span+span { margin:0; padding:0; border:0; } }
@media (max-width:760px) { .theme-cockpit .wrap { width:calc(100% - 28px); }.theme-cockpit .header-main { min-height:77px; }.theme-cockpit .brand-text strong { font-size:18px; }.theme-cockpit .brand-text small { font-size:9px; letter-spacing:0; }.brand-logo { width:34px; height:37px; }.theme-cockpit .header-tools .header-tool span:not(.font-icon) { display:none; }.demo-badge { font-size:10px; padding:4px 6px; }.theme-cockpit .nav-inner { flex-wrap:wrap; width:100%; padding:0 14px; gap:0; }.theme-cockpit .nav-tab { flex:1 0 auto; font-size:12px; padding-inline:8px; min-height:44px; gap:4px; }.theme-cockpit .nav-tab .ic { width:15px; }.theme-cockpit .profile-select-wrap { width:100%; border-left:0; border-top:1px solid #31658066; padding:8px 0; justify-content:space-between; }.theme-cockpit .profile-select-wrap > span { display:block; }.theme-cockpit .profile-select-wrap .select { width:240px; }.context-meta { display:none; }.cockpit-grid { display:flex; flex-direction:column; gap:16px; }.cockpit-center { order:-1; }.agri-scene { min-height:285px; }.scene-title { font-size:25px; }.overview-panel { margin-top:-4px; }.cockpit-column { gap:16px; }.cockpit-right { display:flex; }.cockpit-policy-list { max-height:330px; }.cockpit-policy { min-height:72px; }.next-actions { display:block; }.next-action { padding:13px 4px; border-bottom:1px solid #326781; }.cockpit-stat strong { font-size:36px; }.cockpit-stat small { display:none; }.theme-cockpit .page-title { flex-wrap:wrap; gap:12px; }.theme-cockpit .page-title h1 { font-size:24px; }.theme-cockpit .chat-layout { display:flex; flex-direction:column; gap:16px; height:auto; }.theme-cockpit .chat-shell { height:640px; min-height:0; }.theme-cockpit .chat-side { display:grid; grid-template-columns:1fr; overflow:visible; }.theme-cockpit .chat-head strong { font-size:16px; }.theme-cockpit .chat-log { padding:18px 12px; }.theme-cockpit .chat-message .bubble { font-size:13px; max-width:calc(100% - 40px); }.theme-cockpit .chat-input { padding:12px; gap:8px; }.theme-cockpit .chat-input .btn { padding-inline:11px; }.theme-cockpit .chat-suggestions { flex-wrap:wrap; overflow:visible; }.theme-cockpit .suggest-chip { white-space:normal; text-align:left; }.theme-cockpit .match-summary-grid { grid-template-columns:1fr 1fr; }.theme-cockpit .dimension-grid { grid-template-columns:1fr; }.theme-cockpit .page-title .flex-center { flex-wrap:wrap; }.theme-cockpit .result-foot { align-items:flex-start; flex-direction:column; }.theme-cockpit .result-actions { width:100%; }.theme-cockpit .result-actions .btn { flex:1; }.theme-cockpit .drawer-foot { flex-wrap:wrap; gap:7px; padding:10px 12px; }.theme-cockpit .drawer-foot .btn { flex:1; padding-inline:6px; font-size:12px; }.theme-cockpit .drawer-head { padding:18px 16px 8px; }.theme-cockpit .drawer-head h2 { font-size:21px; }.theme-cockpit .drawer-body { padding:18px 16px; }.theme-cockpit .header-tools { flex:none; }.theme-cockpit .brand { flex:none; } }
@media (max-width:420px) { .theme-cockpit .admin-link { display:none; }.theme-cockpit .nav-tab { flex:1 0 33%; }.theme-cockpit .header-main { gap:6px; }.theme-cockpit .brand-text strong { font-size:17px; }.theme-cockpit .brand { gap:8px; }.theme-cockpit .header-tools { gap:0; }.mast-title h1 { font-size:22px; }.cockpit-stat span { font-size:11px; }.scene-title { font-size:23px; }.theme-cockpit .filter-grid { grid-template-columns:1fr; }.theme-cockpit .match-profile-main { width:calc(100% - 65px); flex:auto; }.theme-cockpit .chat-head-main { gap:8px; }.theme-cockpit .chat-head small { font-size:10px; } }
/* Let reminder content set the minimum row height. All three columns stretch
   together; only the policy catalogue scrolls within its column. */
@media (min-width:1001px) {
  .cockpit-grid { grid-template-rows:minmax(min-content,1fr); align-items:stretch; }
  .cockpit-left { contain:size; }
  .cockpit-right { display:grid; grid-template-rows:auto minmax(min-content,1fr) auto; min-height:min-content; align-content:stretch; }
  .cockpit-right .notice-panel { min-height:min-content; display:flex; flex-direction:column; overflow:visible; }
  .cockpit-right .notice-panel .panel-heading { flex-shrink:0; }
  .cockpit-right .cockpit-notices { flex:1 0 auto; overflow:visible; align-content:start; }
  .cockpit-right .next-panel { min-height:0; }
}
/* Motion is concentrated in the agriculture scene; the rest responds to interaction. */
.theme-cockpit .cockpit-panel { transition:border-color .22s ease,box-shadow .22s ease; }
.theme-cockpit .cockpit-panel:hover { border-color:#76edff; box-shadow:var(--surface-shadow),0 0 18px #20ceff20; }
.cockpit-stat { transition:transform .22s ease,background .22s ease; }
.cockpit-stat:hover { transform:translateY(-3px); }
.cockpit-stat:active { transform:translateY(0); }
.consult-cta { position:relative; overflow:hidden; transition:background .2s ease,border-color .2s ease; }
.consult-cta .ic:last-child { transition:transform .22s ease; }
.consult-cta:hover .ic:last-child { transform:translateX(4px); }
.consult-cta:active { background:#064f62; box-shadow:none; }
.scene-orbit { opacity:.85; }
@keyframes cockpit-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes cockpit-orbit { to { transform:rotate(360deg); } }
@keyframes cockpit-halo { 0%,100% { opacity:.45; transform:rotate(-4deg) scale(.97); } 50% { opacity:.95; transform:rotate(-4deg) scale(1.03); } }
@keyframes cockpit-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes cockpit-fill { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media (prefers-reduced-motion:no-preference) {
  .theme-cockpit .agri-orb { animation:cockpit-float 6s ease-in-out infinite; }
  .theme-cockpit .scene-orbit::before { animation:cockpit-orbit 12s linear infinite; }
  .theme-cockpit .orb-stage::after { animation:cockpit-halo 6s ease-in-out infinite; }
  .theme-cockpit .cockpit-enter .cockpit-panel,
  .theme-cockpit .cockpit-enter .agri-scene { animation:cockpit-reveal .6s cubic-bezier(.2,.7,.2,1) both; }
  .theme-cockpit .cockpit-enter .subject-panel { animation-delay:.04s; }
  .theme-cockpit .cockpit-enter .conditions-panel { animation-delay:.10s; }
  .theme-cockpit .cockpit-enter .policies-panel { animation-delay:.16s; }
  .theme-cockpit .cockpit-enter .overview-panel { animation-delay:.20s; }
  .theme-cockpit .cockpit-enter .notice-panel { animation-delay:.24s; }
  .theme-cockpit .cockpit-enter .next-panel { animation-delay:.30s; }
  .theme-cockpit .cockpit-enter .cockpit-stat strong { animation:cockpit-reveal .5s cubic-bezier(.2,.7,.2,1) both; animation-delay:.32s; }
  .theme-cockpit .cockpit-stat:nth-child(2) strong { animation-delay:.40s; }
  .theme-cockpit .cockpit-stat:nth-child(3) strong { animation-delay:.48s; }
  .theme-cockpit .cockpit-stat:nth-child(4) strong { animation-delay:.56s; }
  .theme-cockpit .condition-track i,
  .theme-cockpit .subject-progress .progress > span { transform-origin:left; animation:cockpit-fill .8s cubic-bezier(.2,.7,.2,1) .12s both; }
}
@media (prefers-reduced-transparency:reduce) { .theme-cockpit .cockpit-panel,.theme-cockpit .card,.theme-cockpit .side-card { background:#043352; } }
@media (prefers-reduced-motion:reduce) { .theme-cockpit *,.theme-cockpit *::before,.theme-cockpit *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
