/*
A² Wedding Hub — v11.1 split-file foundation
File: css/app.css
Purpose: Authoritative stylesheet extracted from the former single-file app.

Code hygiene note:
- Keep visual fixes here rather than inline in index.html.
- Prefer reusable component selectors over one-off page overrides.
- Future step: split into tokens.css, base.css, components.css, modules.css.
*/


:root{
  --blue:#151440;
  --blue-2:#201f63;
  --blue-3:#2d2a78;
  --bone:#eadcc7;
  --bone-2:#f7efe3;
  --paper:#fff9ef;
  --terracotta:#d14b2b;
  --terracotta-2:#f06b3e;
  --plum:#4d254f;
  --ochre:#b98236;
  --green:#6f8063;
  --ink:#14132d;
  --muted:#6f674f;
  --line:rgba(234,220,199,.26);
  --line-dark:rgba(21,20,64,.16);
  --shadow:0 24px 80px rgba(0,0,0,.24);
  --shadow-soft:0 14px 34px rgba(21,20,64,.10);
  --radius:22px;
  --radius-sm:14px;
  --focus:0 0 0 3px rgba(209,75,43,.34);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(209,75,43,.25), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(234,220,199,.12), transparent 24%),
    linear-gradient(135deg,#111033 0%, var(--blue) 48%, #09091e 100%);
  color:var(--bone);
}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
:focus-visible{outline:0;box-shadow:var(--focus)}
.app{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;overflow:auto;
  padding:22px 18px;
  background:rgba(12,12,38,.82);
  border-right:1px solid var(--line);
  backdrop-filter:blur(18px);
  box-shadow:18px 0 70px rgba(0,0,0,.18);
}
.brand{display:flex;gap:13px;align-items:center;padding:4px 5px 19px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.mark{width:48px;height:56px;display:grid;place-items:center;flex:0 0 auto;color:var(--terracotta)}
.mark svg{width:42px;height:auto;display:block}
.brand h1{margin:0;font-size:1.08rem;letter-spacing:-.03em;line-height:1.05}
.brand p{margin:.28rem 0 0;color:rgba(234,220,199,.68);font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}
.nav-group-label{margin:18px 10px 7px;color:rgba(234,220,199,.46);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.nav{display:grid;gap:6px}
.nav button{
  width:100%;border:1px solid transparent;background:transparent;color:rgba(234,220,199,.76);
  text-align:left;border-radius:16px;padding:10px 11px;display:flex;justify-content:space-between;gap:12px;align-items:center;
}
.nav button:hover{background:rgba(234,220,199,.08);color:var(--bone)}
.nav button.active{background:var(--bone);color:var(--blue);box-shadow:0 12px 26px rgba(0,0,0,.19)}
.nav .count{font-size:.73rem;min-width:24px;text-align:center;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.10);color:inherit;font-weight:800}
.sidebar-card{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(234,220,199,.06);color:rgba(234,220,199,.78);font-size:.82rem;line-height:1.45}
.sidebar-card strong{color:var(--bone)}
.sidebar-tools{margin-top:auto;padding-top:16px;display:grid;gap:8px}
.sidebar-tools .btn{width:100%;justify-content:center;background:rgba(234,220,199,.10);border-color:rgba(234,220,199,.18);color:var(--bone)}
.sidebar-refresh-status{font-size:.74rem;color:rgba(234,220,199,.58);text-align:center;min-height:1em}
.bulk-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.025);border:1px solid rgba(234,220,199,.12);border-radius:20px;padding:12px;margin-top:12px}
.bulk-toolbar .bulk-count{font-size:.82rem;color:rgba(234,220,199,.72);font-weight:800;margin-right:auto}
.bulk-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bulk-select{position:absolute;top:14px;left:14px;z-index:2;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(234,220,199,.08);border:1px solid rgba(234,220,199,.24);box-shadow:0 8px 20px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.bulk-select:hover{background:rgba(234,220,199,.13);border-color:rgba(234,220,199,.34)}
.bulk-select input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:999px;border:1.5px solid rgba(234,220,199,.72);background:transparent;margin:0;display:grid;place-items:center;cursor:pointer}
.bulk-select input:checked{background:var(--terracotta);border-color:var(--terracotta);box-shadow:inset 0 0 0 4px rgba(13,14,40,.86)}
.bulk-select input:checked::after{content:"";width:4px;height:4px;border-radius:999px;background:var(--bone);display:block}
.record-card.bulk-enabled{position:relative;padding-top:48px}
.record-main{background:transparent;border:0;color:inherit;text-align:left;padding:0;width:100%;cursor:pointer}
.record-card .quick-actions{margin-top:14px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.record-card .quick-actions .btn{font-size:.76rem;padding:7px 10px}
.record-card .quick-actions .btn.open-details{margin-left:auto}

.main{min-width:0;padding:26px}
.topbar{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
  background:rgba(234,220,199,.96);color:var(--ink);border:1px solid rgba(234,220,199,.55);
  border-radius:28px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow);
}
.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:900;margin-bottom:6px}
h2{font-family:Georgia, "Times New Roman", serif;font-size:clamp(2rem,4vw,4.3rem);line-height:.9;letter-spacing:-.075em;margin:0;color:var(--blue)}
.subtitle{margin:10px 0 0;color:rgba(20,19,45,.70);max-width:820px;line-height:1.45}
.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:1px solid rgba(21,20,64,.18);background:var(--paper);color:var(--ink);border-radius:999px;padding:9px 13px;font-weight:800;font-size:.88rem}
.btn.primary{background:var(--terracotta);border-color:var(--terracotta);color:white}
.btn.dark{background:var(--blue);border-color:var(--blue);color:var(--bone)}
.btn.ghost{background:transparent;color:inherit}
.btn:hover{transform:translateY(-1px)}
.status-strip{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:14px;margin-bottom:18px}
.hero-card,.metric-card,.panel{
  background:rgba(234,220,199,.96);color:var(--ink);border:1px solid rgba(234,220,199,.58);border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.hero-card{position:relative;overflow:hidden;padding:22px;min-height:168px;background:
  linear-gradient(135deg,rgba(21,20,64,.98),rgba(32,31,99,.91)),
  radial-gradient(circle at 80% 18%,rgba(209,75,43,.34),transparent 32%);color:var(--bone)}
.hero-card:after{content:"";position:absolute;right:-30px;bottom:-74px;width:250px;height:250px;background:var(--bone);opacity:.06;border-radius:42% 58% 52% 48%}
.hero-card h3{font-family:Georgia,serif;font-size:1.55rem;letter-spacing:-.04em;margin:0 0 8px}
.hero-card p{position:relative;z-index:1;color:rgba(234,220,199,.76);line-height:1.5;margin:0;max-width:650px}
.metric-card{padding:18px;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card .label{font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(20,19,45,.58);font-weight:900}
.metric-card .number{font-size:2.3rem;line-height:1;letter-spacing:-.06em;font-weight:950;color:var(--blue)}
.metric-card .detail{font-size:.82rem;color:rgba(20,19,45,.62)}
.grid{display:grid;gap:16px}
.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}
.panel{padding:18px;margin-bottom:16px}
.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.panel h3{margin:0;font-size:1.04rem;letter-spacing:-.01em;color:var(--blue)}
.panel p{margin:.35rem 0 0;color:rgba(20,19,45,.63);line-height:1.42;font-size:.91rem}
.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:13px}
.toolbar input,.toolbar select{border:1px solid var(--line-dark);background:white;color:var(--ink);border-radius:999px;min-height:40px;padding:0 13px}
.toolbar input{min-width:260px;flex:1}
.table-wrap{overflow:auto;border:1px solid var(--line-dark);border-radius:16px;background:white}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px}th,td{padding:12px 13px;border-bottom:1px solid rgba(21,20,64,.09);text-align:left;vertical-align:top;font-size:.9rem}th{position:sticky;top:0;background:#f3e7d7;color:rgba(20,19,45,.72);font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;z-index:1}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fff8ed}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.73rem;font-weight:900;background:#eee3d2;color:var(--ink);margin:1px 2px 1px 0;white-space:nowrap}.pill.good{background:#dfeadb;color:#2d5b3f}.pill.warn{background:#fae4c7;color:#7a4a12}.pill.bad{background:#f1d6d0;color:#8c2a20}.pill.info{background:#dce3ef;color:#263f63}.pill.orange{background:#f3d3c3;color:#93351d}
.empty{padding:34px 24px;text-align:center;color:rgba(20,19,45,.62);background:linear-gradient(135deg,#fff9ef,#f7ecdc)}
.empty strong{display:block;color:var(--blue);font-size:1rem;margin-bottom:5px}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.module-card{padding:16px;border-radius:20px;background:rgba(255,249,239,.84);border:1px solid var(--line-dark)}.module-card strong{display:block;color:var(--blue);margin-bottom:6px}.module-card span{color:rgba(20,19,45,.62);font-size:.86rem;line-height:1.35}.module-card .mini{margin-top:13px;font-size:1.7rem;line-height:1;font-weight:950;color:var(--terracotta)}
.notice{padding:12px 14px;border-radius:16px;background:#fff2df;border:1px solid rgba(185,130,54,.28);color:#6f4a19;line-height:1.4;margin-bottom:14px}.notice.bad{background:#f8dfdc;color:#7e281d}.notice.good{background:#e5efdf;color:#2e573d}.notice.dark{background:rgba(21,20,64,.92);color:var(--bone);border-color:rgba(234,220,199,.20)}
.view{display:none}.view.active{display:block}.loading{display:grid;place-items:center;min-height:55vh;color:var(--bone);text-align:center}.loader{width:56px;height:56px;border-radius:50%;border:3px solid rgba(234,220,199,.25);border-top-color:var(--terracotta);animation:spin .9s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}
.drawer{position:fixed;inset:0;display:none;z-index:30}.drawer.open{display:block}.drawer-bg{position:absolute;inset:0;background:rgba(6,6,18,.58);backdrop-filter:blur(3px)}.drawer-panel{position:absolute;right:18px;top:18px;bottom:18px;width:min(680px,calc(100vw - 36px));overflow:auto;background:var(--bone-2);color:var(--ink);border-radius:26px;border:1px solid rgba(234,220,199,.65);box-shadow:0 30px 90px rgba(0,0,0,.35)}.drawer-header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 20px;background:rgba(247,239,227,.96);border-bottom:1px solid var(--line-dark)}.drawer-header h3{margin:0;color:var(--blue);font-family:Georgia,serif;font-size:1.5rem;letter-spacing:-.04em}.drawer-body{padding:18px 20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-item{border:1px solid var(--line-dark);border-radius:14px;padding:10px;background:white}.detail-item .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(20,19,45,.48);font-weight:900}.detail-item .v{margin-top:4px;word-break:break-word}.detail-item.full{grid-column:1/-1}
@media(max-width:1120px){.status-strip{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:16px}.topbar{display:block}.actions{justify-content:flex-start;margin-top:14px}.two,.three,.status-strip{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.toolbar input{min-width:100%}.detail-grid{grid-template-columns:1fr}}

/* Mockup-inspired home dashboard */
body.dashboard-mode .main{padding:22px 22px 20px;background:radial-gradient(circle at 50% 0%,rgba(234,220,199,.08),transparent 28%)}
.dashboard{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(320px,.95fr);gap:16px;color:var(--bone)}
.dashboard *{box-sizing:border-box}
.dash-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(22,24,55,.86),rgba(12,13,34,.92));border:1px solid rgba(234,220,199,.20);border-radius:20px;box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);color:var(--bone)}
.dash-card-inner{padding:20px}.dash-bottom .dash-card,.dashboard aside .dash-card{min-height:0}.dash-bottom .dash-list,.dashboard aside .dash-list{max-height:280px;overflow:hidden}.dash-bottom .dash-row,.dashboard aside .dash-row{min-height:62px}
.dash-card h3{margin:0;color:var(--bone);font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.dash-card .view-link{color:var(--terracotta-2);font-size:.78rem;font-weight:800;background:transparent;border:0;padding:0}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dash-hero{min-height:272px;padding:0;background:linear-gradient(110deg,rgba(24,26,74,.98),rgba(19,20,55,.84)),radial-gradient(circle at 72% 45%,rgba(234,220,199,.10),transparent 38%);border-color:rgba(234,220,199,.40)}
.dash-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(67,95,124,.32),transparent 22%),radial-gradient(circle at 58% 14%,rgba(209,75,43,.15),transparent 22%),linear-gradient(90deg,rgba(4,5,20,.16),transparent);mix-blend-mode:screen;opacity:.75}.dash-hero:after{display:none}.dash-hero-content{position:relative;z-index:1;padding:56px 64px 36px}.dash-hero .kicker{letter-spacing:.26em;text-transform:uppercase;font-size:.72rem;color:rgba(234,220,199,.72);margin-bottom:14px}.dash-hero h2{font-family:Georgia,"Times New Roman",serif;color:var(--bone);font-size:clamp(2.6rem,5.3vw,5.1rem);line-height:.92;letter-spacing:-.085em;margin:0;max-width:850px}.dash-event-line{display:flex;gap:14px;align-items:center;margin-top:24px;color:rgba(234,220,199,.88);font-weight:650}.dash-event-line:before{content:"";width:34px;height:1px;background:var(--bone)}.dash-hero p{max-width:470px;margin:24px 0 0;color:rgba(234,220,199,.78);line-height:1.45;font-size:.98rem}.dash-primary{display:grid;grid-template-columns:1fr;gap:16px}.dash-main-stack{display:grid;gap:16px}.snapshot-shell{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:stretch}.snapshot-feature{border:1px solid rgba(234,220,199,.10);border-radius:24px;padding:18px 18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));display:grid;gap:12px;align-content:start}.snapshot-feature .snap-label{text-align:left;margin-bottom:0}.snapshot-feature .snap-detail{text-align:left;line-height:1.45}.snapshot-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-stat{border:1px solid rgba(234,220,199,.10);border-radius:18px;padding:16px 16px 14px;background:rgba(255,255,255,.02);min-width:0}.mini-stat .snap-label{margin-bottom:12px;text-align:left}.stat-value{font-family:Georgia,serif;font-size:1.9rem;letter-spacing:-.06em;color:var(--bone);line-height:1.02}.stat-sub{font-size:.84rem;color:rgba(234,220,199,.68);margin-top:8px;line-height:1.35}.snapshot-alert{grid-column:1/-1;border-top:1px solid rgba(234,220,199,.10);padding-top:12px;margin-top:4px;font-size:.86rem;color:rgba(234,220,199,.78)}.snapshot-alert strong{color:var(--bone)}.snap{text-align:center;min-width:0}.snap-label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:rgba(234,220,199,.72);margin-bottom:10px;white-space:nowrap}.snap-number{font-family:Georgia,serif;font-size:2.25rem;letter-spacing:-.06em;color:var(--bone);line-height:1}.snap-detail{font-size:.8rem;color:rgba(234,220,199,.68);margin-top:8px}.ring{--p:0;--ring:#f1cda8;width:108px;height:108px;margin:0;border-radius:999px;background:conic-gradient(var(--ring) calc(var(--p)*1%),rgba(234,220,199,.13) 0);display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;inset:8px;border-radius:999px;background:#11183c;box-shadow:inset 0 0 0 1px rgba(234,220,199,.12)}.ring span{position:relative;z-index:1;font-family:Georgia,serif;font-size:1.75rem;color:var(--bone)}.dash-two{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.dash-bottom{display:grid;grid-template-columns:1.13fr .98fr 1.02fr .98fr;gap:16px}.dash-list{display:grid;gap:0}.dash-row{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:12px 0;border-top:1px solid rgba(234,220,199,.10)}.dash-row:first-child{border-top:0}.dash-icon{width:38px;height:38px;border-radius:13px;background:rgba(234,220,199,.08);display:grid;place-items:center;color:var(--bone);font-size:1.05rem;border:1px solid rgba(234,220,199,.08)}.dash-icon.orange{background:rgba(209,75,43,.16);color:var(--terracotta-2)}.dash-icon.green{background:rgba(111,128,99,.18);color:#8fb784}.dash-icon.ochre{background:rgba(185,130,54,.18);color:#d3a35d}.dash-icon.blue{background:rgba(92,115,178,.16);color:#9aa9e2}.dash-title{font-size:.94rem;color:rgba(255,249,239,.95);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dash-sub{font-size:.77rem;color:rgba(234,220,199,.55);margin-top:3px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.dash-meta{font-size:.82rem;color:rgba(255,249,239,.86);text-align:right;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-chevron{color:rgba(234,220,199,.76);font-size:1.25rem}.timeline-list{position:relative}.timeline-list:before{content:"";position:absolute;left:73px;top:8px;bottom:8px;width:1px;background:rgba(234,220,199,.12)}.timeline-row{display:grid;grid-template-columns:64px 24px 1fr;gap:8px;align-items:start;padding:13px 0;border-top:1px solid rgba(234,220,199,.10);position:relative}.timeline-row:first-child{border-top:0}.timeline-date{text-transform:uppercase;font-size:.78rem;color:rgba(234,220,199,.74)}.timeline-dot{width:6px;height:6px;border-radius:99px;background:rgba(234,220,199,.65);margin:6px auto 0;position:relative;z-index:1}.timeline-dot.hot{background:var(--terracotta-2)}.timeline-dot.good{background:#70a571}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:800;background:rgba(234,220,199,.10);color:rgba(234,220,199,.86);white-space:nowrap}.status-chip.good{background:rgba(111,128,99,.20);color:#a9cf9e}.status-chip.warn{background:rgba(185,130,54,.22);color:#f1bc66}.status-chip.bad{background:rgba(209,75,43,.22);color:#ff8a67}.mini-empty{padding:22px 0;color:rgba(234,220,199,.60);font-size:.9rem;line-height:1.4}.task-mark{width:18px;height:18px;border-radius:99px;border:1px solid rgba(234,220,199,.62);display:grid;place-items:center;color:#8fc58d;font-size:.75rem}.task-mark.done{border-color:#79a978;background:rgba(111,128,99,.18)}.sidebar .mark{background:transparent;color:var(--terracotta);border-radius:0;width:52px;height:60px;padding:0}.sidebar .mark svg{width:42px}.sidebar .mark path{fill:var(--terracotta)!important}.dashboard .dash-card button:not(.view-link){background:transparent;color:inherit;border:0;text-align:inherit;width:100%;padding:0}.dashboard .dash-card button:hover .dash-title{text-decoration:underline;text-decoration-color:rgba(209,75,43,.7)}
@media(max-width:1280px){.dashboard{grid-template-columns:1fr}.dash-bottom{grid-template-columns:1fr 1fr}.dash-two{grid-template-columns:1fr 1fr}.dash-hero-content{padding:46px 42px 32px}.snapshot-shell{grid-template-columns:1fr}.snapshot-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){body.dashboard-mode .main{padding:14px}.dash-two,.dash-bottom{grid-template-columns:1fr}.snapshot-shell,.snapshot-stats{grid-template-columns:1fr}.dash-hero-content{padding:34px 26px}.dash-hero h2{font-size:2.55rem}.dashboard{gap:12px}.dash-card-inner{padding:16px}.timeline-list:before{left:62px}.timeline-row{grid-template-columns:54px 18px 1fr}}


/* Module redesign pass */
.module-page{display:grid;gap:16px}
.module-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(18,24,64,.96),rgba(11,13,38,.98));border:1px solid rgba(234,220,199,.16);border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.24);padding:24px;color:var(--bone)}
.module-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(209,75,43,.16),transparent 30%),radial-gradient(circle at 85% 15%,rgba(234,220,199,.08),transparent 28%);pointer-events:none}
.module-hero > *{position:relative;z-index:1}
.module-hero-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.module-title-block{min-width:0}
.module-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.module-actions .btn{background:rgba(255,249,239,.94);border-color:rgba(234,220,199,.22);color:var(--blue)}
.module-actions .btn.dark{background:rgba(234,220,199,.10);border-color:rgba(234,220,199,.20);color:var(--bone)}
.module-actions .btn.primary{background:var(--terracotta);border-color:var(--terracotta);color:white}
.module-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:rgba(234,220,199,.62);margin-bottom:8px;font-weight:800}
.module-hero h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.4vw,3.4rem);line-height:.95;letter-spacing:-.07em;margin:0;color:var(--bone)}
.module-hero p{max-width:780px;color:rgba(234,220,199,.70);line-height:1.5;margin:12px 0 0}
.module-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.module-stat{border:1px solid rgba(234,220,199,.12);border-radius:18px;background:rgba(255,255,255,.035);padding:14px}
.module-stat-label{text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;color:rgba(234,220,199,.58);white-space:nowrap}
.module-stat-value{font-family:Georgia,serif;color:var(--bone);font-size:1.85rem;letter-spacing:-.05em;line-height:1.05;margin-top:8px}
.module-stat-sub{color:rgba(234,220,199,.60);font-size:.78rem;margin-top:5px;line-height:1.35}
.module-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.025);border:1px solid rgba(234,220,199,.12);border-radius:20px;padding:12px;margin-top:16px}
.module-toolbar input,.module-toolbar select{
  min-height:42px;
  border:1px solid rgba(234,220,199,.18);
  background:linear-gradient(180deg,rgba(234,220,199,.13),rgba(234,220,199,.07));
  color:var(--bone);
  border-radius:999px;
  padding:0 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.module-toolbar input{min-width:min(340px,100%);flex:1;padding-left:40px;background-image:linear-gradient(180deg,rgba(234,220,199,.13),rgba(234,220,199,.07)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23eadcc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.62'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 0,14px center;background-size:auto,16px 16px}
.module-toolbar input::placeholder{color:rgba(234,220,199,.52)}
.module-toolbar input:focus,.module-toolbar select:focus{border-color:rgba(240,107,62,.58);background:linear-gradient(180deg,rgba(234,220,199,.17),rgba(234,220,199,.09));box-shadow:var(--focus)}
.module-toolbar select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(180deg,rgba(234,220,199,.13),rgba(234,220,199,.07)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23eadcc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.72'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 0,calc(100% - 14px) center;background-size:auto,16px 16px}
.module-toolbar select option{background:#151440;color:#eadcc7}
.module-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.record-card{border:1px solid rgba(234,220,199,.12);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border-radius:22px;padding:17px;min-width:0;color:var(--bone);box-shadow:0 16px 38px rgba(0,0,0,.14)}
.record-card button{background:transparent;border:0;color:inherit;text-align:left;padding:0;width:100%;cursor:pointer}
.record-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.record-title{font-size:1.02rem;font-weight:850;color:rgba(255,249,239,.96);line-height:1.22}
.record-sub{font-size:.78rem;color:rgba(234,220,199,.55);line-height:1.35;margin-top:3px}
.record-lines{display:grid;gap:8px;margin-top:12px}
.record-line{display:flex;justify-content:space-between;gap:14px;border-top:1px solid rgba(234,220,199,.08);padding-top:8px;font-size:.83rem;color:rgba(234,220,199,.78)}
.record-line span:first-child{color:rgba(234,220,199,.50)}
.record-line span:last-child{text-align:right;color:rgba(255,249,239,.88)}
.record-note{margin-top:12px;border-top:1px solid rgba(234,220,199,.08);padding-top:10px;color:rgba(234,220,199,.62);font-size:.82rem;line-height:1.4}
.record-actions{margin-top:14px;display:flex;justify-content:flex-end}
.open-chip{color:var(--terracotta-2);font-size:.78rem;font-weight:850}
.card-table-wrap{background:rgba(255,255,255,.03);border:1px solid rgba(234,220,199,.12);border-radius:22px;overflow:auto}
.card-table-wrap table{background:transparent}
.card-table-wrap th{background:rgba(234,220,199,.08);color:rgba(234,220,199,.72)}
.card-table-wrap td{border-bottom:1px solid rgba(234,220,199,.08);color:rgba(234,220,199,.82)}
@media(max-width:1280px){.module-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.module-record-grid,.module-summary-grid{grid-template-columns:1fr}.module-hero{padding:20px}.module-hero-head{display:block}.module-actions{justify-content:flex-start;margin-top:16px}.module-toolbar input{min-width:100%}}


/* Write-back controls */
.write-status{margin-top:12px;padding:11px 13px;border-radius:16px;border:1px solid rgba(234,220,199,.14);background:rgba(255,255,255,.025);color:rgba(234,220,199,.78);font-size:.86rem;line-height:1.4}
.write-status.good{border-color:rgba(111,128,99,.32);background:rgba(111,128,99,.13);color:#c6dfbd}
.write-status.bad{border-color:rgba(209,75,43,.38);background:rgba(209,75,43,.13);color:#ffb49b}
.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.edit-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.edit-field{display:grid;gap:6px}
.edit-field.full{grid-column:1/-1}
.edit-field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(20,19,45,.58);font-weight:900}
.edit-field input,.edit-field select,.edit-field textarea{width:100%;border:1px solid rgba(21,20,64,.14);background:white;color:var(--ink);border-radius:14px;padding:10px 11px;font:inherit}
.edit-field textarea{min-height:86px;resize:vertical}
.edit-field.checkbox-field{display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(21,20,64,.12);background:rgba(255,255,255,.78);border-radius:16px;padding:12px 13px}
.checkbox-field input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:1px 0 0;border-radius:7px;border:1px solid rgba(21,20,64,.28);background:#fff;cursor:pointer;position:relative;line-height:1;display:block;padding:0}
.checkbox-field input[type="checkbox"]:checked{background:var(--terracotta);border-color:var(--terracotta)}
.checkbox-field input[type="checkbox"]:checked::after{content:"";position:absolute;left:50%;top:47%;width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%,-50%) rotate(-45deg);transform-origin:center;display:block;box-sizing:border-box}
.checkbox-copy{display:grid;gap:3px;line-height:1.28}
.checkbox-copy label{margin:0;cursor:pointer}
.checkbox-helper{font-size:.75rem;color:rgba(20,19,45,.56)}
.edit-field .hint{font-size:.76rem;color:rgba(20,19,45,.50);line-height:1.35}
.form-section-title{grid-column:1/-1;margin:10px 0 0;padding-top:12px;border-top:1px solid rgba(21,20,64,.10);font-weight:900;color:var(--blue);letter-spacing:.02em}
.drawer-footer{position:sticky;bottom:0;margin:18px -20px -18px;padding:14px 20px;background:rgba(247,239,227,.96);border-top:1px solid var(--line-dark);display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.danger-zone{color:#9e3431}

.import-panel,.wizard-panel{display:grid;gap:14px}.import-drop{border:1px dashed rgba(234,220,199,.35);border-radius:22px;padding:18px;background:rgba(234,220,199,.07);color:var(--bone)}.import-drop textarea{width:100%;min-height:150px;margin-top:10px;border-radius:16px;border:1px solid rgba(234,220,199,.22);background:rgba(4,5,20,.28);color:var(--bone);padding:12px;font:inherit}.import-preview{overflow:auto;border:1px solid rgba(234,220,199,.18);border-radius:18px;background:rgba(255,255,255,.03)}.import-preview table{min-width:700px}.import-preview th{background:rgba(234,220,199,.13);color:var(--bone)}.import-preview td{color:var(--bone);border-color:rgba(234,220,199,.10)}.import-actions{display:flex;gap:10px;flex-wrap:wrap}.guest-editor{display:grid;gap:10px}.guest-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;border:1px solid var(--line-dark);border-radius:16px;padding:10px;background:white}.guest-row input,.guest-row select{width:100%;border:1px solid var(--line-dark);border-radius:12px;padding:9px;background:white;color:var(--ink)}.guest-row label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(20,19,45,.56);font-weight:900}.wizard-panel .edit-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wizard-section{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:12px;margin-top:4px}.wizard-section h4{margin:0 0 8px;color:var(--blue)}@media(max-width:760px){.guest-row,.wizard-panel .edit-form{grid-template-columns:1fr}}

.upload-panel{display:grid;gap:14px}.file-drop{border:1px dashed rgba(21,20,64,.22);border-radius:18px;padding:16px;background:rgba(21,20,64,.04)}.file-drop input[type=file]{width:100%;border:1px solid rgba(21,20,64,.14);background:white;color:var(--ink);border-radius:14px;padding:10px}.upload-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-target-note{grid-column:1/-1;padding:11px 13px;border-radius:14px;background:rgba(21,20,64,.06);color:rgba(21,20,64,.68);font-size:.84rem;line-height:1.4}.module-actions .btn.upload{border-color:rgba(209,75,43,.35);background:rgba(209,75,43,.14);color:var(--bone)}@media(max-width:760px){.upload-meta{grid-template-columns:1fr}}
@media(max-width:760px){.edit-form{grid-template-columns:1fr}.drawer-footer{align-items:stretch}.drawer-footer .drawer-actions{width:100%;justify-content:flex-start}}



/* v10.6.18 stabilization: drawer/control polish */
.drawer-panel{scrollbar-gutter:stable;outline:0}
.drawer-footer.full,#writeStatus.full{grid-column:1/-1}
.edit-form > .drawer-footer{grid-column:1/-1}
.edit-form > .write-status{grid-column:1/-1}
.single-relation-current{margin-top:3px;font-size:.76rem;color:rgba(20,19,45,.52);font-weight:750}
.relationship-picker-head strong,.single-relation-head strong{display:block}
.relationship-picker input[type="search"],.single-relation-picker input[type="search"]{min-width:180px}
.upload-file-card input[type=file]::file-selector-button{border:1px solid rgba(21,20,64,.14);background:var(--paper);border-radius:999px;padding:8px 11px;margin-right:10px;font-weight:850;color:var(--blue)}
.pending-write-label{display:inline-flex;margin-left:8px;border-radius:999px;background:rgba(185,130,54,.22);color:#f1bc66;font-size:.68rem;padding:2px 7px;vertical-align:middle}
@media(max-width:760px){.drawer-panel{right:8px;left:8px;top:8px;bottom:8px;width:auto;border-radius:20px}.drawer-header{padding:14px 15px}.drawer-body{padding:15px}.drawer-footer{margin-left:-15px;margin-right:-15px;margin-bottom:-15px}.relationship-picker-list,.single-relation-list{max-height:210px}}

.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 12%,rgba(209,75,43,.22),transparent 28%),linear-gradient(135deg,#111033 0%,var(--blue) 52%,#09091e 100%)}
.auth-screen.hidden{display:none}.app.hidden{display:none}.auth-card{width:min(520px,100%);border:1px solid rgba(234,220,199,.22);border-radius:30px;background:rgba(12,12,38,.72);box-shadow:0 30px 90px rgba(0,0,0,.32);padding:28px;color:var(--bone);backdrop-filter:blur(18px)}.auth-card .mark{width:54px;height:64px;margin-bottom:18px}.auth-card h2{color:var(--bone);font-size:3rem;margin:0 0 8px}.auth-card p{color:rgba(234,220,199,.72);line-height:1.45;margin:0 0 20px}.auth-form{display:grid;gap:12px}.auth-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:rgba(234,220,199,.72)}.auth-form input{width:100%;min-height:46px;border-radius:16px;border:1px solid rgba(234,220,199,.22);background:rgba(4,5,20,.34);color:var(--bone);padding:0 14px}.auth-error{display:none;border:1px solid rgba(209,75,43,.45);background:rgba(209,75,43,.16);color:#ffd9cc;border-radius:16px;padding:12px;line-height:1.35}.auth-error.show{display:block}.auth-panel.hidden{display:none}.auth-help{margin-top:12px!important;font-size:.88rem;color:rgba(234,220,199,.62)!important}.auth-help strong{color:var(--bone)}.user-card{display:flex;gap:10px;align-items:center;justify-content:space-between}.user-card .who{min-width:0}.user-card .name{color:var(--bone);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card .role{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(234,220,199,.56);margin-top:2px}.btn.small{padding:7px 10px;font-size:.78rem}
.auth-card .auth-mark{color:var(--terracotta);background:transparent;border-radius:0;padding:0;display:block}
.auth-card .auth-mark svg{width:54px;height:auto;display:block;overflow:visible}
.auth-card .auth-mark path{fill:currentColor!important;fill-rule:nonzero;clip-rule:nonzero}

.app-toast{position:fixed;right:22px;bottom:22px;z-index:80;min-width:260px;max-width:min(420px,calc(100vw - 44px));border:1px solid rgba(234,220,199,.26);border-radius:18px;background:rgba(12,12,38,.94);color:var(--bone);box-shadow:0 18px 54px rgba(0,0,0,.30);padding:13px 15px;line-height:1.35;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.app-toast.show{opacity:1;transform:translateY(0)}.app-toast.good{border-color:rgba(111,128,99,.45);background:rgba(37,55,42,.96)}.app-toast.bad{border-color:rgba(209,75,43,.55);background:rgba(76,28,25,.96)}
.operation-overlay{position:fixed;inset:0;z-index:90;display:none;place-items:center;background:rgba(5,5,18,.58);backdrop-filter:blur(5px);padding:22px}.operation-overlay.show{display:grid}.operation-card{width:min(460px,calc(100vw - 44px));border:1px solid rgba(234,220,199,.25);border-radius:28px;background:linear-gradient(145deg,rgba(16,17,55,.98),rgba(9,9,31,.96));box-shadow:0 32px 100px rgba(0,0,0,.38);color:var(--bone);padding:26px;text-align:center}.operation-spinner{width:54px;height:54px;border-radius:999px;border:3px solid rgba(234,220,199,.20);border-top-color:var(--terracotta);animation:spin .85s linear infinite;margin:0 auto 15px}.operation-icon{width:54px;height:54px;border-radius:999px;display:none;place-items:center;margin:0 auto 15px;font-size:1.45rem;font-weight:950}.operation-overlay.success .operation-spinner,.operation-overlay.error .operation-spinner{display:none}.operation-overlay.success .operation-icon,.operation-overlay.error .operation-icon{display:grid}.operation-overlay.success .operation-icon{background:rgba(111,128,99,.22);border:1px solid rgba(111,128,99,.48);color:#c9e6bd}.operation-overlay.error .operation-icon{background:rgba(209,75,43,.22);border:1px solid rgba(209,75,43,.52);color:#ffd0bf}.operation-card h3{margin:0 0 7px;font-family:Georgia,serif;font-size:1.55rem;letter-spacing:-.04em;color:var(--bone)}.operation-card p{margin:0;color:rgba(234,220,199,.72);line-height:1.45}.bridge-status-pill{font-size:.74rem;text-align:center;color:rgba(234,220,199,.58);min-height:1em}
.write-queue{position:fixed;right:22px;bottom:86px;z-index:79;width:min(360px,calc(100vw - 44px));display:grid;gap:8px;pointer-events:none}.write-queue:empty{display:none}.write-queue-item{border:1px solid rgba(234,220,199,.22);border-radius:18px;background:rgba(12,12,38,.94);color:var(--bone);box-shadow:0 16px 44px rgba(0,0,0,.26);padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;pointer-events:auto}.write-queue-dot{width:18px;height:18px;border-radius:999px;border:2px solid rgba(234,220,199,.28);border-top-color:var(--terracotta);animation:spin .85s linear infinite;margin-top:2px}.write-queue-item.success .write-queue-dot,.write-queue-item.error .write-queue-dot{animation:none;border:0;display:grid;place-items:center;font-weight:950;font-size:.78rem}.write-queue-item.success .write-queue-dot{background:rgba(111,128,99,.28);color:#c9e6bd}.write-queue-item.error .write-queue-dot{background:rgba(209,75,43,.25);color:#ffd0bf}.write-queue-title{font-weight:900;font-size:.86rem;line-height:1.25}.write-queue-message{font-size:.78rem;color:rgba(234,220,199,.66);line-height:1.35;margin-top:2px}.write-queue-item.success{border-color:rgba(111,128,99,.42)}.write-queue-item.error{border-color:rgba(209,75,43,.52)}.pending-write{outline:2px solid rgba(240,107,62,.42);outline-offset:2px}.pending-write-label{display:inline-flex;border-radius:999px;padding:3px 8px;background:rgba(209,75,43,.18);color:#ffd0bf;font-size:.72rem;font-weight:900;margin-left:6px}
.budget-link-note{font-size:.78rem;color:rgba(20,19,45,.62);margin-top:4px;line-height:1.35}

.relationship-panel{grid-column:1/-1;border:1px solid rgba(21,20,64,.10);border-radius:18px;background:rgba(21,20,64,.035);padding:14px;margin-top:12px}.relationship-panel h4{margin:0 0 10px;color:var(--blue);font-family:Georgia,serif;font-size:1.15rem;letter-spacing:-.03em}.relationship-list{display:grid;gap:8px}.relationship-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(21,20,64,.08);background:rgba(255,255,255,.72);border-radius:14px;padding:10px 12px}.relationship-title{font-weight:900;color:var(--ink);line-height:1.25}.relationship-meta{font-size:.8rem;color:rgba(20,19,45,.62);margin-top:3px}.relationship-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.relationship-empty{color:rgba(20,19,45,.58);font-size:.9rem}.money-rollup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.money-rollup div{border:1px solid rgba(21,20,64,.08);border-radius:14px;background:rgba(255,255,255,.68);padding:10px}.money-rollup span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(20,19,45,.54);font-weight:900}.money-rollup strong{display:block;margin-top:4px;color:var(--blue);font-size:1rem}

.settings-profile-panel{border:1px solid rgba(234,220,199,.16);border-radius:22px;background:rgba(255,255,255,.025);padding:16px;display:grid;gap:12px}
.settings-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;color:var(--bone)}
.settings-section-head h4{margin:0;color:var(--bone);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;letter-spacing:-.04em}
.settings-section-head p{margin:.35rem 0 0;color:rgba(234,220,199,.66);line-height:1.38;font-size:.9rem;max-width:820px}
.setting-row.readonly{opacity:.92}
.system-info-panel{border-color:rgba(234,220,199,.12)}
.settings-list{display:grid;gap:10px}
.setting-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.4fr) auto;gap:10px;align-items:center;border:1px solid rgba(234,220,199,.12);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border-radius:18px;padding:12px;color:var(--bone)}
.setting-key{font-weight:900;color:rgba(255,249,239,.95);line-height:1.2;word-break:break-word}
.setting-input{width:100%;min-height:40px;border-radius:13px;border:1px solid rgba(234,220,199,.18);background:rgba(4,5,20,.28);color:var(--bone);padding:8px 11px;font:inherit}
select.setting-input{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:linear-gradient(180deg,rgba(234,220,199,.08),rgba(234,220,199,.04)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23eadcc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.75'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 0,calc(100% - 12px) center;background-size:auto,16px 16px}
select.setting-input option{background:#151440;color:#eadcc7}
.setting-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(234,220,199,.48);font-weight:900;margin-top:3px}
.setting-input:focus{border-color:rgba(240,107,62,.58);box-shadow:var(--focus);outline:0}
.setting-row .btn{justify-self:end;background:rgba(255,249,239,.94);color:var(--blue)}
.dash-bottom.single{grid-template-columns:1fr}
@media(max-width:760px){.setting-row{grid-template-columns:1fr}.setting-row .btn{justify-self:start}}
.settings-advanced{border:1px solid rgba(234,220,199,.16);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden}
.settings-advanced summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px;color:var(--bone);font-weight:950}
.settings-advanced summary::-webkit-details-marker{display:none}
.settings-advanced summary:after{content:"▾";color:rgba(234,220,199,.62);font-size:1rem}
.settings-advanced[open] summary:after{content:"▴"}
.settings-advanced-body{display:grid;gap:12px;padding:0 14px 14px}
.settings-advanced-note{border:1px solid rgba(185,130,54,.28);background:rgba(185,130,54,.12);color:rgba(234,220,199,.82);border-radius:16px;padding:11px 13px;font-size:.84rem;line-height:1.38}
.setting-locked-value{min-width:0;border:1px solid rgba(234,220,199,.14);background:rgba(234,220,199,.06);color:rgba(234,220,199,.62);border-radius:14px;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setting-advanced-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.setting-row.protected{border-color:rgba(185,130,54,.22);background:rgba(185,130,54,.055)}
@media(max-width:760px){.setting-advanced-actions{justify-content:flex-start}}


/* Streamlined drawer detail system */
.drawer-panel{background:linear-gradient(180deg,#fbf2e4,#f4e8d6)}
.drawer-body{padding:0 20px 18px}
.detail-overview{display:grid;gap:16px;padding-top:18px}
.detail-hero-view{border:1px solid rgba(21,20,64,.12);border-radius:24px;background:linear-gradient(135deg,rgba(21,20,64,.97),rgba(32,31,99,.90));color:var(--bone);padding:20px;box-shadow:0 18px 46px rgba(21,20,64,.18);overflow:hidden;position:relative}
.detail-hero-view:after{content:"";position:absolute;right:-50px;bottom:-70px;width:210px;height:210px;border-radius:42% 58% 52% 48%;background:rgba(234,220,199,.08)}
.detail-hero-view > *{position:relative;z-index:1}
.detail-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(234,220,199,.62);font-weight:900;margin-bottom:8px}
.detail-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3.3vw,2.45rem);line-height:.96;letter-spacing:-.06em;color:var(--bone);margin:0}
.detail-subtitle{margin-top:9px;color:rgba(234,220,199,.72);font-size:.93rem;line-height:1.42;max-width:560px}
.detail-chip-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.detail-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(234,220,199,.18);background:rgba(234,220,199,.10);color:rgba(255,249,239,.92);font-size:.75rem;font-weight:850;padding:5px 9px;line-height:1}
.detail-chip.good{background:rgba(111,128,99,.24);border-color:rgba(111,128,99,.38);color:#d5eccb}.detail-chip.warn{background:rgba(185,130,54,.24);border-color:rgba(185,130,54,.38);color:#f2c27a}.detail-chip.bad{background:rgba(209,75,43,.22);border-color:rgba(209,75,43,.38);color:#ffb69d}.detail-chip.info{background:rgba(92,115,178,.20);border-color:rgba(92,115,178,.34);color:#c7d1ff}
.detail-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.detail-action-row .btn{background:rgba(255,249,239,.94);color:var(--blue);border-color:rgba(234,220,199,.32)}
.detail-action-row .btn.primary{background:var(--terracotta);color:white;border-color:var(--terracotta)}
.detail-money-row,.detail-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.detail-money-card,.detail-metric-card{border:1px solid rgba(21,20,64,.10);background:rgba(255,255,255,.72);border-radius:18px;padding:13px;min-width:0}
.detail-money-card span,.detail-metric-card span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.10em;color:rgba(20,19,45,.50);font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-money-card strong,.detail-metric-card strong{display:block;margin-top:7px;color:var(--blue);font-size:1.12rem;line-height:1.12;word-break:break-word}
.detail-section{border:1px solid rgba(21,20,64,.10);border-radius:22px;background:rgba(255,255,255,.72);overflow:hidden}
.detail-section-head{padding:14px 16px 0}.detail-section h4{margin:0;color:var(--blue);font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}.detail-section p{margin:5px 0 0;color:rgba(20,19,45,.58);font-size:.86rem;line-height:1.36}
.detail-list{display:grid;gap:0;padding:10px 16px 14px}.detail-list.compact{grid-template-columns:1fr 1fr;gap:8px 14px}.detail-row{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:14px;padding:9px 0;border-top:1px solid rgba(21,20,64,.08);align-items:start}.detail-list .detail-row:first-child{border-top:0}.detail-label{font-size:.69rem;text-transform:uppercase;letter-spacing:.10em;color:rgba(20,19,45,.45);font-weight:950}.detail-value{font-size:.93rem;color:rgba(20,19,45,.88);line-height:1.38;word-break:break-word}.detail-muted{color:rgba(20,19,45,.46);font-style:italic}.detail-prose{padding:12px 16px 16px;color:rgba(20,19,45,.82);line-height:1.52;white-space:pre-wrap}
.detail-link-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-top:1px solid rgba(21,20,64,.08);padding:11px 0}.detail-link-card:first-child{border-top:0}.detail-link-title{font-weight:900;color:var(--ink);line-height:1.25}.detail-link-meta{font-size:.8rem;color:rgba(20,19,45,.58);margin-top:3px;line-height:1.32}.detail-link-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.detail-system summary{cursor:pointer;padding:13px 16px;font-weight:900;color:rgba(21,20,64,.72);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.detail-system[open] summary{border-bottom:1px solid rgba(21,20,64,.08)}.drawer-footer.streamlined{margin:2px 0 0;padding:14px 0 0;background:transparent;border-top:0}.helper-text{color:rgba(20,19,45,.56);font-size:.84rem;line-height:1.35}.detail-empty-note{padding:18px 16px;color:rgba(20,19,45,.56);font-size:.9rem}
@media(max-width:760px){.detail-money-row,.detail-metric-row,.detail-list.compact{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr;gap:5px}.detail-link-card{grid-template-columns:1fr}.detail-link-actions{justify-content:flex-start}}



/* v10.6.14 Design system polish */
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(234,220,199,.22) transparent}
.nav-group-label{margin-top:20px;color:rgba(234,220,199,.52)}
.nav-group-label.system{margin-top:26px;padding-top:16px;border-top:1px solid rgba(234,220,199,.12)}
.nav button{min-height:42px}
.nav button .nav-label{display:flex;align-items:center;gap:8px;min-width:0}
.nav button .nav-dot{width:7px;height:7px;border-radius:999px;background:rgba(234,220,199,.28);flex:0 0 7px}
.nav button.active .nav-dot{background:var(--terracotta)}
.dashboard{align-items:start}.dash-hero{min-height:238px}.dash-hero-content{padding:46px 56px 34px}.dash-hero p{margin-top:18px;max-width:620px;color:rgba(234,220,199,.70)}
.dashboard-focus-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.dashboard-focus-card{border:1px solid rgba(234,220,199,.10);background:rgba(255,255,255,.025);border-radius:18px;padding:14px}.dashboard-focus-card span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(234,220,199,.56);font-weight:900}.dashboard-focus-card strong{display:block;margin-top:7px;font-family:Georgia,serif;font-size:1.5rem;line-height:1;color:var(--bone);letter-spacing:-.04em}.dashboard-focus-card em{display:block;margin-top:7px;font-style:normal;font-size:.78rem;color:rgba(234,220,199,.58);line-height:1.32}
.module-hero{padding:22px}.module-kicker{color:rgba(234,220,199,.58)}.module-hero h3{font-size:clamp(1.9rem,3.1vw,3.1rem)}.module-meta-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.module-meta-pill{display:inline-flex;align-items:center;border:1px solid rgba(234,220,199,.16);background:rgba(234,220,199,.075);border-radius:999px;color:rgba(234,220,199,.76);font-size:.78rem;font-weight:850;padding:5px 10px}.module-meta-pill strong{color:var(--bone);font-weight:950}.module-description{color:rgba(234,220,199,.62);font-size:.86rem;line-height:1.4;max-width:680px;margin-top:10px}
.module-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-stat{background:rgba(255,255,255,.028);border-color:rgba(234,220,199,.10)}.module-stat-sub:empty{display:none}
.module-toolbar{margin-top:14px}.module-toolbar input,.module-toolbar select{min-height:40px}.module-toolbar .btn{min-height:40px}
.empty{border:1px solid rgba(234,220,199,.12);border-radius:22px;background:rgba(255,255,255,.035);color:rgba(234,220,199,.68);box-shadow:none}.empty strong{color:var(--bone)}.empty span{display:block;margin-top:6px;color:rgba(234,220,199,.56)}
.record-card{transition:transform .14s ease,border-color .14s ease,background .14s ease}.record-card:hover{transform:translateY(-1px);border-color:rgba(234,220,199,.22);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022))}.record-line span:first-child{min-width:max-content}.quick-actions .btn.open-details{background:rgba(234,220,199,.09);color:var(--bone);border-color:rgba(234,220,199,.16)}
.bulk-select{background:transparent;border:0;box-shadow:none}.bulk-select input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:999px;border:1.5px solid rgba(234,220,199,.54);background:rgba(13,14,40,.92);display:grid;place-items:center;position:relative}.bulk-select input:checked{background:var(--terracotta);border-color:var(--terracotta)}.bulk-select input:checked:after{content:"";position:absolute;left:50%;top:46%;width:8px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:translate(-50%,-50%) rotate(-45deg)}
.drawer-panel{width:min(720px,calc(100vw - 36px))}.drawer-header{padding:16px 20px}.drawer-header h3{font-size:1.38rem}.drawer-body{padding-bottom:20px}.detail-overview{gap:14px}.detail-hero-view{padding:18px;border-radius:22px}.detail-chip-row{gap:6px}.detail-chip{padding:6px 9px}.detail-action-row .btn{box-shadow:none}.detail-section{border-radius:20px}.detail-section-head{padding:13px 15px 0}.detail-section h4{font-size:.8rem}.detail-list{padding:9px 15px 13px}.detail-list.compact{grid-template-columns:1fr}.detail-row{grid-template-columns:minmax(126px,.36fr) minmax(0,1fr)}.detail-system summary{color:rgba(21,20,64,.58)}.drawer-footer.streamlined{border-top:1px solid rgba(21,20,64,.08);padding-top:13px;align-items:center}.drawer-footer.streamlined .helper-text:empty{display:none}.relationship-panel{border:1px solid rgba(21,20,64,.10);border-radius:20px;background:rgba(255,255,255,.72);padding:15px;color:var(--ink)}.relationship-panel h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;color:var(--blue)}.relationship-row{background:rgba(255,255,255,.65)}.relationship-empty{color:rgba(20,19,45,.50)}
.settings-advanced-note{color:rgba(234,220,199,.76)}
@media(max-width:1280px){.module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-focus-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.dash-hero-content{padding:34px 24px}.dashboard-focus-row{grid-template-columns:1fr}.module-actions{gap:7px}.detail-row{grid-template-columns:1fr}.drawer-panel{right:10px;left:10px;top:10px;bottom:10px;width:auto}.module-summary-grid{grid-template-columns:1fr}}


