:root {
  --bg: #e4e3e6;
  --bg-2: #d9d9dd;
  --surface: rgba(247, 247, 249, .84);
  --surface-strong: rgba(250, 250, 252, .92);
  --surface-soft: rgba(239, 239, 243, .78);
  --surface-subtle: rgba(255, 255, 255, .52);
  --ink: #17181d;
  --muted: #666a73;
  --line: rgba(38, 40, 49, .11);
  --line-light: rgba(255, 255, 255, .7);
  --red: #9f2530;
  --red-2: #c8424e;
  --red-soft: rgba(159, 37, 48, .11);
  --green: #2f8e61;
  --amber: #a66e18;
  --purple: #7450cf;
  --shadow: 0 22px 56px rgba(42, 44, 55, .13), 0 2px 8px rgba(38, 40, 48, .06);
  --shadow-soft: 0 12px 28px rgba(42, 44, 55, .09);
  --radius: 22px;
  --radius-sm: 12px;
  --blur: 15px;
  --space-scale: 1;
  --font-scale: 1;
  --sidebar-bg: linear-gradient(160deg, rgba(35, 38, 47, .97), rgba(50, 47, 54, .94));
  --sidebar-text: rgba(255, 255, 255, .8);
  --sidebar-hover: rgba(255, 255, 255, .08);
  --field-bg: rgba(255, 255, 255, .66);
  --table-bg: rgba(255, 255, 255, .44);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
}

:root[data-theme="pearl-smoke"] {
  --bg: #e4e3e6;
  --bg-2: #d6d6da;
  --surface: rgba(247, 247, 249, .84);
  --surface-strong: rgba(251, 251, 252, .94);
  --surface-soft: rgba(239, 239, 243, .8);
  --surface-subtle: rgba(255, 255, 255, .56);
  --ink: #17181d;
  --muted: #666a73;
  --line: rgba(38, 40, 49, .11);
  --line-light: rgba(255, 255, 255, .72);
  --field-bg: rgba(255, 255, 255, .7);
  --table-bg: rgba(255, 255, 255, .48);
}

:root[data-theme="cool-stone"] {
  --bg: #b8bcc4;
  --bg-2: #a9afb9;
  --surface: rgba(232, 235, 240, .82);
  --surface-strong: rgba(241, 243, 247, .9);
  --surface-soft: rgba(220, 224, 231, .76);
  --surface-subtle: rgba(246, 247, 249, .45);
  --ink: #191c22;
  --muted: #555b66;
  --line: rgba(35, 39, 47, .14);
  --line-light: rgba(255, 255, 255, .54);
  --shadow: 0 22px 56px rgba(31, 35, 44, .17), 0 2px 8px rgba(31, 35, 44, .08);
  --field-bg: rgba(245, 246, 248, .62);
  --table-bg: rgba(239, 241, 245, .52);
}

:root[data-theme="mist-graphite"] {
  --bg: #20242b;
  --bg-2: #15181e;
  --surface: rgba(47, 52, 62, .86);
  --surface-strong: rgba(54, 59, 70, .94);
  --surface-soft: rgba(39, 43, 52, .86);
  --surface-subtle: rgba(255, 255, 255, .055);
  --ink: #f3f5f8;
  --muted: #b1b6c0;
  --line: rgba(255, 255, 255, .11);
  --line-light: rgba(255, 255, 255, .09);
  --red: #e0525e;
  --red-2: #f06b75;
  --red-soft: rgba(224, 82, 94, .15);
  --green: #66c995;
  --amber: #e1ae58;
  --purple: #aa8ae9;
  --shadow: 0 26px 68px rgba(0, 0, 0, .32), 0 2px 10px rgba(0, 0, 0, .22);
  --shadow-soft: 0 14px 34px rgba(0, 0, 0, .24);
  --sidebar-bg: linear-gradient(160deg, rgba(15, 17, 22, .98), rgba(27, 29, 36, .96));
  --field-bg: rgba(16, 19, 24, .38);
  --table-bg: rgba(19, 22, 28, .28);
}

:root[data-density="compact"] { --space-scale: .84; }
:root[data-density="spacious"] { --space-scale: 1.15; }
:root[data-font-size="small"] { --font-scale: .92; }
:root[data-font-size="large"] { --font-scale: 1.08; }
:root[data-corner-style="soft"] { --radius: 16px; --radius-sm: 9px; }
:root[data-corner-style="extra-rounded"] { --radius: 30px; --radius-sm: 17px; }
:root[data-reduced-motion="true"] * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }

* { box-sizing: border-box; }
html, body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(circle at 18% -8%, rgba(172, 69, 85, .16), transparent 34%),
    radial-gradient(circle at 95% 105%, rgba(76, 111, 160, .16), transparent 36%),
    linear-gradient(135deg, var(--bg) 0%, var(--bg-2) 100%);
  color: var(--ink);
  font-size: calc(16px * var(--font-scale));
}
body { overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.ambient { position: fixed; pointer-events: none; filter: blur(82px); opacity: .28; border-radius: 50%; z-index: 0; }
.ambient-one { width: 520px; height: 520px; background: radial-gradient(circle, rgba(202, 71, 87, .8), transparent 68%); top: -270px; left: 10%; }
.ambient-two { width: 620px; height: 620px; background: radial-gradient(circle, rgba(92, 129, 181, .7), transparent 68%); right: -290px; bottom: -300px; }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); }

.glass-strong, .glass-soft, .card, .panel, .stat-card, .tool-card, .login-card, .modal {
  position: relative;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: linear-gradient(145deg, var(--surface-strong), var(--surface));
  backdrop-filter: blur(var(--blur)) saturate(125%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(125%);
}
.glass-strong::before, .glass-soft::before, .card::before, .panel::before, .stat-card::before, .tool-card::before, .login-card::before, .modal::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(140deg, rgba(255,255,255,.34), transparent 34%, transparent 72%, rgba(255,255,255,.08));
}
.glass-soft { background: linear-gradient(145deg, var(--surface-soft), var(--surface)); box-shadow: var(--shadow-soft); }

