/* SBN Import Management — tema dark */
:root{
  --bg:#0f1420; --bg2:#151c2c; --card:#1a2336; --card2:#202b42;
  --line:#2a3651; --txt:#e8edf7; --muted:#8fa0bd;
  --acc:#4f8cff; --acc2:#7aa8ff; --ok:#37c978; --warn:#f5a623; --err:#ff5c6c;
  --hl:#ffd166;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--txt);font-size:14.5px}
a{color:var(--acc2);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;margin:0}
h2{font-size:15px;margin:0 0 12px;color:var(--acc2);text-transform:uppercase;letter-spacing:.5px}
code{background:var(--bg2);padding:2px 6px;border-radius:4px;font-size:13px;word-break:break-all}
.muted{color:var(--muted);font-size:12.5px}
.center{text-align:center}
.r{text-align:right}
.hl{color:var(--hl)}
.mt{margin-top:14px}

/* layout */
.layout{display:flex;min-height:100vh}
.sidebar{width:240px;background:var(--bg2);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:10px;align-items:center}
.brand small{display:block;color:var(--muted)}
.brand-badge{background:linear-gradient(135deg,var(--acc),#7c5cff);border-radius:10px;padding:8px 10px;font-weight:800}
.sidebar nav{display:flex;flex-direction:column;gap:4px}
.sidebar nav a{padding:9px 12px;border-radius:8px;color:var(--txt)}
.sidebar nav a:hover{background:var(--card);text-decoration:none}
.sidebar nav a.active{background:var(--acc);color:#fff;font-weight:600}
.sidebar-foot{margin-top:auto}
.content{flex:1;padding:22px 26px;max-width:1250px}

/* header pagina */
.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}

/* carduri & grile */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1000px){.grid-2{grid-template-columns:1fr}.sidebar{width:200px}}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.kpi small{color:var(--muted);display:block;font-size:11px;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}
.kpi b{font-size:19px;display:block}
.kpi span{display:block;margin-top:4px}
.kpi-main{background:linear-gradient(135deg,#20315b,#1a2336);border-color:var(--acc)}
.kpi-main b{font-size:24px;color:var(--acc2)}
.kpi-warn{border-color:var(--warn)}
.kpi-warn b{color:var(--warn)}

/* tabele */
.tbl{width:100%;border-collapse:collapse}
.tbl th{color:var(--muted);text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;padding:8px 9px;border-bottom:1px solid var(--line)}
.tbl th.r{text-align:right}
.tbl td{padding:8px 9px;border-bottom:1px solid var(--line)}
.tbl tbody tr:hover{background:var(--card2)}
.tbl tfoot td{font-size:15px;border-top:2px solid var(--acc);border-bottom:none}
.tbl-sub{margin:4px 0 10px}
.kpi-hl{color:var(--hl)!important}

/* taguri */
.tag{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:2px 9px;font-size:11.5px;white-space:nowrap}
.tag-ok{border-color:var(--ok);color:var(--ok)}
.tag-warn{border-color:var(--warn);color:var(--warn)}
.tag-big{font-size:15px;padding:4px 13px;border-color:var(--acc);color:var(--acc2);font-weight:700}

/* butoane & formulare */
.btn{display:inline-block;background:var(--card2);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:8px 15px;cursor:pointer;font-size:13.5px}
.btn:hover{border-color:var(--acc);text-decoration:none}
.btn-primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.btn-primary:hover{background:var(--acc2)}
.btn-danger{background:transparent;border-color:var(--err);color:var(--err)}
.btn-block{width:100%}
input,select,textarea{background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc)}
label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:820px}
.form-grid .span2{grid-column:span 2}
.check-row{flex-direction:row;align-items:center;gap:8px;color:var(--txt)}
.check-row input[type=checkbox]{width:auto}
.check-row select{width:auto}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}}

/* filtre */
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.filters select,.filters input{width:auto}
.filters-total{margin-left:auto;color:var(--muted)}
.filters-total b{color:var(--hl);font-size:16px}

/* alerte */
.alert{border-radius:10px;padding:11px 15px;margin-bottom:14px;border:1px solid}
.alert-ok{background:#12351f;border-color:var(--ok);color:#a9e8c3}
.alert-err{background:#3a1520;border-color:var(--err);color:#ffb9c1}

/* importuri - carduri */
.import-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.import-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;color:var(--txt);display:flex;flex-direction:column;gap:8px}
.import-card:hover{border-color:var(--acc);text-decoration:none;transform:translateY(-2px);transition:.15s}
.ic-head{display:flex;justify-content:space-between;align-items:center}
.ic-code{font-size:19px;font-weight:800;color:var(--acc2)}
.ic-total{font-size:21px;font-weight:700;color:var(--hl)}
.ic-bars{display:flex;height:7px;border-radius:5px;overflow:hidden;background:var(--bg2)}
.bar-seg{background:var(--acc)}
.bar-seg:nth-child(2){background:#7c5cff}
.bar-seg:nth-child(3){background:var(--warn)}
.bar-seg:nth-child(4){background:var(--ok)}
.bar-seg:nth-child(5){background:#ff7ab8}
.bar-seg:nth-child(6){background:#4dd7e8}

/* arbore cheltuieli */
.tree-root{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.tree-root summary{cursor:pointer;padding:12px 15px;background:var(--card2);display:flex;justify-content:space-between;font-weight:600;list-style:none}
.tree-root summary::-webkit-details-marker{display:none}
.tree-root summary:before{content:'▸ ';color:var(--acc)}
.tree-root[open] summary:before{content:'▾ '}
.tree-root>table,.tree-root .tree-sub{margin:0 12px}
.tree-sum{color:var(--hl)}
.tree-sub{padding:8px 3px 0;color:var(--acc2);font-size:13px}
.tree-grand{text-align:right;font-size:17px;padding:13px 6px 2px;border-top:2px solid var(--acc);margin-top:8px}
.tree-grand b{color:var(--hl);font-size:20px}

/* fisiere */
.file-list{list-style:none;margin:0;padding:0}
.file-list li{padding:8px 4px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* produse */
.prod-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.prod-kpis{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.prod-kpis b{color:var(--txt)}
.prod-kpis .hl b{color:var(--hl);font-size:16px}

/* AI */
.ai-form textarea{margin-bottom:10px}
.ai-actions{display:flex;gap:8px}
.ai-answer{border-color:var(--acc)}
.ai-text{line-height:1.65;white-space:pre-wrap}
#aiPrompt{font-family:Consolas,monospace;font-size:12px}

/* login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(1200px 600px at 70% -10%,#1d2b4d 0%,var(--bg) 55%)}
.login-box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:38px;width:360px;text-align:center;display:flex;flex-direction:column;gap:14px}
.login-box h1{font-size:19px}
.login-logo{background:linear-gradient(135deg,var(--acc),#7c5cff);width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin:0 auto}

/* categorii */
.cat-list{margin:0 0 14px;padding-left:18px}
.cat-list ul{padding-left:18px;color:var(--muted)}
