/* Stil preluat din portalul Granit Negru: fundal închis, accent auriu, Montserrat. Variantă deschisă automată. */
:root{
  --bg:#121212;--card:#1a1a1a;--ink:#e0e0e0;--mute:#9a9a9a;--line:#2e2e2e;
  --acc:#d4af37;--acc-ink:#1a1a1a;--acc-text:#d4af37;
  --ok:#4cc38a;--warn:#e8b04a;--err:#ff8a7e;
  --okbg:#14291f;--warnbg:#2c2210;--errbg:#35181a;--hl:#242424;
  --hh:64px;
}
@media (prefers-color-scheme:light){
  :root{--bg:#f4f4f4;--card:#fff;--ink:#1a1a1a;--mute:#666;--line:#e6e6e6;
    --acc-text:#8a6d0b;--ok:#1a7f4b;--warn:#a55f00;--err:#b42318;
    --okbg:#e8f6ee;--warnbg:#fff4e0;--errbg:#fdecea;--hl:#f3efe0}
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top{display:flex;gap:10px 18px;align-items:center;padding:10px 20px;background:#1a1a1a;color:#e0e0e0;border-bottom:2px solid var(--acc);box-shadow:0 2px 10px rgba(0,0,0,.25);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#e0e0e0;text-decoration:none;font-weight:600}
.brand img{height:34px;display:block}
.brand .sub{font-weight:400;color:#9a9a9a;margin-left:6px;font-size:12px}
.nav,.steps{display:flex;gap:6px;flex-wrap:wrap}
.steps{flex:1}.nav{margin-left:6px}
.top button{border:1px solid #444;background:transparent;color:#e0e0e0;padding:5px 13px;border-radius:20px;cursor:pointer;font:inherit;font-size:12.5px}
.top button:hover{border-color:var(--acc)}
.top button.on{background:var(--acc);color:#1a1a1a;border-color:var(--acc);font-weight:600}
.top .badge{margin-left:6px;font-size:11px;padding:0 6px;border-radius:9px;background:#b42318;color:#fff}
.who{display:flex;gap:6px;align-items:center;margin-left:auto}
.who .mute{color:#9a9a9a;font-size:12px}
main{padding:20px;max-width:1280px;margin:0 auto}
h2{margin:0 0 4px;font-size:20px;font-weight:600;letter-spacing:.2px}
.lead{color:var(--mute);margin:0 0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.card.login{max-width:380px;margin:48px auto;padding:32px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.card.login form{text-align:left}
.card.login .logo{height:46px;margin-bottom:10px;background:#1a1a1a;padding:8px 14px;border-radius:8px}
button{font:inherit}
button.pri{background:var(--acc);color:var(--acc-ink);border:0;padding:8px 20px;border-radius:20px;cursor:pointer;font-weight:700}
button.pri:hover{filter:brightness(1.08)}
button.pri:disabled{opacity:.45;cursor:default}
button.sec,button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);padding:6px 14px;border-radius:20px;cursor:pointer}
button.sec:hover,button.ghost:hover{border-color:var(--acc);color:var(--acc-text)}
button:disabled{opacity:.5;cursor:default}
input,select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 9px}
input:focus,select:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
input:disabled,select:disabled{opacity:.75;cursor:default}
input[type=number]{width:96px;text-align:right}
input[type=checkbox],input[type=radio]{accent-color:var(--acc)}
label{font-weight:500}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.drop{border:2px dashed var(--line);border-radius:12px;padding:38px;text-align:center;color:var(--mute)}
.drop.over{border-color:var(--acc);background:var(--hl)}
table{border-collapse:collapse;width:100%}
th,td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-weight:600;color:var(--mute);font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:var(--hh);background:var(--card);z-index:2}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr.sel td{background:var(--hl)}
tr.src td{background:var(--warnbg)}
tr.unas td:first-child{box-shadow:inset 3px 0 var(--err)}
.mute{color:var(--mute)}.ok{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}
.chip{display:inline-block;padding:1px 9px;border-radius:10px;font-size:11px;font-weight:600;background:var(--hl);color:var(--ink);border:1px solid var(--line)}
.chip.new{background:var(--warnbg);color:var(--warn);border-color:transparent}
.msgs{list-style:none;margin:0;padding:0}
.msgs li{padding:8px 12px;border-radius:8px;margin-bottom:6px}
.msgs .e{background:var(--errbg);color:var(--err)}.msgs .w{background:var(--warnbg);color:var(--warn)}.msgs .o{background:var(--okbg);color:var(--ok)}
.cb{position:relative;min-width:280px}
.cb input{width:100%}
.cb .x{position:absolute;right:6px;top:4px;border:0;background:transparent;color:var(--mute);cursor:pointer}
.cb-list{position:fixed;z-index:50;background:var(--card);border:1px solid var(--acc);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.45);max-height:320px;overflow:auto;min-width:360px}
.cb-list div{padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--line)}
.cb-list div.act,.cb-list div:hover{background:var(--hl)}
.cb-list .code{color:var(--mute);font-size:12px;margin-left:8px}
.cb-list .free{color:var(--warn)}
.tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.big{font-size:22px;font-weight:300;font-variant-numeric:tabular-nums}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
[hidden]{display:none!important}
.tw{padding:0}
.inv summary{cursor:pointer;list-style:none}
.inv summary::-webkit-details-marker{display:none}
.inv summary::before{content:'▸';color:var(--acc-text);margin-right:8px}
.inv[open] summary::before{content:'▾'}
.inv .kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 18px;margin-top:12px}
.inv .k{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mute)}
.inv .v{font-weight:500;word-break:break-word}
@media (max-width:900px){.tw{overflow-x:auto}.tw th{position:static}}
@media (max-width:700px){main{padding:10px}.cb{min-width:200px}.top{padding:8px 10px}}
.top button.ghost{color:#e0e0e0;border-color:#444}
.top button.ghost:hover{color:var(--acc);border-color:var(--acc)}
.top button.ghost.on{background:var(--acc);color:#1a1a1a;border-color:var(--acc)}

.steps3 ol{margin:8px 0 0;padding-left:20px;color:var(--mute)}.steps3 li{margin-bottom:4px}.steps3 b{color:var(--ink)}

.sugs{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap}.sugs .chip{cursor:pointer;font-family:inherit;color:var(--ink)}.sugs .chip:hover{border-color:var(--acc);color:var(--acc-text)}

.cod{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}

.cb-list .ctx{cursor:default;position:sticky;top:0;background:var(--hl);font-size:12px;color:var(--mute);border-bottom:1px solid var(--acc)}.cb-list .ctx:hover{background:var(--hl)}

button.mini{padding:2px 9px;font-size:11px}.tgh{min-width:150px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink);background:var(--hl)}.tgh b{color:var(--acc-text)}.tgt{background:var(--hl)}.srcstat{font-size:12px;margin-top:2px}

.tgh{width:92px;min-width:92px;max-width:110px;padding:6px 6px;cursor:pointer;line-height:1.25}
.tgh .chip{font-size:10.5px;padding:0 6px;white-space:normal;margin-top:2px}
.tgh:hover{outline:1px solid var(--acc);outline-offset:-1px}
.tgt{padding:5px 4px;width:92px}
.tgpop{position:fixed;z-index:60;background:var(--card);border:1px solid var(--acc);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.45);padding:12px 14px;max-width:320px;font-size:13px}
.tgpop .pbtn{display:flex;gap:6px;flex-wrap:wrap}