/* Add/edit creation experience polish */
.module-actions .btn.primary.create-action{display:inline-flex;align-items:center;gap:8px;padding-inline:14px}
.module-actions .btn.primary.create-action:before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.18);font-weight:950}
.create-form-shell{display:grid;gap:16px}
.create-intro{grid-column:1/-1;position:relative;overflow:hidden;border:1px solid rgba(21,20,64,.10);border-radius:24px;background:linear-gradient(135deg,rgba(21,20,64,.97),rgba(32,31,99,.91));padding:18px 18px 16px;color:var(--bone);line-height:1.45;box-shadow:0 12px 32px rgba(21,20,64,.12)}
.create-intro:after{content:"";position:absolute;right:-45px;bottom:-80px;width:180px;height:180px;border-radius:45% 55% 58% 42%;background:rgba(234,220,199,.06)}
.create-intro .create-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(234,220,199,.62);font-weight:900;margin-bottom:5px}
.create-intro strong{display:block;color:var(--bone);font-family:Georgia,serif;font-size:1.35rem;line-height:1.05;letter-spacing:-.05em;margin-bottom:5px}
.create-intro span{display:block;max-width:560px;color:rgba(234,220,199,.72);font-size:.88rem}
.create-section{grid-column:1/-1;border:1px solid rgba(21,20,64,.10);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.60));padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:13px;box-shadow:0 10px 26px rgba(21,20,64,.055)}
.create-section-head{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-bottom:1px solid rgba(21,20,64,.08);padding-bottom:11px;margin-bottom:1px}
.create-section-number{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--blue);color:var(--bone);font-size:.78rem;font-weight:950}
.create-section-head h4{margin:0;color:var(--blue);font-family:Georgia,serif;font-size:1.13rem;letter-spacing:-.035em;line-height:1.05}
.create-section-head span{display:block;margin-top:4px;color:rgba(20,19,45,.52);font-size:.8rem;line-height:1.35}
.edit-field.compact-field input,.edit-field.compact-field select{min-height:40px}
.create-form-shell .edit-field label{display:flex;align-items:center;gap:6px}
.create-form-shell .edit-field input,.create-form-shell .edit-field select,.create-form-shell .edit-field textarea{border-radius:16px;border-color:rgba(21,20,64,.13);background:rgba(255,255,255,.92)}
.create-form-shell .edit-field input:focus,.create-form-shell .edit-field select:focus,.create-form-shell .edit-field textarea:focus{border-color:rgba(209,75,43,.48);box-shadow:var(--focus)}
.create-form-shell textarea{min-height:94px}
.checkbox-field.create-toggle{background:rgba(21,20,64,.035);border-radius:18px;align-items:center}
.checkbox-field.create-toggle input[type="checkbox"]{border-radius:999px;width:22px;height:22px;min-width:22px}
.checkbox-field.create-toggle .checkbox-copy label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--ink)}
.suggested-field-wrap{position:relative}
.suggested-field-wrap:after{content:"suggestions";position:absolute;right:12px;top:34px;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(20,19,45,.34);pointer-events:none}
.relationship-picker,.single-relation-picker{grid-column:1/-1;border:1px solid rgba(21,20,64,.10);border-radius:18px;background:white;overflow:hidden;box-shadow:0 8px 18px rgba(21,20,64,.045)}
.relationship-picker-head,.single-relation-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid rgba(21,20,64,.08);background:linear-gradient(180deg,rgba(21,20,64,.04),rgba(21,20,64,.02))}
.relationship-picker-head strong,.single-relation-head strong{color:var(--blue);font-size:.86rem}.relationship-picker-count{font-size:.72rem;color:rgba(20,19,45,.50);font-weight:850}
.relationship-picker-head input,.single-relation-head input{min-height:36px;max-width:260px;border:1px solid rgba(21,20,64,.12);border-radius:999px;padding:0 12px;background:#fff;color:var(--ink)}
.relationship-picker-list,.single-relation-list{max-height:258px;overflow:auto;display:grid;gap:0}
.relationship-choice,.single-relation-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px 12px;border-top:1px solid rgba(21,20,64,.06);cursor:pointer}
.relationship-choice:first-child,.single-relation-choice:first-child{border-top:0}
.relationship-choice:hover,.single-relation-choice:hover{background:rgba(209,75,43,.045)}
.relationship-choice input,.single-relation-choice input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:999px;border:1px solid rgba(21,20,64,.25);background:white;margin-top:1px;position:relative;flex:0 0 auto}
.single-relation-choice input{border-radius:999px}.relationship-choice input:checked,.single-relation-choice input:checked{border-color:var(--terracotta);background:var(--terracotta)}
.relationship-choice input:checked:after{content:"";position:absolute;left:50%;top:47%;width:8px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:translate(-50%,-50%) rotate(-45deg)}
.single-relation-choice input:checked:after{content:"";position:absolute;inset:5px;border-radius:999px;background:white}
.relationship-choice-title,.single-relation-title{font-weight:900;color:var(--ink);line-height:1.25}
.relationship-choice-meta,.single-relation-meta{font-size:.78rem;color:rgba(20,19,45,.58);line-height:1.35;margin-top:2px}
.relationship-picker-empty,.single-relation-empty{padding:14px;color:rgba(20,19,45,.58);font-size:.9rem}
.create-form-shell .drawer-footer{margin-top:2px;border-top:1px solid rgba(21,20,64,.08);padding-top:14px}
.create-form-shell .drawer-actions .btn.primary{padding-inline:16px}
@media(max-width:760px){.create-section{grid-template-columns:1fr}.relationship-picker-head,.single-relation-head{display:grid}.relationship-picker-head input,.single-relation-head input{max-width:none;width:100%}}


