:root{--bg:#0B0E11;--card:#141920;--card2:#1A2029;--border:#252D3A;--border2:#1E2633;--accent:#D4A843;--accent-dim:#A07E2F;--accent-bg:rgba(212,168,67,.07);--green:#3FB068;--green-bg:rgba(63,176,104,.07);--green-border:rgba(63,176,104,.15);--red:#E05555;--red-bg:rgba(224,85,85,.07);--red-border:rgba(224,85,85,.15);--blue:#4A9EF5;--blue-bg:rgba(74,158,245,.07);--text:#E2E7EE;--text2:#A0ADBB;--text3:#5E6E80;--input:#0D1117;--radius:10px;--shadow:0 2px 12px rgba(0,0,0,.25)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans','Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-tap-highlight-color:transparent}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
input,select,button,textarea{font-family:inherit}
input[type=number]{appearance:textfield;-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse at 30% 20%,#151C26,#0B0E11 70%)}
.login-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px 28px;width:100%;max-width:380px;animation:fadeUp .4s ease;box-shadow:var(--shadow)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px;justify-content:center}
.login-logo-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-dim));display:flex;align-items:center;justify-content:center;color:#000;font-weight:800;font-size:18px}
.login-logo-text{font-size:20px;font-weight:700;letter-spacing:-.5px}
.login-logo-sub{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1.8px;margin-top:2px}
.form-group{margin-bottom:14px}.form-label{display:block;font-size:11px;font-weight:600;color:var(--text2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.8px}
.form-input{width:100%;padding:10px 13px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:14px;outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--accent)}
.btn-primary{width:100%;padding:11px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-dim));color:#000;font-weight:700;font-size:14px;cursor:pointer;transition:opacity .2s;margin-top:4px}
.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}
.login-error{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:14px;display:none}

.header{background:linear-gradient(180deg,#121820 0%,var(--bg) 100%);border-bottom:1px solid var(--border2);padding:14px 16px 12px;position:sticky;top:0;z-index:50}
.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.logo{display:flex;align-items:center;gap:9px}
.logo-icon{width:32px;height:32px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent-dim));display:flex;align-items:center;justify-content:center;color:#000;font-weight:800;font-size:13px}
.logo-text{font-size:15px;font-weight:700;letter-spacing:-.4px}.logo-sub{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin-top:1px}
.user-menu{display:flex;align-items:center;gap:6px}.user-name{font-size:11px;color:var(--text3);font-weight:500}
.btn-logout{padding:4px 9px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text3);font-size:10px;font-weight:600;cursor:pointer}
.btn-logout:hover{border-color:var(--red);color:var(--red)}
.nav-row{display:flex;gap:4px;margin-bottom:8px}
.year-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text3);font-weight:600;font-size:11px;cursor:pointer;transition:all .15s}
.year-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.tabs{display:flex;gap:2px;background:var(--input);border-radius:8px;padding:2px}
.tab{flex:1;padding:7px 4px;border-radius:6px;border:none;background:transparent;color:var(--text3);font-weight:600;font-size:11px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}
.tab.active{background:var(--card);color:var(--text)}
.body{padding:12px 14px 80px;max-width:820px;margin:0 auto}
.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border2);margin-bottom:8px;overflow:hidden}
.card-header{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s}
.card-header:hover{background:var(--card2)}
.obj-name{font-weight:700;font-size:13px;letter-spacing:-.2px}.obj-meta{font-size:10px;color:var(--text3);margin-top:2px}
.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.badge-green{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}
.badge-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}
.badge-accent{background:var(--accent-bg);color:var(--accent);border:1px solid rgba(212,168,67,.15)}
.month-dots{padding:0 14px 10px;display:flex;gap:2px}
.month-dot{flex:1;text-align:center}.month-dot-bar{height:3px;border-radius:2px;background:rgba(37,45,58,.5);transition:all .3s}
.month-dot-bar.pos{background:var(--green)}.month-dot-bar.neg{background:var(--red)}
.month-dot-label{font-size:7px;color:var(--text3);margin-top:2px}
.btn-add{width:100%;padding:10px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-dim));color:#000;font-weight:700;font-size:12px;cursor:pointer;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:5px;transition:opacity .2s}.btn-add:hover{opacity:.9}
.icon-btn{width:26px;height:26px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.icon-btn:hover{border-color:var(--text2);color:var(--text)}.icon-btn.danger:hover{border-color:var(--red);color:var(--red)}
.btn-secondary{padding:8px 14px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text2);font-weight:600;font-size:12px;cursor:pointer}

.summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:12px}
.summary-card{padding:11px;border-radius:8px}
.summary-card.inc{background:var(--green-bg);border:1px solid var(--green-border)}
.summary-card.exp{background:var(--red-bg);border:1px solid var(--red-border)}
.summary-card.profit{background:var(--accent-bg);border:1px solid rgba(212,168,67,.12)}
.summary-label{font-size:9px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.summary-value{font-size:14px;font-weight:800;letter-spacing:-.5px}
.summary-card.inc .summary-value{color:var(--green)}.summary-card.exp .summary-value{color:var(--red)}.summary-card.profit .summary-value{color:var(--accent)}

/* Contract tracker */
.contract-box{background:var(--card);border:1px solid var(--border2);border-radius:8px;padding:14px;margin-bottom:10px}
.contract-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:6px}
.contract-label{color:var(--text3);font-weight:600}
.contract-val{font-weight:700}
.contract-bar{height:8px;border-radius:4px;background:rgba(37,45,58,.5);overflow:hidden;margin-top:4px}
.contract-fill{height:100%;border-radius:4px;transition:width .5s ease}
.remaining-box{margin-top:8px;padding:8px 12px;border-radius:6px;display:flex;justify-content:space-between;align-items:center}

.target-row{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--card);border-radius:8px;border:1px solid var(--border2);margin-bottom:12px}
.target-label{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}
.target-input{width:100px;padding:5px 8px;border-radius:5px;border:1px solid var(--border);background:var(--input);color:var(--accent);font-size:13px;font-weight:700;text-align:right;outline:none}.target-input:focus{border-color:var(--accent)}
.target-bar{flex:1;height:8px;border-radius:4px;background:rgba(37,45,58,.5);overflow:hidden}
.target-fill{height:100%;border-radius:4px;transition:width .5s ease}
.target-pct{font-size:11px;font-weight:700;min-width:36px;text-align:right}

.data-table{width:100%;border-collapse:collapse;font-size:15px}
.data-table th{padding:9px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);white-space:nowrap}
.data-table td{padding:10px 14px;border-bottom:1px solid var(--border2);font-size:15px}
.data-table .num{width:100%;min-width:130px;height:48px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:17px;text-align:right;outline:none}
.data-table .sel{width:100%;min-width:175px;height:48px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--text2);font-size:16px;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%235E6E80' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}
.data-table .num:focus,.data-table .sel:focus{border-color:var(--accent)}

.firm-table .num-total{background:var(--input);color:var(--text);border-color:var(--border);cursor:text;opacity:1;font-weight:800}
.firm-table .num-total:focus{border-color:var(--accent)}
.firm-table .num-add{color:var(--green);border-color:var(--green-border);background:rgba(63,176,104,.04);font-weight:800;min-width:150px}
.firm-table .num-add:focus{border-color:var(--green)}
.section-title{font-size:12px;font-weight:700;letter-spacing:-.1px;padding:9px 12px 7px;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;transition:background .15s}
.section-title:hover{background:var(--card2)}
.section-title.inc{color:var(--green)}.section-title.exp{color:var(--red)}.section-title.firm{color:var(--blue)}
.month-tabs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin-bottom:12px;width:100%}
.month-tab{width:100%;padding:7px 4px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text3);font-weight:700;font-size:11px;cursor:pointer;min-width:0;text-align:center;transition:all .15s}
.month-tab.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.month-tab.has{background:rgba(63,176,104,.04);color:var(--green);border-color:var(--green-border)}

.chart-bars{display:flex;gap:3px;align-items:flex-end;height:130px;padding:0 4px}
.chart-grp{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.chart-pair{display:flex;gap:1px;align-items:flex-end;height:110px}
.chart-in{width:7px;border-radius:3px 3px 0 0;background:var(--green);transition:height .3s}
.chart-out{width:7px;border-radius:3px 3px 0 0;background:var(--red);opacity:.7;transition:height .3s}
.chart-lbl{font-size:8px;color:var(--text3);font-weight:600}
.chart-legend{display:flex;gap:12px;margin-top:8px;justify-content:center}
.chart-legend span{font-size:9px;display:flex;align-items:center;gap:3px}
.chart-dot{width:7px;height:7px;border-radius:2px;display:inline-block}

.bar-track{height:5px;border-radius:3px;background:rgba(37,45,58,.5);overflow:hidden;margin-top:4px}
.bar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .4s ease}
.sold-row{padding:10px 12px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.sold-label{font-size:11px;font-weight:700;color:var(--text3)}.sold-value{font-size:15px;font-weight:800}
.sold-value.pos{color:var(--green)}.sold-value.neg{color:var(--red)}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fadeIn .15s}
.modal{background:var(--card);border-radius:14px;border:1px solid var(--border);padding:22px;width:100%;max-width:420px;animation:fadeUp .25s ease;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}
.modal-title{font-size:15px;font-weight:700;margin-bottom:16px;letter-spacing:-.4px}
.modal-buttons{display:flex;gap:6px;margin-top:16px}.modal-buttons button{flex:1}
.back-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.obj-detail-name{font-weight:700;font-size:15px;letter-spacing:-.4px}.obj-detail-meta{font-size:10px;color:var(--text2)}
.empty-state{text-align:center;padding:44px 20px;color:var(--text3)}
.empty-icon{font-size:32px;margin-bottom:8px}.empty-title{font-size:13px;font-weight:600;margin-bottom:4px}.empty-desc{font-size:11px}
.saving{position:fixed;bottom:14px;right:14px;padding:6px 12px;background:var(--card);border:1px solid var(--accent);border-radius:7px;font-size:10px;color:var(--accent);font-weight:600;z-index:200;display:none;animation:fadeIn .15s}.saving.show{display:block}

