/* Management wears the desk's own identity (David, 2026-10-21): the desks'
   paper, rules, type and square corners; the bar and its accent come from the
   desk (adapter.brand, adapter.accent), set on :root by the page at load. */
:root{
  --paper:#EEEFEA; --card:#FFFFFF; --card-2:#F7F8F4; --card-3:#EFF1EB;
  --ink:#1B211C; --ink-2:#5E665D; --ink-3:#8A9188;
  --rule:#D3D6CE; --rule-2:#B9BDB2;
  --red:#CD3642; --red-soft:#FFF2F3; --red-line:#EFC4C8;
  --green:#037F52; --green-soft:#EEF8F4; --green-line:#BFE3D4;
  --amber-soft:#FFF3C9; --amber-line:#9A6700; --amber-edge:#E0B200;
  --blue:#1F73B7;
  --brand:#161A15; --accent:#FFCE1B; --accent-ink:#1B211C;
  --bar-text:#EEEFEA; --bar-dim:#A9AFA4;
  --shadow:0 1px 0 rgba(27,33,28,.06), 0 8px 24px -18px rgba(27,33,28,.5);
  --f-display:"Bahnschrift SemiCondensed","Bahnschrift","Avenir Next Condensed","Arial Narrow","Franklin Gothic Medium",sans-serif;
  --f-text:"Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-mono:Consolas,"SF Mono",Menlo,"DejaVu Sans Mono","Liberation Mono",monospace;
  /* the names the screens were written against */
  --line:var(--rule); --muted:var(--ink-2); --good:var(--green); --warn:var(--amber-line); --bad:var(--red); --hold:var(--amber-soft); --radius:2px;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:2px}
button,input,select,textarea{font:inherit;color:inherit}
button,a.button{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.07em;font-size:12.5px;font-weight:600;line-height:1.15;
  padding:6px 12px;border:1.5px solid var(--rule-2);border-radius:var(--radius);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}
