/* Onten Desk — ინტერფეისის სტილები */
:root{
  --paper:#EFF2F6; --surface:#FFFFFF; --surface-2:#E7ECF3; --surface-3:#F4F7FA;
  --line:#D2DAE5; --line-soft:#E3E9F1;
  --ink:#0F1723; --ink-2:#3E4A5C; --ink-3:#6C788A;
  --accent:#1B50A2; --accent-2:#16428A; --accent-soft:#DEE8F7; --on-accent:#FFFFFF;
  --ok:#2B7A55; --ok-soft:#DDEEE5;
  --warn:#A76F13; --warn-soft:#F6EAD4;
  --crit:#AF3A32; --crit-soft:#F7E1DF;
  --shadow:0 1px 2px rgba(15,23,35,.06),0 8px 24px rgba(15,23,35,.07);
  --r:10px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    /*  ფონი განზრახ არ არის შავი — ღია ნაცრისფერ-ლურჯზე თვალი
        ნაკლებად იღლება და ტექსტის კიდეები არ ბუნდოვანდება.
        ლინკები აშკარად ღია ლურჯია, რომ მუქ ფონზე კარგად იკითხებოდეს. */
    --paper:#202A38; --surface:#2A3543; --surface-2:#354150; --surface-3:#26313F;
    --line:#414E5E; --line-soft:#36424F;
    --ink:#F2F6FB; --ink-2:#C9D4E2; --ink-3:#A3B0C1;
    --accent:#9CC6FB; --accent-2:#B8D7FD; --accent-soft:#2C4059; --on-accent:#0A182B;
    --ok:#6ED2A2; --ok-soft:#1E3B32;
    --warn:#F3C66F; --warn-soft:#3B311C;
    --crit:#F59289; --crit-soft:#402724;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#202A38; --surface:#2A3543; --surface-2:#354150; --surface-3:#26313F;
  --line:#414E5E; --line-soft:#36424F;
  --ink:#F2F6FB; --ink-2:#C9D4E2; --ink-3:#A3B0C1;
  --accent:#9CC6FB; --accent-2:#B8D7FD; --accent-soft:#2C4059; --on-accent:#0A182B;
  --ok:#6ED2A2; --ok-soft:#1E3B32;
  --warn:#F3C66F; --warn-soft:#3B311C;
  --crit:#F59289; --crit-soft:#402724;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.45);
  color-scheme:dark;
}

.wordmark{height:22px;width:auto;display:block;flex:none}
.wordmark.sm{height:16px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .wordmark{filter:brightness(1.95) saturate(1.05)}}
:root[data-theme="dark"] .wordmark{filter:brightness(1.95) saturate(1.05)}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper);color:var(--ink);
  font-family:"Noto Sans Georgian","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{max-width:100%}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
button{font-family:inherit;font-size:inherit;cursor:pointer}
h1,h2,h3{margin:0;text-wrap:balance}
a{color:var(--accent)}
[hidden]{display:none!important}

/* ── ლოგინი ── */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.login{
  width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:16px;
}
.login .brand{display:flex;align-items:center;gap:11px;margin-bottom:2px}
.login h1{font-size:19px;font-weight:600}
.login .sub{font-size:13px;color:var(--ink-3)}

/* ── shell ── */
.app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}
/* ჰორიზონტალური ზოლი მხოლოდ ცხრილს უნდა ჰქონდეს, გვერდს — არასდროს */
html,body{max-width:100%;overflow-x:clip}
aside{
  background:var(--surface);border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;padding:18px 12px;position:sticky;top:0;height:100vh;
  /*  მენიუ გაიზარდა — ახლა ის გადაადგილდება, გვერდი კი არა.
      ბოლო ღილაკი ყოველთვის მისაწვდომი უნდა იყოს, თუნდაც
      პატარა ეკრანზე. */
  overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;
}
aside>.brand,aside>.nav,aside>.grp,aside>.navfoot,aside>.grps{flex:none}
aside::-webkit-scrollbar{width:6px}
aside::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 14px}
/*  რომელ განყოფილებაში ვართ — გვერდითა სია ახლა მხოლოდ ერთს აჩვენებს,
    ამიტომ სათაური საჭიროა, თორემ ორიენტაცია იკარგება. */
