.admin-page{padding:32px 24px;min-height:80vh}.admin-inner{max-width:960px;margin:0 auto}.admin-page h1{font-family:"DM Serif Display",serif;font-size:2rem;font-weight:400;margin-bottom:4px}.login-box{max-width:400px;margin:80px auto;text-align:center}.login-box h2{font-family:"DM Serif Display",serif;font-size:1.5rem;font-weight:400;margin-bottom:24px}.login-box input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;margin-bottom:16px}.login-box input:focus{outline:none;border-color:var(--accent)}.login-error{color:#c0392b;font-size:.85rem;margin-bottom:12px;display:none}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:12px}.toolbar-sub{font-size:.85rem;color:var(--text-light);margin-bottom:20px}.admin-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:2px solid var(--border)}.admin-tab{padding:10px 24px;border:none;background:none;font-size:.9rem;font-weight:500;cursor:pointer;color:var(--text-light);border-bottom:2px solid transparent;margin-bottom:-2px;font-family:inherit;transition:all .15s}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.cat-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.cat-pill{padding:7px 18px;border-radius:50px;border:1px solid var(--border);background:var(--white);color:var(--text);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.cat-pill:hover{border-color:var(--accent);color:var(--accent)}.cat-pill.active{background:var(--accent);color:var(--primary);border-color:var(--accent);font-weight:600}.cat-section{margin-bottom:36px}.cat-section-title{font-family:"DM Serif Display",serif;font-size:1.15rem;font-weight:400;padding-bottom:8px;border-bottom:2px solid var(--primary);margin-bottom:0;display:flex;align-items:center;gap:10px}.cat-section-title span{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--text-light);background:#f0f0f0;padding:2px 10px;border-radius:50px;font-weight:500}.admin-table{width:100%;border-collapse:separate;border-spacing:0}.admin-table th{text-align:left;font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-light);padding:10px 12px;border-bottom:1px solid var(--border)}.admin-table td{padding:10px 12px;font-size:.9rem;vertical-align:middle;border-bottom:1px solid #f0f0f0}.admin-table tbody tr:hover td{background:#fafafa}.admin-table tr.tr-hidden td{opacity:.4}.admin-table tr.tr-hidden:hover td{opacity:.7}.admin-table tr.tr-soldout td:first-child{box-shadow:inset 3px 0 #c62828}.td-name{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;vertical-align:middle;margin-right:8px}.td-clickable{cursor:pointer;border-radius:4px;transition:all .15s;position:relative}.td-clickable:hover{background:#e8f5e9!important}.td-clickable .click-hint{display:none;position:absolute;top:-6px;right:4px;font-size:.6rem;color:var(--accent);font-weight:600}.td-clickable:hover .click-hint{display:block}.td-qty{font-weight:600}.td-qty.has-stock{color:#2e7d32}.td-qty.no-stock{color:#c62828}.td-price{white-space:nowrap}.td-vis{font-size:.8rem}.td-vis.is-visible{color:#2e7d32}.td-vis.is-hidden{color:#7b1fa2;font-style:italic}.inline-input{width:70px;padding:4px 8px;border:2px solid var(--accent);border-radius:6px;font-size:.9rem;font-family:inherit;font-weight:600;text-align:center;outline:none}.td-actions{white-space:nowrap}.td-actions a,.td-actions button{display:inline-block;padding:5px 14px;border-radius:6px;border:none;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-decoration:none}.td-actions .act-edit{background:var(--primary);color:var(--white);margin-right:4px}.td-actions .act-edit:hover{background:#2a2a4e}.td-actions .act-del{background:#fbe9e7;color:#c62828}.td-actions .act-del:hover{background:#f5cdc8}.empty-state{text-align:center;padding:48px 24px;color:var(--text-light)}.confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-box{background:var(--white);border-radius:12px;padding:28px 32px;max-width:360px;width:100%;text-align:center}.confirm-box p{font-size:1rem;margin-bottom:20px;line-height:1.5}.confirm-box .confirm-name{font-weight:700;color:var(--primary)}.confirm-btns{display:flex;gap:12px;justify-content:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.modal-overlay.open{display:flex}.modal{background:var(--white);border-radius:12px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal h2{font-family:"DM Serif Display",serif;font-size:1.4rem;font-weight:400;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.image-upload-area{border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.image-upload-area:hover{border-color:var(--accent)}.image-upload-area.has-image{padding:8px}.image-upload-area input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.image-upload-area .upload-text{color:var(--text-light);font-size:.85rem}.image-upload-area .upload-text strong{color:var(--accent)}.image-preview{max-width:200px;max-height:200px;border-radius:6px;display:none;object-fit:contain}.image-preview.show{display:block;margin:0 auto}.remove-image{display:none;margin-top:8px;font-size:.8rem;color:#c0392b;cursor:pointer;background:none;border:none}.remove-image.show{display:inline-block}.log-section{margin-top:8px}.log-table{width:100%;border-collapse:separate;border-spacing:0}.log-table th{text-align:left;font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-light);padding:10px 12px;border-bottom:1px solid var(--border)}.log-table td{padding:8px 12px;font-size:.85rem;vertical-align:middle;border-bottom:1px solid #f0f0f0}.log-table tbody tr:hover td{background:#fafafa}.log-action{display:inline-block;padding:2px 10px;border-radius:50px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.log-action.act-created{background:#e3f2fd;color:#1565c0}.log-action.act-added{background:#e8f5e9;color:#2e7d32}.log-action.act-adjusted{background:#fff3e0;color:#e65100}.log-action.act-sold{background:#fce4ec;color:#c62828}.log-action.act-visibility{background:#f3e5f5;color:#7b1fa2}.log-action.act-price_change{background:#e0f7fa;color:#00695c}.log-action.act-deleted{background:#fbe9e7;color:#c62828}.log-change{font-size:.82rem;color:var(--text-light)}.log-change .old-val{text-decoration:line-through;color:#c62828}.log-change .new-val{color:#2e7d32;font-weight:600}.log-time{font-size:.78rem;color:var(--text-light);white-space:nowrap}.log-product-name{font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-load-more{display:block;margin:16px auto;padding:8px 24px;background:none;border:1px solid var(--border);border-radius:50px;font-size:.82rem;cursor:pointer;font-family:inherit;color:var(--text-light)}.log-load-more:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.admin-table th.hide-sm,.admin-table td.hide-sm,.log-table th.hide-sm,.log-table td.hide-sm{display:none}}
