: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)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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}.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}.install-toast{position:fixed;left:0;right:0;bottom:calc(1rem + env(safe-area-inset-bottom));margin:0 auto;width:max-content;max-width:min(92vw,28rem);z-index:1000;display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:var(--radius-sm);border-left:3px solid var(--orange);background:#111;color:#fff;font-size:.9rem;box-shadow:var(--shadow-md)}.install-toast .install-close{padding:.5rem .7rem;margin:-.5rem -.7rem -.5rem 0}body:has(.sheet-backdrop) .install-toast{display:none}@media (max-width: 899px){body:has(.bottom-nav) .install-toast{bottom:calc(68px + env(safe-area-inset-bottom))}}.app-body{display:flex;align-items:flex-start}.app-body>main.container{flex:1;min-width:0;max-width:1100px;margin:0 auto}.side-nav{flex:0 0 220px;width:220px;box-sizing:border-box;position:sticky;top:var(--header-h, 62px);align-self:flex-start;height:calc(100vh - var(--header-h, 62px));overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem .6rem;background:#111;color:#fff}.side-nav[data-collapsed=true]{flex-basis:64px;width:64px}.side-heading{margin:0 .6rem .3rem;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff6}.side-group{display:flex;flex-direction:column;gap:.15rem}.side-nav a{display:flex;align-items:center;gap:.7rem;padding:.55rem .6rem;border-radius:var(--radius-sm);border-left:3px solid transparent;color:#ffffffa6;text-decoration:none;font-size:.88rem}.side-nav a:hover{color:#fff;background:#ffffff0d}.side-nav a[aria-current=page]{color:#fff;background:#ffffff14;border-left-color:var(--orange)}.side-nav a:focus-visible,.side-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.side-toggle{margin-top:auto;align-self:flex-end;padding:.35rem .7rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:#fff;font:inherit;cursor:pointer}.side-nav[data-collapsed=true] .side-heading,.side-nav[data-collapsed=true] .side-label{display:none}.side-nav[data-collapsed=true] a{justify-content:center;padding-left:.3rem;padding-right:.3rem}.side-nav[data-collapsed=true] .side-toggle{align-self:center}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00000073;display:flex;align-items:flex-end}.sheet{width:100%;box-sizing:border-box;background:#111;border-radius:14px 14px 0 0;padding:.8rem .8rem calc(.8rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.2rem}.sheet a{display:flex;align-items:center;gap:.8rem;padding:.85rem .7rem;border-radius:var(--radius-sm);color:#fff;text-decoration:none;font-size:.95rem}.sheet a.active{color:var(--orange);background:#ffffff0f}.sheet a:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}@media (min-width: 900px){.sheet-backdrop{display:none}}.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: 899px){.app-header{padding:.5rem 1rem}.side-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:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);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,.bottom-more{min-height:48px}.bottom-more{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;background:none;border:0;color:#fff9;font:inherit;font-size:.7rem;cursor:pointer}.bottom-nav a.active,.bottom-more[aria-expanded=true]{color:var(--orange)}.bottom-nav a:focus-visible,.bottom-more:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}body:has(.bottom-nav) main.container{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}@media (max-width: 640px){.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}}.company-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem 1.2rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.85rem}.company-bar select{flex:1;max-width:22rem;min-width:0;font:inherit;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-1)}.company-error{color:var(--bad)}@media (max-width: 640px){.company-bar{padding:.5rem 1rem}.company-bar select{max-width:none}}.stock-tabs{display:flex;gap:.4rem}.stock-tabs a{text-decoration:none}.stock-tabs a[aria-current=page]{border-color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange);font-weight:600}.stock-search{font:inherit;width:100%;padding:.65rem .8rem;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-1)}.stock-search:focus{outline:2px solid var(--orange);outline-offset:1px}.stock-till{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.stock-list{list-style:none;margin:0;padding:0 var(--gap)}.stock-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--border)}.stock-row:first-child{border-top:0}.stock-main{min-width:0}.stock-name{font-weight:600;overflow-wrap:anywhere}.stock-group{font-size:.78rem}.stock-note{font-size:.78rem;color:var(--warn)}.stock-qty{display:grid;justify-items:end;gap:.2rem;flex-shrink:0;text-align:right}.stock-amount{font-size:1.25rem;font-weight:700;line-height:1.1}.stock-unit{font-size:.85rem;font-weight:500;color:var(--text-3)}.stock-row[data-state=notTracked] .badge{color:var(--text-3)}.stock-skeleton{display:grid;gap:.7rem}.stock-skel-row{height:2.6rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--border),rgba(0,0,0,.03),var(--border));background-size:200% 100%;animation:stock-pulse 1.2s ease-in-out infinite}@keyframes stock-pulse{to{background-position:-200% 0}}.stock-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.stock-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;overflow-wrap:anywhere}@media print{.side-nav,.bottom-nav,.sheet-backdrop{display:none!important}body:has(.bottom-nav) main.container{padding-bottom:0}}.receipt-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.7rem}.receipt-line{display:grid;gap:.6rem}.receipt-line-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.receipt-line-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:.6rem}.receipt-header .field,.receipt-line-fields .field{min-width:0}.receipt-header .field input,.receipt-header .field select,.receipt-line-fields .field input,.receipt-line-fields .field select{width:100%;min-width:0;box-sizing:border-box}.receipt-qty{display:flex;gap:.4rem;align-items:center;min-width:0}.receipt-qty input{flex:1 1 auto;width:auto}.receipt-qty .stock-unit{flex:0 0 auto}.receipt-line,.receipt-pick{min-width:0;overflow-wrap:anywhere}.receipt-line-fields .field{margin:0}.receipt-pick{width:100%;text-align:left;margin-bottom:.3rem;min-height:2.6rem}
