.admin-layout{display:flex;min-height:100vh;width:100vw;background:#f4f6fb;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.admin-sidebar{width:260px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;padding:20px 18px;box-sizing:border-box}.sidebar-title{font-size:20px;font-weight:600;color:#0f172a;margin-bottom:16px;padding-left:4px}.sidebar-menu{display:flex;flex-direction:column;gap:6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;font-size:14px;color:#111827;text-decoration:none;transition:background .15s ease,color .15s ease,transform .05s ease}.sidebar-item:hover{background:#e5e7eb}.sidebar-item-active{background:#020617;color:#fff}.sidebar-item-active .sidebar-icon{stroke:#fff}.sidebar-icon{width:18px;height:18px;stroke-width:2.1;color:#6b7280}.sidebar-label{line-height:1}.admin-shell{flex:1;min-height:100vh;display:flex;flex-direction:column;min-width:0}.admin-header{flex:0 0 auto;width:100%;height:64px;display:flex;align-items:center;padding:0 32px;box-sizing:border-box;background:#fff;border-bottom:1px solid #e5e7eb}.header-search{flex:1;display:flex;justify-content:center;gap:10px}.header-search input{width:60%;max-width:650px;height:40px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;padding:0 16px;font-size:14px;color:#111827;outline:none;box-sizing:border-box}.header-search input::placeholder{color:#9ca3af}.header-search input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f633}.header-search button{padding:0 20px;height:40px;border-radius:999px;border:none;background:#020617;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:.15s ease}.header-search button:hover{background:#111827}.header-user{display:flex;align-items:center;gap:12px;margin-left:24px}.header-username{font-size:14px;color:#111827}.header-logout{padding:6px 16px;font-size:13px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;transition:.15s ease}.header-logout:hover{background:#f3f4f6}.admin-content{flex:1 1 auto;padding:24px 32px;box-sizing:border-box}.banners-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.banner-card{background:#fff;border-radius:24px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0f172a0a;padding:16px 18px 18px}.banner-card-title{font-size:18px;font-weight:600;margin:0 0 12px;color:#111827}.banner-form{display:flex;flex-direction:column;gap:10px}.banner-form .form-group{display:flex;flex-direction:column;gap:4px;font-size:13px}.banner-form .form-group label{font-weight:500;color:#374151}.banner-form .form-group input[type=text]{border-radius:14px;border:1px solid #d1d5db;padding:8px 10px;font-size:13px;background:#f9fafb;outline:none}.banner-form .form-group input[type=text]:focus{border-color:#0ea5e9;box-shadow:0 0 0 1px #0ea5e959}.banner-file-row{display:flex;align-items:center;gap:10px}.banner-preview-thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1px solid #e5e7eb}.form-inline{flex-direction:row;align-items:center;justify-content:space-between}.toggle-pill{border-radius:999px;border:none;padding:3px 10px 3px 3px;display:inline-flex;align-items:center;cursor:pointer;min-width:74px;justify-content:flex-start;background:#e5e7eb}.toggle-pill.on{background:#22c55e}.toggle-pill.off{background:#e5e7eb}.toggle-knob{width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 1px 4px #0f172a40}.toggle-pill.on .toggle-knob{margin-left:32px}.toggle-pill.off .toggle-knob{margin-right:32px}.toggle-label{color:#fff;font-size:11px;font-weight:500;margin-left:4px}.btn-primary{margin-top:4px;height:40px;border-radius:16px;border:none;background:#020617;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.7;cursor:default}.btn-danger{border-radius:999px;border:none;padding:6px 12px;font-size:12px;font-weight:500;background:#ef4444;color:#fff;cursor:pointer}.banner-list-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.banner-count{font-size:12px;color:#6b7280}.banner-list-grid{display:flex;flex-direction:column;gap:10px}.banner-item{border-radius:18px;border:1px solid #e5e7eb;overflow:hidden;background:#f9fafb}.banner-image-wrap img{width:100%;height:140px;object-fit:cover}.banner-item-body{padding:10px 12px;background:#fff}.banner-item-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.banner-title{font-size:14px;font-weight:600;color:#111827}.banner-link{font-size:12px;color:#6b7280}.banner-item-actions{display:flex;align-items:center;gap:8px}.banner-empty{font-size:13px;color:#6b7280}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500}.cd-backdrop{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:50}.cd-dialog{width:360px;max-width:90vw;background:#fff;border-radius:20px;padding:18px 20px 16px;box-shadow:0 20px 60px #0f172a66;border:1px solid #e5e7eb}.cd-title{margin:0 0 6px;font-size:16px;font-weight:600;color:#111827}.cd-message{margin:0 0 16px;font-size:13px;color:#4b5563}.cd-actions{display:flex;justify-content:flex-end;gap:8px}.cd-btn{border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;border:none;cursor:pointer}.cd-btn-secondary{background:#f3f4f6;color:#111827}.cd-btn-primary{background:#020617;color:#fff}.cd-btn-danger{background:#ef4444;color:#fff}.toast-container{position:fixed;top:20px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:10px}.toast{padding:12px 18px;border-radius:12px;color:#fff;font-size:14px;font-weight:500;min-width:200px;max-width:320px;box-shadow:0 6px 16px #0003;animation:toast-slide .25s ease-out;opacity:.95}.toast-success{background-color:#16a34a}.toast-error{background-color:#dc2626}.toast-info{background-color:#2563eb}.toast-warning{background-color:#f59e0b}@keyframes toast-slide{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.login-page{min-height:100vh;width:100vw;padding:0;display:flex;align-items:center;justify-content:center;background:#f4f6fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-card{width:420px;max-width:95vw;background:#fff;border-radius:28px;border:1px solid #e5e7eb;box-shadow:0 20px 50px #0f172a1a;overflow:hidden;animation:popIn .25s ease-out}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.login-card-header{padding:24px 32px;border-bottom:1px solid #e5e7eb}.login-card-header h1{margin:0;font-size:22px;font-weight:600;color:#0f172a}.login-form{padding:24px 32px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-group input{width:100%;height:44px;padding:0 14px;background:#eef3ff;border:1px solid #cfd6e3;border-radius:14px;font-size:14px;color:#111827;outline:none;transition:.15s ease;box-sizing:border-box}.form-group input:hover{background:#e9effe}.form-group input:focus{border-color:#3b82f6;background:#e9efff;box-shadow:0 0 0 2px #3b82f640}.form-error{margin:6px 0 10px;padding:8px 12px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px}.login-form button{width:100%;height:46px;margin-top:10px;background:#0f172a;color:#fff;font-size:15px;font-weight:600;border:none;border-radius:16px;cursor:pointer;transition:.2s ease}.login-form button:hover:not(:disabled){background:#1e293b}.login-form button:active:not(:disabled){transform:scale(.98)}.login-form button:disabled{opacity:.6;cursor:default}.login-note{text-align:center;padding:5px 32px 24px;font-size:12px;color:#9ca3af}.order-detail-page{display:flex;flex-direction:column;gap:18px}.order-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.order-detail-header h1{margin:0;font-size:20px;font-weight:600;color:#111827}.order-detail-header .order-no{font-weight:500}.od-card{background:#fff;border-radius:24px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0f172a0a;padding:16px 20px 18px}.od-card-title{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.od-grid{display:grid;gap:8px 24px}.od-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.od-field{font-size:13px;color:#111827}.od-field-full{grid-column:1 / -1}.od-label{font-weight:600;margin-right:4px}.od-value{font-weight:400}.od-strong{font-weight:600}.od-store-block+.od-store-block{margin-top:16px}.od-store-header{margin-bottom:6px}.od-store-name{font-size:13px;font-weight:600;color:#111827}.od-product-cell{display:flex;align-items:center;gap:10px}.od-product-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid #e5e7eb}.od-product-name{font-size:13px;font-weight:500}.od-product-code{font-size:11px;color:#6b7280}.btn-outline{border-radius:999px;padding:8px 18px;font-size:13px;font-weight:500;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:.15s ease}.btn-outline:hover{background:#f3f4f6}.order-detail-info,.order-detail-error{font-size:13px;margin-top:4px}.order-detail-error{color:#b91c1c}.od-grid-3{display:grid;gap:8px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}.od-summary-row{margin-top:14px;padding-top:10px;border-top:1px dashed #e5e7eb;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.od-summary-item{min-width:140px;text-align:right}.od-summary-label{display:block;font-size:12px;color:#6b7280}.od-summary-value{display:block;font-size:14px;font-weight:500;color:#111827}.od-summary-total .od-summary-value{font-size:15px;font-weight:600}.orders-page{display:flex;flex-direction:column;gap:20px}.orders-card{background:#fff;border-radius:24px;border:1px solid #e5e7eb;box-shadow:0 12px 30px #0f172a0a;padding:16px 20px 20px}.orders-card-header h2{margin:0 0 12px;font-size:18px;font-weight:600;color:#111827}.orders-filters{display:flex;flex-direction:column;gap:16px}.filter-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.filter-field label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:4px}.filter-field input,.filter-field select{width:100%;height:40px;border-radius:14px;border:1px solid #d1d5db;background:#f9fafb;padding:0 12px;font-size:13px;outline:none;box-sizing:border-box}.filter-field input:focus,.filter-field select:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f626}.filter-actions{display:flex;justify-content:flex-start;gap:10px}.btn-primary,.btn-secondary,.btn-outline{border-radius:999px;padding:8px 18px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:.15s ease}.btn-primary{background:#020617;color:#fff}.btn-primary:hover{background:#111827}.btn-secondary{background:#e5e7eb;color:#111827}.btn-secondary:hover{background:#d4d4d8}.btn-outline{background:#fff;color:#111827;border-color:#d1d5db}.btn-outline:hover:not(:disabled){background:#f3f4f6}.btn-outline:disabled{opacity:.5;cursor:default}.orders-table-wrapper{margin-top:8px;border-radius:20px;overflow:hidden;border:1px solid #e5e7eb}.orders-table{width:100%;border-collapse:collapse;font-size:13px}.orders-table thead{background:#f3f4f6}.orders-table th,.orders-table td{padding:10px 14px;text-align:left}.orders-table tbody tr:nth-child(2n){background:#f9fafb}.orders-table tbody tr:hover{background:#eef2ff}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#e0ecff;color:#1d4ed8;font-size:11px;font-weight:500}.orders-actions{text-align:right}.orders-error,.orders-loading,.orders-empty{margin-top:10px;font-size:13px;color:#6b7280}.orders-pagination{margin-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}.pagination-buttons{display:flex;gap:8px}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;font-size:11px;font-weight:500;border-radius:999px;white-space:nowrap}.status-approved{background:#e0ecff;color:#1d4ed8}.status-pending{background:#fef3c7;color:#b45309}.status-canceled{background:#fee2e2;color:#b91c1c}.status-refunded{background:#e0f2fe;color:#0369a1}.status-shipped{background:#dcfce7;color:#166534}.status-completed{background:#e5e7eb;color:#374151}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-container{background:#fff;width:100%;max-width:700px;max-height:85vh;overflow-y:auto;border-radius:10px;box-shadow:0 10px 35px #00000026;border:1px solid #e5e7eb;padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%;border:1px solid #e5e7eb;cursor:pointer}.modal-close-btn:hover{background:#e5e7eb}.modal-footer{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.modal-section{margin-bottom:20px}.modal-item{padding:12px;border-radius:8px;background:#f9fafb;border:1px solid #e5e7eb;margin-bottom:10px}.modal-item-header{display:flex;justify-content:space-between;margin-bottom:8px}.stories-wrapper{margin-top:12px}.stories-header{display:grid;grid-template-columns:110px minmax(200px,1.4fr) 220px 190px;column-gap:16px;padding:0 4px 8px;font-size:13px;font-weight:600;color:#111827}.stories-header span{text-align:left}.stories-list{display:flex;flex-direction:column;gap:10px}.story-row{display:grid;grid-template-columns:110px minmax(200px,1.4fr) 220px 190px;column-gap:16px;align-items:center;background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:10px 14px;box-shadow:0 1px 3px #0f172a0d}.story-avatar{display:flex;align-items:center;justify-content:flex-start}.story-avatar img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb}.story-avatar-empty{width:72px;height:72px;border-radius:10px;background:#f3f4f6;border:1px dashed #d1d5db;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ca3af}.story-title{font-size:14px;font-weight:500;color:#111827}.story-meta{font-size:12px;color:#6b7280;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.story-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.story-status--active{background:#dcfce7;color:#166534}.story-status--passive{background:#e5e7eb;color:#4b5563}.story-actions{display:flex;justify-content:flex-end;gap:8px}.story-btn{padding:6px 12px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;cursor:pointer}.story-btn:hover{background:#f3f4f6}.story-btn--danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn-primary,.btn-secondary,.btn-danger{font-size:13px;border-radius:999px;padding:6px 14px;border:1px solid #e5e7eb;cursor:pointer}.btn-primary{background:#4f46e5;color:#fff;border-color:#4338ca}.btn-primary:hover{background:#4338ca}.btn-secondary{background:#f9fafb;color:#374151}.btn-secondary:hover{background:#f3f4f6}.btn-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.btn-danger:hover{background:#fee2e2}.story-actions{display:flex;justify-content:flex-end;gap:10px}.story-icon-btn{height:34px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#374151;transition:.15s}.story-icon-btn:hover{background:#f3f4f6}.story-icon-danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.story-icon-danger:hover{background:#fee2e2}.stories-page-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stories-title{font-size:32px;font-weight:700;letter-spacing:.02em;color:#0f172a}.story-add-btn{width:40px;height:40px;border-radius:999px;border:1px solid #e5e7eb;background:#111827;color:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;box-shadow:0 4px 10px #0f172a40}.story-add-btn:hover{background:#0f172a;transform:translateY(-1px)}.story-add-icon{font-size:22px;line-height:1;margin-top:-1px}.story-form-section{margin-bottom:20px}.story-form-label{display:block;font-size:14px;font-weight:500;color:#111827;margin-bottom:6px}.story-input,.story-select,.story-date-input{width:100%;border-radius:8px;border:1px solid #e5e7eb;padding:8px 10px;font-size:14px;color:#111827;background-color:#f9fafb;transition:border-color .15s,box-shadow .15s,background-color .15s}.story-input:focus,.story-select:focus,.story-date-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e559;background-color:#fff}.story-input-sm,.story-select-sm{font-size:13px;padding:6px 8px}.story-file-input{font-size:13px}.story-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-item-header-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.story-item-note{font-size:11px;color:#6b7280}.story-image-preview{margin-top:8px;width:80px;height:80px;border-radius:8px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6}.story-detail-list{display:flex;flex-direction:column;gap:10px}.story-detail-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb}.story-detail-thumb-wrapper{flex-shrink:0}.story-detail-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6}.story-detail-thumb-video{width:72px;height:72px;border-radius:10px;border:1px dashed #d1d5db;background:#f9fafb;display:flex;align-items:center;justify-content:center;font-size:22px;color:#6b7280}.story-detail-body{flex:1;min-width:0}.story-detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.story-detail-type{font-size:13px;font-weight:500;color:#111827}.story-detail-status{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid #e5e7eb}.story-detail-status--active{background:#dcfce7;border-color:#bbf7d0;color:#166534}.story-detail-status--passive{background:#e5e7eb;border-color:#d1d5db;color:#4b5563}.story-detail-url{font-size:13px;color:#2563eb;text-decoration:none;word-break:break-all}.story-detail-url:hover{text-decoration:underline}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{height:100%;margin:0;padding:0;background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4{color:var(--color-text);margin:0}.btn{width:100%;height:46px;border-radius:var(--radius-button);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:.15s ease}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}:root{--color-bg: #f4f6fb;--color-text: #0f172a;--color-muted: #9ca3af;--color-primary: #020617;--color-primary-hover: #111827;--color-input-bg: #eef3ff;--color-border: #e5e7eb;--radius-card: 24px;--radius-input: 16px;--radius-button: 18px;--shadow-card: 0 18px 45px rgba(15, 23, 42, .12)}