.navsec{
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);padding:0 10px 6px;
}
.logo{
  width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--on-accent);
  display:grid;place-items:center;font-weight:700;font-size:14px;flex:none;
}
.brand b{font-size:15px;font-weight:600;display:block;line-height:1.2}
.brand span{font-size:11px;color:var(--ink-3);font-family:"JetBrains Mono",monospace}
.navlabel{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:12px 10px 4px;font-family:"JetBrains Mono",monospace}
.nav{
  display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;border:1px solid transparent;
  background:none;color:var(--ink-2);width:100%;text-align:left;font-weight:500;
}
.nav:hover{background:var(--surface-2);color:var(--ink)}
.nav[aria-current="true"]{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
.nav .ct{margin-left:auto;font-size:11.5px;font-family:"JetBrains Mono",monospace;color:var(--ink-3)}
/*  გარე სისტემები — სხვა სერვერებზე მდგარი პროგრამები.
    მენიუს დანარჩენი ნაწილისგან თხელი ხაზით გამოიყოფა: ეს ღილაკები
    პორტალიდან გაგვიყვანს და ეს წინასწარ უნდა ჩანდეს. */
#extWrap{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}
#extList{display:flex;flex-direction:column;gap:6px}
/*  ღილაკის სახე — ეს ბმულები პორტალიდან გაგვიყვანს, ამიტომ
    მენიუს ჩვეულებრივ პუნქტებს არ ჰგავს: ჩარჩო, ფონი და უფრო
    მსხვილი წარწერა მაშინვე გამოარჩევს. */
#extList .nav{
  border:1px solid var(--line);background:var(--surface-3);
  font-weight:600;padding:9px 11px;
}
#extList .nav:hover{
  background:var(--accent-soft);color:var(--accent);
  border-color:color-mix(in srgb,var(--accent) 38%,transparent);
}
#extList .nav:active{transform:translateY(1px)}
#extList .nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){
  /*  ვიწრო ეკრანზე მენიუ ჰორიზონტალური ზოლია — ჩარჩო და გამყოფი
      ხაზი აქ ზედმეტია, ღილაკები უბრალოდ ზოლში ჩადგება. */
  #extWrap{margin-top:0;padding-top:0;border-top:0;display:flex;align-items:center;gap:6px;flex:none}
  #extList{flex-direction:row;gap:6px}
}
/*  თემის გადამრთველი — ავტომატური / ღია / მუქი.
    ლეპტოპზე სისტემა ხშირად მუქზეა, გვერდი კი დღისით ღია უნდა
    იყოს — ეს ღილაკი სწორედ ამას აგვარებს, სისტემის შეცვლის გარეშე. */
.themebtn{
  display:inline-flex;align-items:center;gap:6px;flex:none;
  border:1px solid var(--line);background:var(--surface);color:var(--ink-2);
  border-radius:9px;padding:6px 10px;font:inherit;font-size:13px;font-weight:500;
  cursor:pointer;white-space:nowrap;
}
.themebtn:hover{background:var(--surface-2);color:var(--ink)}
.themebtn:focus-visible{outline:2px solid var(--accent,var(--brand));outline-offset:2px}
@media (max-width:560px){.themebtn .thlbl{display:none}.themebtn{padding:6px 8px}}
.navfoot{margin-top:auto;border-top:1px solid var(--line-soft);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.who{font-size:12px;color:var(--ink-3);padding:0 10px;line-height:1.4}

main{min-width:0;display:flex;flex-direction:column}
/*  სათაური და განყოფილებების ზოლი ერთად ეკვრის ზემოთ —
    ცალ-ცალკე რომ ყოფილიყო, ერთმანეთს გადააფარებდნენ. */
.stickyhead{position:sticky;top:0;z-index:5;background:var(--surface)}
.topbar{
  display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--line);
  background:var(--surface);flex-wrap:wrap;
}
.topbar h1{font-size:18px;font-weight:600}
.topbar .sub{font-size:12.5px;color:var(--ink-3)}
.spacer{margin-left:auto}
.view{padding:22px 24px 80px;display:flex;flex-direction:column;gap:18px}

/* ── primitives ── */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.card-h{padding:14px 18px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card-h h2{font-size:14.5px;font-weight:600}
.card-h .hint{font-size:12px;color:var(--ink-3);margin-left:auto}
.btn{
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  padding:7px 13px;border-radius:8px;font-weight:500;display:inline-flex;align-items:center;gap:7px;
}
.btn:hover{background:var(--surface-2)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.pri:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn.sm{padding:5px 10px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn:focus-visible,.nav:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,textarea,select{
  font-family:inherit;font-size:14px;background:var(--surface);color:var(--ink);
  border:1px solid var(--line);border-radius:8px;padding:8px 11px;width:100%;
}
/*  მონიშვნის უჯრა ტექსტური ველი არ არის — მას სიგანე არ ეკუთვნის.
    ზემოთ `input`-ს width:100% უწერია და უჯრა მთელ სტრიქონს იკავებდა,
    წარწერა კი გვერდით იჭყლიტებოდა. */
input[type="checkbox"],input[type="radio"]{
  width:15px;height:15px;min-width:15px;flex:0 0 auto;padding:0;
  accent-color:var(--accent);cursor:pointer;
}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-3);font-weight:500}
.formgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:999px;border:1px solid;white-space:nowrap}
.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.p-ok{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.p-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}
.p-crit,.p-bad{color:var(--crit);background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 40%,transparent)}
.p-neu{color:var(--ink-3);background:var(--surface-2);border-color:var(--line)}
.p-acc{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}

.tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.tile .lab{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-family:"JetBrains Mono",monospace}
.tile .val{font-size:29px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tile .note{font-size:12.5px;color:var(--ink-3)}
.tile.alert{border-color:color-mix(in srgb,var(--crit) 45%,transparent)}
.tile.alert .val{color:var(--crit)}

/* ── chart ── */
.chartbox{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:18px}
.yax{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;color:var(--ink-3);font-family:"JetBrains Mono",monospace;height:150px;padding-bottom:22px}
.plot{position:relative}
.gridlines{position:absolute;inset:0 0 22px 0;display:flex;flex-direction:column;justify-content:space-between}
.gridlines i{display:block;height:1px;background:var(--line-soft)}
.bars{position:relative;display:flex;align-items:flex-end;gap:2px;height:150px;padding-bottom:22px}
.barcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}
.bar{width:100%;max-width:44px;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}
.barcol:hover .bar{background:var(--accent-2)}
.barcol .xl{position:absolute;bottom:0;font-size:11px;color:var(--ink-3);font-family:"JetBrains Mono",monospace}
.barcol .vl{font-size:11.5px;color:var(--ink-2);font-family:"JetBrains Mono",monospace;margin-bottom:3px;font-variant-numeric:tabular-nums}
.tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:12px;padding:4px 9px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:3}
.barcol:hover .tip{opacity:1}

