/* GENERÁLT FÁJL – ne szerkeszd!
   Forrás: admin/css/admin.src.css
   Előállítás: python tools/admin-css-scope.py
   Minden szabály a #adminView alá van zárva, hogy az adminba beolvasztott
   felület ne írja felül az ügyfélkapu stílusait (13 közös osztálynév). */
/* ===== TárhelyHub – webadmin ===== */
#adminView{
  --indigo:#4f46e5; --indigo-600:#4338ca; --cyan:#06b6d4;
  --ink:#0f172a; --body:#334155; --muted:#64748b;
  --bg:#f7f8fc; --card:#fff; --line:#e6e8f0;
  --side-tx:#c3cbdf;
  --ok:#16a34a; --ok-bg:#e7f7ee; --warn:#d97706; --warn-bg:#fef3e2;
  --danger:#dc2626; --danger-bg:#fee2e2; --info:#2563eb; --info-bg:#e6effe;
  --radius:16px; --radius-sm:11px;
  --shadow:0 1px 2px rgba(15,23,42,.04),0 12px 30px -14px rgba(15,23,42,.18);
  --shadow-lg:0 30px 60px -20px rgba(30,27,75,.35);
  --grad:linear-gradient(120deg,#6366f1,#06b6d4);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
#adminView *{box-sizing:border-box}
/* A hidden attribútum mindig győzzön a display-osztályok felett. */
#adminView [hidden]{display:none!important}
#adminView{margin:0;font-family:var(--font);background:var(--bg);color:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}
#adminView h1, #adminView h2, #adminView h3, #adminView h4{margin:0;color:var(--ink);letter-spacing:-.01em}
#adminView a{color:inherit;text-decoration:none}
#adminView button{font-family:inherit}
#adminView .muted{color:var(--muted)}
#adminView code{background:#eef0f7;padding:.1rem .4rem;border-radius:6px;font-size:.85em}

/* Buttons */
#adminView .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;height:40px;padding:0 1rem;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;cursor:pointer;transition:.15s}
#adminView .btn:hover{background:#f4f5fa}
#adminView .btn--primary{background:var(--indigo);border-color:var(--indigo);color:#fff}
#adminView .btn--primary:hover{background:var(--indigo-600)}
#adminView .btn--sm{height:34px;padding:0 .75rem;font-size:.83rem;border-radius:8px}
#adminView .btn--block{width:100%}
#adminView .btn--danger{color:var(--danger);border-color:#f3c9c9}
#adminView .btn--danger:hover{background:var(--danger-bg)}
#adminView .btn--ok{background:var(--ok);border-color:var(--ok);color:#fff}
#adminView .btn--ok:hover{filter:brightness(.95)}
#adminView .btn:disabled{opacity:.6;cursor:not-allowed}

/* Login */
#adminView .login{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(120% 120% at 80% -10%,#312e81,#0b1220 60%)}
#adminView .login__card{width:min(400px,92vw);background:var(--card);border-radius:20px;padding:2rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);display:grid;gap:.9rem}
#adminView .login__brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.3rem;color:var(--ink)}
#adminView .login__brand em{font-style:normal;color:var(--indigo);font-weight:700}
#adminView .login__sub{color:var(--muted);margin:-.3rem 0 .4rem}
#adminView .login__card label{display:grid;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--body)}
#adminView .login__card input{height:44px;border:1px solid var(--line);border-radius:11px;padding:0 .85rem;font-size:.95rem;font-family:inherit}
#adminView .login__card input:focus{outline:0;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.14)}
#adminView .login__error{background:var(--danger-bg);color:#b91c1c;padding:.6rem .8rem;border-radius:9px;font-size:.88rem;margin:0}
#adminView .login__hint{text-align:center;color:var(--muted);font-size:.82rem;margin:.2rem 0 0}

/* Shell */
#adminView .shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
#adminView .sidebar{background:linear-gradient(200deg,#312e81,#0b1220 70%);color:var(--side-tx);display:flex;flex-direction:column;padding:1.2rem 1rem;position:sticky;top:0;height:100vh}
#adminView .sidebar__brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;font-size:1.15rem;padding:.3rem .4rem 1.3rem}
#adminView .sidebar__nav{display:grid;gap:.2rem}
#adminView .sidebar__nav button{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;background:transparent;border:0;color:var(--side-tx);font-weight:500;font-size:.94rem;padding:.62rem .7rem;border-radius:10px;cursor:pointer;transition:.15s}
#adminView .sidebar__nav button span{flex:1}
#adminView .sidebar__nav button:hover{background:rgba(255,255,255,.09);color:#fff}
#adminView .sidebar__nav button.is-active{background:var(--grad);color:#fff;box-shadow:0 8px 20px -8px rgba(79,70,229,.6)}
#adminView .nav__badge{background:var(--warn);color:#fff;font-size:.72rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;padding:0 .35rem}
#adminView .sidebar__foot{margin-top:auto;display:grid;gap:.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.09)}
#adminView .sidebar__link{display:block;background:transparent;border:0;color:var(--side-tx);text-align:left;padding:.55rem .7rem;border-radius:9px;cursor:pointer;font-size:.9rem;font-family:inherit}
#adminView .sidebar__link:hover{background:rgba(255,255,255,.09);color:#fff}

/* Main / topbar */
#adminView .main{min-width:0;display:flex;flex-direction:column}
#adminView .topbar{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.8rem;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
#adminView .topbar h1{font-size:1.35rem}
#adminView .who{background:#eef0f7;color:var(--body);padding:.4rem .8rem;border-radius:999px;font-weight:600;font-size:.85rem}
#adminView .view{padding:1.8rem;max-width:1200px}

/* Cards & grids */
#adminView .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
#adminView .card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line)}
#adminView .card__head h3{font-size:1.05rem}
#adminView .card__body{padding:1.3rem}
#adminView .row-gap{display:grid;gap:1.2rem}
#adminView .grid-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}
#adminView .grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem}
@media(max-width:1050px){#adminView .grid-tiles{grid-template-columns:repeat(2,1fr)}#adminView .grid-2{grid-template-columns:1fr}}

/* Stat tiles */
#adminView .tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow)}
#adminView .tile__label{font-size:.82rem;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:.4rem}
#adminView .tile__value{font-size:1.9rem;font-weight:800;color:var(--ink);margin-top:.25rem;letter-spacing:-.02em}
#adminView .tile__sub{font-size:.82rem;color:var(--muted);margin-top:.15rem}
#adminView .tile--accent{background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:transparent;color:#fff}
#adminView .tile--accent .tile__label, #adminView .tile--accent .tile__sub{color:#c7ccf5}
#adminView .tile--accent .tile__value{color:#fff}

/* Meter */
#adminView .bar{height:9px;border-radius:6px;background:#eef0f7;overflow:hidden;margin-top:.6rem}
#adminView .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--indigo),var(--cyan));border-radius:6px}
#adminView .bar>i.warn{background:linear-gradient(90deg,#f59e0b,#dc2626)}

/* Tables */
#adminView .table-wrap{overflow-x:auto}
#adminView table{width:100%;border-collapse:collapse;font-size:.9rem}
#adminView th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;padding:.7rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap}
#adminView td{padding:.75rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}
#adminView tbody tr:hover{background:#fafbff}
#adminView tbody tr:last-child td{border-bottom:0}
#adminView .t-strong{color:var(--ink);font-weight:600}
#adminView .t-mono{font-variant-numeric:tabular-nums}
#adminView .t-right{text-align:right}

/* Badges */
#adminView .badge{display:inline-flex;align-items:center;gap:.35em;padding:.22rem .6rem;border-radius:999px;font-size:.76rem;font-weight:700}
#adminView .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
#adminView .badge--pending{background:var(--warn-bg);color:#b45309}
#adminView .badge--paid{background:var(--info-bg);color:#1d4ed8}
#adminView .badge--active{background:var(--ok-bg);color:#15803d}
#adminView .badge--suspended{background:#f1f5f9;color:#475569}
#adminView .badge--cancelled{background:var(--danger-bg);color:#b91c1c}
#adminView .chip{display:inline-block;padding:.2rem .55rem;border-radius:7px;background:#eef0f7;color:var(--body);font-size:.78rem;font-weight:600}
#adminView .chip--ok{background:var(--ok-bg);color:#15803d}
#adminView .chip--off{background:var(--danger-bg);color:#b91c1c}

/* Section head inside view */
#adminView .view__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
#adminView .view__head p{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}
#adminView .filters{display:flex;gap:.4rem;flex-wrap:wrap}
#adminView .filters button{background:var(--card);border:1px solid var(--line);color:var(--body);padding:.4rem .8rem;border-radius:999px;font-size:.83rem;font-weight:600;cursor:pointer}
#adminView .filters button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Forms */
#adminView .form{display:grid;gap:1rem}
#adminView .form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
#adminView .form .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
#adminView .field{display:grid;gap:.35rem}
#adminView .field label{font-size:.82rem;font-weight:600;color:var(--body)}
#adminView .field input, #adminView .field select, #adminView .field textarea{border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;font-size:.92rem;font-family:inherit;background:var(--card);width:100%}
#adminView .field input:focus, #adminView .field select:focus, #adminView .field textarea:focus{outline:0;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.14)}
#adminView .field textarea{min-height:90px;resize:vertical}
#adminView .field .hint{font-size:.76rem;color:var(--muted)}
#adminView .switch-field{display:flex;align-items:center;gap:.6rem}
#adminView .switch{width:44px;height:25px;border-radius:999px;background:#cbd2e0;border:0;position:relative;cursor:pointer;flex:0 0 auto}
#adminView .switch i{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
#adminView .switch[aria-checked="true"]{background:var(--indigo)}
#adminView .switch[aria-checked="true"] i{left:22px}
#adminView .form__error{background:var(--danger-bg);color:#b91c1c;padding:.6rem .8rem;border-radius:9px;font-size:.88rem;margin:0}
#adminView .form__actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}

/* Detail rows */
#adminView .dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.9rem}
#adminView .dl dt{color:var(--muted)}
#adminView .dl dd{margin:0;color:var(--ink);font-weight:600;text-align:right}

/* Modal */
#adminView .modal{position:fixed;inset:0;z-index:60;display:none}
#adminView .modal.is-open{display:block}
#adminView .modal__backdrop{position:absolute;inset:0;background:rgba(9,12,22,.5);backdrop-filter:blur(3px)}
#adminView .modal__panel{position:relative;width:min(640px,94vw);max-height:92vh;overflow:auto;margin:4vh auto;background:var(--card);border-radius:18px;padding:1.6rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:adm-pop .18s ease}
@keyframes adm-pop{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
#adminView .modal__title{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
#adminView .modal__title h3{font-size:1.2rem}
#adminView .modal__x{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--muted)}
#adminView .modal__x:hover{background:#f4f5fa}

/* Toast */
#adminView .toast{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:500;z-index:80;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);animation:adm-pop .2s ease}
#adminView .toast--ok{background:#166534}
#adminView .toast--err{background:#991b1b}

/* Capacity / calc helpers */
#adminView .hl{color:var(--indigo);font-weight:700}
#adminView .pos{color:var(--ok);font-weight:700}
#adminView .neg{color:var(--danger);font-weight:700}
#adminView .note{background:#f5f6fc;border:1px solid var(--line);border-left:3px solid var(--indigo);border-radius:10px;padding:.8rem 1rem;font-size:.86rem;color:var(--body)}
#adminView .empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}

/* Calculator rows */
#adminView .calc-plan{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.6rem .2rem;border-bottom:1px solid var(--line)}
#adminView .calc-plan input{width:90px;text-align:center}
#adminView .calc-plan .cp-name{font-weight:600;color:var(--ink)}
#adminView .calc-plan .cp-meta{font-size:.8rem;color:var(--muted)}

/* ===== Hálózat / DDoS ===== */
/* Öt csempe van, ezért a fix 4 oszlop helyett rugalmas rács kell. */
#adminView #nmLive .grid-tiles, #adminView .modal__panel .grid-tiles{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}
#adminView .nm-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
#adminView .nm-chart__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
#adminView .nm-legend{display:flex;gap:.9rem;flex-wrap:wrap}
#adminView .nm-key{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--body)}
#adminView .nm-key i{width:11px;height:3px;border-radius:2px;display:inline-block}
#adminView .nm-chart svg{width:100%;display:block}
#adminView .nm-chart__ax{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin-top:.35rem}
#adminView .filters select{background:var(--card);border:1px solid var(--line);color:var(--body);padding:.4rem .8rem;border-radius:999px;font-size:.83rem;font-weight:600;cursor:pointer}

#adminView .tile--alarm{background:linear-gradient(135deg,#dc2626,#991b1b);border-color:transparent}
#adminView .tile--alarm .tile__label, #adminView .tile--alarm .tile__sub{color:#fecaca}
#adminView .tile--alarm .tile__value{color:#fff}

#adminView .nm-alarm{display:grid;gap:.25rem;background:var(--danger-bg);border:1px solid #f3c9c9;border-left:3px solid var(--danger);border-radius:10px;padding:.85rem 1rem;margin-bottom:1.2rem;font-size:.88rem;color:#7f1d1d}
#adminView .nm-alarm strong{color:#b91c1c}
#adminView .nm-row{cursor:pointer}
#adminView .nm-row:hover{background:#f7f8fc}

#adminView .badge--sev-low{background:#f1f5f9;color:#475569}
#adminView .badge--sev-medium{background:var(--warn-bg);color:#b45309}
#adminView .badge--sev-high{background:#ffedd5;color:#c2410c}
#adminView .badge--sev-critical{background:var(--danger-bg);color:#b91c1c}
#adminView .nav__badge--alarm{background:var(--danger);animation:nm-pulse 1.6s ease-in-out infinite}
@keyframes nm-pulse{50%{opacity:.4}}

@media(max-width:900px){ #adminView .nm-grid{grid-template-columns:1fr} }

@media(max-width:760px){
  #adminView .shell{grid-template-columns:1fr}
  #adminView .sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;flex-direction:row;z-index:50;padding:.4rem;overflow-x:auto}
  #adminView .sidebar__brand, #adminView .sidebar__foot{display:none}
  #adminView .sidebar__nav{grid-auto-flow:column;gap:.2rem}
  #adminView .sidebar__nav button span{display:none}
  #adminView .view{padding:1rem}
}

/* ===== Beolvasztott nézet: az oldalsáv ikonjai ===== */
/* Emojik helyett SVG – azok rendszerenként máshogy néznek ki, és a felület
   „gagyi" hatását keltették. Az ikonok a szöveg színét öröklik. */
#adminView .sidebar__nav button svg, #adminView .sidebar__foot svg{
  width:17px;height:17px;flex:0 0 17px;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;opacity:.85
}
#adminView .sidebar__nav button, #adminView .sidebar__foot .sidebar__link{display:flex;align-items:center;gap:.6rem}
#adminView .sidebar__nav button.is-active svg{opacity:1}
#adminView .sidebar__foot .sidebar__link{width:100%;text-align:left;background:none;border:0;font:inherit;cursor:pointer}

/* ===== Sötét téma =====
   Az admin korábban külön lapon élt, ezért csak világos volt. Az ügyfélkapuba
   beolvasztva viszont egy lapon van a portállal, és a témaváltó rá is
   vonatkozik – sötétben a világos admin idegen testként hatna.
   A színek a portál sötét palettájából valók (style.css). */
:root[data-theme="dark"] #adminView{
  --ink:#e9edf7; --body:#c2cbdd; --muted:#8b96ad;
  --bg:#0b1020; --card:#151c2f; --line:#26304a;
  --indigo:#6d68f0; --indigo-600:#8480ff;
  --ok:#4ade80; --ok-bg:#123122;
  --warn:#fbbf24; --warn-bg:#3a2a10;
  --danger:#f87171; --danger-bg:#3a1717;
  --info:#7dabff; --info-bg:#152540;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px -14px rgba(0,0,0,.6);
}
/* A fehérre égetett hátterek átszínezése sötétben. */
:root[data-theme="dark"] #adminView .btn{background:var(--card);color:var(--ink)}
:root[data-theme="dark"] #adminView .btn:hover{background:#1b2438}
:root[data-theme="dark"] #adminView .btn--primary{background:var(--indigo);color:#fff}
:root[data-theme="dark"] #adminView code{background:#1b2438;color:var(--ink)}
:root[data-theme="dark"] #adminView input, :root[data-theme="dark"] #adminView select, :root[data-theme="dark"] #adminView textarea{background:#0f1526;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] #adminView thead th{background:#111830;color:var(--muted)}
:root[data-theme="dark"] #adminView tbody tr:hover{background:#141c30}
/* A maradék, világosra égetett árnyalatok sötét témában. */
:root[data-theme="dark"] #adminView tbody tr:hover{background:#141c30}
:root[data-theme="dark"] #adminView .nm-row:hover{background:#141c30}
:root[data-theme="dark"] #adminView .note{background:#141c30}
:root[data-theme="dark"] #adminView .badge--suspended{background:#243047;color:#a9b4c9}
:root[data-theme="dark"] #adminView .badge--sev-low{background:#243047;color:#a9b4c9}
:root[data-theme="dark"] #adminView .modal__x:hover{background:#1b2438}
:root[data-theme="dark"] #adminView .sidebar__foot .sidebar__link:hover{background:rgba(255,255,255,.06)}

/* ===== Számmező saját léptetővel (public/js/szamlepteto.js) ===== */
#adminView input[type="number"]{ -moz-appearance:textfield; appearance:textfield }
#adminView input[type="number"]::-webkit-outer-spin-button, #adminView input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; appearance:none; margin:0 }

#adminView .numfield{ position:relative; display:block; width:100% }
#adminView .numfield > input[type="number"]{ width:100%; padding-right:5rem }

#adminView .numfield__btn{
  position:absolute; top:50%; width:28px; height:28px; transform:translateY(-50%);
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:8px;
  background:var(--bg); color:var(--muted);
  cursor:pointer; padding:0; transition:.15s;
}
#adminView .numfield__btn[data-le]{ right:2.4rem }
#adminView .numfield__btn[data-fel]{ right:.45rem }
#adminView .numfield__btn svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round }
#adminView .numfield__btn:hover:not(:disabled){ border-color:var(--indigo); color:var(--indigo); background:var(--card) }
#adminView .numfield__btn:active:not(:disabled){ transform:translateY(-50%) scale(.92) }
#adminView .numfield__btn:disabled{ opacity:.35; cursor:default }
#adminView .numfield__btn:focus-visible{ outline:2px solid var(--indigo); outline-offset:2px }

/* ===== Támogatás (ticketek) ===== */
#adminView .chiprow{display:flex;flex-wrap:wrap;gap:.4rem}
#adminView .chipbtn{border:1px solid var(--line);background:var(--card);color:var(--muted);
  padding:.35rem .8rem;border-radius:999px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:.15s}
