:root{
  --bg:#111316;--panel:#171a1f;--panel2:#1e2228;--line:#2b3038;--text:#f3f5f7;--muted:#9ba3ae;
  --accent:#efeeea;--accentText:#15171b;--green:#59bd7f;--greenBg:rgba(89,189,127,.13);--red:#f07373;--redBg:rgba(240,115,115,.13);--gray:#9ca5af;--grayBg:rgba(156,165,175,.12);--amber:#efbf68;--focus:#7f9cff;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{width:256px;position:fixed;left:0;top:0;bottom:0;border-right:1px solid var(--line);background:#14161a;padding:24px 14px;display:flex;flex-direction:column;z-index:5}.brand{font-size:21px;font-weight:760;letter-spacing:-.5px;padding:0 10px 30px}.brand span{color:#8f99a6}.side-nav{display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;border:0;border-radius:9px;background:transparent;color:#aeb6c0;text-align:left;padding:11px 12px;font:inherit;cursor:pointer;transition:.15s}.nav-item:hover{background:#20242a;color:#fff}.nav-item.active{background:#2a2f36;color:#fff}.reset-link{margin-top:auto;color:#bd9595}.reset-link:hover{background:var(--redBg);color:#ffabab}.main{margin-left:256px;min-height:100vh}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(17,19,22,.96);backdrop-filter:blur(12px);z-index:4}.topbar h1{font-size:21px;margin:0;letter-spacing:-.4px}.executor-box{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.executor-box input{width:238px}.content{padding:28px 34px 70px}.toolbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}.search-wrap{position:relative;flex:1;max-width:760px}.search-wrap input{width:100%;padding-right:35px}.clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;border:0;background:transparent;color:var(--muted);font-size:19px;cursor:pointer}.clear-search.show{display:block}input,select,textarea{background:#13161b;border:1px solid #343a43;color:var(--text);border-radius:8px;padding:10px 11px;font:inherit;outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(127,156,255,.12)}textarea{min-height:78px;resize:vertical}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:1000px}thead{background:#1a1e24}th{color:#aeb6c0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:650;padding:12px 13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px;border-bottom:1px solid rgba(43,48,56,.88);vertical-align:middle;color:#e8ebef}tbody tr{transition:.14s;cursor:pointer}tbody tr:hover{background:#1d2127}tbody tr.warning-row{background:rgba(240,115,115,.07)}tbody tr:last-child td{border-bottom:0}.check-cell{width:44px}.check-cell input{width:16px;height:16px;accent-color:#aab7ff;cursor:pointer}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:12px;white-space:nowrap}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.in-use{color:var(--green);background:var(--greenBg)}.status.stock{color:var(--gray);background:var(--grayBg)}.status.retired,.status.terminated{color:var(--red);background:var(--redBg)}.status.active{color:var(--green);background:var(--greenBg)}.badge-warn{font-size:11px;color:var(--red);margin-left:5px}.bulkbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#191d23;margin:-6px 0 12px}.bulkbar.hidden{display:none}.bulkbar strong{margin-right:auto;font-size:13px}.btn{border:1px solid #39404a;border-radius:8px;padding:9px 11px;background:#252a31;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap}.btn:hover{background:#303640}.btn.primary{background:var(--accent);color:var(--accentText);border-color:var(--accent)}.btn.primary:hover{background:#fff}.btn.danger{background:rgba(240,115,115,.12);border-color:rgba(240,115,115,.4);color:#ffadad}.btn.small{font-size:12px;padding:7px 9px}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(650px,100vw);background:#15181d;border-left:1px solid var(--line);z-index:20;transform:translateX(0);overflow-y:auto;box-shadow:-18px 0 46px rgba(0,0,0,.32)}.drawer.hidden{display:none}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.46);z-index:19}.drawer-backdrop.hidden{display:none}.drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:21px 22px 17px;background:#15181d;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:19px;letter-spacing:-.25px}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:27px;line-height:1;cursor:pointer;padding:2px 6px}.icon-btn:hover{color:#fff}.drawer-body{padding:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#aab2be}.field-note{font-size:11px;color:var(--muted);margin-top:1px}.section-title{font-size:12px;color:#aeb6c0;text-transform:uppercase;letter-spacing:.08em;margin:26px 0 11px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.divider{height:1px;background:var(--line);margin:23px 0}.history{display:flex;flex-direction:column;gap:10px}.history-item{border-left:2px solid #4e5765;padding:2px 0 2px 11px}.history-item b{font-size:13px}.history-meta{font-size:12px;color:var(--muted);margin-top:4px}.employee-mini{font-size:12px;color:var(--muted);margin:0 0 14px}.warning{border:1px solid rgba(240,115,115,.4);background:var(--redBg);color:#ffc1c1;border-radius:9px;padding:11px 12px;margin:13px 0}.inline-save{font-size:11px;color:var(--green);opacity:0;transition:.2s}.inline-save.show{opacity:1}.compact-table{min-width:0}.compact-table th,.compact-table td{padding:9px 8px;font-size:12px}.compact-wrap{max-height:330px}.modal-backdrop{position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.54);display:grid;place-items:center;padding:18px}.modal{width:min(470px,100%);background:#1a1e24;border:1px solid #3a414c;border-radius:14px;padding:20px;box-shadow:0 20px 55px rgba(0,0,0,.35)}.modal h3{margin:0 0 8px;font-size:18px}.modal p{color:#aeb6c0;line-height:1.5;margin:0 0 16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.toast-host{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;flex-direction:column;gap:8px}.toast{background:#222730;border:1px solid #3d4551;border-radius:9px;padding:10px 12px;color:#eff2f5;box-shadow:0 10px 28px rgba(0,0,0,.25)}.toast.error{border-color:rgba(240,115,115,.5);color:#ffc2c2}.empty{border:1px dashed #3a404a;border-radius:12px;padding:34px;color:var(--muted);text-align:center}.disabled{opacity:.5;pointer-events:none}.tooltip-wrap{position:relative;display:inline-block}.tooltip-wrap:hover .tooltip{display:block}.tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;width:260px;background:#2b3038;border:1px solid #444d5a;color:#dbe0e7;border-radius:7px;padding:8px;font-size:12px;z-index:4}.bitrix-note{font-size:12px;color:var(--muted);margin-left:auto}.mobile-nav{display:none}
@media(max-width:820px){.sidebar{display:none}.main{margin-left:0}.topbar{height:auto;min-height:76px;padding:14px 16px;align-items:flex-start;gap:10px}.topbar h1{font-size:18px;padding-top:7px}.executor-box{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:150px}.executor-box input{width:150px;padding:8px 9px;font-size:12px}.content{padding:18px 14px 78px}.toolbar{gap:8px}.table-wrap{border-radius:10px}table{min-width:900px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:12;background:#171a1f;border-top:1px solid var(--line);height:58px}.mobile-nav-item{border:0;background:transparent;color:#aab2be;font-size:11px}.mobile-nav-item.active{color:#fff;background:#232831}.drawer{width:100vw;border-left:0}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.bulkbar{overflow:auto}.bitrix-note{display:none}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:#111316}.login-card,.install-card{width:min(430px,100%);background:#171a1f;border:1px solid #2b3038;border-radius:16px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.35)}.install-card{width:min(720px,100%)}.login-card .brand,.install-card .brand{padding:0 0 20px}.login-card h1,.install-card h1{font-size:21px;margin:0 0 22px}.login-card form,.install-card form{display:flex;flex-direction:column;gap:14px}.login-submit{margin-top:6px;width:100%;justify-content:center}.login-error{border:1px solid rgba(240,115,115,.45);background:rgba(240,115,115,.1);color:#ffc1c1;border-radius:8px;padding:10px 11px}.install-card .muted{line-height:1.5;margin-top:-10px;margin-bottom:20px}.install-card code{font-family:ui-monospace,monospace;color:#d5dbe4}
\n\n/* Комментарии в списках: показываются только у строк, где они заполнены */
.comment-hover-tooltip{
  position:fixed;
  z-index:90;
  display:none;
  max-width:min(390px,calc(100vw - 28px));
  padding:10px 12px;
  border:1px solid #4a5564;
  border-radius:9px;
  background:#2b3038;
  color:#eef2f5;
  box-shadow:0 14px 34px rgba(0,0,0,.34);
  font-size:12px;
  line-height:1.45;
  white-space:pre-wrap;
  pointer-events:none;
}
.comment-hover-tooltip.show{display:block}
@media(max-width:820px){.comment-hover-tooltip{display:none!important}}

/* Служебное скрытие полей карточки */
.hidden{display:none!important}


/* Поиск сотрудника в окне выдачи/перемещения */
.employee-picker{position:relative}
.employee-picker-results{display:none;max-height:286px;overflow:auto;margin-top:6px;border:1px solid #414957;border-radius:8px;background:#171b21;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.employee-picker-results.show{display:block}
.employee-picker-option{display:flex;width:100%;flex-direction:column;gap:3px;padding:10px 11px;background:transparent;border:0;border-bottom:1px solid rgba(65,73,87,.7);color:#eef2f5;text-align:left;font:inherit;cursor:pointer}
.employee-picker-option:last-child{border-bottom:0}
.employee-picker-option:hover{background:#272d36}.employee-picker-option.selected{background:#313a46;box-shadow:inset 3px 0 0 #8fa1bc}
.employee-picker-option small{color:#aeb6c0;font-size:11px}
.employee-picker-list-label{margin-top:10px;color:#aeb6c0;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.employee-picker-empty{padding:10px 11px;color:#aeb6c0;font-size:12px}
.employee-picker-hint{margin-top:6px;color:#8f98a6;font-size:11px;line-height:1.4}


/* QR-код оборудования */
.qr-card{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.qr-preview{width:min(304px,82vw);aspect-ratio:1;background:#fff;border-radius:10px;padding:12px;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.qr-preview svg{display:block;width:100%;height:100%}
.qr-item-name{font-weight:700;font-size:17px;line-height:1.3;color:#f2f4f6}
.qr-item-meta{font-size:13px;line-height:1.45;color:var(--muted)}
.qr-link{width:100%;max-height:54px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#13161b;padding:8px;color:#aeb6c0;font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.35;text-align:left;word-break:break-all}
.qr-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:3px}
