 .shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{height:100vh;position:sticky;top:0;padding:24px 16px;border-right:1px solid var(--border);background:rgba(var(--panel),.82);backdrop-filter:blur(28px);display:flex;flex-direction:column;gap:24px}aside img{width:100%;max-width:205px}aside small{display:block;color:var(--muted);margin-top:8px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:var(--muted);padding:12px 14px;border-radius:14px;text-align:left;cursor:pointer}nav button.active,nav button:hover{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.aside-bottom{margin-top:auto;display:grid;gap:12px;color:var(--muted)}main{padding:28px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}header h1{margin:4px 0;font-size:34px}header p,.intro p,.welcome p{font-size:12px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin:0}header span,.intro span,#date{color:var(--muted)}header>div:last-child{display:flex;gap:10px;align-items:center}button{border-radius:12px;padding:10px 14px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text)}#save,#runTests{border:0;background:var(--accent);color:#fff}.badge{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px}.badge.ok{color:var(--ok)}.view{display:none}.view.active{display:block}.glass,.living{background:rgba(var(--panel),var(--opacity));border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.welcome{padding:20px;display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:center;margin-bottom:16px}.welcome h2{font-size:34px;margin:6px 0}.welcome h3{font-weight:500}.pulse{display:flex;gap:16px;align-items:center;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.pulse>b{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--accent);color:#fff;font-size:30px}.pulse small,.pulse strong,.pulse span{display:block}.pulse strong{font-size:22px;margin:4px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.living{min-height:250px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.living strong{font-size:36px}.living b{font-size:32px}.living h3{margin:0}.living span{color:var(--muted)}.living.medium{border-left:4px solid var(--warn)}.living.high{border-left:4px solid var(--bad)}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.intro h2{margin:4px 0}.brief{display:grid;gap:14px}.brief article{display:grid;grid-template-columns:110px 72px 1fr;gap:18px;align-items:center;padding:18px}.brief strong{font-size:28px}.brief b{font-size:34px}.brief span{color:var(--muted)}.engine{display:grid;grid-template-columns:320px 1fr;gap:16px}.controls{padding:20px;display:grid;gap:14px;align-self:start}.controls label{display:grid;gap:7px;color:var(--muted);font-size:13px}.controls input,.controls select{padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}#rules{display:grid;gap:10px}.rule{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.dot{width:12px;height:12px;border-radius:50%}.dot.low{background:var(--ok)}.dot.medium{background:var(--warn)}.dot.high{background:var(--bad)}.rule small{color:var(--muted)}.testgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.test{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.test span,.test strong,.test small{display:block}.test span,.test small{color:var(--muted)}.test.pass{border-color:var(--ok)}.test.fail{border-color:var(--bad)}pre{white-space:pre-wrap;max-height:340px;overflow:auto;padding:14px;border-radius:14px;background:#11191d;color:#dce8e3;font-size:12px}#toast{position:fixed;right:24px;bottom:24px;padding:12px 16px;border-radius:12px;background:var(--text);color:var(--bg);opacity:0;transform:translateY(10px);transition:.2s}#toast.show{opacity:1;transform:none}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{height:auto;position:static}.welcome,.engine{grid-template-columns:1fr}.cards,.testgrid{grid-template-columns:1fr}.brief article{grid-template-columns:1fr}header,.intro{flex-direction:column;align-items:flex-start}}
.theme-logo{min-height:92px;display:flex;align-items:center}
.theme-logo img{width:100%;max-width:215px;height:auto;object-fit:contain}
.logo-night{display:none}
html[data-theme="night"] .logo-day{display:none}
html[data-theme="night"] .logo-night{display:block}

.pulse{
  width:100%;
  text-align:left;
  color:var(--text);
  cursor:pointer;
}
.pulse:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
}
.pulse:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);
  outline-offset:3px;
}
.living.pulse-target{
  outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);
  transform:translateY(-4px);
}

.car-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}
.car-profile,.car-service-card{display:grid;gap:14px}
.car-identity{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:center}
.car-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:22px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:40px}
.car-identity>div:last-child,.car-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.car-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.car-profile label,.car-service-card label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.car-profile input,.car-profile select,.car-service-card input,.car-service-card select{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--solid);color:var(--text)}
.service-result{padding:16px;border-radius:16px;background:color-mix(in srgb,var(--accent) 8%,var(--solid));border:1px solid var(--line)}
.service-result span,.service-result strong,.service-result small{display:block}
.service-result strong{font-size:24px;margin:6px 0}
.service-result small{color:var(--muted)}
.car-engine-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.car-engine-summary>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.car-engine-summary span,.car-engine-summary strong{display:block}
.car-engine-summary span{color:var(--muted);font-size:12px;margin-bottom:5px}
@media(max-width:900px){.car-grid{grid-template-columns:1fr}.car-facts,.car-engine-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.car-identity{grid-template-columns:1fr}.car-identity>div:last-child,.car-facts,.car-engine-summary{grid-template-columns:1fr}}

.health-today{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.health-today-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:34px}
.health-today small,.health-today h3,.health-today p{display:block}
.health-today h3{margin:6px 0}.health-today p{margin:0;color:var(--muted)}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.health-panel{display:grid;gap:12px}
.health-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.health-panel input{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--solid);color:var(--text)}
.measurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.health-result{padding:14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,var(--solid));border:1px solid var(--line)}
.health-result span,.health-result strong,.health-result small{display:block}
.health-result strong{font-size:25px;margin:5px 0}.health-result small{color:var(--muted)}
.health-helper{margin:0;color:var(--muted);font-size:13px}
.latest-measurements,.confidence-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.latest-measurements>div,.confidence-card>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.latest-measurements span,.latest-measurements strong,.confidence-card span,.confidence-card strong{display:block}
.latest-measurements span,.confidence-card span{color:var(--muted);font-size:12px;margin-bottom:5px}
@media(max-width:850px){.health-grid{grid-template-columns:1fr}.measurement-grid,.latest-measurements,.confidence-card{grid-template-columns:1fr}}

.house-today{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.house-today-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:34px}
.house-today small,.house-today h3,.house-today p{display:block}
.house-today h3{margin:6px 0}.house-today p{margin:0;color:var(--muted)}
.house-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.house-panel{display:grid;gap:12px}
.house-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.house-panel input,.house-panel select{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--solid);color:var(--text)}
.house-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.house-checklist label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--solid)}
.house-result{padding:14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,var(--solid));border:1px solid var(--line)}
.house-result span,.house-result strong,.house-result small{display:block}
.house-result strong{font-size:25px;margin:5px 0}.house-result small{color:var(--muted)}
.maintenance-summary{display:grid;gap:10px}
.maintenance-summary>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.maintenance-summary span,.maintenance-summary strong,.maintenance-summary small{display:block}
.maintenance-summary span,.maintenance-summary small{color:var(--muted)}
.maintenance-summary strong{margin:4px 0}
@media(max-width:850px){.house-grid{grid-template-columns:1fr}.house-checklist{grid-template-columns:1fr}}

