/* Lanyao workspace: pale chart paper, ink-depth surfaces and tide marks. */
:root {
  --chart-paper: #edf3ec; --chart-ink: #102f37; --depth: #0b232b;
  --shelf: #14353d; --tide: #79e3cf; --beacon: #ffbf72;
  --hair: #35555a; --sea-text: #eff7ed; --sea-muted: #afc8c4;
  --song: "Songti SC","SimSun","STSong",serif;
  --type: "DengXian","等线","Microsoft YaHei UI",sans-serif;
  --figures: "Bahnschrift","DengXian","Microsoft YaHei UI",sans-serif;
  --ops-bg:var(--depth);--ops-surface:var(--shelf);--ops-text:var(--sea-text);
  --ops-muted:var(--sea-muted);--ops-line:var(--hair);--ops-faint:#28444a;--ops-accent:var(--tide);
}
#app .lanyao-v2,#app .admin-shell{font-family:var(--type);background:var(--depth);color:var(--sea-text)}
#app .main,#app .admin-main{background:var(--depth);min-width:0}
#app .shell{background:var(--depth)}
#app .topbar{background:#0c272f;border-bottom:1px solid #33515a;color:var(--sea-text)}
#app .topbar .crumb b{color:var(--sea-text)}
#app :is(.brand-lanyao,.admin-brand){border-bottom:1px solid #bfd0c8;background:transparent}
#app .brand-lanyao img,#app .admin-brand img{filter:none;background:#fff;object-fit:contain;border:0;border-radius:4px;box-shadow:none;padding:4px 6px}
#app [data-sidebar=sidebar],#app .admin-sidebar,[data-mobile=true][data-sidebar=sidebar]{background:var(--chart-paper);color:var(--chart-ink);border-right:1px solid #a6bcb3}
#app [data-sidebar=group]{padding-block:4px}
#app [data-sidebar=group-label],#app .brand-lanyao small,#app .admin-sidebar .admin-label,#app .admin-workspace-links>small{color:#47645e;font:600 12px/1.5 var(--type);letter-spacing:.055em}
#app [data-sidebar=group-label]{height:25px}
#app :is(.nav-button,.admin-sidebar nav button,.admin-workspace-links a){position:relative;background:transparent;color:#234840;border:0;box-shadow:none;border-radius:4px;transition:background-color 140ms,color 140ms}
#app :is(.nav-button,.admin-sidebar nav button,.admin-workspace-links a):hover{background:#d6e6dd;color:#122f32}
#app .nav-button[data-active=true],#app .admin-sidebar nav button.active{background:#123e45;color:#eafff8;box-shadow:inset 3px 0 0 #40bba8}
#app .nav-button svg,#app .admin-sidebar nav svg{color:inherit}
#app .nav-button span{font-family:var(--type);font-weight:600}
#app .nav-button em{background:#c6dfd5;color:#204f47;border:0}
#app [data-sidebar=footer],#app .admin-side-footer{border-color:#b7c9c0;color:#314f4b}
#app [data-sidebar=footer] button,#app .admin-side-footer :is(button,a){background:#dde9e2;color:#173b37;border-color:#b7cdc2}
#app [data-sidebar=footer] :is(strong,b,small),#app .brand-lanyao small,#app .admin-side-footer :is(b,small,p){color:#355851}
#app .company{background:#e2ede6;color:#23564d;border-color:#bdd1c6}
#app :is(.page-heading,.admin-heading){
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:106px;padding:18px clamp(16px,2vw,30px);margin:0 0 19px;
  color:var(--chart-ink);background:var(--chart-paper);border:0;border-left:4px solid #4ba99b;
  border-radius:2px 12px 2px 2px;box-shadow:none;
}
#app :is(.page-heading,.admin-heading)::after{content:"";position:absolute;z-index:-1;inset:0 0 0 32%;pointer-events:none;background:url("/lanyao-wave.jpg") center bottom / 100% auto no-repeat;mix-blend-mode:multiply;opacity:.28;mask-image:linear-gradient(105deg,transparent 4%,#000 72%)}
#app :is(.page-heading,.admin-heading) h1,#app .boss-title h1{
 font-family:var(--song);font-size:clamp(28px,2.4vw,40px);font-weight:700;letter-spacing:.02em;line-height:1.22;
}
#app :is(.page-heading,.admin-heading) h1{color:#11343b;margin:3px 0 5px}
#app :is(.page-heading,.admin-heading) :is(.eyebrow,.daily-eyebrow,p){color:#385d57}
#app :is(.page-heading,.admin-heading) p{font-size:14px;line-height:1.55}
#app .heading-actions .demo-badge{background:#dceae3;border:1px solid #afc6bd;color:#274d48}
#app :is(.page-heading,.admin-heading) button{background:#f7faf2e8;color:#194746;border:1px solid #a3bcb2;box-shadow:none}
#app:not(:has(.auth-screen)) :is(.button.primary,.btn.pri,.ai-question-button){color:#092f31;background:var(--tide);border-color:#69cfbd;box-shadow:none}
#app:not(:has(.auth-screen)) :is(.button.primary,.btn.pri):hover{background:#a0f1da}
#app :is(.admin-kpis,.crm-kpis,.sales-kpis,.live-kpis,.strategic-kpis,.reference-stats,.knowledge-metrics,.boss-kpis){
 background:linear-gradient(110deg,#173e43,#112f37);border:1px solid #3d6060;border-top:2px solid #63998f;border-radius:4px;
}
#app :is(.admin-kpis,.crm-kpis,.sales-kpis,.live-kpis,.strategic-kpis,.reference-stats,.knowledge-metrics,.boss-kpis)>*{border-color:#3a5657}
#app :is(.admin-kpis,.crm-kpis,.sales-kpis,.live-kpis,.strategic-kpis,.reference-stats,.knowledge-metrics,.boss-kpis) :is(strong,b.v,.v,.value,.knowledge-metric>b){font-family:var(--figures);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#f2f7e9;line-height:1.12}
#app :is(.admin-kpis,.crm-kpis,.sales-kpis,.live-kpis,.reference-stats,.knowledge-metrics,.boss-kpis) small{color:var(--sea-muted)}
#app .boss-panel{background:#113039;border-top:2px solid #4f857f}
#app .boss-panel.boss-hero{background:#15383e;border-top-color:var(--beacon)}
#app .boss-title h1{color:var(--sea-text)}
#app :is(.boss-panel>header,.panel .phd,.admin-panel-title,.ops-register-head) h2{font-family:var(--song);font-weight:700;letter-spacing:.02em}
#app .boss-filterbar{background:#112f36;border-color:var(--hair)}
#app :is(.boss-kpi,.live-metric,.stat){font-variant-numeric:tabular-nums}
#app .ops-register{background:var(--chart-paper);color:var(--chart-ink);padding:0 clamp(10px,1.4vw,22px);border:1px solid #aabeb3;border-radius:3px 10px 3px 3px;overflow:hidden}
#app .ops-register-head{padding:15px 0 13px;border-bottom:2px solid #254a4b;align-items:baseline}
#app .ops-register-head h2{font:700 23px/1.25 var(--song);color:#13383c}
#app .ops-register-head span,#app .ops-pages>span{color:#48665f;font-family:var(--figures)}
#app .ops-register table{color:var(--chart-ink);background:transparent;font-family:var(--type)}
#app .ops-register table thead{background:#dce8df}
#app .ops-register th{color:#345650;font-weight:700}
#app .ops-register :is(th,td){border-color:#c6d5c9;padding:11px 10px}
#app .ops-register td:not(:first-child){color:#294b49;font-family:var(--figures)}
#app .ops-register .ops-record-open{color:#153e42;font-size:14px;font-weight:600}
#app .ops-register tbody tr:hover,#app .ops-register tbody tr:focus-within{background:#dcece1}
#app .ops-register .ops-record-open:hover{color:#006e66}
#app .ops-register .ops-status{display:inline-flex;align-items:center;gap:5px;color:#254b4b;background:transparent;padding:0;font-family:var(--type);white-space:nowrap}
#app .ops-status::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#337e80}
#app .ops-status:is([data-status="待审核"],[data-status="待处理"],[data-status="有风险"],[data-status="受阻"])::before{background:#b15a19}
#app .ops-status[data-status="已完成"]::before{background:#468659}
#app .ledger-progress{display:inline-block;min-width:40px;font-family:var(--figures);padding-bottom:3px;background:linear-gradient(to right,#418e83 var(--progress),#c4d7cc var(--progress)) left bottom/100% 2px no-repeat}
#app .ops-pages{border-color:#c6d5c9}
#app .ops-pages .button{background:#f9fbf4;color:#214b4b;border-color:#a8c0b6}
#app .ops-pages .button:disabled{opacity:.5}
#app :is(.business-manual,.live-card,.sales-card,.admin-panel,.knowledge-panel,.strategic-card,.crm-panel){border-color:var(--hair)}
#app :is(.panel,.admin-panel,.crm-panel,.knowledge-panel,.live-card,.sales-card,.strategic-card) :is(h2,h3){font-family:var(--song);font-weight:700}
#app :is(.tbl,.admin-table,.crm-table,.metrics-table) th{background:#183c43;color:#c7dfd7;border-color:#36575b;font-family:var(--type)}
#app :is(.tbl,.admin-table,.crm-table) td{border-color:#2a454c}
#app :is(.tbl,.admin-table,.crm-table) tbody tr:hover{background:#18383e}
#app :is(.record-name,.reference-task-name,.business-manual-link,.knowledge-domain-card){transition:background-color 140ms,color 140ms}
#app .assistant-list{border-color:#426460}
#app .assistant-group-title{color:#b8cdc5}
#app .assistant-list>button.active{background:#1b4749;color:#b5f2df;border-left:3px solid var(--tide)}
#app .ai-conversation{border-color:#446661;background:#112e35}
#app .ai-conversation-title{border-bottom:1px solid #40605e}
#app .ai-conversation-title h2{font:700 22px/1.35 var(--song);color:var(--sea-text)}
#app .conversation-body{background:radial-gradient(ellipse at 40% 0,#193a40,transparent 70%)}
#app :is(.ai-welcome h2,.ai-prompt-title){color:var(--sea-text);font-family:var(--song)}
#app .ai-mode{background:#19343a;border-color:#3f5b5c;color:#c5d8cf}
#app .admin-heading{margin-bottom:20px}
#app .admin-workspace-links{border-color:#b1c7bb}
#app .admin-workspace-links a{padding-block:9px}
#app .admin-shell .admin-nav-badge.active{background:#ffe2b5;color:#694307}
#app :is(.status.orange,.status.amber){background:#493624;color:#ffcf91}
#app .status.green{background:#1c4239;color:#a4e6c3}
#app .status.blue{background:#1c424c;color:#aee6eb}







