/* BidAgent Style 3: shared office-grade technology theme.
   One token source for the app shell and the document workspace. */
:root, [data-theme="dark"], [data-theme="light"] {
  --ba-background:#0b1224; --ba-surface:#121d34; --ba-surface-raised:#192640;
  --ba-border:#304361; --ba-text:#edf3ff; --ba-muted:#b1c1d8;
  --ba-primary:#7d91ff; --ba-secondary:#b1a1ff;
  --ba-success:#66d7ae; --ba-warning:#ffce7b; --ba-danger:#ffa0ad;
  --ba-ai-gradient:linear-gradient(120deg,#4768ef,#7856d9);
  --ba-space-1:4px; --ba-space-2:8px; --ba-space-3:12px;
  --ba-space-4:16px; --ba-space-5:24px; --ba-space-6:32px;
  --ba-radius-sm:8px; --ba-radius:12px; --ba-radius-lg:18px;
  --ba-shadow:0 12px 32px #02061533;
  --ba-font-sm:13px; --ba-font-base:14px; --ba-font-lg:18px; --ba-font-title:28px;
  --ba-control-height:42px; --ba-card-padding:20px;
  --bg:var(--ba-background); --bg-card:var(--ba-surface); --panel:var(--ba-surface);
  --bg-sidebar:#0c152b; --bg-sidebar-hover:var(--ba-surface-raised);
  --text:var(--ba-text); --text-secondary:var(--ba-muted); --text-light:var(--ba-muted);
  --muted:var(--ba-muted); --border:var(--ba-border); --border-light:var(--ba-border);
  --line:var(--ba-border); --soft:var(--ba-surface-raised);
  --primary:var(--ba-primary); --primary-light:#a4b1ff; --primary-dark:#5e71dc;
  --primary2:var(--ba-secondary); --success:var(--ba-success); --warning:var(--ba-warning);
  --danger:var(--ba-danger); --green:var(--ba-success); --amber:var(--ba-warning);
  --red:var(--ba-danger); --radius:var(--ba-radius); --radius-lg:var(--ba-radius-lg);
  --shadow:var(--ba-shadow); --shadow-lg:var(--ba-shadow);
  color-scheme:dark;
}
body { background:var(--ba-background); color:var(--ba-text); font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif; }
button, .btn-primary, .btn-secondary, input:not([type="checkbox"]):not([type="radio"]), select {
  min-height:var(--ba-control-height); border-radius:var(--ba-radius-sm);
}
button, input, textarea, select { max-width:100%; }
button { font-size:var(--ba-font-base); }
button:disabled { cursor:not-allowed; }
:focus-visible { outline:2px solid #98baff; outline-offset:3px; }
.btn-primary, button:not(.secondary):not(.success):not(.danger):not(.ghost):not(.btn-secondary):not(:disabled) {
  background:var(--ba-ai-gradient); color:#fff;
}
.btn-secondary, button.secondary { background:var(--ba-surface-raised); border:1px solid var(--ba-border); color:var(--ba-text); }
.login-page, .auth-page, .register-page { background:radial-gradient(ellipse at 15% 10%,#243565 0,transparent 55%),var(--ba-background); }
.register-brand { background:linear-gradient(155deg,#14284a,#202446); }
.login-card, .auth-card, .register-card { background:var(--ba-surface); border:1px solid var(--ba-border); box-shadow:var(--ba-shadow); border-radius:var(--ba-radius-lg); }
.register-form-area { background:var(--ba-background); }
.form-input, input, textarea, select { background:var(--ba-background); color:var(--ba-text); border-color:var(--ba-border); }
input::placeholder, textarea::placeholder { color:#93a6c5; }
.sidebar { background:var(--bg-sidebar); border-right:1px solid var(--ba-border); }
.topbar, .top-bar, .top-header, .header { background:var(--ba-surface); border-color:var(--ba-border); }
#pageTitle { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nav-item.active { background:#25365d; color:#fff; box-shadow:inset 3px 0 #899eff; }
.card, section, details { border-color:var(--ba-border); border-radius:var(--ba-radius); box-shadow:var(--ba-shadow); }
.card { background:var(--ba-surface); }
.page-header, .page-head { gap:var(--ba-space-4); flex-wrap:wrap; }
.page-header h1, .page-head h1 { font-size:var(--ba-font-title); }
.document-cockpit, .outline-workbench { background:var(--ba-surface); border-color:var(--ba-border); }
.cockpit-left, .cockpit-right, .outline-ai { background:var(--ba-surface); color:var(--ba-text); border-color:var(--ba-border); }
.cockpit-center { min-width:0; background:var(--ba-background); }
.single-step-nav > *, .document-cockpit > *, .outline-workbench > * { min-width:0; }
.single-step-actions, .cockpit-actions, .material-actions { flex-wrap:wrap; gap:var(--ba-space-2); }
table { max-width:100%; }
th, td { overflow-wrap:anywhere; }
.ba-document-sheet { background:#fff; color:#182235; color-scheme:light; padding:var(--ba-space-6); box-shadow:var(--ba-shadow); }
.ba-document-sheet img { max-width:100%; height:auto; }
@media(max-width:1366px) {
  .document-cockpit { grid-template-columns:190px minmax(0,1fr) 250px; }
  .single-step-nav { grid-template-columns:auto minmax(0,1fr); }
  .single-step-actions { grid-column:1/-1; }
}
@media(max-width:1000px) {
  .document-cockpit { grid-template-columns:180px minmax(0,1fr); }
  .cockpit-right { grid-column:1/-1; position:static; }
}
@media(max-width:760px) {
  .document-cockpit, .outline-workbench, .single-step-nav { grid-template-columns:minmax(0,1fr); }
  .cockpit-left, .cockpit-right { position:static; max-height:none; }
  .page-header h1, .page-head h1 { font-size:22px; }
}
@media(max-width:480px) {
  .top-header { padding:8px 12px; gap:8px; }
  .header-left { min-width:0; gap:8px; }
  .header-right { gap:8px; flex-shrink:0; }
  .header-right .icon-btn { display:none; } /* Same controls remain in Settings. */
  #pageTitle { max-width:110px; }
}
@media(max-width:768px) {
  .sidebar.mobile-open, .sidebar.mobile-open.collapsed { width:min(260px,85vw); z-index:1100; }
  .sidebar.mobile-open .brand, .sidebar.mobile-open .version,
  .sidebar.mobile-open .nav-item span { display:block; }
  .sidebar.mobile-open { box-shadow:12px 0 30px #02061588; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
