:root{--azul: #1f3a5f;--borde: #d9dee5;--fondo-fila: #fdf6e3}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:#1a1a1a;background:#f5f6f8}header{background:var(--azul);color:#fff;display:flex;align-items:center;gap:32px;padding:0 24px}header h1{font-size:16px;margin:14px 0}nav{display:flex;gap:4px}nav a{color:#cfd8e6;text-decoration:none;padding:16px 12px}nav a.router-link-active{color:#fff;box-shadow:inset 0 -3px #fff}main{max-width:1560px;margin:24px auto;padding:0 24px}h2{font-size:18px;margin:0 0 16px}h3{font-size:15px;margin:28px 0 10px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.toolbar .spacer{flex:1}input,select,button,textarea{font:inherit;padding:6px 10px;border:1px solid var(--borde);border-radius:6px;background:#fff}button{cursor:pointer}button.primary{background:var(--azul);color:#fff;border-color:var(--azul)}button.danger{color:#b3261e}button.link{border:none;background:none;color:var(--azul);text-decoration:underline;padding:2px 4px}.tabla-wrap{overflow-x:auto;background:#fff;border:1px solid var(--borde);border-radius:8px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{background:var(--azul);color:#fff;text-align:left;padding:8px;font-weight:600}td{padding:7px 8px;border-top:1px solid var(--borde)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--fondo-fila)}tr.total td{font-weight:700;border-top:2px solid var(--azul)}form.ficha{background:#fff;border:1px solid var(--borde);border-radius:8px;padding:20px;max-width:560px;display:grid;gap:12px}form.ficha label{display:grid;gap:4px;font-weight:600}form.ficha label span{font-size:12px;color:#555}.fila{display:flex;gap:12px}.fila>*{flex:1}.error{color:#b3261e;margin:8px 0}.aviso{color:#555;font-size:13px;margin-top:12px}.ajuste{font-size:11px;color:#92600e}.estado{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.estado-pendiente{background:#fdf1d7;color:#92600e}.estado-confirmada{background:#ddf2e0;color:#1e6b34}.estado-facturada{background:#dde8f7;color:var(--azul)}.estado-cancelada{background:#eceef1;color:#777}.estado-externo{background:#ece4f5;color:#5b3d8a}tr.cancelada td{color:#999;text-decoration:line-through}tr.cancelada td .estado,tr.cancelada td button{text-decoration:none}.portal-nav{display:flex;gap:4px;margin-left:16px}.portal-nav a{color:var(--azul);text-decoration:none;padding:6px 10px;border-radius:6px}.portal-nav a.activa{background:var(--azul);color:#fff}.cal-titulo{min-width:140px;text-align:center}.leyenda{display:flex;gap:6px;align-items:center}.calendario{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:8px;overflow:hidden}.cal-cab{background:var(--azul);color:#fff;font-weight:600;text-align:center;padding:6px 0}.cal-dia{background:#fff;min-height:96px;padding:4px;display:flex;flex-direction:column;gap:3px}.cal-dia{cursor:pointer}.cal-dia.vacio{background:#f5f6f8;cursor:default}.cal-dia.hoy{background:var(--fondo-fila)}.cal-dia.elegido{outline:2px solid var(--azul);outline-offset:-2px}.cal-num{align-self:flex-end;color:#555;font-size:12px;padding:1px 5px}.cal-chip{display:block;font-size:11px;padding:2px 5px;border-radius:4px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-pendiente{background:#fdf1d7;color:#92600e}.chip-confirmada{background:#ddf2e0;color:#1e6b34}.chip-facturada{background:#dde8f7;color:var(--azul)}.chip-cancelada{background:#eceef1;color:#888;text-decoration:line-through}.chip-externo{background:#ece4f5;color:#5b3d8a;cursor:default}.resumen{background:var(--fondo-fila);border:1px solid var(--borde);border-radius:6px;padding:10px 12px;font-variant-numeric:tabular-nums}
