:root{
  --ceny-shadow:0 12px 36px rgba(13,52,58,.09);
  --ceny-shadow-soft:0 7px 24px rgba(13,52,58,.07);
  --ceny-radius-xl:26px;
  --ceny-radius-lg:20px;
}
html{background:#edf3f0}
body{background:linear-gradient(180deg,#eef5f2 0,#f7faf8 18%,#f5f8f6 100%)}
.app{background:linear-gradient(180deg,#f7faf8 0,#fbfcfb 100%);box-shadow:0 0 40px rgba(18,58,63,.06)}
header{position:relative;background:linear-gradient(135deg,#0b3940 0%,#0d4f55 55%,#0b6667 100%);padding-bottom:18px;box-shadow:0 8px 28px rgba(11,57,64,.17)}
header:after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:rgba(255,255,255,.16)}
.brand{gap:13px}.brand h1{font-size:22px;letter-spacing:-.35px}.subtitle{font-size:12px;opacity:.76}.logo{width:46px;height:46px;border-radius:16px;box-shadow:0 8px 22px rgba(24,184,174,.23);font-size:20px}
main{padding:18px 16px 24px}.section-title{margin-top:24px}.section-title h2{font-size:22px;letter-spacing:-.45px}
.card{border:1px solid rgba(205,221,214,.78);border-radius:var(--ceny-radius-xl);padding:18px;box-shadow:var(--ceny-shadow-soft);background:rgba(255,255,255,.94)}
.hero{position:relative;overflow:hidden;border-radius:28px;box-shadow:0 16px 38px rgba(15,111,107,.18);background:linear-gradient(135deg,#0b444a 0%,#0f706c 62%,#32aaa3 100%)}
.hero:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-55px;top:-72px;background:rgba(255,255,255,.10)}.hero h2{font-size:24px;letter-spacing:-.5px}.hero p{font-size:13px;max-width:330px}
.primary,.secondary,.file-button,.action-button,.optimizer-buttons button{transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.primary:active,.secondary:active,.file-button:active,.action-button:active,.optimizer-buttons button:active{transform:scale(.98)}
.primary,.action-button{box-shadow:0 8px 20px rgba(15,111,107,.17)}.primary{background:linear-gradient(135deg,#0f7772,#138d86)}.secondary{background:#e3f4ef}.action-button{background:linear-gradient(135deg,#12383e,#0c5558)}
.row input,.favorites-controls select{background:#f9fbfa;border-color:#dbe6e1;box-shadow:inset 0 1px 1px rgba(19,55,59,.02)}
.search-result,.list-row,.page,.line{padding:13px 0}.best-price{font-size:16px}.purchase-head{font-size:14px}
.optimizer-summary{border-radius:16px;padding:14px;background:linear-gradient(135deg,#e9f7f1,#eff9f5);border:1px solid #d7eee4}

/* Savings dashboard */
.ceny-savings-card{background:linear-gradient(155deg,#ffffff 0%,#f7fcfa 100%);overflow:hidden;position:relative}
.ceny-savings-card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-86px;top:-90px;background:radial-gradient(circle,rgba(33,166,151,.16),rgba(33,166,151,0) 72%);pointer-events:none}
.ceny-savings-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ceny-savings-head h2{margin:3px 0 5px;font-size:23px}.ceny-savings-head p{margin:0;max-width:330px}.ceny-eyebrow{font-size:9px;letter-spacing:1.2px;font-weight:900;color:var(--brand)}
.ceny-savings-spark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0f827b,#2bb7a9);color:#fff;font-size:22px;font-weight:900;box-shadow:0 8px 20px rgba(20,139,129,.22)}
.ceny-savings-periods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:15px;padding:4px;border-radius:15px;background:#eef4f1}.ceny-savings-periods button{min-width:0;border:0;border-radius:11px;background:transparent;color:#708087;padding:9px 3px;font-size:9px;font-weight:850}.ceny-savings-periods button.active{background:#fff;color:var(--brand);box-shadow:0 4px 12px rgba(20,70,72,.08)}
.ceny-savings-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:7px;margin:10px 0}.ceny-savings-nav span{text-align:center;font-size:11px;font-weight:800}.ceny-savings-nav button{height:34px;border:0;border-radius:11px;background:var(--brand-light);color:var(--brand);font-size:20px;font-weight:900}.ceny-savings-nav button:disabled{opacity:.24}
.ceny-savings-total{padding:17px;border-radius:19px;background:linear-gradient(135deg,#0e4f53,#0d7772);color:#fff;box-shadow:0 10px 26px rgba(12,102,99,.17)}.ceny-savings-total span{display:block;font-size:10px;opacity:.78}.ceny-savings-total strong{display:block;margin-top:4px;font-size:29px;letter-spacing:-.8px}
.ceny-savings-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.ceny-savings-breakdown>div{padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff}.ceny-savings-breakdown span{display:block;font-size:10px;color:var(--muted);font-weight:750}.ceny-savings-breakdown b{display:block;margin-top:5px;font-size:17px;color:var(--ink)}.ceny-savings-breakdown small{display:block;margin-top:4px;color:#8b989c;font-size:8.5px;line-height:1.35}
.ceny-savings-coverage{margin-top:12px;padding:12px 0}.ceny-savings-coverage>div{display:flex;justify-content:space-between;gap:10px;font-size:10px}.ceny-savings-coverage i{display:block;height:7px;margin:7px 0;border-radius:999px;background:#e4ece8;overflow:hidden}.ceny-savings-coverage em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a092,#55c5a6)}.ceny-savings-coverage small{display:block;color:var(--muted);font-size:9px;line-height:1.4}
.ceny-savings-top{padding-top:5px}.ceny-savings-top>b{font-size:12px}.ceny-savings-top>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.ceny-savings-top>div:last-child{border-bottom:0}.ceny-savings-top span{display:grid;grid-template-columns:22px 1fr;align-items:center;min-width:0;font-size:10px}.ceny-savings-top span>strong{grid-row:1/3;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:var(--success-bg);color:var(--success)}.ceny-savings-top span>small{grid-column:2;color:var(--muted);font-size:8px}.ceny-savings-top>div>b{white-space:nowrap;color:var(--success);font-size:11px}
.ceny-savings-empty,.ceny-soft-loading{padding:18px 8px;text-align:center;color:var(--muted);font-size:11px}.ceny-savings-method{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.ceny-savings-method summary{cursor:pointer;color:var(--brand);font-size:10px;font-weight:850}.ceny-savings-method p{font-size:9px;margin:8px 0 0}
.ceny-skip-button{border:0;border-radius:10px;padding:7px 8px;background:#fff2e7;color:#a65b29;font-size:9px;font-weight:850;white-space:nowrap}.ceny-skip-button:disabled{opacity:.55}

/* Bigger, more tactile bottom navigation */
.app{padding-bottom:132px}
nav{min-height:94px;padding:7px 7px calc(7px + env(safe-area-inset-bottom));gap:4px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(208,221,216,.8);box-shadow:0 -10px 28px rgba(18,55,60,.08)}
nav button{min-width:0;min-height:64px;border-radius:17px;font-size:11px;line-height:1.45;font-weight:650;padding:7px 2px;transition:background .14s ease,color .14s ease,transform .14s ease}nav button:active{transform:scale(.97)}nav button.active{background:linear-gradient(180deg,#e7f6f1,#eef9f6);color:#0d756f;font-weight:900;box-shadow:inset 0 0 0 1px rgba(25,139,126,.08)}nav button[data-ceny-favorites-nav]{font-size:10px!important}

/* Livelier section cards */
.ceny-view-heading b,.receipt-title b{letter-spacing:-.15px}.ceny-budget-card,.ceny-route-card,.ceny-profile-card{box-shadow:var(--ceny-shadow)}
.favorite-row,.ceny-favorite-row{transition:background .12s ease}.favorite-row:active,.ceny-favorite-row:active{background:#f7fbf9}
@media(max-width:420px){nav button{font-size:10px;min-height:61px}.ceny-savings-total strong{font-size:26px}.ceny-savings-breakdown b{font-size:15px}.card{padding:16px}.brand h1{font-size:21px}}