/* ── tables ── */
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:620px}
th,td{text-align:left;padding:11px 18px;border-bottom:1px solid var(--line-soft);vertical-align:middle;
  overflow-wrap:break-word}
/* ვიწრო ეკრანზე ცხრილი ბუნებრივ სიგანეს ინარჩუნებს და თავად ცოცავს —
   სვეტების ჩაჭყლეტა სიტყვებს ასახიჩრებს, ჰორიზონტალური ცოცვა კი ჩვეულებრივია */
@media (max-width:900px){
  th,td{padding:9px 12px;font-size:13px}
  .tw{
    margin:0;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    /* კიდეზე ჩრდილი — ეტყობა, რომ გვერდით კიდევ არის */
    background:
      linear-gradient(90deg,var(--surface) 30%,transparent) left/24px 100% no-repeat,
      linear-gradient(-90deg,var(--surface) 30%,transparent) right/24px 100% no-repeat;
    background-attachment:local,local;
  }
  .tw::-webkit-scrollbar{height:5px}
  .tw::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
}
thead th{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-family:"JetBrains Mono",monospace;font-weight:500;background:var(--surface-3)}
tbody tr:last-child td{border-bottom:0}
tbody tr.click{cursor:pointer}
tbody tr.click:hover{background:var(--surface-3)}
td.num,th.num{font-variant-numeric:tabular-nums;font-family:"JetBrains Mono",monospace;font-size:13px}
.tid{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--ink-3)}
.subj{font-weight:500}
.meta{font-size:12px;color:var(--ink-3)}

.meter{width:96px;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle}
.meter i{display:block;height:100%;border-radius:3px;background:var(--accent)}
.meter i.w{background:var(--warn)} .meter i.c{background:var(--crit)}

/* ── ticket detail ── */
.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:1000px){.split{grid-template-columns:1fr}}
.thread{display:flex;flex-direction:column}
.ev{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft)}
.ev:last-child{border-bottom:0}
.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--ink-2)}
.av.tech{background:var(--accent-soft);color:var(--accent)}
.ev .eh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.ev .eh b{font-size:13.5px;font-weight:600}
.ev .eh time{font-size:11.5px;color:var(--ink-3);font-family:"JetBrains Mono",monospace}
.ev p{margin:0;font-size:14px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}
.ev.system p{font-size:13px;color:var(--ink-3);font-style:italic}
.side{display:flex;flex-direction:column;gap:12px}
.kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.kv:last-child{border-bottom:0}
.kv span{color:var(--ink-3)}
.kv b{font-weight:500;text-align:right;word-break:break-word}
.replybox{padding:14px 18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;background:var(--surface-3);border-radius:0 0 var(--r) var(--r)}
.replyrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.invtot{display:flex;flex-direction:column;gap:6px;min-width:230px;margin-left:auto}
.invtot div{display:flex;justify-content:space-between;gap:20px;font-size:13.5px;color:var(--ink-2)}
.invtot div.sum{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:17px;font-weight:600;color:var(--ink)}
.invhead{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px}

.empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:13.5px}
.banner{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r);padding:11px 16px;font-size:13px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.banner b{color:var(--accent);font-weight:600}
.err{background:var(--crit-soft);border:1px solid color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit);border-radius:8px;padding:9px 13px;font-size:13px}
.code{
  font-family:"JetBrains Mono",monospace;font-size:12.5px;background:var(--surface-3);
  border:1px solid var(--line);border-radius:8px;padding:11px 13px;overflow-x:auto;white-space:pre;color:var(--ink-2);
}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(12px);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:9px;font-size:13.5px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* 1200-მდე გვერდითი სვეტი ვიწროვდება — ცხრილს მეტი ადგილი რჩება */
@media (max-width:1200px){
  .app{grid-template-columns:190px minmax(0,1fr)}
  aside{padding:14px 8px}
  .nav{padding:7px 9px;font-size:13.5px}
  .view{padding:18px 18px 72px}
  .topbar{padding:12px 18px}
}
@media (max-width:820px){
  .app{grid-template-columns:minmax(0,1fr)}
  aside{
    position:sticky;top:0;z-index:6;height:auto;flex-direction:row;flex-wrap:nowrap;
    align-items:center;gap:6px;padding:10px 12px;overflow-x:auto;
    border-right:0;border-bottom:1px solid var(--line);scrollbar-width:thin;
  }
  aside::-webkit-scrollbar{height:4px}
  .brand{padding:0 6px 0 2px;flex:none}
  .brand span{display:none}
  .brand .wordmark{height:20px}
  .navlabel,.nav .ct{display:none}
  .navfoot{
    margin-top:0;margin-left:auto;border-top:0;padding-top:0;
    flex-direction:row;align-items:center;gap:6px;flex:none;
  }
  .navfoot .who{display:none}
  .nav{width:auto;flex:none;white-space:nowrap}
  .view{padding:14px 14px 64px;gap:14px}
  .topbar{padding:11px 14px;gap:10px}
  .topbar h1{font-size:16px}
  .card-h{padding:12px 14px}
  .formgrid,.frm{grid-template-columns:1fr}
  .stats,.grid4,.grid2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}