/* ─── RESPONSIVE: DESKTOP ─── */
@media(min-width:900px){.body{padding:20px 32px 60px;max-width:960px}.header{padding:16px 32px 14px}.summary-card{padding:16px}.summary-value{font-size:20px}.card{border-radius:12px;margin-bottom:12px}.card-header{padding:16px 20px}.obj-name{font-size:15px}.data-table{font-size:13px}.data-table th{padding:8px 14px}.data-table td{padding:8px 14px}.data-table .num{padding:9px 12px;font-size:14px}.data-table .sel{font-size:13px}.chart-bars{height:180px}.chart-pair{height:160px}.chart-in,.chart-out{width:12px}.chart-lbl{font-size:10px}.sold-row{padding:14px 20px}.sold-value{font-size:18px}.btn-add{padding:13px 18px;font-size:13px}.contract-box{padding:18px}.month-tab{padding:8px 4px;font-size:12px}}
/* ─── RESPONSIVE: MOBILE ─── */
@media(max-width:500px){.body{padding:10px 10px 70px}.header{padding:10px 12px 10px}.logo-icon{width:28px;height:28px;font-size:11px}.logo-text{font-size:13px}.logo-sub{font-size:8px}.year-btn{padding:4px 10px;font-size:10px}.tab{padding:6px 3px;font-size:10px}.summary-grid{grid-template-columns:1fr;gap:4px}.summary-card{padding:9px 12px;display:flex;justify-content:space-between;align-items:center}.summary-label{margin-bottom:0}.summary-value{font-size:16px}.card{border-radius:8px}.card-header{padding:10px 12px}.obj-name{font-size:12px}.badge{font-size:8px;padding:2px 5px}.month-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow:visible}.month-tab{padding:7px 3px;font-size:10px;min-width:0}.data-table{font-size:11px}.data-table th{padding:5px 6px;font-size:8px}.data-table td{padding:4px 5px}.data-table td:first-child{font-size:10px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .num{font-size:13px;width:105px;min-width:105px}.data-table .sel{font-size:12px;min-width:135px}.section-title{font-size:11px;padding:8px 10px}.chart-bars{height:100px}.chart-pair{height:85px}.chart-in,.chart-out{width:5px}.target-row{flex-wrap:wrap;padding:8px 10px;gap:6px}.target-label{font-size:9px;width:100%}.target-input{width:80px}.contract-box{padding:10px}.contract-row{font-size:10px}.month-dot-label{font-size:6px}.icon-btn{width:24px;height:24px}.modal{padding:18px}.form-input{font-size:13px}}
@media(max-width:360px){.body{padding:8px 6px 60px}.summary-value{font-size:14px}.logo-text{font-size:12px}.tab{font-size:9px}.data-table .num{width:95px;min-width:95px;font-size:12px}.month-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.month-tab{padding:6px 3px;font-size:9px;min-width:0}}