.login-view { position: relative; z-index: 1; min-height: 100vh; display: grid; place-items: center; padding: 28px; overflow: hidden; }
.login-orb { position: absolute; border-radius: 50%; filter: blur(45px); opacity: .25; }
.orb-a { width: 340px; height: 340px; background: linear-gradient(145deg, #b12834, #f5b4ba); left: 12%; top: 10%; }
.orb-b { width: 420px; height: 420px; background: linear-gradient(145deg, #708fc9, #dfe7ff); right: 10%; bottom: 5%; }
.login-card { width: min(460px, 100%); padding: 38px; border-radius: 30px; }
.login-copy h1 { font-size: 34px; margin: 8px 0; }
.login-copy p { color: var(--muted); line-height: 1.55; }
.eyebrow { font-size: 11px; letter-spacing: .14em; font-weight: 800; color: var(--red); margin: 0; }
.brand { display: flex; align-items: baseline; gap: 0; font-size: 32px; font-weight: 900; letter-spacing: -.06em; }
.brand span { color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.32); }
.brand b { color: #e4434e; }
.brand small { display: block; margin-left: 10px; font-size: 9px; letter-spacing: .14em; color: rgba(255,255,255,.72); font-weight: 700; }
.brand-large { font-size: 42px; margin-bottom: 34px; }
.brand-large span { color: var(--ink); text-shadow: none; }
.brand-large small { color: var(--muted); }

label { display: grid; gap: 8px; font-size: 12px; font-weight: 750; color: var(--muted); margin: 16px 0; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 13px 15px;
  background: var(--field-bg);
  outline: none;
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  transition: .18s;
}
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--muted) 74%, transparent); }
input:focus, select:focus, textarea:focus { border-color: color-mix(in srgb, var(--red) 45%, transparent); box-shadow: 0 0 0 4px var(--red-soft); }
textarea { min-height: 100px; resize: vertical; }
.instance-badge { margin-top: 18px; padding: 10px 13px; border-radius: 10px; background: rgba(35,155,96,.1); color: var(--green); font-size: 12px; text-align: center; font-weight: 700; }

.btn {
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 11px 16px;
  font-weight: 750;
  color: var(--ink);
  background: var(--surface-soft);
  box-shadow: 0 7px 18px rgba(30,32,40,.07);
  transition: transform .16s, box-shadow .16s, background .16s;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 11px 24px rgba(30,32,40,.1); }
.btn-primary { color: #fff; border-color: rgba(126,17,28,.45); background: linear-gradient(180deg, #b82e3a, #861722); box-shadow: 0 10px 22px rgba(143,25,35,.22); }
.btn-danger { color: #fff; background: #9c2630; }
.btn-ghost { background: var(--surface-subtle); }
.btn-large { padding: 15px 18px; font-size: 15px; }
.full { width: 100%; }
.icon-btn { width: 42px; height: 42px; border-radius: 11px; border: 1px solid var(--line); background: var(--surface-soft); color: var(--ink); }

.app-shell { position: relative; z-index: 1; display: grid; grid-template-columns: 230px 1fr; gap: 18px; min-height: 100vh; padding: 18px; }
.sidebar { position: sticky; top: 18px; height: calc(100vh - 36px); padding: 24px 16px; border-radius: 27px; background: var(--sidebar-bg); color: #fff; display: flex; flex-direction: column; overflow: auto; }
.sidebar .brand { padding: 8px 12px 24px; }
.nav { display: grid; gap: 5px; }
.nav button { border: 1px solid transparent; background: transparent; color: var(--sidebar-text); text-align: left; padding: calc(12px * var(--space-scale)) 13px; border-radius: 11px; font-weight: 700; font-size: 14px; display: flex; gap: 12px; align-items: center; }
.nav button:hover { background: var(--sidebar-hover); }
.nav button.active { background: linear-gradient(135deg, rgba(184,45,58,.94), rgba(126,20,31,.92)); color: #fff; border-color: rgba(255,255,255,.2); box-shadow: 0 8px 20px rgba(101,14,24,.28); }

.workspace { min-width: 0; }
.topbar { min-height: 72px; border-radius: 21px; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; position: sticky; top: 18px; z-index: 20; }
.search-wrap { display: flex; align-items: center; gap: 8px; background: var(--surface-subtle); border: 1px solid var(--line); padding: 0 13px; border-radius: 12px; width: min(470px, 43vw); }
.search-wrap input { border: 0; background: transparent; box-shadow: none; padding: 10px 4px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.status-pill { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 750; color: var(--muted); padding: 9px 10px; border-radius: 9px; background: var(--surface-subtle); border: 1px solid var(--line); }
.status-pill i { width: 8px; height: 8px; border-radius: 50%; background: #3cb976; box-shadow: 0 0 0 3px rgba(60,185,118,.12); }
.top-user { display: flex; align-items: center; gap: 9px; padding: 5px 6px 5px 5px; border-radius: 14px; background: var(--surface-subtle); border: 1px solid var(--line); }
.top-user-copy { min-width: 92px; line-height: 1.1; }
.top-user-copy b, .top-user-copy span { display: block; }
.top-user-copy b { font-size: 12px; }
.top-user-copy span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.signout-btn { border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--red); font-size: 11px; font-weight: 800; padding: 7px 9px; }
.avatar { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg,#b12935,#73131d); color: #fff; font-size: 12px; font-weight: 900; border: 1px solid rgba(255,255,255,.35); box-shadow: 0 5px 13px rgba(110,18,27,.24); }
.avatar-button { border: 0; }

.content { padding: calc(24px * var(--space-scale)) 4px 40px; }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 4px 4px 20px; }
.page-head h1 { font-size: 30px; letter-spacing: -.035em; margin: 0 0 4px; }
.page-head p { margin: 0; color: var(--muted); }
.grid { display: grid; gap: calc(16px * var(--space-scale)); }
.stats-grid { grid-template-columns: repeat(6, minmax(130px, 1fr)); }
.stat-card { border-radius: var(--radius); padding: calc(18px * var(--space-scale)); min-height: 124px; overflow: hidden; }
.stat-card .stat-icon { width: 37px; height: 37px; border-radius: 10px; background: var(--red-soft); color: var(--red); display: grid; place-items: center; font-weight: 900; }
.stat-card strong { display: block; font-size: 27px; margin-top: 13px; letter-spacing: -.04em; }
.stat-card span { font-size: 11px; color: var(--muted); }
.stat-card::after { content: ""; position: absolute; width: 90px; height: 90px; border-radius: 50%; right: -35px; bottom: -45px; background: radial-gradient(circle, var(--red-soft), transparent 68%); }
.dashboard-grid { grid-template-columns: 1.3fr 1fr .9fr; margin-top: 16px; }
.panel, .card { border-radius: var(--radius); padding: calc(18px * var(--space-scale)); overflow: hidden; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.panel-head h2, .panel-head h3 { font-size: 16px; margin: 0; }
.panel-head a, .link-btn { border: 0; background: transparent; color: var(--red); font-weight: 750; font-size: 12px; }
.list { display: grid; gap: 8px; }
.list-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 10px; border-radius: 12px; background: var(--surface-subtle); border: 1px solid var(--line); }
.time-chip { padding: 8px 9px; border-radius: 9px; background: linear-gradient(180deg,#a52732,#74131c); color: #fff; font-weight: 800; font-size: 12px; }
.list-row b { display: block; font-size: 13px; }
.list-row small { display: block; color: var(--muted); margin-top: 3px; }
.badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 9px; padding: 6px 9px; font-size: 11px; font-weight: 750; background: var(--red-soft); color: var(--red); border: 1px solid color-mix(in srgb, var(--red) 13%, transparent); white-space: nowrap; }
.badge.green { background: rgba(47,157,103,.12); color: var(--green); border-color: rgba(47,157,103,.18); }
.badge.amber { background: rgba(212,147,46,.13); color: var(--amber); border-color: rgba(212,147,46,.2); }
.quick-grid { grid-template-columns: repeat(3,1fr); }
.quick-btn { padding: 15px; border: 1px solid var(--line); background: var(--surface-subtle); color: var(--ink); border-radius: 12px; text-align: left; font-weight: 750; }
.quick-btn small { display: block; color: var(--muted); font-weight: 500; margin-top: 4px; }
.wide { grid-column: span 2; }
.backup-status { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; }
.ring { width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--red) 0 87%, var(--red-soft) 87%); position: relative; }
.ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--surface-strong); }
.ring span { position: relative; font-weight: 900; color: var(--red); }

.table-wrap { overflow: auto; border-radius: 15px; border: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; background: var(--table-bg); }
th, td { text-align: left; padding: 13px 14px; border-bottom: 1px solid var(--line); font-size: 13px; vertical-align: middle; }
th { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); background: var(--surface-soft); }
tr:last-child td { border-bottom: 0; }
td small { display: block; color: var(--muted); margin-top: 3px; }
.row-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.small-btn { border: 1px solid var(--line); border-radius: 8px; padding: 7px 9px; font-size: 11px; font-weight: 750; color: var(--ink); background: var(--surface-soft); }
.empty { padding: 48px 20px; text-align: center; color: var(--muted); }

.tool-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
.tool-card { border-radius: var(--radius); padding: 20px; min-height: 210px; display: flex; flex-direction: column; overflow: hidden; }
.tool-card .tool-symbol { width: 50px; height: 50px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(145deg,var(--red-soft),var(--surface-subtle)); font-size: 22px; color: var(--red); }
.tool-card h3 { margin: 17px 0 7px; }
.tool-card p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.tool-card footer { position: static; margin-top: auto; padding-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.tool-card.validation { opacity: 1; }
.velocity-grid .tool-card { min-height: 230px; }
.velocity-grid .badge { white-space: normal; max-width: 100%; line-height: 1.2; }
.callout { padding: 14px 16px; border-radius: 12px; background: rgba(212,147,46,.13); color: color-mix(in srgb, var(--amber) 82%, var(--ink)); font-size: 13px; line-height: 1.55; border: 1px solid rgba(212,147,46,.22); }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.form-grid .full-span { grid-column: 1/-1; }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.toolbar .filters, .filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.filter { border: 1px solid var(--line); background: var(--field-bg); padding: 9px 12px; border-radius: 10px; }
.kpi-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 16px; }
.kpi { padding: 17px; border-radius: 14px; background: var(--surface-subtle); border: 1px solid var(--line); }
.kpi small { color: var(--muted); }
.kpi strong { display: block; font-size: 24px; margin-top: 8px; }
.nutrition-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 16px; }
.food-results { max-height: 520px; overflow: auto; }
.food-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 12px; border-bottom: 1px solid var(--line); }
.food-item b { display: block; overflow-wrap: anywhere; }
.food-item small { color: var(--muted); line-height: 1.45; }
.food-name { display: flex; gap: 9px; align-items: flex-start; }
.food-emoji { font-size: 22px; line-height: 1; width: 28px; flex: 0 0 28px; text-align: center; }

