:root{
  --ws-bg:#f4f7f8;
  --ws-surface:#ffffff;
  --ws-surface-soft:#f8fafb;
  --ws-surface-teal:#eef8fa;
  --ws-text:#14242a;
  --ws-muted:#687980;
  --ws-faint:#92a0a5;
  --ws-border:#dce5e8;
  --ws-border-strong:#c8d5d9;
  --ws-accent:#0b5263;
  --ws-accent-bright:#0e788c;
  --ws-accent-soft:#dff1f4;
  --ws-gold:#a97716;
  --ws-danger:#a64242;
  --ws-shadow:0 18px 55px rgba(24,46,54,.08);
  --ws-shadow-soft:0 8px 28px rgba(24,46,54,.06);
}

html.theme-dark{
  --ws-bg:#091116;
  --ws-surface:#101b21;
  --ws-surface-soft:#0c161b;
  --ws-surface-teal:#10252c;
  --ws-text:#edf5f6;
  --ws-muted:#9aadb3;
  --ws-faint:#70858c;
  --ws-border:#26383f;
  --ws-border-strong:#37505a;
  --ws-accent:#67bfd0;
  --ws-accent-bright:#83d2e0;
  --ws-accent-soft:#163741;
  --ws-gold:#dfb85d;
  --ws-danger:#ef8b8b;
  --ws-shadow:0 22px 65px rgba(0,0,0,.32);
  --ws-shadow-soft:0 10px 32px rgba(0,0,0,.24);
}

*{box-sizing:border-box}

body.workspace-page{
  margin:0;
  background:var(--ws-bg);
  color:var(--ws-text);
  min-width:320px;
}

body.workspace-page::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 8%,rgba(14,120,140,.075),transparent 27%),
    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:auto,42px 42px,42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 46%);
}

html.theme-dark body.workspace-page::before{
  background:radial-gradient(circle at 82% 8%,rgba(103,191,208,.09),transparent 28%);
}

.workspace-page .topbar{position:sticky;top:0;z-index:100}

.ws-app{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:238px minmax(0,1fr);
  width:min(1500px,100%);
  min-height:calc(100vh - 66px);
  margin:0 auto;
}

.ws-sidebar{
  position:sticky;
  top:66px;
  align-self:start;
  height:calc(100vh - 66px);
  display:flex;
  flex-direction:column;
  padding:34px 20px 24px;
  border-right:1px solid var(--ws-border);
  background:color-mix(in srgb,var(--ws-bg) 88%,transparent);
  backdrop-filter:blur(18px);
}

.ws-sidebar-heading{display:grid;gap:3px;padding:0 10px 28px}
.ws-sidebar-heading strong{font-size:23px;letter-spacing:-.035em}
.ws-sidebar-heading>span:last-child{font-size:12px;color:var(--ws-muted)}
.ws-sidebar-kicker,.ws-section-kicker{
  color:var(--ws-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.ws-side-nav{display:grid;gap:5px}
.ws-side-link,
.ws-quiet-action{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--ws-muted);
  cursor:pointer;
}

.ws-side-link{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:43px;
  padding:0 11px;
  border-radius:11px;
  font-size:13px;
  font-weight:650;
  text-align:left;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.ws-side-link:hover{background:var(--ws-surface);color:var(--ws-text)}
.ws-side-link.is-active{background:var(--ws-surface);color:var(--ws-accent);box-shadow:var(--ws-shadow-soft)}
.ws-side-link:active{transform:translateY(1px)}
.ws-side-link svg,.ws-quiet-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ws-side-count{margin-left:auto;min-width:21px;height:21px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:10px}
.ws-side-count[hidden]{display:none}

.ws-sidebar-bottom{margin-top:auto;display:grid;gap:4px;padding-top:22px;border-top:1px solid var(--ws-border)}
.ws-quiet-action{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:11px;font-weight:650;text-align:left}
.ws-quiet-action:hover{background:var(--ws-surface);color:var(--ws-text)}
.ws-local-note{display:flex;align-items:flex-start;gap:8px;margin:12px 9px 0;color:var(--ws-faint);font-size:10px;line-height:1.45}
.ws-local-note span{width:7px;height:7px;margin-top:3px;border-radius:50%;background:#3aa57d;box-shadow:0 0 0 4px rgba(58,165,125,.12);flex:none}

.ws-content{min-width:0;padding:52px clamp(24px,4vw,66px) 76px}
.ws-view{animation:ws-view-in .28s ease both}
.ws-view[hidden]{display:none!important}
@keyframes ws-view-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.ws-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,4vw,52px);
  border:1px solid var(--ws-border);
  border-radius:26px;
  background:linear-gradient(135deg,var(--ws-surface) 0%,var(--ws-surface) 58%,var(--ws-surface-teal) 100%);
  box-shadow:var(--ws-shadow);
}
.ws-hero::after{
  content:'';
  position:absolute;
  width:270px;
  height:270px;
  top:-150px;
  right:-100px;
  border:54px solid rgba(14,120,140,.06);
  border-radius:50%;
}
.ws-hero-copy{position:relative;z-index:1;max-width:760px}
.ws-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--ws-accent);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ws-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--ws-accent-bright);box-shadow:0 0 0 4px rgba(14,120,140,.11)}
.ws-hero h1,.ws-page-heading h1{margin:0;color:var(--ws-text);font-size:clamp(32px,4.1vw,56px)!important;font-weight:720!important;line-height:1.02!important;letter-spacing:-.045em!important}
.ws-hero-copy>p{max-width:700px;margin:14px 0 0;color:var(--ws-muted);font-size:15px;line-height:1.65}

.ws-prompt{position:relative;z-index:1;margin-top:28px;border:1px solid var(--ws-border-strong);border-radius:17px;background:var(--ws-surface);box-shadow:0 15px 38px rgba(22,49,58,.09);transition:border-color .18s ease,box-shadow .18s ease}
.ws-prompt:focus-within{border-color:var(--ws-accent-bright);box-shadow:0 16px 42px rgba(11,82,99,.13),0 0 0 3px rgba(14,120,140,.08)}
.ws-prompt textarea{display:block;width:100%;min-height:94px;padding:20px 21px 10px;border:0;outline:0;resize:vertical;background:transparent;color:var(--ws-text);font-size:16px;line-height:1.55}
.ws-prompt textarea::placeholder{color:var(--ws-faint)}
.ws-prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 10px 10px 21px;border-top:1px solid var(--ws-border)}
.ws-prompt-footer>span{color:var(--ws-faint);font-size:10px}

.ws-primary-button,.ws-secondary-button,.ws-text-button,.ws-back-button{
  appearance:none;
  border:0;
  font:inherit;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.ws-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:0 17px;border-radius:10px;background:var(--ws-accent);color:#fff;font-size:12px;font-weight:750;box-shadow:0 9px 22px rgba(11,82,99,.17)}
.ws-primary-button:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(11,82,99,.23)}
html.theme-dark .ws-primary-button{color:#07191e}
.ws-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid var(--ws-border-strong);border-radius:10px;background:var(--ws-surface);color:var(--ws-text);font-size:12px;font-weight:700}
.ws-secondary-button:hover{border-color:var(--ws-accent);color:var(--ws-accent)}
.ws-text-button{background:transparent;color:var(--ws-accent);font-size:11px;font-weight:750}
.ws-text-button:hover span{display:inline-block;transform:translateX(2px)}

