*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-hover: #F0F0F0;--bg-active: #E8E8E8;--bg-elevated: #FFFFFF;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #A3A3A3;--text-disabled: #D4D4D4;--text-heading: #000000;--border-default: #E5E5E5;--border-subtle: #EBEBEB;--border-strong: #D4D4D4;--accent-primary: #3B6ECC;--accent-primary-hover: #335EAF;--accent-primary-subtle: rgba(59, 110, 204, .08);--accent-success: #3D8B5F;--accent-success-subtle: rgba(61, 139, 95, .08);--accent-warning: #C4873B;--accent-warning-subtle: rgba(196, 135, 59, .08);--accent-error: #C45151;--accent-error-subtle: rgba(196, 81, 81, .08);--accent-info: #5B8DB8;--accent-info-subtle: rgba(91, 141, 184, .08);--surface-overlay: rgba(0, 0, 0, .4);--surface-card: #FFFFFF;--surface-input: #FFFFFF;--nav-bg: rgba(255, 255, 255, .85);--nav-border: #E5E5E5;--nav-icon-default: #A3A3A3;--nav-icon-active: #171717;--nav-label-active: #171717;--bg-dark: #0A0A0A;--bg-darker: #000000;--text-muted: var(--text-tertiary);--text-light: #CCCCCC;--border: var(--border-default);--border-light: var(--border-subtle);--border-focus: var(--text-primary);--accent: var(--accent-primary);--accent-light: #D3E5FF;--accent-dark: #335EAF;--accent-bg: rgba(59, 110, 204, .08);--accent-gradient: var(--accent-primary);--purple: #7928CA;--purple-light: #D8B4FE;--purple-bg: #F5F0FF;--success: var(--accent-success);--success-light: var(--accent-success-subtle);--success-dark: #2E6B48;--warning: var(--accent-warning);--warning-light: var(--accent-warning-subtle);--warning-dark: #9A6B2E;--danger: var(--accent-error);--danger-light: var(--accent-error-subtle);--danger-dark: #9A3D3D;--info: var(--accent-info);--info-light: var(--accent-info-subtle);--cat-green: #3D8B5F;--cat-blue: #3B6ECC;--cat-purple: #7928CA;--cat-pink: #C45186;--cat-orange: #C4873B;--cat-teal: #0D9488;--cat-gray: #525252;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 2px 4px rgba(0,0,0,.06);--shadow-md: 0 4px 8px rgba(0,0,0,.08);--shadow-lg: 0 8px 16px rgba(0,0,0,.08);--shadow-xl: 0 12px 24px rgba(0,0,0,.1);--shadow-card: 0 0 0 1px var(--border-default);--shadow-card-hover: 0 0 0 1px var(--border-strong);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease, opacity .15s ease;--transition-slow: border-color .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease, opacity .25s ease}@media(prefers-color-scheme:dark){:root{--bg-primary: #0A0A0A;--bg-secondary: #111111;--bg-tertiary: #171717;--bg-hover: #1A1A1A;--bg-active: #222222;--bg-elevated: #141414;--text-primary: #EDEDED;--text-secondary: #A1A1A1;--text-tertiary: #6B6B6B;--text-disabled: #404040;--text-heading: #FFFFFF;--border-default: #262626;--border-subtle: #1F1F1F;--border-strong: #333333;--accent-primary: #5B8DEF;--accent-primary-hover: #7AA3F5;--accent-primary-subtle: rgba(91, 141, 239, .12);--accent-success: #5AAE7A;--accent-success-subtle: rgba(90, 174, 122, .12);--accent-warning: #D9A054;--accent-warning-subtle: rgba(217, 160, 84, .12);--accent-error: #D97070;--accent-error-subtle: rgba(217, 112, 112, .12);--accent-info: #7AAFDB;--accent-info-subtle: rgba(122, 175, 219, .12);--surface-overlay: rgba(0, 0, 0, .7);--surface-card: #141414;--surface-input: #171717;--nav-bg: rgba(10, 10, 10, .88);--nav-border: #262626;--nav-icon-default: #6B6B6B;--nav-icon-active: #EDEDED;--nav-label-active: #EDEDED;--bg-dark: #0A0A0A;--bg-darker: #000000;--text-light: #404040;--accent-light: rgba(91, 141, 239, .2);--accent-dark: #7AA3F5;--accent-bg: rgba(91, 141, 239, .12);--purple-light: rgba(121, 40, 202, .3);--purple-bg: rgba(121, 40, 202, .12);--success-dark: #5AAE7A;--warning-dark: #D9A054;--danger-dark: #D97070;--shadow-xs: none;--shadow-sm: none;--shadow: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--shadow-card: 0 0 0 1px var(--border-default);--shadow-card-hover: 0 0 0 1px var(--border-strong);--cat-green: #5AAE7A;--cat-blue: #5B8DEF;--cat-purple: #A855F7;--cat-pink: #D97090;--cat-orange: #D9A054;--cat-teal: #2DD4BF;--cat-gray: #A1A1A1}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::view-transition-old(root){animation:vt-fade-out .12s ease-out}::view-transition-new(root){animation:vt-fade-in .12s ease-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{width:100%;height:100%}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#000;padding:20px}.login-box{background:var(--bg-secondary);padding:48px 40px;border-radius:var(--radius-2xl);border:1px solid #333;max-width:400px;width:100%;text-align:center}.login-logo{max-width:100px;margin-bottom:24px}.login-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--text-primary);letter-spacing:-.3px}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:14px;font-weight:400;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:16px}.login-form .form-group{text-align:left;margin-bottom:0}.login-form .form-label{display:block;margin-bottom:6px;font-weight:500;font-size:13px;color:var(--text-secondary)}.login-form .form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;transition:var(--transition);background:var(--bg-secondary)}.login-form .form-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.btn-login{width:100%;padding:10px;background:#0a0a0a;color:#fff;border:1px solid #0A0A0A;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);margin-top:8px}.btn-login:hover{background:#333;border-color:#333}.btn-login:disabled{background:var(--border);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.login-error{background:var(--danger-light);color:var(--danger-dark);padding:12px;border-radius:var(--radius-sm);font-size:13px;margin-top:12px;font-weight:500}.login-toggle{margin-top:20px;color:var(--text-muted);font-size:13px}.login-toggle button{background:none;border:none;color:var(--accent);font-weight:500;cursor:pointer;transition:var(--transition)}.login-toggle button:hover{color:var(--accent-dark)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;background:var(--bg-primary)}.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-container{display:flex;min-height:100vh}.sidebar{width:240px;background:#0a0a0a;color:#fff;padding:24px 0;position:fixed;height:100vh;overflow-y:auto;z-index:1000;display:flex;flex-direction:column;border-right:1px solid #1A1A1A}.logo-container{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px;text-align:center}.logo{width:100%;max-width:90px;filter:brightness(0) invert(1);margin:0 auto;display:block}.store-name{display:none}.user-info{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.user-email{font-size:12px;color:#ffffff80;margin-bottom:10px;word-break:break-all;font-weight:400}.btn-logout{width:100%;padding:8px;background:transparent;color:#ffffff80;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-size:13px;font-weight:400;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.btn-logout:hover{background:#ffffff0f;color:#fffc}.nav-menu{list-style:none;padding:0 12px;flex:1}.nav-item{margin-bottom:1px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;color:#ffffff80;text-decoration:none;border-radius:var(--radius-sm);font-weight:400;font-size:13px;transition:var(--transition);cursor:pointer}.nav-link:hover{background:#ffffff0f;color:#ffffffe6}.nav-link.active{background:#ffffff1a;color:#fff;font-weight:500}.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}.nav-icon svg{width:16px;height:16px}.nav-section{font-size:11px;font-weight:600;color:#ffffff40;text-transform:uppercase;letter-spacing:.8px;padding:18px 12px 6px;margin-top:2px}.main-content{flex:1;margin-left:240px;padding:28px 32px;min-height:100vh;background:var(--bg-primary)}.sync-status{position:fixed;bottom:16px;right:16px;background:var(--bg-secondary);padding:8px 12px;border-radius:var(--radius);font-size:11px;color:var(--text-muted);border:1px solid var(--border);display:flex;align-items:center;gap:6px;font-weight:400}.sync-indicator{width:6px;height:6px;border-radius:50%;background:var(--success)}.sync-indicator.offline{background:var(--danger)}.sync-indicator.syncing{background:var(--warning);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.page-header{margin-bottom:24px}.page-header-flex{display:flex;justify-content:space-between;align-items:flex-start}.page-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.5px;line-height:1.2}.page-subtitle{font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.5}.page-greeting{font-size:13px;font-weight:400;color:var(--text-secondary);margin-bottom:4px}.mobile-header,.mobile-bottom-nav,.sidebar-overlay{display:none}.bottom-sheet-overlay{position:fixed;inset:0;background:var(--surface-overlay);z-index:10001;opacity:0;pointer-events:none;transition:opacity .25s ease}.bottom-sheet-overlay.visible{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elevated);border-radius:16px 16px 0 0;z-index:10002;transform:translateY(100%);transition:transform .25s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom);max-height:70vh;overflow-y:auto;will-change:transform;border-top:1px solid var(--border-default)}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:8px auto 16px}.bottom-sheet-title{font-size:16px;font-weight:600;color:var(--text-primary);padding:0 20px 12px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.bottom-sheet-item{display:flex;align-items:center;gap:12px;padding:14px 20px;border:none;background:none;width:100%;font-family:inherit;font-size:15px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left;transition:background .1s ease}.bottom-sheet-item:active{background:var(--bg-hover)}.bottom-sheet-item .icon{color:var(--text-secondary)}.toast-container{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:11000;pointer-events:none}.toast{padding:12px 20px;border-radius:var(--radius);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;pointer-events:auto;animation:toast-in .25s ease-out;background:var(--text-primary);color:var(--bg-primary);will-change:opacity,transform;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:639px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-value{font-size:22px}.dashboard-main-grid,.dashboard-analytics-grid{grid-template-columns:1fr}.products-grid{grid-template-columns:1fr;gap:12px}.product-card{padding:16px}.category-grid{grid-template-columns:repeat(2,1fr)}.table-container{margin-left:-16px;margin-right:-16px;border-radius:0;border-left:none;border-right:none}.table th,.table td{padding:8px 10px;font-size:12px}.table th:first-child,.table td:first-child{padding-left:16px}.table th:last-child,.table td:last-child{padding-right:16px}.form-input,.form-select,.form-textarea{height:44px;font-size:16px}.form-row{grid-template-columns:1fr}.btn{min-height:44px}.btn-group{flex-direction:column}.btn-group .btn{width:100%}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:0;padding:0 16px;margin:0 -16px}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{white-space:nowrap;flex-shrink:0}.stock-category-tabs{padding:0 16px;margin:0 -16px 16px}.stock-category-tab{padding:8px 12px;font-size:12px}.page-title{font-size:22px}.modal-overlay{align-items:flex-end}.modal-content{max-width:100%;width:100%;border-radius:16px 16px 0 0;max-height:85vh;overflow-y:auto;margin:0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.modal-content:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto 16px}.login-container{padding:0}.login-box{padding:24px 20px;width:100%;max-width:100%;border-radius:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.search-box{width:100%}}@media(max-width:1023px){.sidebar{position:fixed;left:-280px;top:0;bottom:0;width:280px;z-index:10000;transition:left .25s cubic-bezier(.32,.72,0,1);overflow-y:auto;will-change:left}.sidebar.open{left:0}.sidebar-overlay{display:block;position:fixed;inset:0;background:var(--surface-overlay);z-index:9999;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.main-content{margin-left:0!important;padding:16px!important;padding-top:calc(64px + env(safe-area-inset-top))!important;padding-bottom:calc(80px + env(safe-area-inset-bottom))!important;min-height:100vh}.mobile-header{display:flex;position:fixed;top:0;left:0;right:0;z-index:8999;background:var(--nav-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--nav-border);padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top));align-items:center;justify-content:space-between;padding-left:16px;padding-right:16px}.mobile-header-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.mobile-header-actions{display:flex;gap:12px;align-items:center}.mobile-avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-default)}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--nav-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--nav-border);padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.mobile-bottom-nav .nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 0;min-width:56px;min-height:44px;background:none;border:none;cursor:pointer;color:var(--nav-icon-default);font-size:10px;font-weight:500;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:color .15s ease;position:relative}.mobile-bottom-nav .nav-tab.active{color:var(--nav-icon-active);font-weight:600}.mobile-bottom-nav .nav-tab.active:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--nav-icon-active)}.mobile-bottom-nav .nav-tab.action-btn{color:var(--accent-primary)}.mobile-bottom-nav .nav-tab.action-btn:after{display:none}.sync-status{bottom:calc(72px + env(safe-area-inset-bottom))}.page-header{margin-bottom:16px}}@media(min-width:640px)and (max-width:1023px){.main-content{padding:24px!important}.stats-grid,.products-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-analytics-grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.mobile-bottom-nav,.mobile-header,.sidebar-overlay{display:none!important}}@media(pointer:coarse){.btn,.nav-link,.filter-tab,.stock-category-tab,.bottom-sheet-item{min-height:44px}.btn:active{transform:scale(.97);transition:transform .1s ease}.nav-tab:active{transform:scale(.95)}}@media(hover:hover){.btn-primary:hover{background:#333}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-danger:hover{background:var(--accent-error-subtle)}.btn-icon:hover{background:var(--bg-tertiary)}.product-card:hover,.stat-card:hover{box-shadow:var(--shadow-card-hover)}}.table tbody tr{content-visibility:auto;contain-intrinsic-size:auto 44px}.products-grid .product-card{content-visibility:auto;contain-intrinsic-size:auto 180px}.card{background:var(--surface-card);border-radius:var(--radius-xl);padding:24px;margin-bottom:16px;border:1px solid var(--border-default);box-shadow:none;transition:var(--transition)}.card:hover{border-color:var(--border-strong)}.card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}.card-title-icon{width:16px;height:16px;display:inline-flex;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-bottom:28px}.stat-card{background:var(--surface-card);padding:20px;border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:none;transition:var(--transition);position:relative}.stat-card:hover{border-color:var(--border-strong)}.stat-card.accent{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary)}.stat-card.accent .stat-label{color:var(--text-tertiary)}.stat-card.accent .stat-value{color:var(--text-primary)}.stat-card.accent .stat-icon{background:var(--bg-tertiary)}.stat-card.accent .stat-trend{color:var(--accent-success);background:var(--accent-success-subtle)}.stat-card.dark{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.stat-card.dark .stat-label{color:var(--text-muted)}.stat-card.dark .stat-value{color:var(--text-primary)}.stat-card.dark .stat-icon{background:var(--bg-tertiary)}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-secondary)}.stat-icon.green{background:var(--accent-success-subtle);color:var(--accent-success)}.stat-icon.red{background:var(--accent-error-subtle);color:var(--accent-error)}.stat-icon.yellow{background:var(--accent-warning-subtle);color:var(--accent-warning)}.stat-icon.blue{background:var(--accent-info-subtle);color:var(--accent-info)}.stat-icon.purple{background:#7b6eed14;color:#7b6eed}.stat-trend{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--success-light);color:var(--success-dark)}.stat-trend.down{background:var(--danger-light);color:var(--danger-dark)}.stat-trend.neutral{background:var(--bg-tertiary);color:var(--text-muted)}.stat-content{margin-top:auto}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.1;margin-bottom:2px;letter-spacing:-.5px}.stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.stat-card.warning .stat-value{color:var(--text-primary)}.stat-card.warning .stat-icon{background:var(--accent-warning-subtle)}.stat-card.danger .stat-value{color:var(--text-primary)}.stat-card.danger .stat-icon{background:var(--accent-error-subtle)}.period-toggle{display:inline-flex;gap:4px;background:var(--bg-tertiary);border-radius:var(--radius);padding:3px}.period-btn{padding:5px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:var(--transition);font-family:inherit}.period-btn:hover{color:var(--text-secondary)}.period-btn.active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-xs)}.dashboard-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.table tr.clickable-row{cursor:pointer}.table tr.clickable-row:hover td{background:var(--bg-hover)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:#333;margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;transition:var(--transition);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.form-textarea{resize:vertical;min-height:80px}.form-help{font-size:11px;color:var(--text-muted);margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-radio-group{display:flex;gap:12px}.form-radio-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--transition)}.form-radio-label:has(input:checked){border-color:var(--border-focus);background:var(--bg-tertiary)}.form-radio-label input{accent-color:var(--text-primary)}.btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit}.btn-primary{background:#0a0a0a;color:#fff;border-color:#0a0a0a}.btn-primary:hover{background:#333;border-color:#333}.btn-primary:disabled{background:var(--border);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:#ccc}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{background:var(--success-dark);border-color:var(--success-dark)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger-light)}.btn-danger:hover{background:var(--danger-light)}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:10px 24px;font-size:14px}.btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-tertiary);border-color:#ccc}.btn-group{display:flex;gap:10px;margin-top:20px}.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.alert-success{background:var(--success-light);color:var(--success-dark);border:1px solid #C6F6D5}.alert-danger{background:var(--danger-light);color:var(--danger-dark);border:1px solid #FED7D7}.alert-warning{background:var(--warning-light);color:var(--warning-dark);border:1px solid #FEEBC8}.alert-info{background:var(--info-light);color:var(--accent);border:1px solid var(--accent-light)}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:0}.filter-tab{padding:8px 14px;border-radius:0;font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);margin-bottom:-1px}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:transparent;color:var(--text-primary);border-bottom-color:var(--text-primary)}.stock-category-tabs{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-default);margin-bottom:16px}.stock-category-tabs::-webkit-scrollbar{display:none}.stock-category-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:400;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0;font-family:inherit}.stock-category-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.stock-category-tab.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--accent-primary)}.stock-category-tab .tab-count{font-weight:400;color:var(--text-tertiary);font-size:12px}.stock-category-tab.active .tab-count{color:var(--text-secondary)}.search-box{position:relative;margin-bottom:16px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;width:16px;height:16px;display:flex;align-items:center}.search-input{width:100%;padding:8px 32px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-secondary)}.search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px 8px;color:var(--text-muted);font-size:16px;line-height:1}.search-clear:hover{color:var(--text-primary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:8px 12px;background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.table td{padding:10px 12px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.table tr:hover td{background:var(--bg-tertiary)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.badge-success{background:var(--accent-success-subtle);color:var(--accent-success);border:1px solid rgba(61,139,95,.15)}.badge-warning{background:var(--accent-warning-subtle);color:var(--accent-warning);border:1px solid rgba(196,135,59,.15)}.badge-danger{background:var(--accent-error-subtle);color:var(--accent-error);border:1px solid rgba(196,81,81,.15)}.badge-info{background:var(--accent-info-subtle);color:var(--accent-info);border:1px solid rgba(91,141,184,.15)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;overflow-y:auto;padding:20px}.modal-content{position:relative;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border);box-shadow:0 16px 48px #0003;margin:auto}.modal-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary);display:flex;align-items:center;gap:8px;letter-spacing:-.2px}.modal-subtitle{font-size:13px;font-weight:400;color:var(--text-muted);margin-bottom:20px}.chart-container{height:260px;position:relative}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state-icon{margin-bottom:16px;color:var(--text-light);display:flex;justify-content:center}.empty-state h3{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.empty-state p{font-size:13px}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-option{width:24px;height:24px;border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition);border:2px solid transparent}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.obs-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#d1d5db;cursor:default;flex-shrink:0;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border)}.obs-indicator.has-obs{color:#d97706;cursor:help}.obs-tooltip{position:absolute;top:calc(100% + 8px);right:0;background:#1f2937;color:#fff;font-size:12px;font-weight:400;line-height:1.4;padding:8px 12px;border-radius:7px;max-width:250px;width:max-content;word-wrap:break-word;white-space:pre-line;z-index:1000;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none}.obs-tooltip:after{content:"";position:absolute;bottom:100%;right:12px;border:5px solid transparent;border-bottom-color:#1f2937}.product-card:has(.obs-indicator:hover){contain:none;content-visibility:visible;overflow:visible}.obs-indicator.has-obs:hover .obs-tooltip{opacity:1;visibility:visible}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.category-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;text-align:center;transition:var(--transition);cursor:pointer}.category-card:hover{border-color:#ccc}.category-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 10px}.category-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.category-count{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.category-meta{font-size:12px;color:var(--text-muted);font-weight:500}.category-alert{font-size:12px;color:var(--accent-warning);background:var(--accent-warning-subtle);padding:4px 8px;border-radius:var(--radius-sm);margin-top:8px;display:inline-block;font-weight:600}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.product-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;transition:var(--transition);position:relative}.product-card:hover{border-color:var(--border-strong)}.product-actions{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:2px}.product-actions .btn{opacity:.5;transition:opacity .15s}.product-card:hover .product-actions .btn{opacity:1}.category-card-actions{opacity:.5;transition:opacity .15s}.category-card-item:hover .category-card-actions{opacity:1}.product-category-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-bottom:10px}.product-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px;line-height:1.4;padding-right:70px}.obs-trigger .obs-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);max-width:300px;background:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:400;line-height:1.4;white-space:pre-wrap;z-index:100;box-shadow:0 4px 12px #0003;pointer-events:none;min-width:120px;text-align:left;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;display:block;right:auto;width:auto}.obs-trigger:hover .obs-tooltip{opacity:1;visibility:visible}.product-sku{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-family:monospace}.product-obs{font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);padding:8px 10px;border-radius:var(--radius-sm);margin:10px 0;font-style:italic;border-left:2px solid var(--border)}.product-quantity{font-size:18px;font-weight:700;color:var(--text-primary);margin:12px 0 6px}.product-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.status-ok{background:var(--accent-success-subtle);color:var(--accent-success)}.status-empty{background:var(--accent-error-subtle);color:var(--accent-error)}.product-price{font-size:12px;color:var(--text-secondary);margin-top:2px}.product-value{font-size:13px;font-weight:500;color:var(--text-primary);margin-top:4px}.dashboard-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:24px}.card,.stat-card,.product-card,.category-card{contain:style}.stat-value,.product-quantity,.category-count{font-variant-numeric:tabular-nums}
