/* [vars] start */
/* Theme palette and layout constants shared across the intake sections. */
:root{
  /* Apple-like daytime palette */
  --bg:#f5f7fb;
  --panel:#ffffff;
  --panel-muted:#f6f8fc;
  --panel-raised:#ffffff;
  --ink:#0c1220;
  --ink-strong:#1d2845;
  --muted:#5b6475;
  --line:#e6eaf2;
  --band:#f6f8fc;
  --accent:#007aff;
  --accent-contrast:#ffffff;
  --backdrop:rgba(12,18,32,.32);

  /* Controls */
  --control-bg:#f6f8ff;
  --control-hover:#eef3ff;
  --control-border:#dfe5f2;
  --control-ink:#1d2845;
  --input-bg:#f9fbff;
  --input-border:#dfe5f2;
  --focus-ring:rgba(0,122,255,.18);
  --accent-shadow:0 6px 18px rgba(0,122,255,.18);
  --accent-shadow-strong:0 10px 24px rgba(0,122,255,.28);

  /* Layout */
  --qcol-w:10.5rem;     /* narrow KT Question column */
  --ta-fs:15px;         /* textarea font size */
  --ta-min-h:72px;      /* comfortable 2-3 line textarea height */
  --radius:14px;
  --shadow:0 8px 24px rgba(12,18,32,.08), 0 1px 0 rgba(255,255,255,.6) inset;
  --shadow-strong:0 12px 30px rgba(12,18,32,.14);
  --speed:.22s;
}

body.theme-dark,
body[data-theme="dark"]{
  --bg:#0d1118;
  --panel:#131922;
  --panel-muted:#0f141c;
  --panel-raised:#1b2330;
  --ink:#e7edf7;
  --ink-strong:#f4f7fb;
  --muted:#9aa4b7;
  --line:#252c38;
  --band:#0f141d;
  --accent:#0a84ff;
  --accent-contrast:#ffffff;
  --backdrop:rgba(0,0,0,.6);

  --control-bg:#1b2330;
  --control-hover:#222c3a;
  --control-border:#2e3644;
  --control-ink:#e7edf7;
  --input-bg:#0f141d;
  --input-border:#2c3442;
  --focus-ring:rgba(10,132,255,.28);
  --accent-shadow:0 6px 18px rgba(10,132,255,.32);
  --accent-shadow-strong:0 10px 26px rgba(10,132,255,.4);

  --shadow:0 8px 24px rgba(0,0,0,.46);
  --shadow-strong:0 14px 36px rgba(0,0,0,.62);
}
/* [vars] end */