.ws-prompt-examples{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.ws-prompt-examples button,.ws-filter-chips button{appearance:none;border:1px solid var(--ws-border);border-radius:999px;background:color-mix(in srgb,var(--ws-surface) 75%,transparent);color:var(--ws-muted);font:inherit;font-size:10px;font-weight:650;cursor:pointer}
.ws-prompt-examples button{padding:7px 11px}
.ws-prompt-examples button:hover,.ws-filter-chips button:hover,.ws-filter-chips button.is-active{border-color:color-mix(in srgb,var(--ws-accent) 45%,var(--ws-border));background:var(--ws-accent-soft);color:var(--ws-accent)}

.ws-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.ws-stat-card{display:flex;align-items:center;gap:14px;min-height:88px;padding:17px 19px;border:1px solid var(--ws-border);border-radius:16px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft)}
.ws-stat-card>div{display:grid;gap:2px}
.ws-stat-card strong{color:var(--ws-text);font-size:24px;line-height:1}
.ws-stat-card span:last-child{color:var(--ws-muted);font-size:11px}
.ws-stat-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;flex:none}
.ws-stat-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ws-stat-icon--teal{background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-stat-icon--amber{background:#faf2dc;color:#9b6915}
.ws-stat-icon--violet{background:#eeeafa;color:#6f57a5}
html.theme-dark .ws-stat-icon--amber{background:#382e19;color:#e5bb61}
html.theme-dark .ws-stat-icon--violet{background:#2b2540;color:#b9a7e8}

.ws-section{margin-top:46px}
.ws-section-heading,.ws-panel-heading,.ws-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.ws-section-heading{margin-bottom:16px}
.ws-section-heading h2,.ws-panel-heading h2{margin:4px 0 0;color:var(--ws-text);font-size:21px!important;font-weight:720!important;letter-spacing:-.025em!important}
.ws-matter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ws-matter-grid--all{grid-template-columns:repeat(3,minmax(250px,1fr))}

.ws-matter-card{
  position:relative;
  display:flex;
  min-height:234px;
  flex-direction:column;
  padding:19px;
  border:1px solid var(--ws-border);
  border-radius:17px;
  background:var(--ws-surface);
  box-shadow:var(--ws-shadow-soft);
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ws-matter-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ws-accent) 35%,var(--ws-border));box-shadow:var(--ws-shadow)}
.ws-matter-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ws-category-badge,.ws-status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.ws-category-badge{padding:6px 8px;background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-status-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.ws-status-badge{color:#247b5b}
.ws-status-badge--waiting{color:#a66c16}
.ws-status-badge--complete{color:var(--ws-muted)}
.ws-matter-card h3{margin:18px 0 8px;color:var(--ws-text);font-size:17px!important;font-weight:720!important;line-height:1.25!important;letter-spacing:-.02em!important}
.ws-matter-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--ws-muted);font-size:11px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ws-matter-card-footer{display:grid;gap:9px;margin-top:auto;padding-top:20px}
.ws-matter-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ws-faint);font-size:9px}
.ws-progress{height:5px;overflow:hidden;border-radius:99px;background:var(--ws-border)}
.ws-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ws-accent),var(--ws-accent-bright))}
.ws-card-arrow{position:absolute;right:17px;bottom:16px;color:var(--ws-accent);font-size:16px;opacity:0;transform:translateX(-4px);transition:.2s ease}
.ws-matter-card:hover .ws-card-arrow{opacity:1;transform:none}