.page-ai-pane{font-family:var(--type);background:rgba(12,47,54,.92);border-color:#739e92;border-radius:8px 2px 8px 8px;backdrop-filter:blur(16px)}
.page-ai-launch{background:rgba(17,64,69,.87);color:#d4f7e3;border-color:#85baa9;font-family:var(--figures)}
.page-ai-compose button{background:var(--tide)}
.page-ai-compose input{background:#102c32}
.account-switch-fab{font-family:var(--type)}
:is(.record-dialog,.admin-modal,.crm-modal,.boss-detail,[role=dialog]){font-family:var(--type)}
:is(.record-dialog,.admin-modal,.crm-modal,.boss-detail,[role=dialog]) :is(h2,h3){font-family:var(--song)}
[role=dialog] :is(input,textarea,select):focus-visible{outline:2px solid #62c9af;outline-offset:2px}
@keyframes tide-open{from{opacity:0;transform:translateX(14px);clip-path:inset(0 0 0 7%)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes sheet-mark{from{background-size:0 2px}to{background-size:100% 2px}}
@media(prefers-reduced-motion:no-preference){
 .page-ai-pane{animation:tide-open 180ms ease-out}
 #app .ops-register-head h2{background:linear-gradient(#4c9488,#4c9488) 0 100%/100% 2px no-repeat;padding-bottom:5px;animation:sheet-mark 280ms ease-out}
 #app:not(:has(.auth-screen)) :is(.nav-button,.assistant-list>button,.button){transition:background-color 140ms ease,color 140ms ease,box-shadow 140ms ease}
}
@media(max-width:767px){
 #app :is(.page-heading,.admin-heading){display:flex;align-items:flex-start;flex-wrap:wrap;min-height:0;gap:10px;padding:13px 14px;margin-bottom:13px}
 #app :is(.page-heading,.admin-heading) h1{font-size:27px}
 #app :is(.page-heading,.admin-heading)::after{left:18%;opacity:.17}
 #app .ops-register :is(th,td){padding:1px 0}
 #app .ops-register tr{border-color:#c0d2c5}
 #app .ops-register td:not(:first-child)::before{color:#476960}


}
@media(prefers-reduced-motion:reduce){.page-ai-pane,#app .ops-register-head h2{animation:none}}
/* Keep the blue wordmark legible on the light navigation stock. */
#app .brand-lanyao,#app .admin-brand{height:auto;min-height:72px;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px!important;padding:13px 18px!important}
#app .brand-lanyao img,#app .admin-brand img{content:url("/lanyao-logo.png");width:124px;max-width:100%;height:auto;background:none;border:0;padding:0;mix-blend-mode:multiply}
#app .brand-lanyao small{margin:0;padding:0;border:0;letter-spacing:.04em;font-size:11px}
#app .page-heading::after{display:block;width:auto;height:auto;top:0;bottom:0;right:0;border-radius:0;opacity:.32}
#app .cockpit-theme .page-heading{display:none}
#app .boss-header,#app .boss-hd{border-top-color:#719d93}
#app .main .ops-register tr{scroll-margin-block:70px}


/* The active index grows from the reading edge when the selected route changes. */
@keyframes select-index{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
#app .nav-button[data-active=true]::after{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:1px;background:#83ecd1;transform-origin:center}
@media(prefers-reduced-motion:no-preference){#app .nav-button[data-active=true]::after{animation:select-index 160ms ease-out}}
@media(forced-colors:active){#app .ops-status::before,#app .ledger-progress{forced-color-adjust:auto}#app .nav-button[data-active=true]{outline:2px solid Highlight}}

/* The logo sits in the light band; navigation begins in the darker band below. */
:root {
  --nav-tide: linear-gradient(180deg, #78c3cb 0, #426473 min(100px, 24%), #294457 52%, #091121 100%);
  --nav-text: #f1f9fa;
  --nav-rule: rgb(213 242 245 / 30%);
}
#app [data-sidebar=sidebar], #app .admin-sidebar, [data-mobile=true][data-sidebar=sidebar] {
  background: var(--nav-tide);
  color: var(--nav-text);
  border-color: #344d5c;
}
#app [data-sidebar=sidebar] .nav-button, #app .admin-sidebar nav button, #app .admin-sidebar .admin-workspace-links a,
[data-mobile=true][data-sidebar=sidebar] .nav-button {color:var(--nav-text);background:transparent}
#app [data-sidebar=group-label], #app .admin-sidebar .admin-label, #app .admin-workspace-links>small,
[data-mobile=true][data-sidebar=sidebar] [data-sidebar=group-label] {color:#f1f8f8}
#app .brand-lanyao small, [data-mobile=true][data-sidebar=sidebar] .brand-lanyao small {color:#fff;text-shadow:0 1px 3px #102136}
#app .brand-lanyao small:after, [data-mobile=true][data-sidebar=sidebar] .brand-lanyao small:after {color:inherit}
#app [data-sidebar=sidebar] .nav-button:hover, #app .admin-sidebar nav button:hover, #app .admin-sidebar .admin-workspace-links a:hover,
[data-mobile=true][data-sidebar=sidebar] .nav-button:hover {background:#234652;color:white}
#app [data-sidebar=sidebar] .nav-button[data-active=true], #app .admin-sidebar nav button.active,
[data-mobile=true][data-sidebar=sidebar] .nav-button[data-active=true] {background:#103c46;color:white;box-shadow:inset 3px 0 #88ecd9}
#app .admin-side-footer, #app .admin-side-footer :is(p,b,small), #app .admin-side-footer a,
#app [data-sidebar=footer] :is(button,b,strong,small), [data-mobile=true][data-sidebar=sidebar] [data-sidebar=footer] {color:#e3f1f4}
#app [data-sidebar=footer] button, #app .admin-side-footer :is(a,button) {background:#183343;border-color:var(--nav-rule)}
#app :is(.admin-brand,.brand-lanyao,.admin-workspace-links,.admin-side-footer,[data-sidebar=footer]) {border-color:var(--nav-rule)}

#app .admin-brand img, #app .brand-lanyao img {mix-blend-mode:normal;background:#eef6f1;border-radius:4px;padding:3px 5px}


/* Keep the reading surface anchored to the viewport while its records scroll. */
:root {
  --workspace-tide: linear-gradient(to top right,
    #091121 0%, #091121 12%, #132d3b 40%, #264a58 69%, #426875 86%, #78c3cb 100%);
}
#app .lanyao-v2 .shell, #app .admin-shell .admin-body {
  background: #091121 var(--workspace-tide) center / cover no-repeat fixed;
}
#app .lanyao-v2 main.main, #app .admin-shell main.admin-main {background: transparent}
#app .main .boss-v2 {background-color:transparent;background-image:none}
/* Tables formerly picked up the solid page colour through their transparent rows. */
#app :is(.reference-panel,.panel:has(table),.admin-panel:has(table),.crm-panel:has(table)) { background-color:var(--depth) }
#app .reference-stats .stat :is(.l,.f) {color:var(--sea-muted)}

/* One reverse tide per former porcelain surface, including the full ledger. */
:root {
  --panel-tide: linear-gradient(to top right, #78c3cb 0%, #365663 22%, #1c3447 57%, #091121 100%);
  --panel-ink:#f3fafb;
  --panel-rule:rgb(208 239 242 / 27%);
}
#app .ops-register, #app :is(.page-heading,.admin-heading) {
  background: #091121 var(--panel-tide);
  color:var(--panel-ink); border-color:var(--panel-rule);
}
#app :is(.page-heading,.admin-heading)::after { mix-blend-mode:luminosity;opacity:.09 }
#app :is(.page-heading,.admin-heading) :is(h1,.eyebrow,.daily-eyebrow,p) {
  color:var(--panel-ink);text-shadow:0 1px 3px #122c39;
}
#app .ops-register-head {border-color:#74a3ac}
#app .ops-register-head :is(h2,span), #app .ops-register :is(th,td,.ops-status,.ops-record-open),
#app .ops-register td:not(:first-child) {color:var(--panel-ink)}
#app .ops-register-head h2 {background-image:linear-gradient(#8ad9ce,#8ad9ce)}
#app .ops-register table {background:transparent;color:var(--panel-ink)}
#app .ops-register table thead {background:rgb(10 32 48 / 53%)}
#app .ops-register :is(th,td) {border-color:var(--panel-rule)}
#app .ops-register tbody {background-color:rgb(5 22 36 / 52%)}
#app .ops-register tbody tr:is(:hover,:focus-within) {background:rgb(13 54 62 / 70%)}
#app .ops-register .ops-record-open:hover {color:#a6f5e4}
#app .ops-status::before {background:#8bd7df}
#app .ops-status:is([data-status="待审核"],[data-status="待处理"],[data-status="有风险"],[data-status="受阻"])::before {background:#ffbf72}
#app .ops-status[data-status="已完成"]::before {background:#92dfb0}
#app .ledger-progress {background-image:linear-gradient(to right,#88e4d3 var(--progress),#567680 var(--progress))}
#app .ops-pages {border-color:var(--panel-rule)}
#app .ops-pages>span {color:#f2fbfc;background:#234450;border-radius:4px;padding:2px 7px}
@media(max-width:767px){
  #app .ops-register tr {border-color:var(--panel-rule)}
  #app .ops-register td:not(:first-child)::before {color:#cde1e5}
}

#app .reference-workbench-page .task-list-heading {display:flex;align-items:center;flex-wrap:wrap;gap:8px;height:auto;min-height:44px}
#app .task-list-heading .task-create {display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-inline-start:auto;padding:8px 14px;min-height:36px;white-space:nowrap;border-radius:7px}
