*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#337ab7;--primary-dark:#2a6496;--surface:#fff;--bg:#f1f5f9;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--white:#fff;--danger:#ef4444;--shadow:0 4px 24px #00000014;--radius:10px}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,Arial,sans-serif}.app-bg{background:linear-gradient(135deg,#eef2ff 0%,#f1f5f9 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:40px 16px;display:flex}.sheet{background:var(--surface);border-radius:var(--radius);width:100%;max-width:900px;box-shadow:var(--shadow);overflow:hidden}.brand-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px;display:flex}.brand-left{align-items:flex-start;gap:16px;display:flex}.logo{object-fit:contain;flex-shrink:0;width:80px;height:80px}.company-name-big{color:var(--primary);letter-spacing:1px;font-size:22px;font-weight:800}.company-name-sub{color:var(--text);margin-top:1px;font-size:15px;font-weight:700}.company-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.budget-label{color:var(--primary);letter-spacing:1px;margin-top:8px;font-size:19px;font-weight:800}.header-box{border:2px solid var(--text);text-align:center;min-width:185px;padding:14px 18px}.header-box-company{color:var(--primary);font-size:13px;font-weight:700;line-height:1.5}.header-box-rif{color:var(--text);margin-top:4px;font-size:12px}.header-box-firma{color:var(--primary);margin-top:8px;font-family:Georgia,serif;font-size:22px;font-style:italic}.form-section{padding:28px}.section-heading{color:var(--primary);letter-spacing:.8px;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:700}.divider{background:var(--border);height:1px;margin:22px 0}.row{flex-wrap:wrap;gap:12px;display:flex}.input-group{flex-direction:column;margin-bottom:14px;display:flex}.input-group.flex-2{flex:2;min-width:160px}.input-group.flex-1{flex:1;min-width:80px}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}input[type=text],input[type=number],input[type=tel]{border:1px solid var(--border);color:var(--text);background:#f8fafc;border-radius:7px;outline:none;width:100%;padding:10px 13px;font-size:14px;transition:border-color .15s}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #337ab71f}.items-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{background:var(--primary)}thead th{color:var(--white);text-align:center;letter-spacing:.5px;white-space:nowrap;padding:11px 13px;font-size:12px;font-weight:700}thead th:nth-child(2){text-align:left}tbody tr:nth-child(2n){background:#f8fafc}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.table-input{color:var(--text);background:0 0;border:1px solid #0000;border-radius:5px;outline:none;width:100%;padding:6px 8px;font-size:13px;transition:border-color .15s,background .15s}.table-input:focus{border-color:var(--primary);background:#eff6ff}.table-input.num{text-align:right;width:90px}.qty-control{background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;width:90px;margin:0 auto;display:flex;overflow:hidden}.qty-btn{color:var(--text-muted);cursor:pointer;background:#f8fafc;border:none;justify-content:center;align-items:center;width:28px;height:32px;font-size:16px;font-weight:600;transition:background .15s,color .15s;display:flex}.qty-btn:hover{color:var(--text);background:#e2e8f0}.qty-input{text-align:center;height:32px;background:0 0!important;border:none!important;border-radius:0!important;width:34px!important;padding:0!important}.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-input[type=number]{appearance:textfield}.cell-total{text-align:right;white-space:nowrap;color:var(--text);font-size:13px;font-weight:700}.btn-delete{cursor:pointer;color:var(--danger);background:0 0;border:none;border-radius:5px;padding:4px 8px;font-size:16px;transition:background .15s}.btn-delete:hover{background:#fef2f2}.btn-add-item{border:1.5px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;padding:9px 16px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s;display:flex}.btn-add-item:hover{border-color:var(--primary);color:var(--primary)}.totals-wrapper{justify-content:flex-end;margin-top:20px;display:flex}.totals-card{border:1px solid var(--border);border-radius:8px;width:330px;overflow:hidden}.total-row{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.total-row-highlight{background:var(--primary);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.total-label{color:var(--text-muted);font-size:13px;font-weight:600}.total-value{color:var(--text);font-size:15px;font-weight:700}.total-label-light{color:var(--white);letter-spacing:.5px;font-size:14px;font-weight:700}.total-value-highlight{color:var(--white);font-size:18px;font-weight:800}.abono-row{align-items:center;gap:8px;display:flex}.abono-input{text-align:center;width:55px;height:33px;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:6px;outline:none;font-size:14px;font-weight:600}.abono-input:focus{border-color:var(--primary)}.abono-pct{color:var(--text-muted);font-size:14px;font-weight:600}.btn-pdf{background:var(--primary);width:100%;color:var(--white);letter-spacing:.4px;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:28px;padding:16px;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex;box-shadow:0 2px 12px #337ab740}.btn-pdf:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 20px #337ab759}.btn-pdf:active{transform:translateY(0)}.currency-toggle-wrap{align-items:center;gap:12px;margin-bottom:4px;display:flex}.currency-toggle-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.currency-toggle{border:1.5px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.currency-btn{background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;border:none;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.currency-btn:not(:last-child){border-right:1.5px solid var(--border)}.currency-btn.active{background:var(--primary);color:var(--white)}.currency-btn:hover:not(.active){color:var(--primary);background:#eef2ff}.comentarios-textarea{border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#f8fafc;border-radius:7px;outline:none;padding:12px 13px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .15s}.comentarios-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #337ab71f}@media (max-width:640px){.app-bg{padding:0}.sheet{border-radius:0}.form-section,.brand-header{padding:18px}.totals-card{width:100%}}
