*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#172033;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:var(--primary);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:3px}h2{font-size:18px}small{display:block;color:#718096}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#111827;color:#fff;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;font-size:16px;font-weight:700;padding:5px 10px 25px}.brand>span{color:#60a5fa;font-size:24px}.brand small{font-size:11px;font-weight:400}nav{display:grid;gap:5px}nav a{color:#cbd5e1;padding:11px 12px;border-radius:9px;font-weight:600}nav a:hover{background:#1f2937;color:#fff}.logout{margin-top:auto;background:transparent;border:0;color:#94a3b8;cursor:pointer;padding:10px}aside form{margin-top:auto}main{margin-left:225px;padding:34px;max-width:1450px}.full{margin:0;padding:0;max-width:none}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}header p,.hint{color:#64748b}.actions{display:flex;gap:8px}.btn{display:inline-block;border:1px solid #cbd5e1;background:#fff;color:#243044;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.secondary:hover{background:#f1f5f9}.btn:disabled{opacity:.45}.wide{width:100%}.card{background:#fff;border:1px solid #e3e8f0;border-radius:12px;padding:21px;margin-bottom:20px;box-shadow:0 1px 2px #0f172a0a}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-title h2{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats article{background:#fff;border:1px solid #e3e8f0;border-radius:12px;padding:20px}.stats b{display:block;font-size:25px;color:var(--primary)}.stats span{color:#64748b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}th,td{padding:12px;border-bottom:1px solid #edf0f5;vertical-align:top}.right{text-align:right}.empty{text-align:center;color:#94a3b8;padding:30px}.badge{font-size:12px;padding:4px 9px;border-radius:20px;background:#e2e8f0}.badge.enviada{background:#dbeafe;color:#1d4ed8}.badge.aceptada{background:#dcfce7;color:#15803d}.badge.cancelada{background:#fee2e2;color:#b91c1c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span2{grid-column:span 2}label{display:block;font-weight:650;margin-bottom:13px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:10px;margin-top:5px;font:inherit;background:#fff;color:#172033}textarea{min-height:75px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--primary) 25%,transparent);border-color:var(--primary)}.hidden{display:none!important}.alert{border-radius:8px;padding:11px 15px;margin-bottom:18px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.link{border:0;background:none;cursor:pointer;color:var(--primary)}.danger-text{color:#dc2626}.items input{min-width:85px;margin:0}.items td:first-child input{min-width:250px}.totals-preview{display:flex;justify-content:flex-end;gap:25px;align-items:center}.grand{font-size:18px;color:var(--primary)}.paper{background:#fff;max-width:900px;margin:0 auto 20px;padding:48px;box-shadow:0 2px 15px #17203318}.paper-head{display:flex;justify-content:space-between}.paper-head p,.client p{color:#64748b}.accent{color:var(--primary);font-size:25px}.paper hr{border:0;border-top:3px solid var(--primary);margin:20px 0}.logo{max-width:170px;max-height:75px}.quote-totals{margin:20px 0 25px auto;width:300px;display:grid;gap:8px}.quote-totals span{display:flex;justify-content:space-between}.quote-totals .grand{border-top:2px solid var(--primary);padding-top:9px}.notes{background:#f8fafc;padding:15px}.paper footer{text-align:center;color:#64748b;margin-top:35px}.statusbar{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:30px}.statusbar select{width:auto}.inline-form{display:flex;align-items:end;gap:10px}.inline-form label{flex:1;margin:0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#eff6ff,#f8fafc)}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:36px;width:min(92vw,400px);box-shadow:0 20px 45px #1e3a8a14}.login-card h1{text-align:center;font-size:23px}.login-card>p{text-align:center;color:#64748b;margin-bottom:25px}.login-logo{text-align:center;color:var(--primary);font-size:36px}
@media(max-width:800px){aside{position:static;width:auto;height:auto;display:block;padding:10px}.brand{padding:5px 10px 10px}nav{display:flex;overflow:auto}nav a{white-space:nowrap}aside form{display:none}main{margin:0;padding:18px}.stats{grid-template-columns:1fr 1fr}.form-grid,.columns{grid-template-columns:1fr}.span2{grid-column:span 1}.paper{padding:22px}.paper-head{gap:15px}.actions,header{align-items:flex-start;flex-wrap:wrap}.items td:first-child input{min-width:200px}}
@media print{aside,header,.statusbar,.alert{display:none!important}main{margin:0;padding:0}.paper{box-shadow:none;max-width:none;padding:0}}