/* Nordic UI Kit v1 */
.nordic-input{
  width:100%;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--solid);
  color:var(--text);
  outline:none;
  transition:border-color .18s, box-shadow .18s, background .18s;
}
.nordic-input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
}
.nordic-date{color-scheme:light}
html[data-theme="night"] .nordic-date{color-scheme:dark}

.nordic-select{position:relative;width:100%}
.nordic-select-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--solid);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.nordic-select-trigger:focus-visible{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
}
.nordic-select-caret{transition:transform .18s;color:var(--muted)}
.nordic-select.open .nordic-select-caret{transform:rotate(180deg)}
.nordic-select-menu{
  position:absolute;
  z-index:9999;
  top:calc(100% + 8px);
  left:0;
  right:0;
  display:none;
  padding:8px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(var(--panel),.98);
  box-shadow:0 20px 55px rgba(0,0,0,.22);
  backdrop-filter:blur(24px);
  max-height:280px;
  overflow:auto;
}
.nordic-select.open .nordic-select-menu{display:grid;gap:4px}
.nordic-select-option{
  width:100%;
  padding:11px 12px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.nordic-select-option:hover,
.nordic-select-option:focus-visible{
  background:color-mix(in srgb,var(--accent) 12%,var(--solid));
  outline:none;
}
.nordic-select-option.active{
  background:color-mix(in srgb,var(--accent) 18%,var(--solid));
  color:var(--accent);
  font-weight:700;
}

.nordic-checkbox{
  appearance:none;
  width:20px;
  height:20px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--solid);
  display:inline-grid;
  place-content:center;
  cursor:pointer;
}
.nordic-checkbox::before{
  content:"✓";
  color:white;
  font-size:13px;
  transform:scale(0);
  transition:transform .14s;
}
.nordic-checkbox:checked{
  background:var(--accent);
  border-color:var(--accent);
}
.nordic-checkbox:checked::before{transform:scale(1)}
.nordic-checkbox:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 20%,transparent);
  outline-offset:2px;
}
.nordic-check-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:10px;
}

.ui-kit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.ui-kit-panel{display:grid;gap:12px}
.ui-kit-panel p{margin:0;color:var(--muted)}
.ui-kit-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.ui-button-row{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:800px){.ui-kit-grid{grid-template-columns:1fr}}

/* Nordic UI Kit v1.1 — dropdown portal layer */
.nordic-overlay-root{
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  overflow:visible;
}

.nordic-select-menu.nordic-select-portal{
  position:fixed;
  z-index:2147483001;
  display:none;
  padding:8px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(var(--panel),.985);
  color:var(--text);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  backdrop-filter:blur(26px);
  overflow-y:auto;
  overscroll-behavior:contain;
  pointer-events:auto;
}

.nordic-select-menu.nordic-select-portal.open{
  display:grid;
  gap:4px;
}

.nordic-select-menu.nordic-select-portal[hidden]{
  display:none!important;
}

html[data-theme="night"] select,
html[data-theme="night"] option{
  color-scheme:dark;
  background:#17242a;
  color:#eef4f2;
}

/* Nordic UI Kit v1.2 — Nordic Number Stepper */
.nordic-number{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 40px;
  align-items:stretch;
  width:100%;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--solid);
  overflow:hidden;
  transition:border-color .18s,box-shadow .18s,background .18s;
}

.nordic-number:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
}

.nordic-number input[type="number"]{
  width:100%;
  min-width:0;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--text);
  text-align:center;
  appearance:textfield;
  -moz-appearance:textfield;
}

.nordic-number input[type="number"]::-webkit-inner-spin-button,
.nordic-number input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.nordic-number-button{
  border:0;
  background:color-mix(in srgb,var(--accent) 7%,var(--solid));
  color:var(--text);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:background .16s,color .16s,transform .08s;
}

.nordic-number-button:first-child{
  border-right:1px solid var(--line);
}

.nordic-number-button:last-child{
  border-left:1px solid var(--line);
}

.nordic-number-button:hover{
  background:color-mix(in srgb,var(--accent) 16%,var(--solid));
  color:var(--accent);
}

.nordic-number-button:active{
  transform:scale(.96);
}

.nordic-number-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:-3px;
}

html[data-theme="night"] .nordic-number-button{
  background:color-mix(in srgb,var(--accent) 10%,var(--solid));
}

@media(max-width:620px){
  .nordic-number{
    grid-template-columns:44px minmax(0,1fr) 44px;
  }
}

.finance-today{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.finance-today-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:34px}
.finance-today small,.finance-today h3,.finance-today p{display:block}
.finance-today h3{margin:6px 0}.finance-today p{margin:0;color:var(--muted)}
.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.finance-metric span,.finance-metric strong,.finance-metric small{display:block}
.finance-metric span,.finance-metric small{color:var(--muted)}
.finance-metric strong{font-size:26px;margin:7px 0}
.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.finance-panel{display:grid;gap:12px;align-content:start}
.finance-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.panel-head h3,.panel-head p{margin:0}.panel-head p{color:var(--muted);margin-top:4px}
.finance-inline-form{display:grid;grid-template-columns:1fr 150px;gap:10px}
.finance-bill-form{display:grid;grid-template-columns:1fr 140px 160px;gap:10px}
.finance-debt-form{display:grid;grid-template-columns:1fr 150px 150px;gap:10px}
.finance-list{display:grid;gap:9px}
.finance-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.finance-list-item strong,.finance-list-item span{display:block}.finance-list-item span{color:var(--muted);font-size:12px;margin-top:4px}
.finance-list-item.paid{opacity:.58}.finance-list-item.paid strong{text-decoration:line-through}
.finance-actions{display:flex;gap:6px}
.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--solid));color:var(--text);cursor:pointer}
.icon-button:hover{background:color-mix(in srgb,var(--accent) 16%,var(--solid));color:var(--accent)}
.empty-state{color:var(--muted);margin:0;padding:15px;border:1px dashed var(--line);border-radius:13px}
.finance-breakdown{display:grid;gap:12px}
.breakdown-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.breakdown-row span{color:var(--muted)}
.breakdown-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 15%,transparent);overflow:hidden}
.breakdown-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#63a9d7))}
@media(max-width:1100px){.finance-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.finance-grid{grid-template-columns:1fr}.finance-bill-form,.finance-debt-form{grid-template-columns:1fr}.finance-inline-form{grid-template-columns:1fr}}
@media(max-width:600px){.finance-metrics{grid-template-columns:1fr}}

