:root{--color-primary:#375ec8;--color-primary-disabled:#a9b8e6;--color-logo-blue:#3a7aa8;--color-accent:#f4d13a;--color-accent-text:#131726;--color-bg:#f3f4f6;--color-surface:#fff;--color-border:#e5e7eb;--color-text:#111827;--color-text-muted:#6b7280;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-success-text:#14532d;--color-error:#b91c1c;--color-error-bg:#fee2e2;--color-secondary-bg:#e5e7eb;--color-header-bg:#131726;--color-header-text:#fff;--color-header-text-muted:#9aa5c0;--color-header-border:#262b40;--font-family:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-size-title:1.5rem;--font-size-subtitle:1.1rem;--font-size-body:1.05rem;--font-size-small:.9rem;--radius:.65rem;--radius-lg:.75rem;--shadow-card:0 1px 2px #1118270f, 0 2px 6px #1118270f;--shadow-modal:0 10px 15px #11182726, 0 4px 6px #1118271a}*{box-sizing:border-box}html,body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-body);max-width:100vw;margin:0;overflow-x:hidden}h1{font-size:var(--font-size-title);margin:0}h2{font-size:var(--font-size-subtitle);margin:0 0 .9rem}.screen{flex-direction:column;gap:1.25rem;max-width:480px;min-height:100vh;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}.screen-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.screen-header-actions{font-size:var(--font-size-small);align-items:center;gap:.75rem;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem}.login-card{text-align:center;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:1.5rem;margin-top:15vh;padding:0;display:flex}.login-card p{color:var(--color-text-muted);margin:0}.form-card{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:1.1rem;padding:0;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}label{font-weight:600;font-size:var(--font-size-body)}input,select,textarea{font-family:inherit;font-size:var(--font-size-body);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);border:1px solid #cbd5e1;width:100%;min-height:3.2rem;padding:.9rem .85rem;transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #375ec82e}input[type=password]{letter-spacing:.3rem;text-align:center}textarea{resize:vertical;min-height:5.5rem}button{font-family:inherit;font-size:var(--font-size-body);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;min-height:3.4rem;padding:.95rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.icono{flex-shrink:0;width:1.15em;height:1.15em}button:focus-visible{outline:none;box-shadow:0 0 0 3px #375ec84d}button.primary{background:var(--color-primary);color:#fff}button.primary:disabled{background:var(--color-primary-disabled);cursor:not-allowed}button.secondary{background:var(--color-secondary-bg);color:var(--color-text);border-color:var(--color-border)}button.danger{background:var(--color-error-bg);color:var(--color-error);border-color:#fecaca}button.accent{background:var(--color-accent);color:var(--color-accent-text)}button.secondary:disabled,button.danger:disabled,button.accent:disabled{opacity:.55;cursor:not-allowed}@media (hover:hover) and (pointer:fine){button.primary:hover:not(:disabled){background:#2c4aa0}button.secondary:hover:not(:disabled){background:#d7dbe0}button.danger:hover:not(:disabled){background:#fecaca}button.accent:hover:not(:disabled){background:#e6bd1f}}.error{background:var(--color-error-bg);color:var(--color-error);font-weight:600;font-size:var(--font-size-small);border-radius:var(--radius);border:1px solid #fecaca;margin:0;padding:.65rem .85rem}.success-banner{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.success-banner .numero{font-size:2rem;font-weight:700}.admin-screen{flex-direction:column;gap:1.25rem;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}.secondary-link{color:var(--color-primary);font-weight:600;text-decoration:none}.admin-nav-mobile{display:none}@media (width<=640px){.app-nav--admin{display:none}.admin-nav-mobile{width:100%;font-weight:600;display:block}}.admin-form-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-form-row input,.admin-form-row select{min-height:2.9rem;font-size:var(--font-size-small);border:none;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;flex:160px;padding:.6rem .2rem}.admin-form-row input:focus-visible,.admin-form-row select:focus-visible{box-shadow:none;border-bottom:2px solid var(--color-primary);outline:none;margin-bottom:-1px}.admin-form-row button{min-height:2.9rem;font-size:var(--font-size-small);flex:180px;padding:.6rem 1.2rem}.field-compacto{flex-direction:column;flex:0 160px;gap:.3rem;display:flex}.field-compacto label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.field-compacto input,.field-compacto select{width:100%;height:2.6rem;min-height:0;font-size:var(--font-size-small);padding:.35rem .6rem}.admin-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.admin-table tbody tr{transition:background-color .1s}.admin-table{border-collapse:collapse;width:100%;min-width:640px}.admin-table th,.admin-table td{text-align:left;font-size:var(--font-size-small);border-bottom:1px solid #eef0f3;padding:.75rem .9rem}.admin-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.admin-table tr:last-child td{border-bottom:none}@media (hover:hover) and (pointer:fine){.admin-table tbody tr:hover{background:var(--color-bg)}}.admin-table td input,.admin-table td select{min-height:2.6rem;font-size:var(--font-size-small);border:none;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;padding:.5rem .2rem}.admin-table td input:focus-visible,.admin-table td select:focus-visible{box-shadow:none;border-bottom:2px solid var(--color-primary);outline:none;margin-bottom:-1px}.admin-table-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-table-actions button{min-height:2.6rem;font-size:var(--font-size-small);padding:.5rem .9rem}.admin-content-stack{flex-direction:column;gap:1.25rem;display:flex}.informes-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.informe-card{flex-direction:column;gap:.85rem;display:flex}.informe-card h3{margin:0;font-size:1rem}.informe-card p{color:var(--color-text-muted);font-size:var(--font-size-small);flex:1;margin:0;line-height:1.4}.galeria-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:1.1rem;display:grid}.galeria-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;text-align:left;flex-direction:column;min-height:0;padding:0;font-weight:400;display:flex;overflow:hidden}.galeria-item-imagen{position:relative}.galeria-item img{object-fit:cover;width:100%;height:150px;display:block}.pildora{text-transform:uppercase;letter-spacing:.04em;border-radius:1rem;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.galeria-item-imagen .pildora{position:absolute;top:.5rem;right:.5rem}.pildora-pendiente{color:#fff;background:#131726bf}.pildora-confirmado,.pildora-vigente{background:var(--color-success);color:#fff}.pildora-pronto{background:var(--color-accent);color:var(--color-accent-text)}.pildora-caducada{background:var(--color-error);color:#fff}.itv-celda{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.itv-editar{gap:.5rem;display:flex}.lista-documentos{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lista-documentos li{border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.lista-documentos a{color:var(--color-primary);word-break:break-word;font-weight:600;text-decoration:none}.pildora-activo{background:var(--color-success);color:#fff}.pildora-inactivo{color:#fff;background:#131726bf}.galeria-item-info{font-size:var(--font-size-small);border-top:1px solid var(--color-border);flex-direction:column;gap:.2rem;padding:.65rem .75rem;display:flex}.galeria-item-tipo{text-transform:capitalize;font-weight:600}.galeria-item-meta{color:var(--color-text-muted)}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);flex-direction:column;gap:1rem;width:100%;max-width:640px;max-height:90vh;padding:1.25rem;display:flex;overflow-y:auto}.modal-content img{object-fit:contain;border-radius:var(--radius);background:var(--color-bg);width:100%;max-height:55vh}.modal-content dl{font-size:var(--font-size-small);grid-template-columns:auto 1fr;gap:.4rem .75rem;margin:0;display:grid}.modal-content dt{color:var(--color-text-muted);font-weight:600}.modal-content dd{margin:0}.subir-documento{flex-direction:column;gap:1rem;display:flex}.subir-documento-titulo{margin:0}.subir-documento-ayuda{color:var(--color-text-muted);margin:0}.subir-documento-confirmacion{margin:0;font-weight:600}.selector-tipo{gap:.75rem;display:flex}.selector-tipo button{flex:1}.selector-tipo-opcion{font-family:inherit;font-size:var(--font-size-body);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-secondary-bg);min-height:3.4rem;color:var(--color-text);cursor:pointer;padding:.95rem;font-weight:600}@media (hover:hover) and (pointer:fine){.selector-tipo-opcion:hover{background:#d7dbe0}}.enlace-discreto{font-family:inherit;font-size:var(--font-size-small);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600;text-decoration:underline}.input-oculto{display:none}.miniatura-adjunto{object-fit:contain;border-radius:var(--radius);background:var(--color-bg);width:100%;max-height:40vh}.mi-albaran-item{flex-direction:column;gap:.6rem;display:flex}.avisos-prompt{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:var(--font-size-small);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-bottom:1rem;padding:.6rem .85rem;display:flex}.lista-datos{font-size:var(--font-size-small);grid-template-columns:auto 1fr;gap:.4rem .75rem;margin:0;display:grid}.lista-datos dt{color:var(--color-text-muted);font-weight:600}.lista-datos dd{margin:0}.app-bar{background:var(--color-header-bg)}.app-bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:480px;margin:0 auto;padding:1rem 1.25rem;display:flex}.app-bar-inner.ancho{max-width:960px}.app-bar-brand{flex-direction:column;gap:.15rem;display:flex}.app-logo{width:auto;max-width:55vw;height:2.3rem;display:block}.login-logo{align-self:center;width:auto;max-width:70vw;height:3.5rem}.app-bar-subtitle{font-size:var(--font-size-small);color:var(--color-header-text-muted);font-weight:600}.app-bar-actions{font-size:var(--font-size-small);color:var(--color-header-text);align-items:center;gap:.75rem;display:flex}.app-bar-actions a{color:var(--color-header-text);font-weight:600;text-decoration:none}.app-bar-actions a:hover{text-decoration:underline}.app-nav{background:var(--color-header-bg);border-top:1px solid var(--color-header-border);border-bottom:1px solid var(--color-header-border)}.app-nav-inner{flex-wrap:wrap;gap:.25rem;max-width:480px;margin:0 auto;padding:0 1.25rem;display:flex}.app-nav-inner.ancho{max-width:960px}.app-nav-inner a{color:var(--color-header-text-muted);font-weight:600;font-size:var(--font-size-small);border-bottom:3px solid #0000;padding:.7rem .75rem;text-decoration:none}.app-nav-inner a.active{color:var(--color-header-text);border-bottom-color:var(--color-accent)}.app-nav-inner.pestanas a{text-align:center;flex:1}.miniatura-historial{object-fit:cover;border-radius:var(--radius);background:var(--color-bg);width:100%;max-height:160px;display:block}.miniatura-boton{cursor:pointer;background:0 0;border:none;width:100%;min-height:0;padding:0}.dashboard-total{margin:.25rem 0 .75rem;font-size:2rem;font-weight:700}.estado-carga{color:var(--color-text-muted);font-size:var(--font-size-small);justify-content:center;align-items:center;gap:.6rem;padding:2.5rem 1rem;display:flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:1.15rem;height:1.15rem;animation:.7s linear infinite girar}@keyframes girar{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.estado-vacio{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-small);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:2.5rem 1rem}.estado-vacio p{margin:0}.admin-table-empty{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem;font-style:italic}.field{border-bottom:1px solid var(--color-border);gap:.35rem;padding:.95rem 0}.field label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.field select,.field textarea,.field input{background:0 0;border:none;border-radius:0;min-height:2.6rem;padding:0;font-family:inherit;font-size:1.02rem;font-weight:500}.field textarea{resize:vertical;min-height:4rem}.field input[type=date],.field input[type=number]{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.field select:focus-visible,.field input:focus-visible,.field textarea:focus-visible{box-shadow:none;border-bottom:2px solid var(--color-primary);border-radius:0;outline:none;margin-bottom:-1px}.fila-horas{grid-template-columns:1fr 1fr;gap:0 1.1rem;display:grid}.fila-horas .field:nth-child(odd){border-right:1px solid var(--color-border);padding-right:1.1rem}.fila-horas .field:nth-child(2n){padding-left:1.1rem}.field-compacto input,.field-compacto select{border:none;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;padding:.35rem 0}.field-compacto input[type=date]{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-weight:600}.field-compacto input:focus-visible,.field-compacto select:focus-visible{border-bottom:2px solid var(--color-primary);outline:none;margin-bottom:-1px}
