/* CRM · Водополис — оболочка кабинетов. Цвета и шрифты — как в кабинете ТРП. */
:root{
  --bg:#f4f7fc; --surface:#ffffff; --surface-2:#f8fafd; --surface-3:#eef3fa;
  --ink:#0e1726; --ink-2:#465467; --muted:#7c889b; --line:#e0e7f1; --line-2:#edf1f7;
  --accent:#2f79f2; --accent-strong:#1c5ed1; --accent-ink:#ffffff; --accent-soft:#e9f2ff; --accent-soft-2:#cfe1fd;
  --good:#0ca30c; --good-ink:#0a6b0a; --good-soft:#e6f5e6; --warn:#fab219; --warn-ink:#8a5a00; --warn-soft:#fdf3dc;
  --crit:#d03b3b; --crit-ink:#b02c2c; --crit-soft:#fce9e9;
  --shadow:0 1px 2px rgba(14,23,38,.04),0 4px 18px rgba(14,23,38,.05); --shadow-lg:0 12px 40px rgba(14,23,38,.14);
  --scrim:rgba(14,23,38,.28); --r:16px;
  --f-ui:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-disp:"Unbounded","Golos Text",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0a0f18; --surface:#111826; --surface-2:#151d2c; --surface-3:#1a2436;
    --ink:#e7eef8; --ink-2:#b2bfd0; --muted:#8592a6; --line:#233049; --line-2:#1b2538;
    --accent:#63a4ff; --accent-strong:#9cc5ff; --accent-ink:#06142b; --accent-soft:#152a4a; --accent-soft-2:#1d3960;
    --good-ink:#4ccb4c; --good-soft:#132a17; --warn-ink:#f5c04a; --warn-soft:#2d2511; --crit-ink:#f08080; --crit-soft:#321a1a;
    --shadow:0 1px 2px rgba(0,0,0,.35),0 4px 18px rgba(0,0,0,.25); --shadow-lg:0 12px 40px rgba(0,0,0,.5); --scrim:rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a0f18; --surface:#111826; --surface-2:#151d2c; --surface-3:#1a2436;
  --ink:#e7eef8; --ink-2:#b2bfd0; --muted:#8592a6; --line:#233049; --line-2:#1b2538;
  --accent:#63a4ff; --accent-strong:#9cc5ff; --accent-ink:#06142b; --accent-soft:#152a4a; --accent-soft-2:#1d3960;
  --good-ink:#4ccb4c; --good-soft:#132a17; --warn-ink:#f5c04a; --warn-soft:#2d2511; --crit-ink:#f08080; --crit-soft:#321a1a;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 4px 18px rgba(0,0,0,.25); --shadow-lg:0 12px 40px rgba(0,0,0,.5); --scrim:rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--f-ui);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}

/* шапка */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line-2)}
.top-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}
.bdrop{height:36px;width:auto;display:block}
.bword{display:block;height:28px;aspect-ratio:518/119;background:var(--ink);-webkit-mask:url(/img/word.png) center/contain no-repeat;mask:url(/img/word.png) center/contain no-repeat}
.bsep{width:1px;height:28px;background:var(--line)}
.bname{font-family:var(--f-disp);font-weight:500;font-size:15px;white-space:nowrap}
.bname span{color:var(--accent)}
.spacer{flex:1}
.who{display:flex;align-items:center;gap:8px;position:relative}
.ava{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;font-weight:600;font-size:13px;border:0;cursor:pointer}
.menu{position:absolute;right:0;top:44px;min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:40}
.menu .mh{padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}
.menu .mh b{display:block}.menu .mh span{color:var(--muted);font-size:12.5px}
.menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:9px;cursor:pointer}
.menu button:hover{background:var(--surface-3)}
.menu button.danger{color:var(--crit-ink)}

main{max-width:1200px;margin:0 auto;padding:28px 24px 64px;display:flex;flex-direction:column;gap:18px}
.page-head h1{font-family:var(--f-disp);font-weight:500;font-size:22px;margin:0;letter-spacing:-.02em}
.page-head p{margin:6px 0 0;color:var(--muted);max-width:80ch}
.panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}

/* кнопки и поля */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 14px;cursor:pointer;font-weight:500;white-space:nowrap;text-decoration:none;color:var(--ink)}
.btn:hover{background:var(--surface-3)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.pri:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn.sm{padding:4px 10px;font-size:12.5px;border-radius:8px}
.btn.danger{color:var(--crit-ink)}
.btn:disabled{opacity:.55;cursor:default}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12.5px;color:var(--muted);font-weight:500}
.inp,.sel{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px;min-width:0;width:100%}
.inp:focus,.sel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.err{background:var(--crit-soft);color:var(--crit-ink);border-radius:10px;padding:9px 12px;font-size:13px}
.ok{background:var(--good-soft);color:var(--good-ink);border-radius:10px;padding:9px 12px;font-size:13px}
.hint{color:var(--muted);font-size:12.5px}

/* вход */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.auth-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow-lg);padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.auth-card h1{font-family:var(--f-disp);font-weight:500;font-size:19px;margin:0}
.auth-card .btn.pri{width:100%;padding:11px}

/* главная: плитки */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);text-decoration:none;color:inherit;min-height:150px;transition:border-color .15s,transform .15s}
a.tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.tile .ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center}
.tile b{font-size:16px}
.tile span{color:var(--muted);font-size:13px}
.tile.soon{opacity:.6}
.tile .badge{position:absolute;top:14px;right:14px;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--surface-3);color:var(--muted)}

/* таблица сотрудников */
.tw{overflow:auto;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{padding:9px 12px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:middle}
thead th{background:var(--surface-2);font-weight:500;font-size:12px;color:var(--muted)}
tr:last-child td{border-bottom:0}
.pill{display:inline-block;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:600}
.pill.good{background:var(--good-soft);color:var(--good-ink)}.pill.off{background:var(--surface-3);color:var(--muted)}.pill.warn{background:var(--warn-soft);color:var(--warn-ink)}
.row-acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}
.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;background:var(--surface-3);border-radius:10px;padding:10px 12px;letter-spacing:.04em;user-select:all}

/* окно */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:50}
.dlg{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:22px;display:flex;flex-direction:column;gap:14px}
.dlg h2{margin:0;font-size:17px}
.dlg-b{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.log{display:flex;flex-direction:column;font-size:13px}
.log div{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-2)}
.log div span:first-child{color:var(--muted)}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;z-index:90;font-size:13.5px;box-shadow:var(--shadow-lg);max-width:calc(100% - 32px)}
.empty{padding:36px 16px;text-align:center;color:var(--muted)}
.loading{padding:60px 16px;text-align:center;color:var(--muted)}

@media (max-width:640px){
  .top-in,main{padding-left:16px;padding-right:16px}
  .bsep,.bname{display:none}
  .bdrop{height:30px}.bword{height:22px}
  table.rt thead{display:none}
  table.rt,table.rt tbody,table.rt tr,table.rt td{display:block;width:100%}
  table.rt tr{padding:10px 12px;border-bottom:1px solid var(--line)}
  table.rt td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px}
  table.rt td::before{content:attr(data-l);color:var(--muted);font-size:12.5px}
  table.rt td.nol::before{display:none}
  .row-acts{justify-content:flex-start}
}
