/* =========================================================
   Elmax 1C Price Portal — Enterprise UI (RU)
   Цель: быстрый рабочий портал, строгий дизайн, без эмодзи/шуточек.
   Изоляция от стилей сайта: всё внутри .portal.
   ========================================================= */

:root{
  --bg:#ffffff;
  --text:#0b1220;
  --muted:#5b677a;
  --line:#e6e9ef;
  --soft:#f6f7fb;
  --soft2:#fbfcff;

  --orange:#ff7a00;
  --orange-d:#e56d00;
  --black:#0b1220;

  --ok:#0f9d58;
  --warn:#f4b400;
  --bad:#db4437;

  --radius:14px;
  --shadow:0 10px 28px rgba(11,18,32,.10);
}

html,body{height:100%}
body{
  margin:0;
  background:var(--soft);
  color:var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
}

/* HARD ISOLATION */
.portal, .portal *{
  box-sizing:border-box !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif !important;
}
.portal{color:var(--text) !important}
.portal a{color:inherit !important;text-decoration:none !important}
.portal a:visited{color:inherit !important}
.portal input[type="checkbox"]{accent-color:var(--orange)}
.portal .mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;}
.portal .muted{color:var(--muted)}
.portal .small{font-size:12px;color:var(--muted)}

/* Topbar */
.portal .topbar{
  position:sticky; top:0; z-index:100;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.portal .topbar-inner{
  max-width: 1920px;
  margin:0 auto;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.portal .brand{display:flex;align-items:center;gap:10px}
.portal .mark{
  width:36px;height:36px;border-radius:12px;
  background:linear-gradient(180deg,var(--orange),#ffb06b);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px rgba(255,122,0,.25);
}
.portal .brand h1{font-size:14px;margin:0;font-weight:900;letter-spacing:.2px}
.portal .brand .sub{font-size:12px;color:var(--muted)}
.portal .nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.portal .nav a{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-weight:800;
  font-size:12px;
}
.portal .nav a.active{
  border-color:rgba(255,122,0,.35);
  background:rgba(255,122,0,.10);
}
.portal .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  font-weight:800;
  font-size:12px;
}
.portal .btn:hover{border-color:#d5dae3}
.portal .btn.primary{
  background:var(--orange);
  border-color:rgba(11,18,32,.12);
}
.portal .btn.primary:hover{background:var(--orange-d)}
.portal .btn.dark{
  background:var(--black);
  border-color:var(--black);
  color:#fff;
}
.portal .btn.dark:hover{opacity:.92}
.portal .btn.ghost{
  background:var(--soft2);
}
.portal .input,.portal .select{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  outline:none;
  font-size:13px;
}
.portal .input:focus,.portal .select:focus{
  border-color:rgba(255,122,0,.55);
  box-shadow:0 0 0 4px rgba(255,122,0,.12);
}

/* Page */
.portal .page{
  max-width:1920px;
  margin:12px auto;
  padding:0 12px 24px;
}

/* Filter bar */
.portal .filters{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:12px;
}
.portal .filters .row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
}
.portal .filters .left, .portal .filters .right{
  display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;
}
.portal .label{font-size:12px;color:var(--muted);margin:0 0 6px 2px}

/* Stats */
.portal .stats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
@media (max-width:1000px){
  .portal .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.portal .stat{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:10px 12px;
}
.portal .stat .k{font-size:12px;color:var(--muted)}
.portal .stat .v{font-size:18px;font-weight:900;margin-top:4px}

/* Table */
.portal .table-wrap{
  margin-top:12px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:auto;
}
.portal table{width:100%;border-collapse:separate;border-spacing:0;min-width:1500px}
.portal th, .portal td{
  padding:10px 10px;
  border-bottom:1px solid var(--line);
  font-size:13px;
  vertical-align:middle;
  white-space:nowrap;
}
.portal thead th{
  position:sticky; top:0; z-index:10;
  background:#fff;
  font-size:12px;
  color:var(--muted);
  text-transform:none;
}
.portal tbody tr:nth-child(even) td{background:rgba(246,247,251,.65)}
.portal tbody tr:hover td{background:rgba(255,122,0,.06)}
.portal td.wrap{white-space:normal;min-width:380px}
.portal td.dept{white-space:normal;min-width:240px}
.portal .thumb{
  width:40px;height:40px;border-radius:12px;
  border:1px solid var(--line);
  background:var(--soft);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.portal .thumb img{width:100%;height:100%;object-fit:cover}
.portal .chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:12px;
  color:var(--muted);
}
.portal .chip.ok{border-color:rgba(15,157,88,.25);background:rgba(15,157,88,.08);color:var(--ok)}
.portal .chip.warn{border-color:rgba(244,180,0,.30);background:rgba(244,180,0,.12);color:#7a5600}
.portal .chip.bad{border-color:rgba(219,68,55,.25);background:rgba(219,68,55,.08);color:var(--bad)}
.portal .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.portal .price-input{width:150px}

/* Responsive: hide heavy columns on mobile */
@media (max-width:900px){
  .portal table{min-width: 980px}
  .portal .col-guid, .portal .col-last, .portal .col-cg, .portal .col-buy, .portal .col-dept{display:none}
}

/* Pagination */
.portal .pager{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.portal .pager a,.portal .pager span{
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-weight:800;
  font-size:12px;
  color:var(--muted);
}
.portal .pager a:hover{border-color:#d5dae3}
.portal .pager .cur{border-color:rgba(255,122,0,.35);background:rgba(255,122,0,.10);color:var(--text)}

/* Modals */
.portal .backdrop{
  position:fixed; inset:0; z-index:200;
  background:rgba(11,18,32,.55);
  display:none;
  align-items:center;justify-content:center;
  padding:16px;
}
.portal .modal{
  width:min(900px,96vw);
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 20px 60px rgba(11,18,32,.25);
  overflow:hidden;
}
.portal .modal .mh{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.portal .modal .mb{padding:14px}
.portal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:900px){.portal .grid2{grid-template-columns:1fr}}

.portal .chip.muted{background:var(--soft);border-color:var(--line);color:var(--muted)}