.household-hero{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.household-hero-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:34px}
.household-hero small,.household-hero h3,.household-hero p{display:block}
.household-hero h3{margin:6px 0}.household-hero p{margin:0;color:var(--muted)}
.household-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.household-panel{display:grid;gap:12px;align-content:start}
.household-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.member-form{display:grid;grid-template-columns:1fr 170px;gap:10px}
.member-list,.object-access-list,.role-matrix{display:grid;gap:10px}
.member-card{display:grid;grid-template-columns:44px 1fr 34px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.member-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 15%,var(--solid));font-weight:800;color:var(--accent)}
.member-info strong,.member-info span{display:block}.member-info span{color:var(--muted);font-size:12px;margin-top:3px}
.access-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.access-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.access-head strong,.access-head span{display:block}.access-head span{color:var(--muted);font-size:12px;margin-top:4px}
.access-scope{cursor:pointer}
.owner-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.owner-chip{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:transparent;color:var(--muted);cursor:pointer}
.owner-chip.active{background:color-mix(in srgb,var(--accent) 18%,var(--solid));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.role-row{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.role-row>div:first-child{display:flex;justify-content:space-between;gap:10px}
.role-row span{color:var(--muted);font-size:12px}
.permission-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.permission-chips span{padding:6px 8px;border-radius:999px;border:1px solid var(--line);opacity:.5}
.permission-chips span.active{opacity:1;background:color-mix(in srgb,var(--accent) 15%,var(--solid));color:var(--accent)}
.home-graph{padding-top:6px}
.graph-root{display:grid;gap:18px}
.graph-household{display:grid;justify-items:center;gap:5px;padding:18px;border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,var(--solid));border:1px solid var(--line);font-size:26px}
.graph-household strong{font-size:18px}.graph-household span{font-size:12px;color:var(--muted)}
.graph-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.graph-members,.graph-objects{display:grid;gap:9px}
.graph-members h4,.graph-objects h4{margin:0 0 4px;color:var(--muted)}
.graph-node{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.graph-node>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-weight:700}
.graph-node strong{align-self:end}.graph-node small{color:var(--muted);align-self:start}
@media(max-width:850px){.household-grid,.graph-columns{grid-template-columns:1fr}.member-form{grid-template-columns:1fr}}

/* Build 003A.1 — Nordic Motion tokens */
:root{
  --motion-fast:140ms;
  --motion-normal:220ms;
  --motion-slow:320ms;
  --motion-ease:cubic-bezier(.22,.8,.26,1);
}

.motion-lift{
  transition:transform var(--motion-fast) var(--motion-ease),
             border-color var(--motion-normal) var(--motion-ease),
             background var(--motion-normal) var(--motion-ease),
             opacity var(--motion-normal) var(--motion-ease);
}
.motion-lift:hover{transform:translateY(-2px)}

.aside-household{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.aside-household>small{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.14em;
  margin-bottom:8px;
}
.aside-member-list{display:grid;gap:6px}
.aside-member{
  width:100%;
  display:grid;
  grid-template-columns:32px 1fr;
  gap:8px;
  align-items:center;
  padding:7px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:background var(--motion-fast),transform var(--motion-fast),opacity var(--motion-fast);
}
.aside-member:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);transform:translateX(2px)}
.aside-member>span{
  display:grid;
  place-items:center;
  width:32px;height:32px;
  border-radius:10px;
  background:color-mix(in srgb,var(--accent) 15%,var(--solid));
  color:var(--accent);
  font-weight:800;
}
.aside-member strong,.aside-member small{display:block}
.aside-member small{color:var(--muted);font-size:10px;margin-top:2px}
.aside-member.inactive{opacity:.45}

.member-card{grid-template-columns:1fr 34px}
.member-open{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  align-items:center;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  padding:0;
}
.member-card.inactive{opacity:.55}

.owner-chip{
  transition:background var(--motion-normal) var(--motion-ease),
             color var(--motion-normal) var(--motion-ease),
             border-color var(--motion-normal) var(--motion-ease),
             transform var(--motion-fast) var(--motion-ease);
}
.owner-chip:hover:not(:disabled){transform:translateY(-1px)}
.owner-chip.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
.owner-chip.disabled{opacity:.4;cursor:not-allowed}

.access-scope{
  transition:background var(--motion-normal),color var(--motion-normal),transform var(--motion-fast);
}
.access-scope:hover{transform:translateY(-1px)}
.scope-private{background:color-mix(in srgb,#8f7bd9 16%,var(--solid))}
.scope-shared{background:color-mix(in srgb,#56a8d8 16%,var(--solid))}
.scope-household{background:color-mix(in srgb,var(--accent) 18%,var(--solid));color:var(--accent)}

.member-panel-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482500;
  background:rgba(5,12,16,.36);
  backdrop-filter:blur(3px);
  opacity:0;
  transition:opacity var(--motion-normal) var(--motion-ease);
}
.member-panel-backdrop.open{opacity:1}

.member-panel{
  position:fixed;
  top:0;right:0;bottom:0;
  z-index:2147482600;
  width:min(430px,94vw);
  padding:24px;
  background:rgba(var(--panel),.985);
  color:var(--text);
  border-left:1px solid var(--line);
  box-shadow:-28px 0 80px rgba(0,0,0,.28);
  backdrop-filter:blur(32px);
  overflow-y:auto;
  transform:translateX(105%);
  transition:transform var(--motion-normal) var(--motion-ease);
}
.member-panel.open{transform:translateX(0)}

.member-panel-head{
  position:relative;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:15px;
  align-items:center;
  padding:14px 0 22px;
  border-bottom:1px solid var(--line);
}
.member-panel-close{
  position:absolute;
  top:0;right:0;
  width:36px;height:36px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--solid);
  color:var(--text);
  font-size:22px;
  cursor:pointer;
}
.member-panel-avatar{
  display:grid;
  place-items:center;
  width:72px;height:72px;
  border-radius:22px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 30%,var(--solid)),var(--solid));
  color:var(--accent);
  font-size:30px;
  font-weight:900;
}
.member-panel-head small,.member-panel-head h2{display:block}
.member-panel-head h2{margin:5px 0 7px}
.member-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px}
.member-status.active{background:color-mix(in srgb,var(--accent) 16%,var(--solid));color:var(--accent)}
.member-status.inactive{background:color-mix(in srgb,#d17a7a 16%,var(--solid));color:#d17a7a}

.member-panel-body{display:grid;gap:20px;padding-top:20px}
.member-panel-body>label{display:grid;gap:7px;color:var(--muted);font-size:13px}
.member-panel-body section{display:grid;gap:10px}
.member-panel-body h3{margin:0}
.member-panel-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.member-panel-access{display:grid;gap:8px}
.member-access-row{
  display:grid;
  grid-template-columns:38px 1fr 30px;
  gap:10px;
  align-items:center;
  width:100%;
  padding:11px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--solid);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:background var(--motion-normal),border-color var(--motion-normal),transform var(--motion-fast);
}
.member-access-row:hover{transform:translateY(-1px)}
.member-access-row>span{
  display:grid;place-items:center;
  width:38px;height:38px;
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 9%,var(--solid));
}
.member-access-row strong,.member-access-row small{display:block}
.member-access-row small{color:var(--muted);margin-top:3px}
.member-access-row>b{text-align:center;color:var(--muted)}
.member-access-row.active{
  border-color:color-mix(in srgb,var(--accent) 48%,var(--line));
  background:color-mix(in srgb,var(--accent) 8%,var(--solid));
}
.member-access-row.active>b{color:var(--accent)}

