@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Outfit:wght@500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}::selection{color:inherit;background:#27272a26}:root{--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Outfit", system-ui, sans-serif;--ink:#0f1712;--ink-muted:#4d5c54;--ink-faint:#7a8a80;--surface:#fff;--surface-2:#eef3ef;--surface-elevated:#fff;--border:#d0dbd4;--border-strong:#b0bfb6;--accent:#15803d;--accent-dark:#14532d;--accent-light:#22c55e;--accent-soft:#dcfce7;--accent-glow:#15803d29;--signal:#c2410c;--signal-soft:#ffedd5;--success:#15803d;--success-soft:#dcfce7;--danger:#dc2626;--danger-soft:#fef2f2;--radius:10px;--radius-sm:8px;--radius-lg:14px;--radius-md:8px;--shadow:0 1px 2px #0f17120d;--shadow-md:0 10px 28px #0f171214;--shadow-lg:0 18px 44px #0f17121a;--blueprint:#15803d0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 90% 55% at 12% -10%, #22c55e1f, transparent 50%), radial-gradient(ellipse 70% 45% at 100% 0%, #15803d14, transparent 48%), linear-gradient(var(--blueprint) 1px, transparent 1px), linear-gradient(90deg, var(--blueprint) 1px, transparent 1px), var(--surface-2);-webkit-font-smoothing:antialiased;background-size:auto,auto,32px 32px,32px 32px,auto;line-height:1.5}::selection{background:var(--accent-soft);color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inv-logo{cursor:default;text-align:left;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:11px;margin:0;padding:0;display:inline-flex}.inv-logo[type=button],button.inv-logo{cursor:pointer}.inv-mark{filter:drop-shadow(0 4px 10px #0f17121f);flex-shrink:0;display:block}.inv-logo--dark .inv-mark{filter:drop-shadow(0 4px 12px #00000047)}.inv-wordmark{flex-direction:column;gap:1px;line-height:1;display:flex}.inv-wordmark-primary,.inv-wordmark-secondary{font-family:var(--font-display);letter-spacing:-.045em;font-weight:800}.inv-wordmark-primary{letter-spacing:-.05em}.inv-wordmark-secondary{letter-spacing:-.03em;font-weight:650}.inv-logo--sm{gap:8px}.inv-logo--sm .inv-wordmark-primary,.inv-logo--sm .inv-wordmark-secondary{font-size:.8rem}.inv-logo--md .inv-wordmark-primary{font-size:1rem}.inv-logo--md .inv-wordmark-secondary{font-size:.92rem}.inv-logo--lg .inv-wordmark-primary{font-size:1.2rem}.inv-logo--lg .inv-wordmark-secondary{font-size:1.08rem}.inv-logo--xl .inv-wordmark-primary{font-size:1.42rem}.inv-logo--xl .inv-wordmark-secondary{font-size:1.28rem}.inv-logo--light .inv-wordmark-primary{color:var(--ink)}.inv-logo--light .inv-wordmark-secondary{color:var(--accent)}.inv-logo--dark .inv-wordmark-primary{color:#f8fafc}.inv-logo--dark .inv-wordmark-secondary{color:#86efac}.inventory-app button:focus-visible,.login-page--inventory button:focus-visible,.landing--inventory button:focus-visible,.inventory-app input:focus-visible,.login-page--inventory input:focus-visible,.inventory-app select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-page{min-height:100vh;font-family:var(--font);color:var(--ink);background:linear-gradient(180deg, #15803d0f, transparent 42%), linear-gradient(#15803d0d 1px, transparent 1px), linear-gradient(90deg, #15803d0d 1px, transparent 1px), var(--surface-2);background-size:auto,28px 28px,28px 28px,auto;display:flex}.login-page--inventory{--accent:#15803d;--accent-hover:#166534;--accent-glow:#15803d29}.errorText{color:#b91c1c;font-size:.9rem}.login-left{flex:1.05;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.login-page--inventory .login-left{background:0 0;border-right:none}.login-page--inventory .login-left:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#22c55e38,#15803d0f 60%,#0000 70%);border-radius:40% 60% 55% 45%;width:420px;height:420px;position:absolute;top:10%;right:-80px}.login-left-content{z-index:2;max-width:420px;position:relative}.login-brand-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;display:flex}.login-brand{cursor:pointer}.login-left-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0 0 12px;font-size:clamp(2rem,3.5vw,2.6rem);font-weight:800;line-height:1.1}.login-left-title-accent{color:var(--accent)}.login-left-sub{color:var(--ink-muted);margin:0 0 28px;font-size:1rem;line-height:1.6}.login-features-mini{flex-direction:column;gap:10px;display:flex}.login-feat{color:var(--ink-muted);align-items:center;gap:12px;font-size:.875rem;font-weight:500;display:flex}.login-feat-icon{border:1px solid var(--border);width:34px;height:34px;color:var(--accent);box-shadow:var(--shadow);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-right{flex:.95;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative}.login-card{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-md);background:#ffffffeb;padding:34px 30px;position:relative}.login-card-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 6px;font-size:1.4rem;font-weight:750}.login-card-sub{color:var(--ink-muted);margin:0 0 22px;font-size:.9rem;line-height:1.55}.login-mode-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:0;margin-bottom:22px;padding:4px;display:flex}.login-mode-tab{color:var(--ink-muted);font-size:.82rem;font-weight:600;font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:10px;transition:background .15s,color .15s,box-shadow .15s}.login-mode-tab-active{color:var(--accent);box-shadow:var(--shadow);background:#fff}.login-label{margin-bottom:16px;display:block}.login-label>span:first-child{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.login-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font-size:.95rem;font-family:var(--font);color:var(--ink);background:#fff;outline:none;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-submit{border-radius:var(--radius-sm);background:var(--accent);color:#fff;width:100%;font-size:.9375rem;font-weight:650;font-family:var(--font);cursor:pointer;box-shadow:none;border:none;margin-top:4px;padding:12px 20px;transition:background .15s}.login-submit:hover:not(:disabled){background:var(--accent-light);transform:none}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-notice{background:var(--danger-soft);color:#b91c1c;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:10px 14px;font-size:.88rem;font-weight:500;line-height:1.45}.login-notice--info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--accent-dark)}.login-forgot-row{justify-content:flex-end;margin:-4px 0 12px;display:flex}.login-forgot-link{color:var(--accent);font-size:.82rem;font-weight:600;font-family:var(--font);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.login-back-link{width:100%;color:var(--accent);font-size:.88rem;font-weight:600;font-family:var(--font);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:18px;padding:0;display:block}@media (width<=860px){.login-page{flex-direction:column}.login-left{min-height:auto;padding:36px 24px 12px}.login-left-title{font-size:1.85rem}.login-features-mini{display:none}.login-right{padding:12px 20px 48px}.login-card{padding:28px 22px}}
