/* Vidrio suave, con fondos sólidos como alternativa sin backdrop-filter. */
:root{--glass-x:0px;--glass-y:0px}
body{position:relative;isolation:isolate;background:transparent}
body::before{content:'';position:fixed;inset:-70px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 18%,#badfc8 0,transparent 45%),radial-gradient(ellipse at 91% 62%,#d6e6b3 0,transparent 43%),linear-gradient(135deg,#f2f7f3,#eaf0e8);transform:translate(var(--glass-x),var(--glass-y));will-change:transform}
header{background:rgba(16,44,43,.92);border-bottom:1px solid #ffffff24;box-shadow:0 8px 35px #173b3912;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.panel{background:rgba(255,255,255,.77);border:1px solid rgba(255,255,255,.92);box-shadow:0 12px 36px #173b390b,inset 0 1px 0 #ffffff9c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.toolbar{background:rgba(255,255,255,.58)}
.quote-card{position:relative;overflow:hidden;border-top:1px solid #ffffffde;box-shadow:0 18px 50px #166b5816,inset 0 1px 0 #ffffff}
.quote-card::before{content:'';position:absolute;top:0;left:24px;right:24px;height:3px;background:linear-gradient(90deg,transparent,#71bca0,#c7dd94,transparent);pointer-events:none}
.quote-amount{text-shadow:0 4px 25px #166b5818}
input,select{background:rgba(255,255,255,.72);box-shadow:inset 0 1px 3px #173b3905}
button{transition:background .18s,box-shadow .18s,transform .18s}
button:hover:enabled{transform:translateY(-1px);box-shadow:0 5px 16px #173b3915}
button:active:enabled{transform:translateY(0)}
.primary{box-shadow:0 4px 14px #166b581c}
.total{background:linear-gradient(135deg,rgba(23,62,55,.97),rgba(22,80,65,.94));border-color:#ffffff36}
html[data-theme="dark"] body::before{background:radial-gradient(ellipse at 3% 13%,#214c43 0,transparent 42%),radial-gradient(ellipse at 95% 65%,#26394a 0,transparent 42%),linear-gradient(135deg,#101a1c,#121f22)}
html[data-theme="dark"] header{background:rgba(11,21,22,.8)}
html[data-theme="dark"] .panel{background:rgba(28,41,43,.79);border-color:#b8e5d026;box-shadow:0 16px 45px #00000026,inset 0 1px 0 #ffffff0b}
html[data-theme="dark"] .toolbar{background:rgba(28,41,43,.55)}
html[data-theme="dark"] .quote-card{border-top-color:#b8e5d030;box-shadow:0 18px 50px #00000030,inset 0 1px 0 #ffffff0d}
html[data-theme="dark"] .quote-card::before{background:linear-gradient(90deg,transparent,#82dcb2,#a6c8d8,transparent)}
html[data-theme="dark"] input,html[data-theme="dark"] select{background:rgba(13,27,29,.65)}
html[data-theme="dark"] .total{background:linear-gradient(135deg,rgba(23,62,55,.95),rgba(22,68,57,.86))}
@supports not (backdrop-filter:blur(1px)){.panel{background:#f8fbf8}html[data-theme="dark"] .panel{background:#1c292b}}
@media(prefers-reduced-motion:reduce){body::before{transform:none;will-change:auto}button{transition:none}button:hover:enabled{transform:none}}
@media(hover:none){body::before{transform:none;will-change:auto}}
@media print{body::before,.quote-card::before{display:none}.panel,html[data-theme="dark"] .panel{background:white;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.quote-amount{text-shadow:none}}