.member-panel-permissions{display:flex;flex-wrap:wrap;gap:7px}
.member-panel-permissions span{
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  opacity:.55;
}
.member-panel-permissions span.active{
  opacity:1;
  background:color-mix(in srgb,var(--accent) 14%,var(--solid));
  color:var(--accent);
}
.member-danger{border-color:color-mix(in srgb,#d17a7a 55%,var(--line))!important;color:#d17a7a!important}

.graph-v2{animation:graphFade var(--motion-slow) var(--motion-ease)}
.graph-relationship-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.graph-person-column{
  display:grid;
  gap:11px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--solid);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform var(--motion-fast),border-color var(--motion-normal),background var(--motion-normal);
}
.graph-person-column:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.graph-person-column.inactive{opacity:.45}
.graph-person-head{
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
}
.graph-person-head>span{
  grid-row:1/3;
  display:grid;place-items:center;
  width:42px;height:42px;
  border-radius:13px;
  background:color-mix(in srgb,var(--accent) 14%,var(--solid));
  color:var(--accent);
  font-weight:800;
}
.graph-person-head small{color:var(--muted)}
.graph-links{display:flex;flex-wrap:wrap;gap:7px;min-height:32px}
.graph-links i{
  display:grid;place-items:center;
  width:32px;height:32px;
  border-radius:10px;
  background:color-mix(in srgb,var(--accent) 9%,var(--solid));
  font-style:normal;
}
.graph-links em{color:var(--muted);font-size:12px;font-style:normal}

@keyframes graphFade{
  from{opacity:.5;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:700px){
  .member-panel{padding:18px}
}

/* Build 003B — Profiles & Invitations */
.household-invite-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.invite-metric span,.invite-metric strong,.invite-metric small{display:block}
.invite-metric span,.invite-metric small{color:var(--muted)}
.invite-metric strong{font-size:28px;margin:7px 0}

.profile-member-form{
  grid-template-columns:1fr 1.2fr 170px;
}

.member-profile-fields{
  display:grid;
  gap:10px;
}
.member-profile-fields label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:13px;
}

.invitation-list{display:grid;gap:10px}
.invitation-card{
  display:grid;
  grid-template-columns:44px 1fr auto auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--solid);
  transition:transform var(--motion-fast),border-color var(--motion-normal),opacity var(--motion-normal);
}
.invitation-card:hover{transform:translateY(-2px)}
.invitation-card.status-accepted{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}
.invitation-card.status-declined{opacity:.56}
.invitation-avatar{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 14%,var(--solid));
  color:var(--accent);
  font-weight:800;
}
.invitation-info strong,.invitation-info span,.invitation-info small{display:block}
.invitation-info span,.invitation-info small{color:var(--muted)}
.invitation-info span{font-size:12px;margin:3px 0}
.invitation-info small{font-size:11px}
.invitation-status{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:11px;
  white-space:nowrap;
}
.invitation-actions{display:flex;gap:5px}
.invite-accept{color:var(--accent)!important}

.invitation-flow{display:grid;gap:10px}
.invitation-flow>div{
  display:grid;
  grid-template-columns:38px 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--solid);
}
.invitation-flow span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 14%,var(--solid));
  color:var(--accent);
  font-weight:800;
}
.invitation-flow small{color:var(--muted);margin-top:3px}
.invite-note{
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 7%,var(--solid));
}
.invite-note strong,.invite-note p{display:block}
.invite-note p{margin:5px 0 0;color:var(--muted);font-size:13px}
.invite-panel{z-index:2147482700}

@media(max-width:900px){
  .profile-member-form{grid-template-columns:1fr}
}
@media(max-width:700px){
  .household-invite-summary{grid-template-columns:1fr}
  .invitation-card{grid-template-columns:44px 1fr}
  .invitation-status,.invitation-actions{grid-column:2}
}

.project-cockpit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.project-card span,.project-card strong,.project-card small{display:block}
.project-card span,.project-card small{color:var(--muted)}
.project-card strong{font-size:26px;margin:7px 0}
.project-panel{grid-column:span 2}
.project-health-list,.project-build-list{display:grid;gap:10px;margin-top:12px}
.project-health-list>div{display:grid;grid-template-columns:1fr auto;gap:8px}
.project-health-list i{grid-column:1/3;height:9px;border-radius:999px;background:color-mix(in srgb,var(--muted) 15%,transparent);overflow:hidden}
.project-health-list em{display:block;height:100%;background:var(--accent);border-radius:inherit}
.project-build-list>div{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.project-build-list b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));color:var(--accent)}
.project-build-list small{color:var(--muted)}
@media(max-width:900px){.project-cockpit-grid{grid-template-columns:1fr 1fr}.project-panel{grid-column:span 2}}
@media(max-width:620px){.project-cockpit-grid{grid-template-columns:1fr}.project-panel{grid-column:auto}}

/* Build 003B.2 — Responsive Household Sidebar */
aside,
.sidebar,
.app-sidebar{
  min-height:0;
}

/* The app's primary left rail is structured as:
   brand/header -> navigation -> household list -> bottom controls. */
body>aside,
body>.sidebar,
body>.app-shell>aside,
body>.app>aside{
  overflow:hidden;
}

/* Target the actual Nordic Homebase sidebar regardless of its original class. */
aside:has(.aside-household){
  display:flex!important;
  flex-direction:column!important;
  height:100vh;
  min-height:0;
  overflow:hidden!important;
}

