/* Tema inchisa: aproape negru, accent roz (#FF3366), nuante de visiniu inchis. Fara crem / bej. */
:root {
  color-scheme:dark;
  --bg:#0c0c0f; --panou:#15151a; --panou2:#1c1c23; --linie:#2a2a34; --linie2:#383844;
  --text:#f3f3f6; --muted:#9c9cab; --stins:#6b6b79;
  --accent:#ff3366; --accent2:#ff5c85; --visiniu:#2a0f18; --visiniu2:#3d1522;
  --ok:#3ecf8e; --ok-bg:#0f2a20; --rau:#ff7a7a; --rau-bg:#331417; --atentie:#f5b94a; --atentie-bg:#2f240d;
}
* { box-sizing:border-box; } html,body { margin:0; }
body { font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; color:var(--text); background:var(--bg); line-height:1.5; font-size:15px; -webkit-font-smoothing:antialiased; }
a { color:var(--accent2); text-decoration-thickness:1px; text-underline-offset:3px; } a:hover { color:#fff; }
h1 { margin:0 0 4px; font-size:30px; line-height:1.15; font-weight:750; letter-spacing:-.6px; }
h2 { margin:0 0 12px; font-size:16px; font-weight:700; letter-spacing:-.1px; }
code { background:var(--panou2); border:1px solid var(--linie); border-radius:6px; padding:1px 6px; font-size:14px; }
strong { font-weight:650; }
.discret { color:var(--muted); } .mic { font-size:13px; } .nota { font-size:13px; color:var(--muted); margin:12px 0 0; }

/* antet */
.sus { position:sticky; top:0; z-index:5; background:rgba(12,12,15,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--linie); display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 22px; }
.marca { font-weight:800; letter-spacing:3.5px; font-size:13px; color:#fff; text-decoration:none; }
.marca::before { content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--accent); margin-right:10px; box-shadow:0 0 14px var(--accent); }
.cine { display:flex; align-items:center; gap:12px; font-size:14px; } .cine a { color:var(--text); text-decoration:none; font-weight:600; } .cine form { margin:0; }
.rol { color:var(--accent2); font-size:12px; font-weight:600; background:var(--visiniu); border:1px solid var(--visiniu2); border-radius:999px; padding:2px 10px; }

/* cadru: meniu + continut */
.cadru { display:grid; grid-template-columns:240px minmax(0,1fr); max-width:1360px; margin:0 auto; }
.meniu { padding:24px 14px; display:flex; flex-direction:column; gap:2px; position:sticky; top:50px; align-self:start; }
.leg { display:block; padding:9px 14px; border-radius:10px; color:var(--muted); text-decoration:none; font-size:14.5px; font-weight:550; border-left:3px solid transparent; }
a.leg:hover { background:var(--panou); color:#fff; }
.leg.activ { background:var(--visiniu); color:#fff; border-left-color:var(--accent); }
.leg.viitor { color:var(--stins); font-weight:450; } .leg small { font-size:10.5px; margin-left:6px; white-space:nowrap; text-transform:uppercase; letter-spacing:.6px; }
.grup { margin:20px 14px 6px; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--stins); }
main { padding:30px 26px 64px; display:grid; gap:20px; align-content:start; min-width:0; }
main > p { margin:0; }
section { background:var(--panou); border:1px solid var(--linie); border-radius:16px; padding:22px; min-width:0; }

/* carduri de module */
.carduri { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
.card { position:relative; background:var(--panou); border:1px solid var(--linie); border-radius:16px; padding:20px 22px; text-decoration:none; color:var(--text); display:block; transition:border-color .15s, transform .15s, background .15s; }
a.card:hover { border-color:var(--accent); background:var(--panou2); transform:translateY(-2px); color:var(--text); }
a.card::after { content:"→"; position:absolute; right:20px; top:18px; color:var(--accent); font-size:18px; }
.card h2 { margin:0 0 6px; font-size:17px; } .card p { margin:0 0 10px; color:var(--muted); font-size:14px; }
.card.viitor { background:transparent; border-style:dashed; } .card.viitor h2 { color:var(--muted); }
.eticheta { display:inline-block; font-size:11px; font-weight:700; color:var(--muted); background:var(--panou2); border:1px solid var(--linie); border-radius:999px; padding:1px 9px; white-space:nowrap; }
.eticheta.ok { color:var(--ok); background:var(--ok-bg); border-color:transparent; }
.eticheta.rau { color:var(--rau); background:var(--rau-bg); border-color:transparent; }

/* formulare */
label { display:grid; gap:5px; font-size:12.5px; font-weight:600; color:var(--muted); }
input, select, textarea { font:inherit; color:var(--text); background:#0f0f13; border:1px solid var(--linie2); border-radius:10px; padding:9px 11px; min-width:0; width:100%; }
textarea { resize:vertical; }
input::placeholder { color:var(--stins); }
input:hover, select:hover, textarea:hover { border-color:#4a4a58; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,51,102,.25); }
button:focus-visible, a:focus-visible { outline:2px solid var(--accent2); outline-offset:2px; }
input[readonly] { background:var(--panou2); color:var(--muted); }
input[type=checkbox] { width:18px; height:18px; padding:0; accent-color:var(--accent); }
button { font:inherit; font-weight:700; color:#fff; background:var(--accent); border:0; border-radius:10px; padding:10px 18px; cursor:pointer; white-space:nowrap; transition:background .15s; }
button:hover { background:#e62558; }
button.secundar, a.buton { background:var(--panou2); color:var(--text); border:1px solid var(--linie2); } button.secundar:hover, a.buton:hover { background:#26262f; border-color:#4a4a58; color:#fff; }
button.mic, a.buton.mic { padding:6px 12px; font-size:13px; }
a.buton { display:inline-block; font-weight:700; border-radius:10px; text-decoration:none; white-space:nowrap; }
button.simplu { background:none; color:var(--muted); border:1px solid var(--linie2); padding:5px 13px; font-size:13px; font-weight:600; } button.simplu:hover { background:var(--panou2); color:#fff; }
.formular { display:grid; gap:14px; max-width:420px; }
.formular.rand { max-width:none; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); align-items:end; }
.formular.rand + .formular.rand, .formular.rand + .tabel { margin-top:16px; }
.formular.rand .lat { grid-column:1 / -1; } h2.sub { margin-top:26px; padding-top:20px; border-top:1px solid var(--linie); }
form.inline { display:inline; margin:0; }
.actiuni-jos { margin:16px 0 0; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }

/* tabele */
.tabel { overflow-x:auto; } table { border-collapse:collapse; width:100%; }
th,td { padding:9px 10px; text-align:left; border-bottom:1px solid var(--linie); white-space:nowrap; font-size:14px; vertical-align:middle; }
th { color:var(--stins); font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.7px; } tbody tr:last-child td { border-bottom:0; }
tbody tr:hover td { background:rgba(255,255,255,.025); }
td input { min-width:170px; } td select { min-width:110px; } td.actiuni { text-align:right; } td.larg { white-space:normal; min-width:240px; }
td input.suma { min-width:110px; } td input[type=date] { min-width:150px; } td input[type=checkbox] { min-width:0; }
th.n, td.n { text-align:right; font-variant-numeric:tabular-nums; } th.c, td.c { text-align:center; }
tr.titlu td { font-weight:700; color:var(--accent2); background:var(--visiniu); font-size:12px; text-transform:uppercase; letter-spacing:.8px; }
tr.viitoare td { color:var(--stins); } tr.nou td { background:rgba(255,255,255,.02); }
.fisa { display:grid; grid-template-columns:max-content 1fr; gap:8px 22px; margin:0; } .fisa dt { color:var(--muted); } .fisa dd { margin:0; }

/* cifre mari */
.cifre { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; }
.cifra { background:linear-gradient(160deg,var(--panou2),var(--panou)); border:1px solid var(--linie); border-radius:16px; padding:18px 20px; min-width:0; }
.cifra .nume { font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--stins); }
.cifra .val { font-size:28px; font-weight:750; letter-spacing:-.6px; line-height:1.2; margin-top:6px; font-variant-numeric:tabular-nums; }
.cifra .det { font-size:13px; color:var(--muted); margin-top:3px; } .cifra .val.rau { color:var(--rau); } .cifra .val.ok { color:var(--ok); }

/* vanzari */
svg.bara { display:block; width:100%; height:10px; border-radius:999px; } .progres svg.bara { height:16px; }
.bara .pista { fill:#26262f; } .bara .plin { fill:var(--accent); } .bara .plin.ok { fill:var(--ok); } .bara .reper { fill:#fff; }
.legenda { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--muted); margin-top:12px; }
.legenda i { display:inline-block; margin-right:6px; } .legenda i.p { width:10px; height:10px; border-radius:3px; background:var(--accent); }
.legenda i.r { width:2px; height:12px; background:#fff; vertical-align:-2px; }
td.cubara { width:36%; min-width:140px; }
.doua { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:20px; } p.fara { margin:0; }

/* contracte */
.tip { display:inline-block; font-size:11px; font-weight:700; border-radius:999px; padding:2px 10px; white-space:nowrap; vertical-align:1px; }
.tip.alocatie { background:var(--accent); color:#fff; } .tip.conventie { background:transparent; color:var(--accent2); border:1px solid var(--accent2); padding:1px 9px; }
a.tag { display:inline-block; font-size:12px; color:var(--muted); background:var(--panou2); border:1px solid var(--linie); border-radius:6px; padding:0 7px; text-decoration:none; }
a.tag:hover { border-color:var(--accent); color:#fff; }

/* tabelul agentii x hoteluri: prima coloana ramane pe loc, hotelurile sunt grupate pe societati */
table.matrice { border-collapse:separate; border-spacing:0; }
table.matrice th, table.matrice td { padding:8px 4px; }
table.matrice thead th { background:var(--panou); }
table.matrice tr.societati th { text-align:center; color:var(--accent2); font-size:10.5px; letter-spacing:1px; border-bottom:2px solid var(--visiniu2); padding-bottom:6px; }
table.matrice th.hotel { text-align:center; text-transform:none; letter-spacing:0; font-size:12.5px; font-weight:600; color:var(--text); white-space:normal; line-height:1.25; min-width:68px; max-width:92px; vertical-align:bottom; }
table.matrice .margine { border-left:1px solid var(--linie2); }
table.matrice th:first-child, table.matrice td:first-child { position:sticky; left:0; z-index:1; background:var(--panou); text-align:left; white-space:normal; min-width:230px; padding-left:2px; padding-right:14px; }
table.matrice td:first-child a { text-decoration:none; color:var(--text); } table.matrice td:first-child a:hover { color:var(--accent2); }
table.matrice td:first-child .sub { display:flex; gap:5px; flex-wrap:wrap; margin-top:4px; align-items:center; }
table.matrice tbody tr:hover td { background:#1b1b22; }
.bifa { display:inline-block; width:30px; height:30px; line-height:28px; border-radius:9px; text-align:center; font-size:13px; font-weight:800; text-decoration:none; border:1.5px dashed var(--stins); color:var(--muted); background:transparent; }
.bifa.semnat { border-style:solid; }
.bifa.alocatie.semnat { background:var(--accent); border-color:var(--accent); color:#fff; }
.bifa.conventie.semnat { background:var(--visiniu); border-color:var(--accent2); color:var(--accent2); }
a.bifa:hover { transform:scale(1.12); color:#fff; border-color:#fff; }
.gol { color:#33333d; }
.legenda-matrice { display:flex; gap:18px; flex-wrap:wrap; align-items:center; font-size:13px; color:var(--muted); margin:14px 0 0; }
.legenda-matrice span { display:inline-flex; align-items:center; gap:7px; } .legenda-matrice .bifa { width:24px; height:24px; line-height:22px; font-size:11px; border-radius:7px; }

/* mesaje */
.mesaj { margin:0; padding:12px 16px; border-radius:12px; background:var(--ok-bg); color:var(--ok); border:1px solid rgba(62,207,142,.25); font-size:14.5px; }
.mesaj.rau { background:var(--rau-bg); color:var(--rau); border-color:rgba(255,122,122,.25); }
.mesaj.atentie { background:var(--atentie-bg); color:var(--atentie); border-color:rgba(245,185,74,.25); }
.parola { display:inline-block; font-size:17px; font-weight:700; letter-spacing:1px; background:#0f0f13; color:#fff; padding:3px 10px; margin:0 6px; user-select:all; }

/* pagini fara meniu (autentificare, instalare) */
body.simpla { display:grid; place-items:center; min-height:100vh; padding:20px; background:radial-gradient(900px 500px at 50% -10%, var(--visiniu2), transparent 70%), var(--bg); }
.cutie { background:var(--panou); border:1px solid var(--linie); border-radius:20px; padding:32px; width:100%; max-width:420px; display:grid; gap:16px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.cutie p { margin:0; } .cutie button { padding:12px 18px; }

@media (max-width:860px) {
  .cadru { grid-template-columns:1fr; }
  .meniu { position:static; flex-direction:row; flex-wrap:wrap; padding:12px 14px 0; gap:6px; }
  .leg { padding:6px 12px; background:var(--panou); border:1px solid var(--linie); } .leg.activ { border-color:var(--accent); } .leg.viitor { display:none; }
  .grup { display:none; }
  main { padding:20px 14px 44px; } h1 { font-size:25px; } section { padding:16px; }
}