/* ─── TEXT MAI MARE ÎN TABELE / CHELTUIELI FIRMĂ ─── */
.cat-cell{font-size:15px!important;color:var(--text2);line-height:1.35}
.firm-page-title{font-size:18px;font-weight:800;margin-bottom:14px;letter-spacing:-.3px}
.firm-month-title{padding:13px 16px;border-bottom:1px solid var(--border);font-weight:800;font-size:16px;color:var(--blue)}
.firm-table .cat-cell{font-size:15px!important;color:#C8D7E8;font-weight:500}
.firm-table .num-total{font-size:17px!important}
.firm-table .num-add{font-size:16px!important;text-align:right}
.firm-table .num-add::placeholder{color:var(--text2);opacity:1;font-size:15px;font-weight:800}
.firm-table .sel{font-size:16px!important}
.firm-table th{font-size:11px!important}

@media(min-width:900px){
  .body{max-width:1120px}
  .data-table{font-size:15px}
  .data-table th{font-size:11px!important;padding:10px 16px}
  .data-table td{font-size:15px;padding:10px 16px}
  .data-table .num{height:48px;min-width:140px;font-size:17px!important}
  .data-table .sel{height:48px;min-width:185px;font-size:16px!important}
  .firm-table .num-add{min-width:155px}
}

@media(max-width:500px){
  .cat-cell{font-size:12px!important}
  .firm-page-title{font-size:16px}
  .firm-month-title{font-size:14px;padding:11px 12px}
  .data-table th{font-size:9px!important;padding:7px 8px}
  .data-table td{font-size:12px;padding:7px 8px}
  .data-table .num{height:42px;font-size:14px!important;min-width:110px}
  .data-table .sel{height:42px;font-size:13px!important;min-width:145px}
  .firm-table .num-add::placeholder{font-size:13px}
}

/* ═══════════════════════════════════════════════════════════════
   FONT GLOBAL RESPONSIVE — 3 dimensiuni: calculator / tabletă / telefon
   Acest bloc este intenționat la final ca să suprascrie stilurile vechi.
   Baza de date și API-ul nu sunt afectate.
═══════════════════════════════════════════════════════════════ */
:root{
  --font-main:'DM Sans','Segoe UI',system-ui,sans-serif;
  --fs-mini:12px;
  --fs-small:14px;
  --fs-base:16px;
  --fs-table:16px;
  --fs-control:17px;
  --fs-nav:15px;
  --fs-title:20px;
  --fs-section:17px;
  --fs-value:26px;
  --fs-logo:18px;
  --control-h:50px;
  --control-radius:9px;
  --page-max:1120px;
}

/* Font identic peste tot */
html,body,input,select,button,textarea,table,th,td,div,span,label{
  font-family:var(--font-main)!important;
}
body{font-size:var(--fs-base)!important;line-height:1.45!important}
.body{max-width:var(--page-max)!important}

/* Header / navigare */
.logo-text{font-size:var(--fs-logo)!important;font-weight:800!important}
.logo-sub,.login-logo-sub,.user-name{font-size:var(--fs-mini)!important}
.year-btn,.tab,.month-tab,.btn-logout{font-size:var(--fs-nav)!important;font-weight:700!important}
.year-btn{padding:8px 16px!important;min-height:38px!important}
.tab{padding:10px 8px!important;min-height:40px!important}
.month-tabs{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:7px!important;width:100%!important;overflow:visible!important}
.month-tab{min-width:0!important;width:100%!important;padding:10px 6px!important;text-align:center!important}

/* Titluri */
.login-logo-text,.obj-detail-name,.firm-page-title,.modal-title{
  font-size:var(--fs-title)!important;
  font-weight:800!important;
}
.obj-name,.empty-title{
  font-size:var(--fs-section)!important;
  font-weight:800!important;
}
.section-title,.firm-month-title,.card > div[style*="font-weight:700"],.card > div[style*="font-weight:800"]{
  font-size:var(--fs-section)!important;
  font-weight:800!important;
}

/* Text mic, dar lizibil */
.form-label,.summary-label,.target-label,.contract-label,.obj-meta,.obj-detail-meta,.empty-desc,.month-dot-label,.chart-lbl,.chart-legend span,.saving{
  font-size:var(--fs-small)!important;
}
.badge{font-size:var(--fs-small)!important;padding:4px 9px!important}

/* Carduri, sumar, valori mari */
.summary-card{padding:16px!important}
.summary-value,.sold-value,.remaining-box span:last-child{
  font-size:var(--fs-value)!important;
  font-weight:800!important;
}
.sold-label,.contract-row,.contract-val,.target-pct{
  font-size:var(--fs-base)!important;
}

/* Formulare și butoane */
.form-input,.target-input,.btn-primary,.btn-secondary,.btn-add{
  font-size:var(--fs-control)!important;
  min-height:var(--control-h)!important;
  border-radius:var(--control-radius)!important;
}
.btn-add{font-weight:800!important}
.icon-btn{width:34px!important;height:34px!important;font-size:var(--fs-base)!important}

/* Tabele — peste tot aceeași familie de font și dimensiuni coerente */
.data-table{font-size:var(--fs-table)!important}
.data-table th{
  font-size:var(--fs-small)!important;
  padding:12px 16px!important;
  letter-spacing:1.1px!important;
}
.data-table td{
  font-size:var(--fs-table)!important;
  padding:12px 16px!important;
  line-height:1.45!important;
}
.data-table td:first-child,.cat-cell,.firm-table .cat-cell{
  font-size:var(--fs-table)!important;
  color:#C8D7E8!important;
  font-weight:600!important;
  max-width:none!important;
}
.data-table .num,.data-table .sel,.num-total,.num-add,.firm-table .sel{
  height:var(--control-h)!important;
  min-height:var(--control-h)!important;
  font-size:var(--fs-control)!important;
  border-radius:var(--control-radius)!important;
  padding:11px 16px!important;
}
.data-table .num{min-width:145px!important;text-align:right!important}
.data-table .sel{min-width:190px!important;padding-right:38px!important;background-position:right 16px center!important}
.num-add::placeholder,.firm-table .num-add::placeholder{font-size:var(--fs-control)!important;font-weight:800!important}

/* Login */
.login-box{max-width:430px!important}
.login-logo-icon{width:50px!important;height:50px!important;font-size:20px!important}

/* Calculator / Desktop */
@media(min-width:1024px){
  :root{
    --fs-mini:12px;
    --fs-small:14px;
    --fs-base:16px;
    --fs-table:16px;
    --fs-control:17px;
    --fs-nav:15px;
    --fs-title:20px;
    --fs-section:17px;
    --fs-value:26px;
    --fs-logo:18px;
    --control-h:50px;
    --page-max:1120px;
  }
  .body{padding:22px 32px 70px!important}
  .header{padding:18px 32px 16px!important}
  .data-table .num{min-width:145px!important}
  .data-table .sel{min-width:195px!important}
}

/* Tabletă */
@media(min-width:601px) and (max-width:1023px){
  :root{
    --fs-mini:11px;
    --fs-small:13px;
    --fs-base:15px;
    --fs-table:15px;
    --fs-control:16px;
    --fs-nav:14px;
    --fs-title:19px;
    --fs-section:16px;
    --fs-value:24px;
    --fs-logo:17px;
    --control-h:48px;
    --page-max:940px;
  }
  .body{padding:18px 22px 70px!important}
  .header{padding:16px 22px 14px!important}
  .month-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}
  .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .data-table .num{min-width:130px!important}
  .data-table .sel{min-width:170px!important}
}