aside:has(.aside-household)>nav{
  flex:1 1 auto;
  min-height:90px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--accent) 38%,transparent) transparent;
}

.aside-household{
  flex:0 1 auto;
  min-height:76px;
  max-height:min(34vh,310px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  margin-top:10px;
  padding-top:12px;
}

.aside-household-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}

.aside-household-head>small{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.14em;
}

.aside-member-count{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 9%,var(--solid));
  color:var(--accent);
  font-size:10px;
  font-weight:700;
}

.aside-member-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--accent) 38%,transparent) transparent;
}

.aside-member-list::-webkit-scrollbar,
aside:has(.aside-household)>nav::-webkit-scrollbar{
  width:6px;
}

.aside-member-list::-webkit-scrollbar-track,
aside:has(.aside-household)>nav::-webkit-scrollbar-track{
  background:transparent;
}

.aside-member-list::-webkit-scrollbar-thumb,
aside:has(.aside-household)>nav::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--accent) 34%,transparent);
  border-radius:999px;
}

.aside-member-list::-webkit-scrollbar-thumb:hover,
aside:has(.aside-household)>nav::-webkit-scrollbar-thumb:hover{
  background:color-mix(in srgb,var(--accent) 55%,transparent);
}

.aside-bottom{
  flex:0 0 auto;
  position:relative;
  z-index:2;
  background:inherit;
  padding-top:9px;
}

/* Compact member rows automatically on shorter windows. */
@media(max-height:780px){
  .aside-household{
    max-height:min(28vh,220px);
  }
  .aside-member{
    padding:5px 6px;
  }
  .aside-member>span{
    width:28px;
    height:28px;
    border-radius:9px;
  }
  .aside-member{
    grid-template-columns:28px 1fr;
  }
}

@media(max-height:620px){
  aside:has(.aside-household)>nav{
    min-height:64px;
  }
  .aside-household{
    max-height:150px;
    min-height:58px;
  }
  .aside-member small{
    display:none;
  }
}

/* On narrow layouts the household list remains horizontally safe. */
@media(max-width:760px){
  .aside-household{
    max-height:240px;
  }
  .aside-member{
    min-width:0;
  }
  .aside-member div{
    min-width:0;
  }
  .aside-member strong,
  .aside-member small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

/* Build 004 — Shared Presence */
.presence-principle{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.presence-principle-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:color-mix(in srgb,var(--accent) 14%,var(--solid));font-size:34px}
.presence-principle small,.presence-principle h3,.presence-principle p{display:block}
.presence-principle h3{margin:5px 0}.presence-principle p{margin:0;color:var(--muted)}
.presence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.presence-metric span,.presence-metric strong,.presence-metric small{display:block}
.presence-metric span,.presence-metric small{color:var(--muted)}
.presence-metric strong{font-size:27px;margin:6px 0}
.presence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.presence-panel{display:grid;gap:12px;align-content:start}
.presence-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.presence-member-list{display:grid;gap:10px}
.presence-person-card{display:grid;grid-template-columns:48px 1fr 18px;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--solid);transition:transform var(--motion-fast),border-color var(--motion-normal),background var(--motion-normal)}
.presence-person-card:hover{transform:translateY(-2px)}
.presence-person-card.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--solid))}
.presence-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,var(--accent) 13%,var(--solid));color:var(--accent);font-weight:800}
.presence-person-main strong,.presence-person-main span,.presence-person-main small{display:block}
.presence-person-main span{margin:3px 0}
.presence-person-main small{color:var(--muted);font-size:11px}
.presence-dot{width:11px;height:11px;border-radius:999px}
.presence-dot.online{background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}
.presence-dot.quiet{background:color-mix(in srgb,var(--muted) 45%,transparent)}
.presence-policy-list{display:grid;gap:10px}
.presence-policy-list>div{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.presence-policy-list span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--accent) 13%,var(--solid));color:var(--accent)}
.presence-policy-list small{color:var(--muted);margin-top:3px}
.constitution-check{display:grid;gap:10px}
.constitution-check>div{display:grid;grid-template-columns:1fr auto;gap:7px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.constitution-check span,.constitution-check strong{display:block}
.constitution-check strong{color:var(--accent)}
.constitution-check small{grid-column:1/3;color:var(--muted)}
@media(max-width:950px){.presence-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.presence-grid{grid-template-columns:1fr}}
@media(max-width:560px){.presence-metrics{grid-template-columns:1fr}}

/* Build 004.1 — Interactive Constitution Health */
.health-status-card{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--solid);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform var(--motion-fast) var(--motion-ease),
             border-color var(--motion-normal) var(--motion-ease),
             background var(--motion-normal) var(--motion-ease);
}
.health-status-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  background:color-mix(in srgb,var(--accent) 6%,var(--solid));
}
.health-status-card:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.health-status-card span,.health-status-card strong{display:block}
.health-status-card strong{color:var(--accent);white-space:nowrap}
.health-status-card small{grid-column:1/3;color:var(--muted);line-height:1.45}
.health-status-card b{
  grid-column:1/3;
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  margin-top:3px;
}

.health-detail-panel{z-index:2147482800}
.health-panel-body{gap:18px}
.health-detail-section{display:grid;gap:11px}
.health-detail-section h3{margin:0}
.health-detail-section blockquote{
  margin:0;
  padding:14px;
  border-left:3px solid var(--accent);
  border-radius:0 13px 13px 0;
  background:color-mix(in srgb,var(--accent) 7%,var(--solid));
  color:var(--text);
}
.health-detail-section>p{margin:0;color:var(--muted)}

.health-check-list,.health-test-list{display:grid;gap:8px}
.health-check-list>div,.health-test-list>div{
  display:grid;
  grid-template-columns:36px 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--solid);
}
.health-check-list span,.health-test-list span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border-radius:11px;
  background:color-mix(in srgb,var(--accent) 13%,var(--solid));
  color:var(--accent);
  font-weight:800;
}
.health-check-list small,.health-test-list small{color:var(--muted);margin-top:2px}
.health-test-list>div{
  grid-template-columns:30px 1fr auto;
  grid-template-rows:auto;
  align-items:center;
}
.health-test-list span{
  grid-row:auto;
  width:30px;height:30px;
  border-radius:9px;
}
.health-test-list small{color:var(--accent);margin:0}
.health-confirmed{
  padding:12px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--accent) 7%,var(--solid));
}
.health-calm-result{
  display:grid;
  gap:4px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 8%,var(--solid));
}
.health-calm-result strong{color:var(--accent)}
.health-calm-result small{color:var(--muted)}
.health-doc-link{text-align:center;text-decoration:none}

