:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#041827;font-family:system-ui,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{color:#111827;background:#041827;min-height:100vh}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}p,h1,h2,h3,h4,h5,h6{margin:0}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:auto;padding:.7rem 1.1rem;font-size:.95rem;font-weight:600;transition:opacity .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn--primary{color:#fff;background-color:#2563eb}.btn--primary:hover:not(:disabled){opacity:.9}.btn--secondary{color:#111827;background-color:#0000;border-color:#d1d5db}.field{text-align:left;flex-direction:column;gap:.35rem;display:flex}.field__label{color:#374151;font-size:.85rem;font-weight:600}.field__input{border:1px solid #d1d5db;border-radius:8px;padding:.6rem .75rem;font-size:.95rem}.field__input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.field__input--error{border-color:#dc2626}.field__error{color:#dc2626;font-size:.8rem}.login-form{flex-direction:column;gap:1.1rem;width:100%;max-width:360px;display:flex}.login-form__server-error{color:#b91c1c;background-color:#fef2f2;border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.85rem}.login-page{background:#041827;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-page__layout{background:#fff;border-radius:8px;grid-template-columns:1.1fr .9fr;width:min(100%,1080px);min-height:610px;display:grid;overflow:hidden;box-shadow:0 18px 50px #0418271f}.login-page__brand{background:#041827;justify-content:center;align-items:center;padding:3rem;display:flex}.login-page__logo{width:min(100%,560px);height:auto}.login-page__card{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:100%;padding:3rem clamp(1.5rem,5vw,4rem);display:flex}.login-page__title{color:#111827;margin:0;font-size:1.5rem}.login-page__subtitle{color:#6b7280;margin:0 0 1rem;font-size:.9rem}@media (width<=700px){.login-page{background:#041827;padding:0}.login-page__layout{border-radius:0;grid-template-rows:minmax(190px,30vh) 1fr;grid-template-columns:1fr;min-height:100vh}.login-page__brand{padding:2rem}.login-page__logo{width:min(100%,440px)}.login-page__card{justify-content:flex-start;padding:2.5rem 1.5rem}}.status-badge{border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.status-badge--pendiente{color:#92400e;background-color:#fef3c7}.status-badge--atendido{color:#065f46;background-color:#d1fae5}.status-badge--cancelado{color:#991b1b;background-color:#fee2e2}.appointments-filter{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.appointments-filter .field{flex:1;min-width:160px}.appointments-filter__submit{width:140px}.appointments-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.appointments-list__item{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex;box-shadow:0 1px 3px #00000014}.appointments-list__branch{color:#6b7280;font-size:.8rem}.appointments-list__actions{align-items:center;gap:.75rem;display:flex}.appointments-list__cancel{color:#dc2626;cursor:pointer;background:0 0;border:none;font-size:.8rem;text-decoration:underline}.pagination{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;display:flex}.pagination__info{color:#4b5563;font-size:.875rem}.pagination__controls{gap:.5rem;display:flex}.pagination__button{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;padding:.4rem .8rem;font-size:.875rem;transition:background-color .2s}.pagination__button:hover:not(:disabled){background-color:#f3f4f6}.pagination__button:disabled{opacity:.5;cursor:not-allowed}.appointments-list__client{color:#2c3e50;font-weight:600}.appointments-list__details{color:#666;margin-top:4px;font-size:.875rem}.appointments-list__plate{text-transform:uppercase}.new-appointment{background:#fff;border-radius:10px;margin-bottom:2rem;padding:1.25rem;box-shadow:0 1px 3px #00000014}.new-appointment h2{margin-top:0;font-size:1.1rem}.new-appointment__fields{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.new-appointment__fields .field{flex:1;min-width:200px}.new-appointment__slots{margin-bottom:1rem}.new-appointment__slot-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.new-appointment__slot{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.new-appointment__slot:hover{border-color:#2563eb}.new-appointment__slot--selected{color:#fff;background-color:#2563eb;border-color:#2563eb}.new-appointment__error{color:#dc2626;font-size:.85rem}.new-appointment__submit{max-width:200px}.new-appointment-form{flex-direction:column;min-height:100vh;display:flex}.new-appointment__submit{margin-top:auto}.sucursal-modal-overlay{z-index:99999;background:#0f172a73;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.sucursal-modal-card{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(980px,100%);max-height:calc(100vh - 3rem);padding:1.25rem;overflow:auto;box-shadow:0 25px 60px #0f172a2e}.sucursal-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.sucursal-modal-header h3{margin-bottom:.25rem;font-size:1.25rem}.sucursal-modal-header p{color:#6b7280;font-size:.92rem}.close-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:10px;width:2rem;height:2rem;font-size:1.25rem;line-height:1}.sucursal-modal-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.45rem;display:flex}.form-group label{color:#374151;font-size:.9rem}.form-group input[type=text]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:.75rem .9rem}.form-group input::placeholder{color:#9ca3af}.sucursal-modal-top-row{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(140px,1fr);align-items:end;gap:1rem;display:grid}.sucursal-excepciones-form-row{grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(220px,2fr) auto;align-items:end;gap:1rem;display:grid}.form-group--wide,.form-group--checkbox{min-width:0}.sucursal-modal-top-row input[type=time],.sucursal-modal-top-row input[type=text],.sucursal-excepciones-form-row input[type=date],.sucursal-excepciones-form-row input[type=text]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.7rem .8rem}.sucursal-checkbox-toggle{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .8rem;font-size:.95rem;display:inline-flex}.sucursal-checkbox-toggle input{accent-color:#2563eb;width:1rem;height:1rem}.sucursal-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d7ef7 0%,#1d5ed8 100%);border:none;border-radius:10px;min-height:44px;padding:.75rem 1.15rem;font-weight:600;box-shadow:0 8px 18px #2563eb33}.sucursal-add-btn:hover{filter:brightness(1.02)}.sucursal-modal-table-wrap{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.sucursal-modal-table{border-collapse:collapse;background:#fff;width:100%}.sucursal-modal-table th,.sucursal-modal-table td{text-align:left;border-bottom:1px solid #edf2f7;padding:.8rem .75rem}.sucursal-modal-table thead th{color:#111827;background:#f9fafb;font-weight:600}.sucursal-modal-table tbody tr:last-child td{border-bottom:none}.sucursal-modal-table input[type=time]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;min-width:110px;padding:.55rem .65rem}.sucursal-modal-table input[type=time]:disabled{opacity:.45;cursor:not-allowed}.sucursal-modal-switch{align-items:center;display:inline-flex}.sucursal-modal-switch input{accent-color:#2563eb;width:1rem;height:1rem}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.btn-cancel{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:10px;padding:.7rem 1rem}.btn-submit{min-width:130px}.btn-delete{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;padding:.7rem 1rem}.btn-delete:hover{filter:brightness(1.05)}@media (width<=720px){.sucursal-modal-card{padding:1rem}.sucursal-modal-table{display:block;overflow-x:auto}}.vehicle-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:860px;padding:1.25rem}.vehicle-panel__form{flex-direction:column;gap:1rem;display:flex}.vehicle-panel__actions{align-items:center;gap:1rem;display:flex}.vehicle-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.vehicle-panel__error{color:#dc2626;margin:0}.vehicle-panel__success{color:#166534;margin:0}.vehicle-panel__hint{color:#6b7280;font-size:.8rem}.vehicle-panel__table-wrap{margin-top:1.25rem}.vehicle-panel__table{border-collapse:collapse;width:100%;font-size:.9rem}.vehicle-panel__table th,.vehicle-panel__table td{text-align:left;border:1px solid #e5e7eb;padding:.5rem}.vehicle-panel__table th{background-color:#f9fafb}.vehicle-panel__modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.vehicle-panel__modal{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:900px;max-height:calc(100vh - 2rem);padding:1.25rem;overflow-y:auto}.vehicle-panel__modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (width<=768px){.vehicle-panel__grid{grid-template-columns:1fr}}.admin-dashboard{background:#041827;flex-direction:column;min-height:100vh;display:flex}.admin-dashboard__logo{object-fit:contain;flex:0 0 190px;width:190px;height:54px}.admin-dashboard__actions{max-width:200px;margin-bottom:1.5rem}.admin-dashboard__card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:860px;padding:1.25rem}.admin-dashboard__form{flex-direction:column;gap:1rem;display:flex}.admin-dashboard__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.admin-dashboard__error{color:#dc2626;margin:0}.admin-dashboard__success{color:#166534;margin:0}@media (width<=768px){.admin-dashboard__grid{grid-template-columns:1fr}}.portal-layout{flex-direction:column;min-height:100vh;display:flex}.portal-layout__header{color:#fff;background-color:#111827;align-items:center;gap:1.5rem;padding:.85rem 1.5rem;display:flex}.portal-layout__brand{font-size:1.05rem;font-weight:700}.portal-layout__nav{flex:1;gap:1rem;display:flex}.portal-layout__link{color:#d1d5db;border-bottom:2px solid #0000;padding:.4rem .1rem;font-size:.9rem;text-decoration:none}.portal-layout__link:hover{color:#fff}.portal-layout__link--active{color:#fff;border-bottom-color:#2563eb}.portal-layout__user{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.portal-layout__user .btn{width:auto;padding:.4rem .9rem}.portal-layout__content{background-color:#041827;flex:1;padding:0}.portal-layout__user .btn--secondary{color:#e5e7eb;border-color:#9ca3af}.portal-layout__user .btn--secondary:hover:not(:disabled){background-color:#ffffff1a}.sales-filter{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.sales-filter__submit{width:140px}.sales-detalle-modal-overlay{z-index:99999;background:#0f172a73;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.sales-detalle-modal-card{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(720px,100%);max-height:calc(100vh - 3rem);padding:1.25rem;overflow:auto;box-shadow:0 25px 60px #0f172a2e}.sales-detalle-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.sales-detalle-modal-header h3{margin-bottom:.25rem;font-size:1.15rem}.sales-detalle-modal-header p{color:#6b7280;font-size:.9rem}.sales-detalle-modal-status{color:#6b7280;padding:1rem 0}.sales-detalle-modal-table-wrap{overflow-x:auto}.sales-detalle-modal-table{border-collapse:collapse;width:100%}.sales-detalle-modal-table th,.sales-detalle-modal-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.6rem .75rem;font-size:.88rem}.sales-detalle-modal-table thead th{color:#374151;background-color:#f3f4f6}.sales-detalle-modal-table .sales-detalle-modal-row--sin-articulo td{color:#1e40af;background-color:#dbeafe}.sales-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.sales-table th,.sales-table td{text-align:left;padding:.75rem 1rem;font-size:.9rem}.sales-table thead{color:#374151;background-color:#f3f4f6}.sales-table__row{cursor:pointer;border-top:1px solid #e5e7eb}.sales-table__row:hover{background-color:#f9fafb}.sales-table__detail-row td{background-color:#f9fafb;border-top:none}.sales-table__detail{flex-wrap:wrap;gap:2rem;display:flex}.sales-table__detail h4{color:#6b7280;margin:0 0 .4rem;font-size:.85rem}.sales-table__detail ul{margin:0;padding-left:1.1rem}.sales-table__empty{color:#6b7280}.sales-table__pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.sales-table__pagination .btn--secondary{color:#e5e7eb;border-color:#9ca3af}.sales-table__pagination .btn--secondary:hover:not(:disabled){background-color:#ffffff1a}.sales-table__pagination-page{color:#e5e7eb;font-size:.9rem}.appointments-page{padding-bottom:2rem}