button:hover,a.button:hover{background:var(--card-2)}
button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
button.primary:hover{filter:brightness(.9);background:var(--ink)}
button.danger{border-color:var(--red);color:var(--red)}
button.danger:hover{background:var(--red-soft)}
button:disabled{opacity:.5;cursor:default}
input,select,textarea{padding:6px 8px;border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--card);width:100%}
label{display:block;margin:8px 0 4px;color:var(--ink-3);font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
label input,label select,label textarea{margin-top:4px;text-transform:none;letter-spacing:0;font-family:var(--f-text);font-size:13.5px;font-weight:400;color:var(--ink)}
.topbar{background:var(--brand);color:var(--bar-text);border-bottom:3px solid var(--accent);padding:0 16px;position:sticky;top:0;z-index:40}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;max-width:1240px;margin:0 auto}
.topbar h1{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--f-display);font-size:20px;letter-spacing:.055em;text-transform:uppercase;font-weight:600}
.topbar h1 .crumb-back{font-size:13px;letter-spacing:.07em;font-weight:600;text-decoration:none;color:var(--bar-dim)}
.topbar h1 .crumb-back:hover{color:var(--bar-text)}
.topbar h1 .crumb-sep{color:var(--bar-dim);font-weight:400}
.topbar h1,.topbar h1 a{white-space:nowrap}
.topbar .who{font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;color:var(--bar-dim)}
.topbar a{color:var(--bar-text)}
@media (max-width:600px){.topbar .who #who,.topbar .who .who-sep{display:none}.topbar .who{white-space:nowrap}.topbar h1{font-size:16px}}
.layout{display:grid;grid-template-columns:200px 1fr;gap:24px;max-width:1240px;margin:0 auto;padding:20px 16px}
nav.side a{display:block;padding:7px 10px;border-left:3px solid transparent;color:var(--ink-2);text-decoration:none;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:600}
nav.side a:hover{color:var(--ink);background:var(--card-3)}
nav.side a.on{color:var(--ink);background:var(--card);border-left-color:var(--accent)}
nav.side .n{float:right;color:var(--ink-3);font-family:var(--f-mono)}
main{min-width:0}
h2{font-family:var(--f-display);font-size:22px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;margin:0 0 8px}
h3{font-family:var(--f-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin:18px 0 8px}
.sub{color:var(--ink-2);margin:0 0 16px;max-width:80ch}
.card{background:var(--card);border:1px solid var(--rule);border-radius:3px;box-shadow:var(--shadow);padding:14px 16px;margin-bottom:16px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px}
.tile{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:10px 12px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.tile .v{font-family:var(--f-display);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}
.tile .l{color:var(--ink-2);font-size:12px}
.tile .n{color:var(--ink-3);font-size:12px;margin-top:2px}
.tile.quiet .v{color:var(--ink-3)}
ul.plain{list-style:none;padding:0;margin:0}
ul.plain li{padding:4px 0;border-top:1px solid var(--rule)}
td.num.bad{color:var(--red);font-weight:600}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:600;border-bottom:1.5px solid var(--rule-2);white-space:nowrap}
td.num,th.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.pill{display:inline-block;padding:1px 7px;border-radius:2px;font-family:var(--f-mono);font-size:11px;letter-spacing:.02em;border:1px solid var(--rule-2);background:var(--card-2);color:var(--ink-2)}
.pill.on{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}
.pill.gated{background:var(--card-3);color:var(--ink-3)}
.presets{display:inline-flex;gap:6px;align-self:flex-end}
details.wording>summary{cursor:pointer;list-style:none}
details.wording>summary h3{display:inline;margin:0}
details.wording>summary::before{content:"\25B8";display:inline-block;width:16px;color:var(--ink-3)}
details.wording[open]>summary::before{content:"\25BE"}
.wording h4{margin:14px 0 4px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink-2)}
.wording .builtin{white-space:normal;background:var(--card-2);padding:8px 10px;border:1px solid var(--rule)}
.wording-editor label{display:block;margin:4px 0}
.wording-editor input[data-subject],.wording-editor textarea{width:100%;font-family:var(--f-text)}
.wording-editor .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.wording-editor .actions label.inline{display:inline-flex;gap:6px;align-items:center;margin:0 0 0 auto}
.wording-editor .preview{margin-top:8px;padding:8px 10px;border:1px dashed var(--rule-2);background:var(--card-2)}
.wording-editor .preview pre{white-space:pre-wrap;font-family:var(--f-text);margin:4px 0 0}
table.placeholders td:first-child{white-space:nowrap}
.presets button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pill.bad{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}
.pill.warn{background:var(--amber-soft);border-color:var(--amber-edge);color:var(--amber-line)}
.muted{color:var(--ink-2)}
.why{background:var(--amber-soft);border:1px solid var(--amber-edge);border-left:4px solid var(--amber-edge);border-radius:2px;padding:9px 12px;margin:8px 0 16px}
.err{color:var(--red);margin:8px 0}
.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.row>*{flex:1 1 160px}
.row>.fit{flex:0 0 auto}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px}
.kv dt{color:var(--ink-3);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.kv dd{margin:0}
.states{display:flex;gap:4px;flex-wrap:wrap;font-size:12px}
.states span{padding:2px 7px;border:1px solid var(--rule-2);border-radius:2px;color:var(--ink-3);font-family:var(--f-mono);font-size:11px}
.states span.here{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.event{padding:6px 0;border-bottom:1px dashed var(--rule)}
.event .t{color:var(--ink-3);font-size:12px;font-family:var(--f-mono)}
pre{white-space:pre-wrap;background:var(--card-3);padding:8px;border-radius:2px;font-family:var(--f-mono);font-size:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
table.rules td.rule-v{white-space:nowrap;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
table.rules td.rule-ctl{min-width:140px}
table.rules td.rule-ctl textarea{min-height:34px}
table.rules code{background:var(--card-3);padding:0 3px;font-size:12px}
tr.drawer>td{background:var(--card-2);padding:8px 14px 12px}
tr.drawer table{font-size:13px}
.login .card{max-width:380px;margin:12vh auto;border-top:3px solid var(--accent)}
.login h1{font-family:var(--f-display);font-size:22px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;margin:0 0 6px}
.login button{width:100%;margin-top:14px;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.login .note{color:var(--ink-2);font-size:13px}
.login .note code{background:var(--card-3);padding:1px 4px}
@media (max-width:760px){.layout{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}nav.side{display:flex;flex-wrap:wrap;gap:4px}nav.side a{border-left:0;border-bottom:3px solid transparent}nav.side a.on{border-bottom-color:var(--accent)}}
table.clients td{min-width:110px}
table.clients .add{display:flex;gap:4px;margin-top:6px}
table.clients .add input{min-width:0}
tr.contacts-row > td{padding:0 0 8px 0;background:var(--card-2)}
tr.contacts-row details > summary{cursor:pointer;padding:6px 10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.contacts-body{padding:0 10px}
table.contacts input{min-width:0;width:100%}
table.contacts .kinds{display:flex;flex-wrap:wrap;gap:2px 10px;font-family:var(--f-mono);font-size:11px}
table.contacts .kinds label{white-space:nowrap}
table.clients label{margin:0 0 4px}
.chip{display:inline-block;padding:1px 6px;margin:0 2px 3px 0;border:1px solid var(--line);border-radius:2px;background:var(--card-2);font-size:13px}
.chip .x{padding:0 4px;border:0;background:none;color:var(--muted);line-height:1}
table.steps td [data-f=title]{min-width:200px}
table.steps td select{min-width:110px}
nav.side a[hidden]{display:none}
.why.confirm-here{margin-top:8px}
table.cov td{min-width:150px}
table.cov td.cov-scope{min-width:170px}
table.cov .cov-who{display:block;line-height:1.7}
table.cov .cov-x{padding:0 5px;margin-left:2px;border:0;background:none;color:var(--muted);font-size:15px;line-height:1}
table.cov .cov-x:hover{color:var(--bad)}
table.cov select.cov-add{display:block;margin-top:4px;font-size:12px;padding:2px 4px;color:var(--muted)}
.cov-steps h3{margin-top:0}
.cov-steps ol{margin:6px 0 0;padding-left:20px}
.cov-steps li{margin:4px 0}
.cov-new{margin-top:12px}
.cov-new>*{flex:0 1 220px}
.cov-scroll{overflow-x:auto}
table.pw td,table.pw th{white-space:nowrap}
table.pw td.pw-word{font-family:var(--f-mono);font-size:13px}
table.pw input[type=number]{width:80px}
table.pw tr.pw-ask td{background:var(--hold)}
.pw-scroll{overflow-x:auto}
.pw-panel h3{display:flex;align-items:center;gap:8px;margin-top:0}
.pw-panel .pw-add{margin-left:auto}
.pw-panel.pw-here{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.pw-alias{margin:4px 0 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pw-alias input{width:210px}
.pw-x{padding:0 4px;border:0;background:none;color:var(--muted)}
.pill.klass-emergency{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}
.pill.klass-urgent{background:var(--amber-soft);border-color:var(--amber-edge);color:var(--amber-line)}
/* the small x buttons are marks, not words */
.chip .x,table.cov .cov-x,.pw-x{font-family:var(--f-text);text-transform:none;letter-spacing:0;font-size:15px;font-weight:400}
table.cov select.cov-add{font-family:var(--f-text)}