/* Telefon */
@media(max-width:600px){
  :root{
    --fs-mini:10px;
    --fs-small:12px;
    --fs-base:14px;
    --fs-table:14px;
    --fs-control:15px;
    --fs-nav:12px;
    --fs-title:17px;
    --fs-section:15px;
    --fs-value:22px;
    --fs-logo:15px;
    --control-h:44px;
    --page-max:100%;
  }
  .body{padding:12px 10px 72px!important}
  .header{padding:12px 10px 12px!important}
  .header-top{gap:10px!important}
  .logo-icon{width:34px!important;height:34px!important;font-size:13px!important}
  .tabs{gap:3px!important}
  .tab{padding:9px 4px!important;min-height:38px!important}
  .year-btn{padding:7px 10px!important;min-height:34px!important}
  .month-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .month-tab{padding:9px 4px!important}
  .summary-grid{grid-template-columns:1fr!important;gap:7px!important}
  .summary-card{padding:13px 14px!important}
  .card-header{padding:13px 14px!important}
  .section-title,.firm-month-title{padding:12px 14px!important}
  .data-table th{font-size:var(--fs-mini)!important;padding:9px 10px!important}
  .data-table td{font-size:var(--fs-table)!important;padding:9px 10px!important}
  .data-table td:first-child,.cat-cell,.firm-table .cat-cell{
    font-size:var(--fs-table)!important;
    max-width:150px!important;
    white-space:normal!important;
  }
  .data-table .num{min-width:118px!important;width:118px!important}
  .data-table .sel{min-width:150px!important;width:150px!important}
  .target-row{padding:12px!important;gap:8px!important}
  .target-label{width:100%!important}
  .target-input{width:118px!important}
}

/* Telefon foarte îngust */
@media(max-width:380px){
  :root{
    --fs-nav:11px;
    --fs-table:13px;
    --fs-control:14px;
    --fs-value:20px;
  }
  .month-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .data-table .num{min-width:105px!important;width:105px!important}
  .data-table .sel{min-width:135px!important;width:135px!important}
}

