:root{--bg: #f5f6fa;--surface: #ffffff;--border: rgba(0, 0, 0, .08);--text-1: #111827;--text-2: #4b5563;--text-3: #6b7280;--orange: #F08200;--accent: #F08200;--accent-contrast: #ffffff;--good: #047857;--warn: #b45309;--bad: #b91c1c;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .09), 0 2px 4px rgba(0, 0, 0, .05);--radius: 14px;--radius-sm: 8px;--gap: 1rem;--font: "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text-1);font-family:var(--font);line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--orange)}.container{max-width:1100px;margin:0 auto;padding:0 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow-sm)}.muted{color:var(--text-3)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-1);border-radius:var(--radius-sm);padding:.45rem .9rem;cursor:pointer;font:inherit}.btn:hover:not(:disabled){border-color:var(--orange)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn[aria-pressed=true]{border-color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange)}.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border)}.badge.good{color:var(--good)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.field{display:grid;gap:.25rem;margin-bottom:.8rem}.field label{font-size:.82rem;color:var(--text-2)}.field input,.field select{font:inherit;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-1)}.field input:focus,.field select:focus,.btn:focus-visible,.btn-lang:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.error-text{color:var(--bad);font-size:.8rem}.loading-center{display:flex;align-items:center;justify-content:center;min-height:40vh}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.88rem}th{color:var(--text-3);font-weight:600}.app-header{background:linear-gradient(135deg,#0a0a0a,#181818);color:#fff;padding:0 1.5rem;min-height:62px;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;box-shadow:0 4px 24px #00000059;position:sticky;top:0;z-index:50}.brand-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.brand-name{font-weight:300;font-size:1.3rem;letter-spacing:.3em;text-transform:uppercase;color:#fff}.brand-sep{width:1px;height:1.1rem;background:#fff3}.brand-app{font-size:.68rem;font-weight:500;letter-spacing:.08em;color:#ffffff73;text-transform:uppercase}.app-nav{display:flex;gap:.2rem;align-self:stretch}.app-nav a{display:flex;align-items:center;padding:0 .9rem;color:#fff9;text-decoration:none;font-size:.85rem;border-bottom:2px solid transparent}.app-nav a:hover{color:#fff}.app-nav a.active{color:#fff;background:#ffffff14;border-bottom-color:var(--orange)}.header-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.user-chip{font-size:.82rem;color:#ffffffb3}.lang-switcher{display:flex;gap:.25rem}.btn-lang{padding:.28rem .55rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:5px;color:#ffffff8c;font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.04em;cursor:pointer}.btn-lang[aria-pressed=true]{color:#fff;border-color:var(--orange);background:#f082002e}.btn-logout{padding:.35rem .8rem;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:#fff;font:inherit;font-size:.8rem;cursor:pointer}.btn-logout:hover{border-color:var(--orange)}html:root[data-mantine-color-scheme]{color-scheme:light}html[data-mantine-color-scheme] body{background:var(--bg);color:var(--text-1);font-family:var(--font)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.hero{display:grid;gap:.35rem;border-top:3px solid var(--orange)}.hero-period{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.hero-amount{font-size:2.6rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}.hero-change{font-size:.9rem}.hero-change .up{color:var(--good);font-weight:700}.hero-change .down{color:var(--bad);font-weight:700}.hero-facts{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.9rem;color:var(--text-2)}.hero-spark{width:100%;height:56px;margin-top:.4rem;overflow:visible}.hero-spark polyline{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.hero-spark polyline[data-line=current]{stroke:var(--orange)}.hero-spark polyline[data-line=comparison]{stroke:#9ca3af;stroke-dasharray:4 4;stroke-width:1.5}.alerts{display:grid;gap:.5rem}.alert{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.alert button{border:0;background:#ffffffb3;border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.8rem;cursor:pointer}.alert-bad{background:#fde8e8;color:#991b1b;border-left:4px solid var(--bad)}.alert-warn{background:#fff3e0;color:#92400e;border-left:4px solid var(--orange)}.install-hint{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:var(--radius);background:#111;color:#fff}.install-hint img{border-radius:9px;flex-shrink:0}.install-text{display:grid;gap:.1rem;flex:1;font-size:.85rem}.install-text span{color:#ffffffb3}.install-close{background:transparent;border:0;color:#fff9;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 .2rem}.bottom-nav{display:none}.period-row{display:flex;gap:.4rem;flex-wrap:wrap;min-width:0}.card{min-width:0}.chip{border-radius:999px;white-space:nowrap}@media (max-width: 900px){.app-header{padding:.5rem 1rem}.app-nav{order:3;width:100%;overflow-x:auto}.app-nav a{padding:.55rem .8rem;white-space:nowrap}}@media (max-width: 640px){.app-nav{display:none}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#111;border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px #00000040}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem 0 .45rem;color:#fff9;text-decoration:none;font-size:.7rem}.bottom-nav a.active{color:var(--orange)}body:has(.bottom-nav) main.container{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.container{padding:0 12px}.hero-amount{font-size:2.2rem}.period-row{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -.8rem;padding:0 .8rem .2rem}.period-row::-webkit-scrollbar{display:none}.period-row .chip{scroll-snap-align:start;flex:0 0 auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.card{padding:.8rem}th,td{padding:.4rem .35rem;font-size:.8rem}.app-header{padding:.5rem 1rem;gap:.6rem}.brand-name{font-size:1.05rem;letter-spacing:.2em}.brand-sep,.brand-app,.user-chip{display:none}.app-nav{order:3;width:100%}}
