*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-dark: #7A1F1F;--brand-accent: #C79A3B;--bg: #f5f4f1;--surface: #ffffff;--border: rgba(0,0,0,.08);--text: #1a1a1a;--text-muted: #666;--radius: 10px;--shadow: 0 2px 12px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--sidebar-w: 220px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:7px;border:none;font-size:14px;font-weight:500;transition:opacity .15s,box-shadow .15s}.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-dark);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary{background:#e8e5e0;border:1px solid var(--border);color:var(--text)}.btn-danger{background:#c0392b;color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem}.admin-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:#1a0e0e;color:#e8d9c3;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-brand{padding:1.4rem 1.2rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand .brand-name{font-size:18px;font-weight:700;color:#fff;letter-spacing:.3px}.sidebar-brand .brand-sub{font-size:10px;color:var(--brand-accent);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.sidebar-nav{flex:1;padding:.8rem 0;overflow-y:auto}.sidebar-nav a,.sidebar-nav .nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;color:#c8b89a;border-radius:0;font-size:13.5px;transition:background .12s,color .12s}.sidebar-nav a:hover,.sidebar-nav a.router-link-active{background:#c79a3b1f;color:var(--brand-accent)}.sidebar-nav .nav-disabled{opacity:.38;cursor:not-allowed;padding:.6rem 1.2rem;font-size:13.5px;color:#c8b89a;display:flex;align-items:center;gap:.6rem}.sidebar-nav .nav-section{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7a6a52;padding:1rem 1.2rem .3rem}.sidebar-footer{padding:1rem 1.2rem;border-top:1px solid rgba(255,255,255,.06)}.sidebar-user{font-size:12px;color:#9a8870;margin-bottom:.6rem}.sidebar-user strong{display:block;color:#e8d9c3;font-size:13px}.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.topbar-title{font-size:16px;font-weight:600}.page-body{padding:1.5rem;flex:1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.3rem}.stat-card .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:.3rem}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--brand-dark);line-height:1}.stat-card .stat-sub{font-size:11px;color:var(--text-muted);margin-top:.3rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0808,#1a0e0e,#111)}.login-box{background:var(--surface);border-radius:14px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 12px 48px #0000004d}.login-logo{text-align:center;margin-bottom:2rem}.login-logo .logo-brand{font-size:26px;font-weight:800;color:var(--brand-dark);letter-spacing:.5px}.login-logo .logo-sub{font-size:11px;color:var(--brand-accent);text-transform:uppercase;letter-spacing:1.5px;margin-top:3px}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:.35rem}.form-group input{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:7px;font-size:14px;outline:none;transition:border-color .15s}.form-group input:focus{border-color:var(--brand-dark)}.login-error{background:#fef0f0;color:#c0392b;border-radius:7px;padding:.6rem .85rem;font-size:13px;margin-bottom:1rem}.login-btn{width:100%;justify-content:center;padding:.75rem;font-size:15px}.sync-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.3rem;display:flex;align-items:center;gap:1rem;margin-top:1rem}.sync-dot{width:10px;height:10px;border-radius:50%;background:#2ecc71;flex-shrink:0}.sync-dot.unknown{background:#95a5a6}.sync-info .sync-label{font-size:12px;color:var(--text-muted)}.sync-info .sync-value{font-size:13px;font-weight:500}.badge-soon{font-size:9px;background:#c79a3b33;color:var(--brand-accent);border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.5px;margin-left:auto}.alert-success{background:#f0faf4;color:#1e7e4a;border:1px solid #a8dbb9;border-radius:7px;padding:.75rem 1rem;font-size:14px;margin-bottom:1rem}.login-info{background:#fffbe6;color:#7a6020;border:1px solid #f0d080;border-radius:7px;padding:.6rem .85rem;font-size:13px;margin-bottom:1rem}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:.75rem}.stat-card.stat-highlight{border-color:var(--brand-accent)}.stat-card.stat-highlight .stat-value{color:var(--brand-dark)}.info-note{margin-top:.75rem;background:#fffbe6;border:1px solid #f0d080;border-radius:var(--radius);padding:.65rem 1rem;font-size:12px;color:#7a6020}.visual-section{padding:1.25rem 1.5rem}.visual-grid{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start}.visual-preview-col{flex-shrink:0}.hero-preview{width:100%;aspect-ratio:16/5;border-radius:var(--radius);overflow:hidden;position:relative;border:1px solid var(--border)}.hero-preview__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:.5rem .6rem}.hero-preview__texts{color:#fff}.hero-preview__tagline{font-size:9px;font-style:italic;color:#ffffffb3;margin:0 0 2px}.hero-preview__badge{font-size:7px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:1px 5px;color:#ffffff80;margin:0;display:inline-block}.banner-preview{width:100%;aspect-ratio:16/6;border-radius:var(--radius);overflow:hidden;position:relative;border:1px solid var(--border);display:flex;align-items:flex-end}.banner-preview__content{padding:.4rem .6rem;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 100%);width:100%}.banner-preview__name{display:block;color:#fff;font-size:11px;font-family:Georgia,serif}.banner-preview__sub{display:block;color:#ffffffb3;font-size:9px}.img-current{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.img-thumb{width:60px;height:40px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.img-fallback-note{font-size:11px;color:var(--text-muted);margin-bottom:.4rem;font-style:italic}.upload-area{border:1.5px dashed var(--border);border-radius:7px;padding:.55rem;text-align:center;font-size:12px;color:var(--text-muted);cursor:pointer;transition:border-color .12s,background .12s;margin-top:.2rem}.upload-area:hover{border-color:var(--brand-dark);color:var(--brand-dark);background:#7a1f1f08}.upload-area--loading{opacity:.6;cursor:not-allowed}select{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;cursor:pointer}select:focus{border-color:var(--brand-dark)}.filters-bar{padding:.75rem 1rem}.filters-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-group{display:flex;flex-direction:column}.filter-search{flex:1;min-width:200px}.filter-input{padding:.55rem .8rem;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;outline:none;width:100%}.filter-input:focus{border-color:var(--brand-dark)}.filter-select{padding:.55rem .8rem;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;cursor:pointer;width:100%}.filter-select:focus{border-color:var(--brand-dark)}.filter-clear{align-self:center;padding:.45rem .7rem;font-size:13px}.prod-table{width:100%;border-collapse:collapse;font-size:13px}.prod-table thead th{background:#faf9f7;border-bottom:1px solid var(--border);padding:.55rem 1rem;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap}.prod-row td{border-bottom:1px solid var(--border);padding:.6rem 1rem;vertical-align:middle}.prod-row:last-child td{border-bottom:none}.prod-row:hover td{background:#00000004}.prod-row.prod-hidden{opacity:.55}.td-thumb{width:44px;padding:.4rem .5rem .4rem 1rem!important}.prod-thumb{width:36px;height:36px;border-radius:5px;background:#eee center/cover no-repeat;border:1px solid var(--border)}.prod-thumb--empty{background:#f0ece6}.prod-name{font-weight:500;color:var(--text);display:block}.prod-desc-preview{font-size:11px;color:#27ae60;margin-top:2px}.prod-desc-preview--empty{color:#bbb}.prod-tag{font-size:9px;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}.prod-tag--hidden{background:#fef0f0;color:#c0392b;border:1px solid #f0c0c0}.prod-cat,.prod-class{color:var(--text-muted);font-size:12px}.td-flags{white-space:nowrap}.flag{display:inline-block;width:18px;height:18px;border-radius:3px;text-align:center;line-height:18px;font-size:11px;margin-right:2px}.flag--star{background:#fff8e0;color:#c79a00}.flag--new{background:#e0f4e8;color:#27ae60}.flag--short{background:#eaf0ff;color:#3a5fc1}.btn-sm{padding:.35rem .7rem;font-size:12px}.pagination{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:1rem}.pag-info{font-size:13px;color:var(--text-muted)}.load-error{color:#c0392b;margin-top:1rem;font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.edit-modal{background:var(--surface);border-radius:12px;width:100%;max-width:900px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:92vh;overflow:hidden}.edit-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);gap:1rem}.edit-modal__title{font-size:16px;font-weight:600;color:var(--brand-dark)}.edit-modal__meta{font-size:12px;color:var(--text-muted);margin-top:3px}.meta-sep{margin:0 4px}.modal-close-btn{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;line-height:1;flex-shrink:0;margin-top:-2px}.modal-close-btn:hover{color:var(--text)}.edit-modal__body{overflow-y:auto;flex:1}.edit-modal__cols{display:grid;grid-template-columns:260px 1fr;min-height:0}.edit-col{padding:1.25rem 1.5rem}.edit-col--info{border-right:1px solid var(--border);background:#faf9f7}.col-title{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:.9rem}.info-block{margin-bottom:.9rem}.info-label{font-size:11px;color:var(--text-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:.4px}.info-value{font-size:13px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}.status-dot--available{background:#2ecc71}.status-dot--sold_out{background:#e74c3c}.status-dot--unavailable{background:#95a5a6}.status-dot--paused{background:#e67e22}.status-dot--new{background:#3498db}.variant-list{display:flex;flex-direction:column;gap:3px}.variant-item{display:flex;align-items:center;gap:.5rem;font-size:12px}.variant-name{color:var(--text);min-width:80px}.variant-price{font-weight:600;color:var(--brand-dark)}.variant-meta{color:var(--text-muted);font-size:11px}.current-img{width:100%;max-height:120px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}.prod-img-preview{margin-bottom:.5rem}.img-origin-label{margin-top:.25rem;font-size:11px;color:var(--text-muted)}.prod-img-empty{margin-bottom:.5rem;padding:.55rem .7rem;background:#f8f8f8;border:1px dashed var(--border);border-radius:6px;font-size:12px;color:var(--text-muted)}.img-upload-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.btn-danger-ghost{color:#c0392b!important}.btn-danger-ghost:hover{background:#fef0f0!important}.img-hint{margin-top:.35rem;font-size:11px;color:var(--text-muted);line-height:1.4}.form-textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;resize:vertical;outline:none;line-height:1.5}.form-textarea:focus{border-color:var(--brand-dark)}.form-input-short{width:100px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;outline:none}.form-input-short:focus{border-color:var(--brand-dark)}.field-note{font-size:11px;color:var(--text-muted);margin-top:3px}.form-group--row{display:flex;align-items:center}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-check{width:15px;height:15px;cursor:pointer;accent-color:var(--brand-dark)}.toggle-text{font-weight:500;font-size:13px}.toggle-hint{font-size:11px;color:var(--text-muted)}.order-page{padding:0;display:flex;flex-direction:column;height:calc(100vh - 49px);overflow:hidden}.order-panels{display:grid;grid-template-columns:240px 280px 1fr;height:100%;overflow:hidden}.order-panel{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.order-panel:last-child{border-right:none}.order-panel--inactive{opacity:.55;pointer-events:none}.order-panel__head{display:flex;align-items:center;gap:.35rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);background:#faf9f7;flex-shrink:0;min-height:44px}.order-panel__title{font-size:12px;font-weight:600;color:var(--brand-dark);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-panel__actions{display:flex;gap:.25rem;flex-shrink:0;align-items:center}.order-panel__empty{padding:2rem 1rem;text-align:center;font-size:13px;color:var(--text-muted)}.order-list{flex:1;overflow-y:auto}.order-row{display:flex;align-items:center;gap:.3rem;padding:.3rem .5rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.035);transition:background .08s;min-height:36px}.order-row:hover{background:#c79a3b0f}.order-row--selected{background:#7a1f1f12}.order-row__controls{display:flex;gap:1px;flex-shrink:0}.order-btn{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:11px;border-radius:3px;padding:0;transition:background .1s,color .1s;line-height:1}.order-btn:hover:not(:disabled){background:#0000001a;color:var(--text)}.order-btn:disabled{opacity:.2;cursor:default}.pos-input{width:36px;padding:.1rem .15rem;border:1px solid var(--border);border-radius:3px;font-size:10px;text-align:center;color:var(--text-muted);font-family:inherit;outline:none;background:#fafafa;flex-shrink:0;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pos-input::-webkit-inner-spin-button,.pos-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pos-input:focus{border-color:var(--brand-dark);color:var(--text);background:#fff}.order-row__name{flex:1;font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-row__meta{font-size:10px;color:var(--text-muted);flex-shrink:0}.order-row__price{font-size:10px;color:var(--brand-dark);font-weight:600;flex-shrink:0}.order-badge{display:inline-block;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.order-badge--new,.order-badge--is-new{background:#1a5220;color:#aaedbb}.order-badge--hidden{background:#eee;color:#888}.order-badge--featured{background:#5c2d00;color:#ffd99a}.order-badge--sorted{background:#7a1f1f1a;color:var(--brand-dark)}.order-msg{padding:.3rem .75rem;font-size:11px;border-bottom:1px solid var(--border);flex-shrink:0}.order-msg--ok{background:#f0faf4;color:#1e7e4a}.order-msg--err{background:#fef0f0;color:#c0392b}.order-loading,.order-error{padding:2rem;text-align:center;color:var(--text-muted);font-size:14px}.order-error{color:#c0392b}.btn-xs{padding:.25rem .5rem!important;font-size:11px!important;border-radius:4px!important;line-height:1.3!important}.save-error{background:#fef0f0;color:#c0392b;border-radius:7px;padding:.5rem .75rem;font-size:13px;margin-bottom:.75rem}.save-ok{background:#f0faf4;color:#1e7e4a;border-radius:7px;padding:.5rem .75rem;font-size:13px;margin-bottom:.75rem}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.mode-select{font-size:10px;padding:.1rem .2rem;border:1px solid var(--border);border-radius:3px;background:#fafafa;color:var(--text-muted);font-family:inherit;outline:none;flex-shrink:0;cursor:pointer;max-width:68px}.mode-select:focus{border-color:var(--brand-dark);color:var(--text)}.home-page{padding:0;display:flex;flex-direction:column;height:calc(100vh - 49px);overflow:hidden}.home-layout{display:grid;grid-template-columns:300px 1fr;height:100%;overflow:hidden}.home-sections-panel{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.home-detail-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.home-sections-list{flex:1;overflow-y:auto}.home-section-row{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.04);transition:background .08s}.home-section-row:hover{background:#c79a3b0f}.home-section-row--selected{background:#7a1f1f12}.home-section-row--inactive{opacity:.55}.home-section-row--inactive .home-section-row__title-line strong{color:var(--text-muted)}.home-section-row__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-section-row__title-line{display:flex;align-items:center;gap:.4rem}.home-section-row__info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-inactive-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#e0e0e0;color:#777;border-radius:3px;padding:1px 5px;flex-shrink:0}.home-section-row__actions{flex-shrink:0}.home-section-count{font-size:10px;color:var(--brand-dark);font-weight:600}.type-badge{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 6px}.type-badge--manual{background:#e6f4ea;color:#2d7a3a}.type-badge--category{background:#fff3e0;color:#b45309}.type-badge--class{background:#e8f0fe;color:#1a56a0}.type-badge--rule{background:#f3e8ff;color:#6b21a8}.btn-toggle-hide{background:transparent;border:1px solid #c0392b;color:#c0392b;font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer}.btn-toggle-hide:hover{background:#fce8e6}.btn-toggle-show{background:#2d7a3a;border:1px solid #2d7a3a;color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer}.btn-toggle-show:hover{background:#1f5c29}.home-detail-title-group{display:flex;align-items:center;flex:1;min-width:0}.home-info-block{padding:1rem 1.25rem;font-size:13px;line-height:1.7;color:var(--text-muted)}.home-info-block strong{color:var(--text)}.home-category-warning{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;background:#fff8e1;border:1px solid #f59e0b;border-radius:6px;padding:.65rem .85rem;font-size:12px;color:#92400e;line-height:1.5}.home-category-warning__icon{flex-shrink:0;font-size:14px;margin-top:1px}.home-search-block{padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.home-search-row{display:flex;gap:.5rem;margin-bottom:.5rem}.home-search-results{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:5px}.home-search-result{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-bottom:1px solid rgba(0,0,0,.04)}.home-search-result--added{opacity:.5}.home-search-result__title{flex:1;font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-search-result__price{font-size:11px;color:var(--brand-dark);flex-shrink:0}.home-items-list{flex:1;overflow-y:auto}.home-item-row{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-bottom:1px solid rgba(0,0,0,.04);min-height:40px}.home-item-row__controls{display:flex;gap:1px;flex-shrink:0}.home-item-row__pos{font-size:10px;color:var(--text-muted);width:18px;text-align:center;flex-shrink:0}.home-item-row__thumb{width:32px;height:32px;object-fit:cover;border-radius:3px;flex-shrink:0}.home-item-row__thumb--empty{background:#eee;border-radius:3px}.home-item-row__title{flex:1;font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-item-row__price{font-size:11px;color:var(--brand-dark);flex-shrink:0}.home-item-row__remove{color:#c0392b!important;flex-shrink:0;font-size:14px!important}.text-muted{color:var(--text-muted);font-size:12px}
