:root{--primary:#1a56db;--primary-dark:#1245b8;--primary-light:#e8f0fe;--success:#0d9e6e;--success-bg:#ecfdf5;--warning:#d97706;--warning-bg:#fffbeb;--danger:#e53e3e;--danger-bg:#fff5f5;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#ffffff;--radius-sm:4px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow:0 1px 4px rgba(0,0,0,.1);--shadow-md:0 4px 12px rgba(0,0,0,.12);--sidebar-w:240px;--topbar-h:56px;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--gray-800);background:var(--gray-100);line-height:1.5;overflow-x:hidden;}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
button,input,select,textarea{font-family:inherit;font-size:inherit}
.app-wrapper{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:var(--gray-900);color:var(--gray-100);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200;transition:transform .25s ease}
.sidebar-logo{padding:18px 20px;border-bottom:1px solid var(--gray-700);font-size:1.15rem;font-weight:700;color:var(--white);display:flex;align-items:center;gap:10px;}
.sidebar-logo span{font-size:.7rem;font-weight:400;color:var(--gray-400);display:block}
.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}
.nav-section{padding:6px 20px 2px;font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--gray-500)}
.nav-link{display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--gray-300);font-size:.875rem;border-left:3px solid transparent;transition:all .15s}
.nav-link:hover,.nav-link.active{color:var(--white);background:rgba(255,255,255,.07);border-left-color:var(--primary);text-decoration:none}
.nav-link svg{width:18px;height:18px;flex-shrink:0;opacity:.7}
.nav-link.active svg{opacity:1}
.sidebar-footer{padding:14px 20px;border-top:1px solid var(--gray-700);font-size:.8rem;color:var(--gray-400)}
.sidebar-footer strong{display:block;color:var(--gray-200)}
.main-wrap{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}
.topbar{height:var(--topbar-h);background:var(--white);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}
.topbar-title{flex:1;font-weight:600;font-size:1rem}
.topbar-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:4px}
.page-content{flex:1;padding:24px;max-width:1400px;width:100%}
.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200)}
.card-header{padding:16px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-header h2,.card-header h3{font-size:1rem;font-weight:600}
.card-body{padding:20px}
.card-footer{padding:14px 20px;border-top:1px solid var(--gray-100);background:var(--gray-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:18px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}
.stat-card .label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.stat-card .value{font-size:1.9rem;font-weight:700;color:var(--gray-800);line-height:1}
.stat-card .value.urgent{color:var(--danger)}
.stat-card .value.success{color:var(--success)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap;text-decoration:none}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--primary);color:var(--white)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-success{background:var(--success);color:var(--white)}
.btn-success:hover{filter:brightness(.92)}
.btn-danger{background:var(--danger);color:var(--white)}
.btn-warning{background:var(--warning);color:var(--white)}
.btn-outline{background:transparent;border-color:var(--gray-300);color:var(--gray-700)}
.btn-outline:hover{background:var(--gray-100)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--primary);padding:6px 10px}
.btn-ghost:hover{background:var(--primary-light)}
.btn-sm{padding:5px 10px;font-size:.8rem}
.btn-lg{padding:11px 22px;font-size:1rem}
.btn-full{width:100%;justify-content:center}
.btn svg{width:16px;height:16px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:.72rem;font-weight:600}
.badge-urgent{background:#fee2e2;color:#991b1b}
.badge-mediu{background:#fef3c7;color:#92400e}
.badge-normal{background:var(--gray-100);color:var(--gray-600)}
.badge-success{background:var(--success-bg);color:#065f46}
.badge-primary{background:var(--primary-light);color:#1e40af}
.badge-info{background:#ecfeff;color:#164e63}
.badge-gray{background:var(--gray-100);color:var(--gray-600)}
.status-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:500}
.status-achizitionata{background:#f0f9ff;color:#0369a1}
.status-intrata_in_parc{background:#f0fdf4;color:#166534}
.status-verificare_qa{background:#fff7ed;color:#c2410c}
.status-mecanica{background:#fef3c7;color:#92400e}
.status-vopsitorie{background:#f5f3ff;color:#5b21b6}
.status-tapiterie{background:#fff1f2;color:#9f1239}
.status-polish{background:#f0f9ff;color:#0369a1}
.status-spalatorie{background:#ecfeff;color:#155e75}
.status-pregatire_poze{background:#fdf4ff;color:#7e22ce}
.status-poze_facute{background:#f0fdf4;color:#166534}
.status-listata{background:#eff6ff;color:#1d4ed8}
.status-rezervata{background:#fff7ed;color:#c2410c}
.status-vanduta{background:#f0fdf4;color:#166534}
.status-arhivata{background:var(--gray-100);color:var(--gray-500)}
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--gray-700);margin-bottom:5px}
.form-label .req{color:var(--danger);margin-left:2px}
input, textarea, select { font-size: 16px !important; }
.form-control{width:100%;padding:9px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--white);color:var(--gray-800);font-size:.875rem;transition:border-color .15s}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.12)}
.form-control.is-invalid{border-color:var(--danger)}
.form-error{font-size:.75rem;color:var(--danger);margin-top:3px}
.form-hint{font-size:.75rem;color:var(--gray-500);margin-top:3px}
selectinput, textarea, select { font-size: 16px !important; }
.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.form-row{display:grid;gap:16px}
.form-row.cols-2{grid-template-columns:1fr 1fr}
.form-row.cols-3{grid-template-columns:1fr 1fr 1fr}
.form-row.cols-4{grid-template-columns:1fr 1fr 1fr 1fr}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:1rem}
th{background:var(--gray-50);color:var(--gray-600);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;border-bottom:1px solid var(--gray-200);text-align:left;white-space:nowrap}
td{padding:15px 16px;border-bottom:1px solid var(--gray-100);vertical-align:middle;font-size:1rem}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--gray-50)}
.td-actions{white-space:nowrap}
.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;font-size:.875rem}
.alert-success{background:var(--success-bg);color:#065f46;border:1px solid #a7f3d0}
.alert-danger{background:var(--danger-bg);color:#9b1c1c;border:1px solid #fecaca}
.alert-warning{background:var(--warning-bg);color:#78350f;border:1px solid #fde68a}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gray-900) 0%,#1e3a5f 100%);padding:20px}
.login-box{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px 36px;width:100%;max-width:400px}
.login-logo{text-align:center;margin-bottom:28px}
.login-logo h1{font-size:1.6rem;color:var(--gray-900)}
.login-logo p{font-size:.8rem;color:var(--gray-500);margin-top:4px}
.otp-step{display:none}
.otp-step.active{display:block}
.phone-display{font-weight:600;color:var(--primary)}
.car-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.car-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .15s}
.car-card:hover{box-shadow:var(--shadow-md)}
.car-card-img{height:160px;background:var(--gray-100);overflow:hidden;position:relative}
.car-card-img img{width:100%;height:100%;object-fit:cover}
.car-card-img .no-img{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:.8rem;flex-direction:column;gap:6px}
.car-card-body{padding:14px 16px}
.car-card-title{font-weight:700;font-size:1rem;margin-bottom:4px}
.car-card-meta{font-size:.78rem;color:var(--gray-500);display:flex;flex-wrap:wrap;gap:8px}
.car-card-price{font-size:1.1rem;font-weight:700;color:var(--primary);margin-top:8px}
.car-card-footer{padding:10px 16px;border-top:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}
.car-card.urgent{border-color:#fca5a5}
.coada-grid{display:flex;flex-direction:column;gap:12px}
.coada-item{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-200);padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:10px;box-shadow:var(--shadow-sm)}
.coada-item.urgent{border-left:4px solid var(--danger)}
.coada-item.mediu{border-left:4px solid var(--warning)}
.coada-item.normal{border-left:4px solid var(--gray-300)}
.coada-item.in-lucru{background:#f0fdf4;border-color:#86efac}
.coada-poza{grid-column:1;grid-row:1;align-self:center}
.coada-car-info{grid-column:2;grid-row:1 / 3;min-width:0;align-self:center}
.coada-car-info .marca-model{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coada-car-info .meta{font-size:.78rem;color:var(--gray-500)}
.coada-actions{grid-column:3;grid-row:1;display:flex;gap:8px;flex-shrink:0;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:all .15s;background:var(--gray-50)}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:var(--primary-light)}
.upload-zone input{display:none}
.poze-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px}
.poza-item{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200);aspect-ratio:4/3;background:var(--gray-100)}
.poza-item img{width:100%;height:100%;object-fit:cover}
.poza-item .poza-label{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:rgba(0,0,0,.6);color:var(--white);font-size:.68rem}
.poza-item .poza-del{position:absolute;top:4px;right:4px;background:var(--danger);color:var(--white);border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:.75rem}
.poza-item:hover .poza-del{display:flex}
@media(max-width:767px){.poza-item .poza-del{display:flex !important;}}
.timeline{position:relative;padding-left:28px}
.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--gray-200)}
.tl-item{position:relative;margin-bottom:16px}
.tl-dot{position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--white);box-shadow:0 0 0 2px var(--primary)}
.tl-dot.success{background:var(--success);box-shadow:0 0 0 2px var(--success)}
.tl-content{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:10px 14px;font-size:.85rem}
.tl-content .tl-title{font-weight:600}
.tl-content .tl-meta{font-size:.75rem;color:var(--gray-500);margin-top:2px}
.obs-list{display:flex;flex-direction:column;gap:10px}
.obs-item{background:var(--gray-50);border-radius:var(--radius);padding:10px 14px;border-left:3px solid var(--gray-300);font-size:.875rem}
.obs-item.vizibil{border-left-color:var(--primary)}
.obs-meta{font-size:.72rem;color:var(--gray-500);margin-top:4px}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:500;align-items:center;justify-content:center;padding:16px}
.modal-backdrop.open{display:flex}
.modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column}
.modal-header{padding:18px 20px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}
.modal-header h3{font-size:1rem;font-weight:600}
.modal-body{padding:20px;overflow-y:auto}
.modal-footer{padding:14px 20px;border-top:1px solid var(--gray-200);display:flex;gap:10px;justify-content:flex-end}
.modal-close{background:none;border:none;cursor:pointer;color:var(--gray-500);padding:4px}
.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--gray-800);color:var(--white);padding:12px 18px;border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:.875rem;min-width:240px;max-width:360px;animation:slideIn .2s ease}
.toast.success{background:var(--success)}
.toast.error{background:var(--danger)}
.toast.warning{background:var(--warning)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.bell-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--gray-600);padding:6px;border-radius:var(--radius)}
.bell-btn:hover{background:var(--gray-100)}
.bell-badge{position:absolute;top:0;right:0;background:var(--danger);color:var(--white);font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--white)}.bell-badge:empty{display:none}
.pagination{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.pagination a,.pagination span{padding:6px 11px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);font-size:.8rem;color:var(--gray-700)}
.pagination a:hover{background:var(--gray-100);text-decoration:none}
.pagination .active{background:var(--primary);color:var(--white);border-color:var(--primary)}
.pagination .disabled{color:var(--gray-400)}
.barcode-wrap{font-family:'Courier New',monospace;text-align:center;padding:20px;border:2px solid var(--gray-800);border-radius:var(--radius);display:inline-block}
.barcode-text{font-size:1.4rem;font-weight:700;letter-spacing:4px;margin-top:6px}
.barcode-sub{font-size:.75rem;color:var(--gray-600);margin-top:2px}
@media print{.no-print{display:none!important}body{background:white}.main-wrap{margin:0}}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);width:100% !important;}
  .sidebar.open{transform:translateX(0);box-shadow:var(--shadow-md)}
  #sidebar-close-btn{display:block !important;}
  .sidebar-logo img{object-position:left;}
  .stats-grid,.dashboard-grid{grid-template-columns:1fr !important;}
  .main-wrap{margin-left:0}
  .topbar-menu-btn{display:flex}
  .page-content{padding:16px}
  .form-row.cols-2,.form-row.cols-3,.form-row.cols-4{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .coada-item{grid-template-columns:auto 1fr;grid-template-rows:auto auto;}
  .coada-poza{grid-column:1;grid-row:1;}
  .coada-actions{grid-column:2;grid-row:1;justify-content:flex-end;}
  .coada-car-info{grid-column:1 / 3;grid-row:2;}
  .coada-item{flex-wrap:wrap}
  .modal{max-width:100%;margin:0;max-height:100vh;border-radius:var(--radius) var(--radius) 0 0}
  .modal-backdrop{align-items:flex-end}
}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.car-cards-grid{grid-template-columns:1fr}}
.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}
.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}
.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-3{margin-bottom:12px}
.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-sm{font-size:.8rem}.text-xs{font-size:.72rem}
.text-muted{color:var(--gray-500)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}
.font-bold{font-weight:700}.font-semibold{font-weight:600}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overlay-spin{display:none;position:fixed;inset:0;background:rgba(255,255,255,.6);z-index:9999;align-items:center;justify-content:center}
.overlay-spin.active{display:flex}
.spinner{width:36px;height:36px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── Fisa masina responsive ─────────────────────────────────── */
.masina-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start;}.masina-col-stanga{min-width:0;}.masina-col-dreapta{min-width:0;position:sticky;top:16px;}
.detalii-grid{display:grid;grid-template-columns:1fr;gap:0;}
@media(min-width:768px){
  .detalii-grid{grid-template-columns:1fr 1fr;}
  .masina-grid{grid-template-columns:2fr 1fr !important;gap:20px;}
}

/* Status row responsive */
.status-row select{flex:1;min-width:160px;}
.status-row input{min-width:140px;flex:1;}
@media(max-width:640px){
  .status-row{flex-direction:column;}
  .status-row select,.status-row input,.status-row .btn{width:100%;}
}

/* Mobile: full width coloane, istoricul apare primul */
@media(max-width:767px){
  .masina-grid{display:flex !important;flex-direction:column;gap:16px;}
  .masina-col-stanga{width:100%;}
  .masina-col-dreapta{width:100%;order:-1;position:static !important;}
}

/* Status row - campuri full width */
.status-row select,
.status-row input[type=text]{width:100%;}

/* Pull to refresh */
#ptr-indicator{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(0);z-index:9999;background:var(--white);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);opacity:0;transition:opacity .15s;color:var(--primary);pointer-events:none;}
@keyframes ptr-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

@media(max-width:767px){.hide-mobile{display:none !important;}}

/* Filtru activ */
.form-control.filter-active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600;}
select.filter-active{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231a56db' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;}
.form-control.filter-active option{color:var(--gray-800);font-weight:400;background:var(--white);}
input.filter-active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600;}
