/* A / Deep sea. Display only; editing and publication contracts are unchanged. */
:root { --sea-bg:#071725; --sea-panel:#0c2235; --sea-line:#24495f; --sea-text:#ecf6ff; --sea-muted:#a0bacd; --sea-cyan:#55e2f0; --sea-gold:#f0c887; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif; }
body:not(.auth-page):not(:has(.executive-hero)) { --green:#17677f; --wimi-accent:#17677f; }
body:not(.auth-page):not(:has(.executive-hero)) button:not(.secondary):not(.quiet):not([data-view]):not(.selected):not([aria-pressed]) { --green:#17677f; }
body>aside { background:linear-gradient(160deg,#0c263b,#071522 80%); border-right:1px solid #214158; color:var(--sea-text); backdrop-filter:none; }
.brand b { color:#eefaff; }.brand span,.nav-label,.aside-note,.aside-note b,.aside-note small { color:#9ebacf; }
.brand img { box-shadow:0 0 22px #44d8f024; }.sequence-mark i { background:#5a9fbe; }
nav button { color:#abc6da; }nav button:hover { background:#163750; color:#ecfaff; }
nav button.active { background:linear-gradient(90deg,#17445d,#123149); border-color:#2f738d; color:#82efff; box-shadow:inset 3px 0 #55e2f0,0 3px 18px #0002; }
.shell>header { background:#0a1d2e; border-bottom:1px solid #254258; color:#abc5d8; backdrop-filter:none; }
.shell>header button.quiet { color:#6ce4f3; }.shell>header i { color:#64899f; }
/* Login: artwork and form remain independent, accessible elements. */
body.auth-page { background:var(--sea-bg); }
.login-layout { grid-template-columns:minmax(0,1.24fr) minmax(410px,1fr); color:var(--sea-text); background:#071827; }
.login-story { padding:44px clamp(32px,4vw,78px); min-height:100dvh; border-right:1px solid #25506a; background:radial-gradient(ellipse at 85% 55%,#123e57 0,transparent 65%),#081c2e; }
/* Light stays behind the copy and fades out before its seamless return. */
.login-story::before {
  inset:0; width:auto; height:auto; border-radius:0; z-index:1;
  background:linear-gradient(115deg,transparent 38%,#26bee014 44%,#62e8ff45 49%,#d6faff38 50%,#4ddcf52e 53%,transparent 62%);
  background-size:260% 100%; background-position:140% 0;
  mask-image:linear-gradient(90deg,transparent 25%,#000 62%);
  mix-blend-mode:screen; opacity:0; filter:none; pointer-events:none;
  animation:deepsea-dna-light 8s ease-in-out infinite;
}
.login-story::after { display:block; inset:0; width:auto; height:auto; border-radius:0; background-image:linear-gradient(90deg,#061625f2 0%,#061625a6 38%,#06162508 82%),url('/static/deepsea-dna.png'); background-size:cover; background-position:center; opacity:1; filter:none; pointer-events:none; z-index:0; transform-origin:65% 50%; animation:deepsea-dna-drift 6s ease-in-out infinite alternate; }
@keyframes deepsea-dna-drift {
  from { transform:scale(1.045) translate3d(1.3%,1.1%,0); }
  to { transform:scale(1.11) translate3d(-1.6%,-1.3%,0); }
}
@keyframes deepsea-dna-light {
  0% { background-position:140% 0; opacity:0; }
  18% { opacity:.85; }
  55% { opacity:.85; }
  78%,100% { background-position:-40% 0; opacity:0; }
}
.login-brand,.login-brand small { color:#d5eeff; }.login-brand>span { font-size:32px; letter-spacing:.08em; }.login-brand img { box-shadow:0 0 30px #38d5ff24; }
.login-intro { margin-top:auto; margin-bottom:auto; padding:72px 0; position:relative; z-index:2; }
.login-kicker { color:#82dbea; font-size:10px; letter-spacing:.2em; }
.login-intro h1 { font-size:clamp(32px,3.1vw,48px); color:#f0f9ff; font-weight:650; line-height:1.55; text-shadow:0 3px 18px #04122290; }
.login-intro p { color:#acc8dc; font-size:15px; line-height:1.9; }
.login-sequence { display:none; }
.login-dna-3d { position:absolute; inset:0; z-index:0; opacity:0; pointer-events:none; }
.login-dna-3d canvas { display:block; width:100%; height:100%; }
.login-dna-3d::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#061625e6 0%,#06162587 32%,transparent 70%); }
.login-story.has-dna-3d .login-dna-3d { opacity:1; }
.login-story.has-dna-3d::before,.login-story.has-dna-3d::after { display:none; animation:none; }
.login-brand,.login-story-footer { position:relative; z-index:2; }.login-story-footer { color:#98c0d6; letter-spacing:.1em; padding-top:22px; border-top:1px solid #3b64794d; width:fit-content; }
.login-entry { background:radial-gradient(ellipse at 100% 0,#113a53 0,transparent 52%),#071827; padding:42px 38px 24px; }
.login-form-wrap { max-width:420px; padding:38px 34px 28px; border:1px solid #2b526c; border-radius:20px; background:linear-gradient(145deg,#102b40d9,#081b2bcc); box-shadow:0 24px 70px #020b164d,inset 0 1px #83dcff0d; }
.login-entry h2 { color:#eff9ff; font-size:28px; }.login-description,.login-help { color:#a7bfd1; }.login-description { margin-bottom:24px; }
.login-entry form>label { color:#c5ddec; }.login-entry input { background:#071725b3; color:#f1f9ff; border-color:#31576e; border-radius:9px; }
.login-entry input::placeholder { color:#8daabe; }.login-entry input:focus { background:#0d2940; border-color:#5ddfeb; outline:2px solid #5ddfeb; box-shadow:0 0 0 4px #4ad9ed0e; }
.login-entry .login-password button { color:#a2dbea; }.login-entry .login-submit { border:1px solid #75eeff; border-radius:9px; background:linear-gradient(110deg,#6eeef5,#38bce5); color:#052537; font-weight:700; min-height:50px; }
.login-entry .login-submit:hover { background:linear-gradient(110deg,#95f6fb,#51d4ec); }.login-help { margin-bottom:4px; font-size:12px; }.login-entry>footer { color:#83a4ba; }
.login-entry #login-error { color:#ffb5b0; }.login-entry :where(button,input):focus-visible { outline-color:#75efff; }
/* The published/preview leadership surface owns its dark tokens. */
body:has(.executive-hero) { --ink:#ecf6ff; --muted:#a0bacd; --line:#24495f; --green:#55e2f0; --paper:#071725; background:#071725; color:var(--sea-text); }
body:has(.executive-hero) main { max-width:1700px; padding-top:26px; }
body:has(.executive-hero) :where(h1,h2,h3) { color:#eaf5ff; }
body:has(.executive-hero) :where(.muted,label,small) { color:#a0bacd; }
body:has(.executive-hero) .eyebrow { color:#77c2d7; }
body:has(.executive-hero) :where(button.secondary,.button.secondary) { background:#102b3f; color:#cce7f7; border-color:#2b526a; }
body:has(.executive-hero) :where(button.secondary,.button.secondary):hover { background:#173c54; border-color:#54a8c0; color:#f2fbff; }
body:has(.executive-hero) .quiet { color:#87dfef; }body:has(.executive-hero) .quiet:hover { background:#15374d; }
body:has(.executive-hero) :where(input,select,textarea) { background:#0a2032; color:#e6f4ff; border-color:#2d536c; color-scheme:dark; }
body:has(.executive-hero) :where(input,textarea)::placeholder { color:#91acbf; }
body:has(.executive-hero) :where(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #72e6f2; outline-offset:3px; }
.executive-hero { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:8px 0 24px; }
.executive-hero .eyebrow { font-size:10px; letter-spacing:.22em; margin:0 0 10px; }
.executive-hero h1 { font-size:34px; line-height:1.25; margin:0 0 13px; letter-spacing:.03em; }
.executive-hero h1>span { display:inline-block; font:10px/1.4 ui-monospace,monospace; margin-left:18px; letter-spacing:.13em; color:#81aabd; vertical-align:middle; }
.executive-subtitle { margin:0; font-size:13px; color:#afc6d6; }.executive-source { border-left:1px solid #355165; margin-left:16px; padding-left:16px; color:#73d4e5; }
.executive-present { white-space:nowrap; min-height:42px; padding:9px 18px; }
.executive-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.executive-metric { position:relative; overflow:hidden; border:1px solid #2b536e; border-radius:12px; padding:20px 20px 16px; background:radial-gradient(ellipse at 95% 100%,#123e5645,transparent 70%),linear-gradient(130deg,#102b40,#0a2032); box-shadow:inset 0 1px #76dbff08; }
.executive-metric>div { display:flex; align-items:center; gap:10px; color:#c8e1f1; font-size:12px; }
.executive-metric-symbol { color:#72eaf3; font-size:22px; line-height:1; }
.executive-metric>strong { display:block; font:600 42px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-1px; color:#a0f2f8; margin:12px 0 5px; }
.executive-metric>strong>small { font-size:12px; font-weight:400; margin-left:10px; letter-spacing:0; }
.executive-metric>p { font-size:11px; color:#99b7cc; margin:0; }.executive-metric.attention>strong,.executive-metric.attention .executive-metric-symbol { color:#f0c887; }
.executive-metric-bars { position:absolute; right:20px; bottom:42px; display:flex; gap:4px; align-items:flex-end; opacity:.35; }.executive-metric-bars i { width:4px; height:12px; background:#46cde5; }.executive-metric-bars i:nth-child(2) { height:20px; }.executive-metric-bars i:nth-child(3) { height:28px; }.executive-metric.attention .executive-metric-bars i { background:#eabf78; }
.executive-metric-note { font-size:11px; color:#9ab8ce; padding:8px 0 0; }.executive-metric-note summary { width:fit-content; cursor:pointer; }.executive-metric-note p { max-width:800px; border-left:2px solid #39798f; padding-left:12px; }
.executive-controls { margin:16px 0 12px; gap:12px; padding:16px; background:#0c2335; border:1px solid #25485e; border-radius:12px; }
.executive-filter { margin:12px 0; }.executive-filter>summary,.executive-closeout>summary { cursor:pointer; color:#a0d4e4; font-size:12px; padding:8px 0; width:fit-content; }.executive-closeout { margin:24px 0; padding-top:14px; border-top:1px solid #29475d; }
.executive-metric-note,.executive-filter { display:inline-block; vertical-align:top; margin:8px 24px 0 0; padding:0; }.executive-metric-note>summary { padding:8px 0; }.executive-metric-note[open],.executive-filter[open] { display:block; margin-right:0; }
body:has(.executive-hero) #content>.actions:has([data-ex-empty][hidden]) { display:none; }
.executive-controls label { min-width:135px; font-size:11px; }.executive-controls input,.executive-controls select { margin-top:5px; min-height:38px; }.executive-controls label:first-child { flex:1; min-width:180px; }
.executive-owner-tabs { gap:8px; margin:16px 0; }.executive-owner-tabs button { padding:7px 16px; font-size:12px; }
body:has(.executive-hero) .executive-owner-tabs button[aria-pressed=true] { background:#16455b; border-color:#4db3c7; color:#8ceefa; box-shadow:inset 0 0 0 1px #4db3c72b; }
.executive-timeline { border:1px solid #2d536b; border-radius:13px; background:#0b2031; box-shadow:none; }
.executive-axis { background:#102b40; color:#a3bfd2; }.executive-axis>span { padding:15px 16px; font-size:12px; }
.executive-owner-heading { background:#102a3c; border-color:#27465c; padding:13px 18px; }.executive-owner-heading h2 { font-size:14px; }.executive-owner-heading span { color:#9ebace; }
.executive-lane { border-color:#264257; }.compact .executive-lane { min-height:154px; }.compact .executive-project { background:#0e2535; padding:20px 18px; }.compact .executive-project>button { color:#e3f5ff; border-left-color:#51d3e5; font-size:14px; }.compact .executive-project small { color:#a0bfd1; }
.compact .executive-cell { padding:24px 12px 16px; border-color:#213e52; }.compact .executive-cell:before { top:33px; background:#35758a; }
.compact .executive-node { background:linear-gradient(135deg,#13364b,#0d273b); border:1px solid #32677e; border-left:3px solid #66dce8; border-radius:9px; padding:12px; color:#e9f5fc; box-shadow:0 5px 18px #0002; min-height:108px; }
.compact .executive-node strong { font-weight:550; font-size:13px; -webkit-line-clamp:unset; display:block; overflow:visible; line-height:1.6; }
.compact .executive-node small { background:#0b2538; color:#a5d3e5; font-size:10px; padding:3px 5px; }
.compact .executive-node span { color:#80e6f3; }.compact .executive-node:hover { background:#163f53; border-color:#66cfdf; }.compact .executive-node.risk { border-left-color:#e1b76f; }.compact .executive-node.risk small { background:#3a3020; color:#f0cc93; }
.compact .executive-node.planned { border-style:dashed; border-left-color:#7599b2; background:#0d2537; }.compact .executive-node.planned small { color:#bad0df; }.compact .executive-node.active { border-color:#53bbd0; box-shadow:0 0 18px #38cce511; }.compact .executive-node.done small { color:#a3f2e9; }
.executive-empty { background:none; color:#7897ad; }.executive-more { background:#15374d!important; color:#a0d9eb!important; }.executive-result-shortcut button { border-color:#30647b; }
.executive-highlights { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:18px; margin:28px 0 8px; }
.executive-highlights>section { border:1px solid #2a4c63; border-radius:13px; padding:18px; background:#0b2234; }
.executive-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }.executive-section-title h2 { font-size:17px; margin:0; }.executive-section-title>span { font-size:10px; color:#9cbdcf; }
.executive-achievements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.executive-highlight { border:1px solid #2a4e65; border-radius:9px; padding:16px; background:linear-gradient(145deg,#123147,#0c2335); min-width:0; }
.executive-highlight.attention { border-left:2px solid #c69c5d; margin-bottom:10px; background:#102739; }
.executive-highlight-meta { display:flex; justify-content:space-between; gap:8px; font-size:10px; color:#9fc2d4; margin-bottom:14px; }
.executive-highlight>button { display:block; width:100%; text-align:left; white-space:normal; font-size:15px; line-height:1.6; color:#e9faff!important; padding:0; }.executive-highlight>button span { color:#68d6e7; }
.executive-highlight>p { font-size:12px; color:#acccdd; line-height:1.8; margin:10px 0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; white-space:pre-wrap; }.executive-highlight .actions:empty { display:none; }
.executive-zero { font-size:13px; color:#9fbcd0; border:1px dashed #30536a; border-radius:8px; padding:24px 18px; line-height:1.9; grid-column:1/-1; }
body:has(.executive-hero) .executive-summary section { background:#102a3d; border-color:#2a4e63; }.executive-summary p { color:#9ec0d2; }.executive-detail-entry { border-color:#34758b; }.executive-detail-entry .executive-text { color:#c0d9e8; }
body:has(.executive-hero) dialog { background:#0c2235; color:#edf8ff; border-color:#3c687e; box-shadow:0 28px 100px #0008; backdrop-filter:none; }
body:has(.executive-hero) dialog::backdrop { background:#020d1bbc; }body:has(.executive-hero) pre { background:#081827; color:#bbd6e6; }
body:has(.executive-hero) .executive-stage { color:#9fc7d9; }
body:has(.executive-hero) .closeout-stats { border-color:#28485d; padding:12px 0; gap:24px; }body:has(.executive-hero) .closeout-stats strong { color:#a0d4e5; font-size:22px; }body:has(.executive-hero) .closeout-stats span { color:#9bb9cb; }
body:has(.executive-hero) .closeout-result { background:#0d2739; border-color:#31536a; }body:has(.executive-hero) .closeout-warnings { background:#302c24; color:#efd2a1; }
/* Presentation mode remains in the same page and uses the same published data. */
body:has(.executive-report .executive-hero)>aside,body:has(.executive-report .executive-hero) .shell>header { display:none; }
body:has(.executive-report .executive-hero) .shell { margin:0; }.executive-report .executive-controls,.executive-report .executive-metric-note,.executive-report>.actions { display:none; }.executive-report .executive-hero { padding-top:12px; }.executive-report .executive-hero h1 { font-size:40px; }
.executive-report .executive-node strong { font-size:15px; }.executive-report .executive-highlight>button { font-size:17px; }
.executive-report .executive-filter,.executive-report .executive-closeout { display:none; }
@media(max-width:1100px) { .login-form-wrap { padding:30px 24px; }.executive-hero h1>span { display:none; }.executive-metric { padding:16px; }.executive-metric>div { font-size:11px; }.executive-metric-bars { right:12px; opacity:.22; }.executive-highlights { grid-template-columns:1fr; } }
@media(max-width:767px) { .login-layout { display:block; }.login-story { min-height:270px; padding:28px; background-position:center 40%; }.login-brand>span { font-size:25px; }.login-intro { padding:20px 0 0; margin:0; }.login-intro h1 { font-size:27px; margin:10px 0; }.login-entry { padding:24px 20px; }.login-form-wrap { max-width:480px; padding:26px 24px; }.login-entry>footer { margin-top:22px; }.executive-hero { align-items:flex-start; padding:2px 0 20px; gap:10px; }.executive-hero h1 { font-size:28px; }.executive-subtitle { font-size:12px; }.executive-source { display:block; margin:5px 0 0; padding:0; border:0; }.executive-present { font-size:11px; padding:7px 10px; }.executive-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.executive-metric>strong { font-size:34px; }.executive-metric>p { font-size:10px; }.executive-controls { padding:12px; }.executive-controls label { min-width:110px; flex:1; }.executive-controls label:first-child { flex-basis:100%; }.executive-achievements { grid-template-columns:1fr; }.executive-timeline.compact .executive-axis { display:none; }.executive-timeline.compact .executive-lane { display:flex; min-width:0; }.compact .executive-cell:before { position:static; height:auto; background:none; color:#99c5d9; }.compact .executive-cell { padding:12px 16px; }.executive-owner-heading { flex-wrap:wrap; }.executive-report .executive-hero h1 { font-size:30px; } }
@media(prefers-reduced-motion:reduce) { .login-layout *, .executive-hero *, .executive-metrics *, .executive-highlight * { animation:none!important; transition:none!important; transform:none!important; } }
@media print { body:has(.executive-hero) { --ink:#162737; --muted:#405567; background:white!important; color:#162737; } body:has(.executive-hero) :where(h1,h2,h3,strong,p,small,span,time,button,.quiet) { color:#162737!important; } .executive-hero button,.executive-controls,.executive-metric-note,.executive-owner-tabs { display:none!important; } .executive-timeline,.executive-metric,.executive-highlights>section,.executive-highlight,.executive-project,.executive-cell,.executive-node,.executive-owner-heading,.executive-axis { background:white!important; border-color:#abb9c6!important; box-shadow:none!important; } .executive-highlights { break-inside:avoid; }.executive-metric-bars { display:none; } }