/* Sprint 3 — Build 005A Quiet Intelligence */
.intelligence-principle{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.intelligence-principle-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:color-mix(in srgb,var(--accent) 14%,var(--solid));font-size:34px}
.intelligence-principle small,.intelligence-principle h3,.intelligence-principle p{display:block}
.intelligence-principle h3{margin:5px 0}.intelligence-principle p{margin:0;color:var(--muted)}
.intelligence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.intelligence-metric span,.intelligence-metric strong,.intelligence-metric small{display:block}
.intelligence-metric span,.intelligence-metric small{color:var(--muted)}
.intelligence-metric strong{font-size:27px;margin:6px 0}
.intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.intelligence-panel{display:grid;gap:12px;align-content:start}
.quiet-recommendation-list,.context-signal-list,.quiet-event-list,.intelligence-health{display:grid;gap:10px}
.quiet-recommendation{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--solid);transition:transform var(--motion-fast),border-color var(--motion-normal)}
.quiet-recommendation:hover{transform:translateY(-2px)}
.quiet-recommendation.priority-high{border-color:color-mix(in srgb,#d47d7d 45%,var(--line))}
.quiet-recommendation.priority-medium{border-color:color-mix(in srgb,#e5c96d 40%,var(--line))}
.quiet-recommendation-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:25px}
.quiet-recommendation strong{display:block}.quiet-recommendation p{margin:5px 0 11px;color:var(--muted)}
.quiet-recommendation-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.quiet-text-button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:7px}
.quiet-text-button:hover{color:var(--text)}
.context-signal,.quiet-event{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.context-signal>span,.quiet-event>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,var(--solid));font-size:20px}
.context-signal strong,.context-signal small,.quiet-event strong,.quiet-event small{display:block}
.context-signal small,.quiet-event small{color:var(--muted);margin-top:3px}
.context-signal i,.quiet-event i{font-style:normal;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 8px}
.context-signal.active i{color:var(--accent)}
.intelligence-health>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.intelligence-health span,.intelligence-health strong{display:block}
.intelligence-health strong{color:var(--accent)}
.intelligence-health small{grid-column:1/3;color:var(--muted)}
.quiet-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quiet-principles>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--solid)}
.quiet-principles b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,var(--solid));color:var(--accent)}
.quiet-principles small{color:var(--muted);margin-top:3px}
.intelligence-detail-panel{z-index:2147482900}
.quiet-explanation{padding:13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--accent) 7%,var(--solid));color:var(--text)!important}
.quiet-source-chips{display:flex;flex-wrap:wrap;gap:7px}
.quiet-source-chips span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--solid);color:var(--muted);font-size:12px}
@media(max-width:950px){.intelligence-metrics{grid-template-columns:repeat(2,1fr)}.quiet-principles{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.intelligence-grid{grid-template-columns:1fr}}
@media(max-width:560px){.intelligence-metrics,.quiet-principles{grid-template-columns:1fr}}

/* Sprint 3 — Build 005B Home Intelligence Rules */
.intelligence-rule-list,.quiet-action-list{display:grid;gap:10px}
.intelligence-rule{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--solid);transition:transform var(--motion-fast),border-color var(--motion-normal),background var(--motion-normal)}
.intelligence-rule:hover{transform:translateY(-2px)}
.intelligence-rule.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--solid))}
.intelligence-rule-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:23px}
.intelligence-rule strong,.intelligence-rule span,.intelligence-rule small{display:block}
.intelligence-rule span{margin:3px 0;color:var(--muted)}
.intelligence-rule small{color:var(--muted);font-size:11px}
.intelligence-rule>b{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 8px}
.intelligence-rule.active>b{color:var(--accent)}
.rule-source-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.rule-source-chips i{font-style:normal;font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.quiet-action{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--solid)}
.quiet-action>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 11%,var(--solid));font-size:22px}
.quiet-action strong,.quiet-action small{display:block}
.quiet-action p{margin:4px 0;color:var(--muted)}
.quiet-action small{font-size:11px;color:var(--accent)}
.rule-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rule-flow>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.rule-flow span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,var(--solid));color:var(--accent);font-weight:800}
.rule-flow small{color:var(--muted);margin-top:3px}
@media(max-width:1100px){.rule-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.rule-flow{grid-template-columns:1fr}.quiet-action{grid-template-columns:44px 1fr}.quiet-action button{grid-column:2}}

