*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f3f0eb;--bg-alt: #eae6df;--surface: #ffffff;--surface-hover: #faf8f5;--border: #e2dcd3;--border-light: #eeebe6;--text: #1a1816;--text-secondary: #8a8078;--text-muted: #b5aba2;--primary: #1a1816;--primary-hover: #2d2824;--accent: #b8735a;--accent-light: #f5e8e2;--success: #4a7c65;--success-light: #e8f2ed;--warning: #c4944a;--warning-light: #faf3e6;--danger: #c44a4a;--danger-light: #fae8e8;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(26, 24, 22, .06), 0 1px 2px rgba(26, 24, 22, .04);--shadow-lg: 0 4px 16px rgba(26, 24, 22, .08);--font-display: "Instrument Serif", Georgia, serif;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-width: 220px;--sidebar-collapsed: 0px;--header-h: 57px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:14px}input,select,textarea{font-family:inherit;font-size:14px}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:20;transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed{width:60px}.sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:10px;min-height:73px;transition:padding .25s}.sidebar.collapsed .sidebar-brand{padding:24px 10px 20px;justify-content:center}.sidebar-brand h1{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--text);letter-spacing:-.01em;white-space:nowrap;transition:opacity .2s}.sidebar.collapsed .sidebar-brand h1{font-size:18px}.sidebar-brand span{font-size:12px;color:var(--text-secondary);display:block;margin-top:2px;white-space:nowrap;transition:opacity .2s}.sidebar.collapsed .sidebar-brand h1,.sidebar.collapsed .sidebar-brand span,.sidebar.collapsed .sidebar-label{opacity:0;pointer-events:none}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-nav a,.sidebar-nav button.nav-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;border:none;background:none;width:100%;transition:all .15s;white-space:nowrap}.sidebar.collapsed .sidebar-nav a,.sidebar.collapsed .sidebar-nav button.nav-btn{padding:10px;justify-content:center}.sidebar-nav a:hover,.sidebar-nav button.nav-btn:hover{background:var(--bg);color:var(--text)}.sidebar-nav a.active{background:var(--bg);color:var(--text);font-weight:600}.sidebar-nav a .nav-icon,.sidebar-nav button.nav-btn .nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border-light)}.sidebar.collapsed .sidebar-footer{padding:12px 4px}.sidebar-footer button{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-secondary);border:none;background:none;width:100%;transition:all .15s;white-space:nowrap}.sidebar.collapsed .sidebar-footer button{padding:10px;justify-content:center}.sidebar-footer button:hover{background:var(--bg);color:var(--danger)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a18164d;z-index:15;opacity:0;transition:opacity .25s}.sidebar-overlay.open{opacity:1}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:18px;cursor:pointer;transition:all .15s;flex-shrink:0}.sidebar-toggle:hover{background:var(--bg);color:var(--text)}.main-area{margin-left:var(--sidebar-width);flex:1;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.main-area.expanded{margin-left:60px}.main-header{background:var(--surface);border-bottom:1px solid var(--border-light);padding:10px 24px;display:flex;align-items:center;gap:12px;min-height:var(--header-h)}.main-header h2{font-family:var(--font-display);font-size:20px;font-weight:400;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{padding:28px 32px;max-width:1440px}@media(max-width:768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:block;pointer-events:none}.sidebar-overlay.open{pointer-events:auto}.sidebar .sidebar-brand,.sidebar .sidebar-nav a,.sidebar .sidebar-nav button.nav-btn,.sidebar .sidebar-footer button{padding:14px 20px;justify-content:flex-start;min-height:48px}.sidebar .sidebar-brand h1,.sidebar .sidebar-brand span,.sidebar .sidebar-label{opacity:1!important;pointer-events:auto!important}.main-area{margin-left:0!important}.main-content{padding:16px 12px}.main-header{padding:10px 12px;min-height:50px}.main-header h2{font-size:17px}.sidebar-toggle{width:42px;height:42px;font-size:20px}.stat-card{padding:14px 16px}.stat-card .stat-value{font-size:26px}.search-section{padding:16px}.search-row{flex-direction:column;align-items:stretch;gap:10px}.search-row .search-input-wrap{min-width:0}.search-row .search-input-wrap input{padding:12px 14px 12px 38px;font-size:16px;min-height:48px}.filter-select{width:100%;min-height:48px;font-size:16px;padding:12px 32px 12px 14px}.detail-grid{grid-template-columns:1fr;gap:16px}.detail-image-box{aspect-ratio:16 / 10;max-height:240px}.detail-header{flex-direction:column;align-items:flex-start;gap:10px}.detail-header-actions{width:100%;display:flex;gap:8px}.detail-header-actions .btn{flex:1;justify-content:center;min-height:44px}.back-btn{width:42px;height:42px;font-size:18px}.detail-form-panel{padding:20px 16px}.form-group input,.form-group textarea,.form-group select{padding:12px;font-size:16px;min-height:48px}.form-group textarea{min-height:120px}.form-row{grid-template-columns:1fr;gap:0}.table-scroll{margin:0 -12px;padding:0 12px}table{font-size:12px}th,td{padding:10px}.img-thumb-wrap{width:32px;height:32px}.stock-badge{font-size:11px;padding:2px 8px}.pagination{flex-wrap:wrap;gap:6px;padding:12px}.pagination button{min-height:44px;flex:1;font-size:14px}.btn,.btn-sm{min-height:44px;padding:10px 16px;font-size:14px}.btn-xs{min-height:36px;padding:8px 12px;font-size:12px}.detail-image-actions .btn{flex:1;justify-content:center}.import-page textarea{min-height:200px;font-size:16px;padding:12px}.login-card{margin:16px;padding:32px 24px;width:auto}.login-card h2{font-size:22px}.login-card input,.login-card button{padding:14px;font-size:16px;min-height:48px}.results-meta span{font-size:12px}.empty-state{padding:32px 16px}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.detail-page{max-width:100%}}@media(max-width:480px){.stats-row{grid-template-columns:1fr;gap:8px}table{font-size:11px}th{padding:8px 6px;font-size:10px}td{padding:8px 6px}.stock-badge{font-size:10px;padding:2px 6px}.main-header h2{font-size:15px}.detail-image-box{max-height:200px}.detail-header h2{font-size:18px}.detail-image-actions{flex-wrap:wrap}.detail-image-actions .btn{flex:1;min-width:0}.pagination button{padding:10px;font-size:13px}.sidebar-brand{min-height:60px;padding:16px 20px}.sidebar-brand h1{font-size:18px}}@media(max-width:480px){input,select,textarea{font-size:16px!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:48px 40px 40px;width:380px}.login-card h2{font-family:var(--font-display);font-size:26px;font-weight:400;margin-bottom:4px}.login-card p.subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:28px}.login-card input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;background:var(--bg);transition:border-color .15s}.login-card input:focus{outline:none;border-color:var(--text);background:var(--surface)}.login-card button{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:15px;transition:background .15s}.login-card button:hover{background:var(--primary-hover)}.login-card button:disabled{opacity:.5;cursor:default}.login-error{color:var(--danger);font-size:13px;margin-bottom:16px;padding:10px 12px;background:var(--danger-light);border-radius:var(--radius-sm)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--surface);border-radius:var(--radius);padding:20px 24px;border:1px solid var(--border-light);transition:box-shadow .15s}.stat-card:hover{box-shadow:var(--shadow)}.stat-card .stat-value{font-family:var(--font-display);font-size:32px;line-height:1.1;color:var(--text)}.stat-card .stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.stat-card.stat-warning .stat-value{color:var(--warning)}.stat-card.stat-danger .stat-value{color:var(--danger)}.search-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);padding:20px 24px;margin-bottom:20px}.search-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-row .search-input-wrap{flex:1;min-width:200px;position:relative}.search-row .search-input-wrap input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:all .15s}.search-row .search-input-wrap input:focus{outline:none;border-color:var(--text);background:var(--surface)}.search-row .search-input-wrap .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.filter-select{padding:10px 32px 10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8078' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color .15s}.filter-select:focus{outline:none;border-color:var(--text);background-color:var(--surface)}.filter-select optgroup{font-weight:600}.results-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.results-meta span{font-size:13px;color:var(--text-secondary)}.table-wrap{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .1s}th:hover{color:var(--text)}td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border-light);white-space:nowrap}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.img-thumb-wrap{width:36px;height:36px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.img-thumb-wrap img{width:100%;height:100%;object-fit:cover}.img-thumb-wrap .thumb-placeholder{font-size:14px;line-height:1;opacity:.5}.stock-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.01em}.stock-badge.ok{background:var(--success-light);color:var(--success)}.stock-badge.low{background:var(--warning-light);color:var(--warning)}.stock-badge.out{background:var(--danger-light);color:var(--danger)}.detail-page{max-width:1000px}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.detail-header-left{display:flex;align-items:center;gap:12px}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:16px;transition:all .15s}.back-btn:hover{background:var(--bg);color:var(--text)}.detail-header h2{font-family:var(--font-display);font-size:24px;font-weight:400}.detail-header-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:320px 1fr;gap:24px}@media(max-width:860px){.detail-grid{grid-template-columns:1fr}}.detail-image-panel{display:flex;flex-direction:column;gap:12px}.detail-image-box{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);overflow:hidden;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;position:relative}.detail-image-box img{width:100%;height:100%;object-fit:cover}.detail-image-box .no-image{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.detail-image-box .no-image .icon{font-size:36px;opacity:.4}.detail-image-actions{display:flex;gap:8px}.detail-form-panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);padding:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;margin-bottom:4px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:all .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--text);background:var(--surface)}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:500;font-size:13px;transition:all .15s;white-space:nowrap}.btn:hover{background:var(--bg);border-color:var(--text-muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:none;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-light)}.btn-ghost{background:none;border:1px dashed var(--border);color:var(--text-secondary)}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 8px;font-size:11px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-top:1px solid var(--border-light)}.pagination button{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:13px;color:var(--text);transition:all .1s}.pagination button:hover:not(:disabled){background:var(--bg);border-color:var(--text-muted)}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{font-size:13px;color:var(--text-secondary)}.import-page{max-width:720px}.import-page textarea{width:100%;min-height:280px;font-family:SF Mono,Fira Code,DM Mono,monospace;font-size:13px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-bottom:16px;transition:border-color .15s}.import-page textarea:focus{outline:none;border-color:var(--text);background:var(--surface)}.import-result{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--success-light);color:var(--success);font-weight:500;font-size:14px}.import-error{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--danger-light);color:var(--danger);font-weight:500;font-size:14px}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-state .icon{font-size:40px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:14px}.loading-state{text-align:center;padding:48px;color:var(--text-secondary);font-size:14px}@media(max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-card .stat-value{font-size:26px}.search-row{flex-direction:column;align-items:stretch}.search-row .search-input-wrap{min-width:0}.filter-select{width:100%}.detail-grid{grid-template-columns:1fr}.detail-image-box{aspect-ratio:16 / 10;max-height:260px}.detail-header{flex-direction:column;align-items:flex-start;gap:12px}.detail-header-actions{width:100%}.detail-header-actions .btn{flex:1}.form-row{grid-template-columns:1fr}.main-header h2{font-size:17px}.table-scroll{margin:0 -16px;padding:0 16px}}@media(max-width:480px){.stats-row{grid-template-columns:1fr}.login-card{margin:16px;padding:32px 24px;width:auto}.detail-image-actions{flex-wrap:wrap}.detail-image-actions .btn{flex:1;min-width:0}}
