/* Espai Diagonal: visual language shared with the Bmotion technical form. */
:root {
  --bg: #edf3f8;
  --bg-deep: #dce7f2;
  --panel: #ffffff;
  --panel-2: #f6f9fc;
  --text: #172033;
  --muted: #647187;
  --line: rgba(94,112,139,.22);
  --accent: #3157d5;
  --accent-2: #07977d;
  --accent-3: #07977d;
  --brand-gradient: linear-gradient(135deg,#3157d5,#07977d);
  --soft: rgba(49,87,213,.08);
  --sidebar: #111c32;
  --sidebar-muted: #c2cee4;
  --topbar: rgba(246,249,252,.94);
  --shadow: rgba(49,65,92,.10);
  --ring: rgba(49,87,213,.20);
  --primary-text: #fff;
}
:root[data-theme="dark"], body[data-theme="dark"] {
  --bg: #070b12;
  --bg-deep: #0d1420;
  --panel: #111824;
  --panel-2: #182231;
  --text: #eef4fb;
  --muted: #9ba9bc;
  --line: rgba(151,170,197,.20);
  --accent: #82a5ff;
  --accent-2: #4adbb9;
  --accent-3: #4adbb9;
  --brand-gradient: linear-gradient(135deg,#82a5ff,#4adbb9);
  --soft: rgba(130,165,255,.12);
  --sidebar: #0c131e;
  --sidebar-muted: #b5c4db;
  --topbar: rgba(17,24,36,.94);
  --shadow: rgba(0,0,0,.28);
  --ring: rgba(130,165,255,.20);
  --primary-text: #07111d;
}
html { min-height:100%; background:var(--bg); }
body {
  background: radial-gradient(ellipse at 15% 10%,rgba(71,118,255,.09),transparent 45%), radial-gradient(ellipse at 90% 20%,rgba(42,211,175,.08),transparent 40%), linear-gradient(145deg,var(--bg),var(--bg-deep));
  background-attachment:fixed;
  line-height:1.55;
}
.app-shell .topbar { background:linear-gradient(165deg,var(--sidebar),#172442); }
.app-shell .primary-nav a, .app-shell .sidebar-footer a, .app-shell .theme-toggle { border-radius:12px; }
.app-shell .primary-nav a.active { background:rgba(130,165,255,.16); box-shadow:inset 3px 0 0 #82a5ff; color:#fff; }
.nav-kicker { color:#9ba9bc; }
.workspace-bar { background:var(--topbar); backdrop-filter:blur(16px); border-bottom-color:var(--line); }
.heading {
  padding:26px 28px;
  margin-bottom:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:linear-gradient(135deg,#172442 0%,#273f87 52%,#08796f 135%);
  color:#fff;
  box-shadow:0 18px 45px rgba(8,20,46,.18);
  gap:20px;
}
.heading h1 { color:#fff; font-size:clamp(24px,2.5vw,34px); letter-spacing:-.035em; line-height:1.15; }
.heading p { color:rgba(255,255,255,.8); }
.heading label { color:rgba(255,255,255,.9); }
.heading .secondary-button, .heading .icon-button { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.28); }
.heading .secondary-button:hover, .heading .icon-button:hover { background:rgba(255,255,255,.22); }
.panel, .card, .stats article { border-radius:20px; background:var(--panel); box-shadow:0 10px 30px var(--shadow); }
.panel { padding:22px; margin-bottom:20px; }
.panel h2 { font-size:17px; letter-spacing:-.02em; }
.panel h2::before { height:20px; border-radius:4px; background:var(--brand-gradient); }
.card { padding:20px; }
.button, button { border-radius:11px; }
button:not(.icon-button):not(.secondary-button):not(.panel-toggle):not(.theme-toggle):not(.danger-button):not(.nav-scrim):not(.mobile-nav-toggle),
.button:not(.secondary-button):not(.icon-button):not(.danger-button), .quick-create {
  background:var(--brand-gradient); color:var(--primary-text); border-color:transparent;
}
.button:hover, button:hover { background:var(--panel-2); }
button:not(.icon-button):not(.secondary-button):not(.panel-toggle):not(.theme-toggle):not(.danger-button):not(.nav-scrim):not(.mobile-nav-toggle):hover,
.button:not(.secondary-button):not(.icon-button):not(.danger-button):hover { background:var(--brand-gradient); filter:brightness(1.08); }
.secondary-button, .icon-button, .panel-toggle { background:var(--panel-2); color:var(--text); border-color:var(--line); }
.danger-button, .danger-button:hover { background:#b83246; color:#fff; border-color:#b83246; }
input, select, textarea { border-radius:10px; background:var(--panel-2); border-color:var(--line); color:var(--text); }
input:focus, select:focus, textarea:focus { border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--ring); }
input[type="checkbox"], input[type="radio"] { accent-color:var(--accent); }
label { font-size:12px; }
.briefing-fieldset { padding:20px; border-radius:18px; background:var(--panel-2); }
.briefing-fieldset legend { padding:5px 10px; border-radius:8px; background:var(--panel); color:var(--accent); font-size:13px; }
.briefing-form-grid { gap:16px; }
.briefing-fieldset input, .briefing-fieldset textarea, .briefing-fieldset select { background:var(--panel); }
.bulk-toolbar, .task-card, .schedule-item { border-radius:16px; }
.bulk-selected { background:var(--soft); }
.pagination-pages a.active { color:var(--primary-text); }
.auth .panel { border-radius:24px; padding:30px; }
@media(max-width:640px) {
  .heading { padding:20px; border-radius:20px; gap:14px; }
  .panel { padding:16px; border-radius:18px; }
  .briefing-fieldset { padding:14px; }
  .heading-actions { flex-wrap:wrap; }
  input, select, textarea { font-size:16px; }
}
