/* Пульт управления полётами в HR — тема «приборная панель / mission control».
   Серифные заголовки + системный гротеск. Тёплый янтарь, тёмная панель, статус-LED. */

:root {
  --bg:      #14171c;   /* корпус приборной панели */
  --panel:   #1b1f26;   /* плитка */
  --panel-2: #232833;
  --line:    #2c323d;
  --ink:     #e7e3d8;   /* тёплый белый текст */
  --ink-dim: #9aa0ab;
  --amber:   #e0a642;   /* индикаторный янтарь */
  --amber-d: #b9832b;
  --green:   #4caf6a;
  --red:     #d05b52;
  --grey:    #545a66;
  --serif: "Georgia", "Iowan Old Style", "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --glow: rgba(224,166,66,.5);
  --page-glow: #1d222b;
  --tile-edge: rgba(224,166,66,.30);  /* лёгкая обводка блоков (как hover, но мягче) */
}

/* Светлая тема — «дневная приборная»: тёплая бумага, тот же янтарь-акцент */
:root[data-theme="light"] {
  --bg:      #f4f1ea;
  --panel:   #fffdf8;
  --panel-2: #efe9dd;
  --line:    #ddd5c6;
  --ink:     #2a2620;
  --ink-dim: #6b6459;
  --amber:   #b9822a;
  --amber-d: #9c6a1c;
  --green:   #3f8f5b;
  --red:     #c0554c;
  --grey:    #9a9284;
  --glow: rgba(185,130,42,.25);
  --page-glow: #ece5d6;
  --tile-edge: rgba(185,130,42,.38);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background:
    radial-gradient(1200px 600px at 80% -10%, var(--page-glow) 0%, transparent 60%),
    var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.5;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
code { font-family: ui-monospace, "SF Mono", Consolas, monospace; background: var(--panel-2);
  padding: 1px 6px; border-radius: 4px; font-size: .85em; color: var(--amber); }

/* ---------- Логин ---------- */
.login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card {
  position: relative;
  width: 100%; max-width: 400px;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 14px; padding: 34px 30px;
  box-shadow: 0 24px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.03);
}
.brand { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.brand-mark { font-size: 30px; color: var(--amber); text-shadow: 0 0 18px var(--glow); }
.brand-mark.sm { font-size: 18px; }
.login-card h1 { font-family: var(--serif); font-weight: 600; font-size: 21px; line-height: 1.15; margin: 0; letter-spacing: .2px; }
.sub { margin: 4px 0 0; color: var(--ink-dim); font-size: 13px; }
.form { display: grid; gap: 14px; margin-top: 6px; }
.form label { display: grid; gap: 6px; font-size: 12px; color: var(--ink-dim); text-transform: uppercase; letter-spacing: .08em; }
.form input {
  background: var(--bg); border: 1px solid var(--line); color: var(--ink);
  border-radius: 8px; padding: 11px 12px; font-size: 15px; font-family: var(--sans);
}
.form input:focus { outline: none; border-color: var(--amber-d); box-shadow: 0 0 0 3px rgba(224,166,66,.15); }
.form button {
  margin-top: 6px; padding: 12px; border: 0; border-radius: 8px; cursor: pointer;
  background: linear-gradient(180deg, var(--amber), var(--amber-d)); color: #1a1206;
  font-weight: 650; font-size: 15px; letter-spacing: .2px;
}
.form button:hover { filter: brightness(1.06); }
.err { background: rgba(208,91,82,.14); border: 1px solid rgba(208,91,82,.4); color: #f0b3ad;
  padding: 9px 12px; border-radius: 8px; font-size: 13px; margin-bottom: 14px; }
.hint { margin: 18px 0 0; font-size: 12px; color: var(--grey); line-height: 1.7; }

/* ---------- Топбар ---------- */
.topbar { border-bottom: 1px solid var(--line); background: rgba(20,23,28,.85); backdrop-filter: blur(6px);
  position: sticky; top: 0; z-index: 5; }
.topbar-in { max-width: 1120px; margin: 0 auto; padding: 14px 24px; display: flex; justify-content: space-between; align-items: center; }
.brand-row { display: flex; align-items: center; gap: 10px; }
.brand-mark.sm { color: var(--amber); }
.brand-name { font-family: var(--serif); font-size: 16px; letter-spacing: .2px; }
.who { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.who-name { color: var(--ink-dim); }
.chip { padding: 3px 10px; border-radius: 20px; font-size: 12px; border: 1px solid var(--line); }
.role-hr { color: var(--amber); border-color: var(--amber-d); }
.role-director { color: #7fb3e0; border-color: #35526e; }
.role-employee { color: var(--green); border-color: #2f5b3f; }
.logout { color: var(--ink-dim); font-size: 13px; }
.logout:hover { color: var(--ink); }
.theme-btn { background: var(--panel-2); border: 1px solid var(--line); color: var(--amber);
  width: 30px; height: 30px; border-radius: 8px; cursor: pointer; font-size: 15px; line-height: 1;
  display: grid; place-items: center; transition: border-color .15s, background .15s; }
.theme-btn:hover { border-color: var(--amber-d); }
.login-theme { position: absolute; top: 16px; right: 16px; }

/* ---------- Дек ---------- */
.deck { max-width: 1120px; margin: 0 auto; padding: 30px 24px 60px; }
.deck-head h2 { font-family: var(--serif); font-weight: 600; font-size: 26px; margin: 0 0 4px; }
.deck-sub { color: var(--ink-dim); margin: 0 0 24px; font-size: 14px; }

.group { margin-bottom: 30px; }
.group-title { font-family: var(--serif); font-size: 14px; text-transform: uppercase; letter-spacing: .14em;
  color: var(--amber); margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-weight: 600; }

.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.tile {
  position: relative; display: flex; gap: 14px; align-items: flex-start;
  background: var(--panel); border: 1px solid var(--tile-edge); border-radius: 12px;
  padding: 16px 16px 14px 18px; transition: border-color .15s, transform .12s, background .15s, box-shadow .15s;
}
.tile:hover { border-color: var(--amber-d); transform: translateY(-2px); background: var(--panel-2);
  box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.tile-icon { font-size: 20px; color: var(--amber); margin-top: 1px; opacity: .9; }
.tile-body { display: grid; gap: 4px; flex: 1; }
.tile-title { font-family: var(--serif); font-size: 16px; line-height: 1.25; }
.tile-desc { font-size: 13px; color: var(--ink-dim); line-height: 1.45; }
.tile-tags { position: absolute; right: 14px; bottom: 12px; display: flex; gap: 6px; }
.tag { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; padding: 2px 7px;
  border-radius: 5px; border: 1px solid var(--line); color: var(--grey); }
.tag.sso { color: var(--amber); border-color: var(--amber-d); }

/* цветовой кант по владельцу данных */
.tile.org-amalgama { box-shadow: inset 3px 0 0 #4a6b8a; }
.tile.org-demo { box-shadow: inset 3px 0 0 var(--grey); }

/* статус-LED */
.led { position: absolute; left: 8px; top: 18px; width: 8px; height: 8px; border-radius: 50%;
  background: var(--grey); box-shadow: 0 0 0 3px rgba(84,90,102,.18); }
.led-on { background: var(--green); box-shadow: 0 0 8px var(--green), 0 0 0 3px rgba(76,175,106,.2); }
.led-off { background: var(--red); box-shadow: 0 0 8px var(--red), 0 0 0 3px rgba(208,91,82,.2); }
.led-unknown { background: var(--grey); }

.stub-card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
  padding: 22px; color: var(--ink-dim); line-height: 1.7; }

.foot { max-width: 1120px; margin: 0 auto; padding: 20px 24px 40px; display: flex;
  justify-content: space-between; color: var(--grey); font-size: 12px; border-top: 1px solid var(--line); }

@media (max-width: 620px) {
  .tiles { grid-template-columns: 1fr; }
  .brand-name { display: none; }
  .foot { flex-direction: column; gap: 6px; }
}

/* ============ Кнопки (глобально) ============ */
.btn-amber{padding:10px 16px;border:0;border-radius:8px;cursor:pointer;
  background:linear-gradient(180deg,var(--amber),var(--amber-d));color:#1a1206;font-weight:650;font-size:14px}
.btn-amber:hover{filter:brightness(1.06)}
.btn-ghost{padding:10px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;
  background:var(--panel-2);color:var(--ink);font-size:14px;display:inline-flex;align-items:center;text-decoration:none}
.btn-ghost:hover{border-color:var(--amber-d)}
.btn-danger{padding:9px 14px;border:1px solid var(--red);border-radius:8px;cursor:pointer;
  background:transparent;color:var(--red);font-size:13px}
.btn-danger:hover{background:rgba(208,91,82,.12)}

/* ============ Люди: список ============ */
.stat-row{display:flex;gap:8px;flex-wrap:wrap}
.stat-pill{background:var(--panel);border:1px solid var(--tile-edge);border-radius:10px;padding:7px 12px;font-size:13px;color:var(--ink-dim)}
.stat-pill b{color:var(--ink);font-size:16px;font-family:var(--serif);margin-right:4px}
.stat-pill.int b{color:var(--green)} .stat-pill.ext b{color:var(--amber)}

.searchbar{display:flex;gap:10px;margin:18px 0 14px;flex-wrap:wrap}
.searchbar input[name=q]{flex:1;min-width:240px;background:var(--bg);border:1px solid var(--line);
  color:var(--ink);border-radius:9px;padding:11px 14px;font-size:15px;font-family:var(--sans)}
.searchbar input:focus,.searchbar select:focus{outline:none;border-color:var(--amber-d)}
.searchbar select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:0 10px;font-size:14px}

.tagbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.tagchip{font-size:12px;padding:4px 10px;border-radius:20px;border:1px solid var(--line);color:var(--ink-dim);text-decoration:none}
.tagchip span{color:var(--grey)} .tagchip:hover{border-color:var(--amber-d)}
.tagchip.on{border-color:var(--amber-d);color:var(--amber)}

.addbox{margin-bottom:20px;background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:6px 16px}
.addbox summary{cursor:pointer;padding:10px 0;font-weight:600;color:var(--amber)}
.addform{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:8px 0 16px}
.addform input,.addform select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--sans)}
.addform button{grid-column:1/-1;justify-self:start}

.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pcard{position:relative;display:block;background:var(--panel);border:1px solid var(--tile-edge);
  border-radius:12px;padding:16px;transition:border-color .15s,transform .12s,box-shadow .15s;text-decoration:none;color:inherit}
.pcard:hover{border-color:var(--amber-d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.18)}
.pcard-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.pavatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(180deg,var(--amber),var(--amber-d));
  color:#1a1206;display:grid;place-items:center;font-family:var(--serif);font-size:19px;font-weight:700;flex:none}
.pavatar.big{width:56px;height:56px;font-size:26px;border-radius:14px}
.pcard-id{display:flex;flex-direction:column;min-width:0}
.pname{font-family:var(--serif);font-size:16px;line-height:1.2}
.phead{font-size:13px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmeta{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-dim)}
.pmeta .src{color:var(--grey)} .pmeta .res{color:var(--amber)}
.ptags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ptags span{font-size:11px;padding:2px 8px;border-radius:5px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-dim)}
.poolbadge{position:absolute;top:14px;right:14px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;
  padding:3px 8px;border-radius:6px;border:1px solid}
.poolbadge.pool-internal{color:var(--green);border-color:#2f5b3f;background:rgba(76,175,106,.1)}
.poolbadge.pool-external{color:var(--amber);border-color:var(--amber-d);background:rgba(224,166,66,.1)}
.pcard.pool-internal{box-shadow:inset 3px 0 0 var(--green)}
.pcard.pool-external{box-shadow:inset 3px 0 0 var(--amber)}
.empty{text-align:center;color:var(--ink-dim);padding:40px 20px;background:var(--panel);border:1px dashed var(--line);border-radius:12px}
.empty.small{padding:20px}

/* ============ Люди: карточка ============ */
.person-head{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.person-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:860px){.person-grid{grid-template-columns:1fr}}
.pform{display:flex;flex-direction:column;gap:12px}
.pform label,.upl{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em}
.pform .p2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pform input,.pform select,.pform textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);
  border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--sans);text-transform:none;letter-spacing:0}