/* ═══ UTILIZATORI MULTIPLI + ISTORIC MODIFICĂRI ═══ */
.tabs{flex-wrap:wrap!important}
.tab{min-width:130px!important}
.row-meta{font-size:12px!important;color:var(--text3)!important;font-weight:600!important;margin-top:4px!important;line-height:1.35!important}
.audit-inline{color:var(--blue)!important}
.info-box{background:var(--blue-bg);border:1px solid rgba(74,158,245,.16);color:#BFD9F7;padding:14px 16px;border-radius:10px;margin-bottom:12px;font-size:15px;font-weight:600;line-height:1.45}
.data-table td .row-meta{white-space:normal!important}

@media(min-width:1024px){
  .tab{min-width:150px!important}
}
@media(min-width:601px) and (max-width:1023px){
  .tab{min-width:calc(33.333% - 4px)!important;flex:1 1 calc(33.333% - 4px)!important}
}
@media(max-width:600px){
  .tab{min-width:calc(50% - 4px)!important;flex:1 1 calc(50% - 4px)!important;font-size:12px!important}
  .row-meta{font-size:11px!important}
  .info-box{font-size:13px;padding:12px 13px}
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE FINAL — 3 MODELE DE DISPOZITIV
   Calculator: ≥1024px | Tabletă: 601–1023px | Telefon: ≤600px
   Blocul este la final ca să aibă prioritate peste stilurile vechi.
═══════════════════════════════════════════════════════════════ */
html{font-size:16px}
body,input,select,button,textarea,table,th,td{font-family:var(--font-main)!important}
body{overflow-x:hidden!important}
.header,.body{width:100%!important}
.card{max-width:100%!important}
.card div[style*="overflow-x:auto"]{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.data-table{min-width:760px!important}
.firm-table{min-width:900px!important}
.month-tabs{display:grid!important;width:100%!important;overflow:visible!important}
.month-tab{width:100%!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.data-table .num,.data-table .sel,.form-input,.target-input{font-family:var(--font-main)!important}

/* Calculator / Laptop / Desktop */
@media(min-width:1024px){
  :root{
    --fs-mini:12px;--fs-small:14px;--fs-base:16px;--fs-table:16px;--fs-control:17px;
    --fs-nav:15px;--fs-title:21px;--fs-section:17px;--fs-value:27px;--fs-logo:18px;
    --control-h:50px;--page-max:1120px;
  }
  .header{padding:18px 32px 16px!important}
  .body{max-width:var(--page-max)!important;padding:22px 32px 72px!important;margin:0 auto!important}
  .tabs{display:flex!important;flex-wrap:wrap!important;gap:4px!important}
  .tab{flex:1 1 0!important;min-width:135px!important;min-height:42px!important;font-size:var(--fs-nav)!important}
  .year-btn{font-size:var(--fs-nav)!important;min-height:38px!important;padding:8px 16px!important}
  .month-tabs{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:7px!important}
  .month-tab{min-height:42px!important;font-size:var(--fs-nav)!important;padding:10px 6px!important}
  .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .summary-card{padding:17px!important}
  .summary-value{font-size:var(--fs-value)!important}
  .data-table{font-size:var(--fs-table)!important;min-width:760px!important}
  .data-table th{font-size:var(--fs-small)!important;padding:12px 16px!important}
  .data-table td{font-size:var(--fs-table)!important;padding:12px 16px!important}
  .data-table .num{height:var(--control-h)!important;min-width:145px!important;font-size:var(--fs-control)!important}
  .data-table .sel{height:var(--control-h)!important;min-width:195px!important;font-size:var(--fs-control)!important}
  .firm-table{min-width:900px!important}
}

/* Tabletă */
@media(min-width:601px) and (max-width:1023px){
  :root{
    --fs-mini:11px;--fs-small:13px;--fs-base:15px;--fs-table:15px;--fs-control:16px;
    --fs-nav:14px;--fs-title:19px;--fs-section:16px;--fs-value:24px;--fs-logo:17px;
    --control-h:48px;--page-max:940px;
  }
  .header{padding:16px 22px 14px!important}
  .body{max-width:var(--page-max)!important;padding:18px 22px 72px!important;margin:0 auto!important}
  .tabs{display:flex!important;flex-wrap:wrap!important;gap:4px!important}
  .tab{flex:1 1 calc(33.333% - 4px)!important;min-width:calc(33.333% - 4px)!important;min-height:42px!important;font-size:var(--fs-nav)!important}
  .nav-row{flex-wrap:wrap!important;gap:6px!important}
  .year-btn{font-size:var(--fs-nav)!important;min-height:38px!important;padding:8px 14px!important;flex:1 1 auto!important}
  .month-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}
  .month-tab{min-height:42px!important;font-size:var(--fs-nav)!important;padding:10px 5px!important}
  .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .summary-card{padding:15px!important}
  .summary-value{font-size:var(--fs-value)!important}
  .data-table{font-size:var(--fs-table)!important;min-width:720px!important}
  .data-table th{font-size:var(--fs-small)!important;padding:11px 14px!important}
  .data-table td{font-size:var(--fs-table)!important;padding:11px 14px!important}
  .data-table .num{height:var(--control-h)!important;min-width:130px!important;font-size:var(--fs-control)!important}
  .data-table .sel{height:var(--control-h)!important;min-width:175px!important;font-size:var(--fs-control)!important}
  .firm-table{min-width:850px!important}
}

/* Telefon */
@media(max-width:600px){
  :root{
    --fs-mini:10px;--fs-small:12px;--fs-base:14px;--fs-table:14px;--fs-control:15px;
    --fs-nav:12px;--fs-title:17px;--fs-section:15px;--fs-value:22px;--fs-logo:15px;
    --control-h:44px;--page-max:100%;
  }
  .header{padding:12px 10px!important}
  .header-top{gap:10px!important;align-items:flex-start!important}
  .user-menu{flex-wrap:wrap!important;justify-content:flex-end!important}
  .body{max-width:100%!important;padding:12px 10px 76px!important;margin:0 auto!important}
  .logo-icon{width:34px!important;height:34px!important;font-size:13px!important}
  .logo-text{font-size:var(--fs-logo)!important}
  .nav-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .year-btn{width:100%!important;font-size:var(--fs-nav)!important;min-height:36px!important;padding:8px 6px!important}
  .tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;padding:4px!important}
  .tab{min-width:0!important;width:100%!important;min-height:40px!important;font-size:var(--fs-nav)!important;padding:9px 5px!important}
  .month-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .month-tab{min-height:40px!important;font-size:var(--fs-nav)!important;padding:9px 4px!important}
  .summary-grid{grid-template-columns:1fr!important;gap:7px!important}
  .summary-card{padding:13px 14px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
  .summary-label{margin-bottom:0!important}
  .summary-value{font-size:var(--fs-value)!important;text-align:right!important}
  .card{border-radius:10px!important;margin-bottom:10px!important}
  .card-header{padding:13px 14px!important;gap:10px!important}
  .obj-name,.section-title,.firm-month-title{font-size:var(--fs-section)!important}
  .obj-meta,.row-meta{font-size:var(--fs-small)!important}
  .section-title,.firm-month-title{padding:12px 14px!important}
  .data-table{font-size:var(--fs-table)!important;min-width:650px!important}
  .firm-table{min-width:760px!important}
  .data-table th{font-size:var(--fs-mini)!important;padding:9px 10px!important}
  .data-table td{font-size:var(--fs-table)!important;padding:9px 10px!important}
  .data-table td:first-child,.cat-cell,.firm-table .cat-cell{font-size:var(--fs-table)!important;max-width:170px!important;white-space:normal!important}
  .data-table .num{height:var(--control-h)!important;min-width:118px!important;width:118px!important;font-size:var(--fs-control)!important}
  .data-table .sel{height:var(--control-h)!important;min-width:150px!important;width:150px!important;font-size:var(--fs-control)!important}
  .form-input,.target-input,.btn-primary,.btn-secondary,.btn-add{min-height:var(--control-h)!important;font-size:var(--fs-control)!important}
  .target-row{padding:12px!important;gap:8px!important;flex-wrap:wrap!important}
  .target-label{width:100%!important}
  .target-input{width:118px!important}
  .modal{width:100%!important;max-width:calc(100vw - 24px)!important;padding:18px!important}
}

/* Telefon foarte îngust */
@media(max-width:380px){
  :root{--fs-nav:11px;--fs-table:13px;--fs-control:14px;--fs-value:20px}
  .month-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .data-table{min-width:600px!important}
  .firm-table{min-width:710px!important}
  .data-table .num{min-width:105px!important;width:105px!important}
  .data-table .sel{min-width:135px!important;width:135px!important}
}

/* ═══════════════════════════════════════════════════════════════
   STATUS OBIECTE — culori diferite pentru activ/finalizat/suspendat
═══════════════════════════════════════════════════════════════ */
.obj-title-line{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.overview-title{gap:6px!important;margin-bottom:2px!important}
.status-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:4px 9px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.7px!important;line-height:1!important;white-space:nowrap!important;border:1px solid transparent!important}
.status-activ{background:var(--blue-bg)!important;color:var(--blue)!important;border-color:rgba(74,158,245,.28)!important}
.status-finalizat{background:var(--green-bg)!important;color:var(--green)!important;border-color:var(--green-border)!important}
.status-suspendat{background:var(--red-bg)!important;color:var(--red)!important;border-color:var(--red-border)!important}
.object-card{position:relative!important;border-left-width:5px!important}
.object-card.status-card-activ{border-left-color:var(--blue)!important}
.object-card.status-card-finalizat{border-left-color:var(--green)!important}
.object-card.status-card-suspendat{border-left-color:var(--red)!important}
.object-card.status-card-activ .card-header{background:linear-gradient(90deg,rgba(74,158,245,.075),transparent 50%)!important}
.object-card.status-card-finalizat .card-header{background:linear-gradient(90deg,rgba(63,176,104,.075),transparent 50%)!important}
.object-card.status-card-suspendat .card-header{background:linear-gradient(90deg,rgba(224,85,85,.075),transparent 50%)!important}
.status-select option[value="activ"]{color:#4A9EF5!important}
.status-select option[value="finalizat"]{color:#3FB068!important}
.status-select option[value="suspendat"]{color:#E05555!important}
.detail-status-activ{border-left:5px solid var(--blue)!important;padding-left:10px!important}
.detail-status-finalizat{border-left:5px solid var(--green)!important;padding-left:10px!important}
.detail-status-suspendat{border-left:5px solid var(--red)!important;padding-left:10px!important}

@media(min-width:1024px){.status-badge{font-size:12px!important;padding:5px 11px!important}.obj-title-line{gap:10px!important}}
@media(min-width:601px) and (max-width:1023px){.status-badge{font-size:11px!important;padding:5px 10px!important}}
@media(max-width:600px){.status-badge{font-size:10px!important;padding:4px 8px!important}.obj-title-line{gap:6px!important}.object-card{border-left-width:4px!important}.detail-status-activ,.detail-status-finalizat,.detail-status-suspendat{border-left-width:4px!important;padding-left:8px!important}}

/* ═══════════════════════════════════════════════════════════════
   MENIU BURGER — TABLETĂ ȘI TELEFON
   Desktop: meniul rămâne normal. Tabletă/telefon: apare butonul Meniu.
═══════════════════════════════════════════════════════════════ */
.mobile-menu-row{display:none!important}
.mobile-menu-title{display:none!important}
.menu-backdrop{display:none}
.burger-btn,.menu-close{font-family:var(--font-main)!important}

@media(min-width:1024px){
  .mobile-menu-row,.mobile-menu-title,.menu-backdrop{display:none!important}
  .tabs{
    position:static!important;
    transform:none!important;
    height:auto!important;
    width:auto!important;
    max-width:none!important;
    overflow:visible!important;
  }
}

@media(max-width:1023px){
  .mobile-menu-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin-top:10px!important;
  }
  .burger-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    min-height:46px!important;
    padding:10px 16px!important;
    border-radius:12px!important;
    border:1px solid rgba(212,168,67,.32)!important;
    background:var(--accent-bg)!important;
    color:var(--accent)!important;
    font-size:var(--fs-nav)!important;
    font-weight:800!important;
    cursor:pointer!important;
    box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  }
  .burger-lines{
    width:22px!important;
    height:16px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    flex-shrink:0!important;
  }
  .burger-lines span{
    display:block!important;
    height:2px!important;
    width:100%!important;
    border-radius:99px!important;
    background:var(--accent)!important;
  }
  .tabs{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(380px,88vw)!important;
    height:100vh!important;
    max-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:18px!important;
    border-radius:0!important;
    border-left:1px solid var(--border)!important;
    background:linear-gradient(180deg,#151C26 0%,var(--card) 100%)!important;
    box-shadow:-18px 0 40px rgba(0,0,0,.38)!important;
    z-index:160!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    transform:translateX(105%)!important;
    transition:transform .24s ease!important;
  }
  .tabs.open{transform:translateX(0)!important}
  .mobile-menu-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:2px 2px 12px!important;
    margin-bottom:4px!important;
    border-bottom:1px solid var(--border)!important;
    color:var(--text)!important;
    font-size:var(--fs-title)!important;
    font-weight:800!important;
  }
  .menu-close{
    width:42px!important;
    height:42px!important;
    border-radius:10px!important;
    border:1px solid var(--border)!important;
    background:var(--input)!important;
    color:var(--text2)!important;
    font-size:28px!important;
    line-height:1!important;
    font-weight:500!important;
    cursor:pointer!important;
  }
  .menu-close:hover{border-color:var(--red)!important;color:var(--red)!important}
  .tabs .tab{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    padding:14px 16px!important;
    border-radius:12px!important;
    border:1px solid var(--border)!important;
    background:var(--input)!important;
    color:var(--text2)!important;
    font-size:var(--fs-nav)!important;
    font-weight:800!important;
  }
  .tabs .tab.active{
    border-color:rgba(212,168,67,.42)!important;
    background:var(--accent-bg)!important;
    color:var(--accent)!important;
  }
  .menu-backdrop{
    position:fixed!important;
    inset:0!important;
    background:rgba(0,0,0,.62)!important;
    z-index:140!important;
    backdrop-filter:blur(2px)!important;
  }
  .menu-backdrop.open{display:block!important}
  body.menu-open{overflow:hidden!important}
}

@media(max-width:600px){
  .mobile-menu-row{justify-content:stretch!important}
  .burger-btn{width:100%!important;min-height:44px!important}
  .tabs{width:min(340px,90vw)!important;padding:16px!important}
  .tabs .tab{min-height:50px!important;padding:13px 15px!important}
}

/* ═══════════════════════════════════════════════════════════════
   ANI ÎN MENIU BURGER — TABLETĂ ȘI TELEFON
   Desktop: anii rămân sus. Tabletă/telefon: anii se mută în meniul burger.
═══════════════════════════════════════════════════════════════ */
.mobile-year-menu{display:none!important}

@media(min-width:1024px){
  .header>.nav-row{display:flex!important}
  .mobile-year-menu{display:none!important}
}

@media(max-width:1023px){
  .header>.nav-row{display:none!important}
  .mobile-year-menu{
    display:block!important;
    padding:0 0 14px!important;
    margin:0 0 4px!important;
    border-bottom:1px solid var(--border)!important;
  }
  .mobile-year-title{
    margin:0 0 8px!important;
    color:var(--text3)!important;
    font-size:var(--fs-label)!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:1.2px!important;
  }
  .mobile-year-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .mobile-year-grid .year-btn{
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    font-size:var(--fs-nav)!important;
    font-weight:800!important;
    text-align:center!important;
    background:var(--input)!important;
  }
  .mobile-year-grid .year-btn.active{
    border-color:rgba(212,168,67,.55)!important;
    background:var(--accent-bg)!important;
    color:var(--accent)!important;
  }
}

@media(max-width:600px){
  .mobile-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mobile-year-grid .year-btn{min-height:46px!important;padding:11px 12px!important}
}
