/* ============= Theme tokens ============= */
:root{
  --blue-900:#1a3d7c;   /* Кралско синьо */
  --blue-800:#234c99;   /* Hover/акценти */
  --blue-700:#2e62c2;   /* Focus ring */
  --text:#0f172a;
  --muted:#6b7280;
  --bg:#f6f8fa;         /* Мек сив фон */
  --white:#ffffff;
  --radius:14px;
}

/* ============= Base ============= */
*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  background:var(--bg); color:var(--text);
}
a{color:inherit; text-decoration:none}
.container{max-width:1100px; margin:0 auto; padding:0 16px}

/* ============= Header (единно меню) ============= */
.site-header{background:var(--blue-900); color:#fff; position:sticky; top:0; z-index:50}
.header-row{display:flex; align-items:center; justify-content:space-between; height:56px}
.logo{font-weight:700; font-size:18px; color:#fff}
.nav{display:flex; align-items:center; gap:10px}
.nav a{
  color:#e8efff; padding:6px 10px; border-radius:10px; font-weight:600; font-size:14px;
  transition:all .2s ease;
}
.nav a:hover{background:rgba(255,255,255,.12)}
.nav a.active{background:#214a95; color:#fff}

/* Изход – винаги четим */
.nav .btn-logout{
  background:#ffffff !important;
  color:#1a3d7c !important;
  border:1px solid rgba(26,61,124,.15);
  border-radius:999px;
  padding:6px 12px;
  font-weight:700;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}

/* линкове за нерегистриран (compat) */
.header-row .btn-login{
  background:var(--blue-900); color:#fff; border:1px solid var(--blue-900);
  padding:6px 12px; border-radius:999px; font-weight:600; transition:.2s;
}
.header-row .btn-login:hover{ background:var(--blue-800); border-color:var(--blue-800); }
.header-row .btn-register{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.8);
  padding:6px 12px; border-radius:999px; font-weight:600; transition:.2s;
}
.header-row .btn-register:hover{ background:rgba(255,255,255,.15); }

/* PRO линк */
.pro-link{border:1px dashed rgba(255,255,255,.35)}
.pro-link span{color:#ff4b4b; font-weight:800}
.pro-link.active{border-color:transparent; background:#1f3e7a}

/* Mobile toggle (ако го ползваш) */
.menu-toggle{display:none; flex-direction:column; gap:5px; background:transparent; border:0; cursor:pointer}
.menu-toggle span{display:block; width:24px; height:2px; background:#fff; border-radius:2px}

/* ============= Main wrapper ============= */
.main-content{
  background:var(--white); margin:16px auto; padding:12px;
  border-radius:var(--radius); box-shadow:0 10px 30px rgba(13,39,80,.08);
}

/* ============= Grids & cards ============= */
.grid{display:grid; grid-gap:12px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid #e5e7eb; border-radius:var(--radius); padding:10px; background:#fff}
.card h3{margin:0 0 8px 0; font-size:16px}
.muted{color:var(--muted); font-size:14px}

/* ============= Forms & buttons (content area) ============= */
.form{max-width:600px}
.input{
  width:100%; padding:8px 10px; border:1px solid #e5e7eb; border-radius:8px;
  margin:0; font-size:13px;
}
.input:focus{outline:none; border-color:var(--blue-700); box-shadow:0 0 0 2px rgba(46,98,194,.12)}
.input--mini{width:58px; padding:5px 6px; font-size:12px; border-radius:8px}
.actions{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap}

.button{padding:8px 10px; border-radius:8px; border:none; cursor:pointer; font-weight:600; transition:.2s; font-size:13px}
.button.primary{background:var(--blue-900); color:#fff}
.button.primary:hover{background:var(--blue-800)}
.button.secondary{background:#eef2ff; color:var(--blue-900)}
.button.secondary:hover{filter:brightness(.97)}
.button.success{background:#16a34a; color:#fff}
.button.success:hover{background:#12863d}
.button.danger{background:#ef4444; color:#fff}
.button.danger:hover{background:#dc2626}

/* ============= Dashboard layout ============= */
.dash-layout{display:grid; grid-template-columns:220px 1fr; gap:12px}
.dash-layout.compact{grid-template-columns:200px 1fr; gap:10px}

/* Sidebar (ляво меню) */
.side-menu{
  background:#f1f4fb; border:1px solid #e5e7eb; border-radius:12px; padding:6px; height:max-content;
}
.side-title{
  background:#214a95; color:#fff; padding:6px 8px; border-radius:10px; font-weight:700; margin-bottom:8px; font-size:13px;
}
.side-menu a{
  display:block; padding:7px 9px; border-radius:10px; color:#1a3d7c; border:1px solid #e9edf6; background:#fff; margin-bottom:6px; font-size:13px;
}
.side-menu a:hover{background:#f7f9ff}
.side-menu a.active{background:#eaf0ff; border-color:#d6e2ff; color:#1a3d7c; font-weight:700}

/* Статистика (вляво) */
.side-stats{display:grid; grid-template-columns:1fr; gap:6px; margin-top:8px}
.stats-card{padding:10px}
.stats-title{ font-weight:700; color:#1a3d7c; margin-bottom:6px; font-size:13px }
.stats-grid{ display:grid; grid-template-columns:1fr; gap:6px }
.stats-grid > div{ display:flex; justify-content:space-between; }
.stats-card hr{ border:none; height:1px; background:#e5e7eb; margin:6px 0 }
.vat-box .row{ display:flex; justify-content:space-between; align-items:center; margin:2px 0 }
.vat-box .lbl{ color:#64748b; font-size:12px }
.vat-box .num{ font-weight:700; font-size:13px }
.vat-box .remain.danger .num{ color:#b91c1c }

/* ============= Filter & pagination ============= */
.filter-bar{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  border:1px solid #e5e7eb; border-radius:12px; padding:8px; background:#fff; margin-bottom:8px;
}
.filter-bar label{font-weight:600; color:#1a3d7c}
.ml-8{margin-left:8px} .mb-8{margin-bottom:8px}

/* ================= Tables ================= */
.table{width:100%; border-collapse:separate; border-spacing:0 6px}
.table thead th{font-size:11.5px; color:#6b7ea5; text-transform:uppercase; letter-spacing:.06em}
.table-compact th,.table-compact td{padding:6px 8px; font-size:13px}
.ta-right{text-align:right}

/* Редове: фина рамка, зебра, ляв индикатор при hover */
.table-compact tbody tr{
  background:#fff;
  border:1px solid #ecf0f6;
  border-left:3px solid transparent;
  border-radius:8px;
  overflow:hidden;
}
.table-compact tbody tr:nth-child(even){ background:#fbfdff; }
.table-compact tbody tr:hover{ background:#f7faff; border-left-color:#c7d8ff; }

.badge{
  display:inline-block; padding:3px 8px; background:#eef2ff; color:#1a3d7c;
  border-radius:999px; font-size:11.5px; font-weight:600;
}

/* мини бутони в реда */
.mini-btn{
  display:inline-block; padding:2px 4px; border:1px solid #e5e7eb; border-radius:5px;
  background:#fff; font-size:11px; margin-left:4px; cursor:pointer;
}
.mini-btn:hover{ background:#f3f6ff }

/* expandable детайли */
.details-row{ display:none; background:#fbfdff }
.details-row.open{ display:table-row }
.subtable{ width:100%; border-collapse:collapse; }
.subtable th, .subtable td{ padding:6px 8px; border-bottom:1px solid #eef2f7; font-size:13px }

/* Пагинация + действия в една лента */
.list-toolbar{
  margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.pagination{display:flex; gap:6px}
.pagination a{
  display:inline-block; padding:5px 9px; border:1px solid #e5e7eb; border-radius:8px; background:#fff;
  color:#1a3d7c; text-decoration:none; font-size:13px;
}
.pagination a.active{background:#1a3d7c; color:#fff; border-color:#1a3d7c}
.toolbar-actions{ display:flex; gap:8px; align-items:center }

/* ============= Footer (две нива) ============= */
.site-footer{margin-top:24px; font-size:14px}
/* Top (blue) */
.footer-top{background-color:var(--blue-900); padding:12px 0}
.footer-nav{display:flex; justify-content:center; gap:20px; flex-wrap:wrap}
.footer-nav a{color:#ffffff; position:relative; padding:4px 10px}
.footer-nav a::after{
  content:""; position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:1px; height:14px; background:rgba(255,255,255,0.5);
}
.footer-nav a:last-child::after{display:none}
.footer-nav a:hover{text-decoration:underline}
/* Bottom (light) */
.footer-bottom{background:#f8f9fb; color:#6b7ea5; text-align:center; padding:10px 0; font-size:13px}

/* ============= Responsive ============= */
@media (max-width:1024px){
  .grid.cols-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .grid.cols-3{grid-template-columns:1fr}
  .main-content{padding:12px}

  /* Responsive table като карти */
  .table thead{display:none}
  .table tr{display:block; padding:12px; border-radius:12px}
  .table td{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #eef2f7}
  .table td:last-child{border-bottom:none}
  .table td::before{content:attr(data-label); font-weight:600; color:#64748b}

  /* Mobile menu (ако ползваш .menu-toggle) */
  .menu-toggle{display:flex}
  .nav{
    position:fixed; inset:56px 0 auto 0; background:var(--blue-900);
    padding:12px 16px; display:none; flex-direction:column; gap:6px; border-bottom:1px solid rgba(255,255,255,.15)
  }
  .nav.open{display:flex}
  .nav a{padding:10px 12px}
  .dash-layout,.dash-layout.compact{grid-template-columns:1fr}
}
/* по-голямо отстояние над филтъра */
.mb-8{ margin-bottom:18px }          /* беше 8px */
.filter-bar{ margin-top:6px }         /* малко въздух над самата кутия */
/* повече разстояние между редовете */
.table{ border-spacing:0 12px } /* беше 0 6px */

/* ред – по-отчетлив „картичка“ стил */
.table-compact tbody tr{
  background:#fff;
  border:1px solid #e7eef8;
  border-left:3px solid transparent;
  border-radius:12px;                /* беше 8px */
  overflow:hidden;
  box-shadow:0 2px 8px rgba(16,24,40,.05); /* леко сенчице */
}
.table-compact tbody tr:hover{
  background:#f7faff;
  border-left-color:#c7d8ff;
  box-shadow:0 3px 12px rgba(16,24,40,.07);
}

/* малко повече вътрешен падинг, за да „диша“ */
.table-compact th,.table-compact td{ padding:10px 12px }  /* беше 6–8px */

/* ---- Статистика: красиви KPI редове и прогноза ---- */
.stats-card{padding:12px;border-radius:12px}
.stats-title{font-weight:800;color:#1a3d7c;margin-bottom:8px;font-size:14px}

.vat-box{margin-top:6px}
.kpi-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:6px 0; border-bottom:1px dashed #e8eef6;
}
.kpi-row:last-child{border-bottom:none}
.kpi-row .lbl{color:#60708f; font-size:13px; line-height:1.2}

.kpi.amount{
  display:inline-flex; align-items:baseline; gap:6px;
  padding:3px 8px; border-radius:999px; font-weight:700; font-size:13px;
  background:#f4f7ff; color:#1a3d7c; border:1px solid #e1e9fb;
}
.kpi.amount .unit{font-weight:600; font-size:12px; opacity:.8}

/* цвят според статуса спрямо прага */
.kpi.amount.ok{
  background:#eafaf0; color:#166534; border-color:#ccebd7;  /* зелено */
}
.kpi.amount.danger{
  background:#fde8e8; color:#991b1b; border-color:#f2c9c9; /* червено */
}

/* пояснителен блок за прогноза */
.kpi-advice{
  margin-top:10px; padding:8px 10px; border-radius:10px; font-size:12.5px; line-height:1.35;
  border:1px solid #e7eef6; background:#fbfdff; color:#425472; position:relative;
}
.kpi-advice::before{
  content:""; position:absolute; left:8px; top:-6px; width:10px; height:10px;
  background:#fbfdff; border-left:1px solid #e7eef6; border-top:1px solid #e7eef6; transform:rotate(45deg);
}
.kpi-advice.ok{ border-color:#d7f0e1; background:#f3fbf6; color:#14532d }
.kpi-advice.danger{ border-color:#f4d4d4; background:#fff6f6; color:#7f1d1d }
.kpi-advice.muted{ opacity:.8 }


/* ===== Компактен мобилен изглед (без „картички“) ===== */

/* контейнер за хоризонтален скрол */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* таблицата да не пренася текст и да има минимална ширина за скрол */
.compact-mobile table{white-space:nowrap; min-width: 820px}

/* компактни клетки */
.compact-mobile .table-compact th,
.compact-mobile .table-compact td{
  padding:6px 8px;           /* по-малко отстъпи */
  font-size:12.5px;          /* по-дребен шрифт */
  line-height:1.2;
}

/* по-ясни разделители и зебра */
.compact-mobile .table-compact tbody tr{
  border:1px solid #e9eef6;
  border-left:3px solid transparent;
  border-radius:10px;
}
.compact-mobile .table-compact tbody tr:nth-child(even){background:#fbfdff}
.compact-mobile .table-compact tbody tr:hover{
  background:#f7faff; border-left-color:#c7d8ff;
}

/* изравняване на числови колони */
.compact-mobile .ta-right{text-align:right}
.compact-mobile .cell-number,
.compact-mobile .cell-date{ text-align:center }

/* по‑малки баджове и икони */
.compact-mobile .badge{padding:2px 6px;font-size:11px;border-radius:999px}
.compact-mobile .mini-btn{padding:3px 6px;font-size:12px;border-radius:6px}

/* редът за страниране + бутони да не се чупи */
.compact-mobile .list-toolbar{gap:8px}
.compact-mobile .pagination a{padding:4px 8px;font-size:12px}

/* sticky заглавие при скрол в рамките на контейнера – удобно на мобилни */
.compact-mobile .table thead th{
  position:sticky; top:0; z-index:1;
  background:#f4f6fb;    /* фон за контраст */
  border-bottom:1px solid #e1e7f3;
}

/* скриване на най-малко важните колони по твое желание:
   (откоментирай, ако искаш още по‑компактно на телефони)
@media (max-width:480px){
  .compact-mobile .cell-vat{display:none}       // скрий "ДДС"
  .compact-mobile .cell-status{display:none}    // скрий "Платена"
}
*/

/* ===== Theme tokens ===== */
:root{
  --blue-900:#1a3d7c; --blue-800:#234c99; --blue-700:#2e62c2;
  --text:#0f172a; --muted:#6b7280; --bg:#f6f8fa; --white:#fff; --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{background:var(--blue-900);color:#fff}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:800;font-size:20px}
.nav{display:flex;gap:14px}
.nav a{color:#e8efff;padding:8px 10px;border-radius:10px;font-weight:600}
.nav a:hover{background:rgba(255,255,255,.12)}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;font-weight:700}
.btn.primary{background:#fff;color:var(--blue-900)}
.btn.outline{border:1px solid rgba(255,255,255,.7);color:#fff}
.btn.outline:hover{background:rgba(255,255,255,.1)}

/* Hero */
.hero{background:linear-gradient(120deg,#1a3d7c,#234c99);color:#fff;padding:56px 0 48px}
.hero h1{margin:0 0 12px 0;font-size:42px;line-height:1.12}
.hero p{margin:0;color:#dbe5ff;font-size:18px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.chipbar{display:flex;gap:18px;margin-top:22px;color:#d6e2ff;font-weight:600}

/* Search (демо) */
.search{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.search input{flex:1 1 320px;min-width:240px;padding:12px 14px;border:none;border-radius:12px}
.search .btn{background:#fff;color:var(--blue-900)}

/* Sections */
.section{padding:36px 0}
.grid{display:grid;gap:16px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:16px}
.card h3{margin:0 0 8px 0}
.muted{color:var(--muted)}
.bullets{display:grid;gap:10px}
.bullets li{list-style:none;padding-left:20px;position:relative}
.bullets li:before{content:"•";position:absolute;left:0;color:var(--blue-900);font-weight:800}

/* CTA band */
.cta{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Footer */
.footer-top{background:var(--blue-900);padding:12px 0}
.footer-nav{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.footer-nav a{color:#fff}
.footer-bottom{background:#f8f9fb;color:#6b7ea5;text-align:center;padding:10px 0;font-size:13px}

/* Responsive */
@media (max-width:900px){
  .cols-3{grid-template-columns:1fr}
  .hero h1{font-size:34px}
}

/* header compact */
.nav a, .nav .more-btn { padding: 10px 12px; }
.nav .nav-more { position: relative; }
.nav .more-btn { background: transparent; border: 1px dashed rgba(255,255,255,.25); border-radius: 8px; color:#fff; cursor:pointer; }
.nav .more-menu { position:absolute; top:100%; right:0; min-width:200px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:6px; display:none; z-index:20; }
.nav .more-menu a { display:block; color:#0f172a; padding:8px 10px; border-radius:8px; }
.nav .more-menu a:hover { background:#f3f4f6; }
.nav .more-menu.open { display:block; }

/* active tab */
.nav a.active { background:rgba(255,255,255,.12); border-radius:10px; }

/* mobile */
.nav.open { display:block; }
@media (max-width: 980px){
  .nav { display:none; }
  .nav.open { display:block; }
  .nav .nav-more { display:block; margin-left:0; }
}