.pform input:focus,.pform select:focus,.pform textarea:focus{outline:none;border-color:var(--amber-d)}
.pform input[readonly],.pform textarea[readonly]{opacity:.7}
.upl{flex-direction:row;align-items:center;gap:10px;margin-bottom:14px;text-transform:none}
.rcard{background:var(--panel);border:1px solid var(--tile-edge);border-radius:10px;padding:13px 14px;margin-bottom:10px}
.rhead{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}
.rname{font-weight:600;font-size:14px}
.ract{font-size:13px} .ract a{color:var(--amber);text-decoration:none} .ract a:hover{text-decoration:underline}
.rmeta{font-size:12px;color:var(--grey);margin-top:4px} .rmeta .dim{color:var(--red)}
.rtext{display:none;margin-top:10px;max-height:340px;overflow:auto;background:var(--bg);border:1px solid var(--line);
  border-radius:8px;padding:12px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;color:var(--ink-dim)}
.rtext.show{display:block}

/* ============ Кадровый резерв ============ */
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{padding:9px 16px;border:1px solid var(--line);border-radius:9px;color:var(--ink-dim);
  text-decoration:none;font-size:14px;font-weight:600}
.tab span{display:inline-block;margin-left:6px;font-size:12px;color:var(--grey)}
.tab:hover{border-color:var(--amber-d);color:var(--ink)}
.tab.on{border-color:var(--amber-d);color:var(--amber);background:rgba(224,166,66,.08)}
.addres{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.addres select{flex:1;min-width:260px;background:var(--bg);border:1px solid var(--line);color:var(--ink);
  border-radius:9px;padding:11px 12px;font-size:14px;font-family:var(--sans)}
.addres select:focus{outline:none;border-color:var(--amber-d)}

.ninebox-wrap{display:grid;grid-template-columns:24px 1fr;grid-template-rows:1fr 24px;gap:8px;margin-bottom:24px}
.axis-y{grid-row:1;grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;
  color:var(--ink-dim);font-size:12px;text-transform:uppercase;letter-spacing:.1em;align-self:center}
.axis-x{grid-row:2;grid-column:2;text-align:center;color:var(--ink-dim);font-size:12px;
  text-transform:uppercase;letter-spacing:.1em}
.ninebox{grid-row:1;grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(150px,auto));gap:10px}
.nbcell{border:1px solid var(--tile-edge);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}
.nbhead{font-size:12px;font-weight:700;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em}
.nb-p3{background:linear-gradient(180deg,rgba(76,175,106,.10),transparent)}
.nb-p2{background:linear-gradient(180deg,rgba(224,166,66,.07),transparent)}
.nb-p1{background:linear-gradient(180deg,rgba(208,91,82,.07),transparent)}
.nbdrop{display:flex;flex-direction:column;gap:8px;flex:1;min-height:40px;border-radius:8px;padding:2px;transition:background .12s}
.nbdrop.over{background:rgba(224,166,66,.14);outline:1px dashed var(--amber-d)}
.bench{margin-bottom:20px}
.bench-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin-bottom:8px}
.bench-drop{flex-direction:row;flex-wrap:wrap;background:var(--panel);border:1px dashed var(--line);border-radius:12px;padding:12px;min-height:56px}

