:root{font-family:system-ui,-apple-system,sans-serif;color:#17202a;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:#fff;padding:32px;border:1px solid #d8dee4;border-radius:14px;box-shadow:0 12px 30px #17202a12}.eyebrow{color:#52606d;font-size:.75rem;letter-spacing:.12em;font-weight:700}.auth-card h1{margin:8px 0 28px}.auth-card form{display:grid;gap:10px}.auth-card label{font-weight:600;margin-top:8px}.auth-card input{font:inherit;padding:11px;border:1px solid #8b98a5;border-radius:7px}.auth-card button,.logout{font:inherit;font-weight:700;border:0;border-radius:7px;padding:11px 14px;cursor:pointer;background:#155eef;color:#fff;margin-top:14px}.auth-card button:focus-visible,.logout:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #f6c344;outline-offset:2px}.error{color:#a61b1b;background:#fff0f0;padding:10px;border-radius:6px}.notice{color:#14532d;background:#ecfdf3;padding:10px;border-radius:6px}.center{min-height:100vh;display:grid;place-items:center}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#17202a;color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{font-size:1.1rem;font-weight:800;margin:0 8px 28px}.sidebar nav{display:grid;gap:4px}.sidebar a{color:#dbe4ee;text-decoration:none;padding:11px 12px;border-radius:7px}.sidebar a:hover,.sidebar a.active{background:#314254;color:#fff}.logout{margin-top:auto;background:#52606d}.content{padding:48px;flex:1;min-width:0}.content h1{font-size:2rem}.placeholder{background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:28px;color:#52606d}.catalog-page{max-width:1180px}.page-heading{display:flex;justify-content:space-between;align-items:end}.catalog-toolbar,.catalog-form,.detail{background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:20px;margin:20px 0}.catalog-toolbar label,.catalog-form label,.detail label{display:grid;gap:6px;font-weight:650;color:#344454}.catalog-toolbar input,.catalog-form input,.catalog-form select,.detail input,.detail select{font:inherit;padding:10px;border:1px solid #9aa7b4;border-radius:7px;background:#fff;color:#17202a}.catalog-form h2,.detail h3{margin:0 0 16px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.catalog-form button,.catalog-page button{font:inherit;font-weight:700;border:0;border-radius:7px;padding:10px 14px;cursor:pointer;background:#155eef;color:#fff}.table-wrap{overflow:auto;background:#fff;border:1px solid #d8dee4;border-radius:12px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap caption{text-align:left;padding:16px;font-weight:700}.table-wrap th,.table-wrap td{text-align:left;padding:12px;border-top:1px solid #e6eaf0;white-space:nowrap}.table-wrap th{color:#52606d;font-size:.9rem}.empty{background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:24px}.detail{max-width:680px}.detail-heading{display:flex;justify-content:space-between;align-items:center}.detail form{display:grid;gap:12px;margin:20px 0}.detail form button{justify-self:start}.detail>button{background:#52606d;margin-bottom:12px}.detail p{color:#52606d}@media(max-width:900px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sidebar{width:190px}.content{padding:28px 20px}.form-grid{grid-template-columns:1fr}}.numeric-field{display:grid;gap:8px}.numeric-input{display:block}.numeric-input input{width:100%}.numeric-buttons button{padding:4px 8px;min-height:28px;background:#eef2f7;border:1px solid #cbd5e1;border-radius:6px;color:#52606d;font-size:.72rem;cursor:pointer}.numeric-buttons button:hover{background:#e2e8f0}.numeric-buttons button:disabled{opacity:.55;cursor:not-allowed}section[aria-label="Nueva venta"]{max-width:1180px}section[aria-label="Nueva venta"] form{display:grid;gap:16px}section[aria-label="Nueva venta"] fieldset{background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:20px;margin:0}section[aria-label="Nueva venta"] legend{padding:0 8px;font-size:1.1rem;font-weight:700;color:#17202a}section[aria-label="Nueva venta"] input,section[aria-label="Nueva venta"] select{font:inherit;padding:10px;border:1px solid #9aa7b4;border-radius:7px;background:#fff;color:#17202a}section[aria-label="Nueva venta"] label{display:grid;gap:6px;font-weight:650;color:#344454}section[aria-label="Nueva venta"] fieldset>div{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e6eaf0}section[aria-label="Nueva venta"] fieldset>div:first-of-type{border-top:0}section[aria-label="Nueva venta"] fieldset>div>span{flex:1;color:#344454}section[aria-label="Nueva venta"] fieldset small{color:#a61b1b;font-weight:600}section[aria-label="Nueva venta"] button{font:inherit;font-weight:700;border:0;border-radius:7px;padding:10px 14px;cursor:pointer;background:#155eef;color:#fff}section[aria-label="Nueva venta"] button:hover{background:#0f4dcc}section[aria-label="Nueva venta"] button:disabled{background:#aab4c0;color:#f4f6f8;cursor:not-allowed}section[aria-label="Resumen de la venta"]{background:#f8fafc;border:1px solid #d8dee4;border-radius:10px;padding:16px}section[aria-label="Resumen de la venta"] p{display:flex;justify-content:space-between;gap:16px;margin:8px 0;color:#344454}section[aria-label="Resumen de la venta"] p:last-of-type{font-size:1.15rem;font-weight:800;color:#17202a}section[aria-label="Venta completada"]{max-width:680px;background:#fff;border:1px solid #d8dee4;border-radius:12px;padding:24px}section[aria-label="Venta completada"] dl{display:grid;grid-template-columns:1fr auto;gap:10px 24px;margin:24px 0}section[aria-label="Venta completada"] dt{color:#52606d}section[aria-label="Venta completada"] dd{margin:0;font-weight:700;text-align:right;color:#17202a}@media(max-width:700px){section[aria-label="Nueva venta"] fieldset>div{align-items:stretch;flex-direction:column}section[aria-label="Nueva venta"] fieldset>div>span{width:100%}section[aria-label="Venta completada"]{padding:18px}section[aria-label="Venta completada"] dl{grid-template-columns:1fr;gap:6px}section[aria-label="Venta completada"] dd{text-align:left;margin-bottom:8px}}section[aria-label="Nueva venta"]>form>.error,section[aria-label="Nueva venta"]>form>.notice{margin:0}section[aria-label="Nueva venta"] [role=status]{color:#14532d;background:#ecfdf3;padding:10px;border-radius:6px}section[aria-label="Nueva venta"] [role=alert]{color:#a61b1b;background:#fff0f0;padding:10px;border-radius:6px}section[aria-label="Nueva venta"] fieldset>p{margin:12px 0 0;color:#52606d}section[aria-label="Nueva venta"] fieldset>div p{margin:4px 0;color:#52606d;font-size:.95rem}section[aria-label="Nueva venta"]>form>label{max-width:360px}section[aria-label="Nueva venta"]>form>button{justify-self:start}section[aria-label="Nueva venta"]>form>button[type=submit]{min-width:180px}@media(max-width:700px){section[aria-label="Nueva venta"]>form>label{max-width:none}section[aria-label="Nueva venta"]>form>button{width:100%}section[aria-label="Nueva venta"] .numeric-buttons{gap:4px}section[aria-label="Nueva venta"] .numeric-buttons button{min-height:32px}}.numeric-field>label{display:grid;gap:6px;font-weight:650;color:#344454}.numeric-field input{width:100%;font:inherit;padding:10px;border:1px solid #9aa7b4;border-radius:7px;background:#fff;color:#17202a}.numeric-controls{display:flex;gap:8px;width:100%}.numeric-control-group{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;flex:1}.numeric-control-group span{grid-column:1 / -1;color:#64748b;font-size:.72rem;font-weight:650;text-align:center}.numeric-control-group button{width:100%;min-width:0;min-height:30px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#eef2f7;color:#52606d;cursor:pointer;font-size:.72rem;font-weight:700;line-height:1}.numeric-control-group button:hover{background:#e2e8f0;border-color:#b7c4d3}@media(max-width:700px){.numeric-controls{gap:6px}.numeric-control-group{gap:4px}.numeric-control-group button{min-height:28px;padding:4px 6px}}.numeric-input{display:block!important;width:100%}.numeric-input input{display:block;width:100%;min-width:0;border-radius:7px!important}.numeric-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:6px!important;width:100%!important;margin-top:6px!important}.numeric-buttons button,.numeric-buttons button:first-child,.numeric-buttons button:last-child{width:100%;min-height:28px;padding:4px 8px;border:1px solid #cbd5e1!important;border-radius:6px!important;background:#eef2f7!important;color:#52606d!important;font-size:.72rem;line-height:1}.numeric-buttons button:hover{background:#e2e8f0!important;border-color:#b7c4d3!important}.numeric-control-group button{width:100%;min-width:0;min-height:28px;padding:4px 8px;border:1px solid #cbd5e1!important;border-radius:6px!important;background:#eef2f7!important;color:#52606d!important;font-size:.72rem;line-height:1}.numeric-control-group button:hover{background:#e2e8f0!important;border-color:#b7c4d3!important}@media(max-width:700px){.numeric-buttons,.numeric-controls{gap:6px!important}.numeric-control-group button{min-height:28px;padding:4px 6px}}.customer-picker{position:relative}.customer-search{position:relative;z-index:2}.customer-option{display:block;width:min(100%,420px);margin:0;padding:10px 14px;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;background:#fff;color:#243447;text-align:left;font-size:.95rem;cursor:pointer}.customer-options{width:min(100%,420px);max-height:280px;overflow-y:auto;margin-top:4px;border:1px solid #d5deea;border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a1f}.customer-option:hover,.customer-option:focus{background:#eef4ff;color:#155eef}
