/* Shared glass surfaces, with an opaque fallback for browsers without blur. */
:root{
 --bg-primary:#101820;--bg-secondary:#18252d;--bg-tertiary:#21313b;--bg-hover:#2a3c46;
 --text-primary:#e7f0f2;--text-secondary:#9caeb9;--border:rgba(189,220,232,.13);
 --accent:#80d9c5;--accent-hover:#a0ead7;--success:#7cd5b0;--danger:#f296a6;--warning:#ebc38c;--brand:#9cced0;
 --glass:rgba(28,43,54,.77);--glass-soft:rgba(152,183,202,.065);--glass-strong:rgba(23,36,45,.91);
 --glass-edge:rgba(216,243,247,.16);--field:rgba(11,23,31,.5);--button-text:#173b36;
 --shadow:0 12px 36px rgba(2,10,18,.13),inset 0 1px 0 rgba(239,255,255,.055);
 --lavender:#b2b0e8;--radius-sm:10px;--radius-md:15px;--radius-lg:23px;
 color-scheme:dark;
}
html.light{
 --bg-primary:#efeee8;--bg-secondary:#f4f2e9;--bg-tertiary:#ebe7da;--bg-hover:#e8e2ce;
 --text-primary:#38382f;--text-secondary:#6c6a5c;--border:rgba(119,109,78,.18);
 --accent:#806018;--accent-hover:#674b10;--action:#e7c767;--action-hover:#dbba55;--success:#28785c;--danger:#b85770;--warning:#986a39;--brand:#806018;
 --glass:rgba(251,249,241,.78);--glass-soft:rgba(163,142,81,.065);--glass-strong:rgba(246,243,232,.94);
 --glass-edge:rgba(255,255,255,.85);--field:rgba(235,232,218,.65);--button-text:#302713;
 --shadow:0 12px 36px rgba(57,85,84,.065),inset 0 1px 0 rgba(255,255,255,.8);--lavender:#776caa;
 color-scheme:light;
}
body{background:radial-gradient(ellipse at 90% 0%,rgba(122,128,189,.14),transparent 47%),radial-gradient(ellipse at 10% 50%,rgba(67,148,132,.1),transparent 55%),var(--bg-primary)!important;color:var(--text-primary)!important;background-attachment:fixed;letter-spacing:-.015em}
html.light body{background:radial-gradient(ellipse at 85% 0%,rgba(213,207,229,.3),transparent 48%),radial-gradient(ellipse at 5% 60%,rgba(230,217,168,.38),transparent 55%),var(--bg-primary)!important}
::selection{background:rgba(112,189,171,.28)}
.sidebar{background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:24px;top:14px;left:14px;height:calc(100dvh - 28px);width:calc(var(--sidebar-width) - 20px);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.sidebar.collapsed{width:calc(var(--sidebar-collapsed) - 6px);left:8px}.sidebar-header{padding:0 16px;height:78px}.sidebar-brand{font-size:19px;letter-spacing:-.6px}.sidebar-nav{padding:8px;gap:5px}.sidebar-nav-item{padding:11px 12px;font-size:13px;font-weight:500;color:var(--text-secondary)}
.sidebar-nav-item svg{width:19px;height:19px}.sidebar-nav-item.active{color:var(--accent);background:linear-gradient(110deg,rgba(111,192,168,.18),rgba(111,192,168,.07));box-shadow:inset 0 1px 0 rgba(212,255,240,.06)}.sidebar-nav-item:hover{background:var(--glass-soft)}
.topbar,.light .topbar{background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:20px;margin:14px 24px 0;top:14px;height:64px;box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.topbar-title{font-size:18px;letter-spacing:-.6px}.topbar-btn,.topbar-icon-btn{background:var(--glass-soft);border:1px solid var(--border);border-radius:11px;color:var(--text-secondary)}.topbar-avatar{background:var(--action,var(--accent));color:var(--button-text)}.view-container{padding:28px;max-width:1680px;width:100%;margin:auto}
.view-container>div{animation:glass-enter .28s ease-out}.view-container h2{letter-spacing:-.8px}.view-container h3{letter-spacing:-.35px}
body :is(.view-container,#modal-overlay,#auth-modal) :is(div,section,article)[class~="bg-white"],body .glass,.glass-panel{background:var(--glass)!important;border:1px solid var(--glass-edge)!important;box-shadow:var(--shadow)!important;border-radius:var(--radius-lg)!important}
.view-container>div>div[class~="bg-white"],.glass-panel,.glass{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="bg-gray-50"],[class~="bg-gray-100"],[class~="bg-gray-200"],[class~="dark:bg-gray-700/50"],[class~="dark:bg-gray-900"]){background:var(--glass-soft)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="text-gray-900"],[class~="text-gray-800"],[class~="text-gray-700"],[class~="dark:text-white"],[class~="dark:text-gray-300"]){color:var(--text-primary)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="text-gray-400"],[class~="text-gray-500"],[class~="text-gray-600"],[class~="dark:text-gray-400"]){color:var(--text-secondary)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="border-gray-200"],[class~="border-gray-300"],[class~="dark:border-gray-700"],[class~="dark:border-gray-600"]){border-color:var(--border)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="text-indigo-600"],[class~="dark:text-indigo-400"],[class~="text-teal-600"]){color:var(--lavender)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="text-green-500"],[class~="text-green-600"],[class~="dark:text-green-400"]){color:var(--success)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is([class~="text-red-500"],[class~="text-red-600"]){color:var(--danger)!important}
body :is(.view-container,#modal-overlay,#auth-modal) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background:var(--field)!important;border:1px solid var(--border)!important;color:var(--text-primary)!important;border-radius:11px!important;min-height:41px;outline:none;transition:border-color .2s,box-shadow .2s}
body :is(.view-container,#modal-overlay,#auth-modal) :is(input,select,textarea):focus-visible{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(116,193,168,.14)}
input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.65}input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)}select option{background:var(--bg-secondary);color:var(--text-primary)}
body :is(.view-container,#modal-overlay,#auth-modal) button{transition:background .2s,transform .2s;min-height:34px;border-radius:11px}body :is(.view-container,#modal-overlay,#auth-modal) :is(button[class~="bg-indigo-600"],button[class~="bg-green-600"],button[class~="bg-teal-600"]){background:var(--action,var(--accent))!important;color:var(--button-text)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}
body :is(.view-container,#modal-overlay,#auth-modal) table{font-variant-numeric:tabular-nums}body :is(.view-container,#modal-overlay,#auth-modal) thead{background:var(--glass-soft)!important;color:var(--text-secondary)!important}body .view-container th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.view-container tbody tr:hover{background:var(--glass-soft)}
.main-area{min-width:0}html.light .view-container [class~="text-white"]:not(button):not(button *){color:var(--text-primary)!important}
.view-container :is([class~="bg-yellow-50"],[class~="dark:bg-yellow-900/20"]){background:rgba(179,149,93,.08)!important;border-color:rgba(179,149,93,.24)!important;border-radius:var(--radius-lg)}
.view-container :is([class~="text-yellow-500"],[class~="text-yellow-700"],[class~="text-yellow-800"],[class~="dark:text-yellow-300"],[class~="dark:text-yellow-400"]){color:var(--warning)!important}
.view-container :is([class~="bg-indigo-50"],[class~="bg-indigo-100"]){background:rgba(142,135,183,.1)!important;border-color:var(--border)!important}
.view-container :is([class~="text-blue-600"],[class~="dark:text-blue-400"]){color:var(--lavender)!important}.view-container :is([class~="text-orange-600"],[class~="dark:text-orange-400"]){color:var(--warning)!important}.view-container :is([class~="text-purple-600"],[class~="dark:text-purple-400"]){color:var(--lavender)!important}
.view-container [class*="from-indigo"]{background:linear-gradient(120deg,rgba(143,137,191,.12),rgba(119,185,166,.1))!important;border:1px solid var(--glass-edge);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:25px!important}
#modal-overlay{background:rgba(6,18,27,.4)!important;backdrop-filter:blur(12px)}#modal-overlay>div{border-top-width:1px!important}.loading-overlay{background:var(--bg-primary)}
.mobile-nav{background:var(--glass-strong);backdrop-filter:blur(24px);border-color:var(--border)}
.brand-btn{background:var(--action,var(--accent))!important;color:var(--button-text)!important;border:1px solid var(--glass-edge);box-shadow:var(--shadow)}body>header{background:var(--glass-strong)!important;border-color:var(--border)!important;backdrop-filter:blur(24px)}body>header button,body>header select{color:var(--text-primary)!important}body>header [class*="bg-brand"]{background:var(--action,var(--accent))!important;color:var(--button-text)!important}.video-bg{display:none}body>section{background:transparent!important}body>section :is([class~="text-gray-300"],[class~="text-gray-400"]){color:var(--text-secondary)!important}body>section input{background:var(--field)!important;color:var(--text-primary)!important;border-color:var(--border)!important}body>section [class~="text-brand"]{color:var(--accent)!important}body>footer{background:var(--glass-soft)!important;border-color:var(--border)!important}
@keyframes glass-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){.topbar,.light .topbar{margin:10px 12px 0;top:10px;padding:0 14px}.view-container{padding:22px 14px 86px}.mobile-nav{bottom:10px;left:10px;right:10px;width:auto;border:1px solid var(--glass-edge);border-radius:20px;box-shadow:var(--shadow)}.mobile-nav-item{padding:8px}.sidebar{left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@supports not (backdrop-filter:blur(1px)){.glass-panel,.glass,.sidebar,.topbar{background:var(--bg-secondary)!important}}

/* Personal inflation */
.inflation-page{max-width:1360px;margin:0 auto}.inf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:2px 0 30px}.inf-eyebrow{font-size:9px;font-weight:650;letter-spacing:.16em;color:var(--accent)}.inf-heading h2{font-size:32px;font-weight:600;line-height:1.25;margin:7px 0 8px;letter-spacing:-1.2px}.inf-heading p{font-size:13px;color:var(--text-secondary)}.inf-primary{background:var(--action,var(--accent));color:var(--button-text);border:1px solid var(--glass-edge);padding:10px 17px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px rgba(62,133,113,.1)}.inf-primary:hover{filter:brightness(1.05)}.inf-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.inf-baskets{padding:18px 12px;position:sticky;top:100px}.inf-section-label{display:flex;justify-content:space-between;font-size:9px;font-weight:650;letter-spacing:.13em;color:var(--text-secondary);padding:4px 10px 16px}.inf-section-label span{color:var(--accent)}.inf-basket{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;border:1px solid transparent;font-size:12px;text-align:left;color:var(--text-secondary);margin:3px 0}.inf-basket span{flex:1;overflow:hidden;text-overflow:ellipsis}.inf-basket svg,.inf-comparison svg{width:19px;height:19px;flex-shrink:0}.inf-basket small{font-size:10px;opacity:.7}.inf-basket.is-selected{color:var(--accent);background:var(--glass-soft);border-color:var(--border)}.inf-basket:hover{background:var(--glass-soft)}.inf-aside-footer{margin:24px 10px 0;padding-top:16px;border-top:1px solid var(--border);font-size:10px;line-height:1.8;color:var(--text-secondary)}.inf-basket-empty{font-size:11px;color:var(--text-secondary);padding:14px 10px}.inf-content{min-width:0;display:grid;gap:22px}.inf-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.inf-metric{padding:22px;min-width:0}.inf-metric>span{font-size:11px;color:var(--text-secondary);display:block}.inf-metric>strong{font-size:29px;line-height:1.3;letter-spacing:-1px;font-weight:550;display:block;margin:12px 0 9px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.inf-metric>small{font-size:10px;color:var(--text-secondary);line-height:1.7;display:block}.inf-rise{color:var(--danger)!important}.inf-fall{color:var(--success)!important}.inf-overview,.inf-products{padding:24px;overflow:hidden}.inf-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.inf-section-heading h3{font-size:17px;font-weight:550;margin-top:4px}.inf-section-heading small{color:var(--text-secondary);font-size:10px}.inf-section-heading .inf-basket-title{font-size:23px;letter-spacing:-.7px}.inf-content>.inf-section-heading{margin-bottom:0}.inf-comparisons{display:grid}.inf-comparison{display:grid;grid-template-columns:minmax(150px,1fr) minmax(70px,1fr) 65px;gap:22px;align-items:center;padding:19px 2px!important;border-top:1px solid var(--border);text-align:left;width:100%}.inf-comparison-name{display:flex;align-items:center;gap:12px;font-size:13px}.inf-comparison-name svg{color:var(--lavender);background:var(--glass-soft);padding:7px;width:36px;height:36px;border-radius:12px}.inf-comparison-name small{display:block;font-size:10px;color:var(--text-secondary);margin-top:3px}.inf-comparison>strong{font-size:15px;font-weight:550;text-align:right;font-variant-numeric:tabular-nums}.inf-track{height:5px;border-radius:5px;background:var(--glass-soft);overflow:hidden}.inf-track i{display:block;height:100%;background:currentColor;border-radius:5px}.inf-empty{padding:64px 24px;text-align:center}.inf-empty-icon{margin:0 auto 20px;width:64px;height:64px;display:grid;place-items:center;border-radius:21px;background:var(--glass-soft);color:var(--accent)}.inf-empty-icon svg{width:30px;height:30px}.inf-empty h3{font-size:23px;letter-spacing:-.6px;font-weight:550}.inf-empty p{font-size:12px;color:var(--text-secondary);margin:12px auto 24px;max-width:310px;line-height:1.8}.inf-suggestions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.inf-suggestions button{border:1px solid var(--border);border-radius:30px!important;padding:8px 14px;font-size:11px;color:var(--accent);background:var(--glass-soft)}.inf-empty-small{padding:35px 16px}.inf-empty-small h3{font-size:17px}.inf-table-wrap{overflow-x:auto}.inf-table{width:100%;border-collapse:collapse;min-width:650px}.inf-table thead{background:transparent!important}.inf-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);font-size:9px!important}.inf-table td{padding:20px 10px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:12px}.inf-table tr:last-child td{border-bottom:0}.inf-table b{font-weight:550}.inf-table td>small{display:block;margin-top:5px;color:var(--text-secondary);font-size:9px}.inf-history{display:block;font-size:10px;color:var(--text-secondary);min-height:0!important;margin-top:6px}.inf-history:hover{color:var(--accent)}.inf-badge{background:var(--glass-soft);padding:5px 8px;border-radius:7px;font-size:11px;font-weight:500}.inf-spark{width:80px;height:30px}.inf-no-chart{font-size:10px;color:var(--text-secondary)}.inf-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.inf-secondary{background:var(--glass-soft);border:1px solid var(--border);padding:7px 11px;font-size:10px;white-space:nowrap;color:var(--accent)}.inf-remove{width:26px;height:30px;min-height:0!important;color:var(--text-secondary);display:grid;place-items:center}.inf-remove:hover{color:var(--danger)}.inf-remove svg{width:17px;height:17px}.inf-modal-product{font-size:13px;margin-bottom:20px;color:var(--accent)}.inf-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inf-modal-fields label,.inf-modal-label{color:var(--text-secondary);font-size:12px}.inf-history-list{max-height:340px;overflow:auto}.inf-history-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:12px}.inf-history-list strong{font-weight:500;color:var(--text-primary)}
@media(max-width:1150px){.inf-layout{grid-template-columns:185px minmax(0,1fr);gap:16px}.inf-metrics{gap:10px}.inf-metric{padding:17px}.inf-metric>strong{font-size:24px}.inf-comparison{gap:12px}}
@media(max-width:900px){.inf-layout{grid-template-columns:1fr}.inf-baskets{position:static;display:flex;align-items:center;gap:7px;overflow-x:auto;padding:10px}.inf-section-label,.inf-aside-footer,.inf-basket-empty{display:none}.inf-basket{width:auto;flex-shrink:0;padding:8px 11px;margin:0}.inf-basket svg{width:16px;height:16px}.inf-heading h2{font-size:28px}}
@media(max-width:560px){.inf-heading{align-items:flex-start;margin-bottom:22px;gap:10px}.inf-heading h2{font-size:25px}.inf-heading p{font-size:11px;max-width:220px;line-height:1.7}.inf-primary{padding:8px 12px;font-size:11px}.inf-heading>.inf-primary{margin-top:22px}.inf-metrics{grid-template-columns:1fr 1fr}.inf-metric:first-child{grid-column:1/-1}.inf-metric>strong{font-size:25px}.inf-metric:first-child>strong{font-size:34px}.inf-metric{padding:18px}.inf-overview,.inf-products{padding:18px}.inf-section-heading{gap:10px}.inf-section-heading>small{display:none}.inf-comparison{grid-template-columns:1fr 60px;gap:10px;padding:16px 0!important}.inf-track{display:none}.inf-comparison-name{font-size:12px}.inf-section-heading h3{font-size:16px}.inf-modal-fields{grid-template-columns:1fr}.inf-empty{padding:40px 20px}}
@media(max-width:560px){.inf-metric:not(:first-child)>strong{font-size:clamp(17px,4.4vw,23px);white-space:nowrap}}