.funnel{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:820px){.funnel{grid-template-columns:1fr 1fr}}
.fcol{background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.fhead{font-size:13px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between}
.fhead span{color:var(--amber)}
.fdrop{min-height:120px}

.rescard{display:flex;gap:10px;align-items:center;background:var(--panel-2);border:1px solid var(--line);
  border-radius:9px;padding:9px 10px;cursor:grab}
.rescard:active{cursor:grabbing}
.rescard[draggable=true]:hover{border-color:var(--amber-d)}
.pavatar.sm{width:30px;height:30px;font-size:14px;border-radius:8px}
.rc-id{display:flex;flex-direction:column;min-width:0}
.rc-name{font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none}
.rc-name:hover{color:var(--amber)}
.rc-head{font-size:12px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-target{font-size:11.5px;color:var(--amber)}
.dim{color:var(--grey);font-size:12px}

/* ============ Конструктор процессов ============ */
.procmeta{margin-bottom:24px;background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:18px}
.proc-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
@media(max-width:900px){.proc-grid{grid-template-columns:1fr}}
.pform .p3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:560px){.pform .p3{grid-template-columns:1fr}}

.stage{background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:14px 16px;
  margin-bottom:14px;display:flex;flex-direction:column;gap:11px}
.stage-head{display:flex;align-items:center;gap:10px}
.stage-num{width:26px;height:26px;border-radius:8px;background:linear-gradient(180deg,var(--amber),var(--amber-d));
  color:#1a1206;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:14px;flex:none}
.stage-title{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;
  padding:9px 11px;font-size:15px;font-weight:600;font-family:var(--sans)}
.stage-title:focus{outline:none;border-color:var(--amber-d)}
.stage-btns{display:flex;gap:4px}
.stage-btns button{width:30px;height:30px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-dim);
  border-radius:7px;cursor:pointer;font-size:13px}
.stage-btns button:hover{border-color:var(--amber-d);color:var(--ink)}
.stage-btns .del:hover{border-color:var(--red);color:var(--red)}
.btn-amber.small{align-self:flex-start;padding:8px 14px;font-size:13px}
.addstage{width:100%;justify-content:center;border-style:dashed}

/* блок-схема */
.flow{display:flex;flex-direction:column;align-items:stretch;gap:0}
.flow-node{display:flex;gap:12px;background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:13px 15px}
.fn-num{width:26px;height:26px;border-radius:50%;border:2px solid var(--amber);color:var(--amber);
  display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.fn-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.fn-title{font-weight:600;font-size:14px}
.fn-role{font-size:12px;color:var(--amber);background:rgba(224,166,66,.1);border:1px solid var(--amber-d);
  border-radius:5px;padding:1px 8px;align-self:flex-start}
.fn-timer{font-size:11.5px;color:var(--ink-dim)}
.fn-branch{font-size:12px;color:var(--ink-dim);border-left:2px solid var(--amber-d);padding-left:8px;margin-top:2px}
.flow-arrow{text-align:center;color:var(--amber-d);font-size:18px;line-height:1;padding:4px 0}

.export-card{background:var(--panel);border:1px solid var(--tile-edge);border-radius:12px;padding:16px}
.ex-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ex-hint{font-size:12.5px;color:var(--ink-dim);margin:10px 0 8px}
.mermaid-code{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink-dim);border-radius:8px;
  padding:11px;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.5;resize:vertical}

/* ============================================================
   HI-TECH OVERLAY — HUD/консоль: моно-микротипографика, острые
   углы, тонкие линии, сетка-подложка. Переопределяет предыдущее.
   ============================================================ */
:root{ --mono: ui-monospace,"JetBrains Mono","SF Mono","Cascadia Code",Consolas,monospace; --r-sharp:5px; }

/* тонкая техническая сетка на подложке */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 80% 0,#000,transparent 70%);
          mask-image:radial-gradient(circle at 80% 0,#000,transparent 70%)}
.topbar,.deck,.foot,.login-wrap{position:relative;z-index:1}

/* острые углы вместо «капсульной» скруглённости */
.tile,.pcard,.card,.stage,.nbcell,.fcol,.rcard,.export-card,.stat-pill,.addbox,.stub-card,
.login-card,.procmeta,.flow-node,.empty,.mermaid-code,.searchbar input,.pform input,.pform select,
.pform textarea,.form input,.btn-amber,.btn-ghost,.btn-danger,.theme-btn,.chip,.tab{border-radius:var(--r-sharp)!important}
.pavatar,.stage-num{border-radius:4px!important}

/* моноширинная микротипографика — «телеметрия» */
.group-title,.tag,.who-name,.chip,.stat-pill,.tile-tags,.pmeta,.fn-role,.fn-timer,.rmeta,
.deck-sub,.hint,.eyebrow,.counts,.ex-hint,.bench-title,.tab span,.phead,.src,.hint-drag,
.poolbadge,.tagchip,.fhead span,.foot{font-family:var(--mono)}

/* заголовки секций как «команда терминала» */
.group-title{font-size:11px!important;letter-spacing:.22em;color:var(--ink-dim);border-bottom-style:dashed}
.group-title::before{content:"▚ ";color:var(--amber)}
.group-title.muted{color:var(--grey)}
.group-title.muted::before{color:var(--grey)}

/* верхняя сигнальная кромка плиток (как индикатор на приборе) */
.tile{overflow:hidden}
.tile::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--amber),transparent 60%);opacity:.35;transition:opacity .15s}
.tile:hover::after{opacity:1}