.theme-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.theme-card { position: relative; display: block; margin: 0; cursor: pointer; }
.theme-card input { position: absolute; opacity: 0; pointer-events: none; }
.theme-preview { min-height: 145px; border: 2px solid transparent; border-radius: 16px; padding: 13px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: var(--shadow-soft); transition: .18s; }
.theme-card input:checked + .theme-preview { border-color: var(--red); box-shadow: 0 0 0 4px var(--red-soft), var(--shadow-soft); }
.theme-preview.pearl { background: linear-gradient(135deg,#e7e6e8,#d7d7db); color:#17181d; }
.theme-preview.stone { background: linear-gradient(135deg,#c3c7ce,#aeb4be); color:#17181d; }
.theme-preview.graphite { background: linear-gradient(135deg,#30353e,#1d2128); color:#f5f6f8; }
.theme-mini-shell { display:grid; grid-template-columns:34px 1fr; gap:8px; min-height:76px; }
.theme-mini-nav { border-radius:9px; background:rgba(20,22,28,.84); }
.theme-mini-content { display:grid; gap:6px; }
.theme-mini-content i { display:block; border-radius:7px; background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.55); }
.theme-preview.graphite .theme-mini-content i { background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.08); }
.theme-preview strong { font-size:13px; }
.theme-preview small { opacity:.72; }

.management-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.management-card { display:flex; flex-direction:column; gap:10px; min-height:210px; }
.management-card .price { font-size:24px; font-weight:900; }
.management-card .meta { color:var(--muted); font-size:12px; }
.management-card footer { margin-top:auto; display:flex; gap:8px; flex-wrap:wrap; }
.section-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.section-tabs button { border:1px solid var(--line); background:var(--surface-subtle); color:var(--ink); border-radius:9px; padding:9px 12px; font-weight:750; }
.section-tabs button.active { background:var(--red); color:#fff; border-color:var(--red); }

.modal { border: 1px solid var(--line); border-radius: 22px; max-width: 680px; width: calc(100% - 30px); padding: 0; color: var(--ink); }
.modal::backdrop { background: rgba(16,18,23,.38); backdrop-filter: blur(8px); }
.modal-inner { padding: 26px; max-height: 88vh; overflow: auto; }
.modal-close { position: absolute; right: 15px; top: 14px; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); color: var(--ink); font-size: 20px; z-index: 2; }
.modal-heading h2 { margin: 8px 0; }
.locked .modal-close { display: none; }
.toast-host { position: fixed; z-index: 1000; right: 20px; bottom: 20px; display: grid; gap: 9px; }
.toast { padding: 13px 16px; border-radius: 11px; background: rgba(34,36,45,.94); color: #fff; box-shadow: var(--shadow); max-width: 360px; }
.toast.error { background: rgba(143,27,38,.97); }
.mobile-only { display: none; }

@media (max-width: 1250px) {
  .stats-grid { grid-template-columns: repeat(3,1fr); }
  .dashboard-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-grid .panel:last-child { grid-column: span 2; }
  .tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .top-user-copy, .signout-btn { display:none; }
  .top-user { padding:4px; }
}
@media (max-width: 850px) {
  .app-shell { grid-template-columns: 1fr; padding: 10px; }
  .sidebar { position: fixed; left: 10px; top: 10px; bottom: 10px; height: auto; width: 230px; z-index: 100; transform: translateX(-120%); transition: .22s; }
  .sidebar.open { transform: none; }
  .topbar { top: 10px; }
  .mobile-only { display: block; }
  .search-wrap { width: auto; flex: 1; }
  .status-pill { display: none; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .dashboard-grid, .nutrition-layout, .management-grid { grid-template-columns: 1fr; }
  .dashboard-grid .panel:last-child, .wide { grid-column: auto; }
  .tool-grid { grid-template-columns: 1fr; }
  .kpi-row { grid-template-columns: repeat(2,1fr); }
  .theme-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .content { padding: 18px 0 32px; }
  .top-actions > .btn { display: none; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card { min-height: 110px; padding: 14px; }
  .stat-card strong { font-size: 23px; }
  .quick-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .kpi-row { grid-template-columns: 1fr 1fr; }
  .login-card { padding: 28px 22px; }
  .brand small { display: none; }
  .search-wrap { min-width:0; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@supports not (backdrop-filter: blur(10px)) {
  .glass-strong, .glass-soft, .card, .panel, .stat-card, .tool-card, .login-card, .modal { background: var(--surface-strong); }
}

/* SLPT v1.2 role identity and dashboard layout */
:root {
  --accent: var(--red);
  --accent-2: var(--red-2);
  --accent-soft: var(--red-soft);
  --accent-shadow: rgba(143, 25, 35, .24);
}
:root[data-role="owner"] {
  --accent: #9f2530;
  --accent-2: #c8424e;
  --accent-soft: rgba(159, 37, 48, .12);
  --accent-shadow: rgba(143, 25, 35, .26);
}
:root[data-role="coach"] {
  --accent: #7250c9;
  --accent-2: #9270df;
  --accent-soft: rgba(114, 80, 201, .14);
  --accent-shadow: rgba(91, 59, 173, .27);
}
:root[data-role="client"] {
  --accent: #238d70;
  --accent-2: #43ae8d;
  --accent-soft: rgba(35, 141, 112, .14);
  --accent-shadow: rgba(25, 113, 89, .25);
}
:root[data-role="app_only"] {
  --accent: #285f9f;
  --accent-2: #3e82ca;
  --accent-soft: rgba(40, 95, 159, .15);
  --accent-shadow: rgba(28, 76, 131, .27);
}

.eyebrow { color: var(--accent); }
input:focus, select:focus, textarea:focus {
  border-color: color-mix(in srgb, var(--accent) 48%, transparent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
.btn-primary {
  border-color: color-mix(in srgb, var(--accent) 68%, #111 14%);
  background: linear-gradient(180deg, var(--accent-2), color-mix(in srgb, var(--accent) 78%, #111));
  box-shadow: 0 10px 22px var(--accent-shadow);
}
.nav button.active {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent-2) 92%, #fff 2%), color-mix(in srgb, var(--accent) 84%, #111));
  box-shadow: 0 8px 20px var(--accent-shadow);
}
.avatar {
  background: linear-gradient(145deg, var(--accent-2), color-mix(in srgb, var(--accent) 76%, #111));
  box-shadow: 0 5px 13px var(--accent-shadow);
}
.panel-head a, .link-btn, .signout-btn { color: var(--accent); }
.stat-card .stat-icon { background: var(--accent-soft); color: var(--accent); }
.stat-card::after { background: radial-gradient(circle, var(--accent-soft), transparent 68%); }
.badge { background: var(--accent-soft); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 18%, transparent); }
.time-chip { background: linear-gradient(180deg, var(--accent-2), color-mix(in srgb, var(--accent) 76%, #111)); }
.ring { background: conic-gradient(var(--accent) 0 87%, var(--accent-soft) 87%); }
.ring span { color: var(--accent); }
.theme-card input:checked + .theme-preview { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft), var(--shadow-soft); }
.section-tabs button.active { background: var(--accent); border-color: var(--accent); }
.tool-card .tool-symbol { background: linear-gradient(145deg,var(--accent-soft),var(--surface-subtle)); color: var(--accent); }

.workspace, .content, .grid, .panel, .card, .tool-card, .page-head, .page-head > div { min-width: 0; }
.panel, .card, .tool-card { overflow-wrap: anywhere; }
.dashboard-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) minmax(285px,.88fr); }
.dashboard-grid > *, .owner-dashboard-grid > *, .coach-dashboard-grid > *, .client-dashboard-grid > *, .app-only-dashboard-grid > * { min-width: 0; }
.assessment-intelligence { overflow: hidden; }
.intelligence-tools { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 14px; }
.intelligence-tools .quick-btn { min-width: 0; padding: 13px; }
.dashboard-actions { grid-template-columns: repeat(3,minmax(145px,1fr)); }
.backup-panel .backup-status { grid-template-columns: auto minmax(0,1fr); }
.backup-panel .backup-status .btn { grid-column: 1/-1; width: 100%; }
.compact-empty { padding: 34px 16px; }
.mini-avatar { width: 32px; height: 32px; }

.role-stats-grid { grid-template-columns: repeat(5,minmax(135px,1fr)); }
.coach-dashboard-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(270px,.82fr); margin-top: 16px; }
.client-stats-grid { grid-template-columns: repeat(5,minmax(135px,1fr)); }
.client-dashboard-grid { grid-template-columns: minmax(0,1.05fr) minmax(0,1.05fr) minmax(260px,.8fr); margin-top: 16px; }
.app-only-stats-grid { grid-template-columns: repeat(4,minmax(150px,1fr)); }
.app-only-dashboard-grid { grid-template-columns: minmax(260px,.78fr) minmax(0,1.12fr) minmax(270px,.85fr); margin-top: 16px; }
.stack-actions { display: grid; gap: 9px; }
.overview-list { display: grid; gap: 8px; }
.overview-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); }
.overview-list span { color: var(--muted); font-size: 12px; }
.overview-list b { font-size: 15px; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.featured-workout h3 { margin: 17px 0 7px; }
.featured-workout p { color: var(--muted); line-height: 1.55; }
.nutrition-kpis { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.nutrition-kpis > div { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.nutrition-kpis b, .nutrition-kpis span { display: block; }
.nutrition-kpis b { font-size: 24px; }
.nutrition-kpis span { color: var(--muted); font-size: 11px; margin-top: 4px; }
.progress-card { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; align-items: center; }
.progress-card b, .progress-card small { display: block; }
.progress-card small { color: var(--muted); margin: 5px 0 12px; }
.role-ring { width: 88px; height: 88px; }
.activity-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 8px; }

@media (max-width: 1450px) {
  .dashboard-grid, .coach-dashboard-grid, .client-dashboard-grid, .app-only-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .assessment-intelligence, .backup-panel { grid-column: auto; }
  .wide { grid-column: span 2; }
  .role-stats-grid, .client-stats-grid { grid-template-columns: repeat(3,minmax(135px,1fr)); }
}
@media (max-width: 1050px) {
  .dashboard-grid, .coach-dashboard-grid, .client-dashboard-grid, .app-only-dashboard-grid { grid-template-columns: 1fr; }
  .wide { grid-column: auto; }
  .stats-grid, .role-stats-grid, .client-stats-grid, .app-only-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intelligence-tools, .dashboard-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .intelligence-tools, .dashboard-actions, .nutrition-kpis { grid-template-columns: 1fr; }
}
:root[data-theme="mist-graphite"][data-role="owner"] { --accent:#e0525e; --accent-2:#f06b75; --accent-soft:rgba(224,82,94,.16); }
:root[data-theme="mist-graphite"][data-role="coach"] { --accent:#ad8df0; --accent-2:#c3a9fa; --accent-soft:rgba(173,141,240,.16); }
:root[data-theme="mist-graphite"][data-role="client"] { --accent:#63c99d; --accent-2:#83dfb8; --accent-soft:rgba(99,201,157,.15); }
:root[data-theme="mist-graphite"][data-role="app_only"] { --accent:#73a8e6; --accent-2:#94c3f5; --accent-soft:rgba(115,168,230,.16); }

/* SLPT v1.3 business management and calendar */
.muted { color: var(--muted); font-size: 12px; }
.calendar-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,1fr); gap: 16px; align-items: start; }
.calendar-month-panel, .agenda-panel { min-width: 0; }
.calendar-controls { display: flex; gap: 7px; }
.calendar-legend { display: flex; gap: 15px; flex-wrap: wrap; margin: -2px 0 13px; color: var(--muted); font-size: 11px; }
.calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend-dot { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
.legend-dot.one-to-one { background: #a52b39; }
.legend-dot.class { background: #7250c9; }
.legend-dot.assessment { background: #2f9d67; }
.legend-dot.general { background: #d4932e; }
.month-calendar { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--surface-subtle); }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); background: var(--surface-soft); border-bottom: 1px solid var(--line); }
.calendar-weekdays span { padding: 10px 8px; text-align: center; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.calendar-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-day { min-width: 0; min-height: 118px; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--surface-strong) 78%,transparent); }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.outside { opacity: .5; }
.calendar-day.today { box-shadow: inset 0 0 0 2px var(--accent); background: var(--accent-soft); }
.calendar-date { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
.calendar-date span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; font-size: 12px; font-weight: 850; }
.calendar-day.today .calendar-date span { background: var(--accent); color: #fff; }
.calendar-date small { color: var(--accent); font-size: 9px; font-weight: 800; }
.calendar-events { display: grid; gap: 4px; }
.calendar-chip { min-width: 0; width: 100%; border: 0; border-left: 4px solid currentColor; border-radius: 7px; padding: 5px 6px; text-align: left; color: var(--ink); font-size: 9px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--surface-soft); }
.calendar-chip b { font-size: 9px; }
.calendar-one-to-one { color: #a52b39; background: rgba(165,43,57,.11); }
.calendar-class { color: #7250c9; background: rgba(114,80,201,.12); }
.calendar-assessment { color: #2f9d67; background: rgba(47,157,103,.12); }
.calendar-task, .calendar-general { color: #b5741c; background: rgba(212,147,46,.13); }
.calendar-more { color: var(--muted); font-size: 9px; padding-left: 5px; }
.agenda-list { display: grid; gap: 12px; max-height: calc(100vh - 230px); overflow: auto; padding-right: 3px; }
.agenda-day { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--surface-subtle); }
.agenda-day > header { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; background: var(--surface-soft); border-bottom: 1px solid var(--line); }
.agenda-day > header b { font-size: 12px; }
.agenda-day > header span { color: var(--muted); font-size: 11px; }
.agenda-item { display: grid; grid-template-columns: 54px minmax(0,1fr) auto auto; align-items: center; gap: 9px; padding: 10px 12px; border-bottom: 1px solid var(--line); border-left: 4px solid currentColor; }
.agenda-item:last-child { border-bottom: 0; }
.agenda-item > div b, .agenda-item > div small { display: block; }
.agenda-item > div b { font-size: 12px; color: var(--ink); }
.agenda-item > div small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.agenda-time { font-size: 11px; font-weight: 850; color: var(--ink); }
.agenda-empty { padding: 18px 12px; color: var(--muted); font-size: 12px; }

.business-filter-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 0 14px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.segmented-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 11px; background: var(--surface-subtle); border: 1px solid var(--line); }
.segmented-tabs button { border: 0; background: transparent; color: var(--muted); border-radius: 8px; padding: 8px 13px; font-size: 11px; font-weight: 800; }
.segmented-tabs button.active { background: var(--accent); color: #fff; box-shadow: 0 6px 14px var(--accent-shadow); }
.period-copy { text-align: right; }
.period-copy b, .period-copy span { display: block; }
.period-copy b { font-size: 12px; }
.period-copy span { color: var(--muted); font-size: 10px; margin-top: 3px; }
.business-stat-grid { display: grid; grid-template-columns: repeat(6,minmax(125px,1fr)); gap: 12px; margin-bottom: 16px; }
.business-stat-grid .kpi { min-width: 0; }
.business-stat-grid .kpi strong { font-size: clamp(20px,2vw,28px); }
.business-table-panel { margin-bottom: 16px; }
.business-ledger-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.session-kind { display: inline-flex; align-items: center; border-radius: 8px; padding: 5px 8px; font-size: 10px; font-weight: 850; border: 1px solid transparent; }
.session-kind.one-to-one { color: #9f2530; background: rgba(159,37,48,.11); border-color: rgba(159,37,48,.18); }
.session-kind.class { color: #7250c9; background: rgba(114,80,201,.13); border-color: rgba(114,80,201,.2); }

@media (max-width: 1380px) {
  .calendar-layout { grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); }
  .business-stat-grid { grid-template-columns: repeat(3,minmax(130px,1fr)); }
}
@media (max-width: 1050px) {
  .calendar-layout, .business-ledger-grid { grid-template-columns: 1fr; }
  .agenda-list { max-height: none; }
  .calendar-day { min-height: 100px; }
}
@media (max-width: 760px) {
  .business-filter-bar { align-items: stretch; flex-direction: column; }
  .segmented-tabs { width: 100%; display: grid; grid-template-columns: repeat(4,1fr); }
  .period-copy { text-align: left; }
  .business-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calendar-day { min-height: 78px; padding: 5px; }
  .calendar-chip { font-size: 0; height: 8px; padding: 0; border-left-width: 0; }
  .calendar-chip b { display: none; }
  .calendar-date small { display: none; }
  .agenda-item { grid-template-columns: 48px minmax(0,1fr) auto; }
  .agenda-item .small-btn { grid-column: 2/4; justify-self: start; }
}

/* SLPT v1.3 universal Gradient Glass login */
.login-gradient-glass {
  isolation: isolate;
  background:
    radial-gradient(circle at 14% 18%, rgba(222,45,88,.72), transparent 31%),
    radial-gradient(circle at 86% 17%, rgba(103,126,255,.68), transparent 34%),
    radial-gradient(circle at 66% 88%, rgba(79,52,149,.8), transparent 38%),
    linear-gradient(135deg,#210f26 0%,#36132f 29%,#1d2452 65%,#111a36 100%);
}
.login-gradient-glass::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 29%,rgba(255,255,255,.035) 48%,transparent 72%);
}
.login-gradient-mesh {
  position:absolute; inset:-20%; z-index:-2; opacity:.52; filter:blur(38px); transform:rotate(-7deg);
  background:
    linear-gradient(115deg,transparent 27%,rgba(255,255,255,.12) 28%,transparent 31%),
    linear-gradient(55deg,transparent 45%,rgba(255,255,255,.09) 46%,transparent 50%);
}
.login-gradient-glass .login-orb { opacity:.42; filter:blur(68px); }
.login-gradient-glass .orb-a { width:420px;height:420px;left:-100px;top:-110px;background:#ef315d; }
.login-gradient-glass .orb-b { width:520px;height:520px;right:-120px;bottom:-180px;background:#526fe7; }
.login-gradient-glass .orb-c { width:310px;height:310px;left:46%;top:30%;background:#923eaa;position:absolute;border-radius:50%;filter:blur(85px);opacity:.3; }
.login-shell {
  width:min(1080px,100%); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.82fr); gap:42px;
  align-items:center; padding:clamp(24px,5vw,72px); border:1px solid rgba(255,255,255,.17); border-radius:38px;
  background:linear-gradient(135deg,rgba(19,21,43,.58),rgba(56,28,67,.38));
  box-shadow:0 38px 100px rgba(5,7,22,.45),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%);
}
.login-intro { color:#fff; max-width:560px; }
.brand-login { font-size:52px; margin-bottom:58px; }
.brand-login span { color:#fff; }
.brand-login b { color:#f04b69; }
.brand-login small { color:rgba(255,255,255,.66); font-size:10px; }
.login-kicker { margin:0 0 14px; font-size:11px; font-weight:850; letter-spacing:.18em; color:#f0adbc; }
.login-intro h1 { margin:0; max-width:600px; font-size:clamp(42px,5vw,68px); line-height:.98; letter-spacing:-.055em; }
.login-intro>p:not(.login-kicker) { max-width:540px; margin:24px 0 30px; color:rgba(255,255,255,.73); font-size:16px; line-height:1.65; }
.login-capabilities { display:flex; flex-wrap:wrap; gap:9px; }
.login-capabilities span { padding:9px 12px; border:1px solid rgba(255,255,255,.15); border-radius:11px; background:rgba(255,255,255,.065); color:rgba(255,255,255,.82); font-size:11px; font-weight:700; }
.login-universal-card {
  width:100%; padding:34px; border-radius:28px; color:#fff; border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(145deg,rgba(255,255,255,.145),rgba(255,255,255,.075));
  box-shadow:0 24px 58px rgba(5,7,24,.3),inset 0 1px 0 rgba(255,255,255,.2);
  backdrop-filter:blur(28px) saturate(145%); -webkit-backdrop-filter:blur(28px) saturate(145%);
}
.login-universal-card::before { background:linear-gradient(140deg,rgba(255,255,255,.2),transparent 34%,transparent); }
.login-universal-card .eyebrow { color:#f4b3c0; }
.login-copy h2 { font-size:34px; margin:8px 0 6px; letter-spacing:-.035em; }
.login-universal-card .login-copy p { color:rgba(255,255,255,.68); }
.login-universal-card label { color:rgba(255,255,255,.82); }
.login-universal-card input {
  color:#fff; background:rgba(12,15,39,.28); border-color:rgba(255,255,255,.17);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.login-universal-card input::placeholder { color:rgba(255,255,255,.43); }
.login-universal-card input:focus { border-color:rgba(246,89,118,.8); box-shadow:0 0 0 4px rgba(225,61,91,.17); }
.password-field { position:relative; }
.password-field input { padding-right:68px; }
.password-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); border:0; border-radius:8px; padding:7px 9px; color:rgba(255,255,255,.74); background:rgba(255,255,255,.08); font-size:10px; font-weight:800; }
.login-submit { margin-top:7px; background:linear-gradient(180deg,#d83253,#9e1531); border-color:rgba(255,151,171,.42); box-shadow:0 14px 30px rgba(132,12,43,.42); }
.login-role-key { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:21px; }
.role-key { min-width:0; display:grid; place-items:center; gap:6px; padding:10px 5px; border:1px solid rgba(255,255,255,.1); border-radius:11px; color:rgba(255,255,255,.73); background:rgba(12,15,38,.18); font-size:9px; font-weight:750; text-align:center; }
.role-key i { width:9px;height:9px;border-radius:50%;box-shadow:0 0 12px currentColor; }
.role-key.owner i { background:#b52d40; }.role-key.coach i { background:#8e6be0; }.role-key.client i { background:#50b884; }.role-key.app-only i { background:#4e87d1; }
.login-security-note { margin:14px 0 0; text-align:center; color:rgba(255,255,255,.58); font-size:10px; }
.login-universal-card .instance-badge { background:rgba(79,207,145,.11); color:#91e9ba; border:1px solid rgba(93,218,154,.18); }

@media (max-width:900px) {
  .login-shell { grid-template-columns:1fr; width:min(600px,100%); gap:24px; padding:30px; }
  .login-intro { text-align:center; max-width:none; }
  .brand-login { justify-content:center; margin-bottom:28px; font-size:44px; }
  .login-intro h1 { font-size:42px; }
  .login-intro>p:not(.login-kicker) { margin:18px auto 22px; }
  .login-capabilities { justify-content:center; }
}
@media (max-width:560px) {
  .login-view { padding:14px; }
  .login-shell { border-radius:25px; padding:22px; }
  .login-intro h1 { font-size:34px; }
  .login-intro>p:not(.login-kicker),.login-capabilities { display:none; }
  .brand-login { margin-bottom:18px; }
  .login-universal-card { padding:25px 20px; }
  .login-role-key { grid-template-columns:repeat(2,1fr); }
}
.period-navigator { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.compact-date { display:flex; align-items:center; gap:7px; margin:0; font-size:10px; }
.compact-date input { width:145px; padding:8px 10px; font-size:11px; }
@media (max-width:900px) { .period-navigator { justify-content:flex-start; } }


/* SLPT 1.4 */
.login-brand-only{display:grid;place-items:center;min-height:260px}.advanced-builder{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;margin-top:16px}.builder-blocks{align-self:start}.builder-block{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px;margin:8px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);color:var(--text)}.builder-block.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.builder-block span{margin-left:auto}.builder-weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.builder-week{border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface-soft)}.builder-week header{display:flex;justify-content:space-between;align-items:center}.builder-session{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px;margin:8px 0;border-radius:12px;background:var(--surface)}.builder-session small{display:block}.inline-title{font-size:1.25rem;font-weight:800;background:transparent;border:0;padding:4px}.exercise-editor-row{padding:12px;border:1px solid var(--border);border-radius:14px;margin:10px 0}.program-meta{margin-bottom:12px}.program-list-card footer{margin-top:16px}.live-session-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.live-set-table{max-height:280px;overflow:auto;margin:14px 0}.profile-tabs{overflow:auto}.compact{padding:8px!important;min-height:auto}.login-view .instance-badge,.login-role-key,.login-security-note{display:none!important}@media(max-width:900px){.advanced-builder{grid-template-columns:1fr}.builder-blocks{display:flex;overflow:auto}.builder-block{min-width:170px}.builder-weeks{grid-template-columns:1fr}}

.locked-week{opacity:.72}.locked-week .empty{min-height:100px}.category-tabs,.assessment-filter-tabs{margin:12px 0;overflow:auto}.login-brand-only .brand{transform:scale(1.15)}

/* SLPT 1.5 assessment workspace */
.assessment-tool-launcher{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));margin-bottom:18px}
.assessment-launch-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);min-width:0}
.assessment-launch-card>.btn{grid-column:1/-1;width:100%}
.assessment-launch-card.disabled{opacity:.62}
.assessment-tool-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font-size:1.45rem;font-weight:800;color:var(--accent)}
.tool-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.tool-card-heading h3{margin:0;min-width:0}.assessment-launch-card p{margin:8px 0;color:var(--muted)}.assessment-launch-card small{display:block;color:var(--muted)}
.assessment-record-panel{margin-top:18px;overflow:hidden}.assessment-record-filters{display:grid;gap:10px;margin:12px 0 16px}.compact-tabs button{padding:8px 12px;font-size:.82rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.assessment-workspace-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-4px 0 16px}.assessment-workspace-summary>div:first-child{display:flex;gap:8px;flex-wrap:wrap}.assessment-progress{display:flex;align-items:center;gap:12px;min-width:min(340px,45vw)}.assessment-progress>div{height:8px;flex:1;border-radius:999px;background:color-mix(in srgb,var(--text) 9%,transparent);overflow:hidden}.assessment-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 68%,#8c69ff));transition:width .25s ease}.assessment-progress span{white-space:nowrap;color:var(--muted)}
.assessment-workspace{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:18px;align-items:start}.assessment-section-nav{padding:10px;position:sticky;top:92px;display:grid;gap:6px;max-height:calc(100vh - 116px);overflow:auto}.assessment-section-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:12px 13px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text);cursor:pointer}.assessment-section-button:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.assessment-section-button.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 26%,transparent);font-weight:700}.assessment-section-button i{font-style:normal;color:var(--muted)}.section-state.complete{color:#2f9d67}.section-state.in_progress{color:var(--accent)}.assessment-nav-divider{height:1px;background:var(--line);margin:6px 2px}
.assessment-workspace-main{min-width:0;overflow:hidden}.assessment-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.assessment-section-header h2{margin:2px 0 8px}.assessment-section-header p:last-child{margin:0;color:var(--muted);max-width:760px}.assessment-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.assessment-field{display:grid;gap:7px;min-width:0}.assessment-field>span:first-child{font-weight:650;font-size:.9rem}.assessment-field-wide{grid-column:1/-1}.assessment-field textarea{resize:vertical;min-height:112px}.input-with-unit{display:flex;align-items:center;position:relative}.input-with-unit input{padding-right:54px}.field-unit{position:absolute;right:12px;color:var(--muted);font-size:.82rem;pointer-events:none}.assessment-check{display:flex;align-items:center;gap:10px}.assessment-check input{width:auto}.assessment-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;position:sticky;bottom:0;background:color-mix(in srgb,var(--panel-solid) 94%,transparent);backdrop-filter:blur(16px);z-index:2}.section-complete-check{display:flex;align-items:center;gap:9px}.section-complete-check input{width:auto}
.assessment-media-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.assessment-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.assessment-media-card{position:relative;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-solid) 82%,transparent);overflow:hidden}.assessment-media-card img,.assessment-media-card video{display:block;width:100%;height:145px;object-fit:cover;background:#111}.assessment-media-card>div{padding:10px 12px;display:grid}.assessment-media-card small{color:var(--muted)}.assessment-media-card>.icon-btn{position:absolute;right:8px;top:8px;background:rgba(20,20,24,.72);color:white;border-color:rgba(255,255,255,.18)}
.assessment-report-preview{background:#fff;color:#1d1d20;border-radius:18px;padding:26px;box-shadow:0 18px 46px rgba(24,24,30,.13)}.assessment-report-preview>header{display:flex;justify-content:space-between;gap:18px;border-bottom:3px solid var(--accent);padding-bottom:18px}.assessment-report-preview h1{margin:6px 0}.report-brand{font-size:1.35rem;font-weight:900;color:var(--accent)}.assessment-report-preview section{margin-top:24px}.assessment-report-preview dl{margin:0}.assessment-report-preview dl>div{display:grid;grid-template-columns:minmax(160px,230px) 1fr;gap:16px;padding:9px 0;border-bottom:1px solid #e5e5e8}.assessment-report-preview dt{font-weight:700}.assessment-report-preview dd{margin:0;white-space:pre-wrap}.assessment-report-preview table{color:#1d1d20}.assessment-report-preview .badge{color:#1d1d20}
.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.danger{color:#b33643!important}.btn.danger,.small-btn.danger{border-color:rgba(179,54,67,.3);background:rgba(179,54,67,.08)}
@media(max-width:1050px){.assessment-workspace{grid-template-columns:1fr}.assessment-section-nav{position:static;display:flex;overflow:auto;max-height:none}.assessment-section-button{min-width:max-content}.assessment-nav-divider{width:1px;height:auto;margin:2px 4px}.assessment-fields-grid{grid-template-columns:1fr}.assessment-field-wide{grid-column:auto}.assessment-workspace-summary{align-items:flex-start;flex-direction:column}.assessment-progress{width:100%;min-width:0}}
@media(max-width:700px){.assessment-launch-card{grid-template-columns:1fr}.assessment-tool-icon{width:42px;height:42px}.assessment-section-header{flex-direction:column}.assessment-save-bar{align-items:stretch;flex-direction:column}.assessment-media-grid{grid-template-columns:1fr}.assessment-report-preview{padding:18px}.assessment-report-preview>header{flex-direction:column}.assessment-report-preview dl>div{grid-template-columns:1fr;gap:4px}.assessment-progress{display:grid}}
@media print{body>*{display:none!important}#assessmentReportPrintable{display:block!important;position:absolute;inset:0;box-shadow:none;border-radius:0;padding:0}.assessment-report-preview *{visibility:visible}}
.tool-card-heading{flex-wrap:wrap}.tool-card-heading .badge{flex:0 0 auto}.assessment-launch-card h3{overflow-wrap:anywhere}

/* SLPT 1.6 - production UI, dashboard customisation and advanced workflows */
:root {
  --pt-burgundy:#9a2635;
  --sidebar-bg:linear-gradient(165deg,rgba(18,20,27,.99),rgba(30,29,37,.98));
}
:root[data-theme="pearl-smoke"] { --sidebar-bg:linear-gradient(165deg,#151821,#25242d); }
:root[data-theme="cool-stone"] { --sidebar-bg:linear-gradient(165deg,#111722,#252d38); }
:root[data-theme="mist-graphite"] { --sidebar-bg:linear-gradient(165deg,#090c11,#161a22); }
.brand{align-items:center;line-height:1}.brand b{color:var(--pt-burgundy)}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:62px}
.sidebar .sidebar-brand-row .brand{padding:8px 8px 18px;align-items:center;white-space:nowrap}
.sidebar .brand small{position:relative;top:0;margin-left:9px;line-height:1;align-self:center}
.sidebar-collapse{flex:0 0 auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font-size:20px;line-height:1}
.sidebar-collapse:hover{background:rgba(255,255,255,.12)}

/* Desktop sidebar collapse */
@media(min-width:901px){
  html[data-sidebar-collapsed="true"] .app-shell{grid-template-columns:78px minmax(0,1fr)}
  html[data-sidebar-collapsed="true"] .sidebar{padding-inline:10px}
  html[data-sidebar-collapsed="true"] .sidebar-brand-row{justify-content:center;flex-wrap:wrap}
  html[data-sidebar-collapsed="true"] .sidebar .brand{font-size:22px;padding-inline:0}
  html[data-sidebar-collapsed="true"] .sidebar .brand small,
  html[data-sidebar-collapsed="true"] .sidebar .nav span{display:none}
  html[data-sidebar-collapsed="true"] .sidebar .nav button{justify-content:center;font-size:18px;padding:12px 8px}
  html[data-sidebar-collapsed="true"] .sidebar-collapse{transform:rotate(180deg)}
}

/* Dashboard status cards: icon and metric share one visual row */
.v16-stats{grid-template-columns:repeat(6,minmax(150px,1fr));align-items:stretch}
.v16-stat{min-width:0;min-height:132px;padding:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 13%,var(--surface-strong)),var(--surface));border-top:3px solid var(--card-accent)}
.v16-stat::after{content:"";position:absolute;right:-34px;bottom:-44px;width:118px;height:118px;border-radius:50%;background:color-mix(in srgb,var(--card-accent) 15%,transparent);filter:blur(2px)}
.stat-inline{position:relative;z-index:1;display:flex;align-items:center;gap:13px;min-width:0}
.v16-stat .stat-icon{flex:0 0 46px;width:46px;height:46px;margin:0;border-radius:14px;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 92%,#fff),color-mix(in srgb,var(--card-accent) 78%,#111));box-shadow:0 10px 22px color-mix(in srgb,var(--card-accent) 23%,transparent);font-size:20px}
.v16-stat strong{margin:0;font-size:25px;line-height:1.05;color:var(--ink)}
.v16-stat .stat-inline span:not(.stat-icon){display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.2}
.v16-stat>small{position:relative;z-index:1;display:block;margin:13px 0 0 59px;color:var(--muted)}

/* Dashboard grid cannot overflow the workspace */
.dashboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(290px,.9fr);align-items:stretch}
.dashboard-grid>*{min-width:0;overflow:hidden}.dashboard-grid .wide{grid-column:span 2}
.mini-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.mini-tool-grid button{min-width:0;text-align:left;border:1px solid color-mix(in srgb,var(--tool) 28%,var(--line));border-radius:14px;padding:13px;color:var(--ink);background:linear-gradient(145deg,color-mix(in srgb,var(--tool) 12%,var(--surface-strong)),var(--surface-soft))}
.mini-tool-grid b,.mini-tool-grid small{display:block;overflow-wrap:anywhere}.mini-tool-grid small{margin-top:6px;color:var(--muted)}
.backup-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center}.backup-status .btn{grid-column:1/-1}.backup-status b,.backup-status small{display:block}.backup-status small{color:var(--muted);margin-top:4px}.backup-status .ring{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:9px solid color-mix(in srgb,var(--red) 26%,transparent);border-top-color:var(--red);font-size:22px;color:var(--red)}

/* Colourful custom quick actions */
.quick-colour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.quick-colour-card{position:relative;min-height:112px;text-align:left;border:1px solid color-mix(in srgb,var(--quick) 32%,var(--line));border-radius:16px;padding:14px;color:var(--ink);background:linear-gradient(145deg,color-mix(in srgb,var(--quick) 18%,var(--surface-strong)),color-mix(in srgb,var(--quick) 6%,var(--surface)));box-shadow:0 10px 24px color-mix(in srgb,var(--quick) 11%,transparent);overflow:hidden}
.quick-colour-card::after{content:"";position:absolute;right:-24px;bottom:-28px;width:80px;height:80px;border-radius:50%;background:color-mix(in srgb,var(--quick) 23%,transparent)}
.quick-colour-card span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--quick);color:#fff;font-size:17px;margin-bottom:11px}.quick-colour-card b,.quick-colour-card small{position:relative;z-index:1;display:block}.quick-colour-card small{margin-top:4px;color:var(--muted)}

/* Activity and assessment colour system */
.recent-colour-row{position:relative;grid-template-columns:auto minmax(0,1fr) auto auto}.recent-colour-row>i{width:9px;height:36px;border-radius:999px;background:var(--activity);box-shadow:0 0 14px color-mix(in srgb,var(--activity) 38%,transparent)}
.type-chip{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:8px;color:color-mix(in srgb,var(--chip) 76%,var(--ink));border:1px solid color-mix(in srgb,var(--chip) 40%,var(--line));background:color-mix(in srgb,var(--chip) 15%,var(--surface));font-size:10px;font-weight:850;white-space:nowrap}
.assessment-filter-tabs button.active,.program-tabs button.active,.category-tabs button.active{color:#fff;background:linear-gradient(180deg,var(--red-2),var(--red));border-color:color-mix(in srgb,var(--red) 70%,#fff);box-shadow:0 7px 18px color-mix(in srgb,var(--red) 25%,transparent)}

/* Programme builder options */
.v16-exercise-editor{background:color-mix(in srgb,var(--surface-strong) 88%,transparent)}
.exercise-option-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0;padding:11px 12px;border-radius:13px;background:var(--surface-subtle);border:1px solid var(--line)}
.option-check,.preference-check{display:flex;align-items:center;gap:9px;margin:0;color:var(--ink)}
.option-check input,.preference-check input{width:auto;flex:0 0 auto}
.alternate-exercise{margin:12px 0;padding:13px;border-left:4px solid var(--purple);border-radius:12px;background:color-mix(in srgb,var(--purple) 9%,var(--surface-soft))}
.exercise-editor-row .row-actions{justify-content:space-between}
.founder-plan{border-top:3px solid #d2a52e}.badge.founder{background:rgba(210,165,46,.14);color:#a77b08;border-color:rgba(210,165,46,.34);margin-left:6px}

/* Contracts and physique updates */
.contract-list,.physique-grid{display:grid;gap:12px}.contract-card,.physique-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.contract-card header,.physique-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.contract-terms{margin:14px 0;padding:14px;border-radius:13px;background:var(--surface-subtle);white-space:pre-wrap;line-height:1.55}.contract-docs{display:flex;flex-wrap:wrap;gap:7px}.physique-card video{display:block;width:100%;max-height:390px;border-radius:14px;background:#111;margin:12px 0}.physique-quota{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:13px;background:color-mix(in srgb,var(--purple) 11%,var(--surface-soft))}
.reminder-heading{text-align:center}.reminder-heading::before{content:"✉";display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:color-mix(in srgb,var(--purple) 18%,transparent);color:var(--purple);font-size:27px}

/* Assessment-assisted media analysis */
.assessment-analysis-layout{display:grid;grid-template-columns:minmax(300px,1.35fr) minmax(260px,.65fr);gap:16px;align-items:start}.analysis-media-stage{position:relative;min-height:420px;border-radius:18px;overflow:hidden;background:#111;border:1px solid var(--line)}.analysis-media-stage img,.analysis-media-stage video{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.analysis-overlay{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.analysis-panel{display:grid;gap:12px}.analysis-metric{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.analysis-disclaimer{padding:11px 13px;border-radius:12px;border:1px solid rgba(210,145,41,.35);background:rgba(210,145,41,.1);color:var(--amber);font-size:11px;line-height:1.5}
.assessment-media-card .history-lock{position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:8px;background:rgba(13,17,24,.72);color:#fff;font-size:10px}

/* Movement mechanics library */
.movement-library-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:15px}.movement-card{display:flex;flex-direction:column;gap:8px}.movement-card h3,.movement-card p{margin:0}.movement-card .small-btn{margin-top:auto}.movement-detail{display:grid;gap:4px;padding:10px;border-radius:11px;background:var(--surface-subtle)}.movement-detail small{color:var(--muted)}

/* Calendar colour chips */
.calendar-chip{border-left:4px solid var(--event-color,var(--red));background:color-mix(in srgb,var(--event-color,var(--red)) 14%,var(--surface-soft))!important}.calendar-chip.type-class{--event-color:#7c4dff}.calendar-chip.type-one-to-one{--event-color:#b82e3a}.calendar-chip.type-assessment{--event-color:#2e9c68}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.calendar-legend span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.calendar-legend i{width:10px;height:10px;border-radius:3px;background:var(--legend)}

/* Recycle bin and settings */
.recycle-tabs,.colour-setting-grid,.settings-check-grid{margin:12px 0}.colour-setting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.colour-setting-grid label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.colour-setting-grid input[type=color]{width:48px;height:34px;padding:2px}.settings-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.settings-check-grid label{display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.settings-check-grid input{width:auto}.settings-check-grid span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--swatch);color:#fff}

/* Class attendance and compact metadata */
.session-participants{display:inline-flex;gap:5px;align-items:center}.session-participants::before{content:"♟";color:var(--purple)}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:3px 6px;border-radius:6px;background:var(--surface-soft)}

@media(max-width:1250px){
  .v16-stats{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .wide{grid-column:span 2}.dashboard-grid>article:nth-child(3){grid-column:span 2}
}
@media(max-width:900px){
  .v16-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .wide,.dashboard-grid>article:nth-child(3){grid-column:auto}.mini-tool-grid{grid-template-columns:1fr}.assessment-analysis-layout{grid-template-columns:1fr}.analysis-media-stage{min-height:300px}.sidebar-collapse{display:none}.quick-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){.v16-stats{grid-template-columns:1fr}.quick-colour-grid{grid-template-columns:1fr}.recent-colour-row{grid-template-columns:auto minmax(0,1fr)}.recent-colour-row>small,.recent-colour-row>.type-chip{grid-column:2}.top-user-copy{display:none}}
/* Correct class bindings used by the assisted-analysis and calendar renderers */
.analysis-layout{display:grid;grid-template-columns:minmax(340px,1.4fr) minmax(260px,.6fr);gap:16px;align-items:start}
.analysis-stage{position:relative;min-height:420px;border:1px solid var(--line);border-radius:18px;background:#0c0f14;overflow:hidden;display:grid;place-items:center}
.analysis-stage img,.analysis-stage video{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain}
.analysis-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;z-index:3}
.analysis-stage>.btn{position:absolute;left:12px;bottom:12px;z-index:5;background:rgba(15,18,25,.82);color:#fff}
.analysis-layout>aside{display:grid;gap:12px}.analysis-metrics{display:grid;gap:8px}.analysis-metrics>div:not(.empty){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.media-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 10px}
.calendar-chip{border-left-color:var(--event-colour,var(--event-color,var(--red)))!important;background:color-mix(in srgb,var(--event-colour,var(--event-color,var(--red))) 14%,var(--surface-soft))!important}
.agenda-item{border-left:4px solid var(--event-colour,var(--red));background:color-mix(in srgb,var(--event-colour,var(--red)) 8%,transparent)}
@media(max-width:900px){.analysis-layout{grid-template-columns:1fr}.analysis-stage{min-height:300px}}

/* SLPT 1.6.3 regression fixes + messaging/diary */
.sidebar{overflow-x:hidden}
.sidebar .nav,.sidebar-brand-row{min-width:0}
.settings-owner-grid{margin-top:16px}
.message-centre{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);gap:16px;min-height:620px}
.message-sidebar{padding:14px;overflow:auto;max-height:72vh}
.message-contact-list,.referral-list{display:grid;gap:8px}
.message-contact-list h3,.referral-list h3{margin:8px 4px;font-size:13px;color:var(--text-secondary)}
.message-contact{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid var(--border);background:var(--surface-1);padding:10px;border-radius:12px;text-align:left;color:var(--text-primary)}
.message-contact:hover,.message-contact.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-1))}
.message-contact span:nth-child(2){min-width:0}.message-contact b,.message-contact small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-contact small{color:var(--text-secondary);margin-top:3px}.message-contact i{font-style:normal;background:var(--accent);color:white;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:11px}
.avatar.mini{width:36px;height:36px;font-size:11px}
.message-thread{display:flex;flex-direction:column;min-width:0;min-height:620px}.message-thread-head{padding-bottom:12px;border-bottom:1px solid var(--border)}.message-history{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:18px 4px;max-height:55vh}.message-bubble{max-width:78%;padding:11px 13px;border-radius:15px;background:var(--surface-2);border:1px solid var(--border)}.message-bubble.mine{align-self:flex-end;background:color-mix(in srgb,var(--accent) 15%,var(--surface-1));border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.message-bubble.theirs{align-self:flex-start}.message-bubble p{margin:0 0 6px;white-space:pre-wrap}.message-bubble small{color:var(--text-muted)}.message-composer{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;border-top:1px solid var(--border);padding-top:14px}.message-composer textarea{min-height:72px}
.referral-list{border-top:1px solid var(--border);margin-top:16px;padding-top:10px}.referral-card{padding:10px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-primary);text-align:left}.referral-card b,.referral-card small{display:block}.referral-card small{color:var(--text-secondary);margin-top:3px}.referral-snapshot{max-height:55vh;overflow:auto}
.calendar-main-tabs{margin-bottom:16px}.calendar-main-tabs button{min-width:120px}.type-chip{white-space:nowrap}
#uiSettingsV161 h3{margin-top:22px}.preference-check{display:flex;align-items:center;gap:8px}.preference-check input{width:auto!important}
@media(max-width:850px){.message-centre{grid-template-columns:1fr}.message-sidebar{max-height:300px}.message-thread{min-height:520px}.message-composer{grid-template-columns:1fr}.message-composer .btn{width:100%}}