@media (max-width:560px){
  .view{padding:12px 10px 60px}
  .card-h{padding:11px 12px}
  aside{padding:8px 10px;gap:4px}
  .brand{display:none}          /* ვიწრო ეკრანზე მენიუს ადგილი მნიშვნელოვანია */
  .topbar .sub{display:none}
  .card-h h2{font-size:13.5px}
  .btn{padding:7px 11px}
  .stats,.grid4,.grid2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── ოპერატორის ჩატი ── */
.chatwrap{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:900px){.chatwrap{grid-template-columns:1fr}}
.chatlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;max-height:70vh;overflow-y:auto}
.chatitem{padding:12px 15px;border-bottom:1px solid var(--line-soft);cursor:pointer;display:flex;flex-direction:column;gap:3px}
.chatitem:last-child{border-bottom:0}
.chatitem:hover{background:var(--surface-3)}
.chatitem[aria-current="true"]{background:var(--accent-soft)}
.chatitem .top{display:flex;align-items:center;gap:8px}
.chatitem b{font-size:14px;font-weight:600}
.chatitem .un{width:8px;height:8px;border-radius:50%;background:var(--crit);flex:none;margin-left:auto}
.chatitem .prev{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatitem time{font-size:11px;color:var(--ink-3);font-family:"JetBrains Mono",monospace}
.convo{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;min-height:420px}
.convo .ch{padding:13px 17px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.convo .stream{flex:1;padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:52vh;background:var(--surface-3)}
.cmsg{display:flex;flex-direction:column;gap:3px;max-width:78%}
.cmsg.agent{align-self:flex-end;align-items:flex-end}
.cmsg.system{align-self:center;max-width:100%}
.cmsg .b{padding:9px 13px;border-radius:12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;
  background:var(--surface);border:1px solid var(--line)}
.cmsg.agent .b{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.cmsg.system .b{background:transparent;border:0;color:var(--ink-3);font-size:12px;text-align:center;padding:2px}
.cmsg .m{font-size:11px;color:var(--ink-3);padding:0 4px}
.convo .cf{border-top:1px solid var(--line);padding:12px 14px;display:flex;gap:9px;align-items:flex-end}
.convo .cf textarea{resize:none;min-height:40px;max-height:110px}

/* ── ანგარიშების ბლოკები ── */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r,12px);
  padding:16px 17px;display:flex;flex-direction:column;gap:3px}
.stat .l{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  font-family:"JetBrains Mono",monospace;font-weight:600}
.stat b{font-size:23px;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.stat .meta{font-size:12px;color:var(--ink-3)}
@media (max-width:640px){.stat b{font-size:20px}}

/* ── პორტალის ენების გადამრთველი ── */
.plangsel{position:relative}
.plangsel .plbtn{display:flex;align-items:center;gap:7px;width:100%;justify-content:center}
.plangsel .plbtn svg{width:15px;height:15px;flex:none}
.plangsel .plbl{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.02em}
.plangsel .plmenu{
  display:none;position:absolute;bottom:calc(100% + 6px);left:0;min-width:150px;z-index:60;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 12px 30px rgba(9,20,40,.16);padding:5px;
}
.plangsel.open .plmenu{display:block}
.plangsel .plmenu button{
  display:block;width:100%;text-align:left;padding:8px 11px;border:0;background:none;
  border-radius:7px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;
}
.plangsel .plmenu button:hover{background:var(--accent-soft)}
.plangsel .plmenu button[aria-current="true"]{color:var(--accent);font-weight:600}
.plangsel.onlogin{position:absolute;top:18px;right:18px;width:auto}
.plangsel.onlogin .plbtn{width:auto;padding:6px 12px}
.plangsel.onlogin .plmenu{bottom:auto;top:calc(100% + 6px);left:auto;right:0}
.login-wrap{position:relative}

/* ── გვერდითი მენიუს ჯგუფები ── */
.nav.offgroup{display:none}
/* ── დამატებითი როლების არჩევანი ── */
.rolepick{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:4px 0 12px;
  background:var(--surface-3)}
.rolepick-h{font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:9px}
.rolepick-list{display:grid;gap:6px 14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rolepick .rolebox{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:7px;
  cursor:pointer;padding:2px 0}
.rolepick .rolebox input{width:auto;margin:0}

/* ══════════ განყოფილებების ზოლი ══════════
   ერთი ფუნქცია — ერთი ღილაკი. ზემოთ ირჩევ, რაზე მუშაობ;
   მარცხნივ მხოლოდ იმ განყოფილების ეკრანები რჩება.
   ასე გვერდითა სია ოცდაათი ხაზიდან ხუთამდე ჩამოდის. */
.secbar{
  /*  ყველა ღილაკი ერთდროულად ჩანს — გადახვევა არა, გადატანა.
      დამალული ბმული იმას ნიშნავს, რომ მომხმარებელმა არ იცის,
      რომ ის არსებობს. */
  display:flex;gap:6px;align-items:stretch;flex-wrap:wrap;
  padding:10px 24px 11px;background:var(--surface-3);
  border-bottom:1px solid var(--line);
}
.secbar .grp{
  font:inherit;font-size:12.5px;font-weight:500;line-height:1.2;
  color:var(--accent);background:var(--accent-soft);
  border:1px solid transparent;border-radius:7px;
  padding:7px 12px;cursor:pointer;white-space:nowrap;flex:none;
  transition:background .12s ease,color .12s ease;
}
.secbar .grp:hover{
  background:color-mix(in srgb,var(--accent) 18%,var(--surface));
  color:var(--accent-2);
}
.secbar .grp:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.secbar .grp[aria-current="true"]{
  background:var(--accent);color:var(--on-accent);font-weight:600;
  box-shadow:0 1px 2px rgba(15,23,35,.18);
}
.secbar .grp[aria-current="true"]:hover{background:var(--accent-2);color:var(--on-accent)}

@media (max-width:900px){
  .secbar{padding:9px 14px 10px;gap:5px}
  .secbar .grp{font-size:12px;padding:6px 10px}
}

/* ══════════ მონიტორინგი და განმეორებადი ინვოისები ══════════ */
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin-bottom:16px}
.card.stat{padding:16px 18px}
.card.stat .big{font-size:26px;font-weight:600;letter-spacing:-.01em;line-height:1.15;color:var(--ink)}
.card.stat .lbl{font-size:12.5px;color:var(--ink-3);margin-top:4px}
.card.mon{display:flex;flex-direction:column}
.card.mon .kv{padding:6px 0}
.card-f{margin-top:auto;padding:12px 18px;border-top:1px solid var(--line-soft);
  display:flex;align-items:center;gap:10px}
.card-f .hint{font-size:12px;color:var(--ink-3);margin-left:auto}
.alerts{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.al{background:var(--warn-soft);border:1px solid var(--warn);border-radius:8px;
  padding:9px 11px;font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.al b{color:var(--warn);font-weight:600}
.al.crit{background:var(--crit-soft);border-color:var(--crit)}
.al.crit b{color:var(--crit)}
.al .btn{margin-left:auto}
.frm{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.frm label.f,label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-3)}
label.f input,label.f select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;
  background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px}
.chk{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px}
label.cb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);cursor:pointer}
/* მონიშვნების ბადე — როლების კონსტრუქტორი და მსგავსი სიები */
.chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 18px}
label.cb input{width:15px;height:15px;accent-color:var(--accent)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn.ghost{background:var(--surface);color:var(--ink-2)}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}
h3.sub{font-size:13px;font-weight:600;color:var(--ink-2);margin:18px 0 8px}