/* Sprint 3 — Build 005C Living Inventory & Medicinskabet */
.medicine-cabinet-hero{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;margin-bottom:16px}
.medicine-cabinet-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:color-mix(in srgb,var(--accent) 14%,var(--solid));font-size:34px}
.medicine-cabinet-hero small,.medicine-cabinet-hero h3,.medicine-cabinet-hero p{display:block}
.medicine-cabinet-hero h3{margin:5px 0}.medicine-cabinet-hero p{margin:0;color:var(--muted)}
.medicine-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.medicine-metric span,.medicine-metric strong,.medicine-metric small{display:block}
.medicine-metric span,.medicine-metric small{color:var(--muted)}
.medicine-metric strong{font-size:25px;margin:6px 0}
.medicine-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-bottom:16px}
.medicine-panel{display:grid;gap:12px;align-content:start}
.medicine-cabinet-list{display:grid;gap:10px}
.medicine-card{border:1px solid var(--line);border-radius:16px;background:var(--solid);overflow:hidden;transition:transform var(--motion-fast),border-color var(--motion-normal),background var(--motion-normal)}
.medicine-card:hover{transform:translateY(-2px)}
.medicine-card.status-ok{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}
.medicine-card.status-low,.medicine-card.status-expiring{border-color:color-mix(in srgb,#e5c96d 48%,var(--line))}
.medicine-card.status-expired{border-color:color-mix(in srgb,#d47d7d 52%,var(--line))}
.medicine-card-main{width:100%;display:grid;grid-template-columns:50px 1fr auto;gap:11px;align-items:center;padding:13px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.medicine-card-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-size:24px}
.medicine-card-info strong,.medicine-card-info span,.medicine-card-info small{display:block}
.medicine-card-info span{margin:3px 0;color:var(--muted)}
.medicine-card-info small{color:var(--muted);font-size:11px}
.medicine-card-main>b{font-size:10px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:var(--accent);white-space:nowrap}
.status-low .medicine-card-main>b,.status-expiring .medicine-card-main>b{color:#e5c96d}
.status-expired .medicine-card-main>b{color:#d47d7d}
.medicine-empty{display:grid;place-items:center;text-align:center;padding:30px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.medicine-empty>span{font-size:34px}.medicine-empty strong{color:var(--text);margin-top:8px}.medicine-empty p{margin:5px 0 0}
.emergency-medicine-card{align-content:start}
.emergency-medicine-head{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center}
.emergency-medicine-head>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,#8fb7ff 12%,var(--solid));font-size:24px}
.emergency-medicine-head small,.emergency-medicine-head h3{display:block}
.emergency-medicine-head h3{margin:4px 0 0}
.emergency-medicine-card>p{color:var(--muted);margin:4px 0}
.emergency-medicine-status{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,#8fb7ff 6%,var(--solid))}
.emergency-medicine-status span{color:var(--muted);font-size:12px}
.emergency-medicine-status strong{color:#8fb7ff}
.medicine-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.medicine-form-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.medicine-editor-panel{z-index:2147483000}
@media(max-width:1000px){.medicine-metrics{grid-template-columns:repeat(2,1fr)}.medicine-layout{grid-template-columns:1fr}}
@media(max-width:680px){.medicine-cabinet-hero{grid-template-columns:60px 1fr}.medicine-cabinet-hero .btn{grid-column:1/3}.medicine-metrics,.medicine-form-grid{grid-template-columns:1fr}.medicine-card-main{grid-template-columns:46px 1fr}.medicine-card-main>b{grid-column:2}}

/* Sprint 3 — Build 005D Nordic Calm OS & Rotation Engine */
.calmos-foundation{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.calmos-rule,.calmos-promise{display:grid;gap:8px;align-content:start}
.calmos-rule{border-color:color-mix(in srgb,var(--accent) 52%,var(--line))}
.calmos-rule small,.calmos-promise small{color:var(--accent);letter-spacing:.12em}
.calmos-rule strong,.calmos-promise strong{font-size:21px;line-height:1.35}
.calmos-promise p{margin:0;color:var(--muted)}
.calmos-mission{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-bottom:16px}
.calmos-mission-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:color-mix(in srgb,var(--accent) 14%,var(--solid));font-size:34px}
.calmos-mission small,.calmos-mission h3,.calmos-mission p{display:block}
.calmos-mission h3{margin:5px 0}.calmos-mission p{margin:0;color:var(--muted)}
.calmos-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}
.calmos-panel{display:grid;gap:12px;align-content:start}
.calmos-pillars{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calmos-pillars>div{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.calmos-pillars span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 11%,var(--solid));font-size:20px}
.calmos-pillars small{color:var(--muted);margin-top:3px}
.calmos-health{display:grid;gap:9px}
.calmos-health>div{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.calmos-health strong{color:var(--accent)}
.calmos-handbook{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.calmos-handbook>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.calmos-handbook b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));color:var(--accent)}
.calmos-handbook small{color:var(--muted);margin-top:3px}
.rotation-panel{display:grid;gap:13px;margin-bottom:16px}
.rotation-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rotation-metrics>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.rotation-metrics span,.rotation-metrics strong{display:block}
.rotation-metrics span{color:var(--muted);font-size:12px}
.rotation-metrics strong{font-size:24px;margin-top:5px}
.rotation-recommendation-list{display:grid;gap:10px}
.rotation-recommendation{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--solid)}
.rotation-recommendation>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 11%,var(--solid));font-size:21px}
.rotation-recommendation strong{display:block}
.rotation-recommendation p{margin:4px 0 0;color:var(--muted)}
.rotation-recommendation.priority-high{border-color:color-mix(in srgb,#d47d7d 50%,var(--line))}
.rotation-recommendation.priority-medium{border-color:color-mix(in srgb,#e5c96d 44%,var(--line))}
@media(max-width:950px){.calmos-foundation,.calmos-grid{grid-template-columns:1fr}.calmos-handbook{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.calmos-pillars,.calmos-handbook,.rotation-metrics{grid-template-columns:1fr}.rotation-recommendation{grid-template-columns:44px 1fr}.rotation-recommendation button{grid-column:2}}

/* Build 005D.3 — Nordic Layout Engine */
:root{
  --space-xs:4px;
  --space-s:8px;
  --space-m:12px;
  --space-l:16px;
  --space-xl:24px;
  --space-xxl:32px;
  --space-hero:48px;
  --line-title:1.2;
  --line-body:1.5;
  --card-pad:clamp(16px,2vw,24px);
}

/* Global protection against text escaping cards */
*,*::before,*::after{box-sizing:border-box}
.glass,.card,[class*="-panel"],[class*="-card"],[class*="-metric"]{
  min-width:0;
}
.glass>*,
.card>*,
[class*="-panel"]>*,
[class*="-card"]>*,
[class*="-metric"]>*{
  min-width:0;
}
h1,h2,h3,h4,h5,h6,strong,p,small,span,label,blockquote{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
h1,h2,h3,h4,h5,h6{
  line-height:var(--line-title);
  margin-block-start:0;
}
p,small,label,blockquote{line-height:var(--line-body)}
.glass{
  padding:var(--card-pad);
}
.intelligence-metric,
.presence-metric,
.medicine-metric,
.polish-metric{
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
  gap:var(--space-s);
  min-height:126px;
}
.intelligence-metric span,
.intelligence-metric strong,
.intelligence-metric small,
.presence-metric span,
.presence-metric strong,
.presence-metric small{
  margin:0!important;
  position:static!important;
  transform:none!important;
}
.intelligence-metric strong,
.presence-metric strong,
.medicine-metric strong,
.polish-metric strong{
  line-height:1.05;
}
.calmos-rule,.calmos-promise{
  padding:var(--space-xl)!important;
  align-content:start;
}
.calmos-rule small,.calmos-promise small{
  margin:0 0 var(--space-m)!important;
}
.calmos-rule strong,.calmos-promise strong{
  margin:0!important;
}

/* Nordic Design QA */
.polish-hero{display:grid;grid-template-columns:72px 1fr;gap:var(--space-l);align-items:center;margin-bottom:var(--space-l)}
.polish-hero small,.polish-hero h3,.polish-hero p{display:block}
.polish-hero h3{margin:var(--space-xs) 0}.polish-hero p{margin:0;color:var(--muted)}
.polish-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-m);margin-bottom:var(--space-l)}
.polish-metric span,.polish-metric small{color:var(--muted)}
.polish-metric strong{font-size:26px}
.polish-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-l);margin-bottom:var(--space-l)}
.polish-panel{display:grid;gap:var(--space-m);align-content:start;margin-bottom:var(--space-l)}
.design-qa-results{display:grid;gap:var(--space-s)}
.design-qa-row{display:grid;grid-template-columns:36px 1fr auto;gap:var(--space-m);align-items:center;padding:var(--space-m);border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.design-qa-row>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));font-weight:800}
.design-qa-row strong,.design-qa-row small{display:block}
.design-qa-row small{color:var(--muted);margin-top:2px}
.design-qa-row b{font-size:10px;color:var(--accent)}
.design-qa-row.review b,.design-qa-row.review>span{color:#e5c96d}
.spacing-token-list{display:grid;gap:var(--space-s)}
.spacing-token-list>div{display:grid;grid-template-columns:44px 1fr auto;gap:var(--space-m);align-items:center;padding:var(--space-s) var(--space-m);border:1px solid var(--line);border-radius:12px;background:var(--solid)}
.spacing-token-list i{display:block;height:8px;border-radius:99px;background:var(--accent)}
.spacing-token-list small{color:var(--muted)}
.nordic-symbol-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-m)}
.nordic-symbol-gallery>div{display:grid;place-items:center;text-align:center;gap:var(--space-s);padding:var(--space-l);border:1px solid var(--line);border-radius:16px;background:var(--solid)}
.nordic-symbol-gallery small{color:var(--muted)}

/* Nordic Icon System */
.nordic-symbol{
  --symbol-color:var(--muted);
  position:relative;
  display:inline-grid;
  place-items:center;
  width:56px;
  height:56px;
  flex:0 0 56px;
  border:1px solid color-mix(in srgb,var(--symbol-color) 35%,var(--line));
  border-radius:18px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--symbol-color) 9%,var(--solid)),var(--solid));
  color:var(--symbol-color);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.nordic-symbol svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nordic-symbol.healthy{--symbol-color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.08)}
