:root{--ink:#0b1324;--paper:#f5f7f8;--white:#fff;--muted:#697386;--line:#dfe4e8;--mint:#4ee1c1;--cyan:#2db8f0;--amber:#f5a623;--red:#e95957;--shadow:0 22px 60px rgba(11,19,36,.16);--page-max:1440px;--page-pad-x:clamp(18px,4vw,64px);font-family:MiSans,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background-color:#edf3f5;background-image:url("/brand-watermark.png?v=5"),linear-gradient(135deg,#f8fafb 0,#edf3f5 100%);background-repeat:repeat,no-repeat;background-size:496px 490px,auto;background-position:center top,0 0;font-size:16px}.app-shell{min-height:100vh}.topbar{height:74px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(var(--page-pad-x),calc((100% - var(--page-max))/2 + var(--page-pad-x)));border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--mint);color:var(--ink);font-size:.8rem;font-weight:900;letter-spacing:-.04em;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.brand strong,.brand small{display:block}.brand strong{font-size:1rem;letter-spacing:.04em}.brand small{font-size:.63rem;color:#8e9aae;letter-spacing:.16em;margin-top:2px}.topbar-meta{display:flex;align-items:center;gap:9px;color:#b8c1cf;font-size:.78rem}.sync-dot{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px var(--mint)}.icon-btn{border:0;background:transparent;color:inherit;cursor:pointer;padding:8px;display:grid;place-items:center;border-radius:8px}.icon-btn:hover{background:rgba(255,255,255,.1)}.icon-btn svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}
main{width:min(var(--page-max),100%);margin:auto;padding:34px var(--page-pad-x) 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow,.section-kicker{margin:0 0 8px;color:#657083;font-size:.72rem;letter-spacing:.13em;font-weight:800;text-transform:uppercase}.page-heading h1{font-size:clamp(2rem,3.5vw,3.6rem);letter-spacing:-.055em;line-height:1.05;margin:0;font-weight:860}.page-heading h1 em{font-style:normal;color:#238b79}.primary-btn,.secondary-btn{min-height:44px;border:0;border-radius:6px;padding:0 18px;font:inherit;font-weight:750;cursor:pointer}.primary-btn{background:var(--ink);color:#fff;box-shadow:0 8px 20px rgba(11,19,36,.14)}.primary-btn:hover{background:#17233a}.secondary-btn{background:#eef1f3;color:var(--ink)}
:root { font-family: MiSans,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; color:var(--ui-ink); background:var(--ui-paper); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; }
[hidden] { display:none !important; }
/* Keep the account menu above page content but below modal overlays (20+). */
.topbar{position:relative;z-index:10}
.account-area{position:relative;z-index:50}
.account-toggle{display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;padding:6px 9px;font:inherit;cursor:pointer}
.account-toggle:hover,.account-toggle[aria-expanded="true"]{background:rgba(255,255,255,.1)}
.account-toggle:focus-visible,.account-menu a:focus-visible,.account-menu button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.account-avatar{position:relative;display:grid;place-items:center;flex:none;width:32px;height:32px;overflow:hidden;border-radius:50%;background:#284d51;color:#a1f5df;font-weight:800}
.account-avatar img{position:absolute;width:100%;height:100%;object-fit:cover}
.account-menu{position:absolute;right:0;top:calc(100% + 12px);width:152px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 90px);overflow:auto;background:white;color:#0b1324;border:1px solid #dfe4e8;border-radius:10px;box-shadow:0 16px 48px #0b132433;padding:8px;text-align:left}
.account-menu section+section{border-top:1px solid #e5e9ed;margin-top:6px;padding-top:6px}
.account-menu h2{font-size:12px;color:#697386;margin:8px 10px}
.account-menu a,.account-menu button,.account-menu [aria-disabled]{display:block;width:100%;padding:10px;border:0;border-radius:5px;background:none;color:inherit;text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.account-menu a:hover,.account-menu button:hover{background:#eef8f5}
.account-menu [aria-current]{color:#147c69;font-weight:700}
.account-menu [aria-disabled]{opacity:.55;cursor:default}
.account-menu p{padding:0 10px}
.account-menu .account-debug{margin-top:12px;padding:6px;border:1px dashed #d9a441;border-radius:7px;background:#fff8e8}
.account-menu .account-debug h2{display:flex;align-items:center;justify-content:space-between;color:#835910}
.debug-badge{border-radius:4px;padding:2px 6px;background:#f6e4b6;color:#79500b;font-size:10px;letter-spacing:.04em}
.account-menu .account-debug button{color:#984326}
.account-menu .account-debug button:hover{background:#f8e9ca}
.account-menu .account-debug p{margin:4px 0 8px;color:#876b37;font-size:11px;line-height:1.6}
#currentUser{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:480px){#currentUser{max-width:90px}.brand small{display:none}.brand strong{font-size:14px}.brand{gap:6px}.account-toggle{padding:4px;gap:6px}}
.app-shell { min-height:100vh; }
.topbar { min-height:74px; background:var(--ui-ink); color:white; display:flex; align-items:center; gap:12px; padding:12px var(--ui-page-pad-x); }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand .brand-mark,img.brand-mark { width:auto; height:44px; background:transparent; clip-path:none; padding:0; display:block; object-fit:contain; }
.brand strong,.brand small { display:block; }
.brand small { color:#aeb8c7; font-size:.65rem; }
.topbar-meta { display:flex; align-items:center; gap:10px; margin-left:auto; font-size:.8rem; }
.topbar a { color:inherit; }
.ui-page { max-width:var(--ui-page-max); padding:32px var(--ui-page-pad-x); margin:auto; }
.ui-module-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.ui-module-card { padding:24px; }
[data-platform-page="entry"] .ui-page > h1 { font-size:30px; font-weight:800; margin:0 0 16px; }
.workspace-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.workspace-module-card { display:block; padding:32px; border:1px solid var(--ui-line); border-radius:12px; background:var(--ui-surface); color:var(--ui-ink); text-decoration:none; }
.workspace-module-card h2 { margin:20px 0 10px; font-size:22px; }
.workspace-module-card p { color:var(--ui-muted); line-height:1.7; margin:0 0 24px; }
.workspace-module-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:12px; background:#def0eb; color:#16796e; }
.workspace-module-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.workspace-module-action { color:#16796e; font-weight:700; }
a.workspace-module-card:hover { border-color:#238b79; box-shadow:0 8px 24px rgba(11,19,36,.08); }
a.workspace-module-card:focus-visible { outline:3px solid #238b79; outline-offset:4px; }
.workspace-module-card[aria-disabled] { background:#eef1f3; }
.workspace-module-card[aria-disabled] .workspace-module-action { color:var(--ui-muted); }
@media(max-width:640px) { .workspace-module-grid { grid-template-columns:minmax(0,1fr); gap:16px; } .workspace-module-card { padding:24px; } }
.ui-access-list { overflow-x:auto; background:var(--ui-surface); border:1px solid var(--ui-line); }
.ui-access-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.ui-access-table caption { text-align:left; padding:16px; font-weight:750; }
.ui-access-table th,.ui-access-table td { padding:12px 16px; border-top:1px solid var(--ui-line); text-align:left; vertical-align:middle; }
.ui-access-table thead { background:#edf3f5; }
.ui-access-table thead th { white-space:nowrap; }
.ui-access-table tbody th { min-width:120px; }
.ui-access-table tbody tr:hover { background:#f5faf9; }
.ui-access-table small { display:block; font-weight:400; margin-top:4px; }
.ui-access-table .ui-access-check, .ui-access-table thead th:nth-child(n+3) { text-align:center; }
.ui-access-check input { margin:0; width:18px; height:18px; accent-color:#238b79; cursor:pointer; }
.ui-access-check input:disabled { cursor:default; }
.ui-access-toolbar { display:flex; justify-content:flex-end; align-items:center; margin:0 0 16px; }
[role="status"] { min-height:1.5em; }
.ui-surface {
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-sm);
}

.ui-muted {
  color: var(--ui-muted);
}

/* One compact summary row across workspaces; narrow screens scroll within it. */
.summary-grid.summary-compact {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(104px, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 3px 3px 8px;
  margin: -3px -3px 16px;
  overflow-x: auto;
}
.summary-grid.summary-compact > .metric {
  grid-column: auto;
  min-width: 0;
  min-height: 108px;
  padding: 14px 12px;
  border-radius: 8px;
}
.summary-grid.summary-compact > .metric > span {
  display: block;
  font-size: 12px;
  line-height: 1.5;
}
.summary-grid.summary-compact > .metric strong {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.04em;
  margin: 8px 0 6px;
  overflow-wrap: break-word;
}
.summary-grid.summary-compact > .metric strong small {
  display: inline-block;
  font-size: 12px;
  margin-left: 4px;
  letter-spacing: 0;
}
.summary-grid.summary-compact > .metric > span:last-of-type {
  font-size: 11px;
}
.summary-grid.summary-compact > .metric.is-active {
  box-shadow: 0 0 0 2px var(--ui-ink);
}
.summary-grid.summary-compact > .metric-dark.is-active {
  box-shadow: 0 0 0 2px var(--mint);
}
.summary-grid.summary-compact > .metric-alert.is-active {
  box-shadow: 0 0 0 2px var(--amber);
}

.ui-empty-state {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 48px 20px;
  color: var(--ui-muted);
  text-align: center;
}

.account-menu .account-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left}.account-menu-icon{display:flex;flex:0 0 18px;width:18px;height:18px;color:#64748b}.account-menu-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.account-menu-item>span:last-child{min-width:0;overflow-wrap:break-word}.account-menu [aria-current] .account-menu-icon{color:inherit}

/* Shared update notice: every page using ui-boot.js loads this stylesheet. */
.version-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px;background:rgba(7,13,25,.48);overflow:auto}
.version-dialog{box-sizing:border-box;width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow:auto;padding:28px 24px;border:1px solid #dfe4e8;border-radius:9px;background:#fff;color:#0b1324;text-align:left;box-shadow:0 16px 48px rgba(11,19,36,.25)}
.version-dialog h2{margin:0 0 10px;font-size:20px;line-height:1.4;font-weight:700;color:#0b1324}
.version-dialog p{margin:0 0 22px;font-size:14px;line-height:1.6;color:#687385}
.version-dialog .version-reload-button{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:10px 16px;border:1px solid #0b1324;border-radius:5px;background:#0b1324;color:#fff;font:inherit;font-weight:700;line-height:1.5;text-align:center;cursor:pointer}
.version-dialog .version-reload-button:hover{background:#24334a}.version-dialog .version-reload-button:focus-visible{outline:2px solid #238b79;outline-offset:3px}
@media(max-width:480px){.version-overlay{padding:16px}.version-dialog{max-height:calc(100vh - 32px);padding:24px 20px}}

/* Own both pseudo-elements: the vendor checkbox tick otherwise overlaps the thumb. */
.ui-access-check input.person-enabled-switch{appearance:none;-webkit-appearance:none;display:inline-block;box-sizing:border-box;width:44px;height:24px;padding:0;margin:0;border:1px solid #687385;border-radius:14px;background:#87909e;position:relative;cursor:pointer;vertical-align:middle}
.ui-access-check input.person-enabled-switch::before{content:"";position:absolute;box-sizing:border-box;width:18px;height:18px;top:2px;left:2px;border:0;border-radius:50%;background:white;transform:none}
.ui-access-check input.person-enabled-switch::after{content:none;mask:none;-webkit-mask:none;scale:1;background:none}
.ui-access-check input.person-enabled-switch:checked{background:#187c69;border-color:#187c69}
.ui-access-check input.person-enabled-switch:checked::before{left:22px}
.ui-access-check input.person-enabled-switch:checked::after{content:"";position:absolute;box-sizing:border-box;display:block;left:8px;top:5px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;border-radius:0;transform:rotate(45deg);mask:none;-webkit-mask:none;scale:1;background:none}
.ui-access-check input.person-enabled-switch:focus-visible{outline:2px solid #238b79;outline-offset:3px}
.ui-access-check input.person-enabled-switch:disabled{opacity:.5;cursor:wait}
@media(max-width:700px){
  .account-menu a,.account-menu button,.account-menu [aria-disabled]{min-height:44px}
}