/* ══════════ ორფაქტორიანი შესვლა ══════════ */
.tfa-set{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.tfa-qr{background:#fff;padding:10px;border:1px solid var(--line);border-radius:10px;line-height:0;flex:0 0 auto}
.tfa-steps{flex:1 1 260px;min-width:240px}
.tfa-steps ol{margin:0;padding-left:20px;font-size:13.5px;color:var(--ink-2);line-height:1.75}
.tfa-secret{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:13px;
  background:var(--surface-3);border:1px solid var(--line);border-radius:7px;padding:7px 11px;
  letter-spacing:.08em;word-break:break-all;color:var(--ink)}
.codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.codes code{font-family:"JetBrains Mono",monospace;font-size:14px;text-align:center;
  background:var(--surface-3);border:1px solid var(--line);border-radius:7px;padding:9px 6px;
  letter-spacing:.06em;color:var(--ink)}
.tfa-code{max-width:220px}

/* ══════════ გლობალური ძებნა, შეტყობინებები, შენიშვნები ══════════ */
.kbd{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;line-height:1;
  border:1px solid var(--line);border-radius:4px;padding:2px 5px;
  background:var(--surface-3);color:var(--ink-3);margin-left:6px
}
.omni{position:fixed;inset:0;z-index:80;background:rgba(15,23,35,.42);backdrop-filter:blur(2px);
  display:flex;align-items:flex-start;justify-content:center;padding:11vh 16px 16px}
.omni-box{width:min(680px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:74vh}
.omni-box>input{border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink);
  font:inherit;font-size:16px;padding:16px 18px;outline:none;width:100%}
.omni-res{overflow:auto;flex:1;padding:6px}
.omni-g{padding:8px 12px 3px;font-size:11px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-3)}
.omni-i{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}
.omni-i:hover{background:var(--surface-2)}
.omni-i[aria-selected="true"]{background:var(--accent-soft);color:var(--accent)}
.omni-i b{font-weight:500;font-size:13.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.omni-i span{font-size:11.5px;color:var(--ink-3);white-space:nowrap}
.omni-i[aria-selected="true"] span{color:var(--accent)}
.omni-foot{display:flex;gap:14px;padding:8px 16px;border-top:1px solid var(--line-soft);
  font-size:11.5px;color:var(--ink-3);background:var(--surface-3)}
.omni-empty{padding:26px 16px;text-align:center;color:var(--ink-3);font-size:13px}

.bellwrap{position:relative;display:inline-flex}
.bell{position:relative;padding:6px 9px}
.bell .badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:var(--crit);color:#fff;font-size:10.5px;font-weight:600;
  display:flex;align-items:center;justify-content:center;line-height:1}
.pop{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,92vw);z-index:70;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow);overflow:hidden;max-height:70vh;display:flex;flex-direction:column}
.pop-h{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}
.pop-h b{font-size:13px}
.pop-h .btn{margin-left:auto}
.pop-l{overflow:auto}
.nti{display:flex;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.nti:hover{background:var(--surface-2)}
.nti.un{background:var(--accent-soft)}
.nti.un:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.nti .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;margin-top:6px}
.nti.rd .dot{background:var(--line)}
.nti div{min-width:0;flex:1}
.nti b{display:block;font-size:12.8px;font-weight:600}
.nti p{font-size:12px;color:var(--ink-2);margin:2px 0 0;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nti time{font-size:11px;color:var(--ink-3)}

.notes{display:flex;flex-direction:column;gap:8px;margin:8px 0 4px}
.note{border:1px solid var(--line-soft);border-radius:9px;padding:9px 11px;background:var(--surface-3)}
.note.pin{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-soft)}
.note p{font-size:13px;white-space:pre-wrap;margin:0 0 5px}
.note .nh{display:flex;gap:8px;align-items:center;font-size:11.5px;color:var(--ink-3)}
.note .nh .btn:nth-of-type(1){margin-left:auto}
.note .nh span:first-child{flex:1 1 auto;min-width:0}
.ev.internal{background:var(--warn-soft);border-left:3px solid var(--warn)}
.ev .eh .tag{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);
  border-radius:5px;padding:1px 6px}
.tplbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:2px}
.tplbar select{width:auto;flex:0 1 205px;min-width:130px}
.tplbar .cb{flex:1 1 240px;min-width:0;line-height:1.35}
.tplbar .btn{font-size:12px}

/* ══════════ IT ინფრასტრუქტურა და აუდიტი ══════════ */
.card.stat .cb{font-size:12.5px;color:var(--ink-3);margin-top:4px;display:block}
.arow{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.arow:last-child{border-bottom:0}
.arow b{font-size:13.5px;font-weight:500}
.arow select{width:auto;min-width:140px}
.ring{--p:0;width:104px;height:104px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:conic-gradient(var(--rc) calc(var(--p)*1%),var(--surface-2) 0)}
.ring::after{content:"";position:absolute}
.ring b{width:78px;height:78px;border-radius:50%;background:var(--surface);display:grid;place-items:center;
  font-size:21px;font-weight:600;color:var(--rc)}
.ring.ok{--rc:var(--ok)}
.ring.warn{--rc:var(--warn)}
.ring.crit{--rc:var(--crit)}
.secrow td{background:var(--surface-3)}
.selrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.selrow select,select.narrow{width:auto;min-width:150px;max-width:280px}
.card-h select{width:auto;min-width:130px;max-width:240px}

/* ══════════ სალარო: თაჩსკრინის რეჟიმი ══════════
   დიდი სამიზნეები თითისთვის — ღილაკი მინიმუმ 48px, ტექსტი მსხვილი.
   კომპიუტერის რეჟიმი ჩვეულებრივ ცხრილს იყენებს და ამ კლასებს არ ეხება. */
.tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding:14px;min-height:92px;text-align:left;border:1px solid var(--line);
  background:var(--surface);border-radius:12px;cursor:pointer;font:inherit;color:inherit}
.tile:hover{border-color:var(--accent)}
.tile-n{font-weight:500;font-size:14px;line-height:1.25}
.tile-p{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.tile-q{font-size:12px;color:var(--ink-3)}
.tile-out{opacity:.45;cursor:not-allowed}

.tlines{display:flex;flex-direction:column;gap:8px;padding:0 18px}
.tline{display:flex;align-items:center;gap:12px;padding:12px 14px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tline-bad{border-color:var(--bad)}
.tline-name{flex:1;min-width:0;font-size:15px;font-weight:500}
.tline-qty{display:flex;align-items:center;gap:10px}
.tline-qty .btn{width:44px;height:44px;justify-content:center;font-size:20px;padding:0}
.tline-qty b{min-width:44px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}
.tline-sum{min-width:92px;text-align:right;font-size:16px}

.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.numpad .btn{padding:16px 0;font-size:20px;justify-content:center}

.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;
  display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:20px;max-width:640px;width:100%;max-height:86vh;overflow:auto}

/* ── ქვედა წარწერა ──
   საავტორო უფლება, საიტის მისამართი და ვერსიის შექმნის დრო.
   მთავარ შიგთავსს ბოლოში მიჰყვება, ეკრანზე არ ეკიდება. */
.appfoot{
  margin-top:auto;border-top:1px solid var(--line-soft);
  background:var(--surface);color:var(--ink-3);font-size:12px;
}
.appfoot-in{
  max-width:1400px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;
}
.appfoot a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--line)}
.appfoot a:hover{color:var(--accent);border-color:var(--accent)}
.appfoot .dot{opacity:.5}
.appfoot .mono{font-family:"JetBrains Mono",monospace;font-size:11.5px}
@media (max-width:900px){
  /* ჩატის ღილაკს ადგილი დავუთმოთ, რომ წარწერას არ გადაეფაროს */
  .appfoot-in{padding-right:78px}
}
@media (max-width:560px){
  .appfoot-in{padding:12px 78px 14px 14px;gap:5px;font-size:11.5px;flex-direction:column;
    align-items:flex-start;text-align:left}
  .appfoot .dot{display:none}
}
/* შესვლის ეკრანზეც იგივე წარწერა */
.loginfoot{
  margin-top:22px;text-align:center;font-size:11.5px;color:var(--ink-3);line-height:1.7;
}
.loginfoot a{color:var(--ink-3)}

/* ═══════════ რესტორანი ═══════════
   მაგიდები თაჩსკრინისთვისაა: დიდი ღილაკები, ერთი შეხედვით ჩანს
   რომელი მაგიდაა დაკავებული, რამდენი ხანია და რამდენი დაუგროვდა. */
