/* Logisoft v7 — temă vizuală (din prototipul de design), peste Bootstrap 5.3 */
/* Inter (SIL OFL 1.1), găzduit local — fără cereri către Google Fonts */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bg:#f7f9fc; --surface:#fff; --surface2:#eef3f8; --text:#111827; --muted:#64748b; --line:#e2e8f0;
  --accent:#16b889; --accent-text:#0d8a66; --accentsoft:#e2f9f0; --on-accent:#05261c;
  --shadow:0 16px 50px rgba(20,35,55,.07); --nav:#ffffffeb; --danger-soft:#fde8e3; --warn-soft:#ffedd5;
  --sidebar-w:252px;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#0b1020; --surface:#121a2b; --surface2:#192338; --text:#f5f7fa; --muted:#94a3b8; --line:#29364c;
  --accent:#32d6a0; --accent-text:#4ee0b0; --accentsoft:#123b35; --on-accent:#05261c;
  --shadow:0 18px 60px #0004; --nav:#0b1020ed; --danger-soft:#3a1d1a; --warn-soft:#3a2a12;
  color-scheme:dark;
}

/* ---------- Bootstrap mapat pe variabilele temei ---------- */
[data-bs-theme]{
  --bs-body-font-family:var(--font); --bs-body-bg:var(--bg); --bs-body-color:var(--text);
  --bs-secondary-color:var(--muted); --bs-tertiary-bg:var(--surface2); --bs-secondary-bg:var(--surface2);
  --bs-border-color:var(--line); --bs-border-radius:.6rem; --bs-border-radius-sm:.45rem; --bs-border-radius-lg:.9rem;
  --bs-link-color:var(--accent-text); --bs-link-hover-color:var(--accent); --bs-link-color-rgb:13,138,102;
  --bs-emphasis-color:var(--text); --bs-heading-color:var(--text);
  --bs-focus-ring-color:color-mix(in srgb, var(--accent) 35%, transparent);
}
html[data-theme=dark] [data-bs-theme], html[data-theme=dark]{ --bs-link-color-rgb:78,224,176; }
body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:.925rem}
a{text-decoration:none}
a:hover{text-decoration:underline}
.text-muted{color:var(--muted)!important}
h1,.h1,h2,.h2,h3,.h3{letter-spacing:-.5px;font-weight:800}
.h5,.h6,h5,h6{font-weight:750}

.card{--bs-card-bg:var(--surface);--bs-card-border-color:var(--line);--bs-card-border-radius:13px;--bs-card-cap-bg:var(--surface);box-shadow:0 3px 14px #00000006}
.shadow-sm{box-shadow:0 3px 14px #00000008!important}
.card-header.bg-white,.bg-white{background:var(--surface)!important}
html[data-theme=dark] .bg-white{color:var(--text)}
.list-group{--bs-list-group-bg:var(--surface);--bs-list-group-border-color:var(--line);--bs-list-group-action-hover-bg:var(--surface2);--bs-list-group-color:var(--text);--bs-list-group-action-color:var(--text);--bs-list-group-action-hover-color:var(--text);--bs-list-group-active-bg:var(--accentsoft);--bs-list-group-active-color:var(--accent-text);--bs-list-group-active-border-color:var(--line)}
.list-group-item.active{font-weight:700}
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-border-color:var(--line);--bs-dropdown-link-color:var(--text);--bs-dropdown-link-hover-bg:var(--accentsoft);--bs-dropdown-link-hover-color:var(--accent-text);--bs-dropdown-link-active-bg:var(--accent);--bs-dropdown-link-active-color:var(--on-accent);border-radius:12px;box-shadow:var(--shadow);font-size:.9rem}
.dropdown-item{border-radius:7px}
.dropdown-menu{padding:6px}

.btn{--bs-btn-font-weight:700;--bs-btn-border-radius:10px;font-size:.875rem}
.btn-sm{--bs-btn-border-radius:8px;font-size:.8rem}
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-color:var(--on-accent);--bs-btn-hover-bg:color-mix(in srgb,var(--accent) 88%,#000);--bs-btn-hover-border-color:color-mix(in srgb,var(--accent) 88%,#000);--bs-btn-hover-color:var(--on-accent);--bs-btn-active-bg:color-mix(in srgb,var(--accent) 80%,#000);--bs-btn-active-color:var(--on-accent);--bs-btn-disabled-bg:var(--accent);--bs-btn-disabled-border-color:var(--accent);--bs-btn-disabled-color:var(--on-accent)}
.btn-outline-primary{--bs-btn-color:var(--accent-text);--bs-btn-border-color:color-mix(in srgb,var(--accent) 55%,var(--line));--bs-btn-hover-bg:var(--accentsoft);--bs-btn-hover-color:var(--accent-text);--bs-btn-hover-border-color:var(--accent);--bs-btn-active-bg:var(--accentsoft);--bs-btn-active-color:var(--accent-text)}
.btn-outline-secondary{--bs-btn-color:var(--text);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--surface2);--bs-btn-hover-color:var(--text);--bs-btn-hover-border-color:var(--line);--bs-btn-active-bg:var(--surface2);--bs-btn-active-color:var(--text);background:var(--surface)}
.btn-link{--bs-btn-color:var(--accent-text);font-weight:600}
.btn-check:checked + .btn-outline-success{color:#fff}

.form-control,.form-select{background-color:var(--surface);border-color:var(--line);color:var(--text);border-radius:9px}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent) 22%,transparent);background-color:var(--surface);color:var(--text)}
.form-control::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}
.form-label{font-weight:650;font-size:.82rem;color:var(--text);margin-bottom:.3rem}
.form-text{color:var(--muted)}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.input-group-text{background:var(--surface2);border-color:var(--line);color:var(--muted)}

