/* Monkonboarding — shared styles. Flat and quiet: dim teal accent, pale greys, dark slate text.
   No shadows, gradients or decorative stripes; borders, spacing and type carry the hierarchy. */
:root{
 --ink:#203b3a;--muted:#5b6f6c;--line:#dce5e1;--line-strong:#c9d7d0;--accent:#216c5d;--accent-ink:#185548;
 --soft:#edf5f1;--page:#f6f8f7;--panel:#fff;--side:#eef3f1;--side-hover:#e3ebe7;--side-active:#d9e9e1;
 --ok-bg:#e9f4ee;--ok-line:#b9d9c6;--ok-ink:#1f6a4f;--info-bg:#eaf2f7;--info-line:#c3d6e3;--info-ink:#2c5873;
 --warn-bg:#fbf5e6;--warn-line:#e8d9ad;--warn-ink:#6f5210;--err-bg:#fcf0ee;--err-line:#ecc9c2;--err-ink:#93392f;
 --focus:#6ba994;--radius:8px;--side-w:240px;--gutter:32px;--drawer-w:440px;
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--page);line-height:1.5;font-size:15px;font-synthesis:none
}
*{box-sizing:border-box}html,body{margin:0}
/* The hidden attribute always wins over component display rules. */
[hidden]{display:none!important}
html,body{overflow-x:clip}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
a{color:var(--accent);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1,h2,h3,h4,p{margin:0;overflow-wrap:anywhere}
h1{font-size:21px;line-height:1.25;letter-spacing:-.02em}h2{font-size:17px;line-height:1.3;letter-spacing:-.01em}h3{font-size:15px}h4{font-size:14px}
p+p{margin-top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}
.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.skip{position:fixed;left:12px;top:-80px;z-index:60;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px 12px;font-weight:600}
.skip:focus{top:12px}

/* ---------- Shell ---------- */
.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px 14px;min-width:0}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:750;letter-spacing:-.02em;font-size:17px;min-width:0}
.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--accent);color:#fff;border-radius:8px;font-size:15px;flex:none}
.side .brand{padding:0 8px 18px}
.nav{display:flex;flex-direction:column;gap:12px;flex:1}
.nav-label,.nav-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 10px;background:none;border:0;border-radius:6px;text-align:left}
.nav-toggle:hover{background:var(--side-hover)}
.nav-toggle svg{transition:transform .15s;flex:none}.nav-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}
.nav ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:1px}
.nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:14px}
.nav a:hover{background:var(--side-hover)}
.nav a[aria-current="page"]{background:var(--side-active);font-weight:650}
.nav-count{font-size:12px;color:var(--err-ink);font-weight:650;font-variant-numeric:tabular-nums}
.side-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;display:grid;gap:2px}
.side-foot a,.side-foot button{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:6px;border:0;background:none;color:var(--ink);text-decoration:none;font-size:14px}
.side-foot a:hover,.side-foot button:hover{background:var(--side-hover)}
.side-foot a[aria-current="page"]{background:var(--side-active);font-weight:650}
.account{padding:8px 10px 4px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.account strong{display:block;color:var(--ink);font-size:14px}
.main{min-width:0;display:flex;flex-direction:column}
.mobile-bar{display:none}
.side .nav-close{display:none}
.nav-status{padding:4px 10px;font-size:13px;color:var(--err-ink)}
.side-foot button:disabled{color:var(--muted);cursor:not-allowed}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;padding:16px var(--gutter);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;min-height:68px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:2px}.crumbs a{color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-width:0}
.content{padding:24px var(--gutter) 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start;min-width:0}
.content>*{min-width:0}
.syncbar{padding:7px var(--gutter);border-bottom:1px solid var(--line);background:var(--soft);color:#42695a;font-size:12px}
.note{background:var(--warn-bg);border:1px solid var(--warn-line);padding:12px 16px;border-radius:var(--radius);font-size:14px}
.page-intro{max-width:72ch;color:var(--muted);font-size:14px}
body.drawer-open .main{padding-right:var(--drawer-w)}

/* ---------- Controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:#33564d;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap}
.btn:hover{background:#f2f6f3;border-color:#90ada0}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}
.btn.danger{color:var(--err-ink);border-color:#e6d0cb}.btn.danger:hover{background:var(--err-bg)}
.btn.quiet{border-color:transparent;background:transparent;color:var(--accent);padding:5px 8px;min-height:32px}
.btn.quiet:hover{background:var(--soft)}.btn.quiet.danger{color:var(--err-ink)}
.btn:disabled{opacity:.55;cursor:not-allowed}
button.link{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font:inherit;text-align:left}
label{display:block;font-size:13px;font-weight:600;color:#47605a}
label>input,label>select,label>textarea{margin-top:6px;font-weight:400}
input,select,textarea{width:100%;min-width:0;min-height:38px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px 10px;background:#fff;color:var(--ink);font-size:14px;line-height:1.45}
input:hover,select:hover,textarea:hover{border-color:#91ad9e}
textarea{resize:vertical;min-height:80px}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;margin:0}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fields .span{grid-column:1/-1}
.check-row{display:flex;gap:8px;align-items:center;font-weight:400;margin:6px 0}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;max-width:100%}
.seg button{border:0;background:#fff;padding:6px 12px;font-size:13px;border-left:1px solid var(--line-strong);white-space:nowrap}
.seg button:first-child{border-left:0}.seg button[aria-pressed="true"]{background:var(--soft);font-weight:650;color:var(--accent-ink)}
details.menu{position:relative}
details.menu>summary{list-style:none}details.menu>summary::-webkit-details-marker{display:none}
details.menu[open]>.menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:15;display:grid;min-width:190px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:4px}
.menu-list{display:none}
.menu-list button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:14px}
.menu-list button:hover{background:var(--soft)}

/* ---------- Surfaces, lists, tables ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.panel-head h2{font-size:16px}
.panel-body{padding:16px 18px}
.cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:20px;align-items:start}.cols>*{min-width:0}
.stack{display:grid;gap:20px;min-width:0}
.list{list-style:none;margin:0;padding:0}
.list>li{display:flex;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid var(--line);align-items:center;min-width:0}
.list>li:first-child{border-top:0}
.list>li>span:first-child{min-width:0}
.sub{display:block;font-size:13px;color:var(--muted)}
.empty{padding:20px 18px;color:var(--muted);font-size:14px}
.table-wrap{overflow-x:auto;max-width:100%}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:12px;font-weight:650;color:var(--muted);text-align:left;padding:9px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px 16px;border-top:1px solid var(--line);vertical-align:top}
tbody tr:first-child td{border-top:0}
.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border-radius:999px;border:1px solid var(--line);background:#f4f6f5;color:#4b5f5b;font-size:12px;font-weight:650;white-space:nowrap;line-height:1.7}
.badge.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.badge.info{background:var(--info-bg);border-color:var(--info-line);color:var(--info-ink)}
.badge.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.badge.err{background:var(--err-bg);border-color:var(--err-line);color:var(--err-ink)}
.badge.off{background:#f4f6f5;border-color:var(--line);color:#5d706c}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-size:12px;border-radius:6px;padding:2px 8px;background:var(--soft)}
pre{font:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:#4b645c;margin:8px 0 0}

/* ---------- Calls board ---------- */
.call-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.board-column{min-width:0;padding:12px;background:#f5f8f6;border:1px solid var(--line);border-radius:10px}
.board-column h2{display:flex;gap:8px;align-items:center;font-size:14px;margin-bottom:4px}
.call-card{display:grid;gap:4px;width:100%;padding:12px;margin-top:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:13px}
.call-card strong{font-size:14px}.call-card:hover{border-color:var(--accent)}

/* ---------- Practice page ---------- */
.practice-meta{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:4px}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;max-width:100%;min-width:0}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;margin-bottom:-1px;font-weight:600;color:var(--muted);white-space:nowrap}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.tab:hover{color:var(--ink)}
.call-bar{display:flex;gap:12px 20px;align-items:flex-start;flex-wrap:wrap}
.call-bar>label{flex:0 1 220px}
.prep{flex:1 1 320px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.prep summary,.notes-panel>summary{cursor:pointer;padding:9px 12px;font-weight:600;font-size:14px}
.prep p{padding:0 12px 12px;white-space:pre-wrap;font-size:14px;color:#3d5852;max-height:16em;overflow:auto}
.toolbar{display:flex;justify-content:space-between;gap:10px 12px;align-items:center;flex-wrap:wrap}
.progress-line{font-size:14px;color:var(--muted)}.progress-line strong{color:var(--ink)}
.groups{display:grid;gap:12px;min-width:0}
.group{border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0;overflow:hidden}
.group-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;background:#f8faf9;padding:4px 8px 4px 4px}
.group-toggle{display:flex;align-items:center;gap:10px;flex:1 1 240px;min-width:0;background:none;border:0;padding:8px 10px;text-align:left;border-radius:6px}
.group-toggle:hover{background:#eef3f0}
.group-toggle svg{transition:transform .15s;flex:none}.group-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}
.group-title{font-weight:650}.group-meta{font-size:13px;color:var(--muted);font-weight:400}
.group-actions{display:flex;gap:2px;flex-wrap:wrap}
.task{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:9px 16px;border-top:1px solid var(--line);border-left:3px solid transparent}
.task.selected{background:#f3f8f5}
.task.status-done{border-left-color:#67a88b}.task.status-blocked{border-left-color:#c8805d}.task.status-followup{border-left-color:#c2aa62}
.task-status{min-height:32px;padding:4px 8px;font-size:13px;font-weight:600}
.task-status.s-done{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.task-status.s-blocked{background:var(--err-bg);border-color:var(--err-line);color:var(--err-ink)}
.task-status.s-followup{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.task-status.s-na{color:var(--muted)}
.task-title{border:0;background:none;padding:0;text-align:left;color:var(--ink);font-size:14px;line-height:1.45}
.task-title:hover{text-decoration:underline;text-underline-offset:3px}
.task-meta{display:flex;gap:4px 10px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--muted);align-items:center}
.task-meta .badge{line-height:1.5;padding:0 8px}
.task-side{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}
.section-evidence{padding:8px 16px 12px;border-top:1px solid var(--line);background:#fbfcfb}
.notes-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.notes-panel .panel-body{display:grid;gap:14px;padding-top:4px}
.urgent,.carry{border-radius:10px;padding:14px 16px}
.urgent{border:1px solid var(--err-line);background:var(--err-bg)}
.carry{border:1px solid var(--warn-line);background:var(--warn-bg)}
.urgent h2,.carry h2{font-size:15px;margin-bottom:8px}
.urgent ul,.carry ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.urgent li,.carry li{display:flex;justify-content:space-between;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:14px}
.carry li>span:first-child,.urgent li>span:first-child{flex:1 1 260px;min-width:0}
.carry li.overdue strong{color:var(--err-ink)}
.stage-line{font-size:14px;color:var(--muted)}

/* ---------- Task panel (drawer) ---------- */
.drawer{position:fixed;top:0;right:0;height:100vh;width:min(var(--drawer-w),100vw);background:var(--panel);border-left:1px solid var(--line-strong);display:flex;flex-direction:column;z-index:30}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:16px;line-height:1.4}
.drawer-body{padding:16px 18px;overflow-y:auto;display:grid;gap:16px;align-content:start;flex:1}
.drawer-foot{padding:10px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.scrim{position:fixed;inset:0;background:rgba(32,59,58,.3);z-index:25}
.task-help{border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;background:#fafcfb;font-size:14px}
.task-help summary{cursor:pointer;font-weight:650;color:var(--accent-ink)}
.task-help p,.task-help ul{margin:8px 0 0}.task-help ul{padding-left:18px}
.escalation{padding:12px;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius)}
.escalation p{font-size:13px;color:var(--muted);margin-top:6px}

/* ---------- Evidence ---------- */
.evidence{display:grid;gap:6px}
.evidence-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:650;color:#47605a}
.evidence-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.evidence-list li{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.evidence-status:empty{display:none}
.evidence-status{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;background:var(--ink);color:#fff;border-radius:8px;padding:9px 14px;font-size:14px;max-width:calc(100vw - 32px)}

/* ---------- Launch readiness ---------- */
.launch-panel{display:grid;gap:16px;min-width:0}
.launch-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:16px;align-items:start}.launch-grid>*{min-width:0}
.gates{list-style:none;margin:0;padding:0}
.gates li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.gates li:first-child{border-top:0}
.gate-mark{flex:0 0 64px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.gate-ok .gate-mark{color:var(--ok-ink)}.gate-open .gate-mark{color:var(--warn-ink)}
.launch-card .panel-body{display:grid;gap:12px}
.launch-form{display:grid;gap:12px}
.launch-form.inline{display:inline-flex}
.launch-form fieldset{border:0;padding:0;margin:0}
.launch-form legend{font-size:13px;font-weight:600;color:#47605a;margin-bottom:4px}
.findings{white-space:pre-wrap;background:#f6f8f7;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px}
table.a2p td,table.a2p th{padding:8px 10px}
.conn-message{font-size:14px}.conn-message:empty{display:none}
details.more{border-top:1px solid var(--line);padding-top:10px}
details.more>summary{cursor:pointer;font-weight:600;color:var(--accent-ink);font-size:14px}
.history ul{font-size:13px;padding-left:18px;display:grid;gap:4px;margin:8px 0}

/* ---------- Connections, Operations, Team ---------- */
.conn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.conn-state{padding:10px 14px;background:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:14px}
.conn-state:empty{display:none}
.conn-fieldset{border:0;padding:0;margin:0;min-width:0}.conn-fieldset:disabled{opacity:.7}
.conn-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.conn-fields label{margin:0}.conn-fields .span-2{grid-column:1/-1}
.conn-fields textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;min-height:96px}
.field-help{font-size:13px;color:var(--muted);margin-top:-6px}.field-help:empty{display:none}
.conn-dirty{font-size:13px;color:var(--warn-ink)}.conn-dirty:empty{display:none}
.conn-actions{display:flex;flex-wrap:wrap;gap:8px}
.conn-result:empty{display:none}
.conn-test{padding:12px 14px;border-radius:8px;border:1px solid var(--line);margin-top:8px;font-size:14px}
.conn-test.ok{background:#f3f9f5;border-color:#cfe5d7}.conn-test.err{background:#fdf6f4;border-color:#efd8d2}
.conn-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
.conn-stats div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.conn-stats dt{font-size:12px;color:var(--muted)}.conn-stats dd{margin:4px 0 0;font-size:18px;font-weight:650}
.conn-summary{list-style:none;margin:0;padding:0}
.conn-summary li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--line);font-size:14px}
.conn-summary li:first-child{border-top:0}
.conn-rows{display:grid}
.conn-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:12px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.conn-row:first-child{border-top:0}.conn-row>div{flex:1 1 260px;min-width:0}.conn-row p{font-size:14px;color:var(--muted);margin-top:2px}
.conn-help summary{cursor:pointer;font-weight:600;color:var(--accent-ink);font-size:14px}
.conn-help ol{margin:10px 0;padding-left:20px;display:grid;gap:6px;font-size:14px}
.ops-status{font-size:12px;color:var(--muted)}
.operation-list{display:grid}
.operation-item{padding:12px 18px;border-top:1px solid var(--line);font-size:14px}.operation-item:first-child{border-top:0}
.operation-item p{color:var(--muted);margin-top:2px}
.ops-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.invite-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.invite-result{overflow-wrap:anywhere;font-size:13px}
.invite-result:not(:empty){padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:8px}
.record{padding:12px 18px;border-top:1px solid var(--line);overflow-wrap:anywhere;font-size:14px}.record:first-child{border-top:0}
#error{color:var(--err-ink);overflow-wrap:anywhere}#error:empty{display:none}
#error:not(:empty){background:var(--err-bg);border:1px solid var(--err-line);padding:10px 14px;border-radius:8px}

/* ---------- Template editor ---------- */
.tpl-section{border-top:1px solid var(--line);padding:16px 18px}
.tpl-section:first-child{border-top:0}
.tpl-section>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tpl-control{padding:12px 0;border-top:1px dashed var(--line);display:grid;grid-template-columns:minmax(0,2fr) 180px minmax(0,1fr);gap:10px 16px}
.tpl-control .span-all{grid-column:1/-1}.tpl-control.retired{opacity:.6}
.tpl-flags{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.tpl-flags label{display:flex;gap:6px;align-items:center;margin:0;font-weight:400}

/* ---------- Help ---------- */
.help-page{display:grid;gap:16px}
.help-page section{max-width:76ch}
.help-page h2{margin-bottom:8px}
.help-page ul,.help-page ol{padding-left:20px;margin:8px 0}
.help-page li{margin-bottom:6px}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:none!important}
.flow div{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;font-size:14px}.flow b{display:block;margin-bottom:4px}

/* ---------- Sign-in page ---------- */
.auth-page{background:var(--page)}
.auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 40px;flex-wrap:wrap}
.auth-header small{color:var(--muted);font-size:13px}
.auth-layout{max-width:1120px;margin:clamp(24px,7vh,88px) auto 48px;display:grid;grid-template-columns:1.1fr 1fr;gap:72px;padding:0 40px;align-items:center}
.auth-intro h1{font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.04em;margin:0 0 20px;max-width:14ch}
.auth-intro>p{font-size:16px;line-height:1.75;color:var(--muted);max-width:40ch}
.auth-features{display:grid;gap:20px;margin-top:32px}
.auth-feature{display:flex;gap:14px;align-items:flex-start}
.feature-number{display:grid;place-items:center;flex-shrink:0;border:1px solid #c5dacf;border-radius:8px;width:32px;height:32px;font-size:12px;color:var(--accent);background:#eef5ef}
.auth-feature strong{display:block;font-size:14px;margin:2px 0 4px}.auth-feature p{font-size:13px;color:var(--muted)}
.auth{padding:32px;width:100%;max-width:460px;justify-self:end}
.auth h2{font-size:26px;margin-bottom:10px}.auth #help{margin-bottom:24px;max-width:43ch}
.auth form{display:grid;gap:20px}.auth form>div>label{margin-bottom:8px}
.auth form .btn{width:100%;min-height:46px}.auth form input{min-height:46px}
.auth-note{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:12px;color:var(--muted);line-height:1.7}
.auth-footer{max-width:1120px;margin:0 auto;padding:0 40px 32px;color:var(--muted);font-size:12px}
.password-control{position:relative}.password-control input{padding-right:78px}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:56px;min-height:34px;border:0;border-radius:5px;padding:6px 10px;background:transparent;color:var(--accent);font-size:13px;font-weight:650}
.password-toggle:hover{background:var(--soft)}

dialog{border:1px solid var(--line-strong);border-radius:12px;width:min(520px,calc(100vw - 32px));padding:24px}
dialog::backdrop{background:rgba(24,60,51,.35)}
dialog form{display:grid;gap:16px}

/* ---------- Responsive ---------- */
@media (max-width:1200px){body.drawer-open .main{padding-right:0}.launch-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}.call-board{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:1fr 1fr}.conn-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tpl-control{grid-template-columns:minmax(0,1fr) 180px}}
@media (max-width:860px){
 :root{--gutter:16px}
 .shell{grid-template-columns:minmax(0,1fr)}
 .side{position:fixed;left:0;top:0;z-index:35;width:min(300px,86vw);visibility:hidden;transform:translateX(-100%)}
 .side.open{visibility:visible;transform:none}
 .side.open .nav-close{display:block;margin:0 0 8px auto}
 .mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--side);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
 .topbar{min-height:0}
 .task{grid-template-columns:minmax(0,1fr);gap:6px}
 .task-side{justify-content:space-between}
 .fields,.conn-fields,.ops-fields,.invite-form{grid-template-columns:minmax(0,1fr)}
 .conn-fields .span-2,.fields .span{grid-column:auto}
 .auth-layout{grid-template-columns:1fr;gap:28px;max-width:580px;padding:0 20px}.auth-features{display:none}.auth{max-width:none;justify-self:stretch}
 .auth-header{padding:20px}.auth-footer{padding:0 20px 24px}
 th,td{padding:9px 12px}
 .hide-sm{display:none}
}
@media (max-width:560px){.call-board,.flow,.conn-stats,.tpl-control{grid-template-columns:minmax(0,1fr)}.toolbar>*{width:100%}.seg{width:100%}.seg button{flex:1;padding:6px 4px}.drawer-foot .btn{flex:1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.side,.mobile-bar,.topbar .actions,.syncbar,.toolbar,.tabs,.btn,.drawer,.scrim,dialog,.group-actions{display:none!important}.shell{display:block}.content{padding:0}.group{break-inside:avoid}input,select,textarea{border:0}}
