:root{--primary:#0d2f6e;--primary-2:#1550b3;--accent:#ffc93c;--dark:#0e1b33;--light:#f4f7ff;--text:#3a4a63;--muted:#6b7a95;--wa:#25d366;--radius:18px;--shadow:0 12px 32px rgba(13,47,110,.12)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Poppins',sans-serif;background:var(--light);color:var(--text);line-height:1.6}
h1,h2,h3{font-family:'Montserrat',sans-serif;color:var(--dark)}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.plat-top{background:var(--dark);padding:12px 22px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}
.plat-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}
.plat-logo img{height:40px;background:#fff;border-radius:8px;padding:3px}
.plat-user{color:#cfe0ff;font-size:.9rem}
.plat-user a{color:var(--accent);font-weight:600}
.plat-wrap{max-width:1100px;margin:0 auto;padding:34px 20px 80px}
.plat-h1{font-size:1.5rem;margin:26px 0 16px}
.alert{border-radius:12px;padding:13px 18px;margin-bottom:16px;font-size:.92rem;font-weight:500}
.alert.err{background:#fdecec;color:#b23b3b;border:1px solid #f3c1c1}
.alert.ok{background:#e7f9ef;color:#177a48;border:1px solid #b5e8cd}
.alert.info{background:#e8f0fe;color:#1550b3;border:1px solid #c4d8fb}
.auth-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);max-width:520px;margin:40px auto;padding:36px}
.auth-tabs{display:flex;gap:10px;margin-bottom:22px}
.atab{flex:1;padding:12px;border:none;border-radius:12px;background:var(--light);font-weight:700;color:var(--muted);cursor:pointer;transition:.25s}
.atab.active{background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff}
.aform{display:none;flex-direction:column;gap:6px}
.aform.active{display:flex}
.aform label{font-weight:600;font-size:.85rem;color:var(--dark);margin-top:8px}
.aform input,.grid2 input,.grid2 select,.preda-form input{border:2px solid #e2e8f5;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.95rem;background:#f8faff;width:100%}
.aform input:focus,.grid2 input:focus,.grid2 select:focus{outline:none;border-color:var(--primary-2)}
.btn-preda{position:relative;overflow:hidden;margin-top:18px;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;border:none;padding:14px 28px;border-radius:50px;font-weight:700;font-size:.98rem;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 24px rgba(21,80,179,.35)}
.btn-preda:hover{transform:translateY(-3px) scale(1.02)}
.btn-preda::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-100%);animation:shine 2.6s infinite}
@keyframes shine{to{transform:translateX(100%)}}
.btn-preda.small{padding:11px 22px;font-size:.88rem;margin-top:12px}
.lec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.lec-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;border-top:5px solid var(--primary-2)}
.lec-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.lec-card p{font-size:.92rem}
.muted{color:var(--muted);font-size:.85rem !important}
.preda-form{max-height:0;overflow:hidden;transition:max-height .5s ease}
.preda-form.open{max-height:420px}
.preda-form label{display:block;font-size:.82rem;font-weight:600;margin:10px 0 4px;color:var(--dark)}
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:18px;font-size:.9rem}
.tbl th{background:var(--primary);color:#fff;text-align:left;padding:12px 14px;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px}
.tbl td{padding:12px 14px;border-bottom:1px solid #eef2fa;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.74rem;font-weight:700;white-space:nowrap}
.b-programata{background:#e8f0fe;color:#1550b3}.b-in_desfasurare{background:#fff4d6;color:#b07d00}.b-predata{background:#e7f9ef;color:#177a48}.b-anulata{background:#fdecec;color:#b23b3b}
.p-trimis{background:#fff4d6;color:#b07d00}.p-acceptat{background:#e7f9ef;color:#177a48}.p-respins{background:#fdecec;color:#b23b3b}
.bk-nou{background:#e8f0fe;color:#1550b3}.bk-confirmat{background:#e7f9ef;color:#177a48}.bk-anulat{background:#fdecec;color:#b23b3b}
.r-owner{background:#ffe9a8;color:#8a6100}.r-admin{background:#e8d5ff;color:#6a26c9}.r-user{background:#e8f0fe;color:#1550b3}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.tab{padding:11px 22px;border-radius:50px;background:#fff;font-weight:700;font-size:.9rem;color:var(--muted);box-shadow:0 4px 12px rgba(13,47,110,.08);transition:.25s}
.tab.active{background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff}
.panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin-bottom:22px}
.panel h3{margin-bottom:14px;font-size:1.05rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid2 .full{grid-column:1/-1}
.grid2 label{display:block;font-size:.82rem;font-weight:600;margin-bottom:4px;color:var(--dark)}
.mini{border:none;background:var(--light);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--primary)}
.mini.ok{background:#e7f9ef;color:#177a48}.mini.err{background:#fdecec;color:#b23b3b}
.link{color:var(--primary-2);font-weight:700}
@media(max-width:700px){.grid2{grid-template-columns:1fr}.tbl{font-size:.8rem}.tbl th,.tbl td{padding:9px 8px}}
/* ============ NOTE + CONFETTI + MODAL NOTA ============ */
.nota-badge{display:inline-block;margin-top:12px;background:#e8f0fe;color:#1550b3;font-weight:800;padding:7px 18px;border-radius:20px;font-size:.92rem}
.nota-badge.nota10{background:linear-gradient(135deg,#ffc93c,#ff9f1a);color:#5b3a00;box-shadow:0 6px 18px rgba(255,159,26,.5);animation:pulseNota 1.2s infinite}
@keyframes pulseNota{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.nota-big{font-weight:800;color:#1550b3;font-size:1.05rem}
.nota-big.n10{color:#5b3a00;background:linear-gradient(135deg,#ffc93c,#ff9f1a);padding:3px 10px;border-radius:12px}
.confetti-wrap{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:9999}
.confetti-wrap i{position:absolute;top:-24px;display:block;border-radius:2px;animation:confettiFall linear forwards}
@keyframes confettiFall{to{transform:translateY(112vh) rotate(720deg)}}
.modal-nota{position:fixed;inset:0;background:rgba(10,20,45,.72);display:none;align-items:center;justify-content:center;z-index:1200;padding:20px}
.modal-nota.open{display:flex}
.modal-nota-box{background:#fff;border-radius:20px;padding:32px;max-width:430px;width:100%;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35);animation:popNota .3s}
@keyframes popNota{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.modal-nota-box h3{margin-bottom:8px}
.modal-nota-box select{font-size:1.5rem;font-weight:800;padding:12px 22px;border-radius:14px;border:2px solid #e2e8f5;margin:16px 0;background:#f8faff;color:#0d2f6e;cursor:pointer}
.modal-nota-box select:focus{outline:none;border-color:#1550b3}
.modal-btns{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
/* ============ V11 DROPDOWN + SALVEAZA PRO ============ */
.status-form{display:flex;flex-direction:column;gap:7px;min-width:165px}
.select-frumos{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  width:100%;
  border:2px solid #e2e8f5;border-radius:10px;
  padding:9px 34px 9px 12px;
  font-family:inherit;font-size:.86rem;font-weight:600;color:#0d2f6e;
  background:#f8faff url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231550b3' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  cursor:pointer;transition:border-color .2s, box-shadow .2s;
}
.select-frumos:hover{border-color:#1550b3}
.select-frumos:focus{outline:none;border-color:#1550b3;box-shadow:0 0 0 3px rgba(21,80,179,.15)}
.select-frumos option{padding:8px 12px;font-weight:600;color:#0e1b33;background:#fff}
.btn-salveaza{
  border:none;cursor:pointer;
  background:linear-gradient(135deg,#1550b3,#0d2f6e);
  color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:1.6px;text-transform:uppercase;
  padding:9px 12px;border-radius:9px;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 6px 14px rgba(21,80,179,.3);
}
.btn-salveaza:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(21,80,179,.42)}
.btn-salveaza:active{transform:translateY(0)}
/* ============ V12 CRM ============ */
.chk-row{display:flex;gap:26px;flex-wrap:wrap;margin-top:8px}
.chk{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.9rem;color:var(--dark);cursor:pointer}
.chk input{width:20px;height:20px;accent-color:#1550b3;cursor:pointer}
.b-inscris{background:#e7f9ef;color:#177a48}
.b-neinscris{background:#fdecec;color:#b23b3b}
.m-gratuit{background:#e7f9ef;color:#177a48}
.m-cu_plata{background:#e8f0fe;color:#1550b3}
/* ============ V15 CRM FIX CULORI + NOTE ============ */
.c-inscris{background:#e7f9ef;color:#177a48}
.c-neinscris{background:#fdecec;color:#b23b3b}
.c-in_desfasurare{background:#e8f0fe;color:#1550b3}
.c-curs_finalizat{background:#fff4d6;color:#b07d00}
.s-feminin{background:#ffd6e7;color:#d63384}
.s-masculin{background:#e8f0fe;color:#1550b3}
.r-admis{background:#e7f9ef;color:#177a48}
.r-respins{background:#fdecec;color:#b23b3b}
.r-in_asteptare{background:#eef2fa;color:#6b7a95}
.td-sex{white-space:nowrap}
.td-sex .badge{margin-right:5px}
.nota-full{display:block;max-width:250px;white-space:normal;font-size:.82rem;line-height:1.5;color:#3a4a63;text-align:left;margin-top:3px}
/* ============ V20 LANG PLATFORMA ============ */
.plat-right{display:flex;align-items:center;gap:14px}
.ui-controls{display:flex;gap:8px;align-items:center}
.ui-btn{width:38px;height:38px;border-radius:50%;border:2px solid #e2e8f5;background:#fff;font-size:1rem;cursor:pointer;transition:transform .25s,border-color .25s;display:flex;align-items:center;justify-content:center;line-height:1}
.ui-btn:hover{border-color:#1550b3;transform:translateY(-2px)}
.lang-wrap{position:relative}
.lang-menu{position:absolute;right:0;top:46px;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(13,47,110,.2);padding:6px;display:none;min-width:150px;z-index:960}
.lang-menu.open{display:block}
.lang-menu button{display:flex;gap:9px;width:100%;border:none;background:none;padding:9px 12px;border-radius:8px;font-family:inherit;font-weight:600;font-size:.9rem;color:#0e1b33;cursor:pointer;text-align:left}
.lang-menu button:hover{background:#f8faff}
/* ============ V21 DARK MODE PLATFORMA + CONTROALE ADMIN ============ */
.login-controls,.admin-controls{display:flex;gap:8px;align-items:center;margin-bottom:14px;justify-content:flex-end}
.admin-controls{margin-bottom:0;justify-content:flex-start}

/* ---- Dark mode: variabile si fundal ---- */
html.dark body{background:#0b1220;color:#c7d3e8}
html.dark h1,html.dark h2,html.dark h3{color:#eaf0fc}

/* bara de sus */
html.dark .plat-top{background:#070d18}
html.dark .plat-user{color:#9db4e0}
html.dark .plat-user a{color:#ffc93c}

/* carduri si panouri */
html.dark .auth-card,html.dark .panel,html.dark .lec-card{background:#0f1a2e;box-shadow:0 12px 32px rgba(0,0,0,.45)}
html.dark .lec-card{border-top-color:#7fa3ff}

/* tab-uri */
html.dark .tab{background:#0f1a2e;color:#9db4e0}
html.dark .tab.active{background:linear-gradient(135deg,#1550b3,#0d2f6e);color:#fff}

/* tabele */
html.dark .tbl{background:#0f1a2e;box-shadow:0 12px 32px rgba(0,0,0,.45)}
html.dark .tbl th{background:#1550b3}
html.dark .tbl td{border-bottom-color:#22334f;color:#c7d3e8}
html.dark .tbl tr:hover td{background:#16233c}
html.dark .tbl small{color:#8ea0bd}

/* formulare */
html.dark .aform label,html.dark .grid2 label,html.dark .preda-form label{color:#eaf0fc}
html.dark .aform input,html.dark .grid2 input,html.dark .grid2 select,html.dark .preda-form input{background:#0b1626;border-color:#22334f;color:#eaf0fc}
html.dark .aform input:focus,html.dark .grid2 input:focus,html.dark .grid2 select:focus{border-color:#7fa3ff;box-shadow:0 0 0 3px rgba(127,163,255,.2)}
html.dark .auth-tabs .atab{background:#16233c;color:#9db4e0}
html.dark .auth-tabs .atab.active{background:linear-gradient(135deg,#1550b3,#0d2f6e);color:#fff}

/* alerte */
html.dark .alert.err{background:#2a0d0d;color:#ff9d9d;border-color:#5c1d1d}
html.dark .alert.ok{background:#0d2a1c;color:#7fe0a8;border-color:#1d5c3a}
html.dark .alert.info{background:#0d1e3a;color:#9dc1ff;border-color:#1d3a6c}

/* butoane */
html.dark .mini{background:#16233c;color:#9dc1ff}
html.dark .mini.ok{background:#0d2a1c;color:#7fe0a8}
html.dark .mini.err{background:#2a0d0d;color:#ff9d9d}
html.dark .btn-salveaza{box-shadow:0 6px 14px rgba(0,0,0,.5)}
html.dark .link{color:#7fa3ff}
html.dark .select-frumos{background-color:#0b1626;border-color:#22334f;color:#eaf0fc}
html.dark .select-frumos option{background:#0f1a2e;color:#eaf0fc}

/* controale UI */
html.dark .ui-btn{background:#0f1a2e;border-color:#22334f}
html.dark .lang-menu{background:#0f1a2e}
html.dark .lang-menu button{color:#eaf0fc}
html.dark .lang-menu button:hover{background:#16233c}

/* modal nota */
html.dark .modal-nota{background:rgba(0,0,0,.8)}
html.dark .modal-nota-box{background:#0f1a2e}
html.dark .modal-nota-box h3{color:#eaf0fc}
html.dark .modal-nota-box p{color:#8ea0bd}
html.dark .modal-nota-box select{background:#0b1626;border-color:#22334f;color:#eaf0fc}

/* badge-uri note / status */
html.dark .nota-badge{background:#16233c;color:#9dc1ff}
html.dark .nota-big{color:#9dc1ff}

/* text auxiliar */
html.dark .muted{color:#8ea0bd !important}
html.dark .plat-h1{color:#eaf0fc}