.deck-head h2,.person-head h2{letter-spacing:-.01em}
.deck-sub{font-size:12.5px;text-transform:none}
.hint-drag{color:var(--grey);margin-left:6px}

/* закрытие/возврат плиток + drag */
.tile-close{position:absolute;top:8px;right:8px;width:22px;height:22px;border:1px solid var(--line);
  background:var(--bg);color:var(--ink-dim);border-radius:4px!important;cursor:pointer;font-size:14px;
  line-height:1;opacity:0;transition:opacity .12s,border-color .12s;z-index:3}
.tile:hover .tile-close{opacity:1}
.tile-close:hover{border-color:var(--red);color:var(--red)}
.tile.dragging{opacity:.4;outline:1px dashed var(--amber-d)}
.tile[draggable=true]{cursor:grab}
.closed-group .tile.closed{opacity:.6;flex-direction:row;align-items:center}
.tile-restore{margin-left:auto;background:var(--panel-2);border:1px solid var(--line);color:var(--amber);
  font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:4px;cursor:pointer}
.tile-restore:hover{border-color:var(--amber-d)}

/* индикатор-LED прямоугольный, «приборный» */
.led{border-radius:2px!important;width:7px;height:9px}

/* кнопки — плоские, тех-моно */
.btn-amber,.form button{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:12.5px!important}
.tag{text-transform:uppercase}