.ws-empty{display:flex;min-height:250px;align-items:center;justify-content:center;flex-direction:column;padding:40px;border:1px dashed var(--ws-border-strong);border-radius:18px;background:color-mix(in srgb,var(--ws-surface) 62%,transparent);text-align:center}
.ws-empty[hidden]{display:none}
.ws-stat-grid[hidden],.ws-overview-grid[hidden],.ws-year-bar[hidden],.ws-section[hidden]{display:none}
.ws-empty-mark{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-empty-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ws-empty h3{margin:16px 0 6px;font-size:17px!important;color:var(--ws-text)}
.ws-empty p{max-width:480px;margin:0 0 16px;color:var(--ws-muted);font-size:11px;line-height:1.6}
.ws-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.ws-year-firstrun .ws-empty-actions{justify-content:flex-start}

.ws-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:42px}
.ws-panel{min-height:285px;padding:21px;border:1px solid var(--ws-border);border-radius:18px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft)}
.ws-panel-heading{align-items:center;padding-bottom:14px;border-bottom:1px solid var(--ws-border)}
.ws-panel-heading h2{font-size:17px!important}
.ws-deadline-list,.ws-activity-list{display:grid}
.ws-deadline,.ws-activity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--ws-border)}
.ws-deadline{appearance:none;width:100%;border-top:0;border-right:0;border-left:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ws-deadline:hover .ws-deadline-copy strong{color:var(--ws-accent)}
.ws-deadline:last-child,.ws-activity:last-child{border-bottom:0}
.ws-date-tile{width:38px;height:42px;display:grid;place-content:center;border:1px solid var(--ws-border);border-radius:9px;background:var(--ws-surface-soft);text-align:center}
.ws-date-tile strong{font-size:15px;line-height:1}.ws-date-tile span{margin-top:2px;color:var(--ws-muted);font-size:8px;font-weight:800;text-transform:uppercase}
.ws-deadline-copy,.ws-activity-copy{display:grid;gap:3px;min-width:0}
.ws-deadline-copy strong,.ws-activity-copy strong{overflow:hidden;color:var(--ws-text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.ws-deadline-copy span,.ws-activity-copy span,.ws-deadline>span{color:var(--ws-faint);font-size:9px}
.ws-activity-icon{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:12px;font-weight:800}
.ws-list-empty{padding:31px 4px;color:var(--ws-faint);font-size:11px;line-height:1.6;text-align:center}

.ws-page-heading{margin-bottom:28px}
.ws-page-heading>div{max-width:760px}
.ws-page-heading h1{font-size:clamp(34px,4vw,50px)!important}
.ws-page-heading p{margin:9px 0 0;color:var(--ws-muted);font-size:13px;line-height:1.55}
.ws-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:12px;border:1px solid var(--ws-border);border-radius:14px;background:var(--ws-surface)}
.ws-search{display:flex;align-items:center;gap:8px;min-width:220px;flex:1}
.ws-search svg{width:17px;height:17px;fill:none;stroke:var(--ws-muted);stroke-width:1.7;stroke-linecap:round}
.ws-search input,.ws-filter-bar select{width:100%;border:0;outline:0;background:transparent;color:var(--ws-text);font:inherit;font-size:11px}
.ws-filter-bar select{min-width:150px}
.ws-filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.ws-filter-chips button{padding:7px 10px}

.ws-inline-notice{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--ws-accent) 22%,var(--ws-border));border-radius:14px;background:var(--ws-surface-teal)}
.ws-inline-notice svg{width:22px;height:22px;fill:none;stroke:var(--ws-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ws-inline-notice div{display:grid;gap:3px}.ws-inline-notice strong{font-size:11px}.ws-inline-notice span{color:var(--ws-muted);font-size:10px;line-height:1.5}
.ws-organisation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ws-organisation-card{padding:20px;border:1px solid var(--ws-border);border-radius:17px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft)}
.ws-organisation-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ws-org-mark{width:39px;height:39px;display:grid;place-content:center;border-radius:11px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:14px;font-weight:800}
.ws-card-menu{display:flex;gap:5px}.ws-card-menu button{border:0;background:transparent;color:var(--ws-muted);font-size:10px;font-weight:700;cursor:pointer}.ws-card-menu button:hover{color:var(--ws-accent)}.ws-card-menu button[data-delete-organisation]:hover{color:var(--ws-danger)}
.ws-organisation-card h3{margin:16px 0 5px;color:var(--ws-text);font-size:16px!important}.ws-organisation-card>p{margin:0;color:var(--ws-muted);font-size:10px}
.ws-org-details{display:grid;gap:8px;margin-top:17px;padding-top:14px;border-top:1px solid var(--ws-border)}
.ws-org-details div{display:flex;justify-content:space-between;gap:12px;font-size:9px}.ws-org-details span{color:var(--ws-faint)}.ws-org-details strong{color:var(--ws-muted);font-weight:650;text-align:right}

.ws-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ws-tool-card{display:flex;min-height:205px;flex-direction:column;padding:19px;border:1px solid var(--ws-border);border-radius:17px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft);transition:.2s ease}
.ws-tool-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ws-accent) 35%,var(--ws-border));box-shadow:var(--ws-shadow)}
.ws-tool-card-icon{width:38px;height:38px;display:grid;place-content:center;border-radius:11px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:12px;font-weight:800}
.ws-tool-card h3{margin:15px 0 6px;color:var(--ws-text);font-size:15px!important}.ws-tool-card p{margin:0;color:var(--ws-muted);font-size:10px;line-height:1.55}
.ws-tool-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}.ws-tool-card-footer span{color:var(--ws-faint);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.ws-tool-card-footer a{color:var(--ws-accent);font-size:10px;font-weight:750;text-decoration:none}

.ws-back-button{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px;padding:0;background:transparent;color:var(--ws-muted);font-size:11px;font-weight:700}.ws-back-button:hover{color:var(--ws-accent)}
.ws-matter-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:24px;padding:27px;border:1px solid var(--ws-border);border-radius:21px;background:linear-gradient(135deg,var(--ws-surface),var(--ws-surface-teal));box-shadow:var(--ws-shadow)}
.ws-matter-detail-head h1{margin:10px 0 8px;color:var(--ws-text);font-size:clamp(29px,3.3vw,45px)!important;line-height:1.06!important;letter-spacing:-.04em!important}.ws-matter-detail-head p{max-width:760px;margin:0;color:var(--ws-muted);font-size:12px;line-height:1.6}
.ws-detail-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ws-detail-actions select{min-height:39px;padding:0 10px;border:1px solid var(--ws-border);border-radius:9px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:10px}.ws-danger-button{min-height:39px;padding:0 11px;border:1px solid color-mix(in srgb,var(--ws-danger) 30%,var(--ws-border));border-radius:9px;background:transparent;color:var(--ws-danger);font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.ws-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:17px}
.ws-detail-side{display:grid;align-content:start;gap:17px}
.ws-detail-card{padding:22px;border:1px solid var(--ws-border);border-radius:18px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft)}
.ws-detail-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid var(--ws-border)}
.ws-detail-card-heading h2{margin:3px 0 0;color:var(--ws-text);font-size:18px!important}.ws-detail-card-heading p{margin:5px 0 0;color:var(--ws-muted);font-size:10px;line-height:1.5}
.ws-workflow-list{display:grid;gap:10px}
.ws-workflow-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--ws-border);border-radius:13px;background:var(--ws-surface-soft)}
.ws-workflow-step.is-done{border-color:rgba(49,146,108,.25);background:rgba(49,146,108,.055)}
.ws-step-number{width:29px;height:29px;display:grid;place-content:center;border-radius:9px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:10px;font-weight:800}.ws-workflow-step.is-done .ws-step-number{background:#def1e9;color:#287d5d}
.ws-step-copy{display:grid;gap:3px}.ws-step-copy strong{font-size:11px;color:var(--ws-text)}.ws-step-copy span{color:var(--ws-muted);font-size:9px;line-height:1.45}
.ws-step-actions{display:flex;align-items:center;gap:6px}.ws-step-actions a,.ws-step-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:0 9px;border-radius:8px;font:inherit;font-size:9px;font-weight:750;text-decoration:none;cursor:pointer}.ws-step-actions a{background:var(--ws-accent);color:#fff}.ws-step-actions button{border:1px solid var(--ws-border);background:var(--ws-surface);color:var(--ws-muted)}html.theme-dark .ws-step-actions a{color:#07191e}
.ws-task-form{display:flex;gap:7px;margin-bottom:10px}.ws-task-form input{min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid var(--ws-border);border-radius:9px;background:var(--ws-surface-soft);color:var(--ws-text);font:inherit;font-size:10px;outline:0}.ws-task-form input:focus{border-color:var(--ws-accent)}.ws-task-form button{width:38px;border:0;border-radius:9px;background:var(--ws-accent);color:#fff;font-size:17px;cursor:pointer}
.ws-task-list{display:grid}.ws-task{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:11px 2px;border-bottom:1px solid var(--ws-border)}.ws-task:last-child{border-bottom:0}.ws-task input{margin-top:1px;accent-color:var(--ws-accent)}.ws-task span{color:var(--ws-text);font-size:10px;line-height:1.45}.ws-task.is-done span{text-decoration:line-through;color:var(--ws-faint)}.ws-task button{border:0;background:transparent;color:var(--ws-faint);font-size:14px;cursor:pointer}.ws-task button:hover{color:var(--ws-danger)}
.ws-matter-facts{display:grid;gap:10px}.ws-matter-fact{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--ws-border);font-size:9px}.ws-matter-fact:last-child{border-bottom:0;padding-bottom:0}.ws-matter-fact span{color:var(--ws-faint)}.ws-matter-fact strong{color:var(--ws-text);font-weight:650;text-align:right}

.ws-modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:20px}
.ws-modal[hidden]{display:none}
.ws-modal-backdrop{position:absolute;inset:0;background:rgba(4,13,17,.58);backdrop-filter:blur(6px)}
.ws-modal-card{position:relative;width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border:1px solid var(--ws-border);border-radius:21px;background:var(--ws-surface);box-shadow:0 35px 100px rgba(0,0,0,.28);animation:ws-modal-in .2s ease both}
@keyframes ws-modal-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.ws-modal-card h2{margin:5px 0 6px;color:var(--ws-text);font-size:26px!important;letter-spacing:-.035em!important}.ws-modal-intro{margin:0 0 22px;color:var(--ws-muted);font-size:10px;line-height:1.55}.ws-modal-close{position:absolute;top:17px;right:17px;width:32px;height:32px;border:1px solid var(--ws-border);border-radius:9px;background:var(--ws-surface-soft);color:var(--ws-muted);font-size:19px;cursor:pointer}
.ws-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ws-field{display:grid;gap:7px;margin-bottom:13px}.ws-field>span{color:var(--ws-muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.055em}.ws-field small{color:var(--ws-faint);font-size:8px;font-weight:500;text-transform:none;letter-spacing:0}.ws-field input,.ws-field select,.ws-field textarea{width:100%;border:1px solid var(--ws-border);border-radius:10px;background:var(--ws-surface-soft);color:var(--ws-text);font:inherit;font-size:11px;outline:0}.ws-field input,.ws-field select{height:42px;padding:0 11px}.ws-field textarea{padding:11px;resize:vertical;line-height:1.5}.ws-field input:focus,.ws-field select:focus,.ws-field textarea:focus{border-color:var(--ws-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ws-accent) 10%,transparent)}.ws-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px;padding-top:16px;border-top:1px solid var(--ws-border)}

.ws-toast{position:fixed;z-index:700;right:22px;bottom:22px;max-width:360px;padding:12px 15px;border:1px solid var(--ws-border);border-radius:11px;background:var(--ws-text);color:var(--ws-surface);font-size:10px;font-weight:650;box-shadow:var(--ws-shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s ease}.ws-toast.is-visible{opacity:1;transform:none}
.ws-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1180px){
  .ws-app{grid-template-columns:205px minmax(0,1fr)}
  .ws-content{padding-inline:30px}
  .ws-matter-grid,.ws-matter-grid--all,.ws-tool-grid,.ws-organisation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:860px){
  .ws-app{display:block}
  .ws-sidebar{position:sticky;top:62px;z-index:70;width:100%;height:auto;display:block;padding:9px 14px;border-right:0;border-bottom:1px solid var(--ws-border);overflow-x:auto}
  .ws-sidebar{scrollbar-width:none;-ms-overflow-style:none}
  .ws-sidebar::-webkit-scrollbar{display:none}
  .ws-sidebar-heading,.ws-sidebar-bottom{display:none}
  .ws-side-nav{display:flex;min-width:max-content;gap:5px}
  .ws-side-link{width:auto;min-height:36px;padding:0 10px;font-size:11px}
  .ws-side-link svg{width:15px;height:15px}
  .ws-content{padding:32px 20px 60px}
  .ws-hero{padding:27px}
  .ws-overview-grid,.ws-detail-grid{grid-template-columns:1fr}
  .ws-matter-detail-head{grid-template-columns:1fr}
  .ws-detail-actions{justify-content:flex-start}
}