html,body{height:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"SF Pro Text","SF Pro Display",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px; line-height:1.6; letter-spacing:-0.01em;
  transition:background-color var(--speed), color var(--speed);
}
body.theme-dark,body[data-theme="dark"]{color-scheme:dark;}
header{
  max-width:1240px; margin:26px auto 12px; padding:0 12px;
  display:flex; flex-direction:column; gap:18px;
}
.header-title{display:flex; flex-direction:column; gap:6px;}
h1#docTitle{font-size:22px; font-weight:800; margin:0; letter-spacing:-0.01em; white-space:pre-wrap;}
.header-subtitle{margin:0; font-size:14px; color:var(--muted); max-width:720px;}
.subtle{color:var(--muted); font-size:12px;}
.muted{color:var(--muted); font-size:13px;}
.menu-bar{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.4));
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow);
}
.menu-group{position:relative;}
.menu-trigger{
  appearance:none;
  background:var(--panel);
  color:var(--ink);
  border:1px solid var(--control-border);
  border-radius:12px;
  padding:10px 14px;
  font-weight:700;
  letter-spacing:-0.01em;
  cursor:pointer;
  transition:background-color var(--speed), border-color var(--speed), box-shadow var(--speed), transform var(--speed);
}
.menu-trigger:hover{background:var(--control-hover); transform:translateY(-1px);}
.menu-trigger:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring);}
.menu-panel{
  position:absolute;
  top:calc(100% + 8px);
  min-width:240px;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border-radius:16px;
  background:rgba(34,38,44,0.85);
  border:1px solid var(--line);
  box-shadow:var(--shadow-strong);
  z-index:120;
}
.menu-panel[hidden]{display:none;}
.menu-panel.is-open{display:flex;}
.menu-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:space-between;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--control-border);
  background:rgba(255,255,255,0.86);
  color:var(--ink);
  font-weight:600;
  cursor:pointer;
  transition:background-color var(--speed), border-color var(--speed), transform var(--speed), box-shadow var(--speed);
}
.menu-item:hover{background:var(--control-hover); transform:translateY(-1px);}
.menu-item:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring);}
.menu-item--accent{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--accent-contrast);
  box-shadow:var(--accent-shadow);
}
.menu-item--accent:hover{box-shadow:var(--accent-shadow-strong);}
.menu-item__label{font-size:14px;}
.menu-item__meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.menu-shortcut{
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
@media(max-width:640px){
  header{padding:0 16px;}
  .menu-bar{padding:12px;}
}
.theme-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  background:none;
  border:none;
  padding:0;
  box-shadow:none;
}
.menu-item.theme-toggle{justify-content:space-between;}
.menu-item.theme-toggle .menu-item__meta{gap:10px;}
.theme-toggle__track{
  width:46px;
  height:26px;
  border-radius:999px;
  background:var(--panel-muted);
  border:1px solid var(--line);
  display:inline-flex;
  align-items:center;
  padding:3px;
  transition:background-color var(--speed), border-color var(--speed);
}
.theme-toggle__thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--panel);
  box-shadow:var(--shadow);
  transform:translateX(0);
  transition:transform var(--speed), background-color var(--speed), box-shadow var(--speed);
}
.theme-toggle[aria-pressed="true"] .theme-toggle__thumb{transform:translateX(18px); background:var(--accent); box-shadow:var(--accent-shadow);}
.btn{
  appearance:none; border:1px solid var(--accent); background:var(--accent); color:var(--accent-contrast);
  padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:600;
  transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed), background-color var(--speed), color var(--speed);
  box-shadow:var(--accent-shadow);
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--accent-shadow-strong);}
.steps-button{
  appearance:none; border:1px solid var(--control-border); background:var(--control-bg); color:var(--control-ink);
  padding:9px 14px; border-radius:12px; font-weight:600; font-size:13px;
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed), box-shadow var(--speed);
}
.steps-button:hover{background:var(--control-hover); transform:translateY(-1px);}
.steps-button:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring);}
.steps-button span.shortcut{color:var(--muted); font-size:12px;}
.templates-launcher{display:flex; align-items:center; position:relative;}
.templates-button{
  background:var(--panel);
  border-color:var(--control-border);
  color:var(--ink);
  box-shadow:var(--shadow-strong);
}
.templates-button .shortcut{color:var(--muted);}
.steps-badge{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 12px; border-radius:999px; background:var(--control-hover); color:var(--control-ink);
  border:1px solid var(--control-border);
  font-weight:600; font-size:13px; min-width:88px; font-variant-numeric:tabular-nums;
}
.steps-badge[hidden]{display:none;}
.drawer-backdrop{
  position:fixed; inset:0; background:var(--backdrop);
  opacity:0; pointer-events:none; transition:opacity var(--speed);
  z-index:80;
}
.drawer-backdrop.is-open{opacity:1; pointer-events:auto;}
.drawer{
  position:fixed; top:0; right:0; height:100%; max-width:100%;
  background:var(--panel-raised); border-left:1px solid var(--line); box-shadow:var(--shadow-strong);
  transform:translateX(100%); transition:transform var(--speed), background-color var(--speed), border-color var(--speed), box-shadow var(--speed);
  z-index:90; display:flex; flex-direction:column;
}
.drawer.is-open{transform:translateX(0);}
.steps-backdrop{z-index:80;}
.steps-drawer{width:400px;}
.steps-drawer__panel{display:flex; flex-direction:column; height:100%; min-height:0;}
.steps-drawer__header{
  padding:24px; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--band) 0%,var(--panel) 60%);
  display:flex; flex-direction:column; gap:12px;
}
.steps-drawer__title-row{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.steps-drawer__title{margin:0; font-size:18px; font-weight:700; color:var(--ink-strong); letter-spacing:-0.01em;}
.steps-drawer__progress{font-size:14px; font-weight:600; color:var(--muted);}
.steps-drawer__body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:24px;
  overflow:auto;
  overscroll-behavior:contain;
  background:linear-gradient(180deg,var(--band) 0%,var(--panel) 45%);
}
.steps-drawer__tools{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  box-shadow:var(--shadow-strong);
}
.steps-drawer__list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.steps-drawer__empty{
  border-radius:16px;
  border:1px dashed var(--line);
  padding:28px 24px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
  background:linear-gradient(135deg,var(--band) 0%,var(--panel) 100%);
  box-shadow:var(--shadow);
}
.steps-drawer__empty p{margin:0;}
.steps-search{
  position:relative;
  flex:1 1 240px;
}
.steps-search input[type="search"]{
  width:100%;
  padding:12px 40px 12px 18px;
  border-radius:12px;
  border:1px solid var(--input-border);
  background:var(--input-bg);
  font-size:14px;
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
  color:var(--ink);
}
.steps-search input[type="search"]:focus{
  outline:none;
  border-color:var(--accent);
  background:var(--panel);
  box-shadow:0 0 0 3px var(--focus-ring);
}
.steps-search__clear{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid var(--control-border);
  background:var(--control-bg);
  color:var(--control-ink);
  font-size:14px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:background var(--speed), border-color var(--speed), transform var(--speed);
}
.steps-search__clear:hover{
  background:var(--control-hover);
  transform:translateY(-50%) scale(1.05);
}
.steps-search__clear:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--focus-ring);
}
.steps-filter{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--control-bg);
}
.steps-filter__btn{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--control-ink);
  font-weight:600;
  font-size:13px;
  padding:8px 14px;
  border-radius:999px;
  cursor:pointer;
  transition:background var(--speed), color var(--speed), box-shadow var(--speed);
}
.steps-filter__btn.is-active{
  background:var(--panel);
  color:var(--ink-strong);
  box-shadow:var(--shadow);
}
.steps-filter__btn:focus{
  outline:none;
  box-shadow:0 0 0 3px var(--focus-ring);
}
.steps-filter__btn:hover{
  background:var(--control-hover);
}
.steps-category{border:1px solid #e2e7f3; border-radius:14px; background:#f8faff; padding:0; overflow:hidden; transition:border-color var(--speed), background-color var(--speed);}
.steps-category--complete{border-color:#b8e2c7; background:#f3faf6;}
.steps-category--complete .steps-category__header{background:linear-gradient(180deg,#e8f6ed 0%,#f3faf6 85%);}
.steps-category--complete .steps-category__phase,.steps-category--complete .steps-category__name{color:#0f5b2f;}
.steps-category--complete .steps-category__chevron{background:#d6efdf; color:#0f5b2f;}
.steps-category__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  position:relative;
  background:transparent;
  border:0;
  width:100%;
  text-align:left;
  cursor:pointer;
}
.steps-category__header:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
  border-radius:12px;
}
.steps-category__header-text{display:flex; flex-direction:column; gap:4px;}
.steps-category__phase{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#6b768a;}
.steps-category__name{font-size:15px; font-weight:600; color:#1d2845; letter-spacing:-0.01em;}
.steps-category__meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.steps-category__count{
  font-size:12px;
  font-weight:600;
  color:#3b4962;
  padding:4px 10px;
  border-radius:999px;
  background:#edf1ff;
  font-variant-numeric:tabular-nums;
}
.steps-category__chevron{
  width:24px;
  height:24px;
  border-radius:999px;
  background:#eef3ff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  color:#3b4962;
  transition:transform var(--speed), background var(--speed);
}
.steps-category__header:hover .steps-category__chevron{background:#e0e8ff;}
.steps-category__items{padding:12px 18px 18px; display:flex; flex-direction:column; gap:12px; background:#ffffff;}
.steps-item{display:flex; align-items:flex-start; gap:12px;}
.steps-item input[type="checkbox"]{
  appearance:none; width:20px; height:20px; border-radius:6px;
  border:2px solid #cdd6eb; background:#ffffff; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background var(--speed), border-color var(--speed), box-shadow var(--speed);
}
.steps-item input[type="checkbox"]:focus{outline:none; box-shadow:0 0 0 3px rgba(0,122,255,.18);}
.steps-item input[type="checkbox"]:checked{background:#0f864a; border-color:#0f864a;}
.steps-item input[type="checkbox"]:checked::after{content:'✓'; font-size:13px; font-weight:700; color:#ffffff;}
.steps-item label{font-size:14px; font-weight:600; color:#1d2845; cursor:pointer; line-height:1.55;}
.steps-item input[type="checkbox"]:checked + label{color:#0f5b2f;}
.steps-category.is-collapsed .steps-category__items{display:none;}
.steps-category.is-collapsed .steps-category__chevron{transform:rotate(-90deg);}
.steps-drawer__footer{padding:16px 24px; border-top:1px solid #ecf0f8; background:#ffffff; display:flex; justify-content:flex-end;}
.steps-drawer__close-btn{
  appearance:none; border:1px solid #dfe5f2; background:#f6f8ff; color:#1d2845;
  padding:9px 16px; border-radius:10px; font-weight:600; cursor:pointer;
  transition:background var(--speed), border-color var(--speed);
}
.steps-drawer__close-btn:hover{background:#eef3ff;}
.steps-drawer__close-btn:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,122,255,.18);}
@media (max-width:640px){
  .steps-drawer{width:100%; border-radius:0; box-shadow:none;}
}
@media (max-width:720px){
  .steps-drawer__tools{flex-direction:column; align-items:stretch; gap:10px;}
  .steps-filter{width:100%; justify-content:space-between;}
  .steps-filter__btn{flex:1; text-align:center;}
}
body.steps-drawer-open{overflow:hidden;}
body.templates-drawer-open{overflow:hidden;}
.templates-backdrop{z-index:82;}
.templates-drawer{
  width:420px;
  box-shadow:-18px 0 48px rgba(12,18,32,.14);
  z-index:92;
}
.templates-drawer__panel{display:flex; flex-direction:column; height:100%;}
.templates-drawer__header{
  padding:24px; border-bottom:1px solid #ecf0f8;
  background:linear-gradient(180deg,#fdfefe 0%,#f6f8fc 100%);
  display:flex; justify-content:space-between; gap:16px; align-items:flex-start;
}
.templates-drawer__intro{flex:1; min-width:0;}
.templates-drawer__controls{display:flex; flex-direction:column; gap:8px; align-items:stretch;}
.templates-drawer__title{margin:0; font-size:19px; font-weight:700; letter-spacing:-0.01em;}
.templates-drawer__subtitle{margin:6px 0 0; font-size:13px; color:var(--muted); line-height:1.5;}
.templates-drawer__close-btn{
  appearance:none; border:1px solid #dfe5f2; background:#f8f9ff; color:#1d2845;
  padding:9px 16px; border-radius:10px; font-weight:600; cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed);
}
.templates-drawer__close-btn:hover{background:#eef3ff; transform:translateY(-1px);}
.templates-drawer__close-btn:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,122,255,.18);}
.templates-drawer__body{
  flex:1; min-height:0; overflow:auto; padding:24px;
  display:flex; flex-direction:column; gap:22px;
  background:linear-gradient(180deg,#f9fbff 0%,#ffffff 60%);
  overscroll-behavior:contain;
}
.templates-section{border:1px solid #e4e9f5; border-radius:16px; padding:18px 20px; background:#fff; box-shadow:0 10px 32px rgba(15,27,64,.04);}
.templates-section__header{display:flex; flex-direction:column; gap:4px; margin:0 0 16px;}
.templates-section__header h3{margin:0; font-size:15px; font-weight:700; letter-spacing:.02em; text-transform:none; color:#1d2845;}
.templates-section__header p{margin:0; color:var(--muted); font-size:13px;}
.templates-groups{display:flex; flex-direction:column; gap:16px;}
.templates-group{border:1px solid #e7ecfa; border-radius:14px; padding:16px 18px; background:#f9fbff;}
.templates-group__header{display:flex; flex-direction:column; gap:2px; margin:0 0 12px;}
.templates-group__title{margin:0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#5c6c92; font-weight:700;}
.templates-group__subtitle{margin:0; color:var(--muted); font-size:12px;}
.templates-type-hint{margin:12px 0 0; color:var(--muted); font-size:12px;}
.templates-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.templates-list__item{
  width:100%; text-align:left; border:1px solid #dfe3f2; border-radius:14px;
  padding:14px 16px; background:#f9faff; cursor:pointer;
  display:flex; flex-direction:column; gap:4px;
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
}
.templates-list__empty{margin:0; padding:16px; border-radius:14px; background:#f7f9ff; color:var(--muted); text-align:center;}
.templates-list__item[aria-selected="true"],
.templates-list__item:hover{
  border-color:var(--accent);
  background:#ffffff;
  box-shadow:0 12px 30px rgba(12,18,32,.08);
}
.templates-list__name{font-weight:600; font-size:14px; color:#0c1220;}
.templates-list__meta{font-size:13px; color:var(--muted);}
.templates-modes{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
.templates-mode{
  appearance:none; border:1px solid #dfe3f2; border-radius:14px;
  padding:12px 14px; font-weight:600; font-size:13px; cursor:pointer;
  background:#f4f6fb; color:#2d3856;
  transition:border-color var(--speed), background var(--speed), color var(--speed), box-shadow var(--speed);
}
.templates-modes.is-locked .templates-mode{cursor:not-allowed; opacity:.55;}
.templates-mode.is-active,
.templates-mode:focus{
  outline:none;
  border-color:var(--accent);
  background:#ffffff;
  color:#0c1220;
  box-shadow:0 10px 26px rgba(12,18,32,.08);
}
.templates-auth{display:flex; flex-direction:column; gap:8px;}
.templates-auth label{font-weight:600; font-size:14px; color:#1d2845;}
.templates-auth input{
  border-radius:12px; border:1px solid #dfe3f2; padding:12px 14px;
  font-size:14px; background:#f7f9ff; transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
}
.templates-auth input:focus{
  outline:none; border-color:var(--accent); background:#ffffff; box-shadow:0 0 0 3px rgba(0,122,255,.15);
}
.templates-auth input[aria-invalid="true"]{
  border-color:#d12c2c;
  box-shadow:0 0 0 1px rgba(209,44,44,.3);
}
.templates-auth small{color:var(--muted); font-size:12px;}
.templates-auth__error{margin:0; color:#d12c2c; font-size:12px;}
.templates-drawer__footer{
  padding:20px 24px; border-top:1px solid #edf0f8;
  background:linear-gradient(180deg,#ffffff 0%,#f6f8fc 100%);
  display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px;
}
.templates-apply-btn{padding-inline:24px;}
@media (max-width:720px){
  .templates-drawer{width:100%;}
  .templates-modes{grid-template-columns:1fr;}
}
@media (min-width:721px){
  .templates-drawer__controls{flex-direction:row; align-items:center; justify-content:flex-end; gap:12px;}
}
.comms-backdrop{z-index:85;}
.comms-drawer{
  width:540px;
  box-shadow:-24px 0 60px rgba(12,18,32,.16);
  z-index:95;
}
.comms-drawer__panel{display:flex; flex-direction:column; height:100%;}
.comms-drawer__header{
  padding:24px; border-bottom:1px solid #ecf0f8;
  background:linear-gradient(180deg,#f8faff 0%,#ffffff 65%);
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
}
.comms-drawer__title-group{display:flex; flex-direction:column; gap:6px; max-width:360px;}
.comms-drawer__title{margin:0; font-size:20px; font-weight:700; color:#1d2845; letter-spacing:-0.01em;}
.comms-drawer__subtitle{margin:0; font-size:13px; color:var(--muted); line-height:1.5;}
.comms-drawer__body{
  flex:1; min-height:0; overflow:auto; padding:24px; display:flex; flex-direction:column; gap:24px;
  background:linear-gradient(180deg,#f9fbff 0%,#ffffff 32%);
  overscroll-behavior:contain;
}
.comms-card{margin:0;}
.comms-drawer__close-btn{
  appearance:none; border:1px solid var(--control-border); background:var(--control-bg); color:var(--control-ink);
  padding:9px 16px; border-radius:10px; font-weight:600; cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed), color var(--speed);
}
.comms-drawer__close-btn:hover{background:var(--control-hover); transform:translateY(-1px);}
.comms-drawer__close-btn:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring);}
body.comms-drawer-open{overflow:hidden;}
.drawer-placeholder{margin:0 0 32px;}
@media (max-width:720px){
  .comms-drawer{width:100%; border-radius:0; box-shadow:none;}
}
.wrap{max-width:1240px; margin:0 auto 40px; padding:0 12px;}

.site-footer{
  max-width:1240px;
  margin:40px auto 32px;
  padding:0 12px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
  line-height:1.6;
}
.site-footer a{color:var(--accent); text-decoration:none;}
.site-footer a:hover,
.site-footer a:focus{text-decoration:underline;}
.site-footer__meta{
  font-size:12px;
  color:#7d8aa6;
}

h2#docSubtitle{margin:12px 0 8px; font-size:16px; font-weight:700; color:#2a3957; white-space:pre-wrap;}

.card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:20px 22px 24px; margin:0 0 32px;
  transition:background-color var(--speed), border-color var(--speed), box-shadow var(--speed), color var(--speed);
}
.card h3{
  margin:0 0 16px;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,system-ui,ui-sans-serif;
  font-size:15px; font-weight:700; letter-spacing:.32px; text-transform:uppercase; color:var(--ink-strong);
}
.kt-section-title{
  margin:0 0 12px;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,system-ui,ui-sans-serif;
  font-size:15px; font-weight:700; letter-spacing:.32px; text-transform:uppercase; color:var(--ink-strong);
}
.preface-stack{display:flex; flex-direction:column;}
.grid{ display:grid; gap:12px; }
.grid.cols-2{ grid-template-columns:1fr 1fr; }
.grid.cols-3{ grid-template-columns:1fr 1fr 1fr; }
.containment-grid{ margin-top:32px; }
.containment-grid .contain-status{ grid-column:1 / -1; }
.containment-grid .containment-description{ grid-column:1 / -1; margin-top:12px; }
.containment-radios{ display:flex; flex-wrap:wrap; gap:12px; }
.radio-option{ display:flex; align-items:center; gap:6px; }
.comm-grid{ grid-template-columns:1fr 1fr auto; align-items:end; }
.comm-grid .field{ margin:0; }
.comm-grid .field label{ margin-bottom:4px; }
.comm-grid.comm-grid--single{ grid-template-columns:1fr; }
.comm-log-toggle{ margin-top:8px; align-self:flex-start; display:inline-flex; align-items:center; }
.inline{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.chipset{ display:flex; gap:8px; flex-wrap:wrap; }
.chipset .chip{ position:relative; display:flex; align-items:center; gap:6px; }
.chipset .chip label{ display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; border:1px solid var(--control-border); background:var(--control-bg); font-weight:600; font-size:13px; color:var(--control-ink); cursor:pointer; transition:border-color var(--speed), box-shadow var(--speed), background var(--speed); }
.chipset .chip input[type="checkbox"]{ position:absolute; top:0; left:0; opacity:0; pointer-events:none; width:1px; height:1px; }
.chipset .chip input[type="checkbox"]:focus + label{ border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.chipset .chip input[type="checkbox"]:checked + label{ border-color:var(--accent); background:rgba(0,122,255,.1); color:var(--accent); }
.chip-label{ font-weight:700; color:var(--ink-strong); min-width:150px; flex:0 0 auto; }
.caption{ margin:-6px 0 16px; font-size:12px; color:var(--muted); }
.gap-24{ gap:24px; }
.field label{display:block; font-weight:700; margin-bottom:6px; color:var(--ink-strong);}
.field small{display:block; color:var(--muted); margin-top:4px;}
fieldset.field{border:0; padding:0; margin:0;}
fieldset.field legend{font-weight:700; margin-bottom:6px; font-size:14px; color:var(--ink-strong);}
.field textarea, .field input[type="text"]{
  width:100%; box-sizing:border-box;
  font-size:var(--ta-fs);
  line-height:1.6;
  font-family:"SF Pro Text","SF Pro Display",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink); background:var(--input-bg);
  border:1px solid var(--input-border); border-radius:12px; padding:12px 14px; outline:none;
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed), color var(--speed);
}
.field textarea{min-height:var(--ta-min-h); resize:vertical;}
#oneLine{
  min-height:52px;
  max-height:72px;
  height:auto;
}
#proof,
#objectPrefill,
#healthy,
#now,
#impactNow,
#impactFuture,
#impactTime{
  min-height:calc(var(--ta-min-h) + 16px);
  height:auto;
}
.field input[type="text"]{height:44px;}
.field input[readonly]{background:var(--band); color:var(--muted);}
.field input[type="time"], .field select{
  width:100%; box-sizing:border-box; height:44px;
  font:15px/1.55 "SF Pro Text","SF Pro Display",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink); background:var(--input-bg);
  border:1px solid var(--input-border); border-radius:12px; padding:8px 12px; outline:none;
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
}
.field input[type="time"]:focus, .field select:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--focus-ring); background:var(--panel);}
.btn-mini{
  appearance:none; border:1px solid var(--control-border); background:var(--control-hover); color:var(--accent);
  padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:600; font-size:13px;
  transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed), background-color var(--speed);
  box-shadow:var(--accent-shadow);
}
.btn-mini:hover{transform:translateY(-1px);}
.btn-mini:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--focus-ring);}
.btn-mini.btn-ghost{
  background:var(--control-bg); color:var(--muted); border-color:var(--control-border); box-shadow:none;
}
.btn-mini.btn-ghost:hover{background:var(--control-hover);}
.btn-mini.btn-danger{
  background:#ffeceb; color:#c0362c; border-color:#ffc3bb; box-shadow:0 4px 12px rgba(255,107,74,.12);
}
.btn-mini.btn-danger:hover{background:#ffdcd4;}
.field textarea::placeholder, .field input::placeholder{color:#8b93a4;}
.field textarea:focus, .field input:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--focus-ring); background:var(--panel);}

.card.communication-due{ border-color:#ff9a8a; background:linear-gradient(180deg,#fff4f2 0%,#ffffff 35%); box-shadow:0 10px 28px rgba(255,107,74,.18); }
.communication-due .countdown{ color:#d91f11; }

.cadence-group{ display:flex; gap:8px; flex-wrap:wrap; }
.cadence-option{ position:relative; }
.cadence-option input[type="radio"]{ position:absolute; inset:0; opacity:0; }
.cadence-option span{ display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; border-radius:999px; border:1px solid #dfe5f2; background:#f7f9ff; font-weight:600; font-size:13px; color:#1d2845; cursor:pointer; transition:border-color var(--speed), box-shadow var(--speed), background var(--speed); }
.cadence-option input[type="radio"]:focus + span{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,122,255,.18); }
.cadence-option input[type="radio"]:checked + span{ border-color:var(--accent); background:rgba(0,122,255,.1); color:var(--accent); }

.comm-actions{ gap:10px; justify-content:flex-start; }
.comm-actions .countdown{ font-weight:600; color:#2a3957; min-width:96px; }

.comm-alert{ margin-top:10px; padding:10px 12px; border-radius:12px; background:#fff2f0; border:1px solid #ffd0c7; color:#b71c1c; font-weight:600; display:flex; align-items:center; gap:8px; }

.comm-log{ list-style:none; padding:0; margin:12px 0 0; display:flex; flex-direction:column; gap:8px; }
.comm-log li{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; background:#f7f9ff; border:1px solid #e2e7f3; font-size:13px; }
.comm-log__type{ font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#1d2845; }
.comm-log__time{ font-variant-numeric:tabular-nums; color:#2a3957; }
.comm-log__message{ flex:1; color:#3b4962; font-size:12px; }
.comm-log__empty{ justify-content:flex-start; color:#7a8398; font-style:italic; }

/* Impact strip */
.impact{ padding:18px; }
.impact > h3{
  margin:0 0 18px;
  font-size:17px;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#1f2b40;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.impact .field{padding:4px 0;}
.impact .field h3{
  margin:0 0 6px;
  font-size:15px;
  font-weight:600;
  letter-spacing:-0.015em;
  color:#22324b;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.impact .field label{
  font-size:13px;
  font-weight:600;
  letter-spacing:-0.01em;
  color:#3b4962;
  margin-bottom:8px;
}
.impact .field small{
  font-size:12px;
  line-height:1.55;
  letter-spacing:0;
}
.impact textarea{
  font-family:"SF Pro Text","SF Pro Display",-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
  line-height:1.6;
  letter-spacing:-0.01em;
}

/* Table */
table{
  table-layout:fixed;
  
  width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:var(--radius);
  background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow);
}
thead th{
  word-wrap:break-word;
  white-space:normal;

  position:sticky; top:0; z-index:3;
  background:linear-gradient(180deg, var(--panel), var(--panel-muted));
  color:var(--ink); text-align:left; font-size:12px; letter-spacing:.4px;
  padding:12px; border-bottom:1px solid var(--line);
}
tbody td, tbody th{
  border-bottom:1px solid var(--line); vertical-align:top; padding:10px 8px; transition:background-color var(--speed);
}
tbody tr:last-child td, tbody tr:last-child th{border-bottom:0;}
tbody tr:hover td, tbody tr:hover th{background-color:var(--band);}
tbody th{
  width:var(--qcol-w); max-width:var(--qcol-w); min-width:var(--qcol-w);
  white-space:normal; word-break:break-word; font-weight:700; color:var(--ink-strong);
}
.cause-list{display:flex; flex-direction:column; gap:16px; margin-top:12px; margin-bottom:18px;}
.cause-empty{padding:18px; border:1px dashed #dfe5f2; border-radius:12px; background:#f9fbff; color:#5b6475; font-style:italic;}
.cause-card{
  border:1px solid #e2e7f3; border-radius:14px; background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
  padding:18px 20px; display:flex; flex-direction:column; gap:12px; position:relative;
}
.cause-card[data-editing="true"]{border-color:var(--accent); box-shadow:0 0 0 4px rgba(0,122,255,.12);}
.cause-card[data-failed="true"]{border-color:#ffb3a9; box-shadow:0 0 0 4px rgba(255,107,74,.16);}
.cause-card__header{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap;}
.cause-card__likely{display:flex; align-items:center; margin-left:auto;}
.cause-card__likely-badge{
  appearance:none;
  border:1px solid #d5def5;
  background:#f1f4ff;
  color:#1d2845;
  font-weight:600;
  font-size:12px;
  letter-spacing:.02em;
  padding:4px 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  transition:background var(--speed), border-color var(--speed), color var(--speed), box-shadow var(--speed);
}
.cause-card__likely-badge[data-state="idle"]:hover{
  background:#e7ecff;
}
.cause-card__likely-badge[data-state="selected"]{
  background:#e8f3ff;
  border-color:var(--accent);
  color:var(--accent);
  box-shadow:0 0 0 2px rgba(0,122,255,.16);
}
.cause-card__likely-badge[data-state="failed"],
.cause-card__likely-badge[disabled]{
  cursor:not-allowed;
  opacity:.5;
  background:#f4f6fa;
  border-color:#e2e7f3;
  color:#6b768a;
  box-shadow:none;
}
.cause-card__likely-badge:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,122,255,.2);
  border-color:var(--accent);
}
.cause-card[data-likely="true"]:not([data-failed="true"]) {
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(0,122,255,.12);
}
.cause-list__hint{
  margin:0;
  padding:16px 18px;
  border-radius:12px;
  background:#f9fbff;
  border:1px solid #e2e7f3;
  color:#3b4962;
  font-size:14px;
  letter-spacing:-0.01em;
}
.cause-card__meta{display:flex; flex-direction:column; gap:4px;}
.cause-card__title{font-weight:700; font-size:14px; color:#1d2845; letter-spacing:.02em;}
.cause-card__status{font-size:12px; color:var(--muted); letter-spacing:.02em;}
.cause-card__actions-badge{font-size:12px; color:var(--muted); letter-spacing:.02em;}
.cause-card__indicators{display:flex; flex-direction:column; align-items:flex-end; gap:6px;}
.cause-card__chip{display:inline-flex; align-items:center; justify-content:center; padding:6px 12px; border-radius:999px; font-weight:600; font-size:12px; letter-spacing:.03em; text-transform:uppercase; border:1px solid transparent; background:#f2f4fb; color:#3b4962;}
.cause-card__chip[data-status="not-tested"]{background:#f2f4fb; color:#3b4962; border-color:#dfe5f2;}
.cause-card__chip[data-status="testing"]{background:#fff6e6; color:#7b4b00; border-color:#f3d2a2;}
.cause-card__chip[data-status="explained"]{background:#e6f9ef; color:#0f5b2f; border-color:#b8e8cd;}
.cause-card__chip[data-status="failed"]{background:#ffe8e6; color:#b71c1c; border-color:#ffb3a9;}
.cause-card__chip[data-status="draft"]{background:#f5f7fb; color:#6b768a; border-color:#e2e7f3;}
.cause-card__chip[data-status="no-evidence"]{background:#eef3ff; color:#1d2845; border-color:#d5def5;}
.cause-card__failure{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-weight:600; font-size:12px; letter-spacing:.02em; background:#ffe8e6; color:#b71c1c; border:1px solid #ffb3a9;}
.cause-card__failure::before{content:'✕'; font-size:13px; line-height:1;}
.cause-card__failure[hidden],
.cause-card__assumptions[hidden]{display:none !important;}
.cause-card__assumptions{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-weight:600; font-size:12px; letter-spacing:.02em; background:#f1f4ff; color:#1d2845; border:1px solid #d5def5;}
.cause-card__assumptions::before{content:'∑'; font-size:13px; line-height:1; color:#3b4d7a;}
.cause-card__summary{margin:0; font-size:14px; line-height:1.6; color:var(--ink-strong);}
.cause-card__helper{margin-top:-6px;}
.cause-card__actions{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end;}
.cause-card__actions .btn-mini{padding-inline:12px;}
.cause-card__form{display:grid; gap:14px;}
.cause-card__form .field textarea{min-height:120px;}
.cause-hypothesis-form{gap:20px;}
.cause-hypothesis-form__fields{display:grid; gap:18px;}
.cause-hypothesis-form__preview{border:1px solid #e2e7f3; border-radius:12px; background:#f9fbff; padding:16px; display:flex; flex-direction:column; gap:8px;}
.cause-hypothesis-form__preview-title{margin:0; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#7a8398;}
.cause-hypothesis-form__preview-body{margin:0; font-size:14px; line-height:1.6; color:var(--ink-strong); white-space:pre-wrap;}
.cause-hypothesis-form__footer{border-top:1px solid #e2e7f3; padding-top:16px; display:flex; flex-direction:column; gap:16px;}
.field-hint{margin:6px 0 0; font-size:12px; color:var(--muted); line-height:1.4;}
.field-hint[hidden]{display:none !important;}
@media (min-width:880px){
  .cause-hypothesis-form{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr); align-items:start;}
  .cause-hypothesis-form__fields{grid-column:1 / 2;}
  .cause-hypothesis-form__preview{grid-column:2 / 3; position:sticky; top:0;}
  .cause-hypothesis-form__footer{grid-column:1 / -1;}
}
.cause-controls{display:flex; gap:8px; flex-wrap:wrap; margin-top:4px;}
.cause-test{border-top:1px solid #e2e7f3; padding-top:14px; display:flex; flex-direction:column; gap:12px;}
.cause-test__intro{margin:0; font-size:13px; color:#3b4962;}
.cause-eval-row{border:1px solid #e3e8f5; border-radius:12px; background:#f9fbff; padding:14px; display:flex; flex-direction:column; gap:12px;}
.cause-eval-question-text{font-weight:600; font-size:13px; color:#1f2b40;}
.cause-evidence-wrap{display:grid; gap:10px; grid-template-columns:repeat(auto-fit, minmax(180px,1fr));}
.cause-evidence-block{display:flex; flex-direction:column; gap:4px; padding:10px; border-radius:10px; background:#ffffff; border:1px solid #e6ebf5;}
.cause-evidence-label{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#7a8398; font-weight:700;}
.cause-evidence-text{font-size:13px; line-height:1.5; color:#22324b; white-space:pre-line;}
.cause-eval-inputs{display:flex; flex-direction:column; gap:12px;}
.cause-eval-options{display:flex; flex-wrap:wrap; gap:8px;}
.cause-eval-option{appearance:none; border:1px solid #dfe5f2; background:#ffffff; color:#1d2845; font-weight:600; font-size:13px; padding:8px 14px; border-radius:999px; cursor:pointer; transition:background var(--speed), border-color var(--speed), color var(--speed), box-shadow var(--speed);}
.cause-eval-option:hover{border-color:var(--accent);}
.cause-eval-option:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(0,122,255,.18);}
.cause-eval-option.is-selected{background:rgba(0,122,255,.12); border-color:var(--accent); color:var(--accent); box-shadow:0 6px 16px rgba(0,122,255,.12);}
.cause-eval-note{display:flex; flex-direction:column; gap:6px;}
.cause-eval-note[hidden]{display:none;}
.cause-eval-inputs .field textarea{min-height:120px;}
.cause-evidence-empty{padding:12px; border-radius:10px; background:#f7f9ff; color:#5b6475; font-size:13px;}
@media (max-width:720px){
  .cause-card{padding:16px;}
}
.kt-focus-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:4px;
  border:1px solid #dfe4f2;
  border-radius:999px;
  background:rgba(223,228,242,.4);
  margin:0 0 12px;
}
.kt-focus-toggle button{
  appearance:none;
  border:1px solid transparent;
  background:transparent;
  color:#1d2845;
  font-weight:600;
  font-size:13px;
  padding:6px 12px;
  border-radius:999px;
  cursor:pointer;
  transition:background var(--speed), color var(--speed), border-color var(--speed), box-shadow var(--speed);
}
.kt-focus-toggle button:hover{
  background:rgba(0,122,255,.08);
  color:var(--accent);
}
.kt-focus-toggle button:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}
.kt-focus-toggle button.is-active{
  background:var(--accent);
  color:#ffffff;
  border-color:var(--accent);
  box-shadow:0 8px 20px rgba(0,122,255,.22);
}
.band th{
  padding:12px; font-weight:800; color:#2a3957;
  background:linear-gradient(180deg, var(--band), #ffffff);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.band th span{opacity:.85; font-weight:600; color:#6b768a}
#ktTable{
  margin:0 0 32px;
}

#ktTable tbody tr[data-row-theme] > th{
  position:relative;
  background-clip:padding-box;
  padding-left:8px;
}
#ktTable tbody tr[data-row-theme] > th::before{
  content:'';
  position:absolute;
  left:0;
  top:6px;
  bottom:6px;
  width:4px;
  border-radius:999px;
  pointer-events:none;
}
#ktTable tbody tr[data-row-theme="blue"] > th{
  background:linear-gradient(90deg, rgba(0,122,255,.16), rgba(0,122,255,0));
  color:#13315b;
}
#ktTable tbody tr[data-row-theme="blue"] > th::before{background:rgba(0,122,255,.24);}
#ktTable tbody tr[data-row-theme="lavender"] > th{
  background:linear-gradient(90deg, rgba(168,132,255,.16), rgba(168,132,255,0));
  color:#33275b;
}
#ktTable tbody tr[data-row-theme="lavender"] > th::before{background:rgba(168,132,255,.28);}
textarea.tableta{
  width:100%; min-height:var(--ta-min-h); resize:vertical; box-sizing:border-box;
  font:var(--ta-fs)/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  color:var(--ink); background:#f9fbff;
  border:1px solid #dfe5f2; border-radius:12px; padding:12px 14px; outline:none;
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
}
textarea.tableta.tableta--muted{
  background:#e2e6f0;
  border-color:#c9d0e3;
  color:var(--muted);
}
textarea.tableta::placeholder{color:#8b93a4;}
textarea.tableta.tableta--muted::placeholder{color:#8f97ab;}
textarea.tableta:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--focus-ring); background:var(--panel);}
textarea.tableta.tableta--muted:focus{
  background:#ecf0f7;
  border-color:#bcc6dd;
  box-shadow:0 0 0 4px rgba(0,122,255,.12);
}

.analysis-detail{
  display:flex;
  flex-direction:column;
  gap:32px;
}

.card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.card-title-group{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.card-title-group .muted{
  font-size:13px;
}

#handover-card{
  padding:22px 24px 26px;
}

.handover-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3, minmax(280px, 1fr));
}

@media (max-width: 1080px){
  .handover-grid{
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  }
}

.handover-section{
  background:var(--panel-muted);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.handover-section__title h4{
  margin:0;
  font-size:16px;
  letter-spacing:-0.01em;
  color:var(--ink-strong);
}

.handover-section__title .muted{
  margin:6px 0 0;
}

.handover-input__label{
  font-weight:700;
  color:var(--ink-strong);
}

.handover-input{
  min-height:110px;
}

.action-card{
  padding:22px 24px 26px;
}

.quick-add{
  display:flex;
  gap:12px;
  align-items:center;
  background:linear-gradient(180deg,var(--panel-muted) 0%,var(--panel) 70%);
  border:1px solid var(--line);
  border-radius:20px;
  padding:12px 16px;
  margin-bottom:18px;
  color:var(--ink);
  transition:background-color var(--speed), border-color var(--speed), box-shadow var(--speed);
}
.quick-add:hover{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  box-shadow:var(--shadow);
  background:linear-gradient(180deg,var(--panel) 0%,var(--panel-muted) 70%);
}

.quick-add input{
  flex:1;
  border:0;
  background:transparent;
  font-size:15px;
  font-family:inherit;
  color:var(--ink);
  outline:none;
}

.quick-add button{
  appearance:none;
  border:0;
  border-radius:999px;
  background:var(--accent);
  color:var(--accent-contrast);
  font-weight:600;
  font-size:14px;
  padding:10px 18px;
  cursor:pointer;
  transition:transform var(--speed), box-shadow var(--speed), opacity var(--speed);
  box-shadow:var(--accent-shadow);
}

.quick-add button:disabled{
  opacity:.5;
  cursor:default;
  box-shadow:none;
}

.quick-add button:not(:disabled):hover{
  transform:translateY(-1px);
}

.action-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.action-row{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto auto auto auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--panel) 0%,var(--panel-muted) 100%);
  box-shadow:var(--shadow);
  color:var(--ink);
  transition:border-color var(--speed), box-shadow var(--speed), transform var(--speed), background var(--speed);
}
.action-row--reordered{
  animation:actionRowReordered 1100ms ease-out;
}
@keyframes actionRowReordered{
  0%{
    transform:translateY(-4px);
    box-shadow:var(--accent-shadow-strong);
    border-color:color-mix(in srgb,var(--accent) 60%,var(--line));
    background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,var(--panel)) 0%,color-mix(in srgb,var(--accent) 16%,var(--panel-muted)) 100%);
  }
  60%{
    transform:translateY(-1px);
    box-shadow:var(--accent-shadow);
    border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
    background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,var(--panel)) 0%,color-mix(in srgb,var(--accent) 12%,var(--panel-muted)) 100%);
  }
  100%{
    transform:translateY(0);
    box-shadow:var(--shadow);
    border-color:var(--line);
    background:linear-gradient(180deg,var(--panel) 0%,var(--panel-muted) 100%);
  }
}
.action-row:hover{
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
  box-shadow:var(--shadow-strong);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel-muted) 70%,var(--panel)) 0%,color-mix(in srgb,var(--panel-muted) 85%,var(--panel)) 100%);
}
.action-row.is-selected{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  box-shadow:var(--accent-shadow);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,var(--panel)) 0%,color-mix(in srgb,var(--accent) 10%,var(--panel-muted)) 100%);
}
.action-row:focus{
  outline:none;
  border-color:color-mix(in srgb,var(--accent) 65%,var(--line));
  box-shadow:0 0 0 3px var(--focus-ring);
}

.action-row .summary{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:var(--ink-strong);
}
.summary__title{
  font-weight:600;
  font-size:14px;
  letter-spacing:-0.01em;
}
.summary__subtitle{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:12.5px;
  color:var(--muted);
}
.summary__subtitle-text{
  flex:1;
  line-height:1.45;
}
.summary__subtitle-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.summary__subtitle-button{
  appearance:none;
  border:0;
  background:transparent;
  padding:2px 4px;
  border-radius:8px;
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:color var(--speed), text-decoration var(--speed);
}
.summary__subtitle-button:hover,
.summary__subtitle-button:focus{
  text-decoration:underline;
}
.summary__subtitle-button:focus-visible{
  outline:2px solid rgba(11,85,211,.35);
  outline-offset:2px;
}
.summary__subtitle--warning{
  background:rgba(253,234,234,.65);
  border-radius:12px;
  padding:8px 10px;
}
.summary__subtitle--warning .summary__subtitle-text{
  color:var(--ink-strong);
}
.risk-strip{
  margin-top:6px;
  padding:6px 10px;
  border:1px solid #e2e8f6;
  border-radius:12px;
  background:linear-gradient(180deg,#f9fbff 0%,#f3f6ff 100%);
  transition:border-color var(--speed), box-shadow var(--speed), background var(--speed);
}

.risk-strip__toggle{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  text-align:left;
  color:#1d2845;
  cursor:pointer;
}

.risk-strip__add{
  color:#0b55d3;
  font-weight:650;
}

.risk-strip__summary{
  flex:1;
  min-width:0;
  font-size:12.5px;
  color:#4a5676;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.risk-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.risk-pill[data-level="High"]{background:#ffe9e6;color:#c4322a;}
.risk-pill[data-level="Medium"]{background:#fff3e0;color:#8a4b00;}
.risk-pill[data-level="Low"]{background:#e9f7ef;color:#1f7a4d;}
.risk-pill[data-level="None"]{background:#eef2f9;color:#4a5676;}

.risk-strip[data-expanded="1"]{
  border-color:#cdd8f3;
  box-shadow:0 8px 22px rgba(15,24,36,.08);
  background:#ffffff;
}

.risk-editor{
  display:none;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

.risk-strip[data-expanded="1"] .risk-editor{
  display:flex;
}

.risk-editor__inputs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.risk-editor__inputs--secondary{
  margin-top:2px;
}

.risk-editor__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:180px;
}

.risk-editor__field--grow{
  flex:1;
}

.risk-editor__field span{
  font-size:12px;
  color:#4a5676;
}

.risk-editor__field input,
.risk-editor__field select{
  width:100%;
  border:1px solid #d6ddf0;
  border-radius:10px;
  padding:9px 12px;
  font-size:13px;
  color:#1d2845;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.risk-editor__field input:focus,
.risk-editor__field select:focus{
  outline:none;
  border-color:#4b82f0;
  box-shadow:0 0 0 3px rgba(75,130,240,.16);
}

.risk-editor__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.risk-editor__spacer{
  flex:1;
}

.risk-editor__link{
  border:0;
  background:transparent;
  color:#0b55d3;
  font-weight:600;
  cursor:pointer;
  padding:6px 8px;
  border-radius:10px;
}

.risk-editor__link:hover{
  background:rgba(11,85,211,.08);
}

.risk-editor__primary{
  border:0;
  background:#0b55d3;
  color:#fff;
  font-weight:650;
  padding:8px 14px;
  border-radius:10px;
  box-shadow:0 8px 16px rgba(11,85,211,.18);
  cursor:pointer;
}

.risk-editor__primary:hover{
  background:#0a4cb9;
}
.summary__detail{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #e4e9f8;
  background:#f6f8ff;
  color:var(--ink-strong);
  font-size:12.5px;
  font-weight:500;
}
.summary__blocker{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #f7c7c7;
  background:#fdeaea;
  color:var(--ink-strong);
  font-size:12.5px;
  font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.summary__blocker[data-blocker-state="not-blocked"]{
  border-color:#e4e9f8;
  background:#f6f8ff;
}
.summary__blocker-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-strong);
}
.summary__blocker[data-blocker-state="not-blocked"] .summary__blocker-label{
  color:var(--muted);
}
.summary__blocker-text{
  line-height:1.45;
  color:var(--ink-strong);
  word-break:break-word;
}
.summary__detail-row{
  display:flex;
  align-items:center;
  gap:6px;
}
.summary__detail-row dt{
  margin:0;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.summary__detail-row dd{
  margin:0;
}
.summary__value{
  color:var(--ink-strong);
}
.summary__value--status{
  font-weight:700;
}
.summary__value--muted{
  color:var(--muted);
}
.summary__detail[data-verify-state="required"]{
  border-color:#f9dca2;
  background:#fff5df;
}
.summary__detail[data-verify-state="verified"]{
  border-color:#b7e4c5;
  background:#e6f6ec;
}
.summary__detail[data-verify-state="optional"]{
  border-color:#dfe4f2;
  background:#f6f8ff;
}
.summary__link{
  color:var(--accent);
  font-weight:600;
  text-decoration:none;
}
.summary__link:hover,
.summary__link:focus{
  text-decoration:underline;
}

.action-row button{
  min-width:56px;
}

.blocker-dialog-overlay{
  position:fixed;
  inset:0;
  background:rgba(16,24,40,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:1200;
}
.blocker-dialog{
  width:min(420px, calc(100vw - 32px));
  background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
  border-radius:20px;
  box-shadow:0 28px 60px rgba(15,24,36,.25);
  border:1px solid rgba(255,255,255,.65);
  display:flex;
  flex-direction:column;
}
.blocker-dialog__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 22px 12px 24px;
}
.blocker-dialog__header h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  letter-spacing:-0.01em;
  color:#1d2845;
}
.blocker-dialog__close{
  appearance:none;
  border:none;
  background:transparent;
  color:#6b768a;
  font-size:26px;
  line-height:1;
  padding:4px 8px;
  border-radius:12px;
  cursor:pointer;
  transition:background var(--speed), color var(--speed);
}
.blocker-dialog__close:hover,
.blocker-dialog__close:focus{
  background:rgba(0,0,0,.05);
  color:#1d2845;
  outline:none;
}
.blocker-dialog__form{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:0 24px 24px;
}
.blocker-dialog__intro{
  margin:0;
  font-size:14px;
  color:#4a5670;
  line-height:1.5;
}
.blocker-dialog__field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.blocker-dialog__field span{
  font-size:13px;
  font-weight:600;
  color:#1d2845;
}
.blocker-dialog__textarea{
  resize:vertical;
  min-height:120px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #d6dff4;
  font:inherit;
  color:#1d2845;
  background:#fff;
  transition:border-color var(--speed), box-shadow var(--speed);
}
.blocker-dialog__textarea:focus{
  outline:none;
  border-color:rgba(0,122,255,.55);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}
.blocker-dialog__actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}
.blocker-dialog__button{
  appearance:none;
  border:none;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  padding:10px 20px;
  cursor:pointer;
  transition:transform var(--speed), box-shadow var(--speed), background var(--speed);
}
.blocker-dialog__button--ghost{
  background:rgba(99,112,138,.12);
  color:#1d2845;
}
.blocker-dialog__button--ghost:hover,
.blocker-dialog__button--ghost:focus{
  background:rgba(99,112,138,.22);
  outline:none;
}
.blocker-dialog__button--primary{
  background:#0b55d3;
  color:#fff;
  box-shadow:0 10px 20px rgba(11,85,211,.25);
}
.blocker-dialog__button--primary:hover,
.blocker-dialog__button--primary:focus{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(11,85,211,.3);
  outline:none;
}

#action-card .chip{
  appearance:none;
  border:1px solid #dfe4f2;
  background:#f6f8ff;
  color:#1d2845;
  font-weight:600;
  padding:8px 14px;
  border-radius:999px;
  cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed);
}

#action-card .chip:hover,
#action-card .chip:focus{
  outline:none;
  border-color:var(--accent);
  background:rgba(0,122,255,.12);
}
#action-card .chip--status{font-size:13px; padding:8px 16px; text-transform:none;}
#action-card .chip--status[data-status="Planned"]{background:#eef2ff; border-color:#d8def8; color:#1d2845;}
#action-card .chip--status[data-status="In-Progress"]{background:rgba(0,122,255,.14); border-color:rgba(0,122,255,.32); color:#0b55d3;}
#action-card .chip--status[data-status="Done"]{background:#e6f6ec; border-color:#b7e4c5; color:#0f5b2f;}
#action-card .chip--status[data-status="Blocked"]{background:#fdeaea; border-color:#f7c7c7; color:#b3261e;}
#action-card .chip--status[data-status="Deferred"],
#action-card .chip--status[data-status="Cancelled"]{background:#f3f4f9; border-color:#e1e4ef; color:#5b6475;}
#action-card .chip--priority{min-width:60px; font-variant-numeric:tabular-nums;}
#action-card .chip--priority[data-priority="High"]{background:#fdecec; border-color:#f5b9b9; color:#c13232;}
#action-card .chip--priority[data-priority="Med"]{background:#fff4d6; border-color:#f9dca2; color:#a66a00;}
#action-card .chip--priority[data-priority="Low"]{background:#f1f5ff; border-color:#d9e3ff; color:#1d45a6;}
#action-card .chip--pill{padding:8px 14px; min-width:72px; background:#ffffff;}
#action-card .chip--pill:hover,
#action-card .chip--pill:focus{background:#f6f8ff;}
#action-card .chip.owner{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:flex-start;
  text-align:left;
  white-space:normal;
  line-height:1.3;
  max-width:280px;
  padding-right:16px;
}
#action-card .chip.owner[data-owner-empty="1"]{
  color:#5b6475;
  font-weight:600;
}
.owner-chip__name{font-weight:700; color:#1d2845;}
.owner-chip__separator{color:#9aa3ba; font-weight:600; display:inline-flex; align-items:center;}
.owner-chip__meta{font-weight:500; color:#5b6475; display:inline-flex; align-items:center;}

.icon-button{
  appearance:none;
  border:1px solid #dfe4f2;
  background:#ffffff;
  color:#1d2845;
  font-weight:600;
  padding:8px 12px;
  border-radius:12px;
  cursor:pointer;
  min-width:48px;
  transition:background var(--speed), border-color var(--speed), transform var(--speed);
}

.icon-button:hover,
.icon-button:focus{
  outline:none;
  border-color:var(--accent);
  background:#f6f8ff;
}
.verify-button{
  min-width:80px;
  border-color:#dfe4f2;
  background:#ffffff;
  color:#1d2845;
}
.verify-button[data-verify-state="required"]{
  border-color:#f5b9b9;
  background:#fdecec;
  color:#9c1a1a;
}
.verify-button[data-verify-state="required"]:hover,
.verify-button[data-verify-state="required"]:focus{
  background:#f9d6d6;
}
.verify-button[data-verify-state="verified"]{
  border-color:#b7e4c5;
  background:#e6f6ec;
  color:#0f5b2f;
}
.verify-button[data-verify-state="verified"]:hover,
.verify-button[data-verify-state="verified"]:focus{
  background:#d7f0e0;
}
.verify-button[data-verify-state="optional"]{
  border-color:#dfe4f2;
  background:#ffffff;
  color:#1d2845;
}
.verify-button[data-verify-state="optional"]:hover,
.verify-button[data-verify-state="optional"]:focus{
  background:#f6f8ff;
}

.summary__detail[data-verify-state="required"] .summary__value--status{
  color:#9c1a1a;
}
.summary__detail[data-verify-state="verified"] .summary__value--status{
  color:#0f5b2f;
}
.summary__detail[data-verify-state="optional"] .summary__value--status{
  color:#1d2845;
}
.menu-layer{position:fixed; inset:0; z-index:190;}
.menu-sheet{
  position:fixed;
  min-width:200px;
  background:#ffffff;
  border:1px solid #dfe4f2;
  border-radius:14px;
  box-shadow:0 20px 40px rgba(12,18,32,.16);
  padding:10px;
}
.menu-title{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6b768a;
  margin:0 0 6px;
}
.menu-list{display:flex; flex-direction:column; gap:4px;}
.menu-item{
  appearance:none;
  border:0;
  background:#f7f8fc;
  color:#1d2845;
  text-align:left;
  padding:8px 12px;
  border-radius:10px;
  font-weight:600;
  cursor:pointer;
  transition:background var(--speed), color var(--speed);
}
.menu-item:hover,
.menu-item:focus{
  outline:none;
  background:rgba(0,122,255,.12);
  color:#0b55d3;
}
.menu-item.is-active{
  background:rgba(0,122,255,.16);
  color:#0b55d3;
}
.action-dialog-backdrop{
  position:fixed;
  inset:0;
  background:rgba(12,18,32,.42);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:200;
}
.action-dialog{
  background:#ffffff;
  border:1px solid #e2e7f3;
  border-radius:18px;
  box-shadow:0 28px 60px rgba(12,18,32,.18);
  width:min(440px, 100%);
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 48px);
}
.action-dialog__header{
  padding:20px 24px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.action-dialog__header h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#1d2845;
  letter-spacing:-0.01em;
}
.action-dialog__description{
  margin:0;
  color:#5b6475;
  font-size:13px;
}
.action-dialog__body{
  padding:0 24px 18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow:auto;
}
.action-dialog__footer{
  padding:16px 24px 20px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  background:linear-gradient(180deg,#f8faff 0%,#ffffff 80%);
  border-top:1px solid #e7ecf6;
}
.btn-primary,
.btn-secondary{
  appearance:none;
  border-radius:12px;
  font-weight:600;
  padding:9px 18px;
  cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed), box-shadow var(--speed);
}
.btn-primary{
  border:0;
  background:var(--accent);
  color:#ffffff;
  box-shadow:0 10px 24px rgba(0,122,255,.28);
}
.btn-primary:disabled{
  opacity:.6;
  box-shadow:none;
  cursor:default;
}
.btn-primary:not(:disabled):hover{
  transform:translateY(-1px);
}
.btn-secondary{
  border:1px solid #dfe4f2;
  background:#f6f8ff;
  color:#1d2845;
}
.btn-secondary:hover,
.btn-secondary:focus{
  border-color:var(--accent);
  background:#eef3ff;
}
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-weight:600; color:#1d2845; font-size:13px;}
.field input,
.field textarea,
.field select{
  font:inherit;
  color:var(--ink);
  border:1px solid #dfe4f2;
  border-radius:12px;
  padding:9px 12px;
  background:#ffffff;
  transition:border-color var(--speed), box-shadow var(--speed);
}
.field textarea{min-height:88px; resize:vertical;}
.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--focus-ring);
  background:var(--panel);
}
.field-hint{margin:0; font-size:12px; color:#6b768a;}
.field-grid{display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0,1fr));}
@media (max-width:540px){
  .field-grid{grid-template-columns:1fr;}
}
body.dialog-open{overflow:hidden;}

.skeleton{
  background:linear-gradient(90deg,#f2f4fa 0%,#ffffff 50%,#f2f4fa 100%);
  animation:pulse 1.4s ease-in-out infinite;
  border-radius:16px;
  padding:24px;
  text-align:center;
  color:#5b6475;
}

@keyframes pulse{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width:920px){
  .action-row{
    grid-template-columns:repeat(2, minmax(0,1fr));
    row-gap:10px;
  }

  .action-row .summary{
    grid-column:1 / -1;
  }
}

/* Toast */
.toast{
  position:fixed; right:18px; bottom:18px; background:#0f1a10; color:#dff5e1; border:1px solid #164f19;
  padding:10px 12px; border-radius:12px; opacity:0; transform:translateY(10px); transition:.25s; pointer-events:none; box-shadow:var(--shadow);
}
.toast.show{opacity:1; transform:translateY(0);}
#action-card .quick-add {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
#action-card .quick-add input {
  flex: 1;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  background: var(--panel);
  color: var(--ink);
}
#action-card .quick-add button {
  padding: 0.6rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 0.6rem;
  cursor: pointer;
  background: var(--accent);
  color: var(--accent-contrast);
  box-shadow: var(--accent-shadow);
}

.action-list {
  margin: 0.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.action-row {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto auto auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, var(--panel) 0%, var(--panel-muted) 100%);
  color: var(--ink);
}
.action-row:focus {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
#action-card .action-row .chip {
  padding: 0.35rem 0.55rem;
  border-radius: 0.6rem;
  border: 1px solid var(--line);
  background: var(--panel-muted);
  color: var(--ink);
  cursor: pointer;
}
.action-row .summary {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.action-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 230;
}

.action-menu {
  position: absolute;
  min-width: 240px;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #dfe4f2;
  box-shadow: 0 24px 48px rgba(12, 18, 32, 0.18);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.action-menu__divider {
  height: 1px;
  background: #edf1fb;
  margin: 4px 0;
}

.action-menu__item {
  appearance: none;
  border: 0;
  background: transparent;
  border-radius: 10px;
  text-align: left;
  padding: 9px 12px;
  font: inherit;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: background var(--speed), box-shadow var(--speed), transform var(--speed);
}

.action-menu__item:hover,
.action-menu__item:focus {
  background: #eef3ff;
  outline: none;
  transform: translateX(2px);
}

.action-menu__item--danger {
  color: #9f1f24;
}

.action-menu__item--danger:hover,
.action-menu__item--danger:focus {
  background: rgba(159, 31, 36, 0.1);
}

.action-menu__label {
  font-weight: 600;
  font-size: 14px;
}

.action-menu__hint {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
}
.cause-picker-overlay {
  position: fixed;
  inset: 0;
  z-index: 240;
  background: rgba(13, 23, 45, 0.08);
}

.cause-picker {
  position: absolute;
  width: min(440px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 48px));
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #dfe4f2;
  box-shadow: 0 28px 60px rgba(12, 18, 32, 0.2);
  overflow: hidden;
}

.cause-picker__header,
.cause-picker__footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: #ffffff;
}

.cause-picker__header {
  justify-content: space-between;
  border-bottom: 1px solid #edf1fb;
}

.cause-picker__header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1d2845;
}

.cause-picker__close {
  appearance: none;
  border: 0;
  background: transparent;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
  color: #6b768a;
  cursor: pointer;
  transition: background var(--speed), color var(--speed);
}

.cause-picker__close:hover,
.cause-picker__close:focus-visible {
  background: rgba(14, 21, 38, 0.08);
  color: #1d2845;
  outline: none;
}

.cause-picker__body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
  overflow-y: auto;
}

.cause-picker__notice {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #f9dca2;
  background: #fff5df;
  color: #8b5a00;
  font-size: 12.5px;
  line-height: 1.45;
}

.cause-picker__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cause-picker__list-item {
  margin: 0;
}

.cause-picker__option {
  width: 100%;
  border: 1px solid #e4e9f8;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9faff 0%, #f3f6ff 100%);
  text-align: left;
  padding: 12px 14px;
  font: inherit;
  color: #1d2845;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: border-color var(--speed), box-shadow var(--speed), transform var(--speed), background var(--speed);
}

.cause-picker__option:hover,
.cause-picker__option:focus-visible {
  border-color: rgba(11, 85, 211, 0.55);
  box-shadow: 0 0 0 3px rgba(11, 85, 211, 0.12);
  outline: none;
  transform: translateX(2px);
}

.cause-picker__option[data-selected="1"] {
  border-color: rgba(11, 85, 211, 0.8);
  box-shadow: 0 0 0 3px rgba(11, 85, 211, 0.18);
  background: linear-gradient(180deg, #f2f6ff 0%, #edf3ff 100%);
}

.cause-picker__option-heading {
  font-weight: 600;
  font-size: 13px;
  color: #1d2845;
}

.cause-picker__option-summary {
  font-size: 12.5px;
  color: #4a5676;
  line-height: 1.45;
}

.cause-picker__empty {
  text-align: center;
  color: #4a5676;
  font-size: 12.5px;
  line-height: 1.5;
  padding: 32px 12px;
}

.cause-picker__empty p {
  margin: 0;
}

.cause-picker__empty p + p {
  margin-top: 8px;
}

.cause-picker__empty-hint {
  color: #6b768a;
}

.cause-picker__footer {
  border-top: 1px solid #edf1fb;
  justify-content: flex-end;
}

.cause-picker__spacer {
  flex: 1;
}

.cause-picker__button {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background var(--speed), color var(--speed), box-shadow var(--speed);
}

.cause-picker__button--ghost {
  background: transparent;
  color: #0b55d3;
}

.cause-picker__button--ghost:hover,
.cause-picker__button--ghost:focus-visible {
  background: rgba(11, 85, 211, 0.08);
  outline: none;
}

.cause-picker__button[data-action="clear"] {
  color: #9f1f24;
}

.cause-picker__button[disabled] {
  color: #a3adc2;
  cursor: default;
}

.cause-picker__button[disabled]:hover,
.cause-picker__button[disabled]:focus-visible {
  background: transparent;
}

.eta-picker-overlay{
  position:fixed;
  inset:0;
  background:rgba(12,18,32,.32);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:220;
}
.eta-picker{
  background:#ffffff;
  border-radius:18px;
  border:1px solid #dfe4f2;
  box-shadow:0 28px 60px rgba(12,18,32,.22);
  width:min(360px, 100%);
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:24px;
}
.eta-picker__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.eta-picker__header h4{
  margin:0;
  font-size:17px;
  font-weight:700;
  color:#1d2845;
  letter-spacing:-0.01em;
}
.eta-picker__close{
  appearance:none;
  border:1px solid transparent;
  background:#f2f4fb;
  border-radius:999px;
  width:32px;
  height:32px;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  color:#1d2845;
  display:flex;
  align-items:center;
  justify-content:center;
}
.eta-picker__close:hover{
  background:#e6ebfa;
}
.eta-picker__close:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}
.eta-picker__field{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:#1d2845;
}
.eta-picker__field span{color:#1d2845;}
.eta-picker__input{
  font:inherit;
  color:var(--ink);
  border:1px solid #dfe4f2;
  border-radius:12px;
  padding:10px 12px;
  background:#ffffff;
  transition:border-color var(--speed), box-shadow var(--speed);
}
.eta-picker__input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}
.eta-picker__actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.eta-picker__spacer{flex:1;}
.eta-picker__clear,
.eta-picker__cancel,
.eta-picker__save{
  appearance:none;
  border-radius:12px;
  font-weight:600;
  padding:9px 16px;
  cursor:pointer;
  transition:background var(--speed), border-color var(--speed), transform var(--speed), box-shadow var(--speed);
}
.eta-picker__clear{
  border:1px solid #e4e8f5;
  background:#f6f8ff;
  color:#1d2845;
}
.eta-picker__clear:hover{
  background:#eef3ff;
}
.eta-picker__cancel{
  border:1px solid #e4e8f5;
  background:#ffffff;
  color:#1d2845;
}
.eta-picker__cancel:hover{
  background:#f6f8ff;
}
.eta-picker__save{
  border:0;
  background:var(--accent);
  color:#ffffff;
  box-shadow:0 10px 24px rgba(0,122,255,.28);
}
.eta-picker__save:hover{
  transform:translateY(-1px);
}
.eta-picker__save:focus,
.eta-picker__clear:focus,
.eta-picker__cancel:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}

@media (max-width:520px){
  .eta-picker{padding:20px 18px; border-radius:16px;}
  .eta-picker__actions{flex-wrap:wrap;}
  .eta-picker__spacer{display:none;}
  .eta-picker__clear,
  .eta-picker__cancel,
  .eta-picker__save{flex:1 0 45%;}
}

.verification-dialog-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(12,18,32,.45);
  backdrop-filter:blur(3px);
  padding:24px;
  z-index:220;
}
.verification-dialog{
  width:min(420px, 100%);
  background:#ffffff;
  border-radius:20px;
  border:1px solid #dfe4f2;
  box-shadow:0 28px 60px rgba(12,18,32,.24);
  padding:26px 28px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.verification-dialog__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.verification-dialog__header h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  letter-spacing:-0.01em;
  color:#0c1526;
}
.verification-dialog__close{
  appearance:none;
  border:1px solid transparent;
  background:#f2f4fb;
  color:#1d2845;
  border-radius:999px;
  width:32px;
  height:32px;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background var(--speed), color var(--speed), border-color var(--speed);
}
.verification-dialog__close:hover,
.verification-dialog__close:focus{
  background:#e6ebfa;
  color:#0b55d3;
  outline:none;
  border-color:var(--accent);
}
.verification-dialog__form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.verification-dialog__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:#1d2845;
}
.verification-dialog__field span{
  font-weight:600;
}
.verification-dialog__field input[type="text"],
.verification-dialog__field input[type="datetime-local"],
.verification-dialog__field textarea,
.verification-dialog__field select{
  border:1px solid #dfe4f2;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  background:#ffffff;
  transition:border-color var(--speed), box-shadow var(--speed);
}
.verification-dialog__field input:focus,
.verification-dialog__field textarea:focus,
.verification-dialog__field select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,122,255,.18);
}
.verification-dialog__field input[type="checkbox"]{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid #cbd3e6;
  accent-color:var(--accent);
}
.verification-dialog__actions{
  display:flex;
  gap:12px;
  justify-content:flex-end;
  margin-top:8px;
}
.verification-dialog__button{
  appearance:none;
  border-radius:12px;
  padding:10px 18px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  transition:background var(--speed), color var(--speed), border-color var(--speed), box-shadow var(--speed);
}
.verification-dialog__button--ghost{
  border:1px solid #dfe4f2;
  background:#ffffff;
  color:#1d2845;
}
.verification-dialog__button--ghost:hover,
.verification-dialog__button--ghost:focus{
  border-color:var(--accent);
  background:#f6f8ff;
  outline:none;
}
.verification-dialog__button--primary{
  border:1px solid #0b55d3;
  background:#0b55d3;
  color:#ffffff;
  box-shadow:0 10px 24px rgba(11,85,211,.24);
}
.verification-dialog__button--primary:hover,
.verification-dialog__button--primary:focus{
  border-color:#0c5fd3;
  background:#0c5fd3;
  outline:none;
  box-shadow:0 12px 28px rgba(11,85,211,.32);
}

@media (max-width:640px){
  .verification-dialog{
    padding:22px;
    border-radius:18px;
  }
  .verification-dialog__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .verification-dialog__button{
    width:100%;
  }
}

.owner-picker-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:rgba(13,23,44,.32);
  z-index:1100;
}
.owner-picker{
  background:#ffffff;
  border-radius:20px;
  box-shadow:0 28px 60px rgba(15,25,45,.18);
  width:min(440px, 100%);
  padding:26px 30px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.owner-picker__header{display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
.owner-picker__heading h4{margin:0; font-size:20px; font-weight:700; color:#1d2845;}
.owner-picker__subtitle{margin:4px 0 0; font-size:14px; line-height:1.5; color:#5b6475;}
.owner-picker__close{appearance:none; border:none; background:transparent; color:#5b6475; font-size:24px; line-height:1; cursor:pointer; padding:4px; border-radius:10px;}
.owner-picker__close:hover,
.owner-picker__close:focus{background:#eef2ff; color:#0b55d3; outline:none;}
.owner-picker__form{display:flex; flex-direction:column; gap:18px;}
.owner-picker__field{display:flex; flex-direction:column; gap:8px;}
.owner-picker__label{font-size:14px; font-weight:600; color:#1d2845;}
.owner-picker__field input,
.owner-picker__field select,
.owner-picker__field textarea{border:1px solid #dfe4f2; border-radius:12px; padding:10px 12px; font-size:14px; font-family:inherit; color:#1d2845; background:#fff; transition:border-color var(--speed), box-shadow var(--speed);}
.owner-picker__field input:focus,
.owner-picker__field select:focus,
.owner-picker__field textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,122,255,.18); outline:none;}
.owner-picker__field textarea{min-height:96px; resize:vertical;}
.owner-picker__field--notes{position:relative;}
.owner-picker__field--notes textarea{padding-right:52px;}
.owner-picker__counter{position:absolute; bottom:10px; right:12px; font-size:12px; color:#7a849c;}
.owner-picker__hint{margin:0; font-size:13px; color:#5b6475;}
.owner-picker__error{font-size:13px; color:#b3261e; background:rgba(255,238,240,.9); border:1px solid #f5b9c1; border-radius:12px; padding:10px 12px;}
.owner-picker__banner{display:flex; align-items:flex-start; gap:10px; background:#fff6e6; border:1px solid #f9dca2; border-radius:12px; padding:10px 12px; font-size:13px; color:#9a6205;}
.owner-picker__banner span{flex:1;}
.owner-picker__other{display:flex; flex-direction:column; gap:6px; margin-top:6px;}
.owner-picker__actions{display:flex; align-items:center; gap:12px;}
.owner-picker__spacer{flex:1;}
.owner-picker__button{appearance:none; border-radius:12px; padding:10px 18px; font-weight:600; font-size:14px; cursor:pointer; border:1px solid transparent; transition:background var(--speed), border-color var(--speed), color var(--speed);}
.owner-picker__button:disabled{background:#f3f5fb; border-color:#e1e4ef; color:#7a849c; cursor:not-allowed;}
.owner-picker__button--ghost{border-color:#dfe4f2; background:#ffffff; color:#1d2845;}
.owner-picker__button--ghost:hover,
.owner-picker__button--ghost:focus{border-color:var(--accent); background:#f6f8ff; outline:none;}
.owner-picker__button--primary{background:#0b5cff; color:#ffffff; border-color:#0b5cff;}
.owner-picker__button--primary:hover:not(:disabled),
.owner-picker__button--primary:focus:not(:disabled){background:#084de0; border-color:#084de0; outline:none;}
.owner-picker__button--primary:disabled{background:#b9c7ff; border-color:#b9c7ff; color:#ffffff; cursor:not-allowed; opacity:.7;}
.owner-picker__field--sub select:disabled{background:#f3f4f9; color:#7a849c; cursor:not-allowed;}
.owner-picker__hint[hidden],
.owner-picker__error[hidden],
.owner-picker__banner[hidden]{display:none !important;}
.owner-picker__other[hidden]{display:none !important;}

@media (max-width:600px){
  .owner-picker-overlay{padding:16px;}
  .owner-picker{padding:20px 18px; border-radius:16px;}
  .owner-picker__actions{flex-wrap:wrap;}
  .owner-picker__spacer{display:none;}
  .owner-picker__button--ghost,
  .owner-picker__button--primary{flex:1 0 45%;}
}