.rtiles{
  display:grid;gap:12px;padding:14px 18px 18px;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
}
.rt{
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  min-height:96px;padding:12px 14px;cursor:pointer;text-align:left;
  background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r);
  color:var(--ink);font:inherit;transition:border-color .15s,transform .1s;
}
.rt:hover{border-color:var(--accent)}
.rt:active{transform:scale(.985)}
.rt b{font-size:20px;line-height:1.1}
.rt .rt-i{font-size:11.5px;color:var(--ink-3)}
.rt .rt-t{margin-top:auto;font-size:15px;font-weight:600}
.rt.busy{background:var(--warn-soft);border-color:var(--warn)}
.rt.busy b{color:var(--warn)}
.rt.busy.bill{background:var(--ok-soft);border-color:var(--ok)}
.rt.busy.bill b{color:var(--ok)}

/* შეკვეთის ეკრანი: მარცხნივ მენიუ, მარჯვნივ ანგარიში */
.rsplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px)}
.rsplit>div:first-child{border-right:1px solid var(--line-soft);min-width:0}
.rbill{display:flex;flex-direction:column;min-width:0}
.rgrp{
  padding:12px 2px 6px;font-size:11.5px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-3);
}
.rmenu{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.rmi{
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  min-height:64px;padding:9px 11px;cursor:pointer;text-align:left;
  background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r);
  color:var(--ink);font:inherit;
}
.rmi:hover{border-color:var(--accent)}
.rmi:active{transform:scale(.985)}
.rmi-n{font-size:13px;line-height:1.25;overflow-wrap:break-word}
.rmi-p{margin-top:auto;font-size:13px;font-weight:600;color:var(--accent)}

.rline{
  display:grid;gap:8px;align-items:center;
  grid-template-columns:minmax(0,1fr) auto 70px 32px;
  padding:9px 16px;border-bottom:1px solid var(--line-soft);
}
.rline-n{font-size:13px;min-width:0;overflow-wrap:break-word}
.rline-q{display:flex;align-items:center;gap:6px}
.rline-t{text-align:right;font-weight:600;font-size:13px}
.rline.void{opacity:.5;text-decoration:line-through}
.rtot{margin-top:auto;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-3)}
.rtot .kv{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0}

/* სამზარეულოს ეკრანი — შორიდან უნდა იკითხებოდეს */
.kwrap{
  display:grid;gap:12px;padding:14px 18px 18px;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.kcard{
  display:flex;flex-direction:column;gap:7px;padding:12px 14px;
  background:var(--surface-3);border:1px solid var(--line);
  border-left:4px solid var(--accent);border-radius:var(--r);
}
.kcard.late{border-left-color:var(--crit);background:var(--crit-soft)}
.kcard.done{border-left-color:var(--ok);opacity:.7}
.kh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.kh b{font-size:19px}
.kn{font-size:16px;font-weight:600;line-height:1.3;overflow-wrap:break-word}
.knote{
  font-size:13px;padding:5px 8px;border-radius:6px;
  background:var(--warn-soft);color:var(--warn);
}
@media (max-width:1000px){
  .rsplit{grid-template-columns:1fr}
  .rsplit>div:first-child{border-right:0;border-bottom:1px solid var(--line-soft)}
}
@media (max-width:560px){
  .rtiles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:12px 14px}
  .rline{grid-template-columns:minmax(0,1fr) auto 64px 30px;padding:8px 12px}
}

/* ═══════════ სასტუმრო ═══════════
   ნომრები იმავე ფილებით, რაც მაგიდები — ერთი ენა მთელ პროგრამაში. */
.rt.dirty{background:var(--surface-2);border-color:var(--line)}
.rt.dirty b{color:var(--ink-2)}
.rt.ooo{opacity:.55;background:var(--surface-2);border-style:dashed;cursor:default}
.hmi{
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  min-height:64px;padding:9px 11px;cursor:pointer;text-align:left;
  background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r);
  color:var(--ink);font:inherit;
}
.hmi:hover{border-color:var(--accent)}
.hmi:active{transform:scale(.985)}

/* დაფა („შახმატი") — რომელი ნომერი რომელ დღეს ვის უჭირავს */
table.hboard{min-width:720px;font-size:12px}
table.hboard th{padding:5px 6px;text-align:center;white-space:nowrap}
table.hboard thead th{font-size:11px;line-height:1.2}
table.hboard tbody th{
  text-align:left;background:var(--surface-3);color:var(--ink);
  position:sticky;left:0;z-index:1;border-bottom:1px solid var(--line-soft);
}
td.hb{
  padding:0;height:34px;min-width:34px;text-align:center;font-size:11px;
  border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);
  white-space:nowrap;overflow:hidden;
}
td.hb.free{background:var(--surface)}
td.hb.bk{background:var(--warn-soft);color:var(--warn);cursor:pointer}
td.hb.in{background:var(--ok-soft);color:var(--ok);cursor:pointer;font-weight:600}
td.hb.s{border-left:3px solid currentColor;padding-left:5px}
td.hb.e{border-right:3px solid currentColor}

/* ═══════════ ტურისტული ═══════════
   ადგილების ზოლი — ერთი შეხედვით ჩანს, რამდენი გაიყიდა. */
.seatbar{
  height:5px;margin-top:4px;border-radius:3px;overflow:hidden;
  background:var(--surface-2);min-width:64px;max-width:120px;
}
.seatbar i{display:block;height:100%;background:var(--accent);border-radius:3px}

/* ═══════════ ბუღალტერია ═══════════
   ბრუნვითი უწყისი — ორსართულიანი თავსართი და მკვრივი ციფრები. */
