/* WebKaptan V2: the existing application, with the main site's visual language. */
:root,
[data-theme="light"] {
  --bg: #f4f8fb;
  --bg-2: #ffffff;
  --surface: #ffffff;
  --surface-2: #f4f8fb;
  --surface-3: #e4f3f4;
  --line: #dce5ec;
  --line-2: #c2d2dc;
  --ink: #0b2135;
  --ink-2: #536779;
  --ink-3: #536779;
  --ink-4: #6b8091;
  --brand: #007f8b;
  --brand-2: #006d78;
  --brand-soft: #e4f3f4;
  --brand-line: #b9dce0;
  --ok: #147a58;
  --ok-soft: #e8f5ed;
  --warn: #996510;
  --warn-soft: #fff5df;
  --bad: #bd3e48;
  --bad-soft: #fcecef;
  --info: #276dab;
  --info-soft: #e9f2fb;
  --shadow-1: 0 1px 3px #0b213508;
  --shadow-2: 0 12px 35px #0b213512;
  --shadow-3: 0 24px 70px #0b213518;
  --glow: 0 0 0 1px var(--brand-line);
  --rail-w: 248px;
  --topbar-h: 78px;
  --gap: 24px;
  --r: 12px;
  --r-lg: 16px;
}
[data-theme="dark"] {
  --bg: #0b2135;
  --bg-2: #0e2940;
  --surface: #123149;
  --surface-2: #183c55;
  --surface-3: #20475e;
  --line: #2b4a60;
  --line-2: #46657a;
  --ink: #f3f8fb;
  --ink-2: #c2d4e1;
  --ink-3: #a9c0d1;
  --ink-4: #a9c0d1;
  --brand: #4ac3ca;
  --brand-2: #7ed4d9;
  --brand-soft: #173e50;
  --brand-line: #367181;
  --ok: #71d3ab;
  --warn: #f4c772;
  --bad: #f799a0;
  --info: #9ac4f4;
}
html { color-scheme: light; }
[data-theme="dark"] { color-scheme: dark; }
body { font-size: 14px; }
.shell { grid-template-columns: var(--rail-w) minmax(0,1fr); }
.rail { padding: 24px 14px 16px; }
.rail-head { padding: 0 10px 24px; }
.logo { background: var(--brand-soft); color: var(--brand); border: 1px solid var(--brand-line); box-shadow: none; border-radius: 10px; }
.logo.live::after { display: none; }
.logo-text b { font-size: 18px; letter-spacing: -.045em; }
.logo-text span { display: block; margin-top: 4px; font-size: 11px; }
.rail-group { color: var(--ink-3); letter-spacing: .035em; font-weight: 550; padding: 20px 12px 8px; }
.rail-item { min-height: 44px; padding: 10px 12px; font-size: 13px; border-radius: 8px; }
.rail-item.active { background: var(--brand-soft); color: var(--brand-2); }
.rail-item.active::before { display: none; }
.topbar { background: var(--surface); backdrop-filter: none; padding: 0 32px; }
.tb-title b { font-size: 20px; letter-spacing: -.035em; }
.tb-title span { margin-top: 4px; font-size: 12px; }
.tb-btn,.tb-icon { min-height: 40px; }
.tb-icon { width: 40px; }
.stage { padding: 32px 32px 80px; }
.view { max-width: 1280px; }
.card,.stat,.ow-tile,.ow-mode { box-shadow: none; }
.card-head { padding: 22px 24px 0; }
.card-body { padding: 18px 24px 24px; }
.stat { padding: 20px 22px; }
.btn { min-height: 42px; border-radius: 8px; font-weight: 600; }
.btn-primary { background: var(--brand); color: #fff; box-shadow: none; }
[data-theme="dark"] .btn-primary { color: #0b2135; }
.btn-sm { min-height: 36px; }
input,textarea,select { accent-color: var(--brand); }
.v2-home-link { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; color: var(--ink-2); font-size: 12px; }
.v2-home-link:hover { color: var(--brand); text-decoration: none; }
.v2-home-link svg { width: 16px; height: 16px; }
.login-gate { background: var(--bg); padding: 42px 24px 70px; }
.lg-card { width: min(1000px,100%); }
.lg-brand b { color: var(--ink); font-size: 23px; letter-spacing: -.045em; }
.lg-brand span { font-size: 12px; }
.lg-topbar { padding-bottom: 24px; border-bottom: 1px solid var(--line); margin-bottom: 40px; }
.lg-card h1 { font-size: clamp(30px,4vw,44px); line-height: 1.12; letter-spacing: -.055em; margin-bottom: 14px; }
.lg-sub { font-size: 15px; line-height: 1.75; max-width: 650px; margin-bottom: 28px; }
.lg-accounts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lg-acc { height: auto; min-height: 118px; padding: 20px; border-radius: 14px; background: var(--surface); }
.lg-acc { grid-template-columns: 48px minmax(0,1fr) 20px; }
.lga-av { width: 48px; height: 48px; grid-row: 1 / 3; }
.lga-meta { grid-column: 2; }
.lga-go { grid-column: 3; grid-row: 1 / 3; }
.lg-owner-btn { min-height: 44px; padding: 11px 16px; border-color: var(--line-2); }
.lga-main { min-width: 0; }
.lga-main b { font-size: 16px; }
.lga-meta { line-height: 1.6; }
.owner-inline { background: var(--surface); border: 1px solid var(--brand-line); border-radius: 14px; box-shadow: var(--shadow-2); padding: 24px; }
.owner-console { background: var(--bg); }
.oc-bar { min-height: 80px; background: var(--surface); padding: 18px 32px; }
.oc-brand b { font-size: 21px; letter-spacing: -.04em; }
.oc-body { max-width: 1500px; padding: 32px; margin: auto; }
.ow-shell { grid-template-columns: 244px minmax(0,1fr); gap: 32px; }
.ow-nav { padding: 12px; border-radius: 14px; }
.ow-nav-item { min-height: 46px; padding: 12px; }
.ow-head h2 { font-size: 28px; letter-spacing: -.04em; }
.ow-head p { max-width: 680px; line-height: 1.7; }
.ow-tile { padding: 20px; min-height: 114px; }
.ow-tile-main b { font-size: 23px; }
.ow-grid { grid-template-columns: repeat(auto-fit,minmax(min(320px,100%),1fr)); }
.today-intro h1 { color: var(--ink); }
.today-dashboard { --today-gap: 24px; }
.v2-mobile-menu { display: none; }
@media(max-width:940px) {
  .rail .logo-text,.rail .rail-group,.rail .rail-item span,.rail .agent-line span { display: block; }
  .rail .rail-head,.rail .rail-item,.rail .agent-line { justify-content: flex-start; }
  .rail .rail-badge { position: static; }
}
@media(max-width:1050px) {
  .stage { padding: 24px 22px 70px; }
  .topbar { padding-inline: 22px; }
  .tb-btn kbd { display: none; }
  .ow-shell { grid-template-columns: 1fr; gap: 20px; }
  .ow-nav { position: static; flex-direction: row; overflow-x: auto; }
  .ow-nav-group,.ow-nav-item em { display: none; }
  .ow-nav-item { flex: none; width: auto; align-items: center; }
  .oc-body { padding: 24px; }
}
@media(max-width:700px) {
  :root { --rail-w: 0px; --topbar-h: 72px; }
  .shell { grid-template-columns: minmax(0,1fr); }
  .rail { display: none; }
  .v2-mobile-menu { display: grid; place-items: center; min-width: 42px; width: 42px; min-height: 42px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); }
  .v2-mobile-menu svg { width: 20px; height: 20px; }
  body.v2-nav-open .rail { display: flex; position: fixed; inset: 0 auto 0 0; z-index: 60; width: min(280px,calc(100vw - 56px)); box-shadow: var(--shadow-3); }
  body.v2-nav-open .v2-mobile-menu { position: fixed; top: 18px; left: min(292px,calc(100vw - 48px)); z-index: 61; background: var(--surface); }
  .topbar { padding: 12px 16px; gap: 12px; }
  .tb-title { margin-right: auto; }
  .tb-title b { font-size: 17px; }
  .tb-title span { font-size: 10px; }
  .tb-actions { gap: 6px; }
  .tb-btn { width: 40px; padding: 0; justify-content: center; }
  .tb-btn span,.tb-btn kbd,.dial { display: none; }
  .tb-icon { width: 36px; min-height: 40px; }
  .stage { padding: 24px 16px 80px; }
  .card-head { padding: 18px 18px 0; }
  .card-body { padding: 16px 18px 20px; }
  .view { gap: 18px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stat { padding: 16px; }
  .stat-value { font-size: 26px; }
  .login-gate { padding: 24px 18px 50px; }
  .lg-topbar { gap: 18px; margin-bottom: 30px; }
  .lg-accounts { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .lg-acc { min-height: 100px; padding: 18px; }
  .lg-sub { font-size: 14px; }
  .owner-inline { padding: 20px; }
  .oi-row { flex-wrap: wrap; }
  .oi-row input { min-width: 0; flex: 1 1 160px; }
  .oc-bar { padding: 16px; flex-wrap: wrap; gap: 12px; }
  .oc-body { padding: 22px 16px; }
  .ow-head h2 { font-size: 24px; }
  .ow-nav-item b { font-size: 12px; }
  .today-dashboard .today-priority,.today-dashboard .today-decisions { padding: 22px; }
}