#auth-modal>div{background:var(--glass-strong)!important;border:1px solid var(--glass-edge);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(24px);color:var(--text-primary)}#auth-modal{background:rgba(7,22,30,.4)!important}#auth-toggle-mode{color:var(--accent)!important}body>footer [class*="text-gray"]{color:var(--text-secondary)!important}

/* Calm charcoal theme; the light palette retains its pastel surfaces. */
html:not(.light){--bg-primary:#161615;--bg-secondary:#20201e;--bg-tertiary:#292925;--bg-hover:#30302a;--text-primary:#eeeee8;--text-secondary:#aaa99f;--border:#383832;--accent:#e7c767;--accent-hover:#f1d782;--brand:#e7c767;--button-text:#292516;--glass:#222220;--glass-strong:#1e1e1c;--glass-soft:rgba(218,209,174,.045);--glass-edge:#393932;--field:#1a1a18;--shadow:0 8px 24px rgba(0,0,0,.12);--success:#a3bb92;--danger:#d5a19b;--warning:#d6bc83;--lavender:#c8bea4}
html:not(.light) body{background:#161615!important}
html:not(.light) .sidebar-nav-item.active{background:rgba(231,199,103,.1);box-shadow:none}
html:not(.light) .view-container [class*="from-indigo"]{background:#2b2a23!important}
html:not(.light) :is(.sidebar,.topbar,.glass,.glass-panel){backdrop-filter:none;-webkit-backdrop-filter:none}
.sidebar-logo{width:32px;height:32px;min-width:32px;object-fit:contain;flex:0 0 32px;border-radius:0}
.sidebar.collapsed .sidebar-header{padding:0;justify-content:center;gap:0}

.sidebar.collapsed .sidebar-nav-item{padding:11px 0;justify-content:center;gap:0}

.sidebar.collapsed .sidebar-nav-item svg{flex-shrink:0}

/* Labels remain in the layout while fading, so closing is as smooth as opening. */
.sidebar{transition:width .28s ease,left .28s ease}.main-area{transition:margin-left .28s ease}
.sidebar-header,.sidebar.collapsed .sidebar-header{justify-content:flex-start;transition:padding .28s ease,gap .28s ease}
.sidebar.collapsed .sidebar-header{padding:0 12px;gap:0}
.sidebar-brand{display:block;max-width:160px;opacity:1;transition:max-width .28s ease,opacity .18s ease .07s}
.sidebar.collapsed .sidebar-brand{max-width:0;opacity:0;transition-delay:0s}
.sidebar-nav-item,.sidebar.collapsed .sidebar-nav-item{justify-content:flex-start;transition:padding .28s ease,gap .28s ease,background .2s ease}
.sidebar.collapsed .sidebar-nav-item{padding:11px;gap:0}
.sidebar-nav-item span{display:block;max-width:170px;overflow:hidden;opacity:1;transition:max-width .28s ease,opacity .18s ease .07s,transform .28s ease}
.sidebar.collapsed .sidebar-nav-item span{max-width:0;opacity:0;transform:translateX(-5px);transition-delay:0s}
html.light .sidebar-nav-item.active{background:rgba(204,165,58,.15);box-shadow:none}
html.light ::selection{background:rgba(216,182,77,.3)}
html.light :is(input,select,textarea):focus-visible{box-shadow:0 0 0 3px rgba(204,165,58,.15)!important}
body .brand-btn:hover,.inf-primary:hover{background:var(--action-hover,var(--accent-hover))!important}
.inf-edit-price{display:inline-flex;align-items:center;gap:10px;padding:0 2px;color:var(--text-primary);min-height:30px!important;white-space:nowrap}
.inf-edit-price svg{width:14px;height:14px;color:var(--text-secondary)}.inf-edit-price:hover svg{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.sidebar,.main-area,.sidebar-header,.sidebar-brand,.sidebar-nav-item,.sidebar-nav-item span{transition:none!important}}

#theme-toggle svg{display:block;width:20px;height:20px}body>header #theme-toggle{display:grid;place-items:center;width:36px;height:36px;padding:8px;border-radius:10px}body>header #theme-toggle:hover{background:var(--glass-soft)}

.form-sync{min-height:16px;text-align:right;font-size:11px;color:var(--text-secondary)}.form-sync button{margin-left:8px;color:var(--accent);font-size:11px;min-height:0!important}