@media(max-width:640px){
  .ws-content{padding-inline:14px}
  .ws-hero{border-radius:19px;padding:22px 17px}
  .ws-hero h1,.ws-page-heading h1{font-size:31px!important}
  .ws-hero-copy>p{font-size:12px}
  .ws-prompt textarea{min-height:110px;padding:16px;font-size:14px}
  .ws-prompt-footer{align-items:stretch;flex-direction:column;padding:9px}.ws-prompt-footer>span{padding:0 5px}.ws-prompt-footer .ws-primary-button{width:100%}
  .ws-stat-grid{grid-template-columns:1fr;gap:8px}.ws-stat-card{min-height:72px}
  .ws-matter-grid,.ws-matter-grid--all,.ws-tool-grid,.ws-organisation-grid{grid-template-columns:1fr}
  .ws-overview-grid{gap:12px}
  .ws-page-heading{align-items:flex-start;flex-direction:column}.ws-page-heading>.ws-primary-button{width:100%}
  .ws-filter-bar{align-items:stretch;flex-direction:column}.ws-filter-bar select{min-height:36px}
  .ws-workflow-step{grid-template-columns:auto 1fr}.ws-step-actions{grid-column:2;justify-content:flex-start}
  .ws-form-grid{grid-template-columns:1fr;gap:0}.ws-modal-card{padding:23px 18px}.ws-modal-actions{align-items:stretch;flex-direction:column-reverse}.ws-modal-actions button{width:100%}
  .ws-section-heading{align-items:flex-end}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* --------------------------------------------------------------------------
   Workspace product surface: restrained, command-first, and deliberately
   flatter than the public SEO tools. The public pages keep their own visual
   identity; this layer should feel like a focused piece of working software.
   -------------------------------------------------------------------------- */

:root{
  --ws-bg:#f6f5f8;
  --ws-surface:#ffffff;
  --ws-surface-soft:#f1f0f4;
  --ws-surface-teal:#f7f6fa;
  --ws-text:#17161a;
  --ws-muted:#6c6a73;
  --ws-faint:#98959e;
  --ws-border:#e0dee5;
  --ws-border-strong:#c7c4ce;
  --ws-accent:#6a4fa3;
  --ws-accent-bright:#7c5fbb;
  --ws-accent-soft:#f1ecfa;
  --ws-shadow:none;
  --ws-shadow-soft:none;
}

html.theme-dark{
  --ws-bg:#0c0c0e;
  --ws-surface:#131215;
  --ws-surface-soft:#18171b;
  --ws-surface-teal:#151417;
  --ws-text:#ededf0;
  --ws-muted:#9a99a0;
  --ws-faint:#68676d;
  --ws-border:#2a2930;
  --ws-border-strong:#3a3941;
  --ws-accent:#c0a9ec;
  --ws-accent-bright:#d3c3f5;
  --ws-accent-soft:#241d33;
  --ws-shadow:none;
  --ws-shadow-soft:none;
}

body.workspace-page::before{display:none}
.workspace-page .footer{display:none}

.workspace-page .topbar{
  min-height:58px;
  border-bottom-color:var(--ws-border)!important;
  background:color-mix(in srgb,var(--ws-bg) 94%,transparent)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px);
}

.workspace-page .topbar-logo{min-width:190px}
.workspace-page .topbar-tag{
  padding:5px 8px;
  border:1px solid var(--ws-border);
  border-radius:5px;
  background:transparent;
  color:var(--ws-faint);
  font-size:9px;
  letter-spacing:.1em;
}

.workspace-page .theme-toggle{transform:scale(.86)}

