:root{--color-primary:#1565c0;--color-primary-dark:#0d47a1;--color-primary-light:#e3f2fd;--color-primary-border:#90caf9;--color-primary-accent:#42a5f5;--color-accent:#e91e63;--color-accent-dark:#c2185b;--color-accent-light:#fce4ec;--color-accent-soft:#fff3f5;--color-success-bg:#e8f5e9;--color-success-text:#2e7d32;--color-success:#4caf50;--color-success-border:#bbf7d0;--color-warning-bg:#fff3e0;--color-warning-text:#e65100;--color-warning:#ffa726;--color-warning-border:#fde68a;--color-danger-bg:#fdecea;--color-danger-text:#d32f2f;--color-danger:#ef5350;--color-danger-soft:#fff8f8;--color-danger-border:#fecaca;--color-info-bg:#e3f2fd;--color-info-text:#1565c0;--color-coremall-bg:#f3e5f5;--color-coremall-text:#7b1fa2;--color-note-bg:#fff8e1;--color-note-text:#795548;--color-text-strong:#333;--color-text-base:#555;--color-text-muted:#666;--color-text-soft:#888;--color-text-faint:#999;--color-text-disabled:#aaa;--color-text-placeholder:#bbb;--color-border-strong:#ccc;--color-border:#e0e0e0;--color-border-light:#eee;--color-border-lighter:#f0f0f0;--color-bg-page:#f5f5f5;--color-bg-card:#fff;--color-bg-soft:#fafafa;--color-bg-soft-2:#f8f9fa;--color-sidebar-bg:#0d1b2a;--color-sidebar-text:#90a4ae;--color-sidebar-text-base:#ccc;--color-sidebar-text-hover:#e0e0e0;--color-sidebar-active:#fff;--color-sidebar-label:#607d8b;--color-sidebar-accent:#42a5f5;--color-sidebar-active-bg:#1565c040;--color-sidebar-hover-bg:#ffffff0a;--color-sidebar-divider:#ffffff14;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--font-xs:11px;--font-sm:12px;--font-base:13px;--font-md:14px;--font-lg:16px;--font-xl:18px;--font-2xl:22px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-bottombar:0 -2px 8px #0000000f;--focus-ring:0 0 0 3px #1565c040;--focus-ring-accent:0 0 0 3px #e91e6340;--sidebar-width:220px;--sidebar-width-mobile:260px;--header-height:48px;--bottombar-height:60px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text-strong);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;font-family:Segoe UI,Hiragino Sans,Meiryo,sans-serif}#root{min-height:100vh}.btn-logout{color:inherit;padding:5px var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer;opacity:.8;background:0 0;border:1px solid #ffffff4d;transition:opacity .15s}.btn-logout:hover{opacity:1}.btn-account{width:32px;height:32px;color:inherit;opacity:.8;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:14px;text-decoration:none;transition:opacity .15s,background .15s;display:inline-flex}.btn-account:hover{opacity:1;background:#ffffff2e}.store-layout{flex-direction:column;min-height:100vh;display:flex}.store-topbar{padding:0 var(--space-lg);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:#fff;z-index:100;height:56px;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.store-topbar-left{align-items:center;gap:var(--space-2xl);min-width:0;display:flex}.store-logo{font-size:var(--font-xl);font-weight:var(--font-weight-extrabold);letter-spacing:1.5px;white-space:nowrap;margin:0}.store-nav{align-items:stretch;gap:var(--space-xs);height:56px;display:flex}.store-topbar-right{align-items:center;gap:var(--space-md);display:flex}.store-user{font-size:var(--font-sm);opacity:.9;white-space:nowrap}.store-main{background:var(--color-bg-page);flex:1}.tab-item{padding:0 var(--space-md);color:#ffffffbf;font-size:var(--font-md);font-weight:var(--font-weight-semibold);border-top:3px solid #0000;border-bottom:3px solid #0000;align-items:center;gap:6px;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.tab-item:hover{color:#fff}.tab-item.active{color:#fff;border-bottom-color:#fff}.tab-icon{width:18px;height:18px}.tab-label{font-weight:var(--font-weight-semibold)}.admin-layout{min-height:100vh;display:flex}.admin-mobile-header{z-index:110;height:var(--header-height);background:var(--color-primary-dark);color:#fff;align-items:center;gap:var(--space-md);padding:0 14px;display:none;position:sticky;top:0}.admin-mobile-logo{font-size:17px;font-weight:var(--font-weight-extrabold);letter-spacing:1px;margin:0}.hamburger{gap:var(--space-xs);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;flex-direction:column;display:flex}.hamburger span{background:#fff;border-radius:1px;width:20px;height:2px;display:block}.admin-sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);color:var(--color-sidebar-text-base);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{padding:18px var(--space-xl) 14px;border-bottom:1px solid var(--color-sidebar-divider);align-items:center;gap:10px;display:flex}.sidebar-logo{font-size:18px;font-weight:var(--font-weight-extrabold);letter-spacing:1px;color:#fff;margin:0}.sidebar-badge{font-size:10px;font-weight:var(--font-weight-bold);background:var(--color-primary);color:#fff;padding:2px var(--space-sm);border-radius:10px}.sidebar-nav{padding:var(--space-sm) 0;flex:1}.nav-group{margin-bottom:var(--space-xs)}.nav-group-label{font-size:var(--font-md);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:normal;color:var(--color-sidebar-text);padding:12px var(--space-xl);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;display:flex}.nav-group-label:hover{color:var(--color-sidebar-text-hover);background:var(--color-sidebar-hover-bg,#ffffff0a)}.nav-group-arrow{color:var(--color-sidebar-label);font-size:10px;transition:transform .15s;display:inline-block}.nav-group.collapsed .sidebar-link{display:none}.sidebar-link{padding:9px var(--space-xl);color:var(--color-sidebar-text);font-size:var(--font-base);font-weight:var(--font-weight-medium);border-left:3px solid #0000;align-items:center;gap:10px;text-decoration:none;transition:all .12s;display:flex}.sidebar-link:hover{color:var(--color-sidebar-text-hover);background:var(--color-sidebar-hover-bg)}.sidebar-link.active{color:#fff;background:var(--color-sidebar-active-bg);border-left-color:var(--color-sidebar-accent);font-weight:var(--font-weight-semibold)}.sidebar-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.sidebar-link.active .sidebar-icon{opacity:1}.sidebar-footer{padding:14px var(--space-xl);border-top:1px solid var(--color-sidebar-divider);justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.sidebar-user{font-size:var(--font-sm);color:var(--color-sidebar-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer .btn-logout{color:var(--color-sidebar-text);border-color:#ffffff26}.admin-main{background:var(--color-bg-page);padding:var(--space-2xl);flex:1;min-width:0;overflow-x:auto}.sidebar-overlay{display:none}@media (width<=768px){.admin-layout{flex-direction:column}.admin-mobile-header{display:flex}.admin-sidebar{width:var(--sidebar-width-mobile);z-index:200;height:100vh;transition:left .25s;position:fixed;top:0;left:-260px}.admin-sidebar.open{left:0}.sidebar-overlay{z-index:190;background:#00000080;display:block;position:fixed;inset:0}.admin-main{padding:var(--space-lg)}.store-topbar{padding:0 var(--space-md)}.store-topbar-left{gap:var(--space-md)}.store-logo{font-size:var(--font-lg);letter-spacing:1px}.store-nav{gap:0}.tab-item{padding:0 var(--space-sm);font-size:var(--font-sm);gap:4px}.tab-icon{width:16px;height:16px}.store-user{display:none}}@media (width<=480px){.store-logo,.tab-label{display:none}.tab-item{padding:0 var(--space-md)}.tab-icon{width:20px;height:20px}}.login-page{background:linear-gradient(135deg, var(--color-accent-light), var(--color-coremall-bg));justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-bg-card);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 24px #00000014}.login-logo{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-accent-dark);margin:0 0 var(--space-xs);letter-spacing:2px}.login-subtitle{color:var(--color-text-soft);font-size:var(--font-base);margin:0 0 var(--space-3xl)}.login-form{text-align:left}.form-group{margin-bottom:var(--space-lg)}.form-group label{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--color-text-base);margin-bottom:6px;display:block}.form-group input{border:2px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-size:var(--font-md);box-sizing:border-box;outline:none;padding:10px 14px;transition:border-color .2s}.form-group input:focus{border-color:var(--color-accent)}.login-error{background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-lg);font-size:var(--font-base);margin-bottom:var(--space-lg);padding:10px 14px}.login-btn{width:100%;padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-accent);color:#fff;font-size:15px;font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--space-sm);border:none;transition:background .15s}.login-btn:hover{background:var(--color-accent-dark)}.login-btn:disabled{background:var(--color-border-strong);cursor:not-allowed}.store-order-layout{min-height:calc(100vh - 56px);display:flex}.sidebar{background:var(--color-bg-card);border-right:1px solid var(--color-border);flex-shrink:0;width:220px;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto}.sidebar-title{font-size:var(--font-xs);font-weight:var(--font-weight-bold);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--color-border-lighter);background:var(--color-bg-soft);padding:8px 10px}.cat-group{border-bottom:1px solid var(--color-border-lighter)}.cat-header{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:4px;min-height:28px;padding:5px 10px;line-height:1.3;transition:background .15s;display:flex}.cat-header>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cat-header:hover{background:var(--color-accent-light)}.cat-header.active{background:var(--color-accent-light);color:var(--color-accent-dark)}.cat-arrow{font-size:var(--font-sm);color:var(--color-text-disabled);flex-shrink:0;transition:transform .2s}.cat-header.open .cat-arrow{transform:rotate(90deg)}.cat-count{font-size:var(--font-xs);color:var(--color-text-faint);margin-left:4px;font-weight:400}.subcat-list{display:none}.subcat-list.open{background:var(--color-bg-soft);border-top:1px solid var(--color-border-lighter);display:block}.subcat-item{font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #0000;align-items:center;min-height:28px;padding:6px 10px 6px 24px;line-height:1.3;transition:background .15s,color .15s;display:flex;overflow:hidden}.subcat-item:hover{background:var(--color-accent-soft);color:var(--color-accent-dark);border-left-color:var(--color-accent-light)}.subcat-item.active{color:var(--color-accent-dark);font-weight:var(--font-weight-semibold);background:var(--color-accent-light);border-left-color:var(--color-accent-dark)}.sidebar-subtitle{font-size:var(--font-xs);font-weight:var(--font-weight-bold);color:var(--color-text-soft);letter-spacing:.5px;background:var(--color-bg-soft);border-top:1px solid var(--color-border-lighter);border-bottom:1px solid var(--color-border-lighter);padding:6px 10px 4px}.cat-header.cat2-sidebar-item{padding-left:14px}.cat-header.cat2-sidebar-item.active{background:var(--color-accent-light);color:var(--color-accent-dark);font-weight:var(--font-weight-semibold)}.order-main{padding:var(--space-xl);background:var(--color-bg-page);flex:1;max-width:calc(100vw - 220px)}.budget-panel{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-md) var(--space-lg);margin-bottom:14px;box-shadow:0 1px 4px #0000000f}.budget-row{gap:var(--space-lg);display:flex}.budget-section{flex:1}.budget-section.coremall{border-left:3px solid var(--color-coremall-text);padding-left:var(--space-md)}.budget-section-title{font-size:var(--font-xs);font-weight:var(--font-weight-bold);color:var(--color-text-soft);margin-bottom:var(--space-xs)}.budget-section.coremall .budget-section-title{color:var(--color-coremall-text)}.budget-nums{gap:var(--space-md);font-size:var(--font-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.budget-nums b{color:var(--color-text-strong)}.budget-remain{font-weight:var(--font-weight-bold);color:var(--color-success-text)}.budget-remain.over{color:var(--color-danger-text)}.budget-progress{background:var(--color-border);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.budget-progress-bar{background:var(--color-success);border-radius:3px;height:100%;transition:width .3s}.budget-progress-bar.over{background:var(--color-danger)}.search-bar{gap:var(--space-md);margin-bottom:var(--space-xl);align-items:center;display:flex}.search-input{padding:10px var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-md);outline:none;flex:1;transition:border-color .2s}.search-input::placeholder{color:var(--color-text-placeholder)}.view-toggle{gap:var(--space-xs);display:flex}.view-btn{padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-lg);transition:all .15s}.view-btn.active{border-color:var(--color-accent);background:var(--color-accent-light)}.category-title{font-size:18px;font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:3px solid var(--color-accent);align-items:center;gap:var(--space-sm);display:flex}.category-title .total{font-size:var(--font-base);color:var(--color-text-faint);font-weight:400}.products-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.products-grid.list-view{grid-template-columns:1fr}.product-card{background:var(--color-bg-card);border-radius:var(--radius-xl);transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000000f}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.product-img-wrap{aspect-ratio:1;background:var(--color-bg-soft);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.product-img-wrap img{object-fit:contain;max-width:85%;max-height:85%}.no-image{color:var(--color-border-strong);font-size:var(--font-sm)}.product-info{padding:10px var(--space-md)}.product-name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);height:34px;color:var(--color-text-base);line-height:1.4;overflow:hidden}.price-row{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.product-price{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-accent-dark)}.product-price small{font-size:var(--font-xs);font-weight:400}.qty-control{margin-top:var(--space-sm);padding:0 var(--space-sm) 10px;justify-content:center;align-items:center;gap:0;display:flex}.qty-btn{border:2px solid var(--color-border);background:var(--color-bg-card);width:30px;height:30px;font-size:var(--font-lg);font-weight:var(--font-weight-bold);cursor:pointer;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.qty-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.qty-input{text-align:center;width:44px;font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-strong);background:0 0;border:none;outline:none}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none}.add-cart-btn{width:calc(100% - 16px);margin:0 var(--space-sm) 10px;padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--color-accent);color:#fff;font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:background .15s}.add-cart-btn:hover{background:var(--color-accent-dark)}.list-view .product-card{flex-direction:row;display:flex}.list-view .product-img-wrap{aspect-ratio:1;flex-shrink:0;width:80px}.list-view .card-body{padding:var(--space-sm) var(--space-lg);align-items:center;gap:var(--space-lg);flex:1;display:flex}.list-view .product-info{flex:1;padding:0}.list-view .product-name{height:auto}.list-view .qty-control{margin:0;padding:0}.list-view .add-cart-btn{width:auto;padding:var(--space-sm) var(--space-xl);white-space:nowrap;margin:0}.header-cart-btn{color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-base);cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.header-cart-btn:hover{background:#ffffff47;border-color:#ffffff8c}.cart-badge{color:var(--color-accent-dark);min-width:20px;height:20px;font-size:var(--font-xs);font-weight:var(--font-weight-bold);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.cart-modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cart-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);flex-direction:column;width:680px;max-width:92vw;max-height:85vh;display:flex;box-shadow:0 12px 48px #00000040}.cart-modal-header{padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.cart-modal-header h2{margin:0;font-size:20px}.cart-header-actions{align-items:center;gap:10px;display:flex}.cart-clear-btn{border:1px solid var(--color-danger-text);background:var(--color-bg-card);color:var(--color-danger-text);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;padding:6px 14px;transition:all .15s}.cart-clear-btn:hover{background:var(--color-danger-bg)}.cart-close{background:var(--color-bg-page);cursor:pointer;border:none;border-radius:50%;width:40px;height:40px;font-size:22px;transition:background .15s}.cart-close:hover{background:var(--color-border-light)}.cart-modal-body{padding:var(--space-lg) var(--space-2xl);flex:1;overflow-y:auto}.cart-empty{text-align:center;color:var(--color-text-faint);padding:40px 0;font-size:15px}.cart-item{border-bottom:1px solid var(--color-border-lighter);align-items:center;gap:14px;padding:14px 0;display:flex}.cart-item-img{object-fit:contain;background:var(--color-bg-soft);border-radius:var(--radius-lg);width:60px;height:60px}.cart-item-info{flex:1}.cart-item-name{font-size:var(--font-md);font-weight:var(--font-weight-medium)}.cart-item-price{color:var(--color-accent-dark);font-size:15px;font-weight:var(--font-weight-bold);margin-top:var(--space-xs)}.cart-item-controls{align-items:center;gap:var(--space-sm);display:flex}.cart-item-controls .qty-btn{width:28px;height:28px;font-size:15px}.qty-display{font-weight:var(--font-weight-bold);text-align:center;min-width:24px;font-size:var(--font-lg)}.remove-btn{color:var(--color-danger-text);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;font-size:22px}.cart-modal-footer{padding:var(--space-xl) var(--space-2xl);border-top:2px solid var(--color-border);background:var(--color-bg-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.cart-totals-split{margin-bottom:10px}.cart-split-row{font-size:var(--font-lg);color:var(--color-text-strong);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-border-lighter);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.cart-split-row:last-child{border-bottom:none}.cart-split-row b{font-size:var(--font-xl);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.cart-no-budget{margin-bottom:12px}.cart-no-budget-notice{background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);border:1px solid var(--color-warning-border);margin-bottom:8px;padding:8px 12px}.cart-budget-summary{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.cart-budget-block{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:10px 12px}.cart-budget-block.over{border-color:var(--color-danger-border);border-left-color:var(--color-danger-text);background:var(--color-danger-soft)}.cart-budget-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.cart-budget-name{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.cart-budget-remain{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-success-text)}.cart-budget-remain.over{color:var(--color-danger-text)}.cart-budget-nums{font-size:var(--font-sm);color:var(--color-text-muted);flex-wrap:wrap;gap:12px;margin-bottom:6px;display:flex}.cart-budget-nums b{color:var(--color-text-strong);font-weight:var(--font-weight-bold)}.cart-budget-bar-wrap{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.cart-budget-bar{background:var(--color-success);height:100%;transition:width .3s}.cart-budget-bar.over{background:var(--color-danger)}.confirm-summary{font-size:var(--font-md);color:var(--color-text-muted);margin:0 0 12px}.confirm-breakdown{margin:0 0 var(--space-2xl);padding:var(--space-md);background:var(--color-bg-soft);border-radius:var(--radius-md)}.confirm-row{font-size:var(--font-md);color:var(--color-text-strong);justify-content:space-between;padding:4px 0;display:flex}.cart-note{margin-bottom:var(--space-md)}.note-input{border:2px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-size:var(--font-md);box-sizing:border-box;outline:none;padding:10px 14px}.note-input:focus{border-color:var(--color-accent)}.note-input.required{border-color:var(--color-danger-text);background:var(--color-danger-soft)}.cart-items-count{font-size:var(--font-md);color:var(--color-text-strong);font-weight:var(--font-weight-semibold);text-align:right;margin-bottom:8px}.cart-summary{margin-bottom:var(--space-md);font-size:var(--font-lg);justify-content:space-between;align-items:center;display:flex}.cart-total-price{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-accent-dark)}.budget-warning{background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md);text-align:center;padding:10px 14px}.submit-btn{width:100%;padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--color-accent);color:#fff;font-size:18px;font-weight:var(--font-weight-bold);cursor:pointer;border:none;transition:background .15s}.submit-btn:hover{background:var(--color-accent-dark)}.submit-btn:disabled{background:var(--color-border-strong);cursor:not-allowed}.modal-overlay{z-index:300;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-card);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:480px;padding:32px}.modal h3{margin:0 0 var(--space-md);font-size:20px}.modal p{color:var(--color-text-muted);margin:0 0 var(--space-2xl)}.modal .warning-title{color:var(--color-warning-text,#b06a00)}.modal .warning-text{margin:0 0 var(--space-md);text-align:left;color:var(--color-text-primary);line-height:1.6}.modal .warning-text:last-of-type{margin-bottom:var(--space-2xl)}.modal-actions{gap:var(--space-md);justify-content:center;display:flex}.modal-btn{border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;border:2px solid var(--color-border);background:var(--color-bg-card);padding:10px 32px;transition:all .15s}.modal-btn.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.modal-btn.primary:hover{background:var(--color-accent-dark)}.toast{bottom:var(--space-2xl);background:var(--color-text-strong);color:#fff;padding:var(--space-md) var(--space-2xl);font-size:var(--font-md);font-weight:var(--font-weight-medium);z-index:400;white-space:nowrap;border-radius:10px;transition:transform .3s;position:fixed;left:50%;transform:translate(-50%)translateY(100px)}.toast.show{transform:translate(-50%)translateY(0)}@media (width<=768px){.sidebar{display:none}.order-main{max-width:100%}.products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}}.ds-status-badge{border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--font-weight-bold);white-space:nowrap;padding:3px 10px;line-height:1.4;display:inline-block}.ds-status-success{background:var(--color-success-bg);color:var(--color-success-text)}.ds-status-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.ds-status-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.ds-status-info{background:var(--color-info-bg);color:var(--color-info-text)}.ds-status-purple{background:var(--color-coremall-bg);color:var(--color-coremall-text)}.ds-status-note{background:var(--color-note-bg);color:var(--color-note-text)}.ds-status-neutral{background:var(--color-bg-soft);color:var(--color-text-muted)}.ds-empty-state{text-align:center;padding:60px var(--space-xl);background:var(--color-bg-card);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:15px}.ds-empty-message{font-weight:var(--font-weight-medium)}.ds-empty-action{margin-top:var(--space-md)}.ds-empty-state-cell{text-align:center;color:var(--color-text-faint);font-size:var(--font-md);padding:40px 0!important}.store-history{max-width:900px;padding:var(--space-xl);margin:0 auto}.history-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.history-header h2{font-size:var(--font-2xl);margin:0}.history-toolbar{align-items:center;gap:var(--space-md);display:flex}.empty-state{text-align:center;color:var(--color-text-faint);background:var(--color-bg-card);border-radius:var(--radius-xl);padding:60px 0;font-size:15px}.order-card{background:var(--color-bg-card);border-radius:var(--radius-xl);margin-bottom:var(--space-md);overflow:hidden;box-shadow:0 1px 4px #0000000f}.order-card-header{align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:background .15s;display:flex}.order-card-header:hover{background:var(--color-bg-soft)}.order-date{font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);min-width:140px}.status-badge{padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);white-space:nowrap;border-radius:20px}.status-shipped{background:var(--color-coremall-bg);color:var(--color-coremall-text)}.status-delivered{background:var(--color-success-bg);color:var(--color-success-text)}.order-summary-info{gap:var(--space-lg);font-size:var(--font-md);color:var(--color-text-muted);flex:1;justify-content:flex-end;align-items:center;display:flex}.order-total{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-accent-dark)}.expand-arrow{font-size:var(--font-md);color:var(--color-text-disabled);transition:transform .2s}.expand-arrow.open{transform:rotate(90deg)}.order-detail{padding:0 var(--space-xl) var(--space-xl);border-top:1px solid var(--color-border-lighter)}.order-note{margin-top:var(--space-md);background:var(--color-note-bg);border-radius:var(--radius-lg);font-size:var(--font-base);color:var(--color-note-text);padding:10px 14px}.order-timeline{gap:var(--space-sm);flex-wrap:wrap;margin:14px 0;display:flex}.timeline-item{font-size:var(--font-sm);padding:var(--space-xs) 10px;border-radius:var(--radius-sm);background:var(--color-bg-page);color:var(--color-text-faint)}.timeline-item.done{background:var(--color-success-bg);color:var(--color-success-text)}.order-items-table{border-collapse:collapse;width:100%;margin-top:var(--space-md)}.order-items-table th{text-align:left;font-size:var(--font-sm);color:var(--color-text-soft);padding:var(--space-sm) 10px;border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold)}.order-items-table td{border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle;padding:10px}.no-thumb{color:var(--color-border-strong);font-size:var(--font-sm)}.item-name{font-weight:var(--font-weight-medium)}.item-sku{font-size:var(--font-xs);color:var(--color-text-faint);margin-top:2px}.num-cell{text-align:right;white-space:nowrap}.order-items-table tfoot td{border-bottom:none;border-top:2px solid var(--color-border);padding-top:var(--space-md)}.ds-inline-notice{padding:var(--space-sm) 14px;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-base);border:1px solid #0000;margin-bottom:10px;line-height:1.5}.ds-notice-ok{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.ds-notice-err{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.ds-notice-warn{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.ds-notice-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-primary-border)}.store-inv-report{padding:var(--space-md);max-width:900px;margin:0 auto;padding-bottom:80px}.report-header{gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.report-title{font-size:var(--font-2xl);color:var(--color-text-primary);margin:0}.report-header-right{gap:var(--space-md);align-items:center;display:flex}.period-selector{font-size:var(--font-sm);color:var(--color-text-secondary)}.period-selector select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);padding:6px 10px}.report-tabs{border-bottom:2px solid var(--color-border-lighter);gap:6px;margin-bottom:4px;display:flex}.report-tab{background:var(--color-bg-card);cursor:pointer;min-width:100px;font-size:var(--font-md);border:none;border-bottom:3px solid #0000;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 14px;transition:all .15s;display:flex}.report-tab:hover{background:var(--color-bg-page)}.report-tab.active{border-bottom-color:var(--color-accent-dark);color:var(--color-accent-dark);font-weight:var(--font-weight-semibold)}.report-tab.done{background:var(--color-success-bg)}.report-tab-label{font-size:var(--font-md)}.report-tab-progress{font-size:var(--font-xs);color:var(--color-text-faint);gap:4px;display:flex}.report-tab-pct{color:var(--color-text-soft);font-weight:var(--font-weight-medium)}.report-tab.done .report-tab-pct{color:var(--color-success-text)}.report-progress-bar{background:var(--color-bg-soft);height:4px;margin:4px 0 var(--space-md);border-radius:2px;overflow:hidden}.report-progress-fill{background:var(--color-accent-dark);height:100%;transition:width .25s}.report-toolbar{gap:var(--space-sm);margin-bottom:var(--space-md);align-items:center;display:flex}.report-search{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);flex:1;padding:8px 12px}.report-count{font-size:var(--font-sm);color:var(--color-text-faint);white-space:nowrap}.report-body{gap:var(--space-md);flex-direction:column;display:flex}.report-section{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);overflow:hidden}.report-section-header{align-items:center;gap:var(--space-sm);background:var(--color-bg-soft);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border-lighter);padding:10px 14px;display:flex}.report-section-header:hover{background:var(--color-accent-soft)}.report-section-arrow{font-size:var(--font-base);color:var(--color-text-faint);transition:transform .15s;display:inline-block}.report-section-arrow.open{transform:rotate(90deg)}.report-section-name{font-weight:var(--font-weight-semibold);font-size:var(--font-md);flex:1}.report-section-progress{font-size:var(--font-sm);color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:12px;padding:2px 10px}.report-product-list{margin:0;padding:0;list-style:none}.report-product-item{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-border-lighter);padding:10px 14px;transition:background .1s;display:flex}.report-product-item:last-child{border-bottom:none}.report-product-item:hover{background:var(--color-bg-soft)}.report-product-item.is-reported,.report-product-item.is-reported:hover{background:var(--color-success-bg)}.report-product-info{flex:1;min-width:0}.report-product-name{font-size:var(--font-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.report-product-sku{font-size:var(--font-xs);color:var(--color-text-faint)}.report-product-input{align-items:center;gap:6px;display:flex}.report-product-input input{border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);width:84px;font-size:var(--font-md);text-align:right;background:var(--color-bg-card);padding:6px 10px}.report-product-input input:focus{border-color:var(--color-accent-dark);outline:none}.report-input-unit{font-size:var(--font-sm);color:var(--color-text-faint);width:14px}.report-saved{font-size:var(--font-md);color:var(--color-success-text);text-align:center;width:16px}.report-draft-mark{font-size:var(--font-sm);color:var(--color-accent-dark);text-align:center;width:16px;font-weight:var(--font-weight-semibold)}.report-product-item.is-draft,.report-product-item.is-draft:hover{background:var(--color-accent-soft)}.report-product-item.is-acetone .report-product-sku{font-size:var(--font-xs);color:var(--color-text-secondary);font-style:italic}.report-remaining-select{font-size:var(--font-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-card);cursor:pointer;margin-left:6px;padding:5px 8px}.report-remaining-select:disabled{opacity:.5;cursor:not-allowed}.report-remaining-select:focus{border-color:var(--color-accent-dark);outline:none}.report-empty{text-align:center;color:var(--color-text-faint);background:var(--color-bg-card);border:1px dashed var(--color-border-lighter);border-radius:var(--radius-md);padding:32px}.report-submit-bar{margin-top:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);z-index:5;display:flex;position:sticky;bottom:60px;box-shadow:0 -2px 6px #0000000a}.report-submit-stats{font-size:var(--font-md);color:var(--color-text-primary)}.report-submit-stats strong{color:var(--color-accent-dark);font-size:var(--font-lg)}.report-submit-breakdown{font-size:var(--font-sm);color:var(--color-text-faint);margin-left:6px}.report-submit-empty{color:var(--color-text-faint);font-size:var(--font-sm)}.report-submit-btn{font-size:var(--font-md);background:var(--color-accent-dark);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold);white-space:nowrap;border:none;padding:10px 28px;transition:filter .1s,opacity .1s}.report-submit-btn:hover:not(:disabled){filter:brightness(1.08)}.report-submit-btn:disabled{opacity:.45;cursor:not-allowed}.report-footer-hint{margin-top:var(--space-md);padding:var(--space-sm);font-size:var(--font-xs);color:var(--color-text-faint);text-align:center}@media (width<=600px){.report-tab-label{font-size:var(--font-sm)}.report-product-info{padding-right:4px}.report-product-name{font-size:var(--font-sm)}.report-product-input input{width:70px}.report-remaining-select{font-size:var(--font-xs);margin-left:4px;padding:4px 6px}.report-submit-bar{align-items:stretch;gap:var(--space-sm);flex-direction:column}.report-submit-btn{width:100%}.report-submit-breakdown{margin-top:2px;margin-left:0;display:block}.report-product-item.is-acetone{flex-wrap:wrap}.report-product-item.is-acetone .report-product-info{flex-basis:100%}.report-product-item.is-acetone .report-product-input{flex-wrap:wrap}}.ds-summary-card{background:var(--color-bg-card);text-align:left;border:2px solid #0000;border-radius:10px;flex:1;min-width:160px;padding:14px 18px;font-family:inherit;transition:all .15s;display:block;box-shadow:0 1px 4px #0000000f}button.ds-summary-card{cursor:pointer;width:100%}button.ds-summary-card:hover{box-shadow:0 2px 8px #0000001a}.ds-summary-value{font-size:22px;font-weight:var(--font-weight-extrabold);color:var(--color-text-strong);line-height:1.25}.ds-summary-label-bottom{font-size:var(--font-xs);color:var(--color-text-soft);font-weight:var(--font-weight-medium);margin-top:2px}.ds-summary-label-top{font-size:var(--font-sm);color:var(--color-text-soft);margin-bottom:var(--space-xs);font-weight:var(--font-weight-medium)}.ds-summary-sub{font-size:var(--font-sm);color:var(--color-text-faint);margin-top:2px}.ds-summary-border-left.ds-summary-danger{border-left:4px solid var(--color-danger-text)}.ds-summary-border-left.ds-summary-warning{border-left:4px solid var(--color-warning-text)}.ds-summary-border-left.ds-summary-success{border-left:4px solid var(--color-success-text)}.ds-summary-border-left.ds-summary-info{border-left:4px solid var(--color-primary)}.ds-summary-border-left.ds-summary-accent{border-left:4px solid var(--color-accent)}.ds-summary-border-left.ds-summary-coremall{border-left:4px solid var(--color-coremall-text)}.ds-summary-danger .ds-summary-value{color:var(--color-danger-text)}.ds-summary-warning .ds-summary-value{color:var(--color-warning-text)}.ds-summary-success .ds-summary-value{color:var(--color-success-text)}.ds-summary-active.ds-summary-default{border-color:var(--color-primary)}.ds-summary-active.ds-summary-danger{border-color:var(--color-danger-text);background:var(--color-danger-bg)}.ds-summary-active.ds-summary-warning{border-color:var(--color-warning-text);background:var(--color-warning-bg)}.ds-summary-active.ds-summary-success{border-color:var(--color-success-text);background:var(--color-success-bg)}.ds-summary-active.ds-summary-info{border-color:var(--color-primary);background:var(--color-info-bg)}.ds-pagination{justify-content:center;align-items:center;gap:var(--space-lg);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.ds-page-btn{padding:7px var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);font-size:var(--font-base);cursor:pointer}.ds-page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.ds-page-btn:disabled{color:var(--color-border-strong);cursor:default}.ds-page-info{font-size:var(--font-base);color:var(--color-text-muted)}.ds-page-size-selector{align-items:center;gap:6px;display:flex}.ds-page-size-label{font-size:var(--font-sm);color:var(--color-text-soft)}.ds-page-size-select{padding:5px var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.ds-table-wrap{background:var(--color-bg-card);border-radius:10px;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.ds-data-table{border-collapse:collapse;width:100%}.ds-data-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);white-space:nowrap;padding:9px 10px}.ds-data-table.ds-sticky-header th{z-index:1;position:sticky;top:0}.ds-data-table td{padding:var(--space-sm) 10px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.ds-data-table th.ds-align-right,.ds-data-table td.ds-align-right{text-align:right}.ds-data-table th.ds-align-center,.ds-data-table td.ds-align-center{text-align:center}.ds-data-table .ds-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ds-data-table .ds-sortable:hover{color:var(--color-primary)}.ds-sort-icon{color:var(--color-text-placeholder);vertical-align:1px;margin-left:4px;font-size:9px;display:inline-block}.ds-data-table .ds-check-col{width:36px;text-align:center!important}.ds-data-table .ds-check-col input{cursor:pointer}.ds-data-table .ds-empty-cell{text-align:center;color:var(--color-text-faint);font-size:var(--font-md);padding:40px 0!important}.ds-data-table .ds-row-clickable{cursor:pointer;transition:background .1s}.ds-data-table .ds-row-clickable:hover{background:var(--color-bg-soft-2)}.summary-row{margin-bottom:var(--space-lg);flex-wrap:wrap;gap:12px;display:flex}.summary-card{background:var(--color-bg-card);min-width:160px;padding:var(--space-lg) var(--space-xl);border-radius:10px;flex:1;box-shadow:0 1px 4px #0000000f}.summary-card.alert{border-left:4px solid var(--color-warning-text)}.summary-num{font-size:24px;font-weight:var(--font-weight-extrabold);color:var(--color-text-strong)}.summary-card.alert .summary-num{color:var(--color-warning-text)}.summary-label{font-size:var(--font-sm);color:var(--color-text-soft);margin-top:2px}.orders-toolbar{margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.toolbar-left{gap:var(--space-sm);flex-wrap:wrap;flex:1;align-items:center;display:flex}.toolbar-right{align-items:center;gap:10px;display:flex}.date-input{padding:7px var(--space-sm);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.date-input:focus{border-color:var(--color-primary)}.date-sep{color:var(--color-text-faint);font-size:var(--font-base)}.result-count{font-size:var(--font-base);color:var(--color-text-soft);white-space:nowrap}.bulk-bar{background:var(--color-bg-card);border:2px solid var(--color-primary);z-index:100;border-radius:999px;align-items:center;gap:12px;padding:12px 24px;animation:.18s ease-out bulkBarSlideUp;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000026}@keyframes bulkBarSlideUp{0%{opacity:0;transform:translate(-50%,80px)}to{opacity:1;transform:translate(-50%)}}.bulk-count{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-primary)}.bulk-btn.confirm{background:var(--color-primary);color:#fff}.bulk-btn.confirm:hover{background:var(--color-primary-dark)}.bulk-btn.confirm:disabled{background:var(--color-primary-border);cursor:not-allowed}.orders-table{border-collapse:collapse;width:100%;min-width:900px}.orders-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);white-space:nowrap;padding:9px 10px;position:sticky;top:0}.orders-table td{padding:var(--space-sm) 10px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.orders-table th.r,.orders-table td.r{text-align:right}.order-row{transition:background .1s}.order-row:hover{background:var(--color-bg-soft-2)}.row-pending{border-left:3px solid var(--color-warning-text)}.store-cell .store-name{font-weight:var(--font-weight-semibold);font-size:var(--font-base)}.store-cell .store-code{font-size:var(--font-xs);color:var(--color-text-faint)}.orderer-cell{font-size:var(--font-sm);color:var(--color-text-muted)}.note-cell{text-align:center}.note-tag{padding:2px var(--space-sm);border-radius:var(--radius-sm);background:var(--color-note-bg);color:var(--color-note-text);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);display:inline-block}.status-badge{font-size:var(--font-xs);font-weight:var(--font-weight-bold);white-space:nowrap;border-radius:12px;padding:3px 10px}.status-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-confirmed{background:var(--color-success-bg);color:var(--color-success-text)}.btn-detail{padding:var(--space-xs) 10px;border:1px solid var(--color-border);background:var(--color-bg-card);font-size:var(--font-sm);cursor:pointer;margin-right:var(--space-xs);border-radius:5px}.btn-quick-confirm{padding:var(--space-xs) 10px;background:var(--color-primary);color:#fff;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;border-radius:5px}.btn-quick-confirm:hover{background:var(--color-primary-dark)}.pagination{justify-content:center;align-items:center;gap:var(--space-lg);margin-top:var(--space-lg);display:flex}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);width:100%;max-width:800px;padding:0;animation:.15s ease-out modalIn;box-shadow:0 8px 30px #00000026}@keyframes modalIn{0%{opacity:0;transform:translateY(-10px)}}.modal-items-table{border-collapse:collapse;width:100%}.modal-items-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);padding:var(--space-sm) 14px;border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft)}.modal-items-table td{padding:var(--space-sm) 14px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.modal-items-table th.r,.modal-items-table td.r{text-align:right}.item-img-cell{width:40px}.item-thumb{object-fit:contain;background:var(--color-bg-soft);border-radius:var(--radius-sm);width:36px;height:36px}.no-thumb{color:var(--color-border-strong)}.sku-cell{font-size:var(--font-xs);color:var(--color-text-faint)}.total-label{text-align:right;font-weight:var(--font-weight-bold);font-size:var(--font-md)}.total-value{font-size:var(--font-lg);color:var(--color-accent-dark)}.modal-items-table tfoot td{border-bottom:none;border-top:2px solid var(--color-border);padding-top:var(--space-md)}.route-tags{flex-wrap:wrap;gap:4px;display:flex}.route-tag{font-size:var(--font-xs);border-radius:var(--radius-pill);font-weight:var(--font-weight-semibold);white-space:nowrap;padding:2px 8px}.route-tag.route-headquarters{background:var(--color-info-bg);color:var(--color-info-text)}.route-tag.route-kraise{background:var(--color-bg-soft);color:var(--color-text-muted)}.route-tag.route-nes{background:var(--color-warning-bg);color:var(--color-warning-text)}.route-tag.route-coremall{background:var(--color-coremall-bg);color:var(--color-coremall-text)}.route-tag.route-juke{background:var(--color-success-bg);color:var(--color-success-text)}.route-summary-section{padding:var(--space-md) var(--space-2xl);border-top:1px solid var(--color-border-light)}.route-summary-title{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.route-summary-count{font-size:var(--font-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.route-summary-table{border-collapse:collapse;width:100%}.route-summary-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);padding:6px var(--space-sm);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft)}.route-summary-table td{padding:6px var(--space-sm);border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base)}.route-summary-table th.r,.route-summary-table td.r{text-align:right}.route-summary-table .sku{font-family:monospace;font-size:var(--font-sm);color:var(--color-text-muted)}.cat2-tag{font-size:var(--font-xs);background:var(--color-accent-soft);color:var(--color-accent-dark);font-weight:var(--font-weight-medium);vertical-align:middle;border-radius:3px;margin-right:6px;padding:1px 6px;display:inline-block}.pick-empty-msg{padding:var(--space-md);background:var(--color-bg-soft);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-sm);text-align:center}.other-route-section{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg-soft);border-radius:var(--radius-md);border-left:3px solid var(--color-border-strong)}.other-route-title{font-size:var(--font-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.other-route-count{font-size:var(--font-xs);color:var(--color-text-faint);font-weight:var(--font-weight-medium)}.other-route-item{align-items:center;gap:var(--space-md);font-size:var(--font-sm);color:var(--color-text-base);padding:4px 0;display:flex}.other-route-sku{color:var(--color-text-soft);min-width:90px;font-family:monospace}.other-route-name{flex:1}.other-route-qty{font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.confirm-btn{background:var(--color-primary);color:#fff}.confirm-btn:hover:not(:disabled){background:var(--color-primary-dark)}.revert-btn{background:var(--color-bg-card);color:var(--color-danger-text);border:2px solid var(--color-danger-text)}.revert-btn:hover:not(:disabled){background:var(--color-danger-bg)}.close-btn{background:var(--color-bg-page);color:var(--color-text-muted)}.close-btn:hover{background:var(--color-border)}.pick-row{gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);border-left:4px solid var(--color-border);transition:border-color .15s,background .15s;display:flex}.pick-row+.pick-row{margin-top:var(--space-sm)}.pick-row.pick-complete{border-left-color:var(--color-success);background:var(--color-success-bg)}.pick-row.pick-partial{border-left-color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.pick-row.pick-shortage{border-left-color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.pick-row.pick-pending{border-left-color:var(--color-text-placeholder)}.pick-row.pick-readonly{background:var(--color-bg-soft)}.pick-row-img{border-radius:var(--radius-md);background:var(--color-bg-soft);border:1px solid var(--color-border-light);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.pick-row-img img{object-fit:contain;max-width:100%;max-height:100%}.pick-row-img .no-img{color:var(--color-border-strong);font-size:var(--font-xl)}.pick-row-info{flex:1;min-width:0}.pick-product-name{font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);line-height:1.3}.pick-product-sku{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:2px;font-family:monospace}.pick-row-actions{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--font-md);flex-wrap:wrap;display:flex}.pick-ordered{color:var(--color-text-muted)}.pick-ordered b{color:var(--color-text-strong);font-size:var(--font-lg);margin:0 2px}.arrow{color:var(--color-text-faint)}.pick-label{color:var(--color-text-muted)}.pick-label b{color:var(--color-text-strong);font-size:var(--font-lg);margin:0 2px}.pick-row .qty-input{border:2px solid var(--color-primary);border-radius:var(--radius-md);width:60px;font-size:var(--font-md);font-weight:var(--font-weight-bold);text-align:center;outline:none;padding:6px 8px}.pick-row .qty-input:disabled{background:var(--color-bg-soft);border-color:var(--color-border);color:var(--color-text-faint)}.quick-btn{border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;border:none;min-height:36px;padding:8px 14px}.quick-btn.full{background:var(--color-success);color:#fff}.quick-btn.full:hover:not(:disabled){background:var(--color-success-text)}.quick-btn.shortage{background:var(--color-bg-card);color:var(--color-danger-text);border:2px solid var(--color-danger-text)}.quick-btn.shortage:hover:not(:disabled){background:var(--color-danger-bg)}.quick-btn:disabled{opacity:.5;cursor:not-allowed}.saving-tag{font-size:var(--font-xs);color:var(--color-primary)}.pick-note-input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-sm);margin-top:var(--space-sm);box-sizing:border-box;outline:none;padding:8px 10px}.pick-note-input:focus{border-color:var(--color-primary)}.pick-note-readonly{margin-top:var(--space-sm);background:var(--color-note-bg);color:var(--color-note-text);border-radius:var(--radius-md);font-size:var(--font-sm);padding:6px 10px}.pick-row-status{flex-shrink:0;align-items:flex-start;display:flex}.pick-badge{border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--font-weight-bold);white-space:nowrap;padding:5px 10px}.pick-badge.complete{background:var(--color-success-bg);color:var(--color-success-text)}.pick-badge.partial{background:var(--color-warning-bg);color:var(--color-warning-text)}.pick-badge.shortage{background:var(--color-danger-bg);color:var(--color-danger-text)}.pick-badge.pending{background:var(--color-bg-soft);color:var(--color-text-soft)}@media (width<=600px){.pick-row{gap:var(--space-sm);flex-direction:column}.pick-row-img{width:72px;height:72px}.pick-row-status{align-self:flex-start}.quick-btn{flex:1;min-width:0}}.hq-delivery h2{font-size:var(--font-2xl);margin:0 0 var(--space-md)}.hq-delivery .summary-row{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.hq-toolbar{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.hq-toolbar .search-input{min-width:200px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);outline:none;flex:1}.hq-toolbar .search-input:focus{border-color:var(--color-primary)}.hq-toolbar .filter-select{padding:var(--space-sm) 10px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.hq-toolbar .result-count{font-size:var(--font-base);color:var(--color-text-soft);white-space:nowrap;margin-left:auto}.hq-toolbar .store-searchable{min-width:240px}.btn-quick-confirm{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;padding:5px 12px}.btn-quick-confirm:hover:not(:disabled){background:var(--color-primary-dark)}.btn-quick-confirm:disabled{background:var(--color-primary-border);cursor:not-allowed}.ds-data-table tr.hq-row.stage-pending{border-left:3px solid var(--color-warning)}.ds-data-table tr.hq-row.stage-shipped{opacity:.55}.note-cell-wide{max-width:220px;overflow:visible!important}.note-with-tooltip{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;font-size:var(--font-sm);color:var(--color-text-base);cursor:help;display:inline-block;position:relative;overflow:hidden}.note-tooltip{background:var(--color-bg-card);color:var(--color-text-strong);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);white-space:pre-wrap;word-break:break-word;z-index:1000;width:max-content;max-width:360px;font-size:var(--font-sm);pointer-events:none;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 16px #00000026}.note-with-tooltip:hover .note-tooltip{display:block}.modal-header h3{font-size:var(--font-xl);margin:0}.modal-meta{padding:var(--space-lg) var(--space-2xl)}.meta-row{font-size:var(--font-base);gap:10px;padding:5px 0;display:flex}.meta-label{color:var(--color-text-soft);min-width:100px}.meta-value{color:var(--color-text-strong);font-weight:var(--font-weight-medium)}.note-text{background:var(--color-note-bg);padding:3px var(--space-sm);border-radius:var(--radius-sm);color:var(--color-note-text)}.modal-pick-section{padding:var(--space-md) var(--space-2xl)}.modal-section-title{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.pick-progress{font-size:var(--font-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.action-btn-wrap{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.action-hint{font-size:var(--font-xs);color:var(--color-text-faint);font-weight:var(--font-weight-medium)}.pick-progress-cell{font-weight:var(--font-weight-medium);font-size:var(--font-sm);border-radius:var(--radius-sm);padding:2px 8px}.pick-progress-cell.progress-empty{color:var(--color-text-faint)}.pick-progress-cell.progress-partial{color:var(--color-warning-text);background:var(--color-warning-bg,#ffb4001f)}.pick-progress-cell.progress-done{color:var(--color-success-text);background:var(--color-success-bg)}.muted{color:var(--color-text-faint)}.modal-actions{padding:var(--space-lg) var(--space-2xl);border-top:1px solid var(--color-border-light);justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.action-btn.revert-btn{background:var(--color-bg-card);color:var(--color-danger-text);border:2px solid var(--color-danger-text)}.action-btn.revert-btn:hover:not(:disabled){background:var(--color-danger-bg)}.action-btn.save-mid-btn{background:var(--color-bg-card);color:var(--color-primary);border:2px solid var(--color-primary)}.action-btn.save-mid-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.unsaved-mark{color:var(--color-warning-text);font-weight:var(--font-weight-bold);margin-left:var(--space-sm)}.btn-bulk-ship{background:var(--color-success);color:#fff;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;border:none;margin-left:auto;padding:8px 18px;transition:filter .1s,opacity .1s}.btn-bulk-ship:hover:not(:disabled){filter:brightness(1.1)}.btn-bulk-ship:disabled{opacity:.5;cursor:not-allowed}.route-header{margin-bottom:var(--space-md)}.route-header h2{font-size:var(--font-2xl);margin:0}.summary-row{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.route-toolbar{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.route-toolbar .search-input{min-width:200px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);outline:none;flex:1}.route-toolbar .search-input:focus{border-color:var(--color-primary)}.route-toolbar .filter-select{padding:var(--space-sm) 10px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.route-toolbar .result-count{font-size:var(--font-base);color:var(--color-text-soft);white-space:nowrap;margin-left:auto}.route-toolbar .store-searchable{min-width:240px}.btn-clear-filter{border:1px solid var(--color-border);background:var(--color-bg-card);width:32px;height:32px;font-size:var(--font-md);cursor:pointer;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.btn-clear-filter:hover{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-text)}.csv-history-section{margin-top:var(--space-2xl);background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 1px 4px #0000000f}.csv-history-title{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin:0 0 var(--space-md)}.csv-history-table{border-collapse:collapse;width:100%}.csv-history-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);padding:8px var(--space-md);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft)}.csv-history-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base)}.csv-history-table th.r,.csv-history-table td.r{text-align:right}.csv-actions{align-items:center;gap:8px;display:flex}.csv-export-btn,.csv-mark-btn{border-radius:var(--radius-md);color:#fff;font-size:var(--font-base);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;border:none;padding:10px 18px;box-shadow:0 2px 6px #0000001a}.csv-export-btn{background:var(--color-primary)}.csv-export-btn:hover:not(:disabled){background:var(--color-primary-dark)}.csv-mark-btn{background:var(--color-success)}.csv-mark-btn:hover:not(:disabled){background:var(--color-success-text)}.csv-export-btn:disabled,.csv-mark-btn:disabled{background:var(--color-border-strong);cursor:not-allowed;box-shadow:none}.ds-data-table tr.route-order-row{transition:background .1s}.ds-data-table tr.route-order-row.state-done{opacity:.55}.ds-data-table tr.route-order-row.state-partial{background:var(--color-info-bg)}.ds-data-table tr.route-order-row.state-pending{border-left:3px solid var(--color-warning)}.modal-overlay{padding:40px var(--space-xl);z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);width:100%;max-width:800px;animation:.15s ease-out modalIn;box-shadow:0 8px 30px #00000026}.modal-header{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-start;display:flex}.modal-header h3{font-size:var(--font-xl);color:var(--color-text-strong);margin:0}.store-code-modal{font-size:var(--font-sm);color:var(--color-text-faint);margin-left:var(--space-xs);font-weight:400}.modal-sub{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:2px}.modal-close{color:var(--color-text-faint);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:0 0;border:none;font-size:20px}.modal-close:hover{background:var(--color-border-lighter);color:var(--color-text-strong)}.modal-body{max-height:60vh;padding:0;overflow-y:auto}.route-detail-table{border-collapse:collapse;width:100%}.route-detail-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);padding:9px var(--space-md);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);z-index:1;position:sticky;top:0}.route-detail-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.route-detail-table th.r,.route-detail-table td.r{text-align:right}.route-detail-table .sku{font-family:monospace;font-size:var(--font-sm);color:var(--color-text-muted)}.route-detail-table tr.item-done{background:var(--color-success-bg)}.item-note{font-size:var(--font-xs);color:var(--color-note-text);background:var(--color-note-bg);border-radius:var(--radius-sm);margin-top:4px;padding:2px 6px;display:inline-block}.action-btn-sm{border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;border:none;padding:5px 12px}.action-btn-sm.primary{background:var(--color-primary);color:#fff}.action-btn-sm.primary:hover:not(:disabled){background:var(--color-primary-dark)}.action-btn-sm.cancel{background:var(--color-bg-card);color:var(--color-text-muted);border:1px solid var(--color-border-strong)}.action-btn-sm.cancel:hover:not(:disabled){background:var(--color-bg-page)}.action-btn-sm:disabled{opacity:.5;cursor:not-allowed}.modal-actions{padding:var(--space-lg) var(--space-2xl);border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:10px;display:flex}.action-btn{padding:9px var(--space-2xl);border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:var(--font-weight-bold);cursor:pointer;border:none}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.confirm-btn{background:var(--color-primary);color:#fff}.action-btn.confirm-btn:hover:not(:disabled){background:var(--color-primary-dark)}.action-btn.close-btn{background:var(--color-bg-page);color:var(--color-text-muted)}.action-btn.close-btn:hover{background:var(--color-border)}.loading-page{height:50vh;color:var(--color-text-faint);height:50vh;justify-content:center;align-items:center;display:flex}.cat-header{align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.cat-title{margin:0;font-size:20px}.cat-count{font-size:var(--font-base);color:var(--color-text-soft)}.cat-msg{padding:var(--space-sm) 14px;background:var(--color-success-bg);border-radius:var(--radius-lg);color:var(--color-success-text);font-weight:var(--font-weight-semibold);font-size:var(--font-base);margin-bottom:10px}.cat-desc{font-size:var(--font-base);color:var(--color-text-soft);margin:0 0 var(--space-lg)}.cat-add-form{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.cat-add-input{max-width:400px;padding:9px var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-md);outline:none;flex:1}.cat-add-input:focus{border-color:var(--color-primary)}.cat-add-btn{padding:9px var(--space-xl);border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;font-size:var(--font-md);font-weight:var(--font-weight-bold);cursor:pointer;border:none}.cat-add-btn:hover{background:var(--color-primary-dark)}.cat-table-wrap{background:var(--color-bg-card);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.cat-table{border-collapse:collapse;width:100%}.cat-table th{text-align:left;background:var(--color-bg-soft);font-size:var(--font-sm);color:var(--color-text-muted);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);padding:10px 14px}.cat-table td{padding:var(--space-sm) 14px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-md);vertical-align:middle}.cat-table tbody tr:hover{background:var(--color-bg-soft-2)}.cat-th-drag{width:36px;padding:0!important}.cat-th-order{width:56px}.cat-th-inv{width:100px}.cat-th-actions{width:160px}.cat-drag-cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0!important}.cat-drag-handle{font-size:var(--font-lg);color:var(--color-text-placeholder);cursor:grab;padding:var(--space-sm) var(--space-md);letter-spacing:-2px;line-height:1;display:inline-block}.cat-drag-handle:hover{color:var(--color-text-muted)}.cat-table tbody tr{cursor:grab}.cat-table tbody tr:active{cursor:grabbing}.cat-table tbody tr.cat-row-dragging{opacity:.4;background:var(--color-primary-light)}.cat-table tbody tr.cat-row-over td{border-top:2px solid var(--color-primary)}.cat-drag-hint{font-size:var(--font-md);color:var(--color-text-muted);letter-spacing:-2px;padding:0 var(--space-xs);vertical-align:-1px;display:inline-block}.cat-order-cell{text-align:center}.cat-order-num{font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--color-text-soft)}.cat-order-input{width:60px;padding:var(--space-xs) 6px;border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-base);text-align:center;outline:none}.cat-name{font-weight:var(--font-weight-medium)}.cat-name-editable{border-radius:var(--radius-sm);cursor:pointer;border:1px dashed #0000;padding:4px 8px;transition:border-color .15s,background .15s;display:inline-block}.cat-name-editable:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.cat-name-input{border:2px solid var(--color-primary);border-radius:var(--radius-md);width:100%;font-size:var(--font-md);box-sizing:border-box;outline:none;padding:6px 10px}.cat-actions{white-space:nowrap}.cat-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-card);font-size:var(--font-sm);cursor:pointer;margin-right:var(--space-xs);padding:5px 10px}.cat-btn:hover{background:var(--color-bg-page)}.cat-btn:disabled{opacity:.3;cursor:default}.cat-btn-move{padding:var(--space-xs) var(--space-sm);font-size:10px}.cat-btn-edit{color:var(--color-primary)}.cat-btn-delete{color:var(--color-danger-text);border-color:var(--color-danger-border)}.cat-btn-delete:hover{background:var(--color-danger-bg)}.cat-btn-save{background:var(--color-primary);color:#fff;border:none}.cat-btn-save:hover{background:var(--color-primary-dark)}.cat-btn-cancel{color:var(--color-text-muted)}.cat-empty{text-align:center;color:var(--color-text-faint);padding:40px 0!important}.orig-cat-toggle{cursor:pointer;color:var(--color-text-faint);font-size:var(--font-base);background:0 0;border:none;margin-right:4px;padding:0 6px}.orig-cat-toggle:disabled{cursor:default;opacity:.3}.orig-cat-arrow{transition:transform .15s;display:inline-block}.orig-cat-arrow.open{transform:rotate(90deg)}.orig-sub-count{font-size:var(--font-xs);color:var(--color-text-faint);margin-left:8px;font-weight:400}.orig-sub-row{background:var(--color-bg-soft)}.orig-sub-cell{padding-left:38px!important}.orig-sub-bullet{color:var(--color-text-faint);margin-right:8px}.orig-sub-drag-handle{color:var(--color-text-faint)}.orig-sub-order{font-size:var(--font-xs);color:var(--color-text-faint);font-weight:400}.orig-sub-add-row td{padding-top:4px;padding-bottom:4px}.orig-sub-add-btn{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-sm);background:0 0;padding:4px 12px}.orig-sub-add-btn:hover{background:var(--color-bg-card);border-color:var(--color-primary);color:var(--color-primary)}.inv-summary-row{margin-bottom:var(--space-lg);flex-wrap:wrap;gap:10px;display:flex}.inv-summary-card{background:var(--color-bg-card);cursor:pointer;text-align:left;border:2px solid #0000;border-radius:10px;flex:1;min-width:140px;padding:14px 18px;transition:all .15s;box-shadow:0 1px 4px #0000000f}.inv-summary-card:hover{box-shadow:0 2px 8px #0000001a}.inv-summary-card.active{border-color:var(--color-primary)}.inv-summary-card.danger .inv-summary-num{color:var(--color-danger-text)}.inv-summary-card.warn .inv-summary-num{color:var(--color-warning-text)}.inv-summary-card.ok .inv-summary-num{color:var(--color-success-text)}.inv-summary-card.danger.active{border-color:var(--color-danger-text);background:var(--color-danger-bg)}.inv-summary-card.warn.active{border-color:var(--color-warning-text);background:var(--color-warning-bg)}.inv-summary-card.ok.active{border-color:var(--color-success-text);background:var(--color-success-bg)}.inv-summary-num{font-size:var(--font-2xl);font-weight:var(--font-weight-extrabold)}.inv-summary-label{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:2px}.inv-toolbar{margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.inv-tabs{gap:var(--space-xs);display:flex}.tab-btn{padding:var(--space-sm) 18px;border:2px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;color:var(--color-text-muted)}.tab-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.inv-toolbar-actions{gap:var(--space-sm);display:flex}.btn-csv-import{padding:var(--space-sm) var(--space-lg);background:var(--color-success);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-semibold);display:inline-block}.btn-csv-import:hover{background:var(--color-success-text)}.btn-add-product{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-semibold);border:none}.btn-add-product:hover{background:var(--color-primary-dark)}.inv-msg{padding:var(--space-sm) 14px;background:var(--color-success-bg);border-radius:var(--radius-lg);color:var(--color-success-text);font-weight:var(--font-weight-semibold);font-size:var(--font-base);margin-bottom:10px}.inv-import-log{padding:var(--space-sm) 14px;background:var(--color-info-bg);border-radius:var(--radius-lg);color:var(--color-info-text);font-size:var(--font-base);margin-bottom:10px}.add-product-form{background:var(--color-bg-card);padding:var(--space-xl);border-radius:10px;margin-bottom:14px;box-shadow:0 1px 4px #0000000f}.add-row{gap:var(--space-md);flex-wrap:wrap;margin-bottom:10px;display:flex}.add-field{gap:var(--space-xs);flex-direction:column;flex:1;min-width:160px;display:flex}.add-field-sm{max-width:200px}.add-field label{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-base)}.add-field input,.add-field select{padding:var(--space-sm) 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);outline:none}.add-field input:focus,.add-field select:focus{border-color:var(--color-primary)}.add-submit-btn{padding:9px var(--space-2xl);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:var(--font-weight-bold);cursor:pointer;border:none}.add-submit-btn:hover{background:var(--color-primary-dark)}.inv-filters{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-bottom:10px;display:flex}.search-input{padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);outline:none;width:220px}.filter-select{padding:var(--space-sm) 10px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.result-count{font-size:var(--font-base);color:var(--color-text-soft)}.bulk-bar{padding:10px var(--space-lg);background:var(--color-info-bg);border-radius:var(--radius-lg);border:2px solid var(--color-primary-border);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.bulk-count{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-primary);white-space:nowrap}.bulk-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bulk-type{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--color-bg-card);padding:6px 10px}.bulk-qty{width:70px;padding:6px var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);text-align:right}.bulk-reason{padding:6px var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);width:140px}.bulk-btn{border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-weight-bold);cursor:pointer;border:none;padding:7px 18px}.bulk-btn.exec{background:var(--color-primary);color:#fff}.bulk-btn.exec:disabled{background:var(--color-primary-border);cursor:not-allowed}.bulk-btn.cancel{background:var(--color-bg-card);color:var(--color-text-muted);border:1px solid var(--color-border-strong)}.inv-table,.log-table{border-collapse:collapse;width:100%;min-width:900px}.inv-table th,.log-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);white-space:nowrap;padding:9px 10px;position:sticky;top:0}.inv-table td,.log-table td{border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle;padding:7px 10px}.inv-table th.r,.inv-table td.r,.log-table th.r,.log-table td.r{text-align:right}.check-col{width:36px;text-align:center!important}.check-col input{cursor:pointer}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{color:var(--color-primary)}.img-col{width:56px}.product-thumb{object-fit:contain;border-radius:var(--radius-sm);background:var(--color-bg-soft);border:1px solid var(--color-border-light);width:48px;height:48px}.no-img{color:var(--color-border-strong);font-size:var(--font-sm)}.product-name{font-weight:var(--font-weight-semibold);font-size:var(--font-base);line-height:1.3}.product-subcat{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:1px}.sku-col{width:120px}.inv-row{transition:background .1s}.inv-row:hover{background:var(--color-bg-soft-2)}.row-selected{background:var(--color-info-bg)!important}.row-out{background:var(--color-danger-soft)}.cat-cell{font-size:var(--font-sm);color:var(--color-text-muted)}.date-cell{font-size:var(--font-sm);color:var(--color-text-base);white-space:nowrap}.editable-cell{box-sizing:border-box;width:100px;min-width:100px;max-width:100px}.stock-qty-cell{width:88px;min-width:88px;max-width:88px}.cost-cny-cell{width:120px;min-width:120px;max-width:120px}.inv-table tbody tr{height:56px}.inv-table td.editable-cell{vertical-align:middle;padding-top:0;padding-bottom:0}.editable-value{cursor:pointer;border-radius:var(--radius-sm);box-sizing:border-box;width:100%;height:30px;font-size:var(--font-base);white-space:nowrap;text-overflow:ellipsis;border:1px dashed #0000;justify-content:flex-end;align-items:center;padding:0 8px;line-height:1.2;transition:border-color .15s,background .15s;display:inline-flex;overflow:hidden}.editable-value:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.readonly-value{box-sizing:border-box;width:100%;height:30px;font-size:var(--font-base);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;justify-content:flex-end;align-items:center;padding:0 8px;line-height:1.2;display:inline-flex;overflow:hidden}.stock-num{font-weight:var(--font-weight-bold)}.stock-zero{color:var(--color-danger-text)}.stock-low{color:var(--color-warning-text)}.inline-edit{align-items:center;gap:3px;width:100%;display:inline-flex}.edit-input{border:2px solid var(--color-primary);border-radius:var(--radius-sm);width:100%;height:30px;font-size:var(--font-base);text-align:right;box-sizing:border-box;outline:none;padding:0 6px;line-height:1.2}.edit-input-num{width:100%}.edit-input-name{text-align:left;width:100%}.name-cell.editable-cell{width:auto;min-width:280px;max-width:360px}.name-cell .editable-value,.name-cell .edit-input{text-align:left;justify-content:flex-start}.name-cell .editable-value{white-space:normal;flex-direction:column;align-items:flex-start;height:auto;min-height:30px;padding:4px 8px}.edit-ok{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);cursor:pointer;font-size:var(--font-sm);border:none}.rate-panel{background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.rate-panel-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rate-panel-label{font-weight:var(--font-weight-bold);font-size:var(--font-md);color:var(--color-text-primary)}.rate-panel-formula{font-size:var(--font-md);color:var(--color-text-secondary)}.rate-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:90px;font-size:var(--font-md);text-align:right;padding:4px 8px}.btn-save-rate,.btn-recalc{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--font-sm);cursor:pointer;padding:5px 14px}.btn-save-rate:hover,.btn-recalc:hover{opacity:.9}.btn-save-rate:disabled,.btn-recalc:disabled{opacity:.5;cursor:default}.btn-recalc{color:var(--color-primary);background:#fff}.rate-panel-hint{font-size:var(--font-xs);color:var(--color-text-faint);margin-left:auto}.editable-value-name{width:100%;min-height:1.6em;display:block}.stock-badge{font-size:var(--font-xs);font-weight:var(--font-weight-bold);border-radius:12px;padding:3px 10px}.stock-badge.ok{background:var(--color-success-bg);color:var(--color-success-text)}.stock-badge.low{background:var(--color-warning-bg);color:var(--color-warning-text)}.stock-badge.out{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn-sm-action{padding:var(--space-xs) 10px;border:1px solid var(--color-border-strong);background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:var(--font-xs);cursor:pointer;color:var(--color-text-muted)}.btn-sm-action:hover{background:var(--color-bg-page)}.type-badge{font-size:var(--font-sm);font-weight:var(--font-weight-bold);border-radius:12px;padding:3px 10px}.type-in{background:var(--color-info-bg);color:var(--color-info-text)}.type-out{background:var(--color-accent-light);color:var(--color-accent-dark)}.pagination{justify-content:center;align-items:center;gap:var(--space-lg);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.page-size-selector{align-items:center;gap:6px;display:flex}.page-size-label{font-size:var(--font-sm);color:var(--color-text-soft)}.page-size-select{padding:5px var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--color-bg-card);outline:none}.page-btn{padding:7px var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);font-size:var(--font-base);cursor:pointer}.page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.page-btn:disabled{color:var(--color-border-strong);cursor:default}.page-info{font-size:var(--font-base);color:var(--color-text-muted)}.stock-mgmt-page{padding:var(--space-md)}.stock-header{gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.stock-header h2{font-size:var(--font-2xl);margin:0}.stock-header-right select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);padding:6px 10px}.stock-tabs{border-bottom:2px solid var(--color-border-lighter);margin-bottom:var(--space-md);gap:6px;display:flex}.stock-tab{cursor:pointer;font-size:var(--font-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 20px}.stock-tab:hover{background:var(--color-bg-soft)}.stock-tab.active{color:var(--color-accent-dark);border-bottom-color:var(--color-accent-dark);font-weight:var(--font-weight-semibold)}.pane-hint{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0 0 var(--space-md);background:var(--color-bg-soft);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent-dark);padding:8px 12px}.pane-hint strong{color:var(--color-text-primary)}.filter-row{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.filter-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:180px;font-size:var(--font-md);flex:1;padding:7px 12px}.csv-btn{font-size:var(--font-sm);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:4px;padding:6px 14px;display:inline-flex}.csv-btn:hover{background:var(--color-primary);color:#fff}.csv-btn:disabled{opacity:.5;cursor:default}.empty-box{text-align:center;color:var(--color-text-faint);background:var(--color-bg-card);border:1px dashed var(--color-border-lighter);border-radius:var(--radius-md);padding:32px}.optimal-table-wrap{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);max-height:calc(100vh - 280px);overflow:auto}.optimal-table{border-collapse:separate;border-spacing:0;font-size:var(--font-sm)}.optimal-table th,.optimal-table td{border-right:1px solid var(--color-border-lighter);border-bottom:1px solid var(--color-border-lighter);min-width:80px;padding:0}.optimal-table th{background:var(--color-bg-soft);z-index:3;font-weight:var(--font-weight-semibold);vertical-align:top;padding:8px 10px;position:sticky;top:0}.sticky-col{background:var(--color-bg-card);z-index:2;min-width:180px;position:sticky;left:0;padding:8px 10px!important}.optimal-table thead .sticky-col{z-index:4;background:var(--color-bg-soft)}.store-col .store-code{font-weight:var(--font-weight-bold);color:var(--color-text-soft);font-size:var(--font-xs)}.store-col .store-name{font-size:var(--font-sm);color:var(--color-text-primary)}.prod-col{min-width:100px;max-width:140px}.prod-name{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.prod-sku{font-size:var(--font-xs);color:var(--color-text-faint);font-family:monospace}.bulk-fill-btn{font-size:var(--font-xs);background:var(--color-accent-soft);color:var(--color-accent-dark);border:1px solid var(--color-accent-light);border-radius:var(--radius-sm);cursor:pointer;margin-top:4px;padding:2px 8px}.bulk-fill-btn:hover{background:var(--color-accent-light)}.qty-cell{text-align:center;padding:0}.qty-value{cursor:pointer;width:100%;height:32px;font-size:var(--font-md);font-weight:var(--font-weight-medium);justify-content:center;align-items:center;display:inline-flex}.qty-value:hover{background:var(--color-accent-soft)}.qty-empty{color:var(--color-text-disabled)}.qty-input{border:2px solid var(--color-accent-dark);width:100%;height:32px;font-size:var(--font-md);text-align:center;box-sizing:border-box;border-radius:0;outline:none;padding:0 6px}.delivery-summary{font-size:var(--font-sm);color:var(--color-text-secondary);white-space:nowrap}.delivery-summary strong{color:var(--color-text-primary);font-size:var(--font-md)}.delivery-list{gap:var(--space-sm);flex-direction:column;display:flex}.delivery-card{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);overflow:hidden}.delivery-card-header{justify-content:space-between;align-items:center;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-bg-soft);padding:10px 14px;display:flex}.delivery-card-header:hover{background:var(--color-accent-soft)}.delivery-card-store{flex:1;align-items:baseline;gap:8px;display:flex}.delivery-card-store .store-code{font-weight:var(--font-weight-bold);color:var(--color-text-soft)}.delivery-card-store .store-name{font-size:var(--font-md);font-weight:var(--font-weight-semibold)}.delivery-card-meta{flex-wrap:wrap;gap:8px;display:flex}.badge{font-size:var(--font-xs);font-weight:var(--font-weight-semibold);border-radius:12px;padding:2px 10px}.badge-deliver{background:var(--color-accent-light);color:var(--color-accent-dark)}.badge-warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-ok{background:var(--color-success-bg);color:var(--color-success-text)}.delivery-detail-table{border-collapse:collapse;width:100%;font-size:var(--font-sm)}.delivery-detail-table th,.delivery-detail-table td{border-bottom:1px solid var(--color-border-lighter);text-align:left;vertical-align:middle;padding:6px 10px}.delivery-detail-table th{background:var(--color-bg-soft);font-weight:var(--font-weight-semibold);color:var(--color-text-soft)}.delivery-detail-table th.r,.delivery-detail-table td.r{text-align:right}.delivery-detail-table .bold{font-weight:var(--font-weight-bold)}.row-deliver{background:var(--color-accent-soft)}.row-deliver td.r.bold{color:var(--color-accent-dark)}.row-unreported{background:var(--color-warning-bg);opacity:.9}.stores-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.stores-title-row{align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.stores-title{margin:0;font-size:20px}.stores-count{font-size:var(--font-base);color:var(--color-text-soft)}.stores-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.btn-kintone{padding:var(--space-sm) var(--space-lg);background:var(--color-info-text);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-bold);border:none}.btn-kintone:hover:not(:disabled){background:var(--color-primary-dark)}.btn-kintone:disabled{background:var(--color-border-strong);cursor:not-allowed}.btn-bulk{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-bold);border:none}.btn-bulk:hover{background:var(--color-primary-dark)}.btn-bulk:disabled{background:var(--color-border-strong);cursor:not-allowed}.btn-csv{padding:var(--space-sm) var(--space-lg);background:var(--color-success);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);display:inline-block}.btn-csv:hover{background:var(--color-success-text)}.btn-add{padding:var(--space-sm) var(--space-lg);background:var(--color-coremall-text);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);border:none}.btn-add:hover{background:var(--color-coremall-text);filter:brightness(.9)}.notice{border-radius:var(--radius-lg);margin-bottom:var(--space-md);font-size:var(--font-base);font-weight:var(--font-weight-semibold);padding:10px 14px}.notice-ok{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.notice-err{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.notice-warn{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.notice-errors{margin:var(--space-sm) 0 0;padding-left:var(--space-xl);font-size:var(--font-sm);color:var(--color-danger-text);font-weight:400}.add-form{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:14px;display:flex}.add-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);outline:none;min-width:160px}.add-input:focus{border-color:var(--color-primary)}.add-input-code{min-width:140px;max-width:180px}.csv-help{font-size:var(--font-sm);color:var(--color-text-soft);margin-bottom:10px}.link-btn{color:var(--color-primary);cursor:pointer;font-size:var(--font-sm);background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:var(--color-primary-dark)}.search-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.search-input{max-width:300px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-base);outline:none;flex:1}.search-input:focus{border-color:var(--color-primary)}.search-count{font-size:var(--font-base);color:var(--color-text-soft)}.stores-table{border-collapse:collapse;width:100%}.stores-table th{text-align:left;background:var(--color-bg-soft);font-size:var(--font-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-light);font-weight:var(--font-weight-semibold);white-space:nowrap;padding:10px 14px}.stores-table td{padding:var(--space-sm) 14px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.store-name-cell{font-weight:var(--font-weight-semibold)}.code-cell{font-family:monospace;font-size:var(--font-sm);color:var(--color-text-muted)}.cred-value{font-size:var(--font-base);color:var(--color-text-strong)}.cred-muted{font-size:var(--font-base);color:var(--color-border-strong)}.inline-input{padding:6px var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-base);box-sizing:border-box;outline:none;width:100%}.inline-input:focus{border-color:var(--color-primary)}.badge{color:#fff;font-size:var(--font-xs);font-weight:var(--font-weight-bold);border-radius:12px;padding:3px 10px}.badge-ok{background:var(--color-success)}.badge-pending{background:var(--color-warning)}.btn-register{padding:5px var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);border:none;margin-right:6px}.btn-register:hover{background:var(--color-primary-dark)}.btn-register:disabled{background:var(--color-border-strong);cursor:not-allowed}.btn-sm{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);margin-right:var(--space-xs);background:#fff;padding:5px 10px}.btn-danger{color:var(--color-danger-text);border-color:var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-bg)}.loading-page{height:50vh;color:var(--color-text-faint);height:50vh;justify-content:center;align-items:center;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.period-input{padding:var(--space-sm) 14px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-md);background:var(--color-bg-card);outline:none}.btn-secondary{padding:var(--space-sm) var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text-muted);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--color-bg-page)}.budget-msg{padding:var(--space-sm) 14px;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-base);margin-bottom:var(--space-md)}.budget-msg.ok{background:var(--color-success-bg);color:var(--color-success-text)}.budget-msg.err{background:var(--color-danger-bg);color:var(--color-danger-text)}.csv-section{background:var(--color-bg-card);padding:14px var(--space-xl);border-radius:10px;margin-bottom:14px;box-shadow:0 1px 4px #0000000f}.csv-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.csv-label{font-size:var(--font-base);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.csv-file{font-size:var(--font-base)}.csv-hint{font-size:var(--font-sm);color:var(--color-text-faint)}.csv-progress{font-size:var(--font-sm);color:var(--color-primary);font-weight:var(--font-weight-bold);background:var(--color-primary-light);border-radius:var(--radius-md);margin-left:var(--space-sm);padding:4px 10px}.period-input-wrap{background:var(--color-primary-light);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);align-items:center;gap:10px;padding:6px 12px;display:inline-flex}.period-input-label{font-size:var(--font-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.period-input-big{font-size:var(--font-xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);cursor:pointer;background:0 0;border:none;outline:none;min-width:150px;padding:4px 6px}.budget-summary-row{gap:var(--space-md);flex-wrap:wrap;margin-bottom:14px;display:flex}.budget-summary-card{background:var(--color-bg-card);border-radius:10px;flex:1;min-width:180px;padding:14px 18px;box-shadow:0 1px 4px #0000000f}.budget-summary-card.coremall{border-left:4px solid var(--color-coremall-text)}.summary-title{font-size:var(--font-sm);color:var(--color-text-soft);margin-bottom:var(--space-xs)}.summary-val{font-size:20px;font-weight:var(--font-weight-extrabold);color:var(--color-text-strong)}.summary-sub{font-size:var(--font-sm);color:var(--color-text-faint);margin-top:2px}.budget-table{border-collapse:collapse;width:100%;min-width:1000px}.budget-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);white-space:nowrap;padding:9px 10px}.budget-table td{padding:var(--space-sm) 10px;border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base);vertical-align:middle}.budget-table th.r,.budget-table td.r{text-align:right}.store-name{font-weight:var(--font-weight-semibold);font-size:var(--font-base)}.store-code{font-size:var(--font-xs);color:var(--color-text-faint);font-family:monospace}.negative{color:var(--color-danger-text);font-weight:var(--font-weight-bold)}.action-cell{white-space:nowrap}.budget-input{width:100px;padding:5px var(--space-sm);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-base);text-align:right;outline:none}.btn-sm{padding:5px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);font-size:var(--font-sm);cursor:pointer;margin-right:var(--space-xs)}.btn-sm:hover{background:var(--color-bg-page)}.btn-save{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-save:hover{background:var(--color-primary-dark)}.usage-bar-wrap{background:var(--color-border-lighter);border-radius:9px;width:80px;height:18px;position:relative;overflow:hidden}.usage-bar{border-radius:9px;height:100%;transition:width .3s}.usage-bar.ok{background:var(--color-success)}.usage-bar.warn{background:var(--color-warning)}.usage-bar.over{background:var(--color-danger)}.usage-text{text-align:center;font-size:10px;font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:18px;position:absolute;top:0;left:0;right:0}.unset-section{margin-top:var(--space-xl)}.unset-section h3{font-size:var(--font-md);color:var(--color-text-muted);margin-bottom:10px}.unset-list{flex-wrap:wrap;gap:6px;display:flex}.btn-add-budget{border:2px dashed var(--color-text-placeholder);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text-muted);font-size:var(--font-sm);cursor:pointer;padding:6px 14px}.btn-add-budget:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.shipments-page{padding:var(--space-md)}.shipments-header h2{font-size:var(--font-2xl);margin:0 0 var(--space-sm)}.shipments-hint{margin:0 0 var(--space-lg);color:var(--color-text-secondary);font-size:var(--font-sm)}.shipments-toolbar{gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:end;display:flex}.shipments-field{font-size:var(--font-sm);color:var(--color-text-secondary);flex-direction:column;gap:4px;display:flex}.shipments-field select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);min-width:160px;padding:6px 10px}.shipments-count{color:var(--color-text-faint);font-size:var(--font-sm);margin-left:auto;padding:8px 0}.shipments-csv-btn{background:var(--color-accent-dark);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-md);cursor:pointer;white-space:nowrap;border:none;padding:8px 16px}.shipments-csv-btn:hover:not(:disabled){filter:brightness(1.08)}.shipments-csv-btn:disabled{opacity:.5;cursor:not-allowed}.shipments-summary{gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.shipments-stat{flex-direction:column;gap:4px;min-width:140px;display:flex}.shipments-stat .stat-label{font-size:var(--font-xs);color:var(--color-text-faint)}.shipments-stat .stat-value{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.shipments-empty{text-align:center;background:var(--color-bg-card);border:1px dashed var(--color-border-lighter);border-radius:var(--radius-md);color:var(--color-text-faint);padding:48px}.shipments-table-wrap{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);overflow-x:auto}.shipments-table{border-collapse:collapse;width:100%}.shipments-table thead{background:var(--color-bg-soft)}.shipments-table th,.shipments-table td{border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-sm);text-align:left;padding:8px 10px}.shipments-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.shipments-table td.r,.shipments-table th.r{text-align:right}.shipments-table .muted{font-size:var(--font-xs);color:var(--color-text-faint)}.shipments-table .note-cell{word-break:break-word;max-width:240px;color:var(--color-text-secondary)}.admin-store-reports{padding:var(--space-md)}.reports-header{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.reports-header h2{font-size:var(--font-2xl);margin:0}.reports-header-right select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);padding:6px 10px}.reports-summary{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.summary-card{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);min-width:200px;padding:var(--space-md);flex:1}.summary-card-label{font-size:var(--font-sm);color:var(--color-text-faint)}.summary-card-value{font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-top:4px}.reports-view-tabs{border-bottom:2px solid var(--color-border-lighter);margin-bottom:var(--space-md);gap:6px;display:flex}.view-tab{cursor:pointer;font-size:var(--font-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 18px}.view-tab:hover{background:var(--color-bg-soft)}.view-tab.active{color:var(--color-accent-dark);border-bottom-color:var(--color-accent-dark);font-weight:var(--font-weight-semibold)}.reports-subtabs{margin-bottom:var(--space-md);gap:6px;display:flex}.subtab{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);padding:6px 12px}.subtab.active{background:var(--color-accent-dark);color:#fff;border-color:var(--color-accent-dark)}.matrix-toolbar{gap:var(--space-sm);margin-bottom:var(--space-md);align-items:center;display:flex}.store-search{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);flex:1;padding:8px 12px}.matrix-count{font-size:var(--font-sm);color:var(--color-text-faint)}.matrix-table-wrap{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);overflow-x:auto}.matrix-table{border-collapse:collapse;width:100%;min-width:600px}.matrix-table th,.matrix-table td{border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-sm);vertical-align:middle;padding:10px 14px}.matrix-table th{background:var(--color-bg-soft);font-weight:var(--font-weight-semibold);text-align:left;color:var(--color-text-soft);position:sticky;top:0}.matrix-table th.r,.matrix-table td.r{text-align:right}.matrix-table .store-col{min-width:220px}.matrix-table .cat-col{text-align:center;width:180px}.matrix-table tbody tr:hover{background:var(--color-bg-soft)}.store-code{font-weight:var(--font-weight-semibold);color:var(--color-text-soft);margin-right:8px}.store-name{color:var(--color-text-primary)}.cell-content{flex-direction:column;align-items:center;gap:2px;display:flex}.cell-progress{font-size:var(--font-base);font-weight:var(--font-weight-bold)}.cell-pct{font-size:var(--font-xs);color:var(--color-text-faint)}.status-none{background:var(--color-danger-bg);color:var(--color-danger-text)}.status-partial{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-done{background:var(--color-success-bg);color:var(--color-success-text)}.status-empty{color:var(--color-text-disabled)}.empty-row{text-align:center;color:var(--color-text-faint);padding:32px}.aggr-table .bold{font-weight:var(--font-weight-bold)}.sku-cell{font-size:var(--font-xs);color:var(--color-text-soft);font-family:monospace}.bystore-view{gap:var(--space-sm);flex-direction:column;display:flex}.store-detail{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.store-detail summary{cursor:pointer;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.store-detail-stats{font-size:var(--font-sm);color:var(--color-text-faint)}.store-detail-table{width:100%;margin-top:var(--space-sm);border-collapse:collapse;font-size:var(--font-sm)}.store-detail-table th,.store-detail-table td{border-bottom:1px solid var(--color-border-lighter);text-align:left;padding:6px 10px}.store-detail-table th.r,.store-detail-table td.r{text-align:right}.store-detail-table th{background:var(--color-bg-soft)}.date-cell{font-size:var(--font-xs);color:var(--color-text-faint)}.loading-page{height:50vh;color:var(--color-text-faint);justify-content:center;align-items:center;display:flex}.page-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.page-header h2{font-size:var(--font-2xl);margin:0}.toolbar{align-items:center;gap:10px;display:flex}.period-input{border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);outline:none;padding:7px 10px}.period-input:focus{border-color:var(--color-primary)}.btn-calc{padding:9px var(--space-xl);border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;font-size:var(--font-md);font-weight:var(--font-weight-bold);cursor:pointer;border:none}.btn-calc:hover{background:var(--color-primary-dark)}.btn-calc:disabled{background:var(--color-border-strong);cursor:not-allowed}.msg-ok{padding:var(--space-sm) 14px;background:var(--color-success-bg);border-radius:var(--radius-lg);color:var(--color-success-text);font-weight:var(--font-weight-semibold);font-size:var(--font-base);margin-bottom:10px}.period-label{font-size:15px;font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-md)}.gel-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.gel-tab{padding:var(--space-sm) 18px;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;color:var(--color-text-base)}.gel-tab:hover{border-color:var(--color-primary-border)}.gel-tab.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.param-info{font-size:var(--font-base);color:var(--color-text-muted);padding:var(--space-sm) 14px;background:var(--color-bg-page);border-radius:var(--radius-lg);margin-bottom:10px}.gel-summary{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.gel-summary-card{border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-weight-bold);background:var(--color-bg-card);padding:10px 18px;box-shadow:0 1px 4px #0000000f}.gel-summary-card.accent{border-left:4px solid var(--color-accent);color:var(--color-accent-dark)}.table-wrap{background:var(--color-bg-card);border-radius:10px;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.gel-table{border-collapse:collapse;width:100%;min-width:1100px}.gel-table th{text-align:left;font-size:var(--font-xs);color:var(--color-text-soft);padding:9px var(--space-sm);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);background:var(--color-bg-soft);white-space:nowrap}.gel-table td{padding:7px var(--space-sm);border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-base)}.gel-table th.r,.gel-table td.r{text-align:right}.gel-table th.highlight{background:var(--color-warning-bg);color:var(--color-warning-text)}.bold{font-weight:var(--font-weight-bold)}.highlight-cell{background:var(--color-note-bg);font-weight:var(--font-weight-bold);color:var(--color-warning-text)}.empty-cell{text-align:center;color:var(--color-text-faint);padding:40px 0!important}.meno-page{padding:var(--space-md)}.meno-page h2{font-size:var(--font-2xl);margin:0 0 var(--space-md)}.meno-tabs{border-bottom:2px solid var(--color-border-lighter);margin-bottom:var(--space-md);gap:6px;display:flex}.meno-tab{background:var(--color-bg-card);font-size:var(--font-md);cursor:pointer;border:none;border-bottom:3px solid #0000;padding:10px 18px}.meno-tab:hover{background:var(--color-bg-page)}.meno-tab.active{border-bottom-color:var(--color-accent-dark);color:var(--color-accent-dark);font-weight:var(--font-weight-semibold)}.meno-hint{margin-bottom:var(--space-md);padding:10px var(--space-md);background:var(--color-bg-soft);border-left:4px solid var(--color-accent-dark);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.5}.meno-stats{gap:var(--space-lg);margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.meno-stats span{font-size:var(--font-md);color:var(--color-text-secondary)}.meno-stats strong{color:var(--color-text-primary);margin:0 4px}.meno-table-wrap{background:var(--color-bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);overflow-x:auto}.meno-table{border-collapse:collapse;width:100%}.meno-table thead{background:var(--color-bg-soft)}.meno-table th,.meno-table td{border-bottom:1px solid var(--color-border-lighter);font-size:var(--font-sm);text-align:left;padding:8px 10px}.meno-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.meno-table td.r,.meno-table th.r{text-align:right}.meno-table .sku-cell{font-family:monospace;font-size:var(--font-xs);color:var(--color-text-soft)}.meno-table tr.row-suggested{background:var(--color-warning-bg,#ffb4000f)}.meno-table .empty-row{text-align:center;color:var(--color-text-faint);padding:24px}.meno-qty-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);text-align:right;width:70px;font-size:var(--font-md);padding:4px 6px}.meno-qty-input:focus{border-color:var(--color-accent-dark);outline:none}.meno-toolbar{margin-bottom:var(--space-md);gap:var(--space-md);flex-wrap:wrap;align-items:stretch;display:flex}.meno-toolbar .meno-note-input{flex:1;min-width:200px}.meno-export-btn{background:var(--color-bg-card);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;padding:10px 20px}.meno-export-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.meno-export-btn:disabled{opacity:.45;cursor:not-allowed}.meno-history-section{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:2px solid var(--color-border-lighter)}.meno-history-title{font-size:var(--font-lg);margin:0 0 var(--space-md);color:var(--color-text-secondary)}.meno-submit-bar{margin-top:var(--space-md);gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex-wrap:wrap;align-items:stretch;display:flex}.meno-note-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:200px;font-size:var(--font-md);flex:1;padding:8px 12px}.meno-submit-btn{background:var(--color-accent-dark);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;border:none;padding:10px 24px}.meno-submit-btn:hover:not(:disabled){filter:brightness(1.08)}.meno-submit-btn:disabled{opacity:.5;cursor:not-allowed}.meno-badge{border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);padding:3px 10px}.meno-badge-draft{background:var(--color-bg-soft);color:var(--color-text-soft)}.meno-badge-sent{background:var(--color-warning-bg,#ffb4001f);color:var(--color-warning-text)}.meno-badge-received{background:var(--color-success-bg);color:var(--color-success-text)}.btn-detail{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;padding:4px 12px}.btn-detail:hover{background:var(--color-bg-soft)}.empty-box{text-align:center;background:var(--color-bg-card);border:1px dashed var(--color-border-lighter);border-radius:var(--radius-md);color:var(--color-text-faint);padding:48px}.meno-detail-modal{max-width:760px}.slip-container{color:#111;background:#fff;max-width:800px;margin:0 auto;padding:20px;font-family:Yu Gothic,Hiragino Sans,sans-serif}.slip-loading,.slip-error{text-align:center;color:#555;padding:40px 20px}.slip-error{color:#c00}.slip-toolbar{border-bottom:1px solid #ddd;align-items:center;gap:12px;margin-bottom:20px;padding:12px 0;display:flex}.slip-toolbar button{cursor:pointer;background:#fff;border:1px solid #888;padding:8px 18px;font-size:14px}.slip-toolbar button:hover{background:#f3f3f3}.slip-toolbar-hint{color:#666;font-size:12px}.slip-page{padding:24px 16px}.slip-header{border-bottom:2px solid #333;justify-content:space-between;align-items:flex-end;margin-bottom:16px;padding-bottom:8px;display:flex}.slip-title{letter-spacing:.3em;font-size:26px;font-weight:700}.slip-issue-date{color:#555;font-size:13px}.slip-store-box{border:1px solid #999;margin-bottom:16px;padding:10px 14px}.slip-store-label{color:#666;margin-bottom:4px;font-size:11px}.slip-store-name{margin-bottom:4px;font-size:18px;font-weight:700}.slip-store-code{color:#555;font-size:13px;font-weight:400}.slip-store-addr{color:#333;font-size:12px;line-height:1.5}.slip-order-block{margin-bottom:16px}.slip-order-meta{color:#444;gap:20px;margin-bottom:6px;font-size:12px;display:flex}.slip-items{border-collapse:collapse;width:100%;font-size:12px}.slip-items th,.slip-items td{vertical-align:middle;border:1px solid #333;padding:5px 8px}.slip-items thead th{background:#eee;font-weight:700}.slip-items .col-sku{width:90px;font-family:monospace}.slip-items .col-name{text-align:left}.slip-items .col-qty{text-align:right;width:60px;font-weight:700}.slip-items .col-price{text-align:right;width:80px}.slip-items .col-subtotal{text-align:right;width:90px}.slip-totals{border:1px solid #333;width:260px;margin-top:12px;margin-left:auto}.slip-total-row{border-bottom:1px solid #ccc;justify-content:space-between;padding:5px 10px;font-size:13px;display:flex}.slip-total-row:last-child{border-bottom:none}.slip-total-amount{background:#eee;font-size:15px;font-weight:700}@media screen{.slip-page+.slip-page{border-top:4px dashed #aaa;margin-top:30px;padding-top:30px}}@media print{body{background:#fff}.no-print{display:none!important}.slip-container{max-width:none;padding:0}.slip-page{margin:0;padding:0}@page{size:A4;margin:12mm}}.change-password-page{padding:var(--space-md);max-width:480px;margin:0 auto}.change-password-page h2{font-size:var(--font-2xl);margin:0 0 var(--space-sm)}.cp-account{color:var(--color-text-secondary);margin:0 0 var(--space-lg)}.cp-account strong{color:var(--color-text-primary)}.cp-form{gap:var(--space-md);background:var(--color-bg-card);padding:var(--space-lg);border:1px solid var(--color-border-lighter);border-radius:var(--radius-md);flex-direction:column;display:flex}.cp-field{flex-direction:column;gap:6px;display:flex}.cp-label{font-size:var(--font-sm);color:var(--color-text-secondary)}.cp-field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-md);padding:10px 12px}.cp-field input:focus{border-color:var(--color-accent-dark);outline:none}.cp-submit{margin-top:var(--space-sm);background:var(--color-accent-dark);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;padding:10px 16px}.cp-submit:hover:not(:disabled){filter:brightness(1.08)}.cp-submit:disabled{opacity:.5;cursor:not-allowed}.cp-hint{margin-top:var(--space-md);padding:var(--space-sm);font-size:var(--font-xs);color:var(--color-text-faint);text-align:center}