.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line);--bs-table-striped-bg:color-mix(in srgb,var(--surface2) 55%,transparent);--bs-table-striped-color:var(--text);--bs-table-hover-bg:var(--accentsoft);--bs-table-hover-color:var(--text);font-size:.88rem}
.table thead th{color:var(--muted);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;border-bottom-width:1px;white-space:nowrap}
.table > :not(caption) > * > *{padding:.7rem .65rem}
.table-light{--bs-table-bg:var(--surface2);--bs-table-color:var(--text)}

.alert{border-radius:12px;border-width:1px}
.badge{font-weight:700;border-radius:6px;letter-spacing:.2px}
.text-bg-primary{background:var(--accentsoft)!important;color:var(--accent-text)!important}
.text-bg-success{background:var(--accentsoft)!important;color:var(--accent-text)!important}
.text-bg-warning{background:var(--warn-soft)!important;color:#b45309!important}
.text-bg-danger{background:var(--danger-soft)!important;color:#c2410c!important}
.text-bg-secondary,.text-bg-light{background:var(--surface2)!important;color:var(--muted)!important}
.text-bg-dark{background:var(--text)!important;color:var(--bg)!important}
.bg-success{background-color:var(--accent)!important}
.progress{--bs-progress-bg:var(--surface2);--bs-progress-bar-bg:var(--accent);border-radius:20px}
.nav-tabs{--bs-nav-tabs-link-active-bg:var(--surface);--bs-nav-tabs-link-active-color:var(--text);--bs-nav-tabs-border-color:var(--line);--bs-nav-link-color:var(--muted);--bs-nav-link-hover-color:var(--accent-text)}
.border-primary{border-color:var(--accent)!important}
.text-success{color:var(--accent-text)!important}
details > summary{cursor:pointer;color:var(--accent-text);font-weight:600}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* ---------- Brand ---------- */
.ls-logo-img{width:auto;display:block;max-width:100%}
html[data-theme=dark] .ls-logo-img.lt{display:none}
html:not([data-theme=dark]) .ls-logo-img.dk{display:none}
.ls-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;letter-spacing:-.7px;color:var(--text)!important;text-decoration:none!important}
.ls-eyebrow{color:var(--accent-text);font-size:11px;font-weight:850;letter-spacing:1.4px;text-transform:uppercase}

/* ---------- Shell aplicație ---------- */
.ls-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,var(--surface) 0 calc(var(--sidebar-w) - 1px),var(--line) calc(var(--sidebar-w) - 1px) var(--sidebar-w),transparent var(--sidebar-w))}
.ls-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);padding:18px 12px 24px;z-index:40}
.ls-sidebar .ls-brand{padding:4px 10px 18px}
.ls-company{width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:11px;padding:10px 12px;font-size:.82rem;font-weight:750;color:var(--text);display:flex;align-items:center;gap:8px}
.ls-company small{display:block;color:var(--muted);font-weight:500;font-size:.72rem;margin-top:2px}
.ls-company .ls-company-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-group{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:800;margin:18px 12px 6px}
.ls-item{display:flex;align-items:center;gap:10px;border-radius:9px;padding:8px 12px;font-size:.85rem;font-weight:600;color:var(--muted);text-decoration:none!important}
.ls-item .ls-ico{width:18px;text-align:center;font-size:14px;opacity:.9}
.ls-item:hover{background:var(--surface2);color:var(--text)}
.ls-item.active{background:var(--accentsoft);color:var(--accent-text)}
.ls-item .badge{margin-left:auto}
.ls-main{min-width:0;display:flex;flex-direction:column}
.ls-topbar{position:sticky;top:0;z-index:30;background:var(--nav);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:11px 24px;display:flex;align-items:center;gap:12px}
.ls-search{flex:1;max-width:460px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:9px 13px;color:var(--muted);font-size:.85rem;text-align:left;display:flex;align-items:center;gap:8px}
.ls-search-short{display:none}
.ls-search kbd{margin-left:auto;background:var(--surface2);color:var(--muted);border:1px solid var(--line);font-size:.7rem;padding:1px 6px;border-radius:5px}
.ls-iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;font-size:16px;flex:none}
.ls-iconbtn:hover{background:var(--surface2)}
.ls-avatar{width:36px;height:36px;border-radius:50%;background:#3b77c8;color:#fff;display:grid;place-items:center;font-weight:800;font-size:.78rem;border:0;flex:none}
.ls-content{padding:26px 28px 40px;width:100%;max-width:1440px}
.ls-menu-toggle{display:none}
.ls-backdrop{display:none}
.ls-mobilebar{display:none}

/* Titlu de pagină: primul h1 din conținut */
.ls-content > h1:first-child, .ls-content > .d-flex:first-child h1{letter-spacing:-.8px}

/* ---------- KPI și grafic dashboard ---------- */
.ls-kpi .lbl{color:var(--muted);font-size:.75rem;font-weight:700}
.ls-kpi .val{font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:850;letter-spacing:-.6px;margin-top:6px}
.ls-chart svg{width:100%;height:210px;overflow:visible}
.ls-chart text{font-size:10px;fill:var(--muted)}
.ls-activity{display:flex;flex-direction:column;gap:13px}
.ls-activity-row{display:flex;gap:10px;align-items:flex-start;font-size:.82rem}
.ls-bubble{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--accentsoft);color:var(--accent-text);font-size:13px}
.ls-activity-row small{display:block;color:var(--muted);margin-top:2px}

