/* SHENYU MAP V2.0.0 · Information System */
.codex-ui .v2-function-nav{gap:4px}
.codex-ui .v2-function-nav .function-nav-btn{min-height:48px;padding:7px 8px}
.codex-ui .v2-function-nav .function-nav-icon{width:27px;height:27px}
.codex-ui .v2-function-nav .function-nav-btn small{font-size:7.5px}
.codex-ui .v2-information-mode{grid-template-columns:226px minmax(0,1fr);grid-template-rows:minmax(650px,calc(100vh - 98px));}
.codex-ui .v2-information-mode .map-panel{grid-column:2/3;min-height:650px}
.codex-ui .v2-information-mode .right-panel{display:none!important}
.codex-ui .detail-panel.v2-info-hidden{display:none!important}
.codex-ui .v2-center{height:calc(100% - 96px);min-height:540px;overflow:auto;padding:16px 18px 20px;background:radial-gradient(circle at 80% 0%,rgba(143,183,255,.045),transparent 28%),#191919}
.codex-ui .v2-overview-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;max-width:1500px;margin:0 auto}
.codex-ui .v2-main-column,.codex-ui .v2-side-column{display:flex;flex-direction:column;gap:12px;min-width:0}
.codex-ui .v2-hero{min-height:118px;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 22px;border:1px solid #343434;border-radius:16px;background:linear-gradient(135deg,#20252c,#202020 60%,#1d1d1d);overflow:hidden;position:relative}
.codex-ui .v2-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(143,183,255,.09);border-radius:50%;right:-70px;top:-100px;box-shadow:0 0 0 46px rgba(143,183,255,.025),0 0 0 92px rgba(143,183,255,.012)}
.codex-ui .v2-hero>div{position:relative;z-index:1}.codex-ui .v2-hero-kicker,.codex-ui .v2-module-toolbar span,.codex-ui .v2-section-head span,.codex-ui .v2-health-glance>span,.codex-ui .v2-quick-actions>span{display:block;color:#7f93b5;font-size:8px;letter-spacing:.15em;font-weight:700}
.codex-ui .v2-hero h3{margin:7px 0 5px;font-size:25px;font-weight:600;letter-spacing:-.03em}.codex-ui .v2-hero p{margin:0;max-width:720px;color:#8f918d;font-size:11px;line-height:1.75}
.codex-ui .v2-hero-pulse{width:82px;height:82px;display:grid;place-content:center;text-align:center;border:1px solid #4a5669;border-radius:50%;background:#252a32;box-shadow:0 0 0 9px rgba(143,183,255,.035)}
.codex-ui .v2-hero-pulse span,.codex-ui .v2-hero-pulse small{color:#7f838a;font-size:7px}.codex-ui .v2-hero-pulse strong{font-size:24px;font-weight:550;color:#dce8fb}
.codex-ui .v2-kpi-grid,.codex-ui .v2-module-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.codex-ui .v2-module-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.codex-ui .v2-kpi-card{appearance:none;text-align:left;min-width:0;padding:13px 14px;border:1px solid #353535;border-radius:12px;background:#222;color:inherit}
.codex-ui .v2-kpi-card:hover{border-color:#4b5564;background:#282b30}.codex-ui .v2-kpi-card span{display:block;color:#858783;font-size:8px}.codex-ui .v2-kpi-card strong{display:block;margin-top:5px;color:#ececea;font-size:18px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codex-ui .v2-kpi-card small{display:block;margin-top:4px;color:#6f716d;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.codex-ui .v2-hub-card,.codex-ui .v2-activity-card,.codex-ui .v2-reminder-card,.codex-ui .v2-health-glance,.codex-ui .v2-quick-actions,.codex-ui .v2-data-card,.codex-ui .v2-library-categories{border:1px solid #343434;border-radius:14px;background:#202020}
.codex-ui .v2-hub-card,.codex-ui .v2-activity-card,.codex-ui .v2-data-card{padding:14px}
.codex-ui .v2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.codex-ui .v2-section-head strong{display:block;margin-top:3px;color:#dededb;font-size:12px;font-weight:600}.codex-ui .v2-section-head>small{color:#71736f;font-size:8px}
.codex-ui .v2-hub-graph{min-height:275px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:12px;padding:5px 6%}
.codex-ui .v2-hub-graph:before,.codex-ui .v2-hub-graph:after{content:"";position:absolute;left:18%;right:18%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#3e4754,#3e4754,transparent);opacity:.6}.codex-ui .v2-hub-graph:after{top:15%;bottom:15%;left:50%;right:auto;width:1px;height:auto;background:linear-gradient(180deg,transparent,#3e4754,#3e4754,transparent)}
.codex-ui .v2-hub-node,.codex-ui .v2-hub-core{position:relative;z-index:1;justify-self:center;align-self:center;width:112px;min-height:64px;border:1px solid #414854;border-radius:12px;background:#25282d;color:#d5d8dd;text-align:center;display:grid;place-content:center}.codex-ui .v2-hub-node{cursor:pointer}.codex-ui .v2-hub-node:hover{border-color:#627088;background:#2b3038}.codex-ui .v2-hub-node b{font-size:11px}.codex-ui .v2-hub-node small{margin-top:3px;color:#777d85;font-size:8px}.codex-ui .v2-hub-core{grid-column:2;grid-row:2;width:138px;min-height:92px;border-color:#5b6d88;background:#2b3240;box-shadow:0 0 0 8px rgba(143,183,255,.035)}.codex-ui .v2-hub-core span{color:#8faee1;font-size:9px}.codex-ui .v2-hub-core strong{margin:4px 0;color:#f2f2ef;font-size:15px}.codex-ui .v2-hub-core small{color:#747d8b;font-size:7px;letter-spacing:.12em}
.codex-ui .v2-hub-node.people{grid-column:1;grid-row:1}.codex-ui .v2-hub-node.asset{grid-column:2;grid-row:1}.codex-ui .v2-hub-node.health{grid-column:3;grid-row:1}.codex-ui .v2-hub-node.work{grid-column:1;grid-row:3}.codex-ui .v2-hub-node.library{grid-column:2;grid-row:3}.codex-ui .v2-hub-node.todo{grid-column:3;grid-row:3}
.codex-ui .v2-activity-list,.codex-ui .v2-reminder-list,.codex-ui .v2-record-list{display:flex;flex-direction:column;gap:6px}.codex-ui .v2-activity-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;background:#242424}.codex-ui .v2-activity-row i{font-style:normal;color:#aebbd0;font-size:8px}.codex-ui .v2-activity-row strong{display:block;font-size:9px}.codex-ui .v2-activity-row small,.codex-ui .v2-activity-row time{color:#747671;font-size:7px}
.codex-ui .v2-reminder-card,.codex-ui .v2-health-glance,.codex-ui .v2-quick-actions{padding:14px}.codex-ui .v2-reminder-row{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #303030}.codex-ui .v2-reminder-row:last-child{border-bottom:0}.codex-ui .v2-reminder-row>span{color:#c3aa79;font-size:8px}.codex-ui .v2-reminder-row strong{display:block;font-size:9px}.codex-ui .v2-reminder-row small{display:block;margin-top:2px;color:#777974;font-size:7px}
.codex-ui .v2-health-glance>strong,.codex-ui .v2-quick-actions>strong{display:block;margin:4px 0 10px;font-size:12px}.codex-ui .v2-health-glance>div{display:flex;align-items:baseline;justify-content:space-between;padding:8px 0;border-top:1px solid #303030}.codex-ui .v2-health-glance b{font-size:18px;font-weight:550}.codex-ui .v2-health-glance small{color:#777974;font-size:8px}.codex-ui .v2-health-glance button{width:100%;margin-top:8px}.codex-ui .v2-quick-actions button{width:100%;margin-top:6px;padding:9px 10px;border:1px solid #393939;border-radius:9px;background:#252525;color:#aeb0ab;text-align:left;font-size:9px}.codex-ui .v2-quick-actions button:hover{border-color:#4d5561;background:#2a2e34;color:#eee}
.codex-ui .v2-module-shell{max-width:1480px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.codex-ui .v2-module-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;border:1px solid #343434;border-radius:14px;background:#202020}.codex-ui .v2-module-toolbar strong{display:block;margin:4px 0 3px;font-size:16px;font-weight:600}.codex-ui .v2-module-toolbar small{color:#777974;font-size:9px}
.codex-ui .v2-two-column{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(440px,1.22fr);gap:10px;min-height:390px}.codex-ui .v2-bars{display:flex;flex-direction:column;gap:11px;padding-top:4px}.codex-ui .v2-bar-row{display:grid;grid-template-columns:90px minmax(80px,1fr) 110px;align-items:center;gap:8px}.codex-ui .v2-bar-row>span{font-size:8px;color:#949691}.codex-ui .v2-bar-row i{height:5px;border-radius:999px;background:#313131;overflow:hidden}.codex-ui .v2-bar-row i b{display:block;height:100%;border-radius:inherit;background:#7789a5}.codex-ui .v2-bar-row>strong{text-align:right;font-size:9px;font-weight:550}
.codex-ui .v2-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.codex-ui .v2-domain-grid>div{padding:13px;border:1px solid #363636;border-radius:10px;background:#252525}.codex-ui .v2-domain-grid span{display:block;color:#8c8e89;font-size:8px}.codex-ui .v2-domain-grid strong{display:block;margin-top:5px;font-size:20px;font-weight:550}.codex-ui .v2-domain-grid small{color:#737570;font-size:7px}.codex-ui .v2-health-note{margin-top:12px;padding:11px;border:1px solid #4b4336;border-radius:9px;background:#29261f;color:#a6987e;font-size:8px;line-height:1.65}
.codex-ui .v2-record-list{max-height:470px;overflow:auto}.codex-ui .v2-record-row{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid #343434;border-radius:10px;background:#252525;color:inherit;text-align:left}.codex-ui button.v2-record-row{cursor:pointer}.codex-ui button.v2-record-row:hover{border-color:#4d5561;background:#292d32}.codex-ui .v2-record-icon{width:29px;height:29px;display:grid;place-items:center;border:1px solid #444b56;border-radius:8px;color:#a9bbd6;background:#2b3037;font-size:11px}.codex-ui .v2-record-row strong{display:block;font-size:9.5px}.codex-ui .v2-record-row small{display:block;margin-top:3px;color:#777974;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codex-ui .v2-record-row em{font-style:normal;color:#b7b8b4;font-size:9px;white-space:nowrap}
.codex-ui .v2-library-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:10px}.codex-ui .v2-library-categories{padding:10px}.codex-ui .v2-library-categories>div{display:flex;justify-content:space-between;align-items:center;padding:10px 8px;border-bottom:1px solid #303030}.codex-ui .v2-library-categories>div:last-child{border-bottom:0}.codex-ui .v2-library-categories span{color:#999b97;font-size:9px}.codex-ui .v2-library-categories strong{font-size:13px}.codex-ui .v2-document-row{grid-template-columns:32px minmax(0,1fr) auto}.codex-ui .v2-document-actions{display:flex;gap:5px}
.codex-ui .v2-empty{min-height:210px;display:grid;place-content:center;text-align:center;color:#777974;padding:26px}.codex-ui .v2-empty strong{color:#b7b8b4;font-size:11px}.codex-ui .v2-empty small{display:block;margin-top:6px;max-width:360px;font-size:8px;line-height:1.6}.codex-ui .v2-empty-inline{padding:18px;text-align:center;color:#777974;font-size:8px}
.codex-ui .v2-record-modal-card{width:min(780px,96vw)}
.codex-ui .v2-record-modal-card select{background:#202020;color:#f0f0ed;border:1px solid #383838;border-radius:10px;padding:12px 13px;outline:none}

html[data-theme="light"] .codex-ui .v2-center{background:radial-gradient(circle at 80% 0%,rgba(183,147,74,.08),transparent 28%),#fffdfa}
html[data-theme="light"] .codex-ui :is(.v2-hero,.v2-hub-card,.v2-activity-card,.v2-reminder-card,.v2-health-glance,.v2-quick-actions,.v2-data-card,.v2-library-categories,.v2-module-toolbar,.v2-kpi-card){border-color:#e0d3bd;background:#fffdfa;box-shadow:0 8px 22px rgba(91,63,29,.045)}
html[data-theme="light"] .codex-ui .v2-hero{background:linear-gradient(135deg,#fff7e7,#fffdfa 58%,#faeeee)}
html[data-theme="light"] .codex-ui .v2-hero:after{border-color:rgba(152,40,58,.12);box-shadow:0 0 0 46px rgba(183,147,74,.04),0 0 0 92px rgba(183,147,74,.02)}
html[data-theme="light"] .codex-ui :is(.v2-hero h3,.v2-kpi-card strong,.v2-section-head strong,.v2-module-toolbar strong,.v2-health-glance>strong,.v2-quick-actions>strong){color:#3f352d}
html[data-theme="light"] .codex-ui :is(.v2-hero p,.v2-kpi-card span,.v2-kpi-card small,.v2-section-head>small,.v2-module-toolbar small){color:#8b8073}
html[data-theme="light"] .codex-ui :is(.v2-hero-kicker,.v2-module-toolbar span,.v2-section-head span,.v2-health-glance>span,.v2-quick-actions>span){color:#98283a}
html[data-theme="light"] .codex-ui .v2-hero-pulse{border-color:#c6a45f;background:#fff4dc;box-shadow:0 0 0 9px rgba(183,147,74,.08)}
html[data-theme="light"] .codex-ui .v2-hero-pulse strong{color:#8d2235}
html[data-theme="light"] .codex-ui .v2-hub-graph:before,html[data-theme="light"] .codex-ui .v2-hub-graph:after{background:linear-gradient(90deg,transparent,#d4bd8e,#d4bd8e,transparent)}
html[data-theme="light"] .codex-ui .v2-hub-node{border-color:#d8c6a5;background:#fff8ea;color:#654f31}html[data-theme="light"] .codex-ui .v2-hub-node:hover{border-color:#ad3447;background:#faeaea;color:#7f1e31}html[data-theme="light"] .codex-ui .v2-hub-node small{color:#958775}html[data-theme="light"] .codex-ui .v2-hub-core{border-color:#b68f3f;background:#f7e8c8;box-shadow:0 0 0 8px rgba(183,147,74,.08)}html[data-theme="light"] .codex-ui .v2-hub-core span{color:#98283a}html[data-theme="light"] .codex-ui .v2-hub-core strong{color:#493a2b}
html[data-theme="light"] .codex-ui :is(.v2-activity-row,.v2-record-row,.v2-domain-grid>div){border-color:#e1d5c4;background:#faf6ef}html[data-theme="light"] .codex-ui button.v2-record-row:hover{border-color:#c5a55d;background:#fff7e8}html[data-theme="light"] .codex-ui .v2-record-icon{border-color:#d2b774;background:#fff4db;color:#8a5e18}html[data-theme="light"] .codex-ui .v2-record-row strong{color:#453a31}html[data-theme="light"] .codex-ui :is(.v2-record-row small,.v2-activity-row small,.v2-activity-row time){color:#8f8476}html[data-theme="light"] .codex-ui .v2-record-row em{color:#8d2638}
html[data-theme="light"] .codex-ui .v2-bar-row i{background:#eadfce}html[data-theme="light"] .codex-ui .v2-bar-row i b{background:#a52c40}html[data-theme="light"] .codex-ui .v2-health-note{border-color:#d8bd79;background:#fff5dc;color:#765b2d}html[data-theme="light"] .codex-ui .v2-library-categories>div,html[data-theme="light"] .codex-ui .v2-reminder-row{border-bottom-color:#e7dccb}html[data-theme="light"] .codex-ui .v2-quick-actions button{border-color:#d8c49c;background:#fff8e9;color:#70541f}html[data-theme="light"] .codex-ui .v2-quick-actions button:hover{border-color:#aa8031;background:#faedcf;color:#7e1f30}html[data-theme="light"] .codex-ui .v2-record-modal-card select{background:#fffdfa;color:#342d27;border-color:#ddd1bf}

@media(max-width:1200px){.codex-ui .v2-overview-shell{grid-template-columns:1fr}.codex-ui .v2-side-column{display:grid;grid-template-columns:repeat(3,1fr)}.codex-ui .v2-two-column{grid-template-columns:1fr}.codex-ui .v2-library-grid{grid-template-columns:1fr}.codex-ui .v2-library-categories{display:grid;grid-template-columns:repeat(3,1fr)}.codex-ui .v2-library-categories>div{border-bottom:0;border-right:1px solid #303030}}
@media(max-width:900px){.codex-ui .v2-information-mode{grid-template-columns:190px 1fr}.codex-ui .v2-module-kpis,.codex-ui .v2-kpi-grid{grid-template-columns:1fr 1fr}.codex-ui .v2-side-column{grid-template-columns:1fr}.codex-ui .v2-hub-graph{padding:5px 1%}}
@media(max-width:720px){.codex-ui .v2-information-mode{display:block}.codex-ui .v2-information-mode .left-panel{display:block!important}.codex-ui .v2-function-nav{grid-template-columns:repeat(4,1fr)!important}.codex-ui .v2-function-nav .function-nav-btn{min-height:58px}.codex-ui .v2-center{height:auto;min-height:600px;padding:10px}.codex-ui .v2-kpi-grid,.codex-ui .v2-module-kpis{grid-template-columns:1fr 1fr}.codex-ui .v2-hub-graph{min-height:340px;grid-template-columns:1fr 1fr}.codex-ui .v2-hub-core{grid-column:1/3;grid-row:2}.codex-ui .v2-hub-node.people{grid-column:1;grid-row:1}.codex-ui .v2-hub-node.asset{grid-column:2;grid-row:1}.codex-ui .v2-hub-node.health{grid-column:1;grid-row:3}.codex-ui .v2-hub-node.work{grid-column:2;grid-row:3}.codex-ui .v2-hub-node.library{grid-column:1;grid-row:4}.codex-ui .v2-hub-node.todo{grid-column:2;grid-row:4}.codex-ui .v2-library-categories{grid-template-columns:1fr 1fr}.codex-ui .v2-module-toolbar{align-items:flex-start;flex-direction:column}.codex-ui .v2-module-toolbar .primary{width:100%}.codex-ui .v2-record-row{grid-template-columns:28px minmax(0,1fr)}.codex-ui .v2-record-row>em,.codex-ui .v2-document-actions{grid-column:2}.codex-ui .v2-bar-row{grid-template-columns:72px 1fr}.codex-ui .v2-bar-row>strong{grid-column:2}.codex-ui .v2-domain-grid{grid-template-columns:1fr}}
/*
 * SHENYU MAP V2.1.0 · Blue / White / Orange UI Refresh
 * Loaded after the legacy theme files so existing interaction hooks stay intact.
 */

:root{
  --sh-blue:#1677ff;
  --sh-blue-strong:#0b66e4;
  --sh-blue-deep:#0f3f7a;
  --sh-blue-soft:#eaf3ff;
  --sh-blue-softer:#f5f9ff;
  --sh-orange:#ff9f2d;
  --sh-orange-strong:#f08300;
  --sh-orange-soft:#fff3e2;
  --sh-green:#20b875;
  --sh-green-soft:#eafbf3;
  --sh-page:#f3f7fc;
  --sh-card:#ffffff;
  --sh-line:#dbe7f5;
  --sh-line-strong:#c8dbf2;
  --sh-text:#183153;
  --sh-muted:#6d7f98;
  --sh-shadow:0 10px 32px rgba(31,82,145,.08);
  --sh-shadow-soft:0 5px 18px rgba(31,82,145,.055);
}

/* ---------- Light is the product default ---------- */
html[data-theme="light"]{background:var(--sh-page);color-scheme:light}
html[data-theme="light"] .codex-ui{
  --bg:var(--sh-page);
  --bg2:#f7faff;
  --panel:#fff;
  --panel2:#f7faff;
  --sidebar:#fff;
  --sidebar-active:var(--sh-blue);
  --surface:#fff;
  --surface-raised:#fff;
  --surface-hover:#f4f8ff;
  --line:var(--sh-line);
  --line2:var(--sh-line-strong);
  --line-sidebar:var(--sh-line);
  --text:var(--sh-text);
  --muted:var(--sh-muted);
  --muted2:#8fa0b7;
  --accent:var(--sh-blue);
  --accent-strong:var(--sh-blue-strong);
  --accent-soft:rgba(22,119,255,.10);
  --success:var(--sh-green);
  --danger:#e84d5b;
  --shadow:rgba(31,82,145,.08);
  background:var(--sh-page);
  color:var(--sh-text);
  color-scheme:light;
}
html[data-theme="light"] .codex-ui *{scrollbar-color:#b8cce5 transparent}
html[data-theme="light"] .codex-ui *::-webkit-scrollbar-thumb{background:#c1d2e8;background-clip:padding-box}
html[data-theme="light"] .codex-ui *::-webkit-scrollbar-thumb:hover{background:#9eb9d9;background-clip:padding-box}
html[data-theme="light"] .codex-ui ::selection{background:rgba(22,119,255,.18);color:#12335d}
html[data-theme="light"] .codex-ui :is(button,input,select,textarea):focus-visible{outline:2px solid rgba(22,119,255,.56);outline-offset:2px}

/* ---------- Authentication ---------- */
html[data-theme="light"] .codex-ui .auth-shell{background:var(--sh-page)}
html[data-theme="light"] .codex-ui .auth-visual{
  border-right:1px solid #d7e6f7;
  background:
    radial-gradient(circle at 14% 86%,rgba(22,119,255,.15),transparent 30%),
    radial-gradient(circle at 80% 12%,rgba(255,159,45,.13),transparent 24%),
    linear-gradient(145deg,#f5f9ff 0%,#eaf4ff 54%,#f9fbff 100%);
}
html[data-theme="light"] .codex-ui .auth-visual::before{
  opacity:.42;
  background-image:linear-gradient(rgba(22,119,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.045) 1px,transparent 1px);
}
html[data-theme="light"] .codex-ui .auth-visual::after{border-color:rgba(22,119,255,.10);box-shadow:0 0 0 72px rgba(22,119,255,.035),0 0 0 144px rgba(255,159,45,.025)}
html[data-theme="light"] .codex-ui .brand-mark{border-color:#b9d5f7;background:linear-gradient(145deg,#fff,#e9f3ff);color:var(--sh-blue);box-shadow:0 5px 14px rgba(22,119,255,.10)}
html[data-theme="light"] .codex-ui .brand-title{color:#143a68}
html[data-theme="light"] .codex-ui .brand-sub{color:#7588a2}
html[data-theme="light"] .codex-ui .eyebrow{color:var(--sh-blue);letter-spacing:.14em}
html[data-theme="light"] .codex-ui .auth-copy h1{color:#123965}
html[data-theme="light"] .codex-ui .auth-copy p{color:#6e829d}
html[data-theme="light"] .codex-ui .auth-feature{border-color:#d7e6f7;background:rgba(255,255,255,.70);box-shadow:var(--sh-shadow-soft)}
html[data-theme="light"] .codex-ui .auth-feature.cyan{border-top-color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .auth-feature.violet{border-top-color:#6f7bf7}
html[data-theme="light"] .codex-ui .auth-feature.gold{border-top-color:var(--sh-orange)}
html[data-theme="light"] .codex-ui .auth-feature strong{color:#173c68}
html[data-theme="light"] .codex-ui .auth-feature span{color:#7588a1}
html[data-theme="light"] .codex-ui .auth-card{background:#fff;border-color:#d7e5f5;box-shadow:0 18px 55px rgba(28,77,137,.10)}
html[data-theme="light"] .codex-ui .auth-card::before{color:#86a1c3}
html[data-theme="light"] .codex-ui .auth-tabs{background:#f3f7fc;border-color:#e1eaf5}
html[data-theme="light"] .codex-ui .tab{color:#74869e}
html[data-theme="light"] .codex-ui .tab:hover{color:var(--sh-blue);background:#eaf3ff}
html[data-theme="light"] .codex-ui .tab.active{background:#fff;color:var(--sh-blue);box-shadow:inset 0 0 0 1px #cfe0f4,0 2px 8px rgba(22,119,255,.06)}

/* ---------- Core form controls ---------- */
html[data-theme="light"] .codex-ui :is(
  .auth-form input,.contact-form input,.contact-form select,.contact-form textarea,.searchbox input,
  .level-config-row input,.relationship-field input,.feedback-field textarea,.feedback-field input,
  .friend-search-bar input,.todo-form input,.todo-form select,.todo-form textarea,.v2-record-modal-card input,
  .v2-record-modal-card select,.v2-record-modal-card textarea,.v2-document-modal-card input,
  .v2-document-modal-card select,.v2-document-modal-card textarea
){background:#fff;color:var(--sh-text);border-color:#d4e1f1;box-shadow:none}
html[data-theme="light"] .codex-ui :is(
  .auth-form input,.contact-form input,.contact-form select,.contact-form textarea,.searchbox input,
  .level-config-row input,.relationship-field input,.feedback-field textarea,.feedback-field input,
  .friend-search-bar input,.todo-form input,.todo-form select,.todo-form textarea,.v2-record-modal-card input,
  .v2-record-modal-card select,.v2-record-modal-card textarea,.v2-document-modal-card input,
  .v2-document-modal-card select,.v2-document-modal-card textarea
):focus{border-color:#70adff;box-shadow:0 0 0 3px rgba(22,119,255,.09)}
html[data-theme="light"] .codex-ui :is(.auth-form label,.contact-form label,.level-config-row label,.relationship-field label,.feedback-field label){color:#627894}
html[data-theme="light"] .codex-ui :is(.form-note,.modal-sub){color:#7b8ea6}
html[data-theme="light"] .codex-ui .security-note{border-color:#cfe2f8;background:#f0f6ff;color:#53749b}
html[data-theme="light"] .codex-ui .otp-heading{border-color:#cfe1f6;background:#f2f7ff}
html[data-theme="light"] .codex-ui .otp-shield{border-color:#91bbef;background:#e8f3ff;color:var(--sh-blue)}

/* ---------- Buttons ---------- */
html[data-theme="light"] .codex-ui .primary{border-color:transparent;background:linear-gradient(135deg,var(--sh-blue),#3b8fff);color:#fff;box-shadow:0 7px 18px rgba(22,119,255,.18)}
html[data-theme="light"] .codex-ui .primary:hover{background:linear-gradient(135deg,var(--sh-blue-strong),#2785ff);box-shadow:0 9px 22px rgba(22,119,255,.22)}
html[data-theme="light"] .codex-ui .ghost{border-color:#d5e2f2;background:#fff;color:#536e8e}
html[data-theme="light"] .codex-ui .ghost:hover{border-color:#9fc5f5;background:#f3f8ff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .danger{border-color:#f2c4c8;background:#fff5f5;color:#d64251}
html[data-theme="light"] .codex-ui .danger:hover{border-color:#e7949c;background:#ffecee;color:#c52e3d}
html[data-theme="light"] .codex-ui #addBtn{background:linear-gradient(135deg,var(--sh-orange),#ffad4b);color:#fff;border-color:transparent;box-shadow:0 7px 18px rgba(255,159,45,.20)}
html[data-theme="light"] .codex-ui #addBtn:hover{background:linear-gradient(135deg,var(--sh-orange-strong),var(--sh-orange));box-shadow:0 9px 22px rgba(255,159,45,.24)}

/* ---------- App shell ---------- */
html[data-theme="light"] .codex-ui .app,html[data-theme="light"] .codex-ui .dashboard{background:var(--sh-page)}
html[data-theme="light"] .codex-ui .topbar{
  background:#fff;
  border-bottom-color:#dde8f5;
  box-shadow:0 2px 14px rgba(32,80,137,.055);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme="light"] .codex-ui .user-chip,html[data-theme="light"] .codex-ui .sync-badge{border-color:#d8e5f4;background:#f7faff;color:#617792}
html[data-theme="light"] .codex-ui .user-chip::before{background:var(--sh-blue)}
html[data-theme="light"] .codex-ui .sync-badge.online{border-color:#bce8d4;background:var(--sh-green-soft);color:#168759}
html[data-theme="light"] .codex-ui .sync-badge.online::before{background:var(--sh-green)}
html[data-theme="light"] .codex-ui .top-actions .ghost{border-color:#d6e3f2;background:#fff;color:#5a708b}
html[data-theme="light"] .codex-ui .top-actions .ghost:hover{border-color:#a7c9f2;background:#f3f8ff;color:var(--sh-blue)}

html[data-theme="light"] .codex-ui .theme-toggle{border-color:#d5e2f2;background:#f2f6fb;box-shadow:none}
html[data-theme="light"] .codex-ui .theme-toggle:hover{border-color:#b9cee9;background:#edf4fc}
html[data-theme="light"] .codex-ui .theme-toggle .theme-option{color:#7890ad}
html[data-theme="light"] .codex-ui .theme-toggle[aria-pressed="true"] .theme-option:last-child{background:#fff;color:var(--sh-blue);box-shadow:0 2px 8px rgba(22,119,255,.10)}

html[data-theme="light"] .codex-ui :is(.sidebar,.map-panel,.detail-panel){border-color:#dce7f4;background:#fff;box-shadow:var(--sh-shadow)}
html[data-theme="light"] .codex-ui .left-panel{background:linear-gradient(180deg,#f8fbff,#f4f8fd)}
html[data-theme="light"] .codex-ui .map-panel,html[data-theme="light"] .codex-ui .right-panel,html[data-theme="light"] .codex-ui .detail-panel{background:#fff}
html[data-theme="light"] .codex-ui .section-title{color:#7890ad}
html[data-theme="light"] .codex-ui .text-btn{color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .text-btn:hover{color:var(--sh-blue-strong)}

/* ---------- Left dashboard ---------- */
html[data-theme="light"] .codex-ui .stat-card{border-color:#dbe7f5;background:#fff;box-shadow:0 3px 10px rgba(31,82,145,.035)}
html[data-theme="light"] .codex-ui .stat-card span{color:#7488a3}
html[data-theme="light"] .codex-ui .stat-card strong,html[data-theme="light"] .codex-ui :is(.stat-cyan,.stat-violet,.stat-teal,.stat-gold) strong{color:#123c70}
html[data-theme="light"] .codex-ui .stat-card:nth-child(1){border-top:3px solid var(--sh-blue)}
html[data-theme="light"] .codex-ui .stat-card:nth-child(2){border-top:3px solid #6b77f5}
html[data-theme="light"] .codex-ui .stat-card:nth-child(3){border-top:3px solid var(--sh-green)}
html[data-theme="light"] .codex-ui .stat-card:nth-child(4){border-top:3px solid var(--sh-orange)}

html[data-theme="light"] .codex-ui .function-nav-btn{color:#536b88;border-color:transparent;background:transparent}
html[data-theme="light"] .codex-ui .function-nav-btn:hover{border-color:#d6e5f7;background:#edf5ff;color:#164d8d}
html[data-theme="light"] .codex-ui .function-nav-btn.active{border-color:var(--sh-blue);background:linear-gradient(135deg,var(--sh-blue),#398dff);color:#fff;box-shadow:0 7px 18px rgba(22,119,255,.16)}
html[data-theme="light"] .codex-ui .function-nav-icon{border-color:#cfe0f3;background:#edf5ff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .function-nav-btn.active .function-nav-icon{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.16);color:#fff}
html[data-theme="light"] .codex-ui .function-nav-btn small{color:#8a9bb0}
html[data-theme="light"] .codex-ui .function-nav-btn.active small{color:#dcecff}
html[data-theme="light"] .codex-ui .function-nav-count{border-color:#ffd6a7;background:var(--sh-orange-soft);color:var(--sh-orange-strong)}
html[data-theme="light"] .codex-ui .function-nav-btn.active .function-nav-count{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.18);color:#fff}

/* ---------- People / map ---------- */
html[data-theme="light"] .codex-ui .panel-head{border-bottom-color:#e2ebf5}
html[data-theme="light"] .codex-ui .panel-head h2{color:#173d6b}
html[data-theme="light"] .codex-ui .map-tip{color:#7589a4}
html[data-theme="light"] .codex-ui .view-switch{border-color:#d8e5f4;background:#f2f6fb}
html[data-theme="light"] .codex-ui .switch-btn{color:#6b819d}
html[data-theme="light"] .codex-ui .switch-btn:hover{color:var(--sh-blue);background:#eaf3ff}
html[data-theme="light"] .codex-ui .switch-btn.active{background:#fff;color:var(--sh-blue);box-shadow:inset 0 0 0 1px #c8ddf7,0 2px 7px rgba(22,119,255,.06)}
html[data-theme="light"] .codex-ui .map-canvas,html[data-theme="light"] .codex-ui .map-fallback{background:linear-gradient(180deg,#fafdff,#f4f8fd)}
html[data-theme="light"] .codex-ui .map-fallback{color:#7c91aa}
html[data-theme="light"] .codex-ui .fallback-shape{border-color:#bdd4ef;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .city-html-label{border-color:#bdd2eb;background:rgba(255,255,255,.91);color:#55708e;box-shadow:0 3px 9px rgba(31,82,145,.08);backdrop-filter:none}
html[data-theme="light"] .codex-ui .city-html-label:hover{border-color:#74aef2;background:#fff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .city-html-label.covered{border-color:#83b9f6;background:#eaf4ff;color:#155fb4}

html[data-theme="light"] .codex-ui .contact-list{background:transparent}
html[data-theme="light"] .codex-ui .contact-item{border-color:#e0e9f4;background:#fff;box-shadow:0 2px 8px rgba(31,82,145,.035)}
html[data-theme="light"] .codex-ui .contact-item:hover{border-color:#a9c9ef;background:#f8fbff;transform:translateY(-1px)}
html[data-theme="light"] .codex-ui .contact-item.active{border-color:#75aff2;background:linear-gradient(135deg,#edf5ff,#fff);box-shadow:inset 3px 0 0 var(--sh-blue),0 5px 15px rgba(22,119,255,.075)}
html[data-theme="light"] .codex-ui .contact-name{color:#173c67}
html[data-theme="light"] .codex-ui .contact-unit{color:#71859f}
html[data-theme="light"] .codex-ui .contact-meta{color:#91a0b3}
html[data-theme="light"] .codex-ui .filter-summary{color:#526d8c}
html[data-theme="light"] .codex-ui .legend-item{color:#647b97}
html[data-theme="light"] .codex-ui .legend-item:hover,html[data-theme="light"] .codex-ui .legend-item.active{border-color:#c7dcf6;background:#edf5ff;color:#17599f}

html[data-theme="light"] .codex-ui .advanced-filter-panel{border-color:#dce8f5;background:#f7faff;box-shadow:none}
html[data-theme="light"] .codex-ui .filter-panel-head strong{color:#365f8e}
html[data-theme="light"] .codex-ui .filter-group{border-top-color:#e5edf6}
html[data-theme="light"] .codex-ui .filter-group>span{color:#7d91aa}
html[data-theme="light"] .codex-ui .filter-chip{border-color:#d5e2f1;background:#fff;color:#657c98}
html[data-theme="light"] .codex-ui .filter-chip:hover{border-color:#9bc2f0;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .filter-chip.active{border-color:#76b0f5;background:#eaf4ff;color:#1261bd;box-shadow:none}

/* ---------- V2 information center ---------- */
html[data-theme="light"] .codex-ui .v2-center{background:radial-gradient(circle at 84% 0%,rgba(22,119,255,.075),transparent 28%),radial-gradient(circle at 4% 96%,rgba(255,159,45,.055),transparent 24%),#f8fbff}
html[data-theme="light"] .codex-ui :is(.v2-hero,.v2-hub-card,.v2-activity-card,.v2-reminder-card,.v2-health-glance,.v2-quick-actions,.v2-data-card,.v2-library-categories,.v2-module-toolbar,.v2-kpi-card){border-color:#dce8f5;background:#fff;box-shadow:var(--sh-shadow-soft)}
html[data-theme="light"] .codex-ui .v2-hero{background:linear-gradient(135deg,#eaf4ff 0%,#fff 58%,#fff7ec 100%)}
html[data-theme="light"] .codex-ui .v2-hero:after{border-color:rgba(22,119,255,.11);box-shadow:0 0 0 46px rgba(22,119,255,.035),0 0 0 92px rgba(255,159,45,.022)}
html[data-theme="light"] .codex-ui :is(.v2-hero h3,.v2-kpi-card strong,.v2-section-head strong,.v2-module-toolbar strong,.v2-health-glance>strong,.v2-quick-actions>strong){color:#173c69}
html[data-theme="light"] .codex-ui :is(.v2-hero p,.v2-kpi-card span,.v2-kpi-card small,.v2-section-head>small,.v2-module-toolbar small){color:#7488a2}
html[data-theme="light"] .codex-ui :is(.v2-hero-kicker,.v2-module-toolbar span,.v2-section-head span,.v2-health-glance>span,.v2-quick-actions>span){color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .v2-hero-pulse{border-color:#8fbdf3;background:#fff;box-shadow:0 0 0 9px rgba(22,119,255,.065)}
html[data-theme="light"] .codex-ui .v2-hero-pulse strong{color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .v2-hub-graph:before,html[data-theme="light"] .codex-ui .v2-hub-graph:after{background:linear-gradient(90deg,transparent,#b7d2f2,#b7d2f2,transparent)}
html[data-theme="light"] .codex-ui .v2-hub-node{border-color:#d2e2f4;background:#f8fbff;color:#305b8b}
html[data-theme="light"] .codex-ui .v2-hub-node:hover{border-color:#77b0f4;background:#eaf4ff;color:#145da9}
html[data-theme="light"] .codex-ui .v2-hub-node small{color:#8498b1}
html[data-theme="light"] .codex-ui .v2-hub-node[data-v2-goto="asset"],html[data-theme="light"] .codex-ui .v2-hub-node[data-v2-goto="todo"]{border-color:#ffd9ad;background:#fff7eb;color:#b86a0a}
html[data-theme="light"] .codex-ui .v2-hub-node[data-v2-goto="asset"]:hover,html[data-theme="light"] .codex-ui .v2-hub-node[data-v2-goto="todo"]:hover{border-color:#ffbd72;background:#fff0dc;color:#a95a00}
html[data-theme="light"] .codex-ui .v2-hub-core{border-color:#6ba9f2;background:linear-gradient(135deg,#e7f2ff,#fff);box-shadow:0 0 0 8px rgba(22,119,255,.06)}
html[data-theme="light"] .codex-ui .v2-hub-core span{color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .v2-hub-core strong{color:#133d6f}

html[data-theme="light"] .codex-ui .v2-kpi-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
html[data-theme="light"] .codex-ui .v2-kpi-card:hover{border-color:#b4d1f2;box-shadow:0 8px 24px rgba(31,82,145,.085);transform:translateY(-1px)}
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="asset"],html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="todo"]{border-top:3px solid var(--sh-orange)}
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="health"]{border-top:3px solid var(--sh-green)}
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="people"],html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="work"],html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="library"]{border-top:3px solid var(--sh-blue)}

html[data-theme="light"] .codex-ui :is(.v2-activity-row,.v2-record-row,.v2-domain-grid>div){border-color:#e1eaf5;background:#f9fbfe}
html[data-theme="light"] .codex-ui button.v2-record-row:hover{border-color:#a8c9ef;background:#f1f7ff}
html[data-theme="light"] .codex-ui .v2-record-icon{border-color:#c6dbf4;background:#eaf4ff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .v2-record-row strong{color:#23496f}
html[data-theme="light"] .codex-ui :is(.v2-record-row small,.v2-activity-row small,.v2-activity-row time){color:#8395aa}
html[data-theme="light"] .codex-ui .v2-record-row em{color:#1764b9}
html[data-theme="light"] .codex-ui .v2-bar-row i{background:#e7eef7}
html[data-theme="light"] .codex-ui .v2-bar-row i b{background:linear-gradient(90deg,var(--sh-blue),#62a8ff)}
html[data-theme="light"] .codex-ui .v2-health-note{border-color:#bde5d3;background:#effbf5;color:#32735a}
html[data-theme="light"] .codex-ui .v2-library-categories>div,html[data-theme="light"] .codex-ui .v2-reminder-row{border-bottom-color:#e4edf6}
html[data-theme="light"] .codex-ui .v2-reminder-row>span{background:var(--sh-orange-soft);color:var(--sh-orange-strong);border-color:#ffd3a1}
html[data-theme="light"] .codex-ui .v2-quick-actions button{border-color:#d4e3f4;background:#f6faff;color:#245f9e}
html[data-theme="light"] .codex-ui .v2-quick-actions button:hover{border-color:#ffbf75;background:var(--sh-orange-soft);color:#aa6006}

/* ---------- Todo ---------- */
html[data-theme="light"] .codex-ui :is(.todo-summary-card,.todo-card,.todo-toolbar,.todo-list-toolbar){border-color:#dce8f5;background:#fff;box-shadow:var(--sh-shadow-soft)}
html[data-theme="light"] .codex-ui .todo-card:hover{border-color:#b6d1f0}
html[data-theme="light"] .codex-ui .todo-card.is-overdue:not(.is-complete){border-color:#f2b7bd;box-shadow:inset 3px 0 0 #e85b69}
html[data-theme="light"] .codex-ui .todo-type-pill{border-color:#ffd5a3;background:var(--sh-orange-soft);color:#ad650d}
html[data-theme="light"] .codex-ui .todo-date-pill{border-color:#cfe0f4;background:#f0f6ff;color:#4b719c}
html[data-theme="light"] .codex-ui .todo-repeat-pill{border-color:#bce6d3;background:var(--sh-green-soft);color:#22825b}
html[data-theme="light"] .codex-ui .todo-contact-item{border-color:#e0e9f4;background:#f9fbfe;color:#4e6682}
html[data-theme="light"] .codex-ui .todo-contact-item:hover{border-color:#9fc4ef;background:#f0f6ff}
html[data-theme="light"] .codex-ui .todo-contact-item.done{border-color:#c6e6d7;background:#f1fbf6}

/* ---------- Social ---------- */
html[data-theme="light"] .codex-ui :is(.social-sidebar,.chat-pane,.friend-search-bar,.social-settings-bar){border-color:#dce8f5;background:#fff}
html[data-theme="light"] .codex-ui .friend-list-item{border-color:transparent;background:transparent;color:#42607e}
html[data-theme="light"] .codex-ui .friend-list-item:hover{border-color:#d8e6f5;background:#f5f9ff}
html[data-theme="light"] .codex-ui .friend-list-item.active{border-color:#9fc6f5;background:#eaf4ff}
html[data-theme="light"] .codex-ui .friend-avatar{border-color:#c8dcf4;background:#eaf4ff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .chat-pane{background:radial-gradient(circle at 80% 0%,rgba(22,119,255,.045),transparent 30%),#f7faff}
html[data-theme="light"] .codex-ui .chat-head{border-bottom-color:#dce8f5;background:#fff}
html[data-theme="light"] .codex-ui .chat-message-bubble{border-color:#d4e2f2;background:#fff;color:#2c4e70;box-shadow:0 4px 13px rgba(31,82,145,.055)}
html[data-theme="light"] .codex-ui .chat-message-row.mine .chat-message-bubble{border-color:#8bbcf4;background:#e8f3ff;color:#174d85}
html[data-theme="light"] .codex-ui .chat-message-meta{color:#8ba0b8}
html[data-theme="light"] .codex-ui .chat-media-placeholder{background:#edf3fa;color:#758ca7}
html[data-theme="light"] .codex-ui .social-email-setting input:checked+i{background:#dbeeff;border-color:#7bb5f5}
html[data-theme="light"] .codex-ui .social-email-setting input:checked+i:after{background:var(--sh-blue);box-shadow:none}

/* ---------- Admin ---------- */
html[data-theme="light"] .codex-ui :is(.metric-chip,.admin-ops-detail,.admin-table-wrap){border-color:#dce8f5;background:#fff;box-shadow:var(--sh-shadow-soft)}
html[data-theme="light"] .codex-ui .metric-chip span{color:#7288a3}
html[data-theme="light"] .codex-ui .metric-chip strong{color:#17406f}
html[data-theme="light"] .codex-ui .metric-chip.platform-metric i{background:#e7eef7}
html[data-theme="light"] .codex-ui .metric-chip.platform-metric i b{background:linear-gradient(90deg,var(--sh-blue),#64a9ff);box-shadow:none}
html[data-theme="light"] .codex-ui .admin-ops-detail{background:linear-gradient(135deg,#f7fbff,#fff)}
html[data-theme="light"] .codex-ui .admin-table th{background:#f4f8fd;color:#657d99;border-color:#e1ebf5}
html[data-theme="light"] .codex-ui .admin-table td{color:#46627f;border-color:#e6eef7}
html[data-theme="light"] .codex-ui .admin-table tr:hover td{background:#f8fbff}
html[data-theme="light"] .codex-ui .admin-switch-btn{border-color:#cfe0f3;background:#fff;color:#3d6693}
html[data-theme="light"] .codex-ui .admin-switch-btn:hover{border-color:#83b7f3;background:#edf5ff;color:var(--sh-blue)}

/* ---------- Modals / feedback / toast ---------- */
html[data-theme="light"] .codex-ui .modal{background:rgba(19,48,83,.38);backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-theme="light"] .codex-ui :is(.modal-card,.v2-record-modal-card,.v2-document-modal-card){border-color:#d7e4f3;background:#fff;box-shadow:0 28px 80px rgba(24,65,113,.18)}
html[data-theme="light"] .codex-ui .icon-btn{border-color:#d8e4f2;background:#f6f9fd;color:#6b819b}
html[data-theme="light"] .codex-ui .icon-btn:hover{border-color:#a7c8ef;background:#edf5ff;color:var(--sh-blue)}
html[data-theme="light"] .codex-ui .toast-item{border-color:#c9ddf5;background:#fff;color:#31577f;box-shadow:0 12px 30px rgba(31,82,145,.14)}
html[data-theme="light"] .codex-ui .impersonation-banner{border-color:#ffd197;background:#fff5e7;color:#a45f09;box-shadow:none}

/* ---------- Dark theme polish: preserve existing look, add a restrained orange accent ---------- */
html[data-theme="dark"] .codex-ui #addBtn{background:linear-gradient(135deg,#e88c1c,#f0a240);color:#fff;border-color:#d9841a;box-shadow:0 7px 18px rgba(232,140,28,.16)}
html[data-theme="dark"] .codex-ui #addBtn:hover{background:linear-gradient(135deg,#f09a29,#f5af4c)}
html[data-theme="dark"] .codex-ui .function-nav-count{border-color:#70502a;background:#3c2c1a;color:#f6b75f}
html[data-theme="dark"] .codex-ui .v2-reminder-row>span{color:#f0aa4c}
html[data-theme="dark"] .codex-ui .v2-quick-actions button:hover{border-color:#785a32;color:#f1b667}

/* ---------- Rendering efficiency ---------- */
.codex-ui :is(.contact-item,.v2-record-row,.v2-activity-row,.todo-card,.friend-list-item){content-visibility:auto;contain-intrinsic-size:auto 76px}
.codex-ui :is(.v2-kpi-card,.stat-card,.function-nav-btn){contain:layout paint style}
html[data-theme="light"] .codex-ui :is(.topbar,.city-html-label){backdrop-filter:none;-webkit-backdrop-filter:none}

@media (prefers-reduced-motion:reduce){
  .codex-ui *, .codex-ui *::before, .codex-ui *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media (max-width:1180px){
  html[data-theme="light"] .codex-ui .topbar{box-shadow:0 2px 10px rgba(32,80,137,.05)}
}

/* ========================================================================== 
   SHENYU MAP V2.1.1 · Alipay-inspired UI polish
   Research direction: strong Alipay/Ant blue header, white service surfaces,
   restrained orange emphasis, flatter borders and lighter elevation.
   ========================================================================== */
:root{
  --sh-blue:#1677ff;
  --sh-blue-strong:#0958d9;
  --sh-blue-bright:#4096ff;
  --sh-blue-soft:#e6f4ff;
  --sh-orange:#ff8f1f;
  --sh-orange-strong:#f57600;
  --sh-orange-soft:#fff3e6;
  --sh-page:#f5f7fa;
  --sh-card:#ffffff;
  --sh-line:#edf1f5;
  --sh-text:#1f2d3d;
  --sh-muted:#6f7f90;
  --sh-shadow:0 6px 20px rgba(30,62,98,.055);
  --sh-shadow-soft:0 3px 12px rgba(30,62,98,.04);
}

/* More reliable Windows/macOS CJK rendering; no remote web-font dependency. */
.codex-ui,
.codex-ui button,
.codex-ui input,
.codex-ui select,
.codex-ui textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;
}

/* ---------- Alipay-style blue application header ---------- */
html[data-theme="light"] .codex-ui .topbar{
  height:72px;
  min-height:72px;
  padding:0 18px;
  border:0;
  background:
    radial-gradient(circle at 86% -70%,rgba(255,255,255,.24) 0,rgba(255,255,255,0) 36%),
    linear-gradient(118deg,#1677ff 0%,#1687ff 56%,#42a2ff 100%);
  box-shadow:0 8px 24px rgba(22,119,255,.18);
  overflow:hidden;
  isolation:isolate;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme="light"] .codex-ui .topbar::before{
  content:"";
  position:absolute;
  inset:auto auto -72px -42px;
  width:220px;
  height:150px;
  border-radius:50%;
  background:rgba(255,255,255,.055);
  pointer-events:none;
  z-index:0;
}
html[data-theme="light"] .codex-ui .topbar::after{
  content:"";
  position:absolute;
  right:27%;
  top:-88px;
  width:240px;
  height:180px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
html[data-theme="light"] .codex-ui .topbar>*{position:relative;z-index:1}
html[data-theme="light"] .codex-ui .topbar .brand-lockup{gap:10px;min-width:210px}
html[data-theme="light"] .codex-ui .topbar .brand-mark{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:12px;
  background:rgba(255,255,255,.94);
  color:var(--sh-blue);
  box-shadow:0 5px 14px rgba(0,70,170,.15);
}
html[data-theme="light"] .codex-ui .topbar .brand-title{
  color:#fff!important;
  font-size:14px;
  font-weight:750;
  letter-spacing:.055em;
  text-shadow:0 1px 2px rgba(0,66,150,.12);
}
html[data-theme="light"] .codex-ui .topbar .brand-sub{
  margin-top:2px;
  color:rgba(255,255,255,.80)!important;
  font-size:10px;
  font-weight:550;
  letter-spacing:.02em;
}
html[data-theme="light"] .codex-ui .top-actions{gap:7px;min-width:0}
html[data-theme="light"] .codex-ui .topbar :is(.user-chip,.sync-badge){
  min-height:34px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.94);
  box-shadow:none;
  backdrop-filter:none;
}
html[data-theme="light"] .codex-ui .topbar .user-chip::before{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
html[data-theme="light"] .codex-ui .topbar .sync-badge::before{background:rgba(255,255,255,.72)}
html[data-theme="light"] .codex-ui .topbar .sync-badge.online{
  border-color:rgba(255,255,255,.22);
  background:rgba(8,99,196,.20);
  color:#fff;
}
html[data-theme="light"] .codex-ui .topbar .sync-badge.online::before{
  background:#58e39e;
  box-shadow:0 0 0 3px rgba(88,227,158,.17);
}
html[data-theme="light"] .codex-ui .topbar .theme-toggle{
  min-height:34px;
  padding:3px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(7,79,168,.22);
  box-shadow:none;
}
html[data-theme="light"] .codex-ui .topbar .theme-toggle:hover{border-color:rgba(255,255,255,.38);background:rgba(7,79,168,.30)}
html[data-theme="light"] .codex-ui .topbar .theme-toggle .theme-option{color:rgba(255,255,255,.75)}
html[data-theme="light"] .codex-ui .topbar .theme-toggle[aria-pressed="true"] .theme-option:last-child{
  border-color:transparent;
  background:#fff;
  color:var(--sh-blue);
  box-shadow:0 2px 8px rgba(0,70,160,.12);
}
html[data-theme="light"] .codex-ui .topbar .top-actions .ghost{
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:none;
}
html[data-theme="light"] .codex-ui .topbar .top-actions .ghost:hover{
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.20);
  color:#fff;
}
html[data-theme="light"] .codex-ui .topbar #addBtn{
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,#ff8f1f,#ffab3f);
  color:#fff;
  box-shadow:0 6px 15px rgba(206,93,0,.20);
}
html[data-theme="light"] .codex-ui .topbar #addBtn:hover{
  border-color:rgba(255,255,255,.30);
  background:linear-gradient(135deg,#f57b00,#ff9a25);
  box-shadow:0 8px 18px rgba(206,93,0,.24);
}
html[data-theme="light"] .codex-ui .topbar .impersonation-banner{
  border-color:rgba(255,214,153,.56);
  background:rgba(255,247,229,.94);
  color:#a45b00;
}

/* Dark mode stays dark, but the header now carries a subtle deep-blue brand cue. */
html[data-theme="dark"] .codex-ui .topbar{
  border-bottom-color:#20344e;
  background:linear-gradient(118deg,#111b2a 0%,#0f2748 60%,#10355f 100%);
  box-shadow:0 6px 20px rgba(0,0,0,.24);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme="dark"] .codex-ui .topbar .brand-mark{border-color:#2d69ab;background:#122b4a;color:#8dc5ff}
html[data-theme="dark"] .codex-ui .topbar .brand-title{color:#f3f8ff}
html[data-theme="dark"] .codex-ui .topbar .brand-sub{color:#8fb0d1}

/* ---------- Flatter Alipay / Ant-like surfaces ---------- */
html[data-theme="light"] .codex-ui,
html[data-theme="light"] .codex-ui .app,
html[data-theme="light"] .codex-ui .dashboard{background:var(--sh-page)}
html[data-theme="light"] .codex-ui :is(.sidebar,.map-panel,.detail-panel){
  border-color:var(--sh-line);
  box-shadow:var(--sh-shadow);
}
html[data-theme="light"] .codex-ui .left-panel{background:#fff}
html[data-theme="light"] .codex-ui :is(.stat-card,.v2-kpi-card,.v2-hub-card,.v2-activity-card,.v2-reminder-card,.v2-health-glance,.v2-quick-actions,.v2-data-card,.v2-library-categories,.v2-module-toolbar,.todo-summary-card,.todo-card){
  border-color:var(--sh-line);
  box-shadow:var(--sh-shadow-soft);
}
html[data-theme="light"] .codex-ui .stat-card{border-top-width:0!important}
html[data-theme="light"] .codex-ui .stat-card::before{
  content:"";
  display:block;
  width:28px;
  height:4px;
  margin-bottom:8px;
  border-radius:999px;
  background:var(--sh-blue);
}
html[data-theme="light"] .codex-ui .stat-card:nth-child(3)::before{background:var(--sh-green)}
html[data-theme="light"] .codex-ui .stat-card:nth-child(4)::before{background:var(--sh-orange)}
html[data-theme="light"] .codex-ui .function-nav-btn{border-radius:11px}
html[data-theme="light"] .codex-ui .function-nav-btn.active{
  border-color:transparent;
  background:#1677ff;
  box-shadow:0 5px 14px rgba(22,119,255,.14);
}
html[data-theme="light"] .codex-ui .function-nav-btn:hover:not(.active){border-color:#d9e9fb;background:#f2f8ff}
html[data-theme="light"] .codex-ui .primary{
  background:#1677ff;
  box-shadow:0 5px 14px rgba(22,119,255,.16);
}
html[data-theme="light"] .codex-ui .primary:hover{background:#0958d9;box-shadow:0 6px 16px rgba(22,119,255,.20)}
html[data-theme="light"] .codex-ui :is(.v2-quick-actions button,.ghost){border-color:#e3eaf2}
html[data-theme="light"] .codex-ui .v2-hero{
  border-color:#dcecff;
  background:
    radial-gradient(circle at 88% 25%,rgba(64,150,255,.13),transparent 28%),
    linear-gradient(135deg,#eef7ff 0%,#ffffff 62%);
  box-shadow:none;
}
html[data-theme="light"] .codex-ui .v2-hero::after{opacity:.55}
html[data-theme="light"] .codex-ui .v2-hero-kicker{color:#1677ff}
html[data-theme="light"] .codex-ui .v2-hero h3{color:#163d6e}
html[data-theme="light"] .codex-ui .v2-hero-pulse{border-color:#91caff;background:#fff;color:#1677ff;box-shadow:0 0 0 8px rgba(22,119,255,.06)}
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="asset"],
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="todo"]{border-top:0}
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="asset"] strong,
html[data-theme="light"] .codex-ui .v2-kpi-card[data-v2-goto="todo"] strong{color:#d96c00}
html[data-theme="light"] .codex-ui .v2-reminder-row>span,
html[data-theme="light"] .codex-ui .function-nav-count{border-color:#ffd7ae;background:#fff3e6;color:#d96c00}

/* Forms: less border-heavy, with clear focus feedback. */
html[data-theme="light"] .codex-ui :is(
  .auth-form input,.contact-form input,.contact-form select,.contact-form textarea,.searchbox input,
  .level-config-row input,.relationship-field input,.feedback-field textarea,.feedback-field input,
  .friend-search-bar input,.todo-form input,.todo-form select,.todo-form textarea,.v2-record-modal-card input,
  .v2-record-modal-card select,.v2-record-modal-card textarea,.v2-document-modal-card input,
  .v2-document-modal-card select,.v2-document-modal-card textarea
){border-color:#e2e9f1;background:#fff}
html[data-theme="light"] .codex-ui :is(
  .auth-form input,.contact-form input,.contact-form select,.contact-form textarea,.searchbox input,
  .level-config-row input,.relationship-field input,.feedback-field textarea,.feedback-field input,
  .friend-search-bar input,.todo-form input,.todo-form select,.todo-form textarea,.v2-record-modal-card input,
  .v2-record-modal-card select,.v2-record-modal-card textarea,.v2-document-modal-card input,
  .v2-document-modal-card select,.v2-document-modal-card textarea
):focus{border-color:#69b1ff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}

/* Reduce unnecessary paint cost on long sections. */
.codex-ui :is(.contact-list,.v2-record-list,.todo-list,.friend-list,.admin-table-wrap){contain:layout paint}
.codex-ui :is(.v2-data-card,.v2-activity-card,.v2-reminder-card,.todo-card,.contact-item){content-visibility:auto;contain-intrinsic-size:auto 84px}

/* Responsive header: preserve the blue brand bar without horizontal overflow. */
@media(max-width:1180px){
  html[data-theme="light"] .codex-ui .topbar{padding:0 12px}
  html[data-theme="light"] .codex-ui .topbar .top-actions{gap:5px}
  html[data-theme="light"] .codex-ui .topbar #currentUser{display:none}
}
@media(max-width:900px){
  html[data-theme="light"] .codex-ui .topbar .brand-lockup{min-width:155px}
  html[data-theme="light"] .codex-ui .topbar #syncBadge{display:none}
  html[data-theme="light"] .codex-ui .topbar .top-actions .small{padding-left:9px;padding-right:9px}
}
@media(max-width:720px){
  html[data-theme="light"] .codex-ui .topbar{
    min-height:60px;
    height:auto;
    padding:9px 10px;
    background:linear-gradient(120deg,#1677ff,#3198ff);
  }
  html[data-theme="light"] .codex-ui .topbar .brand-lockup{min-width:0}
  html[data-theme="light"] .codex-ui .topbar .brand-title{font-size:11px}
  html[data-theme="light"] .codex-ui .topbar .brand-sub{display:none}
  html[data-theme="light"] .codex-ui .topbar .brand-mark{width:32px;height:32px;border-radius:9px}
  html[data-theme="light"] .codex-ui .topbar .top-actions{overflow-x:auto;scrollbar-width:none}
  html[data-theme="light"] .codex-ui .topbar .top-actions::-webkit-scrollbar{display:none}
}


/* ==========================================================================
   SHENYU MAP V2.1.2 · Private File Explorer
   Windows-like folder workflow, Alipay-style blue/white visual language.
   ========================================================================== */
.codex-ui .v2-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.codex-ui .v2-library-security-note{
  display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #34404d;
  border-radius:12px;background:#1e2329;color:#d9e4ef
}
.codex-ui .v2-library-security-note>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#263547;font-size:14px}
.codex-ui .v2-library-security-note strong{display:block;font-size:10px}
.codex-ui .v2-library-security-note small{display:block;margin-top:2px;color:#8f9eac;font-size:8px}
.codex-ui .v2-library-breadcrumb{display:flex;align-items:center;gap:5px;min-height:34px;padding:5px 8px;border:1px solid #343b43;border-radius:11px;background:#1f2226;overflow-x:auto}
.codex-ui .v2-library-breadcrumb>span{color:#6f7984;font-size:11px}
.codex-ui .v2-breadcrumb-item{border:0;background:transparent;color:#9ca9b6;padding:5px 8px;border-radius:7px;font-size:9px;white-space:nowrap;cursor:pointer}
.codex-ui .v2-breadcrumb-item:hover,.codex-ui .v2-breadcrumb-item.active{background:#2b333d;color:#fff}
.codex-ui .v2-library-grid-explorer{grid-template-columns:210px minmax(0,1fr)}
.codex-ui .v2-library-side-title{padding-bottom:11px!important;margin-bottom:2px;border-bottom:1px solid #343434!important}
.codex-ui .v2-explorer-card{min-height:410px}
.codex-ui .v2-explorer-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-content:start;
  min-height:330px;padding:2px
}
.codex-ui .v2-explorer-item{
  position:relative;min-height:154px;padding:15px 12px 10px;border:1px solid #343a42;border-radius:13px;
  background:#22262b;display:flex;flex-direction:column;align-items:center;text-align:center;outline:none;
  transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease
}
.codex-ui .v2-explorer-item:hover,.codex-ui .v2-explorer-item:focus-visible{border-color:#4b6a8e;background:#252d36;transform:translateY(-1px)}
.codex-ui .v2-explorer-item>strong{width:100%;margin-top:9px;color:#eef3f8;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.codex-ui .v2-explorer-item>small{width:100%;margin-top:4px;color:#82909e;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.codex-ui .v2-explorer-actions{display:flex;gap:4px;margin-top:auto;padding-top:9px;opacity:.18;transition:opacity .14s ease}
.codex-ui .v2-explorer-item:hover .v2-explorer-actions,.codex-ui .v2-explorer-item:focus-within .v2-explorer-actions{opacity:1}
.codex-ui .v2-explorer-actions .tiny{padding:5px 7px;font-size:7.5px;border-radius:7px}
.codex-ui .v2-folder-icon{position:relative;width:74px;height:54px;margin-top:5px;border-radius:8px 10px 10px 10px;background:linear-gradient(155deg,#4c9fff,#2176df);box-shadow:0 8px 18px rgba(11,93,190,.15)}
.codex-ui .v2-folder-icon:before{content:"";position:absolute;left:5px;top:-10px;width:31px;height:17px;border-radius:7px 8px 0 0;background:#62abff}
.codex-ui .v2-folder-icon:after{content:"";position:absolute;left:8px;right:8px;top:11px;height:3px;border-radius:3px;background:rgba(255,255,255,.16)}
.codex-ui .v2-folder-icon i{position:absolute;right:9px;top:-5px;width:13px;height:5px;border-radius:4px;background:#ff9f2d}
.codex-ui .v2-file-icon{width:58px;height:70px;margin-top:0;border:1px solid #42505f;border-radius:8px;background:linear-gradient(180deg,#2c343d,#252a30);display:grid;place-items:center;position:relative}
.codex-ui .v2-file-icon:before{content:"";position:absolute;right:-1px;top:-1px;border-left:14px solid transparent;border-bottom:14px solid transparent;border-top:14px solid #536170}
.codex-ui .v2-file-icon span{font-size:9px;font-weight:800;letter-spacing:.04em;color:#a9c8ec}
.codex-ui .v2-file-icon.pdf span{color:#ff8b96}.codex-ui .v2-file-icon.img span{color:#7ec79e}.codex-ui .v2-file-icon.xls span{color:#65c790}.codex-ui .v2-file-icon.ppt span{color:#ffad65}
.codex-ui .v2-explorer-empty{grid-column:1/-1;min-height:280px}
.codex-ui .v2-explorer-item{content-visibility:auto;contain:layout paint style}

html[data-theme="light"] .codex-ui .v2-library-security-note{
  border-color:#cde2fa;background:linear-gradient(135deg,#eef7ff,#f8fbff);color:#174d85;box-shadow:none
}
html[data-theme="light"] .codex-ui .v2-library-security-note>span{background:#dff0ff}
html[data-theme="light"] .codex-ui .v2-library-security-note small{color:#6686a8}
html[data-theme="light"] .codex-ui .v2-library-breadcrumb{border-color:#dce8f5;background:#fff;color:#587696;box-shadow:0 2px 8px rgba(31,82,145,.035)}
html[data-theme="light"] .codex-ui .v2-library-breadcrumb>span{color:#a6b7c9}
html[data-theme="light"] .codex-ui .v2-breadcrumb-item{color:#537598}
html[data-theme="light"] .codex-ui .v2-breadcrumb-item:hover{background:#edf6ff;color:#1677ff}
html[data-theme="light"] .codex-ui .v2-breadcrumb-item.active{background:#e6f4ff;color:#0958d9;font-weight:700}
html[data-theme="light"] .codex-ui .v2-explorer-item{border-color:#e1eaf4;background:#fff;box-shadow:0 3px 12px rgba(30,62,98,.035)}
html[data-theme="light"] .codex-ui .v2-explorer-item:hover,html[data-theme="light"] .codex-ui .v2-explorer-item:focus-visible{border-color:#91caff;background:#f8fbff;box-shadow:0 8px 22px rgba(22,119,255,.08)}
html[data-theme="light"] .codex-ui .v2-explorer-item>strong{color:#183b63}
html[data-theme="light"] .codex-ui .v2-explorer-item>small{color:#7a8fa6}
html[data-theme="light"] .codex-ui .v2-folder-icon{background:linear-gradient(155deg,#69b1ff,#1677ff);box-shadow:0 8px 18px rgba(22,119,255,.13)}
html[data-theme="light"] .codex-ui .v2-folder-icon:before{background:#91caff}
html[data-theme="light"] .codex-ui .v2-folder-icon i{background:#ff9f2d}
html[data-theme="light"] .codex-ui .v2-file-icon{border-color:#d7e3ef;background:linear-gradient(180deg,#fff,#f4f8fc)}
html[data-theme="light"] .codex-ui .v2-file-icon:before{border-top-color:#c9d8e8}
html[data-theme="light"] .codex-ui .v2-file-icon span{color:#4680bd}
html[data-theme="light"] .codex-ui .v2-explorer-actions{opacity:.45}
html[data-theme="light"] .codex-ui .v2-explorer-item:hover .v2-explorer-actions,html[data-theme="light"] .codex-ui .v2-explorer-item:focus-within .v2-explorer-actions{opacity:1}

@media(max-width:1200px){
  .codex-ui .v2-library-grid-explorer{grid-template-columns:1fr}
  .codex-ui .v2-library-grid-explorer .v2-library-categories{display:grid;grid-template-columns:repeat(3,1fr)}
  .codex-ui .v2-library-side-title{grid-column:1/-1}
}
@media(max-width:720px){
  .codex-ui .v2-toolbar-actions{width:100%}
  .codex-ui .v2-toolbar-actions button{flex:1}
  .codex-ui .v2-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .codex-ui .v2-explorer-item{min-height:144px}
  .codex-ui .v2-explorer-actions{opacity:1}
  .codex-ui .v2-library-grid-explorer .v2-library-categories{grid-template-columns:1fr 1fr}
}