table.acc{font-size:12px}
table.acc thead th{text-align:center;font-weight:600;padding:5px 7px}
table.acc thead tr:first-child th{border-bottom:1px solid rgba(255,255,255,.25)}
table.acc td{padding:5px 7px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.tot td{background:var(--surface-2);border-top:2px solid var(--line)}
tr.grp td{background:var(--surface-3)}
/* ბალანსი და მოგება-ზარალი — ორი თანაბარი სვეტი */
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){.split2{grid-template-columns:1fr}}

/* ─── გრაფიკები ───
   სუფთა SVG: ბიბლიოთეკა არ გვჭირდება, viewBox თავად ერგება ეკრანს */
.chart{width:100%}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chg{stroke:var(--line);stroke-width:1;opacity:.55}
.cht{fill:var(--muted);font-size:11px;font-family:inherit}
.chl{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.chf{opacity:.12;stroke:none}
.chp{stroke:var(--surface);stroke-width:1.5}
.chb{opacity:.9}
.chb:hover{opacity:1}
.chleg{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;color:var(--muted)}
.chleg span{display:inline-flex;align-items:center;gap:6px}
.chleg i{width:10px;height:10px;border-radius:2px;display:inline-block}
.hbars{display:flex;flex-direction:column;gap:8px}
.hbar{display:grid;grid-template-columns:minmax(90px,1.4fr) 3fr minmax(80px,auto);
  gap:10px;align-items:center;font-size:13px}
.hbn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbb{display:block;height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}
.hbb i{display:block;height:100%;border-radius:5px}
.hbv{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:560px){
  .hbar{grid-template-columns:minmax(70px,1.2fr) 2fr minmax(70px,auto);gap:7px;font-size:12px}
}

/* ══════════ გრაფიკის ბადე ══════════
   ოცდაათი სვეტი ეკრანზე უნდა ჩაეტიოს — ამიტომ უჯრა ვიწროა და
   შრიფტი პატარა. ფერი მდგომარეობას ამბობს და არა დეკორაციას. */
.rgrid{font-size:12px}
.rgrid th,.rgrid td{padding:5px 4px}
.rgrid th:first-child,.rgrid td:first-child{min-width:150px;text-align:left}
.rgrid .rcell{width:30px;text-align:center;white-space:nowrap}
.rgrid th.rcell{font-weight:600}
.rgrid th.rcell .meta{font-size:9.5px;font-weight:400;line-height:1.1}
.rgrid td.rpick{cursor:pointer;border-radius:4px}
.rgrid td.rpick:hover{outline:2px solid var(--accent);outline-offset:-2px}
.rgrid .rwe{background:var(--surface-3)}
.rgrid .rwork{background:var(--accent-soft);color:var(--accent-2);font-weight:600}
.rgrid .rnight{background:color-mix(in srgb,var(--accent) 26%,var(--surface));
  color:var(--accent-2);font-weight:600}
.rgrid .roff{color:var(--ink-3)}
.rgrid .rabs{background:var(--warn-soft);color:var(--warn);font-weight:600}

/* ლოიალობის ბარათი სალაროში — ერთი ბლოკი, არა ცალკე ბარათი:
   ჩეკის ნაწილია და არა ცალკე საქმე. */
.loybox{margin-top:10px;padding:10px 12px;border-radius:8px;
  background:var(--accent-soft);color:var(--accent-2);font-size:13px}
.loybox .meta{color:var(--accent-2);opacity:.8;margin-top:2px}

/* ── პარტნიორი ბრენდის ლოგოს გადახედვა რედაქტორში ──
   თეთრი ფონი განზრახაა: ბრენდების ლოგოები მუქ ფონზე იშვიათად
   იკითხება და აქ მთავარია, ადმინმა დაინახოს, სწორი ფაილი აირჩია. */
.blogo{
  display:flex;align-items:center;justify-content:center;
  width:64px;height:38px;border:1px solid var(--line);border-radius:8px;
  background:#fff;overflow:hidden;
}
.blogo img{max-width:56px;max-height:30px;width:auto;height:auto;display:block}

/*  წაშლის ღილაკი — განზრახ სხვა ფერისაა და დანარჩენისგან
    მოშორებით დგას: შეუქცევად მოქმედებას თვალით უნდა გამოარჩევდე. */
.btn.danger{color:var(--crit);border-color:var(--crit)}
.btn.danger:hover{background:var(--crit);color:#fff;border-color:var(--crit)}

/* ── გასუფთავების ეკრანი ──
   განზრახ სხვანაირია: ციფრები მარჯვნივ, უბნები სიაში, წითელი
   ღილაკი.  შეუქცევადი მოქმედება ჩვეულებრივ შენახვას არ უნდა ჰგავდეს. */
.rslist{display:flex;flex-direction:column}
.rsrow{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;
  border-bottom:1px solid var(--line-soft);cursor:pointer}
.rsrow:last-child{border-bottom:0}
.rsrow:hover{background:var(--bg-2)}
.rsrow input{margin-top:3px;flex:0 0 auto;width:15px;height:15px;
  accent-color:var(--accent);cursor:pointer}
.rsn{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.rsn b{font-size:14px}
.rsrow .num{flex:0 0 auto;color:var(--ink-3);font-size:13px;padding-top:2px}
ul.keeps{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:4px}
ul.keeps li{font-size:13.5px}
.banner.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