/* ---------- Căutare globală (Ctrl K) ---------- */
.ls-palette-back{position:fixed;inset:0;z-index:1080;background:#020817a8;display:none;align-items:flex-start;justify-content:center;padding:10vh 14px 14px}
.ls-palette-back.open{display:flex}
.ls-palette{width:min(620px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.ls-palette input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:16px 18px;font-size:1rem;outline:none}
.ls-palette-list{max-height:55vh;overflow-y:auto;padding:6px}
.ls-palette-sec{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.1px;font-weight:800;padding:10px 12px 4px}
.ls-palette-item{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:9px;color:var(--text)!important;text-decoration:none!important;font-size:.88rem}
.ls-palette-item small{color:var(--muted);display:block;font-size:.75rem}
.ls-palette-item.sel,.ls-palette-item:hover{background:var(--accentsoft)}
.ls-palette-empty{padding:22px;text-align:center;color:var(--muted);font-size:.88rem}
.ls-palette-foot{border-top:1px solid var(--line);padding:8px 14px;font-size:.72rem;color:var(--muted);display:flex;gap:14px}

/* ---------- Pagini pentru vizitatori (login, înregistrare) ---------- */
.ls-guest{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.ls-guest:before{content:"";position:absolute;z-index:-1;width:900px;height:560px;top:-260px;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse,#16b88926,transparent 70%)}
.ls-guest-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 24px}
@media (max-width:575.98px){.ls-guest-top{padding:12px 14px}.ls-guest-top .ls-logo-img{height:26px!important}.ls-guest-top .btn{padding:7px 11px}.ls-guest-top .ls-iconbtn{width:34px;height:34px}}
.ls-guest-main{flex:1;width:min(1100px,calc(100% - 28px));margin:0 auto;padding:20px 0 50px}
.ls-guest .card{border-radius:16px;box-shadow:var(--shadow)}
.ls-guest-foot{text-align:center;font-size:.75rem;color:var(--muted);padding:18px}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  .ls-shell{display:block}
  .ls-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(280px,86vw);transform:translateX(-102%);transition:transform .22s ease;box-shadow:var(--shadow)}
  .ls-sidebar.open{transform:none}
  .ls-backdrop.open{display:block;position:fixed;inset:0;background:#02081780;z-index:35}
  .ls-menu-toggle{display:grid}
  .ls-topbar{padding:10px 12px}
  .ls-search{max-width:none}
  .ls-search .ls-search-label{display:none}
  .ls-search .ls-search-short{display:inline}
  .ls-shell{background:none}
  .ls-search kbd{display:none}
  .ls-content{padding:16px 14px 86px}
  .ls-mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
  .ls-mobilebar a,.ls-mobilebar button{background:none;border:0;color:var(--muted);font-size:10.5px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;text-decoration:none!important;min-width:56px}
  .ls-mobilebar .ico{font-size:17px;line-height:1}
  .ls-mobilebar .active{color:var(--accent-text)}
  .table-responsive{border-radius:13px}
}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.ls-sidebar,.ls-topbar,.ls-mobilebar{display:none!important}.ls-shell{display:block}.ls-content{padding:0}}