#adminView .chipbtn:hover{border-color:var(--indigo);color:var(--indigo)}
#adminView .chipbtn.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
#adminView .chipbtn b{opacity:.75;font-weight:700}
#adminView .chipbtn.is-active b{opacity:.9}

/* A sorra kattintva nyílik a bejelentés. */
#adminView .tktable tbody tr{cursor:pointer}
#adminView .tktable tbody tr:hover{background:var(--bg)}

/* Állapot: az `open` a MI teendőnk, ezért az a hangsúlyos. */
#adminView .tkb{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}
#adminView .tkb--open{background:var(--warn-bg);color:#b45309}
#adminView .tkb--answered{background:var(--info-bg);color:#1d4ed8}
#adminView .tkb--resolved{background:var(--ok-bg);color:#15803d}
#adminView .tkb--closed{background:#f1f5f9;color:#475569}

#adminView .tkp{display:inline-block;padding:.15rem .5rem;border-radius:7px;font-size:.72rem;font-weight:700;white-space:nowrap}
#adminView .tkp--low{background:#f1f5f9;color:#64748b}
#adminView .tkp--normal{background:#eef0f7;color:#475569}
#adminView .tkp--high{background:var(--warn-bg);color:#b45309}
#adminView .tkp--urgent{background:var(--danger-bg);color:#b91c1c}

