:root{--bg-color:#f8fafc;--bg-panel:#ffffffbf;--text-primary:#0f172a;--text-secondary:#475569;--border-color:#cbd5e180;--primary-color:#3b82f6;--primary-hover:#2563eb;--danger-color:#ef4444;--success-color:#10b981;--glass-border:1px solid #ffffff80;--glass-shadow:0 4px 30px #0000000d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-color:#0f172a;--bg-panel:#1e293b99;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#33415580;--primary-color:#60a5fa;--primary-hover:#3b82f6;--glass-border:1px solid #ffffff14;--glass-shadow:0 4px 30px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition), color var(--transition);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1{letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:700}h2{margin-bottom:1rem;font-size:1.5rem;font-weight:600}h3{color:var(--text-secondary);font-size:1.25rem;font-weight:600}p,label{color:var(--text-secondary);font-size:.95rem}.container{grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto;padding:2rem;display:grid}@media (width<=768px){.container{grid-template-columns:1fr;padding:1rem}}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem;font-weight:500;display:block}input[type=text],input[type=number],select{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:var(--transition);background:0 0;outline:none;padding:.75rem 1rem;font-size:1rem}input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633}input[type=range]{-webkit-appearance:none;background:var(--border-color);border-radius:3px;outline:none;width:100%;height:6px;margin:1rem 0}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary-color);cursor:pointer;width:20px;height:20px;transition:var(--transition);border-radius:50%}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.checkbox-group{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--primary-color);cursor:pointer}button{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:500}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{border:1px solid var(--primary-color);color:var(--primary-color);background:0 0}.btn-outline:hover{background:#3b82f61a}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger-outline{border:1px solid var(--danger-color);color:var(--danger-color);background:0 0}.output-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:1rem 0;display:flex}.output-row:last-child{border-bottom:none}.output-total{border-top:2px solid var(--border-color);margin-top:1rem;padding-top:1rem;font-size:1.5rem;font-weight:700}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.header-container{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.theme-toggle{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;padding:.5rem;display:flex}.theme-toggle:hover{background:var(--border-color)}.text-danger{color:var(--danger-color)}.dynamic-list-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff0d;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}[data-theme=light] .dynamic-list-item{background:#00000005}.grid-cols-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}