/* Upload and household creation polish */
.upload-form-shell .create-intro{background:linear-gradient(135deg,rgba(32,31,99,.97),rgba(21,20,64,.94)),radial-gradient(circle at 78% 20%,rgba(209,75,43,.20),transparent 34%)}
.upload-context-card{grid-column:1/-1;border:1px solid rgba(21,20,64,.10);border-radius:20px;background:rgba(255,255,255,.72);padding:13px 14px;display:grid;gap:5px;color:var(--ink)}
.upload-context-card .upload-context-kicker{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(20,19,45,.48);font-weight:950}
.upload-context-card strong{color:var(--blue);font-size:.98rem;line-height:1.2}
.upload-context-card span{font-size:.82rem;color:rgba(20,19,45,.58);line-height:1.35}
.upload-file-card{grid-column:1/-1;border:1px dashed rgba(21,20,64,.20);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62));padding:16px;display:grid;gap:9px}
.upload-file-card input[type=file]{width:100%;border:1px solid rgba(21,20,64,.12);border-radius:16px;background:white;color:var(--ink);padding:12px}
.upload-file-card label{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(20,19,45,.58);font-weight:950}
.upload-preview-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}
.upload-preview-cell{border:1px solid rgba(21,20,64,.08);border-radius:16px;background:rgba(255,255,255,.64);padding:10px}.upload-preview-cell span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(20,19,45,.46);font-weight:950}.upload-preview-cell strong{display:block;margin-top:4px;color:var(--blue)}
.wizard-panel .create-intro{margin-bottom:0}.household-guest-list{grid-column:1/-1;display:grid;gap:10px}.household-guest-card{border:1px solid rgba(21,20,64,.10);border-radius:20px;background:rgba(255,255,255,.78);padding:13px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.household-guest-card .edit-field{display:grid;gap:6px}.household-guest-card label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(20,19,45,.54);font-weight:950}.household-guest-card input,.household-guest-card select{border:1px solid rgba(21,20,64,.13);background:white;border-radius:14px;padding:10px;color:var(--ink)}.household-guest-card .guest-wide{grid-column:span 2}.household-guest-actions{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:2px}.household-guest-actions span{font-size:.82rem;color:rgba(20,19,45,.54)}
@media(max-width:760px){.upload-preview-grid{grid-template-columns:1fr}.household-guest-card{grid-template-columns:1fr}.household-guest-card .guest-wide{grid-column:auto}}