/* Beszélgetés-szál */
#adminView .tkthread{max-height:44vh;overflow-y:auto;display:grid;gap:.6rem;padding-right:.2rem;
  border:1px solid var(--line);border-radius:12px;padding:.7rem;background:var(--bg)}
#adminView .tkm{border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;background:var(--card)}
#adminView .tkm--admin{background:var(--info-bg);border-color:#bfdbfe}
/* A belső jegyzet SZÁNDÉKOSAN elüt: egy pillantásra látszódjon, hogy ezt az
   ügyfél nem látja – különben véletlenül úgy írnánk, mintha neki szólna. */
#adminView .tkm--internal{background:#fffbeb;border-color:#fde68a;border-left:3px solid #f59e0b}
#adminView .tkm__head{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.25rem;font-size:.75rem;color:var(--muted)}
#adminView .tkm__head b{color:var(--ink);font-size:.84rem}
#adminView .tkm__body{font-size:.88rem;line-height:1.55;color:var(--body);overflow-wrap:anywhere}

#adminView .tkcheck{display:flex;gap:.6rem;align-items:flex-start;margin-top:.7rem;
  font-size:.85rem;color:var(--body);cursor:pointer}
#adminView .tkcheck input{margin-top:.15rem;width:17px;height:17px;accent-color:#f59e0b;flex:none;cursor:pointer}

#adminView .field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;
  font:inherit;font-size:.9rem;background:var(--card);color:var(--ink);resize:vertical;min-height:80px}
#adminView .field textarea:focus{outline:0;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.14)}

/* ===== Panelek nézet =====
   A .grid2 az admin CSS-ben a `.form` alá van zárva, ezért kell saját osztály. */
#adminView .pnl{margin-bottom:1rem}
#adminView .pnl-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
#adminView .pnl-row{display:flex;gap:.5rem;align-items:center}
/* min-width:0 nélkül a flexbe tett input nem tud összemenni, és kilóg a kártyából. */
#adminView .pnl-row input{flex:1 1 auto;min-width:0}
#adminView .pnl-row .btn{flex:none;white-space:nowrap}
@media(max-width:760px){
  #adminView .pnl-2{grid-template-columns:1fr}
  #adminView .pnl-row{flex-wrap:wrap}
  #adminView .pnl-row input{flex:1 1 100%}
}