.ws-command-trigger{
  width:clamp(260px,31vw,430px);
  height:34px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 8px 0 10px;
  border:1px solid var(--ws-border);
  border-radius:6px;
  background:var(--ws-surface);
  color:var(--ws-muted);
  font:inherit;
  font-size:10px;
  text-align:left;
  cursor:pointer;
  transition:border-color .14s ease,background .14s ease,color .14s ease;
}
.ws-command-trigger:hover{border-color:var(--ws-border-strong);background:var(--ws-surface-soft);color:var(--ws-text)}
.ws-command-trigger:focus-within{border-color:var(--ws-border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--ws-accent) 18%,transparent)}
.ws-command-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;flex:none}
.ws-command-trigger>span{min-width:0;flex:1;overflow:hidden;color:var(--ws-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.ws-command-trigger kbd,.ws-command-search kbd,.ws-command-footer kbd{
  border:1px solid var(--ws-border);
  border-bottom-color:var(--ws-border-strong);
  border-radius:4px;
  background:var(--ws-surface-soft);
  color:var(--ws-faint);
  font:inherit;
  font-size:8px;
  line-height:1;
}
.ws-command-trigger kbd{padding:4px 6px}

.ws-app{grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 58px)}
.ws-sidebar{
  top:58px;
  height:calc(100vh - 58px);
  padding:24px 13px 16px;
  background:var(--ws-bg);
  backdrop-filter:none;
}
.ws-sidebar-heading{gap:2px;padding:0 10px 20px}
.ws-sidebar-heading strong{font-size:16px;letter-spacing:-.02em}
.ws-sidebar-heading>span:last-child{font-size:10px}
.ws-sidebar-kicker,.ws-section-kicker{font-size:8px;letter-spacing:.12em}
.ws-side-nav{gap:2px}
.ws-side-link{min-height:35px;padding:0 9px;border-radius:6px;font-size:11px;font-weight:590}
.ws-side-link:hover,.ws-side-link.is-active{box-shadow:none}
.ws-side-link.is-active{background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-side-link svg,.ws-quiet-action svg{width:15px;height:15px;stroke-width:1.55}
.ws-side-count{min-width:17px;height:17px;padding:0 5px;background:var(--ws-border);color:var(--ws-muted);font-size:8px}
.ws-sidebar-bottom{padding-top:12px}
.ws-quiet-action{padding:7px 9px;border-radius:5px;font-size:9px}
.ws-local-note{font-size:8px}

/* IBM Plex is already self-hosted in /includes/fonts; the workspace opts into
   it so the product surface is not Arial. */
.workspace-page,
.workspace-page input,
.workspace-page select,
.workspace-page textarea,
.workspace-page button{font-family:var(--lexemer-font-sans)}
.workspace-page .tnum,.ws-date-tile strong,.ws-stat-card strong,.ws-year-count{font-variant-numeric:tabular-nums}

.ws-content{max-width:1440px;padding:32px clamp(25px,3.8vw,54px) 64px}
.ws-hero{
  padding:27px 29px 25px;
  border-radius:10px;
  background:var(--ws-surface);
  box-shadow:none;
}
.ws-hero::after{display:none}
.ws-eyebrow{margin-bottom:9px;font-size:8px;letter-spacing:.11em}
.ws-eyebrow i{width:5px;height:5px;box-shadow:none}
.ws-hero h1,.ws-page-heading h1{font-size:clamp(19px,1.8vw,23px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.012em!important}
.ws-hero-copy>p{margin-top:9px;font-size:12px;line-height:1.55}

.ws-prompt{
  margin-top:20px;
  border-radius:7px;
  background:var(--ws-surface-soft);
  box-shadow:none;
}
.ws-prompt:focus-within{border-color:var(--ws-border-strong);box-shadow:0 0 0 1px var(--ws-border-strong)}
.ws-prompt textarea{min-height:72px;padding:14px 15px 7px;font-size:13px;line-height:1.48}
.ws-prompt-footer{padding:7px 7px 7px 15px;border-top-color:var(--ws-border)}
.ws-prompt-footer>span{font-size:8px}
.ws-primary-button{min-height:34px;padding:0 12px;border-radius:5px;background:var(--ws-accent);color:#fff;font-size:9px;box-shadow:none}
.ws-primary-button:hover{transform:none;box-shadow:none;opacity:.88}
html.theme-dark .ws-primary-button{background:var(--ws-accent);color:#1a1226}
.ws-secondary-button{min-height:34px;padding:0 12px;border-radius:5px;font-size:9px}
.ws-prompt-examples{gap:13px;margin-top:10px}
.ws-prompt-examples button{padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--ws-faint);font-size:8px}
.ws-prompt-examples button::before{content:'↗';margin-right:5px;color:var(--ws-faint)}
.ws-prompt-examples button:hover{border-color:transparent;background:transparent;color:var(--ws-text)}

.ws-stat-grid{gap:0;margin-top:15px;border:1px solid var(--ws-border);border-radius:8px;background:var(--ws-surface)}
.ws-stat-card{min-height:68px;padding:13px 16px;border:0;border-right:1px solid var(--ws-border);border-radius:0;background:transparent;box-shadow:none}
.ws-stat-card:first-child{border-radius:8px 0 0 8px}.ws-stat-card:last-child{border-right:0;border-radius:0 8px 8px 0}
.ws-stat-card strong{font-size:18px}.ws-stat-card span:last-child{font-size:9px}
.ws-stat-icon{width:29px;height:29px;border-radius:5px!important;background:transparent!important;color:var(--ws-muted)!important}
.ws-stat-icon svg{width:16px;height:16px;stroke-width:1.45}

.ws-section{margin-top:31px}
.ws-section-heading{margin-bottom:10px}
.ws-section-heading h2,.ws-panel-heading h2{font-size:15px!important;font-weight:650!important}
.ws-text-button{font-size:9px}
.ws-matter-grid,.ws-matter-grid--all{grid-template-columns:1fr;gap:7px}
.ws-matter-card{
  min-height:118px;
  padding:14px 15px;
  border-radius:7px;
  box-shadow:none;
}
.ws-matter-card:hover{transform:none;border-color:var(--ws-border-strong);box-shadow:none;background:var(--ws-surface-soft)}
.ws-category-badge{padding:4px 6px;border:1px solid var(--ws-border);border-radius:4px;background:transparent;font-size:7px;letter-spacing:.065em}
.ws-status-badge{font-size:7px}.ws-status-badge::before{width:4px;height:4px}
.ws-matter-card h3{margin:10px 0 4px;font-size:13px!important;font-weight:630!important}
.ws-matter-card p{font-size:9px;line-height:1.45;-webkit-line-clamp:1}
.ws-matter-card-footer{gap:7px;margin-top:0;padding-top:12px}
.ws-matter-meta{font-size:8px}.ws-progress{height:2px}.ws-card-arrow{right:14px;bottom:10px;font-size:12px}
.ws-empty{min-height:190px;padding:30px;border-radius:8px;background:transparent}.ws-empty-mark{width:35px;height:35px;border-radius:6px;background:var(--ws-surface-soft)}.ws-empty-mark svg{width:17px;height:17px}.ws-empty h3{margin-top:11px;font-size:13px!important}.ws-empty p{font-size:9px}

.ws-overview-grid{gap:10px;margin-top:28px}
.ws-panel,.ws-detail-card{padding:16px;border-radius:8px;box-shadow:none}
.ws-panel{min-height:230px}
.ws-panel-heading{padding-bottom:10px}.ws-panel-heading h2{font-size:13px!important}
.ws-deadline,.ws-activity{gap:9px;padding:10px 1px}
.ws-date-tile{width:31px;height:34px;border-radius:5px}.ws-date-tile strong{font-size:12px}.ws-date-tile span{font-size:7px}
.ws-deadline-copy strong,.ws-activity-copy strong{font-size:9px}.ws-deadline-copy span,.ws-activity-copy span,.ws-deadline>span{font-size:7px}.ws-activity-icon{width:24px;height:24px;border-radius:4px;background:var(--ws-surface-soft);font-size:9px}

.ws-page-heading{margin-bottom:21px}.ws-page-heading h1{font-size:clamp(19px,1.8vw,23px)!important}.ws-page-heading p{margin-top:6px;font-size:10px}
.ws-filter-bar{margin-bottom:10px;padding:8px;border-radius:7px}.ws-search input,.ws-filter-bar select{font-size:9px}.ws-filter-chips button{padding:5px 8px;border-radius:4px;font-size:8px}
.ws-inline-notice{gap:10px;margin-bottom:15px;padding:11px 13px;border-radius:7px;background:var(--ws-surface)}.ws-inline-notice svg{width:17px;height:17px}.ws-inline-notice strong{font-size:9px}.ws-inline-notice span{font-size:8px}
.ws-organisation-grid,.ws-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ws-organisation-card,.ws-tool-card{min-height:0;padding:15px;border-radius:7px;box-shadow:none}
.ws-tool-card:hover{transform:none;border-color:var(--ws-border-strong);box-shadow:none;background:var(--ws-surface-soft)}
.ws-org-mark,.ws-tool-card-icon{width:29px;height:29px;border-radius:5px;background:var(--ws-surface-soft);font-size:9px}
.ws-organisation-card h3,.ws-tool-card h3{margin:11px 0 4px;font-size:12px!important}.ws-organisation-card>p,.ws-tool-card p{font-size:8px}.ws-tool-card-footer{padding-top:13px}.ws-tool-card-footer span,.ws-tool-card-footer a{font-size:8px}

.ws-back-button{margin-bottom:14px;font-size:9px}
.ws-matter-detail-head{gap:17px;margin-bottom:10px;padding:20px;border-radius:8px;background:var(--ws-surface);box-shadow:none}
.ws-matter-detail-head h1{margin:8px 0 5px;font-size:clamp(24px,2.8vw,35px)!important}.ws-matter-detail-head p{font-size:9px}
.ws-detail-actions select{min-height:34px;border-radius:5px;font-size:8px}.ws-danger-button{min-height:34px;border-radius:5px;font-size:8px}
.ws-detail-grid{gap:10px}.ws-detail-side{gap:10px}.ws-detail-card-heading{margin-bottom:12px;padding-bottom:10px}.ws-detail-card-heading h2{font-size:13px!important}.ws-detail-card-heading p{font-size:8px}
.ws-workflow-list{gap:6px}.ws-workflow-step{gap:10px;padding:10px;border-radius:6px}.ws-step-number{width:24px;height:24px;border-radius:4px;background:var(--ws-surface-soft);font-size:8px}.ws-step-copy strong{font-size:9px}.ws-step-copy span{font-size:7px}.ws-step-actions a,.ws-step-actions button{min-height:27px;padding:0 8px;border-radius:4px;font-size:7px}.ws-step-actions a{background:var(--ws-text);color:var(--ws-surface)}html.theme-dark .ws-step-actions a{color:var(--ws-bg)}
.ws-task-form input{height:33px;border-radius:5px;font-size:8px}.ws-task-form button{width:33px;border-radius:5px;background:var(--ws-text);color:var(--ws-surface)}.ws-task span{font-size:8px}.ws-matter-fact{font-size:8px}

.ws-modal-card{padding:23px;border-radius:9px}.ws-modal-card h2{font-size:21px!important}.ws-modal-close{top:13px;right:13px;width:28px;height:28px;border-radius:5px}.ws-field input,.ws-field select{height:36px}.ws-field input,.ws-field select,.ws-field textarea{border-radius:5px;font-size:9px}.ws-field>span{font-size:8px}.ws-modal-actions{padding-top:12px}

.ws-command-palette{
  position:fixed;
  z-index:900;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 18px;
}
.ws-command-palette[hidden]{display:none}
.ws-command-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.ws-command-panel{
  position:relative;
  width:min(720px,100%);
  max-height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--ws-border-strong);
  border-radius:9px;
  background:var(--ws-surface);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  animation:ws-command-in .13s ease both;
}
@keyframes ws-command-in{from{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:none}}
.ws-command-search{flex:none;height:52px;display:flex;align-items:center;gap:10px;padding:0 13px;border-bottom:1px solid var(--ws-border)}
.ws-command-search svg{width:17px;height:17px;fill:none;stroke:var(--ws-muted);stroke-width:1.7;stroke-linecap:round;flex:none}
.ws-command-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ws-text);font:inherit;font-size:13px}
.ws-command-search input::placeholder{color:var(--ws-faint)}
.ws-command-search kbd{padding:4px 6px}
.ws-command-summary{padding:8px 14px;border-bottom:1px solid var(--ws-border);color:var(--ws-faint);font-size:10px}
.ws-command-results{flex:1;min-height:0;max-height:min(60vh,540px);overflow:auto;padding:6px}
.ws-command-group{padding:8px 8px 5px;color:var(--ws-faint);font-size:7px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.ws-command-item{width:100%;min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 9px;border:0;border-radius:5px;background:transparent;color:var(--ws-text);font:inherit;text-align:left;cursor:pointer}
.ws-command-item.is-active{background:var(--ws-surface-soft)}
.ws-command-mark{width:27px;height:27px;display:grid;place-content:center;border:1px solid var(--ws-border);border-radius:5px;color:var(--ws-muted);font-size:8px;font-weight:750}
.ws-command-copy{display:grid;gap:2px;min-width:0}.ws-command-copy strong{overflow:hidden;font-size:10px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.ws-command-copy small{overflow:hidden;color:var(--ws-faint);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.ws-command-open{color:var(--ws-faint);font-size:7px;opacity:0}.ws-command-item.is-active .ws-command-open{opacity:1}
.ws-command-footer{flex:none;height:36px;display:flex;align-items:center;gap:15px;padding:0 12px;border-top:1px solid var(--ws-border);color:var(--ws-faint);font-size:7px}.ws-command-footer span:last-child{margin-left:auto}.ws-command-footer kbd{display:inline-flex;margin-right:3px;padding:3px 4px}
.ws-command-empty{display:grid;gap:4px;padding:45px 20px;text-align:center}.ws-command-empty strong{font-size:11px}.ws-command-empty span{color:var(--ws-faint);font-size:8px}
body.ws-scroll-locked{overflow:hidden}

@media(max-width:860px){
  .workspace-page .topbar-logo{min-width:0}
  .workspace-page .topbar-tag{display:none}
  .ws-command-trigger{width:190px}
  .ws-command-trigger>span{font-size:10px}
  .ws-app{min-height:calc(100vh - 58px)}
  .ws-sidebar{top:58px;height:auto;padding:6px 10px;background:var(--ws-bg)}
  .ws-content{padding:24px 18px 52px}
  .ws-matter-detail-head{grid-template-columns:1fr}
}

@media(max-width:640px){
  .workspace-page .topbar{min-height:54px}
  .ws-command-trigger{width:126px;height:31px;padding-left:8px}.ws-command-trigger>span{font-size:9px}.ws-command-trigger kbd{display:none}
  .ws-sidebar{top:54px}
  .ws-content{padding:20px 12px 44px}
  .ws-hero{padding:20px 16px}.ws-hero h1,.ws-page-heading h1{font-size:18px!important}.ws-hero-copy>p{font-size:10px}
  .ws-prompt textarea{min-height:82px;padding:12px;font-size:12px}
  .ws-stat-grid{grid-template-columns:1fr}.ws-stat-card{min-height:54px;border-right:0;border-bottom:1px solid var(--ws-border);border-radius:0!important}.ws-stat-card:last-child{border-bottom:0}
  .ws-organisation-grid,.ws-tool-grid{grid-template-columns:1fr}
  .ws-command-palette{padding:14px 10px}.ws-command-panel{border-radius:7px}.ws-command-results{max-height:62vh}.ws-command-footer span:last-child{display:none}
}

.workspace-page .ws-step-actions a{
  border:1px solid var(--ws-border-strong);
  background:var(--ws-surface-soft);
  color:var(--ws-text);
}
.workspace-page .ws-task-form button{
  border:1px solid var(--ws-border-strong);
  background:var(--ws-surface-soft);
  color:var(--ws-text);
}

/* Workspace readability and embedded-tool pass. */
.ws-sidebar-heading>span:last-child{font-size:12px}
.ws-sidebar-kicker,.ws-section-kicker,.ws-eyebrow{font-size:10px}
.ws-side-link{font-size:13px}
.ws-quiet-action,.ws-command-trigger{font-size:11px}
.ws-local-note{font-size:10px;line-height:1.45}
.ws-hero-copy>p{font-size:14px}
.ws-prompt textarea{font-size:15px}
.ws-prompt-footer>span{font-size:10px}
.ws-primary-button,.ws-secondary-button{font-size:11px}
.ws-prompt-examples button{font-size:10px}
.ws-stat-card span:last-child,.ws-text-button{font-size:11px}
.ws-category-badge,.ws-status-badge{font-size:9px}
.ws-matter-card h3{font-size:14px!important}
.ws-matter-card p{font-size:11px}
.ws-matter-meta,.ws-empty p,.ws-list-empty{font-size:10px}
.ws-deadline-copy strong,.ws-activity-copy strong{font-size:11px}
.ws-deadline-copy span,.ws-activity-copy span,.ws-deadline>span{font-size:9px}
.ws-page-heading p{font-size:12px}
.ws-search input,.ws-filter-bar select{font-size:11px}
.ws-filter-chips button{font-size:10px}
.ws-inline-notice strong{font-size:11px}
.ws-inline-notice span{font-size:10px}
.ws-organisation-card h3,.ws-tool-card h3{font-size:14px!important}
.ws-organisation-card>p,.ws-tool-card p{font-size:10px}
.ws-tool-card-footer span,.ws-tool-card-footer a,.ws-tool-card-footer button{font-size:10px}
.ws-tool-card-footer button{padding:0;border:0;background:transparent;color:var(--ws-accent);font:inherit;font-weight:700;cursor:pointer}
.ws-tool-card-footer button:hover{color:var(--ws-text)}
.ws-back-button{font-size:11px}
.ws-matter-detail-head p{font-size:11px}
.ws-detail-actions select,.ws-danger-button{font-size:10px}
.ws-detail-card-heading p{font-size:10px}
.ws-step-copy strong{font-size:11px}
.ws-step-copy span{font-size:9px}
.ws-step-actions a,.ws-step-actions button{font-size:9px}
.workspace-page .ws-step-actions .ws-step-open{border:1px solid var(--ws-border-strong);background:var(--ws-surface-soft);color:var(--ws-text)}
.ws-task-form input,.ws-task span,.ws-matter-fact{font-size:10px}
.ws-field input,.ws-field select,.ws-field textarea{font-size:11px}
.ws-field>span{font-size:10px}
.ws-command-group,.ws-command-copy small,.ws-command-open,.ws-command-footer{font-size:9px}
.ws-command-copy strong{font-size:12px}

.ws-tool-workspace-view{margin:-12px 0 0}
.ws-tool-workspace-shell{min-height:calc(100vh - 105px);overflow:hidden;border:1px solid var(--ws-border);border-radius:10px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft)}
.ws-tool-workspace-bar{min-height:58px;display:flex;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid var(--ws-border);background:var(--ws-surface)}
.ws-tool-workspace-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--ws-border);border-radius:5px;background:var(--ws-surface-soft);color:var(--ws-text);font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.ws-tool-workspace-back:hover{border-color:var(--ws-border-strong)}
.ws-tool-workspace-copy{min-width:0;display:grid;gap:2px;flex:1}
.ws-tool-workspace-copy span{overflow:hidden;color:var(--ws-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.ws-tool-workspace-copy strong{overflow:hidden;color:var(--ws-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.ws-tool-workspace-full{flex:none;text-decoration:none}
.ws-tool-workspace-frame{display:block;width:100%;height:calc(100vh - 164px);min-height:650px;border:0;background:#fff}

@media(max-width:640px){
  .ws-hero-copy>p{font-size:13px}
  .ws-prompt textarea{font-size:14px}
  .ws-tool-workspace-view{margin:0}
  .ws-tool-workspace-shell{min-height:calc(100vh - 90px);border-radius:8px}
  .ws-tool-workspace-bar{align-items:flex-start;flex-wrap:wrap;padding:9px}
  .ws-tool-workspace-back{order:1}
  .ws-tool-workspace-full{order:2;margin-left:auto}
  .ws-tool-workspace-copy{order:3;flex-basis:100%}
  .ws-tool-workspace-frame{height:calc(100vh - 190px);min-height:620px}
}

.ws-fatal-notice{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:48px auto;max-width:560px;padding:32px;border:1px solid var(--ws-border-strong);border-radius:18px;background:var(--ws-surface)}
.ws-fatal-notice h1{margin:0;font-size:22px}
.ws-fatal-notice p{margin:0;color:var(--ws-muted);font-size:14px;line-height:1.6}

/* --------------------------------------------------------------------------
   The standing year. The overview leads with an entity and what it owes, so
   the picker and the profile sit inside the hero and the year itself is the
   first list on the page. The obligation row is shared with the organisation
   page, which drew it unstyled until now.
   -------------------------------------------------------------------------- */

.ws-hero--year{padding-bottom:22px}
.ws-year-bar{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.ws-year-entity{flex:1 1 260px;min-width:0}
.ws-year-entity select{width:100%;padding:13px 15px;border:1px solid var(--ws-border-strong);border-radius:13px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:17px;font-weight:680;letter-spacing:-.02em;cursor:pointer}
.ws-year-entity select:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px}
.ws-year-entity select:disabled{color:var(--ws-faint);cursor:default}

.ws-year-profile{position:relative;z-index:1;margin-top:14px}
.ws-year-fields{display:flex;flex-wrap:wrap;gap:10px}
.ws-year-field{display:flex;flex-direction:column;gap:5px;flex:0 1 210px}
.ws-year-field>span{color:var(--ws-faint);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ws-year-field select{width:100%;padding:9px 11px;border:1px solid var(--ws-border);border-radius:10px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:13px;cursor:pointer}
.ws-year-field select:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px}

.ws-year-switches{margin-top:16px}
.ws-year-switch-label{display:block;margin-bottom:8px;color:var(--ws-faint);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ws-year-chips{display:flex;flex-wrap:wrap;gap:6px}
.ws-year-chip{appearance:none;padding:7px 12px;border:1px solid var(--ws-border);border-radius:999px;background:color-mix(in srgb,var(--ws-surface) 75%,transparent);color:var(--ws-muted);font:inherit;font-size:11px;font-weight:650;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.ws-year-chip:hover{border-color:var(--ws-border-strong);color:var(--ws-text)}
.ws-year-chip.is-on{border-color:color-mix(in srgb,var(--ws-accent) 55%,var(--ws-border));background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-year-hint{margin:14px 0 0;color:var(--ws-muted);font-size:13px}
.ws-year-firstrun{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:620px}
.ws-year-bar[hidden]+.ws-year-profile{margin-top:26px}
.ws-year-firstrun p{margin:0;color:var(--ws-muted);font-size:14px;line-height:1.6}

.ws-year-section .ws-section-heading{align-items:center}
.ws-year-actions{display:flex;align-items:center;gap:12px}
.ws-year-count{color:var(--ws-muted);font-size:11px;font-weight:650;white-space:nowrap}
.ws-year-count.is-overdue{color:var(--ws-danger)}

.ws-year-list{margin-top:14px;border:1px solid var(--ws-border);border-radius:16px;background:var(--ws-surface);box-shadow:var(--ws-shadow-soft);overflow:hidden}
.ws-year-month{padding:9px 18px;border-bottom:1px solid var(--ws-border);background:var(--ws-surface-soft);color:var(--ws-faint);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.ws-year-list .ws-year-month:first-child{border-top:0}
.ws-year-list>.ws-list-empty{padding:26px 18px}

/* The obligation row is already styled by the tool host, as a compact
   four-column grid inside a tool panel. The overview shows the same rows as
   the page's main list, so it re-lays them out — a date tile in front and
   room for the action on the end — rather than restating the base. */
.ws-obligation.ws-year-row{grid-template-columns:auto auto minmax(0,1fr) 190px auto;gap:13px;align-items:center;padding:12px 18px}
.ws-year-row .ws-obligation-copy strong{font-size:13px;font-weight:650;line-height:1.4}
.ws-year-row .ws-obligation-copy em{font-size:10.5px;font-style:normal;letter-spacing:.01em}
.ws-year-row .ws-obligation-due strong{font-size:11px;color:var(--ws-muted)}
.ws-year-row .ws-obligation-due span{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ws-year-row.is-overdue{background:color-mix(in srgb,var(--ws-danger) 5%,transparent)}
.ws-year-row.is-done{opacity:.55}
.ws-year-row .ws-date-tile{width:34px;height:38px}
.ws-year-row .ws-date-tile strong{font-size:13px}

.ws-obligation .ws-year-do{padding:7px 11px;border:1px solid var(--ws-border);border-radius:9px;background:var(--ws-surface);color:var(--ws-accent);font-size:11px;font-weight:650;white-space:nowrap;transition:border-color .16s ease,background .16s ease}
.ws-obligation .ws-year-do:hover{border-color:color-mix(in srgb,var(--ws-accent) 45%,var(--ws-border));background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-obligation .ws-year-do.is-empty{display:block;width:0;padding:0;border:0;background:none;pointer-events:none}

.ws-prompt-panel{min-height:0;margin:26px 0 0}
.ws-prompt-panel .ws-prompt{margin-top:16px;box-shadow:none}
.ws-prompt-panel .ws-prompt textarea{min-height:74px;font-size:14px}

@media(max-width:760px){
  .ws-year-field{flex:1 1 100%}
  .ws-obligation.ws-year-row{grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:start}
  .ws-year-row .ws-obligation-due{grid-column:3;justify-items:start;text-align:left}
  .ws-year-row .ws-year-do{grid-column:3;justify-self:start}
  .ws-obligation .ws-year-do.is-empty{display:none}
}

.ws-year-implies{margin:14px 0 0;color:var(--ws-muted);font-size:12.5px;line-height:1.6}
.ws-year-implies strong{color:var(--ws-text);font-weight:680}
.ws-year-coverage{display:inline-block;padding:2px 8px;border:1px solid var(--ws-border);border-radius:999px;background:var(--ws-surface-soft);color:var(--ws-muted);font-size:10px;font-weight:750;letter-spacing:.05em;vertical-align:1px}
.ws-year-note{margin:10px 0 0;color:var(--ws-faint);font-size:11px;line-height:1.55;max-width:640px}
.ws-year-field input[type=date]{width:100%;padding:9px 11px;border:1px solid var(--ws-border);border-radius:10px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:13px}
.ws-year-field input[type=date]:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px}
.ws-year-field>span small{margin-left:4px;color:var(--ws-faint);font-weight:600;text-transform:none;letter-spacing:0}
.ws-year-figures{margin-top:14px;border-top:1px solid var(--ws-border);padding-top:12px}
.ws-year-figures>summary{color:var(--ws-faint);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;list-style:none}
.ws-year-figures>summary::-webkit-details-marker{display:none}
.ws-year-figures>summary::before{content:"+ ";font-weight:800}
.ws-year-figures[open]>summary::before{content:"− "}
.ws-year-figures>summary:hover{color:var(--ws-muted)}
.ws-year-figures .ws-year-fields{margin-top:10px}
.ws-year-field input[type=number]{width:100%;padding:9px 11px;border:1px solid var(--ws-border);border-radius:10px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:13px}
.ws-year-field input[type=number]:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px}

/* ══════════════════════════════════════════════════════════════════════════
   PERIODS
   The year reads as periods, so the month heading became the control that
   opens one. It keeps the heading's own look — the workspace should not
   grow a second visual language just because a row learned to be clicked.
   ══════════════════════════════════════════════════════════════════════════ */
.ws-period+.ws-period{border-top:1px solid var(--ws-border)}
.ws-year-list .ws-period:first-child .ws-period-head{border-top:0}
button.ws-period-head{display:flex;width:100%;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--ws-border);text-align:left;font:inherit;cursor:pointer;transition:background .16s ease}
button.ws-period-head:hover{background:color-mix(in srgb,var(--ws-accent) 6%,var(--ws-surface-soft))}
.ws-period-head.is-static{display:flex;align-items:center;gap:12px}
.ws-period:not(.is-open)>.ws-period-head{border-bottom:0}
.ws-period-name{color:var(--ws-text);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ws-period-meta{flex:1 1 auto;color:var(--ws-faint);font-size:10px;font-weight:650;letter-spacing:.02em;text-transform:none}
.ws-period-chip{padding:2px 8px;border:1px solid var(--ws-border);border-radius:999px;background:var(--ws-surface);color:var(--ws-muted);font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:none;white-space:nowrap}
.ws-period-chip--current{border-color:color-mix(in srgb,var(--ws-accent) 40%,var(--ws-border));background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-period-chip--lapsed{border-color:color-mix(in srgb,var(--ws-danger) 40%,var(--ws-border));background:color-mix(in srgb,var(--ws-danger) 9%,transparent);color:var(--ws-danger)}
.ws-period-chip--closed{color:var(--ws-faint)}
.ws-period.is-current>.ws-period-head .ws-period-name{color:var(--ws-accent)}
.ws-period.is-lapsed>.ws-period-head{background:color-mix(in srgb,var(--ws-danger) 4%,var(--ws-surface-soft))}
.ws-period.is-upcoming>.ws-period-head .ws-period-name{color:var(--ws-faint)}

/* The frequency is the one fact the row cannot show any other way: whether
   this thing comes back next month or once a year. */
.ws-frequency-tag{margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--ws-surface-soft);color:var(--ws-faint);font-size:9px;font-weight:750;letter-spacing:.04em;vertical-align:1px}

/* Evidence sits under the filing it belongs to, and only once the filing is
   ticked: asking for an acknowledgement number before anything was filed
   would be asking the user to invent one. */
.ws-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ws-evidence input{padding:5px 9px;border:1px dashed var(--ws-border-strong);border-radius:8px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:10.5px}
.ws-evidence input[type=text]{flex:1 1 200px;min-width:0}
.ws-evidence input:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px;border-style:solid}

.ws-cycle-state{padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.ws-cycle-state--on-track{background:rgba(49,146,108,.12);color:#287d5d}
.ws-cycle-state--attention{background:color-mix(in srgb,var(--ws-danger) 12%,transparent);color:var(--ws-danger)}
.ws-cycle-state--empty{display:none}

/* ══════════════════════════════════════════════════════════════════════════
   STAGES
   A stage is a gate, so it has to look like one: cleared, open, or shut,
   with the reason it is shut written where the steps would have been.
   ══════════════════════════════════════════════════════════════════════════ */
.ws-stage{display:grid;gap:10px;padding:14px;border:1px solid var(--ws-border);border-radius:14px;background:var(--ws-surface)}
.ws-stage+.ws-stage{margin-top:8px}
.ws-stage.is-cleared{border-color:rgba(49,146,108,.28);background:rgba(49,146,108,.045)}
.ws-stage.is-active{border-color:color-mix(in srgb,var(--ws-accent) 35%,var(--ws-border));box-shadow:var(--ws-shadow-soft)}
.ws-stage.is-locked{opacity:.72;background:var(--ws-surface-soft)}
.ws-stage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center}
.ws-stage-number{width:26px;height:26px;display:grid;place-content:center;border-radius:999px;border:1px solid var(--ws-border);background:var(--ws-surface-soft);color:var(--ws-muted);font-size:10px;font-weight:800}
.ws-stage.is-cleared .ws-stage-number{border-color:transparent;background:#def1e9;color:#287d5d}
.ws-stage.is-active .ws-stage-number{border-color:transparent;background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-stage-copy{display:grid;gap:2px;min-width:0}
.ws-stage-copy strong{font-size:12.5px;font-weight:700;color:var(--ws-text)}
.ws-stage-copy span{color:var(--ws-muted);font-size:10.5px;line-height:1.45}
.ws-stage-state{padding:2px 8px;border-radius:999px;background:var(--ws-surface-soft);color:var(--ws-faint);font-size:9px;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.ws-stage-state--active{background:var(--ws-accent-soft);color:var(--ws-accent)}
.ws-stage-state--cleared{background:#def1e9;color:#287d5d}
.ws-stage-steps{display:grid;gap:6px}
.ws-stage-steps.is-preview{opacity:.62}
.ws-stage-gate{margin:0;padding:9px 11px;border:1px dashed var(--ws-border-strong);border-radius:10px;color:var(--ws-muted);font-size:11px;line-height:1.5}
.ws-stage-gate strong{color:var(--ws-text);font-weight:680}

button.ws-step-number{border:1px solid var(--ws-border);cursor:pointer;font-size:11px;transition:background .16s ease,border-color .16s ease}
button.ws-step-number:hover{border-color:color-mix(in srgb,var(--ws-accent) 45%,var(--ws-border))}
.ws-workflow-step.ws-step--done{border-color:rgba(49,146,108,.25);background:rgba(49,146,108,.055)}
.ws-workflow-step.ws-step--done button.ws-step-number{background:#def1e9;border-color:transparent;color:#287d5d}
.ws-workflow-step.ws-step--na{opacity:.6}
.ws-workflow-step.ws-step--na .ws-step-copy strong{text-decoration:line-through;text-decoration-thickness:1px}
.ws-workflow-step.is-locked{background:transparent;border-style:dashed}
.ws-step-optional{color:var(--ws-faint);font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.ws-step-evidence{color:var(--ws-faint);font-size:10px;font-style:normal;line-height:1.45}
.ws-step-note{margin-top:5px;width:100%;padding:6px 9px;border:1px dashed var(--ws-border-strong);border-radius:8px;background:var(--ws-surface);color:var(--ws-text);font:inherit;font-size:10.5px}
.ws-step-note:focus-visible{outline:2px solid var(--ws-accent-bright);outline-offset:1px;border-style:solid}
.ws-category-badge.is-clear{background:#def1e9;color:#287d5d}

@media(max-width:760px){
  button.ws-period-head,.ws-period-head.is-static{flex-wrap:wrap;gap:6px}
  .ws-period-meta{flex-basis:100%;order:3}
  .ws-stage-head{grid-template-columns:auto minmax(0,1fr)}
  .ws-stage-state{grid-column:2}
}

/* ══════════════════════════════════════════════════════════════════════════
   REGISTRATION GROUPS
   The switches are asked in groups, in the order a person knows the answers,
   with the rare ones folded away. Same chips as before — the change is that
   they are no longer one undifferentiated row.
   ══════════════════════════════════════════════════════════════════════════ */
.ws-reg-group{margin-top:14px;padding-top:12px;border-top:1px solid var(--ws-border)}
.ws-reg-group:first-of-type{margin-top:8px;padding-top:0;border-top:0}
.ws-reg-label{display:block;color:var(--ws-text);font-size:11px;font-weight:750;letter-spacing:.01em}
.ws-reg-hint{margin:2px 0 9px;color:var(--ws-faint);font-size:11px;line-height:1.5;max-width:620px}
.ws-reg-group--advanced{margin-top:14px;padding-top:12px;border-top:1px solid var(--ws-border)}
.ws-reg-group--advanced>summary{color:var(--ws-muted);font-size:11px;font-weight:750;cursor:pointer;list-style:none}
.ws-reg-group--advanced>summary::-webkit-details-marker{display:none}
.ws-reg-group--advanced>summary::before{content:"+ ";font-weight:800;color:var(--ws-faint)}
.ws-reg-group--advanced[open]>summary::before{content:"− "}
.ws-reg-group--advanced>summary:hover{color:var(--ws-text)}
.ws-reg-count{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--ws-accent-soft);color:var(--ws-accent);font-size:9px;font-weight:750;letter-spacing:.04em}

/* GST is a choice, so it looks like one: a label and its three answers on a
   single line, visibly separate from the switches under it. */
.ws-reg-choice{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
.ws-reg-choice-label{margin-right:2px;color:var(--ws-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ws-reg-choice .ws-year-chip{border-radius:8px}