/* Integrated admin diagnostics */
.diagnostic-admin-panel{border:1px solid rgba(234,220,199,.14);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden}
.diagnostic-admin-panel summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px;color:rgba(234,220,199,.88);font-weight:950}
.diagnostic-admin-panel summary::-webkit-details-marker{display:none}
.diagnostic-admin-panel summary:after{content:"▾";color:rgba(234,220,199,.62);font-size:1rem}
.diagnostic-admin-panel[open] summary:after{content:"▴"}
.diagnostic-admin-body{display:grid;gap:12px;padding:0 14px 14px}
.diagnostic-admin-note{border:1px solid rgba(185,130,54,.24);background:rgba(185,130,54,.10);color:rgba(234,220,199,.78);border-radius:16px;padding:11px 13px;font-size:.84rem;line-height:1.38}
.diagnostic-runner{display:grid;gap:14px}
.diag-status{border:1px solid rgba(21,20,64,.12);background:white;border-radius:16px;padding:12px;color:rgba(20,19,45,.72);line-height:1.4}
.diag-status.good{background:#e6efde;color:#315b36;border-color:rgba(49,91,54,.20)}
.diag-status.bad{background:#f3d7d0;color:#8c2d20;border-color:rgba(140,45,32,.20)}
.diag-status.warn{background:#fff1d8;color:#725019;border-color:rgba(114,80,25,.20)}
.diag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.diag-card{border:1px solid rgba(21,20,64,.12);border-radius:16px;background:white;padding:12px}
.diag-card .k{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(20,19,45,.48);font-weight:900}
.diag-card .v{margin-top:5px;color:var(--blue);font-weight:900;word-break:break-word}
.diag-actions{display:flex;gap:8px;flex-wrap:wrap}
.diag-steps{display:grid;gap:8px}
.diag-step{border:1px solid rgba(21,20,64,.12);background:white;border-radius:16px;padding:11px 12px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.diag-badge{font-size:.68rem;font-weight:950;border-radius:999px;padding:4px 8px;background:#eee3d2;color:var(--ink);min-width:58px;text-align:center}
.diag-badge.pass{background:#dfeadb;color:#2d5b3f}.diag-badge.fail{background:#f1d6d0;color:#8c2a20}.diag-badge.running{background:#fae4c7;color:#7a4a12}.diag-badge.skip{background:#dce3ef;color:#263f63}
.diag-step-title{font-weight:950;color:var(--blue);line-height:1.25}.diag-step-detail{font-size:.84rem;color:rgba(20,19,45,.65);line-height:1.35;margin-top:3px;word-break:break-word}.diag-step-error{font-size:.84rem;color:#8c2a20;line-height:1.35;margin-top:3px;word-break:break-word}
.diag-report{width:100%;min-height:210px;border:1px solid rgba(21,20,64,.14);background:white;color:var(--ink);border-radius:16px;padding:12px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}
@media(max-width:760px){.diag-grid{grid-template-columns:1fr}.diag-step{grid-template-columns:1fr}.diag-badge{width:max-content}}



/* v10.6.23 mobile safe-area and browser tint polish */
html{background:#151440;color-scheme:dark}
body{background-color:#151440;min-height:100vh;min-height:100svh}
.app,.auth-screen{min-height:100vh;min-height:100svh}
@supports (min-height:100dvh){body,.app,.auth-screen{min-height:100dvh}}
@supports (padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .sidebar{padding-top:max(22px,env(safe-area-inset-top))}
  .auth-screen{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}
}
@media(max-width:850px){
  body{background-color:#151440}
  .main{padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .sidebar{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}

/* v10.6.22 mobile overflow guard */
html,body{max-width:100%;overflow-x:hidden}
.app,.main,.sidebar,.dashboard,.module-page,.module-hero,.dash-card,.panel,.topbar{max-width:100%;min-width:0}
img,svg,canvas,video{max-width:100%;height:auto}
@media(max-width:850px){
  body{width:100%;overflow-x:hidden}
  .app{width:100%;max-width:100vw;overflow-x:hidden}
  .main,.sidebar{width:100%;max-width:100vw;overflow-x:hidden}
  .topbar,.module-hero,.dash-card,.panel,.record-card,.module-toolbar,.bulk-toolbar{max-width:100%;overflow-wrap:anywhere}
  .actions,.module-actions,.drawer-actions,.bulk-actions,.import-actions{max-width:100%;min-width:0}
  .btn{max-width:100%;white-space:normal;text-align:center}
  .table-wrap,.card-table-wrap,.import-preview{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{max-width:none}
  .dash-meta,.record-line span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .snap-label,.status-chip,.pill{white-space:normal}
  .mobile-menu-toggle{max-width:100%}
}

/* v10.6.21 mobile navigation */
.mobile-menu-toggle{display:none;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 10px;border:1px solid rgba(234,220,199,.18);background:rgba(234,220,199,.09);color:var(--bone);border-radius:16px;padding:11px 12px;font-weight:900}
.mobile-menu-toggle .menu-label{display:flex;align-items:center;gap:9px}
.mobile-menu-toggle .menu-icon{width:18px;height:12px;position:relative;display:inline-block}
.mobile-menu-toggle .menu-icon::before,.mobile-menu-toggle .menu-icon::after,.mobile-menu-toggle .menu-icon span{content:"";position:absolute;left:0;right:0;height:2px;border-radius:999px;background:currentColor;opacity:.86}
.mobile-menu-toggle .menu-icon::before{top:0}.mobile-menu-toggle .menu-icon span{top:5px}.mobile-menu-toggle .menu-icon::after{bottom:0}
.mobile-menu-toggle .menu-state{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(234,220,199,.62)}
@media(max-width:850px){
  .app{display:block}
  .sidebar{position:sticky;top:0;z-index:20;height:auto;max-height:calc(100vh - 10px);overflow:auto;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 16px 46px rgba(0,0,0,.22)}
  .sidebar .brand{padding-bottom:10px;margin-bottom:10px}
  .sidebar .brand .mark{width:42px;height:48px}.sidebar .brand .mark svg{width:34px}
  .sidebar .brand h1{font-size:1rem}.sidebar .brand p{font-size:.68rem}
  .mobile-menu-toggle{display:flex}
  .app.mobile-nav-collapsed .sidebar{max-height:none;overflow:visible}
  .app.mobile-nav-collapsed .sidebar > .nav-group-label,
  .app.mobile-nav-collapsed .sidebar > .nav,
  .app.mobile-nav-collapsed .sidebar > .sidebar-card,
  .app.mobile-nav-collapsed .sidebar > .sidebar-tools{display:none!important}
  .app.mobile-nav-collapsed .main{padding-top:14px}
  .app:not(.mobile-nav-collapsed) .sidebar{max-height:100vh;overflow:auto}
  .app:not(.mobile-nav-collapsed) .main{padding-top:14px}
}




/* v10.6.25 PWA metadata and Dynamic Island safe-area polish */
@media(max-width:850px){
  .sidebar{
    padding-top:calc(env(safe-area-inset-top, 0px) + 14px)!important;
  }
  .sidebar .brand{
    padding-top:2px;
  }
  .app.mobile-nav-collapsed .sidebar{
    min-height:calc(env(safe-area-inset-top, 0px) + 92px);
  }
  .app:not(.mobile-nav-collapsed) .sidebar{
    max-height:calc(100dvh - env(safe-area-inset-bottom, 0px));
  }
}


/* v10.6.26 mobile drawer safe-area polish */
@media(max-width:850px){
  .drawer{
    padding-top:env(safe-area-inset-top, 0px);
    padding-right:env(safe-area-inset-right, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    padding-left:env(safe-area-inset-left, 0px);
  }
  .drawer-panel{
    top:calc(env(safe-area-inset-top, 0px) + 10px)!important;
    right:calc(env(safe-area-inset-right, 0px) + 10px)!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 10px)!important;
    left:calc(env(safe-area-inset-left, 0px) + 10px)!important;
    width:auto!important;
    max-height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
    border-radius:22px;
  }
  .drawer-header{
    padding-top:max(16px,calc(env(safe-area-inset-top, 0px) * .18 + 14px))!important;
    align-items:flex-start;
    gap:10px;
  }
  .drawer-header > div:first-child{
    min-width:0;
    padding-right:4px;
  }
  .drawer-header h3{
    font-size:1.24rem;
    line-height:1.02;
    overflow-wrap:anywhere;
  }
  .drawer-header .btn[data-close]{
    flex:0 0 auto;
    position:relative;
    z-index:2;
    min-height:40px;
    padding:9px 12px;
  }
  .drawer-body{
    padding-bottom:max(18px,calc(env(safe-area-inset-bottom, 0px) + 16px))!important;
  }
}
@media(max-width:420px){
  .drawer-header{padding-left:14px!important;padding-right:14px!important}
  .drawer-header h3{font-size:1.12rem}
  .drawer-header .btn[data-close]{padding:8px 10px;font-size:.82rem}
}

/* v10.6.24 persistent mobile browser tint */
html,body{background:#151440!important}
body{accent-color:var(--terracotta)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 8%, rgba(209,75,43,.22), transparent 28%),linear-gradient(135deg,#111033 0%,#151440 52%,#09091e 100%)}
body.auth-mode .auth-screen,body.app-mode .app{background-color:#151440}
body.app-mode .app{background:radial-gradient(circle at 12% 8%, rgba(209,75,43,.18), transparent 28%),linear-gradient(135deg,#111033 0%,#151440 50%,#09091e 100%)}
@media(max-width:850px){
  html,body{min-height:100dvh;background:#151440!important}
  body.app-mode{background:#151440!important}
  body.app-mode .app{min-height:100dvh;background:#151440}
  body.app-mode .main{background:radial-gradient(circle at 50% 0%,rgba(234,220,199,.06),transparent 30%),linear-gradient(180deg,#151440 0%,#111033 100%)}
  body.app-mode.dashboard-mode .main{background:radial-gradient(circle at 50% 0%,rgba(234,220,199,.08),transparent 28%),linear-gradient(180deg,#151440 0%,#111033 100%)}
  body.app-mode .sidebar{background:rgba(12,12,38,.96);box-shadow:0 16px 46px rgba(0,0,0,.24)}
}


/* v10.7 filter and batch action polish */
.module-filter-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center;width:100%}
.module-filter-group .filter-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(234,220,199,.62);font-weight:900;margin-right:2px}
.module-toolbar .filter-select{min-width:180px;max-width:260px;flex:0 1 auto}
.module-toolbar .filter-select.compact{min-width:145px}
.filter-active-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:rgba(209,75,43,.16);border:1px solid rgba(209,75,43,.30);color:rgba(255,249,239,.92);font-size:.76rem;font-weight:850}
.bulk-toolbar .btn.subtle{background:rgba(234,220,199,.08);border-color:rgba(234,220,199,.16);color:var(--bone)}
.bulk-toolbar .bulk-actions{width:100%;justify-content:flex-start;margin-top:2px}
.bulk-toolbar .bulk-actions .btn{margin-top:4px}
.bulk-toolbar .bulk-actions .btn.warn{background:rgba(185,130,54,.18);border-color:rgba(185,130,54,.32);color:var(--bone)}
.bulk-toolbar .bulk-actions .btn.danger{background:rgba(209,75,43,.18);border-color:rgba(209,75,43,.38);color:var(--bone)}
@media(max-width:760px){.module-filter-group{display:grid;grid-template-columns:1fr;gap:8px}.module-toolbar .filter-select{width:100%;max-width:none}.module-toolbar .filter-label{margin-top:4px}.bulk-toolbar .bulk-actions{display:grid;grid-template-columns:1fr;width:100%}.bulk-toolbar .bulk-actions .btn{width:100%;text-align:center;justify-content:center}.bulk-toolbar>.btn{width:100%}}



/* v10.7.3 dashboard/profile polish */
.nav button.home-nav{
  margin:4px 0 12px;
  padding:13px 13px;
  background:linear-gradient(135deg,rgba(234,220,199,.16),rgba(209,75,43,.10));
  border-color:rgba(234,220,199,.20);
  color:var(--bone);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}
.nav button.home-nav.active{background:var(--bone);color:var(--blue);border-color:var(--bone)}
.nav button.home-nav .nav-label span:last-child{font-weight:950;letter-spacing:-.01em}
.dash-hero-content{display:grid;gap:18px;align-items:start}
.dash-hero-main{min-width:0}
.dash-countdown-card{
  justify-self:start;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  border:1px solid rgba(234,220,199,.16);
  background:rgba(255,255,255,.045);
  border-radius:20px;
  padding:13px 15px;
  max-width:min(100%,440px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.dash-countdown-number{font-family:Georgia,"Times New Roman",serif;font-size:2.2rem;line-height:.9;letter-spacing:-.06em;color:var(--bone)}
.dash-countdown-label{text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:900;color:rgba(234,220,199,.62);margin-bottom:3px}
.dash-countdown-detail{font-size:.84rem;color:rgba(234,220,199,.74);line-height:1.35}
.timeline-list.is-empty:before{display:none}
.dash-side-stack{display:grid;gap:16px}
@media(min-width:1281px){.dash-hero-content{grid-template-columns:minmax(0,1fr) auto}.dash-countdown-card{justify-self:end;margin-top:8px}}
@media(max-width:850px){.dash-countdown-card{grid-template-columns:1fr}.dash-countdown-number{font-size:2rem}.nav button.home-nav{margin-top:8px}}


/* v10.7.4 settings persistence + dashboard scroll correction */
@media(min-width:851px){
  body.dashboard-mode{min-height:100dvh;overflow-y:auto;overscroll-behavior-y:none;}
  body.dashboard-mode .app{min-height:100dvh;align-items:stretch;}
  body.dashboard-mode .sidebar{height:100dvh;max-height:100dvh;overflow:auto;}
  body.dashboard-mode .main{min-height:100dvh;padding-bottom:22px;}
  body.dashboard-mode #content{min-height:0;}
  body.dashboard-mode .dashboard{min-height:auto;align-content:start;}
}
@media(max-width:850px){
  body.dashboard-mode .app{min-height:100dvh;}
  body.dashboard-mode .main{min-height:calc(100dvh - 92px);}
}
.setting-row.saving{outline:1px solid rgba(209,75,43,.24);box-shadow:0 0 0 3px rgba(209,75,43,.08)}


/* v10.7.5 dashboard/mobile polish */
.dash-hero-content{display:block}
.dash-hero-main{min-width:0}
.dash-countdown-card{min-height:0}
.dash-countdown-card .dash-card-inner{padding:18px 20px}
.dash-countdown-layout{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}
.dash-countdown-number{font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;line-height:.9;letter-spacing:-.06em;color:var(--bone)}
.dash-countdown-label{text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:900;color:rgba(234,220,199,.62);margin-bottom:4px}
.dash-countdown-detail{font-size:.86rem;color:rgba(234,220,199,.74);line-height:1.35}
@media(min-width:851px){
  .sidebar .brand{position:sticky;top:0;z-index:12;background:linear-gradient(180deg,rgba(12,12,38,.98),rgba(12,12,38,.92));backdrop-filter:blur(14px);border-radius:0 0 18px 18px;padding-top:4px}
  .nav button.home-nav{position:sticky;top:94px;z-index:11;background:linear-gradient(135deg,rgba(38,36,98,.98),rgba(49,35,74,.96));backdrop-filter:blur(14px)}
  .nav button.home-nav.active{background:var(--bone);color:var(--blue)}
}
@media(max-width:850px){
  .dash-hero-content{padding:32px 24px 28px}
  .dash-countdown-card .dash-card-inner{padding:16px}
  .dash-countdown-layout{grid-template-columns:1fr;gap:8px}
  .dash-countdown-number{font-size:2.1rem}
  .dash-side-stack{gap:12px}
}



/* v10.7.6 sidebar/card alignment + countdown toggle polish */
.sidebar .brand{
  justify-content:center;
  text-align:center;
}
.sidebar .brand > div:last-child{min-width:0;text-align:center}
.sidebar .brand h1,.sidebar .brand p{text-align:center}
.dash-side-stack > .dash-countdown-card{width:100%;max-width:none;justify-self:stretch;display:block}
.dash-countdown-card{width:100%;max-width:none;justify-self:stretch}
.dash-countdown-card .dash-card-inner{width:100%}
.dash-countdown-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.dash-countdown-head h3{margin:0;color:var(--bone);font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.countdown-toggle{border:1px solid rgba(234,220,199,.16);background:rgba(234,220,199,.08);color:rgba(234,220,199,.88);border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;white-space:nowrap}
.countdown-toggle:hover{background:rgba(234,220,199,.14)}
.dash-countdown-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.dash-countdown-unit{border:1px solid rgba(234,220,199,.10);border-radius:16px;padding:12px;background:rgba(255,255,255,.025)}
.dash-countdown-unit .dash-countdown-number{font-size:2rem}
.dash-countdown-unit .dash-countdown-label{margin-top:5px;margin-bottom:0}
.dash-countdown-layout{width:100%}
@media(max-width:850px){
  .sidebar .brand{gap:8px;justify-content:center;text-align:center}
  .sidebar .brand > div:last-child{text-align:center}
  .dash-countdown-head{align-items:center}
  .countdown-toggle{padding:7px 10px}
}
@media(max-width:420px){
  .dash-countdown-pair{grid-template-columns:1fr}
}


/* v10.7.7 full-page scroll containment + sidebar centering */
@media(min-width:851px){
  html, body{height:100%;overflow:hidden;overscroll-behavior:none;}
  body.app-mode{height:100dvh;overflow:hidden;}
  body.app-mode .app{height:100dvh;min-height:100dvh;overflow:hidden;align-items:stretch;}
  body.app-mode .sidebar{position:relative;top:auto;height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;align-self:stretch;}
  body.app-mode .main{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;}
  body.app-mode #content{min-height:0;}
  body.app-mode.dashboard-mode{overflow:hidden;}
  body.app-mode.dashboard-mode .app{height:100dvh;min-height:100dvh;overflow:hidden;}
  body.app-mode.dashboard-mode .sidebar{height:100dvh;max-height:100dvh;overflow-y:auto;}
  body.app-mode.dashboard-mode .main{height:100dvh;min-height:0;overflow-y:auto;padding-bottom:22px;}
  .sidebar .brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%;
    padding-left:8px;
    padding-right:8px;
    text-align:center!important;
  }
  .sidebar .brand .mark{margin:0 auto!important;}
  .sidebar .brand > div:last-child{width:100%;text-align:center!important;}
  .sidebar .brand h1,.sidebar .brand p{width:100%;text-align:center!important;}
  .nav button.home-nav{top:136px;}
}
@media(max-width:850px){
  html, body{overflow-x:hidden;}
  body.app-mode{overflow-y:auto;}
  body.app-mode .main{overflow:visible;}
  .sidebar .brand{align-items:center;justify-content:center;}
  .sidebar .brand .mark{margin:0;}
}


/* v10.7.8 sidebar sticky spacing correction */
@media(min-width:851px){
  body.app-mode .sidebar{
    padding-top:18px;
    scroll-padding-top:148px;
  }
  body.app-mode .sidebar .brand{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:13px!important;
    width:100%;
    margin:0 0 16px 0!important;
    padding:12px 8px 16px!important;
    top:12px!important;
    text-align:left!important;
    border-radius:18px!important;
    border:1px solid rgba(234,220,199,.10)!important;
    border-bottom-color:rgba(234,220,199,.20)!important;
    background:linear-gradient(180deg,rgba(12,12,38,.99),rgba(12,12,38,.95))!important;
    box-shadow:0 12px 30px rgba(0,0,0,.16);
  }
  body.app-mode .sidebar .brand .mark{margin:0!important;flex:0 0 auto;}
  body.app-mode .sidebar .brand > div:last-child{width:auto!important;min-width:0;text-align:left!important;}
  body.app-mode .sidebar .brand h1,
  body.app-mode .sidebar .brand p{width:auto!important;text-align:left!important;}
  body.app-mode .nav button.home-nav{
    top:124px!important;
    margin-top:0!important;
    margin-bottom:10px!important;
    border:1px solid rgba(234,220,199,.18);
    box-shadow:0 12px 30px rgba(0,0,0,.16);
  }
}
@media(max-width:850px){
  .sidebar .brand{justify-content:flex-start!important;text-align:left!important;align-items:center!important;}
  .sidebar .brand > div:last-child{text-align:left!important;}
  .sidebar .brand h1,.sidebar .brand p{text-align:left!important;}
}


/* v11.0 beta interface elevation: glass, radius, motion, clarity */
:root{
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-xl:28px;
  --radius-2xl:34px;
  --radius-pill:999px;
  --ease-standard:cubic-bezier(.2,.8,.2,1);
  --ease-emphasis:cubic-bezier(.16,1,.3,1);
  --dur-fast:150ms;
  --dur-med:260ms;
  --dur-slow:420ms;
  --glass-dark:rgba(14,15,43,.66);
  --glass-dark-2:rgba(22,22,57,.52);
  --glass-light:rgba(255,249,239,.74);
  --glass-light-strong:rgba(255,249,239,.88);
  --glass-line:rgba(234,220,199,.18);
  --glass-line-strong:rgba(234,220,199,.28);
  --shadow-glass:0 22px 70px rgba(4,5,20,.30), inset 0 1px 0 rgba(255,255,255,.06);
  --shadow-glass-soft:0 14px 44px rgba(4,5,20,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
html{background:#0c0c26;}
body{
  background:
    radial-gradient(circle at 8% 8%, rgba(209,75,43,.24), transparent 27%),
    radial-gradient(circle at 78% 12%, rgba(234,220,199,.13), transparent 28%),
    radial-gradient(circle at 55% 88%, rgba(77,37,79,.22), transparent 36%),
    linear-gradient(135deg,#0b0b25 0%, #151440 48%, #070718 100%);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.5), transparent 72%);
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(circle at 50% 0%, rgba(255,249,239,.08), transparent 34%);
}
.btn,
.nav button,
.record-card,
.dash-card,
.module-hero,
.panel,
.drawer-panel,
.auth-card,
.sidebar-card,
.module-toolbar,
.bulk-toolbar,
.diagnostic-admin-panel,
.setting-card,
.edit-field input,
.edit-field select,
.edit-field textarea,
.auth-form input,
.file-drop input[type=file]{transition:background var(--dur-med) var(--ease-standard), border-color var(--dur-med) var(--ease-standard), box-shadow var(--dur-med) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard);}
.btn{border-radius:var(--radius-pill);box-shadow:0 8px 22px rgba(4,5,20,.10), inset 0 1px 0 rgba(255,255,255,.22);}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(4,5,20,.15), inset 0 1px 0 rgba(255,255,255,.26);}
.btn.primary{background:linear-gradient(135deg,var(--terracotta),#ec6941);box-shadow:0 12px 34px rgba(209,75,43,.24), inset 0 1px 0 rgba(255,255,255,.18);}
.btn.dark{background:linear-gradient(135deg,rgba(21,20,64,.96),rgba(34,32,89,.90));border-color:rgba(234,220,199,.18);}
.sidebar{
  background:linear-gradient(180deg,rgba(10,11,32,.80),rgba(11,12,34,.68));
  border-right:1px solid var(--glass-line);
  backdrop-filter:blur(24px) saturate(132%);
  -webkit-backdrop-filter:blur(24px) saturate(132%);
}
body.app-mode .sidebar{background:linear-gradient(180deg,rgba(11,12,34,.84),rgba(11,12,34,.70));}
body.app-mode .sidebar .brand{
  background:linear-gradient(180deg,rgba(255,249,239,.075),rgba(255,249,239,.035))!important;
  border:1px solid rgba(234,220,199,.14)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow-glass-soft)!important;
  backdrop-filter:blur(18px) saturate(128%);
  -webkit-backdrop-filter:blur(18px) saturate(128%);
  padding:14px 12px 16px!important;
}
.sidebar .mark{filter:drop-shadow(0 10px 22px rgba(209,75,43,.20));}
.brand h1{letter-spacing:-.045em;font-size:1.05rem;}
.brand p{letter-spacing:.12em;}
.nav-group-label{color:rgba(234,220,199,.40);font-size:.64rem;margin:18px 11px 7px;}
.nav{gap:7px;}
.nav button{
  border-radius:var(--radius-md);
  color:rgba(234,220,199,.72);
  padding:10px 12px;
}
.nav button:hover{background:rgba(255,249,239,.075);color:rgba(255,249,239,.94);}
.nav button.active,
.nav button.home-nav.active{
  background:linear-gradient(135deg,rgba(255,249,239,.96),rgba(234,220,199,.88))!important;
  color:var(--blue)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.40);
}
.nav button.home-nav{
  background:linear-gradient(135deg,rgba(255,249,239,.13),rgba(255,249,239,.06))!important;
  border-color:rgba(234,220,199,.18)!important;
  box-shadow:0 12px 32px rgba(4,5,20,.20), inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.sidebar-card{
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,rgba(255,249,239,.075),rgba(255,249,239,.035));
  border-color:rgba(234,220,199,.14);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
}
.main{background:radial-gradient(circle at 70% 0%,rgba(234,220,199,.065),transparent 34%);}
.topbar,
.hero-card,
.metric-card,
.panel{
  border-radius:var(--radius-xl);
}
.panel,
.topbar{
  background:linear-gradient(180deg,rgba(255,249,239,.88),rgba(247,239,227,.76));
  border-color:rgba(255,249,239,.55);
  backdrop-filter:blur(18px) saturate(124%);
  -webkit-backdrop-filter:blur(18px) saturate(124%);
  box-shadow:0 18px 60px rgba(4,5,20,.16), inset 0 1px 0 rgba(255,255,255,.52);
}
.dashboard{gap:18px;}
.dash-card,
.module-hero,
.record-card,
.card-table-wrap,
.bulk-toolbar,
.module-toolbar{
  background:linear-gradient(145deg,rgba(255,255,255,.070),rgba(255,255,255,.032));
  border:1px solid var(--glass-line);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-glass-soft);
  backdrop-filter:blur(22px) saturate(128%);
  -webkit-backdrop-filter:blur(22px) saturate(128%);
}
.dash-card:hover,
.record-card:hover,
.module-card:hover{border-color:rgba(234,220,199,.25);box-shadow:var(--shadow-glass);}
.dash-hero{
  border-radius:var(--radius-2xl);
  background:
    linear-gradient(118deg,rgba(19,21,66,.78),rgba(13,15,42,.58)),
    radial-gradient(circle at 78% 38%,rgba(209,75,43,.18),transparent 30%),
    radial-gradient(circle at 26% 14%,rgba(234,220,199,.13),transparent 24%);
  overflow:hidden;
}
.dash-hero:before{
  opacity:.88;
  background:
    radial-gradient(circle at 18% 12%,rgba(234,220,199,.12),transparent 23%),
    radial-gradient(circle at 73% 45%,rgba(209,75,43,.12),transparent 34%),
    linear-gradient(110deg,rgba(255,255,255,.035),transparent 46%);
}
.dash-hero-content{padding:52px 58px 38px;}
.dash-hero .kicker{color:rgba(234,220,199,.74);letter-spacing:.20em;}
.dash-hero h2{letter-spacing:-.082em;}
.dash-event-line{color:rgba(234,220,199,.78);font-weight:700;}
.dash-card h3,
.module-hero h3{letter-spacing:-.02em;}
.module-hero{
  background:
    linear-gradient(135deg,rgba(23,25,67,.76),rgba(12,14,42,.58)),
    radial-gradient(circle at 86% 10%,rgba(234,220,199,.09),transparent 32%);
  border-radius:var(--radius-2xl);
}
.module-summary-grid{gap:13px;}
.module-stat,
.snapshot-feature,
.mini-stat,
.dash-countdown-unit,
.module-card{
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.060),rgba(255,255,255,.026));
  border-color:rgba(234,220,199,.13);
}
.record-card{border-radius:var(--radius-xl);}
.record-card button:hover .record-title{text-decoration:underline;text-decoration-color:rgba(240,107,62,.65);}
.record-line{border-top-color:rgba(234,220,199,.085);}
.module-toolbar,
.bulk-toolbar{border-radius:var(--radius-xl);}
.module-toolbar input,
.module-toolbar select,
.toolbar input,
.toolbar select,
.edit-field input,
.edit-field select,
.edit-field textarea,
.auth-form input{
  border-radius:var(--radius-md);
}
.module-toolbar input,
.module-toolbar select{
  background-color:rgba(255,249,239,.08);
}
.pill,
.status-chip,
.countdown-toggle{border-radius:var(--radius-pill);}
.dash-icon{border-radius:var(--radius-md);background:linear-gradient(180deg,rgba(255,249,239,.10),rgba(255,249,239,.04));}
.ring:after{background:rgba(17,24,60,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.drawer-bg{background:rgba(4,5,20,.54);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.drawer-panel{
  background:linear-gradient(180deg,rgba(255,249,239,.90),rgba(247,239,227,.82));
  border-radius:var(--radius-2xl);
  border-color:rgba(255,249,239,.62);
  backdrop-filter:blur(24px) saturate(120%);
  -webkit-backdrop-filter:blur(24px) saturate(120%);
}
.drawer.open .drawer-panel{animation:v11DrawerIn var(--dur-slow) var(--ease-emphasis) both;}
@keyframes v11DrawerIn{from{opacity:.65;transform:translateX(18px) scale(.985)}to{opacity:1;transform:none}}
.drawer-header{background:linear-gradient(180deg,rgba(255,249,239,.92),rgba(247,239,227,.84));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.detail-item,
.file-drop,
.checkbox-field,
.guest-row,
.setting-card{border-radius:var(--radius-lg);}
.detail-item{background:rgba(255,255,255,.72);}
.empty{border-radius:var(--radius-xl);}
.notice{border-radius:var(--radius-lg);}
.auth-card{
  background:linear-gradient(145deg,rgba(14,15,43,.78),rgba(8,9,28,.70));
  border-color:rgba(234,220,199,.20);
  backdrop-filter:blur(28px) saturate(128%);
  -webkit-backdrop-filter:blur(28px) saturate(128%);
}
.auth-card h2{letter-spacing:-.08em;}
.diagnostic-admin-panel{border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.write-queue-panel,.app-toast{backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);}
@media(min-width:851px){
  body.app-mode .sidebar{padding:18px 16px;}
  body.app-mode .sidebar .brand{top:12px!important;margin-bottom:14px!important;}
  body.app-mode .nav button.home-nav{top:126px!important;}
  .main{padding:24px;}
}
@media(max-width:850px){
  body.app-mode .sidebar{background:linear-gradient(180deg,rgba(10,11,32,.92),rgba(10,11,32,.74));backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);}
  .mobile-menu-toggle{border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,249,239,.12),rgba(255,249,239,.06));border-color:rgba(234,220,199,.18);}
  .dash-hero-content{padding:34px 24px 30px;}
  .dash-hero h2{font-size:clamp(2.45rem,12vw,3.35rem);}
  .dash-card,.module-hero,.record-card{border-radius:var(--radius-xl);}
  .drawer-panel{border-radius:var(--radius-xl);}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .dash-card,.module-hero,.record-card,.sidebar-card,.drawer-panel,.panel,.topbar,.auth-card{background-color:rgba(21,20,64,.96);}
  .panel,.topbar,.drawer-panel{background-color:rgba(247,239,227,.97);}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  .drawer.open .drawer-panel{animation:none!important;}
}



/* v11 beta B: airy product-ready interface system */
:root{
  --canvas:#f8f3eb;
  --canvas-2:#efe7dc;
  --surface:#fffaf3;
  --surface-2:#fdf5eb;
  --surface-glass:rgba(255,250,243,.78);
  --surface-glass-strong:rgba(255,252,247,.92);
  --surface-faint:rgba(255,255,255,.48);
  --ink:#1d1a35;
  --ink-2:#302b52;
  --muted:#756d62;
  --muted-2:#9a8f82;
  --brand:#242064;
  --brand-2:#3b347a;
  --accent:#d14b2b;
  --accent-soft:#f2d4c8;
  --line-soft:rgba(44,36,86,.10);
  --line-glass:rgba(44,36,86,.12);
  --shadow-air:0 20px 60px rgba(40,32,80,.10);
  --shadow-card:0 12px 34px rgba(40,32,80,.08);
  --shadow-float:0 24px 80px rgba(35,31,82,.14);
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-xl:28px;
  --radius-2xl:34px;
  --radius-pill:999px;
  --glass-line:rgba(44,36,86,.11);
  --ease-standard:cubic-bezier(.2,.8,.2,1);
  --ease-emphasis:cubic-bezier(.16,1,.3,1);
  --dur-fast:140ms;
  --dur-med:220ms;
  --dur-slow:360ms;
}
html,body{background:var(--canvas);color:var(--ink);}
body{
  background:
    radial-gradient(circle at 12% -8%, rgba(209,75,43,.18), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(35,32,98,.12), transparent 30%),
    radial-gradient(circle at 52% 102%, rgba(111,128,99,.12), transparent 36%),
    linear-gradient(135deg,#fbf6ed 0%,#f4eadf 50%,#f8f2e9 100%);
  color:var(--ink);
}
body.app-mode{background:
  radial-gradient(circle at 14% -6%,rgba(209,75,43,.14),transparent 30%),
  radial-gradient(circle at 90% 8%,rgba(35,32,98,.10),transparent 32%),
  linear-gradient(135deg,#fbf7ef 0%,#f1e7dc 100%)!important;}
.app{background:transparent;}
.main{background:transparent;color:var(--ink);}
.sidebar{
  background:linear-gradient(180deg,rgba(255,250,243,.76),rgba(247,239,227,.66));
  border-right:1px solid var(--line-soft);
  box-shadow:18px 0 54px rgba(35,31,82,.08);
  color:var(--ink);
  backdrop-filter:blur(26px) saturate(130%);
  -webkit-backdrop-filter:blur(26px) saturate(130%);
}
.sidebar .brand{
  color:var(--ink);background:transparent!important;border-bottom:1px solid var(--line-soft);border-radius:0!important;
  box-shadow:none!important;align-items:center;text-align:left;justify-content:flex-start;
}
.sidebar .brand h1{color:var(--brand);letter-spacing:-.035em;}
.sidebar .brand p{color:var(--muted);}
.sidebar .mark,.auth-card .auth-mark{color:var(--accent);filter:drop-shadow(0 10px 20px rgba(209,75,43,.14));}
.nav-group-label{color:rgba(36,32,100,.46);}
.nav button{color:rgba(29,26,53,.72);border-color:transparent;background:transparent;}
.nav button:hover{background:rgba(36,32,100,.06);color:var(--brand);}
.nav button.active,.nav button.home-nav.active{background:var(--brand);color:#fffaf3;box-shadow:0 14px 28px rgba(36,32,100,.18);}
.nav button.home-nav{
  background:linear-gradient(135deg,rgba(36,32,100,.92),rgba(67,58,128,.88))!important;color:#fffaf3!important;
  border:1px solid rgba(255,255,255,.32)!important;box-shadow:0 16px 34px rgba(36,32,100,.18)!important;
}
.nav button.home-nav:not(.active){opacity:.96;}
.nav .count{background:rgba(36,32,100,.08);}
.nav button.active .count,.nav button.home-nav .count{background:rgba(255,255,255,.16);}
.sidebar-card,.user-card{
  background:rgba(255,255,255,.44);border:1px solid var(--line-soft);color:var(--muted);box-shadow:0 10px 26px rgba(35,31,82,.05);
}
.sidebar-card strong,.user-card .name{color:var(--brand);}.user-card .role{color:var(--muted);}
.sidebar-tools .btn{background:rgba(255,255,255,.54);border-color:var(--line-soft);color:var(--brand);}
.bridge-status-pill,.sidebar-refresh-status{color:var(--muted-2);}
.btn{background:rgba(255,255,255,.74);border:1px solid var(--line-soft);color:var(--brand);box-shadow:0 8px 20px rgba(36,32,100,.06);transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard);}
.btn:hover{box-shadow:0 12px 30px rgba(36,32,100,.10);}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 14px 32px rgba(209,75,43,.22);}
.btn.dark{background:var(--brand);border-color:var(--brand);color:#fffaf3;}
.btn.ghost{background:transparent;color:var(--brand);box-shadow:none;}
.topbar,.hero-card,.metric-card,.panel,.module-hero,.dash-card,.record-card,.module-card,.detail-item,.table-wrap,.card-table-wrap{
  background:var(--surface-glass-strong)!important;color:var(--ink)!important;border:1px solid var(--line-soft)!important;box-shadow:var(--shadow-card)!important;
  backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);
}
h2,.panel h3,.module-hero h3,.module-stat-value,.record-title,.metric-card .number,.hero-card h3,.drawer-header h3{color:var(--brand)!important;}
.subtitle,.panel p,.module-hero p,.module-description,.record-sub,.record-note,.metric-card .detail,.module-stat-sub{color:var(--muted)!important;}
.eyebrow,.module-kicker,.metric-card .label,.module-stat-label{color:var(--accent)!important;}
body.dashboard-mode .main,body.app-mode.dashboard-mode .main{background:transparent!important;}
.dashboard{color:var(--ink)!important;}
.dash-card{border-radius:var(--radius-xl)!important;}
.dash-hero{
  background:
    linear-gradient(135deg,rgba(255,252,247,.94),rgba(255,247,238,.78)),
    radial-gradient(circle at 84% 18%,rgba(209,75,43,.14),transparent 34%),
    radial-gradient(circle at 20% 0%,rgba(36,32,100,.12),transparent 32%)!important;
  color:var(--ink)!important;min-height:218px;border-radius:var(--radius-2xl)!important;
}
.dash-hero:before{opacity:.25;mix-blend-mode:multiply;}
.dash-hero h2{color:var(--brand)!important;}
.dash-hero .kicker,.dash-event-line,.dash-hero p{color:var(--muted)!important;}
.dash-event-line:before{background:rgba(36,32,100,.22)!important;}
.dash-title{color:var(--ink)!important;}.dash-sub,.dash-meta,.snap-detail,.mini-empty{color:var(--muted)!important;}
.dash-card h3,.snap-number,.stat-value{color:var(--brand)!important;}.snap-label{color:var(--accent)!important;}
.dashboard-focus-card,.mini-stat,.snapshot-feature{background:rgba(255,255,255,.52)!important;border:1px solid var(--line-soft)!important;}
.dashboard-focus-card strong{color:var(--brand)!important;}.dashboard-focus-card span{color:var(--accent)!important}.dashboard-focus-card em{color:var(--muted)!important;}
.dash-row,.timeline-row{border-color:rgba(36,32,100,.09)!important;}.timeline-list:before{background:rgba(36,32,100,.10)!important;}
.dash-icon{background:rgba(36,32,100,.06)!important;color:var(--brand)!important;border-color:var(--line-soft)!important;}
.status-chip{background:rgba(36,32,100,.07)!important;color:var(--brand)!important;}.status-chip.good{background:rgba(111,128,99,.16)!important;color:#496c41!important}.status-chip.warn{background:rgba(185,130,54,.18)!important;color:#805111!important}.status-chip.bad{background:rgba(209,75,43,.15)!important;color:#9c321e!important}
.module-hero{
  background:
    linear-gradient(145deg,rgba(255,252,247,.92),rgba(255,247,238,.78)),
    radial-gradient(circle at 95% 0%,rgba(36,32,100,.08),transparent 30%)!important;
  border-radius:var(--radius-2xl)!important;
}
.module-hero:before{opacity:.18;mix-blend-mode:multiply;}
.module-meta-pill{background:rgba(36,32,100,.06)!important;color:var(--brand)!important;border:1px solid var(--line-soft)!important;}
.module-summary-grid{gap:10px;}
.module-stat{background:rgba(255,255,255,.58)!important;border:1px solid var(--line-soft)!important;border-radius:var(--radius-lg)!important;}
.record-card{background:rgba(255,252,247,.76)!important;border-radius:var(--radius-lg)!important;}
.record-line{border-color:rgba(36,32,100,.08)!important;color:var(--muted)!important}.record-line span:last-child{color:var(--ink)!important}.open-chip{color:var(--accent)!important;}
.bulk-select{background:rgba(255,255,255,.76)!important;border-color:var(--line-soft)!important;box-shadow:0 8px 18px rgba(36,32,100,.08)!important;}
.bulk-select input{border-color:rgba(36,32,100,.28)!important}.bulk-select input:checked{background:var(--accent)!important;border-color:var(--accent)!important;}
.module-toolbar,.bulk-toolbar{
  background:rgba(255,252,247,.70)!important;border:1px solid var(--line-soft)!important;color:var(--ink)!important;border-radius:var(--radius-xl)!important;
  box-shadow:0 10px 30px rgba(36,32,100,.06)!important;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);
}
.module-toolbar input,.module-toolbar select,.toolbar input,.toolbar select,.edit-field input,.edit-field select,.edit-field textarea,.auth-form input{
  background:rgba(255,255,255,.86)!important;color:var(--ink)!important;border:1px solid var(--line-soft)!important;border-radius:var(--radius-md)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.module-toolbar input::placeholder{color:var(--muted-2)!important;}
.module-toolbar select option{background:#fffaf3!important;color:var(--ink)!important;}
.module-toolbar input,.module-toolbar select{background-image:none!important;padding-left:14px!important;}
.pill{background:rgba(36,32,100,.08)!important;color:var(--brand)!important}.pill.good{background:rgba(111,128,99,.16)!important;color:#46683e!important}.pill.warn{background:rgba(185,130,54,.18)!important;color:#805111!important}.pill.bad{background:rgba(209,75,43,.15)!important;color:#9c321e!important}.pill.info{background:rgba(36,32,100,.10)!important;color:var(--brand)!important}.pill.orange{background:rgba(209,75,43,.14)!important;color:#9c321e!important;}
.empty{background:rgba(255,252,247,.68)!important;color:var(--muted)!important;border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.empty strong{color:var(--brand)!important;}
.drawer-bg{background:rgba(36,32,100,.20)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.drawer-panel{background:rgba(255,252,247,.94)!important;color:var(--ink)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:0 30px 90px rgba(36,32,100,.20)!important;border-radius:var(--radius-2xl)!important;}
.drawer-header,.drawer-footer{background:rgba(255,252,247,.90)!important;border-color:var(--line-soft)!important;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);}
.detail-item{background:rgba(255,255,255,.66)!important;border-radius:var(--radius-md)!important;}.detail-item .k{color:var(--muted-2)!important;}.detail-item .v{color:var(--ink)!important;}
.auth-screen{background:
  radial-gradient(circle at 10% 5%,rgba(209,75,43,.16),transparent 32%),
  radial-gradient(circle at 88% 10%,rgba(36,32,100,.14),transparent 36%),
  linear-gradient(135deg,#fbf6ed,#efe4d7)!important;}
.auth-card{background:rgba(255,252,247,.82)!important;color:var(--ink)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 24px 72px rgba(36,32,100,.16)!important;}
.auth-card h2{color:var(--brand)!important}.auth-card p,.auth-help{color:var(--muted)!important}.auth-form label{color:var(--muted)!important}.auth-help strong{color:var(--brand)!important;}
.notice.dark{background:rgba(36,32,100,.08)!important;color:var(--brand)!important;border-color:var(--line-soft)!important;}.notice{background:rgba(255,248,235,.88)!important;border-color:rgba(185,130,54,.20)!important;color:#73501d!important}.notice.bad{background:rgba(255,235,230,.88)!important;color:#87311f!important}.notice.good{background:rgba(235,246,230,.90)!important;color:#365a32!important;}
.table-wrap,.card-table-wrap{background:rgba(255,252,247,.78)!important;}th{background:#f1e6d7!important;color:var(--muted)!important}td{color:var(--ink)!important;border-color:rgba(36,32,100,.08)!important}tbody tr:hover{background:#fff6eb!important;}
/* v11 beta B progressive disclosure for filters */
.v11-filter-toolbar{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:10px!important;}
.v11-filter-toolbar input[type="search"]{min-width:0!important;width:100%;}
.v11-filter-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;grid-column:1/-1;min-height:0;}
.v11-filter-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:rgba(36,32,100,.07);border:1px solid var(--line-soft);color:var(--brand);font-size:.76rem;font-weight:850;}
.v11-filter-chip button{border:0;background:transparent;color:inherit;padding:0;margin:0;font-weight:950;line-height:1;cursor:pointer;}
.v11-filter-disclosure{grid-column:1/-1;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:rgba(255,255,255,.50);overflow:hidden;}
.v11-filter-disclosure summary{list-style:none;cursor:pointer;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;color:var(--brand);font-weight:900;}
.v11-filter-disclosure summary::-webkit-details-marker{display:none}.v11-filter-disclosure summary:after{content:"Show filters";font-size:.78rem;color:var(--muted);font-weight:850}.v11-filter-disclosure[open] summary:after{content:"Hide filters"}
.v11-filter-panel{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding:12px;}
.v11-filter-panel .filter-select{min-width:170px;max-width:240px;flex:1 1 180px;}
.v11-select-current{white-space:nowrap;}
.bulk-toolbar{display:flex!important;gap:10px!important;align-items:center!important;}
.bulk-toolbar .bulk-count{color:var(--brand)!important;}.bulk-toolbar .bulk-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important;}
.bulk-toolbar .btn.subtle{background:rgba(36,32,100,.05)!important;color:var(--brand)!important;border-color:var(--line-soft)!important}.bulk-toolbar .btn.warn{background:rgba(185,130,54,.14)!important;color:#70470e!important}.bulk-toolbar .btn.danger{background:rgba(209,75,43,.12)!important;color:#91321e!important;}
.diagnostic-admin-panel{background:rgba(255,252,247,.72)!important;border:1px solid var(--line-soft)!important;color:var(--ink)!important}.diagnostic-admin-panel summary{color:var(--brand)!important}.diagnostic-admin-note{background:rgba(36,32,100,.05)!important;color:var(--muted)!important;border-color:var(--line-soft)!important;}
.operation-overlay{background:rgba(36,32,100,.18)!important}.operation-card{background:rgba(255,252,247,.92)!important;color:var(--ink)!important;border-color:rgba(255,255,255,.72)!important}.operation-card h3{color:var(--brand)!important}.operation-card p{color:var(--muted)!important;}
@media(max-width:850px){
  .sidebar{background:rgba(255,250,243,.86)!important;color:var(--ink)!important;}
  .mobile-menu-toggle{background:var(--brand)!important;color:#fffaf3!important;border-color:rgba(255,255,255,.30)!important;}
  .v11-filter-toolbar{grid-template-columns:1fr auto!important;}
  .v11-filter-toolbar input[type="search"],.v11-filter-summary,.v11-filter-disclosure{grid-column:1/-1;}
  .v11-select-current,.v11-filter-toolbar .btn{width:auto;justify-content:center;}
  .v11-filter-panel{display:grid;grid-template-columns:1fr;}.v11-filter-panel .filter-select{width:100%;max-width:none;}
  .bulk-toolbar{display:grid!important;grid-template-columns:1fr!important;}.bulk-toolbar .bulk-actions{display:grid!important;grid-template-columns:1fr!important}.bulk-toolbar .btn{width:100%;}
  .dash-hero h2{font-size:2.35rem!important;}.dash-card,.module-hero,.record-card,.panel{border-radius:var(--radius-lg)!important;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}}



/* v11 beta C: light workspace, dark editorial cards, strict contrast, cleaner layout */
:root{
  --c-page:#f4eadf;
  --c-page-2:#faf6ef;
  --c-paper:#fffdf8;
  --c-paper-2:#fbf4ea;
  --c-ink:#191633;
  --c-ink-soft:#342f59;
  --c-muted:#6b6258;
  --c-muted-2:#8c8175;
  --c-navy:#17154b;
  --c-navy-2:#26226b;
  --c-navy-3:#383085;
  --c-plum:#3c204a;
  --c-terracotta:#d14b2b;
  --c-terracotta-2:#f06b3e;
  --c-cream:#fff6e8;
  --c-bone:#eadcc7;
  --c-good-bg:#e8f0e2;
  --c-good-fg:#315c35;
  --c-warn-bg:#faecd6;
  --c-warn-fg:#7a4b11;
  --c-bad-bg:#f8dfd8;
  --c-bad-fg:#8e2c1d;
  --c-info-bg:#e6e7f3;
  --c-info-fg:#252664;
  --line-light:rgba(25,22,51,.11);
  --line-light-strong:rgba(25,22,51,.18);
  --line-dark:rgba(255,246,232,.18);
  --surface-light:rgba(255,253,248,.88);
  --surface-light-solid:#fffdf8;
  --surface-soft:rgba(255,246,232,.66);
  --surface-dark:linear-gradient(135deg,var(--c-navy) 0%,#211c61 58%,var(--c-plum) 100%);
  --surface-dark-soft:linear-gradient(135deg,rgba(23,21,75,.96),rgba(38,34,107,.92));
  --shadow-soft:0 12px 30px rgba(25,22,51,.08);
  --shadow-medium:0 22px 64px rgba(25,22,51,.13);
  --shadow-dark-card:0 28px 90px rgba(23,21,75,.23);
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:20px;
  --radius-xl:26px;
  --radius-2xl:32px;
  --radius-pill:999px;
  --focus:0 0 0 3px rgba(209,75,43,.28);
}
html{background:var(--c-page)!important;color:var(--c-ink)!important;}
body,
body.app-mode{
  color:var(--c-ink)!important;
  background:
    radial-gradient(circle at 8% -8%,rgba(209,75,43,.16),transparent 28%),
    radial-gradient(circle at 94% 0%,rgba(23,21,75,.10),transparent 31%),
    radial-gradient(circle at 40% 108%,rgba(111,128,99,.10),transparent 34%),
    linear-gradient(135deg,var(--c-page-2) 0%,var(--c-page) 54%,#efe2d4 100%)!important;
  accent-color:var(--c-terracotta);
}
body::before,
body::after{opacity:.32!important;mix-blend-mode:multiply;}
body.app-mode .app,
body.app-mode.dashboard-mode .app,
body.app-mode .main,
body.app-mode.dashboard-mode .main{background:transparent!important;color:var(--c-ink)!important;}
#content{color:var(--c-ink)!important;}
/* Global surface/text rules */
.panel,.topbar,.metric-card,.record-card,.module-card,.table-wrap,.card-table-wrap,.detail-item,.setting-card,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.sidebar-card,.user-card{
  background:var(--surface-light)!important;
  color:var(--c-ink)!important;
  border:1px solid var(--line-light)!important;
  box-shadow:var(--shadow-soft)!important;
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}
.panel h3,.topbar h2,.metric-card .number,.record-title,.module-card strong,.detail-item .v,.setting-card strong,.empty strong{color:var(--c-navy)!important;}
.panel p,.subtitle,.metric-card .detail,.record-sub,.record-note,.module-card span,.detail-item .k,.setting-help,.empty,.mini-empty{color:var(--c-muted)!important;}
.eyebrow,.metric-card .label,.module-stat-label,.snap-label,.filter-label{color:var(--c-terracotta)!important;}
/* Sidebar: light, readable, stable */
.sidebar{
  background:rgba(255,253,248,.70)!important;
  color:var(--c-ink)!important;
  border-right:1px solid var(--line-light)!important;
  box-shadow:20px 0 60px rgba(25,22,51,.08)!important;
  backdrop-filter:blur(28px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(128%)!important;
}
.sidebar .brand,
body.app-mode .sidebar .brand{
  background:rgba(255,253,248,.62)!important;
  border:1px solid var(--line-light)!important;
  border-radius:var(--radius-xl)!important;
  box-shadow:0 10px 30px rgba(25,22,51,.06)!important;
  color:var(--c-ink)!important;
  padding:14px 12px 16px!important;
  margin-bottom:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  text-align:left!important;
}
.sidebar .brand h1{color:var(--c-navy)!important;text-align:left!important;}
.sidebar .brand p{color:var(--c-muted)!important;text-align:left!important;}
.sidebar .mark{color:var(--c-terracotta)!important;filter:none!important;}
.nav-group-label{color:rgba(25,22,51,.45)!important;margin:16px 9px 6px!important;}
.nav button{color:rgba(25,22,51,.72)!important;background:transparent!important;border:1px solid transparent!important;border-radius:var(--radius-md)!important;}
.nav button:hover{background:rgba(23,21,75,.06)!important;color:var(--c-navy)!important;}
.nav button.active{background:var(--c-navy)!important;color:var(--c-cream)!important;border-color:var(--c-navy)!important;box-shadow:0 13px 28px rgba(23,21,75,.18)!important;}
.nav button.home-nav{background:var(--surface-dark)!important;color:var(--c-cream)!important;border:1px solid rgba(255,246,232,.28)!important;box-shadow:var(--shadow-dark-card)!important;}
.nav button.home-nav.active{background:var(--surface-dark)!important;color:var(--c-cream)!important;}
.nav .count{background:rgba(23,21,75,.08)!important;color:inherit!important;}.nav button.active .count,.nav button.home-nav .count{background:rgba(255,246,232,.16)!important;}
.sidebar-tools .btn,.sidebar-card .btn{background:rgba(255,253,248,.78)!important;color:var(--c-navy)!important;border-color:var(--line-light)!important;}
.sidebar-card strong,.user-card .name{color:var(--c-navy)!important;}.user-card .role,.bridge-status-pill,.sidebar-refresh-status{color:var(--c-muted)!important;}
@media(min-width:851px){body.app-mode .sidebar .brand{top:12px!important;}body.app-mode .nav button.home-nav{top:126px!important;margin-bottom:12px!important;}}
/* Buttons */
.btn{background:rgba(255,253,248,.86)!important;color:var(--c-navy)!important;border:1px solid var(--line-light)!important;box-shadow:0 8px 18px rgba(25,22,51,.07)!important;border-radius:var(--radius-pill)!important;}
.btn:hover{box-shadow:0 12px 28px rgba(25,22,51,.11)!important;}
.btn.primary{background:var(--c-terracotta)!important;border-color:var(--c-terracotta)!important;color:#fff!important;box-shadow:0 12px 30px rgba(209,75,43,.22)!important;}
.btn.dark{background:var(--c-navy)!important;border-color:var(--c-navy)!important;color:var(--c-cream)!important;}
.btn.ghost{background:transparent!important;color:var(--c-navy)!important;box-shadow:none!important;}
/* Dashboard layout and editorial dark moments */
.dashboard{grid-template-columns:minmax(0,1.82fr) minmax(320px,.86fr)!important;gap:18px!important;color:var(--c-ink)!important;}
.dash-primary,.dash-main-stack,.dash-side-stack{gap:18px!important;}
.dash-card{background:var(--surface-light)!important;color:var(--c-ink)!important;border:1px solid var(--line-light)!important;box-shadow:var(--shadow-soft)!important;border-radius:var(--radius-xl)!important;}
.dash-hero,.dash-countdown-card{
  background:var(--surface-dark)!important;
  color:var(--c-cream)!important;
  border:1px solid var(--line-dark)!important;
  box-shadow:var(--shadow-dark-card)!important;
  overflow:hidden;
}
.dash-hero{min-height:232px!important;}
.dash-hero:before{opacity:.72!important;mix-blend-mode:screen!important;background:radial-gradient(circle at 78% 25%,rgba(209,75,43,.20),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.06),transparent 42%)!important;}
.dash-hero .kicker,.dash-hero p,.dash-event-line{color:rgba(255,246,232,.78)!important;}
.dash-hero h2{color:var(--c-cream)!important;}
.dash-event-line:before{background:rgba(255,246,232,.46)!important;}
.dash-card h3{color:var(--c-navy)!important;}.dash-countdown-card h3{color:var(--c-cream)!important;}
.dash-title{color:var(--c-ink)!important;}.dash-sub,.dash-meta,.snap-detail,.stat-sub{color:var(--c-muted)!important;}
.snap-label,.dashboard-focus-card span{color:var(--c-terracotta)!important;}.snap-number,.stat-value,.dashboard-focus-card strong{color:var(--c-navy)!important;}
.dashboard-focus-card,.snapshot-feature,.mini-stat,.dash-countdown-unit{background:rgba(255,253,248,.66)!important;border:1px solid var(--line-light)!important;color:var(--c-ink)!important;box-shadow:none!important;}
.dash-countdown-card .dash-countdown-number,.dash-countdown-card .dash-countdown-label,.dash-countdown-card .dash-countdown-detail{color:var(--c-cream)!important;}
.dash-countdown-card .dash-countdown-unit{background:rgba(255,246,232,.10)!important;border-color:rgba(255,246,232,.18)!important;}
.countdown-toggle{background:rgba(255,246,232,.12)!important;color:var(--c-cream)!important;border:1px solid rgba(255,246,232,.25)!important;}
.countdown-toggle:hover{background:rgba(255,246,232,.18)!important;}
.dash-row,.timeline-row{border-color:rgba(25,22,51,.08)!important;}.timeline-list:before{background:rgba(25,22,51,.10)!important;}
.dash-icon{background:rgba(23,21,75,.07)!important;color:var(--c-navy)!important;border-color:var(--line-light)!important;}
/* Module pages: dark header, light controls/workspace */
.module-page{display:grid!important;gap:14px!important;}
.module-hero{
  background:var(--surface-dark)!important;
  color:var(--c-cream)!important;
  border:1px solid var(--line-dark)!important;
  box-shadow:var(--shadow-dark-card)!important;
  border-radius:var(--radius-2xl)!important;
  padding:24px!important;
}
.module-hero:before{opacity:.6!important;mix-blend-mode:screen!important;background:radial-gradient(circle at 86% 12%,rgba(209,75,43,.20),transparent 30%),linear-gradient(120deg,rgba(255,255,255,.06),transparent 48%)!important;}
.module-hero h3{color:var(--c-cream)!important;}.module-kicker,.module-description{color:rgba(255,246,232,.72)!important;}.module-kicker{color:rgba(255,246,232,.62)!important;}
.module-meta-pill{background:rgba(255,246,232,.10)!important;color:var(--c-cream)!important;border:1px solid rgba(255,246,232,.18)!important;}
.module-stat{background:rgba(255,246,232,.10)!important;color:var(--c-cream)!important;border:1px solid rgba(255,246,232,.16)!important;box-shadow:none!important;}
.module-stat-label{color:rgba(255,246,232,.60)!important;}.module-stat-value{color:var(--c-cream)!important;}.module-stat-sub{color:rgba(255,246,232,.66)!important;}
.module-hero .btn:not(.primary){background:rgba(255,246,232,.10)!important;color:var(--c-cream)!important;border-color:rgba(255,246,232,.20)!important;}
.module-hero .btn.primary{background:var(--c-terracotta)!important;color:#fff!important;border-color:var(--c-terracotta)!important;}
.module-controls{display:grid;gap:10px;}
.module-toolbar,.bulk-toolbar{
  background:var(--surface-light)!important;
  color:var(--c-ink)!important;
  border:1px solid var(--line-light)!important;
  box-shadow:var(--shadow-soft)!important;
  border-radius:var(--radius-xl)!important;
  padding:12px!important;
}
.module-toolbar input,.module-toolbar select,.toolbar input,.toolbar select,.edit-field input,.edit-field select,.edit-field textarea,.auth-form input{
  background:var(--surface-light-solid)!important;
  color:var(--c-ink)!important;
  border:1px solid var(--line-light-strong)!important;
  border-radius:var(--radius-md)!important;
  box-shadow:none!important;
}
.module-toolbar input::placeholder,.toolbar input::placeholder{color:var(--c-muted-2)!important;}
.module-toolbar select option{background:var(--c-paper)!important;color:var(--c-ink)!important;}
.v11-filter-toolbar{grid-template-columns:minmax(240px,1fr) auto auto!important;align-items:start!important;}
.v11-filter-toolbar input[type="search"]{min-height:44px!important;}
.v11-filter-disclosure{background:rgba(255,253,248,.72)!important;border:1px solid var(--line-light)!important;border-radius:var(--radius-lg)!important;box-shadow:none!important;}
.v11-filter-disclosure summary{color:var(--c-navy)!important;}
.v11-filter-disclosure summary:after{color:var(--c-muted)!important;}
.v11-filter-panel{background:rgba(255,255,255,.44)!important;border-top:1px solid var(--line-light)!important;}
.v11-filter-chip{background:rgba(23,21,75,.07)!important;color:var(--c-navy)!important;border:1px solid var(--line-light)!important;}
.v11-select-current{background:var(--c-navy)!important;color:var(--c-cream)!important;border-color:var(--c-navy)!important;}
.context-bulk-toolbar{position:sticky;top:12px;z-index:5;}
.bulk-count{color:var(--c-navy)!important;}.bulk-toolbar .btn.subtle{background:rgba(23,21,75,.06)!important;color:var(--c-navy)!important;border-color:var(--line-light)!important;}.bulk-toolbar .bulk-actions .btn.warn{background:var(--c-warn-bg)!important;color:var(--c-warn-fg)!important;border-color:rgba(122,75,17,.18)!important}.bulk-toolbar .bulk-actions .btn.danger{background:var(--c-bad-bg)!important;color:var(--c-bad-fg)!important;border-color:rgba(142,44,29,.18)!important}
.record-card{background:rgba(255,253,248,.86)!important;color:var(--c-ink)!important;border:1px solid var(--line-light)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-soft)!important;}
.record-card:hover{box-shadow:var(--shadow-medium)!important;border-color:var(--line-light-strong)!important;}
.record-title{color:var(--c-navy)!important;}.record-line{border-color:rgba(25,22,51,.08)!important;color:var(--c-muted)!important}.record-line span:last-child{color:var(--c-ink)!important;}.open-chip{color:var(--c-terracotta)!important;}
/* Status elements */
.pill,.status-chip{background:rgba(23,21,75,.07)!important;color:var(--c-navy)!important;border:1px solid transparent!important;}
.pill.good,.status-chip.good{background:var(--c-good-bg)!important;color:var(--c-good-fg)!important;}.pill.warn,.status-chip.warn{background:var(--c-warn-bg)!important;color:var(--c-warn-fg)!important;}.pill.bad,.status-chip.bad{background:var(--c-bad-bg)!important;color:var(--c-bad-fg)!important;}.pill.info,.status-chip.info{background:var(--c-info-bg)!important;color:var(--c-info-fg)!important;}.pill.orange{background:rgba(209,75,43,.13)!important;color:#93351d!important;}
/* Tables/forms/drawers */
.table-wrap,.card-table-wrap{background:var(--surface-light)!important;border-radius:var(--radius-xl)!important;}th{background:#eee3d4!important;color:var(--c-muted)!important;}td{color:var(--c-ink)!important;border-color:rgba(25,22,51,.08)!important;}tbody tr:hover{background:#fff6eb!important;}
.drawer-bg{background:rgba(25,22,51,.28)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;}
.drawer-panel{background:rgba(255,253,248,.96)!important;color:var(--c-ink)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 32px 96px rgba(25,22,51,.22)!important;}
.drawer-header,.drawer-footer{background:rgba(255,253,248,.94)!important;border-color:var(--line-light)!important;}.drawer-header h3{color:var(--c-navy)!important;}
.edit-field label{color:var(--c-muted)!important;}.edit-field .hint{color:var(--c-muted-2)!important;}.form-section-title{color:var(--c-navy)!important;border-color:var(--line-light)!important;}
/* Settings, diagnostics and overlays */
.setting-section-title,.setting-kind{color:var(--c-navy)!important;}.diagnostic-admin-panel summary{color:var(--c-navy)!important;}.diagnostic-admin-note{background:rgba(23,21,75,.05)!important;color:var(--c-muted)!important;border-color:var(--line-light)!important;}
.notice.dark{background:var(--c-info-bg)!important;color:var(--c-info-fg)!important;border-color:rgba(37,38,100,.14)!important;}
.notice.good{background:var(--c-good-bg)!important;color:var(--c-good-fg)!important;}.notice.bad{background:var(--c-bad-bg)!important;color:var(--c-bad-fg)!important;}.notice{background:var(--c-warn-bg)!important;color:var(--c-warn-fg)!important;}
.operation-overlay{background:rgba(25,22,51,.28)!important;}.operation-card{background:var(--surface-light-solid)!important;color:var(--c-ink)!important;border:1px solid rgba(255,255,255,.76)!important;}.operation-card h3{color:var(--c-navy)!important;}.operation-card p{color:var(--c-muted)!important;}
.app-toast,.write-queue-panel{background:rgba(255,253,248,.94)!important;color:var(--c-ink)!important;border-color:var(--line-light)!important;}.app-toast strong,.write-queue-title{color:var(--c-navy)!important;}
/* Auth screen: keep identity but readable */
.auth-screen{background:linear-gradient(135deg,#fbf6ed,#efe4d7)!important;}.auth-card{background:rgba(255,253,248,.88)!important;color:var(--c-ink)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:var(--shadow-medium)!important;}.auth-card h2{color:var(--c-navy)!important}.auth-card p,.auth-help{color:var(--c-muted)!important}.auth-form label{color:var(--c-muted)!important}.auth-help strong{color:var(--c-navy)!important;}
/* Mobile: keep top menu compact and readable */
@media(max-width:1280px){.dashboard{grid-template-columns:1fr!important;}.dash-side-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;}.dash-countdown-card{grid-column:auto;}}
@media(max-width:850px){
  body.app-mode .sidebar{background:rgba(255,253,248,.86)!important;color:var(--c-ink)!important;border-bottom:1px solid var(--line-light)!important;}
  .mobile-menu-toggle{background:var(--c-navy)!important;color:var(--c-cream)!important;border-color:var(--c-navy)!important;}
  .dash-side-stack{grid-template-columns:1fr!important;}
  .dashboard,.module-page{gap:12px!important;}
  .dash-hero-content{padding:30px 22px!important;}.dash-hero h2{font-size:clamp(2.2rem,11vw,3rem)!important;}
  .module-hero{padding:20px!important;}.module-hero-head{display:block!important;}.module-actions{margin-top:14px!important;}
  .v11-filter-toolbar{grid-template-columns:1fr auto!important;}.v11-filter-toolbar input[type="search"],.v11-filter-summary,.v11-filter-disclosure{grid-column:1/-1!important;}.v11-select-current{grid-column:1/-1;width:100%!important;}
  .record-card,.dash-card,.module-hero,.module-toolbar,.bulk-toolbar,.drawer-panel{border-radius:var(--radius-xl)!important;}
}
@media(prefers-reduced-motion:reduce){.drawer.open .drawer-panel{animation:none!important;}}



/* v11 beta D: readability, typography, and contrast system
   Design intent: light workspace, intentional dark editorial cards, serif only as brand accent. */
:root{
  --font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-brand:Georgia, "Times New Roman", serif;
  --text-light-primary:#171433;
  --text-light-secondary:#403a54;
  --text-light-muted:#665d52;
  --text-light-subtle:#766c61;
  --text-dark-primary:#fff7e9;
  --text-dark-secondary:#eadcc7;
  --text-dark-muted:#d8c8b4;
  --surface-page:#f7f0e7;
  --surface-page-2:#fbf7f0;
  --surface-card:#fffdfa;
  --surface-card-soft:#fbf4eb;
  --surface-card-border:rgba(23,20,51,.14);
  --surface-card-border-strong:rgba(23,20,51,.22);
  --surface-editorial:linear-gradient(135deg,#171433 0%,#252063 58%,#3a214a 100%);
  --surface-editorial-raised:linear-gradient(135deg,#19163b 0%,#2a246d 56%,#482853 100%);
  --shadow-air:0 12px 26px rgba(23,20,51,.075);
  --shadow-air-hover:0 20px 44px rgba(23,20,51,.12);
  --shadow-editorial:0 26px 78px rgba(23,20,51,.22);
  --type-xs:.78rem;
  --type-sm:.86rem;
  --type-md:.96rem;
  --type-lg:1.05rem;
  --type-xl:1.24rem;
  --type-2xl:1.6rem;
}
html,body{font-family:var(--font-ui)!important;background:var(--surface-page)!important;color:var(--text-light-primary)!important;font-size:15.5px!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body.app-mode{background:
  radial-gradient(circle at 10% -5%,rgba(209,75,43,.12),transparent 28%),
  radial-gradient(circle at 92% 0%,rgba(23,20,51,.08),transparent 31%),
  linear-gradient(135deg,var(--surface-page-2),var(--surface-page) 56%,#efe4d7)!important;}
/* Typography: app UI uses sans; serif is a brand accent only */
h1,h2,h3,h4,h5,h6,.module-hero h3,.drawer-header h3,.operation-card h3,.relationship-panel h4,.panel h3,.metric-card .number,.stat-value,.snap-number,.ring span,.hero-card h3,.module-stat-value{
  font-family:var(--font-ui)!important;
  letter-spacing:-.025em!important;
}
.dash-hero h2,.auth-card h2,.brand-editorial,.wedding-profile-title{
  font-family:var(--font-brand)!important;
  letter-spacing:-.065em!important;
}
.dash-hero h2{font-size:clamp(2.35rem,4.6vw,4.55rem)!important;line-height:.96!important;font-weight:700!important;}
.auth-card h2{font-weight:700!important;line-height:.98!important;}
.module-hero h3{font-size:clamp(1.85rem,3vw,3.05rem)!important;line-height:1.02!important;font-weight:850!important;}
.drawer-header h3{font-size:1.38rem!important;line-height:1.12!important;font-weight:850!important;}
.record-title,.dash-title,.relationship-title,.setting-card strong{font-weight:850!important;letter-spacing:-.012em!important;}
/* Minimum readability rules */
.panel p,.subtitle,.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.module-stat-sub,.setting-help,.edit-field .hint,.checkbox-helper,.detail-item .k,.mini-empty,.empty,.sidebar-card,.diagnostic-admin-note,.write-status,.upload-target-note{
  font-size:max(var(--type-sm), .86rem)!important;
  line-height:1.48!important;
  font-weight:520!important;
}
.module-kicker,.eyebrow,.metric-card .label,.snap-label,.module-stat-label,.filter-label,.edit-field label,.guest-row label,.setting-kind,.nav-group-label{
  font-size:.76rem!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
/* Light surfaces: explicit text pairings */
.panel,.topbar,.metric-card,.record-card,.module-card,.table-wrap,.card-table-wrap,.detail-item,.setting-card,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.sidebar-card,.user-card,.module-toolbar,.bulk-toolbar,.v11-filter-disclosure,.drawer-panel,.drawer-header,.drawer-footer,.app-toast,.write-queue-panel,.operation-card,.relationship-panel,.relationship-row,.picker-panel,.picker-row,.import-preview,.wizard-panel,.upload-panel{
  background:rgba(255,253,250,.92)!important;
  color:var(--text-light-primary)!important;
  border-color:var(--surface-card-border)!important;
  box-shadow:var(--shadow-air)!important;
}
.panel *,.topbar *,.metric-card *,.record-card *,.module-card *,.table-wrap *,.card-table-wrap *,.detail-item *,.setting-card *,.file-drop *,.guest-row *,.checkbox-field *,.upload-target-note *,.empty *,.diagnostic-admin-panel *,.sidebar-card *,.user-card *,.module-toolbar *,.bulk-toolbar *,.v11-filter-disclosure *,.drawer-panel *,.relationship-panel *,.relationship-row *,.picker-panel *,.picker-row *,.wizard-panel *,.upload-panel *{
  color:inherit;
}
.panel h3,.topbar h2,.metric-card .number,.record-title,.module-card strong,.detail-item .v,.setting-card strong,.drawer-header h3,.operation-card h3,.relationship-panel h4,.relationship-title,.empty strong,.dashboard-focus-card strong,.stat-value,.snap-number,.dash-title,.bulk-count{
  color:var(--text-light-primary)!important;
}
.panel p,.subtitle,.metric-card .detail,.record-sub,.record-note,.module-card span,.detail-item .k,.setting-help,.empty,.mini-empty,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.relationship-meta,.picker-meta,.write-queue-meta{
  color:var(--text-light-muted)!important;
}
.detail-item .k,.setting-kind,.filter-label,.edit-field label,.guest-row label{color:#5f554c!important;}
/* Dark editorial surfaces: explicit contrast, no inherited dark text */
.dash-hero,.dash-countdown-card,.module-hero,.nav button.home-nav,.nav button.home-nav.active,.nav button.active.home-nav{
  background:var(--surface-editorial)!important;
  color:var(--text-dark-primary)!important;
  border-color:rgba(255,247,233,.22)!important;
  box-shadow:var(--shadow-editorial)!important;
}
.dash-hero *,.dash-countdown-card *,.module-hero *,.nav button.home-nav *,.nav button.active.home-nav *{color:inherit;}
.dash-hero h2,.dash-countdown-card h3,.dash-countdown-number,.module-hero h3,.module-stat-value,.nav button.home-nav,.nav button.home-nav span{color:var(--text-dark-primary)!important;}
.dash-hero .kicker,.dash-hero p,.dash-event-line,.dash-countdown-label,.dash-countdown-detail,.module-kicker,.module-description,.module-stat-label,.module-stat-sub,.module-meta-pill{color:var(--text-dark-muted)!important;}
.module-stat,.module-meta-pill,.dash-countdown-unit,.countdown-toggle,.module-hero .btn:not(.primary){
  background:rgba(255,247,233,.115)!important;
  border-color:rgba(255,247,233,.22)!important;
  color:var(--text-dark-primary)!important;
  box-shadow:none!important;
}
.module-stat *,.module-meta-pill *,.dash-countdown-unit *,.countdown-toggle *{color:inherit!important;}
.module-hero .btn.primary{background:#d14b2b!important;color:#fff!important;border-color:#d14b2b!important;}
/* Form controls and filter controls */
input,select,textarea,.module-toolbar input,.module-toolbar select,.toolbar input,.toolbar select,.edit-field input,.edit-field select,.edit-field textarea,.guest-row input,.guest-row select,.auth-form input{
  background:#fffefb!important;
  color:var(--text-light-primary)!important;
  border:1px solid var(--surface-card-border-strong)!important;
  min-height:42px;
}
input::placeholder,textarea::placeholder{color:#766c61!important;opacity:1!important;}
select option{color:var(--text-light-primary)!important;background:#fffefb!important;}
.v11-filter-panel{background:rgba(255,253,250,.88)!important;color:var(--text-light-primary)!important;border-top:1px solid var(--surface-card-border)!important;}
.v11-filter-chip,.active-filter-chip{background:#efe6dc!important;color:var(--text-light-primary)!important;border:1px solid rgba(23,20,51,.13)!important;font-weight:760!important;}
.v11-filter-disclosure summary{color:var(--text-light-primary)!important;font-weight:850!important;}
.v11-select-current{background:#171433!important;color:#fff7e9!important;border-color:#171433!important;}
/* Cards and rows: more structure, less visual noise */
.record-card,.dash-card,.setting-card,.panel{border-radius:24px!important;}
.record-card:hover{box-shadow:var(--shadow-air-hover)!important;transform:translateY(-1px);}
.record-line{border-color:rgba(23,20,51,.10)!important;}
.record-line span:first-child{color:var(--text-light-muted)!important;font-weight:680!important;}
.record-line span:last-child{color:var(--text-light-primary)!important;font-weight:720!important;}
.dash-row,.timeline-row{border-color:rgba(23,20,51,.10)!important;}
.dash-icon{color:#171433!important;background:#eee6dd!important;border-color:rgba(23,20,51,.10)!important;}
/* Buttons: higher contrast, clearer states */
.btn{font-weight:850!important;color:#171433!important;background:#fffdf8!important;border-color:rgba(23,20,51,.16)!important;}
.btn.primary{background:#d14b2b!important;color:#fff!important;border-color:#d14b2b!important;}
.btn.dark{background:#171433!important;color:#fff7e9!important;border-color:#171433!important;}
.btn.ghost{color:#171433!important;background:transparent!important;}
.btn.small{font-size:.82rem!important;}
/* Status colors remain readable */
.pill,.status-chip{font-size:.78rem!important;font-weight:850!important;}
.pill.good,.status-chip.good{background:#e3efdd!important;color:#24512d!important;}.pill.warn,.status-chip.warn{background:#fbebcf!important;color:#6f420a!important;}.pill.bad,.status-chip.bad{background:#f8ddd5!important;color:#842716!important;}.pill.info,.status-chip.info{background:#e4e6f5!important;color:#1f225e!important;}.pill.orange{background:#f4d9cb!important;color:#8d331a!important;}
/* Sidebar: left aligned but breathing room and stronger readability */
.sidebar{background:rgba(255,253,250,.78)!important;color:var(--text-light-primary)!important;}
.sidebar .brand{align-items:center!important;text-align:left!important;padding:16px 13px 17px!important;min-height:86px!important;}
.sidebar .brand h1{color:var(--text-light-primary)!important;font-weight:920!important;letter-spacing:-.035em!important;}
.sidebar .brand p{color:var(--text-light-muted)!important;font-weight:760!important;letter-spacing:.11em!important;}
.nav button{font-weight:820!important;color:#403a54!important;}
.nav button.active{background:#171433!important;color:#fff7e9!important;}
.nav-group-label{color:#6a6056!important;}
/* Import / wizard surfaces that often inherited dark colors */
.import-drop{background:rgba(255,253,250,.92)!important;color:var(--text-light-primary)!important;border-color:var(--surface-card-border)!important;}
.import-drop textarea{background:#fffefb!important;color:var(--text-light-primary)!important;border-color:var(--surface-card-border-strong)!important;}
.import-preview th{background:#eee3d4!important;color:#5f554c!important;}.import-preview td{color:var(--text-light-primary)!important;border-color:rgba(23,20,51,.10)!important;}
.wizard-section h4{color:var(--text-light-primary)!important;font-family:var(--font-ui)!important;font-size:1.05rem!important;}
/* Mobile readability */
@media(max-width:850px){
  html,body{font-size:15px!important;}
  .dash-hero h2{font-size:clamp(2.1rem,10vw,3rem)!important;}
  .module-hero h3{font-size:clamp(1.65rem,8vw,2.35rem)!important;}
  .record-card,.dash-card,.panel,.setting-card{border-radius:22px!important;}
  .module-toolbar,.bulk-toolbar{padding:11px!important;}
  .drawer-header h3{font-size:1.2rem!important;}
}



/* v11 beta E: contrast + component placement correction
   Goal: no accidental inherited low-contrast text, stable checkbox/select controls, cleaner spacing. */
:root{
  --e-page:#f6efe6;
  --e-page-soft:#fbf7f1;
  --e-card:#fffdfa;
  --e-card-soft:#fbf3e9;
  --e-ink:#15132e;
  --e-ink-2:#2f2a4d;
  --e-muted:#4f463f;
  --e-muted-2:#63584e;
  --e-subtle:#766b60;
  --e-dark:#171433;
  --e-dark-2:#262064;
  --e-plum:#3a214a;
  --e-cream:#fff7e9;
  --e-cream-2:#eadcc7;
  --e-accent:#d14b2b;
  --e-line:rgba(21,19,46,.16);
  --e-line-strong:rgba(21,19,46,.25);
  --e-line-dark:rgba(255,247,233,.24);
  --e-shadow:0 12px 28px rgba(21,19,46,.08);
  --e-shadow-hover:0 18px 42px rgba(21,19,46,.12);
  --e-shadow-editorial:0 24px 68px rgba(21,19,46,.22);
  --e-radius-card:22px;
  --e-radius-panel:26px;
  --e-radius-control:14px;
}
html,body{background:var(--e-page)!important;color:var(--e-ink)!important;}
body.app-mode{background:
  radial-gradient(circle at 11% -8%,rgba(209,75,43,.12),transparent 26%),
  radial-gradient(circle at 92% 0%,rgba(23,20,51,.075),transparent 30%),
  linear-gradient(135deg,var(--e-page-soft) 0%,var(--e-page) 58%,#eee2d5 100%)!important;}
/* Hard contrast reset: text must match its surface. */
body.app-mode :where(.main,#content,.dashboard,.module-page,.panel,.dash-card,.record-card,.module-toolbar,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.setting-card,.detail-item,.table-wrap,.card-table-wrap,.relationship-panel,.picker-panel,.wizard-panel,.upload-panel,.diagnostic-admin-panel,.operation-card,.app-toast,.write-queue-panel){color:var(--e-ink)!important;}
body.app-mode :where(.panel,.dash-card,.record-card,.module-toolbar,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.setting-card,.detail-item,.table-wrap,.card-table-wrap,.relationship-panel,.picker-panel,.wizard-panel,.upload-panel,.diagnostic-admin-panel,.operation-card,.app-toast,.write-queue-panel):not(.dash-hero):not(.dash-countdown-card):not(.module-hero){background:rgba(255,253,250,.94)!important;border-color:var(--e-line)!important;box-shadow:var(--e-shadow)!important;}
body.app-mode :where(.panel,.dash-card,.record-card,.module-toolbar,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.setting-card,.detail-item,.relationship-panel,.picker-panel,.wizard-panel,.upload-panel,.diagnostic-admin-panel,.operation-card,.app-toast,.write-queue-panel):not(.dash-hero):not(.dash-countdown-card):not(.module-hero) :where(h1,h2,h3,h4,h5,h6,strong,.record-title,.dash-title,.stat-value,.snap-number,.module-card strong,.relationship-title,.setting-section-title,.setting-card strong,.drawer-header h3,.bulk-count){color:var(--e-ink)!important;}
body.app-mode :where(.panel,.dash-card,.record-card,.module-toolbar,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.setting-card,.detail-item,.relationship-panel,.picker-panel,.wizard-panel,.upload-panel,.diagnostic-admin-panel,.operation-card,.app-toast,.write-queue-panel):not(.dash-hero):not(.dash-countdown-card):not(.module-hero) :where(p,span,small,em,.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.setting-help,.detail-item .k,.relationship-meta,.picker-meta,.hint,.checkbox-helper,.mini-empty,.empty,.diagnostic-admin-note,.write-status){color:var(--e-muted)!important;opacity:1!important;}
/* Dark editorial surfaces get their own high-contrast text; no inherited light-surface colors. */
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero){background:linear-gradient(135deg,var(--e-dark) 0%,var(--e-dark-2) 58%,var(--e-plum) 100%)!important;color:var(--e-cream)!important;border-color:var(--e-line-dark)!important;box-shadow:var(--e-shadow-editorial)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) *{color:inherit!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) :where(h1,h2,h3,h4,strong,.module-stat-value,.dash-countdown-number){color:var(--e-cream)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) :where(p,span,small,.kicker,.module-kicker,.module-description,.module-stat-label,.module-stat-sub,.dash-countdown-label,.dash-countdown-detail,.dash-event-line){color:var(--e-cream-2)!important;opacity:1!important;}
/* Typography/readability floor. */
body.app-mode :where(.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.setting-help,.detail-item .k,.relationship-meta,.picker-meta,.hint,.checkbox-helper,.mini-empty,.empty,.diagnostic-admin-note,.write-status,.upload-target-note){font-size:max(.88rem,13.5px)!important;line-height:1.48!important;font-weight:560!important;}
body.app-mode :where(.module-kicker,.eyebrow,.metric-card .label,.snap-label,.module-stat-label,.filter-label,.edit-field label,.guest-row label,.setting-kind,.nav-group-label){font-size:.76rem!important;line-height:1.25!important;font-weight:900!important;letter-spacing:.115em!important;}
/* Form controls: do not let text inputs rules distort checkboxes/radios. */
body.app-mode input:not([type="checkbox"]):not([type="radio"]),
body.app-mode select,
body.app-mode textarea{
  background:#fffefb!important;color:var(--e-ink)!important;border:1px solid var(--e-line-strong)!important;border-radius:var(--e-radius-control)!important;min-height:42px!important;box-shadow:none!important;
}
body.app-mode input::placeholder,body.app-mode textarea::placeholder{color:#6f6459!important;opacity:1!important;}
body.app-mode input[type="checkbox"],body.app-mode input[type="radio"]{appearance:none;-webkit-appearance:none;min-height:0!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;padding:0!important;margin:0!important;border-radius:6px!important;border:1.5px solid rgba(21,19,46,.42)!important;background:#fffdf8!important;box-shadow:none!important;display:inline-grid!important;place-items:center!important;vertical-align:middle!important;flex:0 0 auto!important;}
body.app-mode input[type="radio"]{border-radius:999px!important;}
body.app-mode input[type="checkbox"]:checked,body.app-mode input[type="radio"]:checked{background:var(--e-accent)!important;border-color:var(--e-accent)!important;}
body.app-mode input[type="checkbox"]:checked::after{content:""!important;width:8px!important;height:5px!important;border-left:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(-45deg)!important;margin-top:-1px!important;}
body.app-mode input[type="radio"]:checked::after{content:""!important;width:6px!important;height:6px!important;border-radius:999px!important;background:#fff!important;}
/* Record selection controls: compact circle, no oval, no overlap. */
body.app-mode .record-card.bulk-enabled{position:relative!important;padding:18px 18px 18px 58px!important;overflow:hidden!important;}
body.app-mode .record-card.bulk-enabled .record-main{display:block!important;width:100%!important;min-width:0!important;}
body.app-mode .bulk-select{position:absolute!important;top:18px!important;left:18px!important;width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;padding:0!important;margin:0!important;border-radius:999px!important;background:#fffdf8!important;border:1px solid var(--e-line)!important;box-shadow:0 8px 18px rgba(21,19,46,.10)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:3!important;overflow:hidden!important;}
body.app-mode .bulk-select input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;border-radius:999px!important;margin:0!important;padding:0!important;border:1.5px solid rgba(21,19,46,.42)!important;background:#fffdf8!important;}
body.app-mode .bulk-select input[type="checkbox"]:checked{background:var(--e-accent)!important;border-color:var(--e-accent)!important;}
body.app-mode .bulk-select input[type="checkbox"]:checked::after{content:""!important;width:5px!important;height:5px!important;border:0!important;border-radius:999px!important;background:#fff!important;transform:none!important;margin:0!important;}
/* Checkbox-field layout for real form checkboxes. */
body.app-mode .checkbox-field{display:flex!important;align-items:flex-start!important;gap:12px!important;background:#fffdf8!important;border-color:var(--e-line)!important;}
body.app-mode .checkbox-field input[type="checkbox"]{margin-top:2px!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;border-radius:7px!important;}
/* Dashboard countdown: clean button, aligned card, no strange border. */
body.app-mode .dash-side-stack{align-items:stretch!important;}
body.app-mode .dash-side-stack > .dash-card{width:100%!important;max-width:none!important;justify-self:stretch!important;}
body.app-mode .dash-countdown-card .dash-card-inner{padding:20px!important;display:grid!important;gap:14px!important;}
body.app-mode .dash-countdown-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;}
body.app-mode .dash-countdown-head h3{font-size:.82rem!important;line-height:1.1!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0!important;font-weight:900!important;}
body.app-mode .countdown-toggle{appearance:none!important;background:rgba(255,247,233,.12)!important;color:var(--e-cream)!important;border:1px solid rgba(255,247,233,.22)!important;border-radius:999px!important;box-shadow:none!important;min-height:34px!important;padding:7px 11px!important;font-size:.78rem!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.app-mode .countdown-toggle:hover{background:rgba(255,247,233,.18)!important;border-color:rgba(255,247,233,.34)!important;}
body.app-mode .dash-countdown-layout{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:14px!important;align-items:center!important;width:100%!important;}
body.app-mode .dash-countdown-number{font-family:var(--font-ui)!important;font-size:2.25rem!important;line-height:.96!important;font-weight:900!important;letter-spacing:-.045em!important;}
body.app-mode .dash-countdown-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;}
body.app-mode .dash-countdown-unit{border-radius:16px!important;padding:12px!important;background:rgba(255,247,233,.12)!important;border:1px solid rgba(255,247,233,.20)!important;min-width:0!important;}
body.app-mode .dash-countdown-unit .dash-countdown-number{font-size:1.75rem!important;}
/* Module tool layout: stable placement, no crowding. */
body.app-mode .module-controls{display:grid!important;gap:10px!important;min-width:0!important;}
body.app-mode .v11-filter-toolbar{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;align-items:center!important;gap:10px!important;}
body.app-mode .v11-filter-toolbar input[type="search"]{width:100%!important;min-width:0!important;}
body.app-mode .v11-filter-summary{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
body.app-mode .v11-filter-disclosure{grid-column:1/-1!important;overflow:hidden!important;}
body.app-mode .v11-filter-panel{display:flex!important;gap:10px!important;flex-wrap:wrap!important;padding:12px!important;}
body.app-mode .v11-filter-panel .filter-select{min-width:170px!important;max-width:260px!important;flex:1 1 190px!important;}
body.app-mode .v11-select-current{white-space:nowrap!important;min-height:42px!important;}
body.app-mode .bulk-toolbar{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
body.app-mode .bulk-toolbar .bulk-count{margin-right:auto!important;}
body.app-mode .bulk-toolbar .bulk-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:auto!important;justify-content:flex-end!important;}
/* Buttons on light and dark surfaces get explicit foregrounds. */
body.app-mode .btn{min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;color:var(--e-ink)!important;background:#fffdf8!important;border-color:var(--e-line)!important;line-height:1.15!important;}
body.app-mode .btn.primary{background:var(--e-accent)!important;border-color:var(--e-accent)!important;color:#fff!important;}
body.app-mode .btn.dark{background:var(--e-dark)!important;border-color:var(--e-dark)!important;color:var(--e-cream)!important;}
body.app-mode .btn.ghost{background:transparent!important;color:var(--e-ink)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) .btn:not(.primary){background:rgba(255,247,233,.12)!important;color:var(--e-cream)!important;border-color:rgba(255,247,233,.24)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) .btn.primary{background:var(--e-accent)!important;color:#fff!important;border-color:var(--e-accent)!important;}
/* Sidebar spacing and collision guard. */
body.app-mode .sidebar .brand{background:rgba(255,253,250,.76)!important;border-color:var(--e-line)!important;box-shadow:var(--e-shadow)!important;min-height:88px!important;padding:16px 13px!important;margin:0 0 14px!important;}
body.app-mode .sidebar .brand h1{color:var(--e-ink)!important;}
body.app-mode .sidebar .brand p{color:var(--e-muted)!important;}
@media(min-width:851px){body.app-mode .nav button.home-nav{top:132px!important;margin-top:0!important;margin-bottom:12px!important;}}
/* Tables and dense areas. */
body.app-mode th{background:#eadfcc!important;color:#4f463f!important;font-size:.78rem!important;font-weight:900!important;}
body.app-mode td{color:var(--e-ink)!important;font-size:.9rem!important;}
body.app-mode .pill,body.app-mode .status-chip{font-size:.78rem!important;font-weight:900!important;color:var(--e-ink)!important;}
/* Mobile placement: keep tools readable and tappable. */
@media(max-width:850px){
  body.app-mode .v11-filter-toolbar{grid-template-columns:1fr!important;}
  body.app-mode .v11-filter-toolbar .btn,body.app-mode .v11-select-current{width:100%!important;}
  body.app-mode .v11-filter-panel{display:grid!important;grid-template-columns:1fr!important;}
  body.app-mode .v11-filter-panel .filter-select{width:100%!important;max-width:none!important;}
  body.app-mode .record-card.bulk-enabled{padding:56px 16px 16px!important;}
  body.app-mode .bulk-select{top:16px!important;left:16px!important;}
  body.app-mode .bulk-toolbar{display:grid!important;grid-template-columns:1fr!important;}
  body.app-mode .bulk-toolbar .bulk-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  body.app-mode .bulk-toolbar .btn{width:100%!important;}
  body.app-mode .dash-countdown-head{align-items:flex-start!important;}
  body.app-mode .countdown-toggle{white-space:normal!important;text-align:center!important;line-height:1.15!important;}
  body.app-mode .dash-countdown-layout{grid-template-columns:1fr!important;}
  body.app-mode .dash-countdown-pair{grid-template-columns:1fr!important;}
}



/* v11 beta F: unified loading + comprehensive contrast and placement audit
   This layer corrects component-level regressions introduced during the v11 visual shift.
   Principle: light workspace surfaces use ink text; dark editorial moments use cream text;
   utility controls stay compact, readable, and spatially contained. */
:root{
  --f-page:#f5eee5;
  --f-page-2:#fbf7f0;
  --f-paper:#fffdf9;
  --f-paper-2:#f8efe6;
  --f-ink:#15132e;
  --f-ink-2:#282447;
  --f-muted:#4d443c;
  --f-muted-2:#665b51;
  --f-dark:#171433;
  --f-dark-2:#24205f;
  --f-plum:#40234a;
  --f-cream:#fff7e9;
  --f-cream-muted:#eadcc7;
  --f-accent:#d14b2b;
  --f-accent-dark:#9d341f;
  --f-green:#315c3b;
  --f-line:rgba(21,19,46,.17);
  --f-line-strong:rgba(21,19,46,.28);
  --f-dark-line:rgba(255,247,233,.25);
  --f-shadow:0 14px 32px rgba(21,19,46,.09);
  --f-shadow-strong:0 24px 70px rgba(21,19,46,.18);
  --f-radius-sm:12px;
  --f-radius-md:16px;
  --f-radius-lg:22px;
  --f-radius-xl:28px;
  --f-control-h:42px;
}
html,body{background:var(--f-page)!important;color:var(--f-ink)!important;}
body.app-mode{background:
  radial-gradient(circle at 8% -10%,rgba(209,75,43,.11),transparent 24%),
  radial-gradient(circle at 92% 2%,rgba(23,20,51,.07),transparent 26%),
  linear-gradient(135deg,var(--f-page-2) 0%,var(--f-page) 60%,#eadfd1 100%)!important;}
/* One loading language: initial loading uses the same card vocabulary as refresh/write operations. */
.loading{min-height:55vh!important;display:grid!important;place-items:center!important;color:var(--f-ink)!important;text-align:center!important;padding:24px!important;}
.loading .operation-card,.startup-loading-card{width:min(460px,calc(100vw - 44px))!important;background:rgba(255,253,249,.96)!important;color:var(--f-ink)!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:var(--f-radius-xl)!important;box-shadow:var(--f-shadow-strong)!important;padding:26px!important;text-align:center!important;}
.loading .operation-spinner,.startup-loading-card .operation-spinner{display:block!important;width:54px!important;height:54px!important;border-radius:999px!important;border:3px solid rgba(21,19,46,.14)!important;border-top-color:var(--f-accent)!important;margin:0 auto 15px!important;animation:spin .85s linear infinite!important;}
.loading h3,.startup-loading-card h3{margin:0 0 7px!important;color:var(--f-dark)!important;font-family:var(--font-ui,Inter,system-ui,sans-serif)!important;font-size:1.35rem!important;font-weight:900!important;letter-spacing:-.025em!important;}
.loading p,.startup-loading-card p{margin:0!important;color:var(--f-muted)!important;font-size:.96rem!important;line-height:1.45!important;}
.loading .loader{display:none!important;}
/* High contrast surface contracts. */
body.app-mode :where(.panel,.topbar,.metric-card,.record-card,.module-card,.table-wrap,.card-table-wrap,.detail-item,.setting-card,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.sidebar-card,.user-card,.module-toolbar,.module-controls,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.drawer-header,.drawer-footer,.app-toast,.write-queue-panel,.operation-card,.relationship-panel,.relationship-row,.picker-panel,.picker-row,.import-preview,.wizard-panel,.upload-panel,.snapshot-feature,.mini-stat,.detail-section,.detail-money-card,.detail-metric-card){background:rgba(255,253,249,.96)!important;color:var(--f-ink)!important;border-color:var(--f-line)!important;box-shadow:var(--f-shadow)!important;}
body.app-mode :where(.panel,.topbar,.metric-card,.record-card,.module-card,.table-wrap,.card-table-wrap,.detail-item,.setting-card,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.sidebar-card,.user-card,.module-toolbar,.module-controls,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.drawer-header,.drawer-footer,.app-toast,.write-queue-panel,.operation-card,.relationship-panel,.relationship-row,.picker-panel,.picker-row,.import-preview,.wizard-panel,.upload-panel,.snapshot-feature,.mini-stat,.detail-section,.detail-money-card,.detail-metric-card) :where(h1,h2,h3,h4,h5,h6,strong,.record-title,.dash-title,.stat-value,.snap-number,.module-card strong,.relationship-title,.setting-section-title,.setting-card strong,.drawer-header h3,.bulk-count,.detail-value,.detail-money-card strong,.detail-metric-card strong){color:var(--f-ink)!important;opacity:1!important;}
body.app-mode :where(.panel,.topbar,.metric-card,.record-card,.module-card,.table-wrap,.card-table-wrap,.detail-item,.setting-card,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.sidebar-card,.user-card,.module-toolbar,.module-controls,.bulk-toolbar,.v11-filter-disclosure,.v11-filter-panel,.drawer-panel,.drawer-header,.drawer-footer,.app-toast,.write-queue-panel,.operation-card,.relationship-panel,.relationship-row,.picker-panel,.picker-row,.import-preview,.wizard-panel,.upload-panel,.snapshot-feature,.mini-stat,.detail-section,.detail-money-card,.detail-metric-card) :where(p,span,small,em,.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.setting-help,.detail-item .k,.relationship-meta,.picker-meta,.hint,.checkbox-helper,.mini-empty,.empty span,.diagnostic-admin-note,.write-status,.detail-label,.detail-subtitle,.detail-prose,.detail-muted,.detail-link-meta,.helper-text){color:var(--f-muted)!important;opacity:1!important;font-weight:560!important;}
/* Dark/editorial surfaces: explicitly override nested light-surface rules. */
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero,.detail-hero-view){background:linear-gradient(135deg,var(--f-dark) 0%,var(--f-dark-2) 58%,var(--f-plum) 100%)!important;color:var(--f-cream)!important;border:1px solid var(--f-dark-line)!important;box-shadow:var(--f-shadow-strong)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero,.detail-hero-view) *{color:var(--f-cream)!important;opacity:1!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero,.detail-hero-view) :where(p,span,small,em,.dash-sub,.dash-meta,.dash-countdown-label,.dash-countdown-detail,.module-kicker,.module-description,.module-stat-label,.module-stat-sub,.detail-kicker,.detail-subtitle,.detail-chip){color:var(--f-cream-muted)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero,.detail-hero-view) .btn:not(.primary){background:rgba(255,247,233,.94)!important;color:var(--f-dark)!important;border-color:rgba(255,247,233,.45)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero,.detail-hero-view) .btn.primary{background:var(--f-accent)!important;color:#fff!important;border-color:var(--f-accent)!important;}
/* Detail drawer corrections, including Activity detail hero. */
.drawer-panel{background:rgba(255,253,249,.97)!important;color:var(--f-ink)!important;}
.drawer-header{background:rgba(255,253,249,.96)!important;border-bottom:1px solid var(--f-line)!important;}
#drawerSub{color:var(--f-muted)!important;opacity:1!important;font-size:.92rem!important;line-height:1.35!important;}
.detail-hero-view{padding:20px!important;border-radius:var(--f-radius-lg)!important;overflow:hidden!important;}
.detail-title{font-family:var(--font-ui,Inter,system-ui,sans-serif)!important;font-weight:920!important;letter-spacing:-.035em!important;line-height:1.05!important;}
.detail-kicker{font-size:.75rem!important;font-weight:900!important;letter-spacing:.13em!important;}
.detail-chip{background:rgba(255,247,233,.12)!important;border:1px solid rgba(255,247,233,.24)!important;color:var(--f-cream)!important;font-weight:820!important;}
.detail-section{background:rgba(255,253,249,.94)!important;border:1px solid var(--f-line)!important;border-radius:var(--f-radius-lg)!important;box-shadow:0 8px 20px rgba(21,19,46,.05)!important;}
.detail-section h4{color:var(--f-ink)!important;font-family:var(--font-ui,Inter,system-ui,sans-serif)!important;font-weight:900!important;}
.detail-section p,.detail-prose{color:var(--f-muted)!important;}
.detail-row{border-color:rgba(21,19,46,.10)!important;}
.detail-label,.detail-money-card span,.detail-metric-card span{color:#675d53!important;font-weight:900!important;}
.detail-value{color:var(--f-ink)!important;font-weight:640!important;}
/* Household readiness card/ring readability. */
.snapshot-feature{background:rgba(255,253,249,.96)!important;border:1px solid var(--f-line)!important;box-shadow:var(--f-shadow)!important;}
.snapshot-feature .snap-label,.mini-stat .snap-label{color:#675d53!important;font-weight:900!important;}
.snapshot-feature .snap-detail,.mini-stat .stat-sub{color:var(--f-muted)!important;font-weight:620!important;}
.ring{--ring:var(--f-accent)!important;background:conic-gradient(var(--ring) calc(var(--p)*1%),rgba(21,19,46,.14) 0)!important;box-shadow:inset 0 0 0 1px rgba(21,19,46,.08)!important;}
.ring:after{background:var(--f-dark)!important;box-shadow:inset 0 0 0 1px rgba(255,247,233,.16)!important;}
.ring span{color:var(--f-cream)!important;font-family:var(--font-ui,Inter,system-ui,sans-serif)!important;font-weight:920!important;}
/* Controls and buttons: compact, consistent, no strange inherited oval/overlap. */
.btn,.module-toolbar .btn,.v11-filter-toolbar .btn,.bulk-toolbar .btn,.quick-actions .btn,.drawer-actions .btn,.detail-action-row .btn{min-height:var(--f-control-h)!important;border-radius:14px!important;padding:9px 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;line-height:1.1!important;white-space:normal!important;text-align:center!important;font-weight:850!important;box-shadow:none!important;}
.btn{background:#fffdf9!important;color:var(--f-ink)!important;border:1px solid var(--f-line-strong)!important;}
.btn.primary{background:var(--f-accent)!important;color:#fff!important;border-color:var(--f-accent)!important;}
.btn.dark,.v11-select-current{background:var(--f-dark)!important;color:var(--f-cream)!important;border-color:var(--f-dark)!important;}
.btn.ghost{background:transparent!important;color:var(--f-ink)!important;border-color:transparent!important;}
.countdown-toggle{border:1px solid rgba(255,247,233,.38)!important;background:rgba(255,247,233,.12)!important;color:var(--f-cream)!important;border-radius:14px!important;min-height:38px!important;padding:8px 12px!important;box-shadow:none!important;white-space:normal!important;max-width:100%!important;}
.dash-countdown-card .countdown-toggle:hover{background:rgba(255,247,233,.20)!important;}
.v11-select-current{position:static!important;min-width:max-content!important;max-width:100%!important;border-radius:14px!important;padding-inline:14px!important;}
.module-filter-toolbar{align-items:center!important;gap:10px!important;overflow:visible!important;}
.v11-filter-disclosure{overflow:hidden!important;border-radius:var(--f-radius-lg)!important;}
.v11-filter-panel{background:rgba(250,244,237,.96)!important;border-top:1px solid var(--f-line)!important;gap:10px!important;}
.v11-filter-chip{background:#eee4da!important;color:var(--f-ink)!important;border:1px solid rgba(21,19,46,.16)!important;border-radius:999px!important;font-weight:820!important;padding:6px 10px!important;}
.v11-filter-chip button{color:var(--f-ink)!important;min-height:0!important;padding:0!important;line-height:1!important;}
/* Selection controls are controls, not text pills. */
.record-card.bulk-enabled{position:relative!important;padding-top:52px!important;}
.bulk-select{position:absolute!important;top:14px!important;left:14px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;background:rgba(255,253,249,.92)!important;border:1px solid var(--f-line)!important;border-radius:10px!important;box-shadow:0 8px 18px rgba(21,19,46,.10)!important;z-index:2!important;padding:0!important;margin:0!important;}
.bulk-select input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;border-radius:5px!important;border:1.5px solid rgba(21,19,46,.48)!important;background:#fffdf9!important;padding:0!important;margin:0!important;display:block!important;position:relative!important;box-shadow:none!important;}
.bulk-select input[type="checkbox"]:checked{background:var(--f-accent)!important;border-color:var(--f-accent)!important;}
.bulk-select input[type="checkbox"]:checked:after{content:""!important;position:absolute!important;left:50%!important;top:45%!important;width:8px!important;height:5px!important;border-left:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:translate(-50%,-50%) rotate(-45deg)!important;}
/* Form checkbox/radio overrides stay small and legible. */
input[type="checkbox"],input[type="radio"]{accent-color:var(--f-accent);}
body.app-mode input[type="checkbox"],body.app-mode input[type="radio"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;padding:0!important;margin:0!important;}
.checkbox-field{align-items:flex-start!important;gap:12px!important;}
/* Tables/cards/lists: ensure text is not too light. */
th{background:#eee4d9!important;color:#5f554c!important;font-weight:900!important;}
td{color:var(--f-ink)!important;border-color:rgba(21,19,46,.10)!important;}
.card-table-wrap td,.table-wrap td{color:var(--f-ink)!important;}
.record-line span:first-child{color:#675d53!important;font-weight:760!important;}
.record-line span:last-child{color:var(--f-ink)!important;font-weight:720!important;}
.record-sub,.record-note{color:var(--f-muted)!important;}
/* Status chip contrast. */
.pill,.status-chip{font-size:.78rem!important;font-weight:850!important;border:1px solid transparent!important;}
.pill.good,.status-chip.good{background:#e4efdc!important;color:#24512d!important;border-color:#c9deb9!important;}
.pill.warn,.status-chip.warn{background:#f8e9c9!important;color:#6f420a!important;border-color:#ecd1a0!important;}
.pill.bad,.status-chip.bad{background:#f8ddd5!important;color:#842716!important;border-color:#eebcae!important;}
.pill.info,.status-chip.info{background:#e3e5f4!important;color:#202465!important;border-color:#c8cbea!important;}
.pill.orange{background:#f3d8c9!important;color:#853119!important;border-color:#e9bda8!important;}
/* Layout containment and spacing checks. */
.module-controls{display:grid!important;gap:10px!important;margin:0!important;}
.context-bulk-toolbar{margin-top:0!important;}
.quick-actions{align-items:center!important;gap:8px!important;}
.quick-actions .btn{min-height:36px!important;padding:8px 10px!important;font-size:.82rem!important;}
.dash-card,.record-card,.panel,.setting-card{border-radius:var(--f-radius-lg)!important;}
.dash-countdown-layout{align-items:center!important;gap:14px!important;}
.dash-countdown-number{line-height:.95!important;}
/* Mobile: no overflow, no squashed controls. */
@media(max-width:850px){
  .module-filter-toolbar{grid-template-columns:1fr!important;}
  .module-filter-toolbar .btn,.v11-select-current{width:100%!important;min-width:0!important;}
  .record-card.bulk-enabled{padding-top:58px!important;}
  .bulk-select{top:16px!important;left:16px!important;}
  .detail-hero-view{padding:18px!important;}
  .detail-title{font-size:1.45rem!important;}
  .dash-countdown-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .countdown-toggle{width:100%!important;}
}



/* v11 beta G: surface-system correction, drawer summary contrast, and loading-state fix
   The previous beta still allowed broad contrast rules to collide with specific components.
   This layer makes surface roles explicit: drawer summaries are readable light cards;
   dashboard editorial cards stay dark; helper text and chart numbers get fixed tokens. */
:root{
  --g-page:#f6efe6;
  --g-paper:#fffdf9;
  --g-paper-soft:#faf1e8;
  --g-ink:#15132e;
  --g-ink-2:#292540;
  --g-muted:#51483f;
  --g-muted-2:#6a5f55;
  --g-line:rgba(21,19,46,.18);
  --g-line-strong:rgba(21,19,46,.30);
  --g-navy:#15132e;
  --g-navy-2:#23205e;
  --g-plum:#3d2448;
  --g-cream:#fff8ed;
  --g-cream-muted:#eadcc7;
  --g-accent:#d14b2b;
  --g-accent-soft:#f5dfd4;
  --g-good-bg:#e4f0de;
  --g-good-text:#244f2c;
  --g-warn-bg:#faead0;
  --g-warn-text:#71440a;
  --g-bad-bg:#f8ddd5;
  --g-bad-text:#7f2416;
  --g-info-bg:#e5e8f6;
  --g-info-text:#20245c;
  --g-shadow:0 14px 32px rgba(21,19,46,.08);
}
/* Inline style must be able to hide the initial loading container. Earlier beta CSS used display:grid!important. */
#loading[style*="display: none"],
#loading.is-hidden,
body:not(.startup-loading) #loading[style*="display: none"]{display:none!important;min-height:0!important;padding:0!important;overflow:hidden!important;}
#loading[style*="display: grid"]{display:grid!important;}
body.app-mode #loading[style*="display: none"]{display:none!important;}
/* Page and standard light surfaces. */
html,body{background:var(--g-page)!important;color:var(--g-ink)!important;}
body.app-mode .main,
body.app-mode #content{background:transparent!important;color:var(--g-ink)!important;}
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat){
  background:rgba(255,253,249,.97)!important;
  color:var(--g-ink)!important;
  border-color:var(--g-line)!important;
  box-shadow:var(--g-shadow)!important;
}
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat) :where(h1,h2,h3,h4,h5,h6,strong,.record-title,.dash-title,.stat-value,.snap-number,.module-card strong,.setting-card strong,.relationship-title,.detail-value,.bulk-count){color:var(--g-ink)!important;opacity:1!important;}
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat) :where(p,span,small,em,.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.setting-help,.relationship-meta,.picker-meta,.hint,.checkbox-helper,.mini-empty,.empty span,.diagnostic-admin-note,.helper-text,.detail-label,.detail-subtitle,.detail-prose,.detail-muted,.detail-link-meta){color:var(--g-muted)!important;opacity:1!important;font-weight:610!important;}
/* Keep only true editorial surfaces dark. Drawer record summaries are now light for accessibility. */
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero){
  background:linear-gradient(135deg,var(--g-navy) 0%,var(--g-navy-2) 58%,var(--g-plum) 100%)!important;
  color:var(--g-cream)!important;
  border-color:rgba(255,248,237,.25)!important;
  box-shadow:0 24px 70px rgba(21,19,46,.20)!important;
}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) *{color:var(--g-cream)!important;opacity:1!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) :where(p,span,small,em,.dash-sub,.dash-meta,.dash-countdown-label,.dash-countdown-detail,.module-kicker,.module-description,.module-stat-label,.module-stat-sub){color:var(--g-cream-muted)!important;}
/* Drawer hero: convert the global detail summary into a high-contrast light record header. */
body.app-mode .drawer-panel .detail-hero-view,
body.app-mode .detail-hero-view{
  background:linear-gradient(135deg,rgba(255,253,249,.99) 0%,rgba(250,241,232,.98) 100%)!important;
  color:var(--g-ink)!important;
  border:1px solid var(--g-line-strong)!important;
  border-left:6px solid var(--g-accent)!important;
  box-shadow:0 12px 28px rgba(21,19,46,.09)!important;
  border-radius:22px!important;
}
body.app-mode .drawer-panel .detail-hero-view:after,
body.app-mode .detail-hero-view:after{background:radial-gradient(circle,rgba(209,75,43,.10),transparent 64%)!important;opacity:1!important;}
body.app-mode .drawer-panel .detail-hero-view *,
body.app-mode .detail-hero-view *{color:var(--g-ink)!important;opacity:1!important;}
body.app-mode .drawer-panel .detail-hero-view :where(.detail-kicker,.detail-subtitle),
body.app-mode .detail-hero-view :where(.detail-kicker,.detail-subtitle){color:var(--g-muted)!important;font-weight:740!important;}
body.app-mode .drawer-panel .detail-title,
body.app-mode .detail-title{color:var(--g-ink)!important;font-weight:920!important;line-height:1.08!important;}
body.app-mode .drawer-panel .detail-chip,
body.app-mode .detail-chip{background:var(--g-info-bg)!important;color:var(--g-info-text)!important;border:1px solid rgba(32,36,92,.20)!important;font-weight:850!important;}
body.app-mode .drawer-panel .detail-chip.good,
body.app-mode .detail-chip.good{background:var(--g-good-bg)!important;color:var(--g-good-text)!important;border-color:rgba(36,79,44,.22)!important;}
body.app-mode .drawer-panel .detail-chip.warn,
body.app-mode .detail-chip.warn{background:var(--g-warn-bg)!important;color:var(--g-warn-text)!important;border-color:rgba(113,68,10,.22)!important;}
body.app-mode .drawer-panel .detail-chip.bad,
body.app-mode .detail-chip.bad{background:var(--g-bad-bg)!important;color:var(--g-bad-text)!important;border-color:rgba(127,36,22,.22)!important;}
body.app-mode .drawer-panel .detail-action-row .btn,
body.app-mode .detail-hero-view .btn{background:var(--g-navy)!important;color:var(--g-cream)!important;border-color:var(--g-navy)!important;}
body.app-mode .drawer-panel .detail-action-row .btn.primary,
body.app-mode .detail-hero-view .btn.primary{background:var(--g-accent)!important;color:#fff!important;border-color:var(--g-accent)!important;}
/* Dashboard helper/explanatory text and needs-attention copy. */
body.app-mode .snapshot-alert{color:var(--g-muted)!important;font-weight:640!important;border-top:1px solid var(--g-line)!important;line-height:1.45!important;}
body.app-mode .snapshot-alert strong{color:var(--g-ink)!important;font-weight:900!important;}
body.app-mode .dash-card:not(.dash-hero):not(.dash-countdown-card) .mini-empty,
body.app-mode .dash-card:not(.dash-hero):not(.dash-countdown-card) .dash-sub,
body.app-mode .dash-card:not(.dash-hero):not(.dash-countdown-card) .dash-meta,
body.app-mode .dash-card:not(.dash-hero):not(.dash-countdown-card) .view-link{color:var(--g-muted)!important;font-weight:640!important;}
body.app-mode .dash-card:not(.dash-hero):not(.dash-countdown-card) .dash-title{color:var(--g-ink)!important;font-weight:850!important;}
/* Household readiness chart/ring number. */
body.app-mode .snapshot-feature .ring,
body.app-mode .ring{--ring:var(--g-accent)!important;background:conic-gradient(var(--ring) calc(var(--p)*1%),rgba(21,19,46,.16) 0)!important;}
body.app-mode .snapshot-feature .ring:after,
body.app-mode .ring:after{background:var(--g-navy)!important;box-shadow:inset 0 0 0 1px rgba(255,248,237,.16)!important;}
body.app-mode .snapshot-feature .ring span,
body.app-mode .ring span{color:var(--g-cream)!important;font-weight:950!important;text-shadow:0 1px 2px rgba(0,0,0,.25)!important;}
body.app-mode .snapshot-feature .snap-label,
body.app-mode .mini-stat .snap-label{color:var(--g-muted)!important;font-weight:900!important;}
body.app-mode .snapshot-feature .snap-detail,
body.app-mode .mini-stat .stat-sub{color:var(--g-muted)!important;font-weight:650!important;}
/* Controls remain compact and spatially predictable. */
body.app-mode .bulk-select{width:30px!important;height:30px!important;border-radius:12px!important;background:rgba(255,253,249,.94)!important;border-color:var(--g-line)!important;box-shadow:0 8px 18px rgba(21,19,46,.08)!important;}
body.app-mode .bulk-select input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;border-radius:6px!important;padding:0!important;}
body.app-mode .countdown-toggle{border:1px solid rgba(255,248,237,.34)!important;border-radius:14px!important;box-shadow:none!important;color:var(--g-cream)!important;background:rgba(255,248,237,.12)!important;}
body.app-mode .countdown-toggle:hover{background:rgba(255,248,237,.18)!important;}
/* Tables and code-like detail blocks should never inherit pale text on light cards. */
body.app-mode :where(td,th,.detail-row,.detail-row span,.detail-system,.detail-system summary,.activity-detail,.activity-detail *){color:var(--g-ink)!important;}
body.app-mode th{color:var(--g-muted)!important;background:#f1e6db!important;font-weight:900!important;}
@media(max-width:850px){
  body.app-mode .drawer-panel .detail-hero-view,
  body.app-mode .detail-hero-view{border-left-width:4px!important;padding:18px!important;}
  body.app-mode .detail-title{font-size:1.42rem!important;}
}



/* v11 beta H: A² core colors, PWA icon alignment, and accessibility contrast audit
   Core palette supplied by Alfredo: terracotta #D14B2B, parchment #EADCC7, navy #232162.
   This block intentionally comes last so component-level text/surface contracts are not overridden by older beta styles. */
:root{
  --h-orange:#D14B2B;
  --h-orange-dark:#A83A22;
  --h-orange-soft:#F3D7CA;
  --h-cream:#EADCC7;
  --h-cream-2:#F7EFE4;
  --h-paper:#FFF9F1;
  --h-navy:#232162;
  --h-navy-2:#171647;
  --h-plum:#34265C;
  --h-ink:#191735;
  --h-muted:#4F4A69;
  --h-muted-2:#655F7A;
  --h-line:rgba(35,33,98,.18);
  --h-line-strong:rgba(35,33,98,.30);
  --h-focus:rgba(209,75,43,.36);
  --h-shadow:0 16px 38px rgba(35,33,98,.10);
  --h-shadow-strong:0 24px 70px rgba(35,33,98,.16);
  --h-good-bg:#E3F0DE;
  --h-good-text:#1F4D2B;
  --h-warn-bg:#FFE8C1;
  --h-warn-text:#663E00;
  --h-bad-bg:#F9D9D0;
  --h-bad-text:#7B2315;
  --h-info-bg:#E6E7F8;
  --h-info-text:#232162;
}
html,body{background:linear-gradient(135deg,#FFF9F1 0%,#F7EFE4 52%,#EADCC7 100%)!important;color:var(--h-ink)!important;}
meta[name="theme-color"]{content:"#EADCC7";}
/* Make the card loader a true transient overlay/state instead of a lingering page block. */
#loading.is-hidden,
body.app-mode #loading.is-hidden,
body.app-mode #loading[style*="display: none"],
#loading[style*="display: none"]{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;min-height:0!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;
}
#loading.loading:not(.is-hidden){background:transparent!important;color:var(--h-ink)!important;}
#loading.loading:not(.is-hidden) .operation-card{background:rgba(255,249,241,.96)!important;color:var(--h-ink)!important;border:1px solid rgba(35,33,98,.14)!important;box-shadow:var(--h-shadow-strong)!important;}
#loading.loading:not(.is-hidden) h3{color:var(--h-navy)!important;}
#loading.loading:not(.is-hidden) p{color:var(--h-muted)!important;font-weight:650!important;}
/* Standard light surfaces: readable by default. */
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat,.picker-panel,.wizard-panel,.upload-panel,.import-panel){
  background:rgba(255,249,241,.97)!important;color:var(--h-ink)!important;border-color:var(--h-line)!important;box-shadow:var(--h-shadow)!important;
}
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat,.picker-panel,.wizard-panel,.upload-panel,.import-panel) :where(h1,h2,h3,h4,h5,h6,strong,b,.record-title,.dash-title,.stat-value,.snap-number,.module-card strong,.setting-card strong,.relationship-title,.detail-value,.bulk-count,.drawer-header h3,.section-title){
  color:var(--h-ink)!important;opacity:1!important;font-weight:820!important;
}
body.app-mode :where(.panel,.record-card,.dash-card:not(.dash-hero):not(.dash-countdown-card),.metric-card,.topbar,.module-toolbar,.module-controls,.v11-filter-disclosure,.v11-filter-panel,.bulk-toolbar,.drawer-panel,.drawer-header,.drawer-footer,.detail-section,.detail-item,.setting-card,.relationship-panel,.relationship-row,.file-drop,.guest-row,.checkbox-field,.upload-target-note,.empty,.notice,.diagnostic-admin-panel,.operation-card,.write-queue-panel,.card-table-wrap,.table-wrap,.snapshot-feature,.mini-stat,.picker-panel,.wizard-panel,.upload-panel,.import-panel) :where(p,span,small,em,li,.record-sub,.record-note,.dash-sub,.dash-meta,.snap-detail,.stat-sub,.setting-help,.relationship-meta,.picker-meta,.hint,.checkbox-helper,.mini-empty,.empty span,.diagnostic-admin-note,.helper-text,.detail-label,.detail-subtitle,.detail-prose,.detail-muted,.detail-link-meta,.muted,.subtle){
  color:var(--h-muted)!important;opacity:1!important;font-weight:640!important;
}
/* Dark feature surfaces: explicit cream text, no inherited light-surface colors. */
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero){
  background:linear-gradient(135deg,var(--h-navy) 0%,var(--h-navy-2) 58%,var(--h-plum) 100%)!important;color:var(--h-paper)!important;border-color:rgba(234,220,199,.28)!important;box-shadow:var(--h-shadow-strong)!important;
}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) :where(h1,h2,h3,h4,h5,h6,strong,b,.stat-value,.module-stat-value,.countdown-number,.hero-title){color:var(--h-paper)!important;opacity:1!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) :where(p,span,small,em,.dash-sub,.dash-meta,.dash-countdown-label,.dash-countdown-detail,.module-kicker,.module-description,.module-stat-label,.module-stat-sub,.kicker){color:var(--h-cream)!important;opacity:1!important;font-weight:650!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) .btn:not(.primary),
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) .countdown-toggle{background:rgba(234,220,199,.14)!important;color:var(--h-paper)!important;border:1px solid rgba(234,220,199,.38)!important;}
body.app-mode :where(.dash-hero,.dash-countdown-card,.module-hero) .btn.primary{background:var(--h-orange)!important;color:#fff!important;border-color:var(--h-orange)!important;}
/* Drawer detail hero: global fix for every module's “more details” summary. */
body.app-mode .drawer-panel section.detail-hero-view,
body.app-mode .drawer-panel .detail-hero-view,
body.app-mode .detail-overview > .detail-hero-view,
body.app-mode .detail-hero-view{
  background:linear-gradient(135deg,#FFF9F1 0%,#F7EFE4 100%)!important;color:var(--h-ink)!important;border:1px solid var(--h-line-strong)!important;border-left:7px solid var(--h-orange)!important;box-shadow:0 12px 28px rgba(35,33,98,.10)!important;border-radius:24px!important;
}
body.app-mode .drawer-panel .detail-hero-view:after,
body.app-mode .detail-hero-view:after{background:radial-gradient(circle,rgba(209,75,43,.10),transparent 66%)!important;opacity:1!important;}
body.app-mode .drawer-panel .detail-hero-view :where(h1,h2,h3,h4,h5,h6,.detail-title,strong,b),
body.app-mode .detail-hero-view :where(h1,h2,h3,h4,h5,h6,.detail-title,strong,b){color:var(--h-ink)!important;opacity:1!important;font-weight:920!important;}
body.app-mode .drawer-panel .detail-hero-view :where(p,span,small,em,.detail-kicker,.detail-subtitle,.detail-prose,.detail-muted),
body.app-mode .detail-hero-view :where(p,span,small,em,.detail-kicker,.detail-subtitle,.detail-prose,.detail-muted){color:var(--h-muted)!important;opacity:1!important;font-weight:700!important;}
body.app-mode .drawer-panel .detail-hero-view .detail-kicker,
body.app-mode .detail-hero-view .detail-kicker{color:var(--h-navy)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-weight:900!important;}
body.app-mode .drawer-panel .detail-hero-view .detail-chip,
body.app-mode .detail-hero-view .detail-chip{background:var(--h-info-bg)!important;color:var(--h-info-text)!important;border:1px solid rgba(35,33,98,.24)!important;font-weight:850!important;}
body.app-mode .drawer-panel .detail-hero-view .detail-chip.good,
body.app-mode .detail-hero-view .detail-chip.good{background:var(--h-good-bg)!important;color:var(--h-good-text)!important;border-color:rgba(31,77,43,.28)!important;}
body.app-mode .drawer-panel .detail-hero-view .detail-chip.warn,
body.app-mode .detail-hero-view .detail-chip.warn{background:var(--h-warn-bg)!important;color:var(--h-warn-text)!important;border-color:rgba(102,62,0,.28)!important;}
body.app-mode .drawer-panel .detail-hero-view .detail-chip.bad,
body.app-mode .detail-hero-view .detail-chip.bad{background:var(--h-bad-bg)!important;color:var(--h-bad-text)!important;border-color:rgba(123,35,21,.28)!important;}
body.app-mode .drawer-panel .detail-action-row .btn,
body.app-mode .detail-hero-view .btn{background:var(--h-navy)!important;color:var(--h-paper)!important;border-color:var(--h-navy)!important;box-shadow:none!important;}
body.app-mode .drawer-panel .detail-action-row .btn.primary,
body.app-mode .detail-hero-view .btn.primary{background:var(--h-orange)!important;color:#fff!important;border-color:var(--h-orange)!important;}
/* Detail rows/forms: prevent pale inherited text inside drawers. */
body.app-mode .drawer-panel :where(.detail-section,.detail-item,.detail-row,.relationship-panel,.relationship-row,.drawer-field,.field,.form-row,.form-card){color:var(--h-ink)!important;}
body.app-mode .drawer-panel :where(.detail-label,label,.field-label,.setting-label){color:var(--h-navy)!important;font-weight:850!important;opacity:1!important;}
body.app-mode .drawer-panel :where(.detail-value,.detail-row strong,input,textarea,select,.select-display){color:var(--h-ink)!important;font-weight:680!important;}
body.app-mode .drawer-panel :where(.detail-prose,.detail-muted,.helper-text,.hint,.checkbox-helper){color:var(--h-muted)!important;font-weight:640!important;}
/* Dashboard helper text and “Needs attention” copy. */
body.app-mode .snapshot-alert,
body.app-mode .dash-card .snapshot-alert,
body.app-mode .dash-card .mini-empty,
body.app-mode .dash-card .dash-sub,
body.app-mode .dash-card .dash-meta,
body.app-mode .dash-card .stat-sub,
body.app-mode .dash-card .snap-detail{color:var(--h-muted)!important;font-weight:690!important;opacity:1!important;line-height:1.45!important;}
body.app-mode .snapshot-alert strong,
body.app-mode .dash-card .dash-title,
body.app-mode .dash-card strong{color:var(--h-ink)!important;font-weight:900!important;}
/* Household readiness ring: number remains light on dark center regardless of global text overrides. */
body.app-mode .snapshot-feature .ring,
body.app-mode .ring{--ring:var(--h-orange)!important;background:conic-gradient(var(--ring) calc(var(--p)*1%),rgba(35,33,98,.18) 0)!important;}
body.app-mode .snapshot-feature .ring:after,
body.app-mode .ring:after{background:var(--h-navy)!important;box-shadow:inset 0 0 0 1px rgba(234,220,199,.18)!important;}
body.app-mode .snapshot-feature .ring > span,
body.app-mode .ring > span,
body.app-mode .snapshot-feature .ring span,
body.app-mode .ring span{color:#FFF9F1!important;fill:#FFF9F1!important;font-weight:950!important;text-shadow:0 1px 2px rgba(0,0,0,.32)!important;}
body.app-mode .snapshot-feature .snap-label{color:var(--h-navy)!important;font-weight:900!important;}
/* Core A² accent alignment. */
body.app-mode .btn.primary,
body.app-mode button.primary{background:var(--h-orange)!important;color:#fff!important;border-color:var(--h-orange)!important;}
body.app-mode :where(a,.view-link,.link-button){color:var(--h-navy)!important;font-weight:760!important;}
body.app-mode :where(input,textarea,select){background:#FFFDF9!important;color:var(--h-ink)!important;border-color:var(--h-line-strong)!important;}
body.app-mode :where(input,textarea,select):focus{outline:3px solid var(--h-focus)!important;border-color:var(--h-orange)!important;}
body.app-mode ::placeholder{color:#6B6681!important;opacity:1!important;}
/* Diagnostics need to know this layer exists. */
body::after{content:"v11-beta-h-a2-accessibility";display:none;}



/* v11 beta J: archive view and restore UI */
.archive-view-toggle{display:inline-flex;gap:4px;align-items:center;padding:4px;border:1px solid var(--h-line, rgba(35,33,98,.18));border-radius:999px;background:rgba(255,253,249,.82);box-shadow:0 10px 24px rgba(35,33,98,.06);}
.archive-view-toggle .seg-btn{border:0;background:transparent;color:var(--h-muted, #5b5870);font-weight:900;font-size:.82rem;line-height:1;border-radius:999px;padding:9px 12px;min-height:34px;cursor:pointer;}
.archive-view-toggle .seg-btn.active{background:var(--h-navy, #232162);color:#fff9f2;box-shadow:0 8px 18px rgba(35,33,98,.18);}
.module-archive-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(209,75,43,.22);background:rgba(234,220,199,.62);border-radius:var(--radius-lg, 20px);color:var(--h-ink, #15132d);}
.module-archive-banner strong{color:var(--h-navy, #232162);font-weight:950;}
.module-archive-banner p{margin:4px 0 0;color:var(--h-muted, #56516c);font-weight:650;font-size:.92rem;line-height:1.42;}
.record-card.archived-record{border-color:rgba(209,75,43,.28)!important;background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(234,220,199,.54))!important;}
.record-card.archived-record:before{content:'Archived';position:absolute;top:12px;right:12px;border-radius:999px;background:rgba(209,75,43,.12);border:1px solid rgba(209,75,43,.24);color:var(--h-orange,#D14B2B);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;}
.archive-restore-note{font-size:.86rem;line-height:1.42;color:var(--h-muted,#56516c);font-weight:650;}
.detail-archive-status{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;border:1px solid rgba(209,75,43,.28);background:rgba(209,75,43,.12);color:var(--h-orange,#D14B2B);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;margin-bottom:8px;}
@media(max-width:760px){.archive-view-toggle{width:100%;justify-content:space-between}.archive-view-toggle .seg-btn{flex:1}.module-archive-banner{display:grid}.record-card.archived-record:before{position:static;display:inline-flex;margin:0 0 8px;width:max-content;order:-1}}



/* v11 beta J: card layout, household communication controls, dynamic insights, date correctness, and accessibility corrections */
:root{
  --j-success:#246B45;
  --j-success-bg:#DDEEE3;
  --j-warn:#8A4B12;
  --j-warn-bg:#F7E2BF;
  --j-danger:#9F321E;
  --j-danger-bg:#F3D4CC;
  --j-info:#232162;
  --j-info-bg:#E3E1F4;
  --j-neutral:#4E4A5E;
  --j-neutral-bg:#EFE9DE;
  --j-card-pad:17px;
}
/* Dashboard readiness ring: never inherit low contrast text. */
.ring span,
.snapshot-feature .ring span,
.dashboard .ring span,
.dash-card .ring span{
  color:#fff9ef!important;
  -webkit-text-fill-color:#fff9ef!important;
  text-shadow:0 1px 2px rgba(0,0,0,.55)!important;
  font-weight:950!important;
}
.ring:after{background:#151440!important;}
/* Filter panel clipping: the rounded parent owns the surface; children stay transparent. */
.v11-filter-disclosure{
  overflow:hidden!important;
  background:rgba(255,253,249,.94)!important;
  border:1px solid rgba(35,33,98,.16)!important;
  border-radius:20px!important;
  box-shadow:0 12px 26px rgba(35,33,98,.06)!important;
  background-clip:padding-box!important;
}
.v11-filter-disclosure summary{background:transparent!important;}
.v11-filter-panel{
  background:transparent!important;
  overflow:hidden!important;
  border-radius:0 0 18px 18px!important;
  margin:0!important;
  box-shadow:none!important;
}
.module-filter-toolbar{overflow:visible!important;background:transparent!important;box-shadow:none!important;}
/* Record card system: selection only affects header row; body uses full card width. */
.record-card{
  padding:var(--j-card-pad)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-height:0!important;
}
.record-card.bulk-enabled{padding-top:var(--j-card-pad)!important;}
.record-card .bulk-select{top:var(--j-card-pad)!important;left:var(--j-card-pad)!important;}
.record-main{display:block!important;width:100%!important;min-width:0!important;}
.record-card.bulk-enabled .record-top{padding-left:42px!important;min-height:32px!important;align-items:flex-start!important;}
.record-lines,.record-note{margin-left:0!important;width:100%!important;}
.record-lines{margin-top:13px!important;}
.record-card .quick-actions{
  margin-top:auto!important;
  padding-top:14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
}
.record-card .quick-actions .btn.open-details{margin-left:0!important;width:100%!important;justify-content:center!important;text-align:center!important;}
.record-card .quick-actions .btn{min-height:36px;}
.record-note{padding-bottom:0!important;margin-bottom:0!important;}
/* Dynamic insight badge. */
.record-insight{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:950;border:1px solid rgba(35,33,98,.16);white-space:nowrap;line-height:1.1;max-width:165px;overflow:hidden;text-overflow:ellipsis;}
.record-insight.actionable{cursor:pointer;transition:transform .16s ease, box-shadow .16s ease;}
.record-insight.actionable:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(35,33,98,.10);}
.record-insight.good{background:var(--j-success-bg);color:#164E31;border-color:rgba(36,107,69,.22);}
.record-insight.warn{background:var(--j-warn-bg);color:#6D390C;border-color:rgba(138,75,18,.24);}
.record-insight.bad{background:var(--j-danger-bg);color:#7C2416;border-color:rgba(159,50,30,.25);}
.record-insight.info{background:var(--j-info-bg);color:#232162;border-color:rgba(35,33,98,.20);}
.record-insight.neutral{background:var(--j-neutral-bg);color:#3C3948;border-color:rgba(78,74,94,.18);}
/* Household communication strip. */
.household-comm-strip{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;border-top:1px solid rgba(35,33,98,.10);padding-top:12px;}
.household-comm-control{display:grid;gap:5px;min-width:0;border:1px solid rgba(35,33,98,.12);background:rgba(255,253,249,.78);border-radius:15px;padding:10px;text-align:left;color:#14132d;cursor:pointer;transition:transform .16s ease, border-color .16s ease, background .16s ease;}
.household-comm-control:hover{transform:translateY(-1px);border-color:rgba(209,75,43,.38);background:#fffdf9;}
.household-comm-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.10em;font-weight:950;color:#5C566E;}
.household-comm-status{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.86rem;font-weight:920;color:#14132d;}
.household-comm-dot{width:9px;height:9px;border-radius:99px;flex:0 0 auto;background:#827E91;box-shadow:0 0 0 3px rgba(130,126,145,.12);}
.household-comm-control.good .household-comm-dot{background:var(--j-success);box-shadow:0 0 0 3px rgba(36,107,69,.16);}
.household-comm-control.warn .household-comm-dot{background:#B86B1D;box-shadow:0 0 0 3px rgba(184,107,29,.16);}
.household-comm-control.bad .household-comm-dot{background:var(--h-orange,#D14B2B);box-shadow:0 0 0 3px rgba(209,75,43,.16);}
.household-comm-control.info .household-comm-dot{background:var(--h-navy,#232162);box-shadow:0 0 0 3px rgba(35,33,98,.14);}
.household-comm-control.neutral .household-comm-dot{background:#827E91;}
.household-comm-chevron{color:#68627A;font-weight:950;}
/* Popover/bottom sheet for household communication. */
.comm-popover{position:fixed;z-index:120;width:min(310px,calc(100vw - 28px));background:#fffdf9;color:#14132d;border:1px solid rgba(35,33,98,.18);border-radius:22px;box-shadow:0 26px 70px rgba(35,33,98,.24);padding:12px;}
.comm-popover h4{margin:0 0 3px;color:#232162;font-size:.98rem;letter-spacing:-.01em;}
.comm-popover p{margin:0 0 10px;color:#565069;font-size:.82rem;line-height:1.35;font-weight:620;}
.comm-options{display:grid;gap:6px;}
.comm-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(35,33,98,.10);background:#fff8ef;color:#14132d;border-radius:14px;padding:10px 11px;text-align:left;font-weight:850;}
.comm-option:hover{border-color:rgba(209,75,43,.38);background:#fff2e5;}
.comm-option.active{border-color:rgba(36,107,69,.38);background:#e5f3e9;color:#164E31;}
.comm-popover-close{position:absolute;top:8px;right:8px;border:0;background:transparent;color:#514B64;font-size:1.1rem;width:32px;height:32px;border-radius:99px;}
.comm-popover-close:hover{background:rgba(35,33,98,.08);}
.comm-backdrop{position:fixed;inset:0;z-index:119;background:transparent;}
@media(max-width:760px){
  .household-comm-strip{grid-template-columns:1fr;}
  .comm-popover{left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;border-radius:24px;padding:16px;box-shadow:0 -18px 60px rgba(35,33,98,.28);}
  .comm-backdrop{background:rgba(20,19,45,.28);backdrop-filter:blur(2px);}
  .record-card.bulk-enabled .record-top{padding-left:40px!important;}
}
body::after{content:"v11-beta-q-card-archive-stabilization";display:none;}


/* v11 beta K: sidebar navigation reliability.
   Keeps the sidebar clickable even if a transient communication popover/backdrop is open. */
@media(min-width:851px){
  body.app-mode .sidebar{z-index:140!important;}
  body.app-mode .comm-backdrop{z-index:60!important;}
  body.app-mode .comm-popover{z-index:120!important;}
}
.nav button{pointer-events:auto!important;}


/* v11 beta L: hardened sidebar navigation event/stacking rules. */
#nav, #nav button[data-view]{pointer-events:auto!important;position:relative;z-index:220;}
body.app-mode .sidebar{pointer-events:auto!important;}
body.app-mode .comm-backdrop{pointer-events:auto;}
@media(min-width:851px){body.app-mode .sidebar{z-index:240!important;}}



/* v11 beta M: sidebar/navigation reset.
   Reverts the experimental sticky Dashboard/brand behavior that caused overlap and click failures.
   The sidebar remains independently scrollable; the navigation itself is ordinary document flow. */
@media(min-width:851px){
  body.app-mode .sidebar{
    position:relative!important;
    top:auto!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:20!important;
    display:block!important;
  }
  body.app-mode .sidebar .brand,
  .sidebar .brand{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    margin:0 0 14px!important;
    transform:none!important;
  }
  body.app-mode .nav,
  .nav{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    gap:6px!important;
  }
  body.app-mode .nav button,
  .nav button{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  body.app-mode .nav button.home-nav,
  .nav button.home-nav{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    margin:0 0 10px!important;
  }
  body.app-mode .comm-backdrop{z-index:60!important;}
  body.app-mode .comm-popover{z-index:120!important;}
}
@media(max-width:850px){
  .sidebar .brand{position:relative!important;top:auto!important;z-index:1!important;}
  .nav button.home-nav{position:relative!important;top:auto!important;z-index:1!important;}
}



/* v11 beta P: card/filter system correction + recursion fix
   This layer intentionally centralizes the card header/body layout and the
   selection/filter controls so future edits do not depend on fragile spacing
   side-effects from earlier beta patches. */
:root{
  --o-card-pad: 17px;
  --o-card-gap: 12px;
  --o-card-radius: 22px;
  --o-filter-radius: 18px;
  --o-control-gap: 10px;
}
body.app-mode .module-controls{
  display:grid!important;
  gap:10px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.app-mode .module-filter-toolbar,
body.app-mode .selection-toolbar{
  border:1px solid var(--f-line)!important;
  border-radius:var(--o-filter-radius)!important;
  background:rgba(255,253,249,.96)!important;
  box-shadow:var(--f-shadow)!important;
  overflow:hidden!important;
}
body.app-mode .module-filter-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:var(--o-control-gap)!important;
  padding:12px!important;
}
body.app-mode .module-filter-toolbar > input[type="search"]{
  flex:1 1 260px!important;
  min-width:min(280px,100%)!important;
}
body.app-mode .v11-filter-disclosure{
  grid-column:1/-1!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--f-line)!important;
  border-radius:var(--o-filter-radius)!important;
  background:rgba(255,253,249,.98)!important;
  box-shadow:none!important;
}
body.app-mode .v11-filter-disclosure > summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  cursor:pointer!important;
  background:rgba(250,244,237,.72)!important;
  color:var(--f-ink)!important;
}
body.app-mode .v11-filter-disclosure > summary::-webkit-details-marker{display:none!important;}
body.app-mode .v11-filter-panel{
  margin:0!important;
  padding:12px!important;
  border:0!important;
  border-top:1px solid var(--f-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.app-mode .v11-filter-summary{
  flex:1 1 100%!important;
  margin-top:0!important;
}
body.app-mode .selection-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 12px!important;
}
body.app-mode .selection-toolbar .bulk-count{
  color:var(--f-muted)!important;
  font-weight:800!important;
  font-size:.84rem!important;
}
body.app-mode .selection-toolbar .bulk-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body.app-mode .record-card{
  padding:var(--o-card-pad)!important;
  border-radius:var(--o-card-radius)!important;
  display:grid!important;
  gap:0!important;
  overflow:visible!important;
}
body.app-mode .record-card.bulk-enabled{padding-top:var(--o-card-pad)!important;}
body.app-mode .record-card-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
}
body.app-mode .record-card-header.has-select{grid-template-columns:32px minmax(0,1fr) auto!important;}
body.app-mode .record-card-header .bulk-select{
  position:static!important;
  inset:auto!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  flex:0 0 30px!important;
  align-self:start!important;
  transform:none!important;
}
body.app-mode .record-heading{min-width:0!important;}
body.app-mode .record-body-full{
  width:100%!important;
  margin-top:13px!important;
  padding-top:0!important;
}
body.app-mode .record-body-full .record-lines,
body.app-mode .record-body-full .record-note{
  width:100%!important;
  margin-left:0!important;
}
body.app-mode .record-body-full .record-lines{margin-top:0!important;}
body.app-mode .record-insight{
  justify-self:end!important;
  align-self:start!important;
  max-width:150px!important;
  min-height:30px!important;
  padding:6px 9px!important;
  line-height:1.12!important;
  white-space:normal!important;
  text-align:left!important;
}
body.app-mode .record-insight span:last-child{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.app-mode .record-card .quick-actions{
  margin-top:13px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(35,33,98,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-height:0!important;
}
body.app-mode .record-card .quick-actions .btn.open-details{
  width:auto!important;
  min-width:112px!important;
  margin-left:0!important;
}
body.app-mode .household-comm-strip{
  margin-top:13px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(35,33,98,.10)!important;
}
@media(max-width:760px){
  body.app-mode .module-filter-toolbar{display:grid!important;grid-template-columns:1fr!important;}
  body.app-mode .module-filter-toolbar > input[type="search"],
  body.app-mode .module-filter-toolbar .btn,
  body.app-mode .selection-toolbar .btn{width:100%!important;min-width:0!important;}
  body.app-mode .selection-toolbar{display:grid!important;grid-template-columns:1fr!important;}
  body.app-mode .selection-toolbar .bulk-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  body.app-mode .record-card-header,
  body.app-mode .record-card-header.has-select{grid-template-columns:32px minmax(0,1fr)!important;}
  body.app-mode .record-card-header:not(.has-select){grid-template-columns:minmax(0,1fr)!important;}
  body.app-mode .record-insight{grid-column:1/-1!important;justify-self:start!important;max-width:100%!important;margin-top:2px!important;}
  body.app-mode .record-card .quick-actions{justify-content:stretch!important;}
  body.app-mode .record-card .quick-actions .btn.open-details{width:100%!important;}
}



/* v11 beta R: archive switch + card rhythm stabilization.
   Maintainer note: these are presentation-layer corrections only. Keep the card header/body/action
   areas as separate layout regions so checkbox or dynamic status UI never creates a left gutter in
   the body or action zones. */
.archive-view-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(35,33,98,.20);background:rgba(255,255,255,.72);border-radius:999px;padding:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.archive-view-toggle .seg-btn{border:0;background:transparent;color:#2f2d60;border-radius:999px;padding:8px 12px;font-weight:850;font-size:.82rem;line-height:1.1;min-height:34px;opacity:1}
.archive-view-toggle .seg-btn:not(.active){color:#38335f;background:transparent}
.archive-view-toggle .seg-btn.active{background:#232162;color:#fff9ef;box-shadow:0 8px 18px rgba(35,33,98,.18)}
.archive-view-toggle .seg-btn span{font-size:.72rem;opacity:.92;margin-left:4px}
.module-actions{align-items:center}.module-actions .archive-view-toggle{order:99;flex:0 0 auto}.archive-mode .module-actions .archive-view-toggle{order:99}
.archive-summary-grid .module-stat{min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.archive-summary-grid .module-stat-value{min-height:34px;display:flex;align-items:center}.archive-summary-grid .module-stat-sub{min-height:42px;display:block}
.record-card{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0}.record-card.bulk-enabled{padding-top:16px}.record-main{display:block;width:100%}.record-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;min-height:58px}.record-card-header.has-select{grid-template-columns:34px minmax(0,1fr) auto}.record-card-header .bulk-select{position:static;top:auto;left:auto;margin:1px 0 0 0;width:28px;height:28px;align-self:start}.record-heading{min-width:0}.record-title{min-height:1.35em}.record-sub{min-height:1.25em;color:var(--text-muted-on-light,#4f4a6a)}
.record-insight{position:static;max-width:148px;align-self:start;justify-self:end;white-space:normal;text-align:left;line-height:1.16;padding:6px 9px;min-height:30px;display:inline-flex;align-items:center;gap:5px}.record-body-full{width:100%;display:flex;flex-direction:column;gap:10px}.record-lines{width:100%;display:grid;gap:8px;margin-top:0}.record-line{width:100%;display:flex;justify-content:space-between;gap:14px;min-height:28px;align-items:center}.record-line span:first-child{font-weight:800}.record-note{width:100%;min-height:0;margin-top:0}.record-card .household-comm-strip{width:100%;margin-top:0}.quick-actions{width:100%;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:2px}.quick-actions .btn.open-details{width:100%;justify-content:center;text-align:center;margin-left:0}.quick-actions .btn:not(.open-details){flex:1 1 160px;justify-content:center;text-align:center}.archived-record .quick-actions{align-items:stretch}.archived-record .archive-card-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:14px;padding:9px 11px;background:#f5eadb;color:#2d284c;border:1px solid rgba(35,33,98,.16);font-weight:850;font-size:.82rem}.archived-record .record-card-header{grid-template-columns:minmax(0,1fr) auto}.archived-record .record-card-header.has-select{grid-template-columns:34px minmax(0,1fr) auto}
.household-comm-strip{display:grid;gap:8px}.household-comm-control{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px}.household-comm-control::before,.comm-accent{margin-right:2px}.household-comm-control .comm-label{font-weight:850}.household-comm-control .comm-status{justify-self:end}
.module-controls{overflow:hidden}.filter-shell,.v11-filter-shell,.v11-filter-disclosure,.v11-filter-panel{overflow:hidden}.v11-filter-panel{border-radius:18px;background:rgba(255,255,255,.74);background-clip:padding-box}.v11-filter-disclosure > *{max-width:100%}
@media(max-width:760px){.record-card-header,.record-card-header.has-select,.archived-record .record-card-header,.archived-record .record-card-header.has-select{grid-template-columns:minmax(0,1fr);gap:10px}.record-card-header .bulk-select{justify-self:start}.record-insight{justify-self:start;max-width:100%}.module-actions .archive-view-toggle{width:100%;justify-content:space-between}.archive-view-toggle .seg-btn{flex:1}.quick-actions .btn:not(.open-details){flex:1 1 100%}}



/* --------------------------------------------------------------------------
   Split-file foundation note
   --------------------------------------------------------------------------
   This CSS was extracted from the previous single-file front end so the app can
   move toward a maintainable Cloudflare static structure without changing the
   live UI behavior in this release. Future passes should separate this into
   tokens/base/components/modules once the split foundation is verified.
*/



/* v11 beta Q: card + archive UX stabilization.
   Maintainer notes:
   - This layer intentionally fixes layout at the component boundary instead of using page-specific patches.
   - Checkbox/select controls live only in the card header; all content below uses the full card width.
   - Archive mode keeps the same page structure as Active mode to avoid jarring layout shifts. */
:root{
  --q-card-pad:18px;
  --q-card-gap:12px;
  --q-control-gap:10px;
}
body.app-mode .module-actions{align-items:center!important;gap:10px!important;min-height:42px!important;}
body.app-mode .module-actions .archive-view-toggle{order:99!important;margin-left:auto!important;flex:0 0 auto!important;}
body.app-mode .module-page.archive-mode .module-hero{margin-bottom:0!important;}
body.app-mode .module-controls{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
body.app-mode .module-filter-toolbar,
body.app-mode .v11-filter-toolbar{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
body.app-mode .v11-filter-disclosure{display:block!important;width:100%!important;overflow:hidden!important;background:rgba(255,253,249,.96)!important;border:1px solid var(--h-line, rgba(35,33,98,.16))!important;border-radius:20px!important;box-shadow:0 14px 28px rgba(35,33,98,.07)!important;background-clip:padding-box!important;isolation:isolate!important;}
body.app-mode .v11-filter-disclosure > summary{background:transparent!important;border-radius:20px!important;list-style:none!important;}
body.app-mode .v11-filter-disclosure > summary::-webkit-details-marker{display:none!important;}
body.app-mode .v11-filter-panel{background:transparent!important;border:0!important;box-shadow:none!important;margin:0!important;padding:12px!important;border-radius:0!important;overflow:hidden!important;}
body.app-mode .v11-filter-panel::before,
body.app-mode .v11-filter-panel::after,
body.app-mode .v11-filter-disclosure::before,
body.app-mode .v11-filter-disclosure::after{display:none!important;content:none!important;}

body.app-mode .record-card{position:relative!important;padding:var(--q-card-pad)!important;display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;}
body.app-mode .record-card.bulk-enabled{padding:var(--q-card-pad)!important;}
body.app-mode .record-card .record-main{display:block!important;width:100%!important;min-width:0!important;}
body.app-mode .record-card-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;column-gap:12px!important;row-gap:6px!important;margin:0!important;padding:0!important;min-height:0!important;}
body.app-mode .record-card-header.has-select{grid-template-columns:30px minmax(0,1fr) auto!important;}
body.app-mode .record-card-header .bulk-select{position:relative!important;top:auto!important;left:auto!important;width:28px!important;height:28px!important;margin:0!important;align-self:start!important;}
body.app-mode .record-card-header .bulk-select input{width:17px!important;height:17px!important;min-width:17px!important;}
body.app-mode .record-heading{min-width:0!important;}
body.app-mode .record-body-full{display:block!important;grid-column:1/-1!important;width:100%!important;margin:12px 0 0 0!important;padding:0!important;}
body.app-mode .record-card.bulk-enabled .record-body-full,
body.app-mode .record-card.bulk-enabled .record-lines,
body.app-mode .record-card.bulk-enabled .record-note,
body.app-mode .record-card.bulk-enabled .household-comm-strip,
body.app-mode .record-card.bulk-enabled .quick-actions{margin-left:0!important;padding-left:0!important;width:100%!important;}
body.app-mode .record-lines{display:grid!important;gap:8px!important;margin:0!important;width:100%!important;}
body.app-mode .record-line{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;width:100%!important;}
body.app-mode .record-note{margin:11px 0 0 0!important;padding:10px 0 0 0!important;width:100%!important;}
body.app-mode .record-insight{align-self:start!important;max-width:150px!important;min-height:30px!important;padding:6px 9px!important;white-space:normal!important;text-align:left!important;line-height:1.15!important;}
body.app-mode .record-insight span:last-child{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.app-mode .record-card .quick-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important;margin-top:auto!important;padding-top:14px!important;width:100%!important;}
body.app-mode .record-card .quick-actions .btn{width:100%!important;justify-content:center!important;text-align:center!important;min-height:42px!important;}
body.app-mode .record-card .quick-actions .btn.open-details{width:100%!important;margin-left:0!important;}

body.app-mode .record-card.archived-record{padding:var(--q-card-pad)!important;background:rgba(255,253,249,.97)!important;border-color:rgba(209,75,43,.24)!important;}
body.app-mode .record-card.archived-record::before{display:none!important;content:none!important;}
body.app-mode .archive-card-banner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 12px 0!important;padding:9px 11px!important;border-radius:14px!important;border:1px solid rgba(209,75,43,.22)!important;background:rgba(209,75,43,.08)!important;color:var(--h-orange,#D14B2B)!important;font-size:.74rem!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
body.app-mode .record-card.archived-record .quick-actions{margin-top:14px!important;}

body.app-mode .household-comm-strip{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:13px 0 0 0!important;padding:12px 0 0 0!important;width:100%!important;}
body.app-mode .household-comm-control{display:grid!important;grid-template-columns:4px minmax(0,1fr) auto!important;column-gap:12px!important;row-gap:3px!important;align-items:center!important;padding:11px 12px!important;}
body.app-mode .household-comm-control::before{content:"";grid-row:1 / span 2;width:4px;height:100%;min-height:34px;border-radius:999px;background:currentColor;opacity:.55;}
body.app-mode .household-comm-label{grid-column:2 / 3!important;}
body.app-mode .household-comm-status{grid-column:2 / 4!important;justify-content:flex-start!important;gap:9px!important;}
body.app-mode .household-comm-dot{display:none!important;}
body.app-mode .household-comm-chevron{margin-left:auto!important;}

body.app-mode .module-archive-banner{margin-top:0!important;}
body.app-mode .selection-toolbar{width:100%!important;}
@media(max-width:760px){
  body.app-mode .module-actions .archive-view-toggle{order:0!important;margin-left:0!important;width:100%!important;}
  body.app-mode .record-card-header,
  body.app-mode .record-card-header.has-select{grid-template-columns:30px minmax(0,1fr)!important;}
  body.app-mode .record-card-header:not(.has-select){grid-template-columns:minmax(0,1fr)!important;}
  body.app-mode .record-card-header .record-insight{grid-column:1/-1!important;max-width:100%!important;width:max-content!important;}
  body.app-mode .record-card-header.has-select .record-insight{grid-column:2/-1!important;}
  body.app-mode .household-comm-strip{grid-template-columns:1fr!important;}
}


/* v11 beta R: archive switch + card rhythm stabilization.
   Maintainer note: these are presentation-layer corrections only. Keep the card header/body/action
   areas as separate layout regions so checkbox or dynamic status UI never creates a left gutter in
   the body or action zones. */
.archive-view-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(35,33,98,.20);background:rgba(255,255,255,.72);border-radius:999px;padding:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.archive-view-toggle .seg-btn{border:0;background:transparent;color:#2f2d60;border-radius:999px;padding:8px 12px;font-weight:850;font-size:.82rem;line-height:1.1;min-height:34px;opacity:1}
.archive-view-toggle .seg-btn:not(.active){color:#38335f;background:transparent}
.archive-view-toggle .seg-btn.active{background:#232162;color:#fff9ef;box-shadow:0 8px 18px rgba(35,33,98,.18)}
.archive-view-toggle .seg-btn span{font-size:.72rem;opacity:.92;margin-left:4px}
.module-actions{align-items:center}.module-actions .archive-view-toggle{order:99;flex:0 0 auto}.archive-mode .module-actions .archive-view-toggle{order:99}
.archive-summary-grid .module-stat{min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.archive-summary-grid .module-stat-value{min-height:34px;display:flex;align-items:center}.archive-summary-grid .module-stat-sub{min-height:42px;display:block}
.record-card{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0}.record-card.bulk-enabled{padding-top:16px}.record-main{display:block;width:100%}.record-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;min-height:58px}.record-card-header.has-select{grid-template-columns:34px minmax(0,1fr) auto}.record-card-header .bulk-select{position:static;top:auto;left:auto;margin:1px 0 0 0;width:28px;height:28px;align-self:start}.record-heading{min-width:0}.record-title{min-height:1.35em}.record-sub{min-height:1.25em;color:var(--text-muted-on-light,#4f4a6a)}
.record-insight{position:static;max-width:148px;align-self:start;justify-self:end;white-space:normal;text-align:left;line-height:1.16;padding:6px 9px;min-height:30px;display:inline-flex;align-items:center;gap:5px}.record-body-full{width:100%;display:flex;flex-direction:column;gap:10px}.record-lines{width:100%;display:grid;gap:8px;margin-top:0}.record-line{width:100%;display:flex;justify-content:space-between;gap:14px;min-height:28px;align-items:center}.record-line span:first-child{font-weight:800}.record-note{width:100%;min-height:0;margin-top:0}.record-card .household-comm-strip{width:100%;margin-top:0}.quick-actions{width:100%;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:2px}.quick-actions .btn.open-details{width:100%;justify-content:center;text-align:center;margin-left:0}.quick-actions .btn:not(.open-details){flex:1 1 160px;justify-content:center;text-align:center}.archived-record .quick-actions{align-items:stretch}.archived-record .archive-card-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:14px;padding:9px 11px;background:#f5eadb;color:#2d284c;border:1px solid rgba(35,33,98,.16);font-weight:850;font-size:.82rem}.archived-record .record-card-header{grid-template-columns:minmax(0,1fr) auto}.archived-record .record-card-header.has-select{grid-template-columns:34px minmax(0,1fr) auto}
.household-comm-strip{display:grid;gap:8px}.household-comm-control{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px}.household-comm-control::before,.comm-accent{margin-right:2px}.household-comm-control .comm-label{font-weight:850}.household-comm-control .comm-status{justify-self:end}
.module-controls{overflow:hidden}.filter-shell,.v11-filter-shell,.v11-filter-disclosure,.v11-filter-panel{overflow:hidden}.v11-filter-panel{border-radius:18px;background:rgba(255,255,255,.74);background-clip:padding-box}.v11-filter-disclosure > *{max-width:100%}
@media(max-width:760px){.record-card-header,.record-card-header.has-select,.archived-record .record-card-header,.archived-record .record-card-header.has-select{grid-template-columns:minmax(0,1fr);gap:10px}.record-card-header .bulk-select{justify-self:start}.record-insight{justify-self:start;max-width:100%}.module-actions .archive-view-toggle{width:100%;justify-content:space-between}.archive-view-toggle .seg-btn{flex:1}.quick-actions .btn:not(.open-details){flex:1 1 100%}}



/* v11.1.1 layout stabilization notes
   Immediate browser-winning styles are injected at the end of js/app.js because
   earlier beta patches also inject CSS at runtime. Keep long-term component CSS here
   once old beta runtime style blocks are retired. */


/* v11.1.2 note: final layout-rhythm overrides are installed by js/app.js at runtime so they load after older transitional beta style injections. This avoids editing legacy beta blocks while keeping the authoritative v11.1.2 layer isolated at the end of app.js. */