.nordic-symbol.attention{--symbol-color:#e5c96d}
.nordic-symbol.working{--symbol-color:#8fb7ff}
.nordic-symbol.working::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid color-mix(in srgb,var(--symbol-color) 35%,transparent);
  border-radius:14px;
  animation:nordic-symbol-breathe 4.8s ease-in-out infinite;
}
.symbol-health.healthy svg{animation:nordic-heart-pulse 8s ease-in-out infinite}
@keyframes nordic-symbol-breathe{0%,100%{opacity:.25;transform:scale(.96)}50%{opacity:.75;transform:scale(1)}}
@keyframes nordic-heart-pulse{0%,92%,100%{transform:scale(1)}95%{transform:scale(1.06)}97%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
  .nordic-symbol,.nordic-symbol::after,.nordic-symbol svg{animation:none!important;transition:none!important}
}
@media(max-width:950px){
  .polish-metrics{grid-template-columns:repeat(2,1fr)}
  .polish-grid{grid-template-columns:1fr}
  .nordic-symbol-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .polish-metrics,.nordic-symbol-gallery{grid-template-columns:1fr}
  .polish-hero{grid-template-columns:56px 1fr}
  .polish-hero .nordic-symbol{width:52px;height:52px;flex-basis:52px}
}

/* Sprint 3 — Build 005E: The Morning Build */
.morning-card{display:grid;gap:var(--space-xl);margin-bottom:var(--space-l);padding:clamp(20px,3vw,34px)!important}
.morning-header{display:grid;grid-template-columns:72px 1fr auto;gap:var(--space-l);align-items:center}
.morning-header small,.morning-header h2,.morning-header p{display:block}
.morning-header h2{font-size:clamp(28px,4vw,44px);margin:4px 0}
.morning-header p{margin:0;color:var(--muted)}
.morning-calm-band{display:flex;justify-content:space-between;gap:var(--space-l);align-items:center;padding:var(--space-l);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 7%,var(--solid))}
.morning-calm-band>div{display:grid;grid-template-columns:48px 1fr;gap:var(--space-m);align-items:center}
.morning-calm-band>div>span{font-size:28px}
.morning-calm-band small,.morning-calm-band strong,.morning-calm-band p{display:block}
.morning-calm-band p{margin:3px 0 0;color:var(--muted)}
.morning-story{display:grid;gap:var(--space-s)}
.morning-story-item{display:grid;grid-template-columns:46px 1fr auto;gap:var(--space-m);align-items:center;padding:var(--space-m);border:1px solid var(--line);border-radius:16px;background:var(--solid)}
.morning-story-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--solid));font-size:22px}
.morning-story-item small,.morning-story-item strong,.morning-story-item p{display:block}
.morning-story-item small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}
.morning-story-item strong{margin-top:2px}
.morning-story-item p{margin:3px 0 0;color:var(--muted)}
.morning-story-item.priority-high{border-color:color-mix(in srgb,#d47d7d 42%,var(--line))}
.morning-story-item.priority-medium{border-color:color-mix(in srgb,#e5c96d 40%,var(--line))}
.morning-footer{text-align:center;display:grid;place-items:center;gap:5px;padding-top:var(--space-m);border-top:1px solid var(--line)}
.morning-footer strong{font-size:20px}
.morning-footer small{color:var(--muted)}
.morning-closing-symbol{font-size:24px}
.morning-support-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--space-l);margin-bottom:var(--space-l)}
.morning-support-card{display:grid;gap:var(--space-m);align-content:start}
.morning-priority-list,.morning-health-list{display:grid;gap:var(--space-s)}
.morning-priority-row{display:grid;grid-template-columns:34px 1fr auto;gap:var(--space-m);align-items:center;padding:var(--space-m);border:1px solid var(--line);border-radius:14px;background:var(--solid)}
.morning-priority-row>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--solid));color:var(--accent)}
.morning-priority-row strong,.morning-priority-row small{display:block}
.morning-priority-row small{color:var(--muted);margin-top:2px}
.morning-priority-row>span{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--muted)}
.morning-health-list>div{display:flex;justify-content:space-between;gap:var(--space-m);padding:var(--space-m);border:1px solid var(--line);border-radius:13px;background:var(--solid)}
.morning-health-list strong{color:var(--accent)}
.symbol-morning.healthy svg{animation:nordic-sunrise 8s ease-in-out infinite}
.symbol-calendar,.symbol-chat{--symbol-color:var(--muted)}
@keyframes nordic-sunrise{0%,100%{transform:translateY(1px);opacity:.9}50%{transform:translateY(-1px);opacity:1}}
@media(max-width:850px){.morning-support-grid{grid-template-columns:1fr}.morning-header{grid-template-columns:60px 1fr}.morning-header .btn{grid-column:1/3}}
@media(max-width:620px){.morning-calm-band{align-items:flex-start;flex-direction:column}.morning-story-item{grid-template-columns:42px 1fr}.morning-story-item button{grid-column:2}}
