@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f8f9fa;--bg-surface:#fff;--bg-surface2:#f1f3f5;--border-light:#e9ecef;--border-medium:#dee2e6;--text-primary:#1e1e2a;--text-secondary:#5b6778;--text-muted:#8c95a3;--accent:#0f5c6b;--accent-light:#e0f2f1;--accent-hover:#0a4552;--success:#2b8c5e;--warning:#e6a020;--error:#d14545;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SF Mono", "Menlo", "Monaco", "Cascadia Code", "Consolas", monospace;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000006;--ease-out:cubic-bezier(.16, 1, .3, 1)}body{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;padding:24px 16px;line-height:1.5}.app-container{max-width:1440px;margin:0 auto}.layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:28px;display:grid}header{border-bottom:2px solid var(--accent-light);background:linear-gradient(90deg,#0f5c6b05,#0000);justify-content:space-between;align-items:center;margin-bottom:32px;padding:12px 0 16px;display:flex}.logo{letter-spacing:-.02em;color:var(--text-primary);text-transform:uppercase;background:var(--bg-surface);box-shadow:inset 0 1px 3px #00000005, var(--shadow-sm);border:1px solid var(--border-light);border-radius:40px;padding:6px 18px;font-size:1.3rem;font-weight:600}.header-right{align-items:center;gap:20px;display:flex}.dolar-badge{background:var(--bg-surface2);border:1px solid var(--border-medium);color:var(--text-secondary);box-shadow:var(--shadow-sm);border-radius:40px;align-items:center;gap:8px;padding:6px 14px;font-size:.9rem;display:flex}.dolar-badge input{border:1px solid var(--border-medium);width:90px;font-family:var(--font-mono);text-align:right;transition:border .15s var(--ease-out);background:#fff;border-radius:20px;padding:4px 8px;font-weight:500}.dolar-badge input:focus{border-color:var(--accent)}.btn-config{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s var(--ease-out);background:#fff;border-radius:30px;padding:8px 18px;font-size:.9rem;font-weight:500}.btn-config:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-config:active{box-shadow:var(--shadow-sm);transform:scale(.98)}.form-panel,.result-panel{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-light);overflow:hidden}.section{border-bottom:1px solid var(--border-light);padding:24px 24px 16px}.section:last-child{border-bottom:none}.section-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin-bottom:20px;font-size:1rem;font-weight:600}input,select,textarea{font-family:var(--font-sans);border:1px solid var(--border-medium);border-radius:var(--radius-sm);transition:border .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;width:100%;padding:10px 12px;font-size:.9rem}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0f5c6b1a}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.row{gap:16px;margin-bottom:16px;display:flex}.row-2>*,.row-3>*{flex:1}.item-card{background:var(--bg-surface2);border-radius:var(--radius-md);border-left:4px solid var(--accent);box-shadow:inset 0 1px 2px #00000005, var(--shadow-sm);transition:box-shadow .2s var(--ease-out);margin-bottom:20px;padding:20px}.item-card:hover{box-shadow:var(--shadow-md)}.item-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.item-num{color:var(--accent);background:var(--accent-light);letter-spacing:.03em;border:1px solid #0f5c6b26;border-radius:30px;padding:4px 14px;font-size:.8rem;font-weight:700}.btn-remove{border:1px solid var(--border-medium);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;transition:all .2s var(--ease-out);background:0 0;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex}.btn-remove:hover{background:var(--error);border-color:var(--error);color:#fff}.terminaciones{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.term-chip{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;transition:all .15s var(--ease-out);box-shadow:var(--shadow-sm);background:#fff;border-radius:30px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;display:inline-flex}.term-chip input{width:auto;accent-color:var(--accent);margin-right:4px}.term-chip:has(input:checked){background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:500}.term-chip:focus-within{outline:2px solid var(--accent);outline-offset:1px}.btn-add{border:1px dashed var(--border-medium);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all .2s var(--ease-out);background:#fff;margin:8px 0 16px;padding:12px;font-size:.9rem;font-weight:500}.btn-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);border-style:solid}.btn-wa,.btn-presupuesto{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;text-align:center;width:100%;transition:all .2s var(--ease-out);box-shadow:var(--shadow-sm);padding:14px 20px;font-size:.95rem;font-weight:600}.btn-wa{background:var(--success);border-color:var(--success);color:#fff}.btn-wa:hover{box-shadow:var(--shadow-md);background:#1f784a;transform:translateY(-1px)}.btn-wa:active{transform:scale(.98)}.btn-presupuesto{background:var(--text-primary);border-color:var(--text-primary);color:#fff}.btn-presupuesto:hover{box-shadow:var(--shadow-md);background:#2e2e3a;transform:translateY(-1px)}.btn-presupuesto:active{transform:scale(.98)}.result-panel{padding:28px 24px;position:sticky;top:20px}.result-title{border-bottom:1px solid var(--border-light);color:var(--text-primary);margin-bottom:20px;padding-bottom:16px;font-size:1.2rem;font-weight:600}.result-items{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;min-height:120px;max-height:calc(100vh - 300px);margin-bottom:16px;padding-right:4px;overflow-y:auto}.result-items::-webkit-scrollbar{width:5px}.result-items::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:10px}.result-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:12px 0;font-size:.95rem;display:flex}.result-row-label strong{color:var(--text-primary)}.result-row-val{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.result-total{border-top:2px solid var(--border-medium);justify-content:space-between;align-items:baseline;margin-top:24px;padding-top:20px;display:flex}.result-total-label{text-transform:uppercase;letter-spacing:.02em;font-size:1.2rem;font-weight:600}.result-total-val{font-family:var(--font-mono);color:var(--accent);font-size:2rem;font-weight:700;line-height:1}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);flex-direction:column;width:90%;max-width:900px;max-height:85vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);background:var(--bg-surface2);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.tabs{background:var(--bg-surface2);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.tabs button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s var(--ease-out);background:0 0;border:none;padding:8px 20px;font-weight:500}.tabs button.active{color:var(--accent);box-shadow:var(--shadow-sm);background:#fff}.modal-header>button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);width:36px;height:36px;transition:all .15s var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.modal-header>button:hover{background:var(--bg-surface);color:var(--error)}.modal-body{background:#fff;padding:24px;overflow-y:auto}.config-grid{grid-template-columns:repeat(2,1fr);gap:20px 24px;display:grid}.config-group label{margin-bottom:6px;display:block}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th{text-align:left;border-bottom:1px solid var(--border-medium);color:var(--text-secondary);padding:12px 8px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-light);padding:10px 8px}.admin-table input{border-radius:var(--radius-sm);width:100%;min-width:60px;padding:6px 8px}.loading-screen{height:100vh;color:var(--accent);letter-spacing:1px;background:var(--bg-page);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:1.2rem;font-weight:400;display:flex}.loading-screen:after{content:"";border:3px solid var(--border-medium);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.print-only{display:none}@media (width<=900px){body{padding:16px 12px}.layout{grid-template-columns:1fr;gap:20px}.result-panel{position:static}.row{flex-wrap:wrap}.row>*{min-width:140px}.dolar-badge{padding:4px 10px}.logo{padding:6px 12px;font-size:1rem}}@media (width<=480px){header{flex-direction:column;align-items:flex-start;gap:12px}.header-right{justify-content:space-between;width:100%}.config-grid{grid-template-columns:1fr}}@media print{body{background:#fff;padding:.4in}.no-print{display:none!important}.print-only{display:block!important}.app-container{max-width:100%}.layout{display:block}.item-card{break-inside:avoid;box-shadow:none;background:#fafafa;border-left-width:3px}.result-panel{box-shadow:none;border:none;padding:0}.result-row{border-bottom:1px solid #ccc}.result-total{border-top:2px solid #000}.result-total-val{color:#000}.btn-add,.btn-remove,.modal-overlay,.btn-config,.dolar-badge input{display:none!important}}
