*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#0f172a;color:#e5e7eb}a{color:#38bdf8;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:0 auto;padding:22px}.top{background:#111827;border-bottom:1px solid #334155}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;font-size:20px;color:#fff}.menu{display:flex;gap:12px;flex-wrap:wrap}.menu a,.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:#2563eb;color:#fff;cursor:pointer;font-weight:700}.menu a.secondary,.btn.secondary{background:#334155}.btn.danger{background:#dc2626}.btn.small{padding:7px 10px;font-size:13px}.card{background:#1e293b;border:1px solid #334155;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 12px 30px rgba(0,0,0,.18)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.stat{background:#111827;border:1px solid #334155;border-radius:14px;padding:16px}.stat .num{font-size:24px;font-weight:800;color:#fff;margin-top:6px}h1,h2,h3{color:#fff;margin:0 0 14px}.muted{color:#94a3b8}.balance{font-size:30px;color:#22c55e;font-weight:900}.form-row{margin-bottom:13px}label{display:block;margin-bottom:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid #475569;border-radius:10px;background:#0f172a;color:#fff;padding:11px 12px;font-size:15px}textarea{min-height:110px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline input[type=checkbox]{width:auto}table{width:100%;border-collapse:collapse;background:#111827;border-radius:12px;overflow:hidden}th,td{padding:11px 10px;border-bottom:1px solid #334155;text-align:left;vertical-align:top}th{background:#0f172a;color:#cbd5e1}.pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#14532d;color:#bbf7d0}.pill.bad{background:#7f1d1d;color:#fecaca}.pill.warn{background:#713f12;color:#fde68a}.pill.info{background:#1e3a8a;color:#bfdbfe}.alert{padding:12px 14px;border-radius:12px;margin:12px 0}.alert.ok{background:#14532d;color:#bbf7d0}.alert.bad{background:#7f1d1d;color:#fecaca}.alert.warn{background:#713f12;color:#fde68a}.login-box{max-width:480px;margin:8vh auto}.product{display:flex;flex-direction:column;gap:10px}.price{font-size:22px;font-weight:900;color:#fbbf24}.codebox{background:#020617;border:1px solid #334155;border-radius:12px;padding:12px;white-space:pre-wrap;font-family:Consolas,monospace}.footer{color:#64748b;text-align:center;padding:22px}.actions{display:flex;gap:8px;flex-wrap:wrap}.search{max-width:360px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.two{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}table{font-size:13px}.wrap{padding:14px}}
.product-desc{color:#cbd5e1;line-height:1.5;border-top:1px solid #334155;padding-top:10px}.price span{font-size:14px;color:#cbd5e1;font-weight:800}.buy-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.buy-row .buy-qty{min-width:130px;flex:1}.buy-row button{white-space:nowrap;margin-bottom:0}.modal{display:none;position:fixed;z-index:999;inset:0;background:rgba(2,6,23,.78);padding:20px;align-items:center;justify-content:center}.modal.open,.modal[aria-hidden="false"]{display:flex!important}.modal-box{width:min(520px,100%);background:#1e293b;border:1px solid #475569;border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.45);position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#334155;color:#fff;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:30px;cursor:pointer}@media(max-width:520px){.buy-row{align-items:stretch}.buy-row .buy-qty,.buy-row button{width:100%}}

body.modal-active{overflow:hidden}

/* FIX_POPUP_DEPOSIT_20260623_V2 */

.buy-modal.open{display:flex!important;visibility:visible!important;opacity:1!important}
.buy-modal[aria-hidden="false"]{display:flex!important}
.modal-box{z-index:1000}


/* FIX_POPUP_DEPOSIT_20260623_V3 */
.buy-open{position:relative;z-index:1}
.buy-modal{z-index:9999!important}
.buy-modal.open,.buy-modal[aria-hidden="false"]{display:flex!important;visibility:visible!important;opacity:1!important}
body.modal-active{overflow:hidden}
.modal-close{z-index:10001}

/* FIX_DEPOSIT_INVOICE_20260623_V5 */
.deposit-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:8px 0 16px}.deposit-preset{width:100%;text-align:center}.deposit-custom-row{margin-top:10px}.deposit-invoice{border-color:#f59e0b}.deposit-pay-amount{background:#111827;border:1px solid #334155;border-radius:14px;padding:16px;margin:12px 0}.deposit-pay-number{font-size:34px;line-height:1.2;font-weight:900;color:#fbbf24;margin-top:4px}.deposit-note{border-color:#f59e0b}button[disabled],.btn[disabled]{opacity:.55;cursor:not-allowed}


/* FIX_VIETQR_DEPOSIT_20260623_V8 */
.deposit-qr-box{background:#111827;border:1px solid #334155;border-radius:14px;padding:16px;margin:14px 0;text-align:center}.deposit-qr-img{display:block;max-width:min(100%,420px);height:auto;margin:8px auto;border-radius:14px;background:#fff;padding:8px}.deposit-qr-summary{background:#0f172a;border:1px solid #334155;border-radius:14px;padding:12px;margin-top:12px}.deposit-qr-summary p{margin:6px 0}


/* FIX_SEO_QR_MOBILE_20260623_V9 */
.deposit-invoice{overflow:hidden}.deposit-invoice table{margin-top:12px}.deposit-qr-box{max-width:560px;margin:14px auto;overflow:hidden}.deposit-qr-img{width:100%;max-width:340px;max-height:520px;object-fit:contain;box-shadow:0 10px 30px rgba(0,0,0,.25)}.deposit-qr-actions{justify-content:center;margin:10px 0 0}.deposit-pay-amount{overflow:hidden}.deposit-pay-number{word-break:break-word}.card table{display:table}
@media(max-width:760px){body{font-size:15px}.wrap{width:100%;max-width:100%;padding:12px}.card{border-radius:14px;padding:14px;margin:10px 0;overflow-x:auto}.grid{grid-template-columns:1fr;gap:10px}.menu{width:100%;gap:8px}.menu a,.btn{padding:9px 11px;font-size:14px}.actions{gap:7px}.deposit-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.deposit-pay-amount{padding:12px}.deposit-pay-number{font-size:26px}.deposit-qr-box{padding:12px;margin:12px auto;max-width:100%}.deposit-qr-img{max-width:260px;max-height:390px;border-radius:12px;padding:6px}.deposit-qr-actions .btn{width:100%;text-align:center}table{display:block;overflow-x:auto;white-space:nowrap}th,td{padding:9px 8px}.deposit-invoice table{white-space:normal}.deposit-invoice th{min-width:130px}.deposit-invoice td{min-width:180px}.balance{font-size:24px}}
@media(max-width:420px){.deposit-presets{grid-template-columns:1fr}.deposit-qr-img{max-width:230px}.deposit-pay-number{font-size:24px}.brand{font-size:18px}h1{font-size:24px}h2{font-size:20px}}

/* FIX_ADMIN_DASHBOARD_STATS_20260624_V14 */
.dashboard-stats-card{overflow:hidden}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}.admin-tab{border:1px solid #475569;border-radius:999px;background:#0f172a;color:#cbd5e1;padding:10px 14px;font-weight:800;cursor:pointer}.admin-tab.active{background:#2563eb;border-color:#60a5fa;color:#fff}.admin-tab-panel{display:none}.admin-tab-panel.active{display:block}.dashboard-stats-card table td:nth-child(n+2),.dashboard-stats-card table th:nth-child(n+2){text-align:right}@media(max-width:760px){.admin-tabs{display:grid;grid-template-columns:1fr;gap:8px}.admin-tab{width:100%;border-radius:12px}.dashboard-stats-card table td:nth-child(n+2),.dashboard-stats-card table th:nth-child(n+2){text-align:left}}

/* Summernote / mô tả HTML sản phẩm */
.note-editor.note-frame{border:1px solid rgba(148,163,184,.35);border-radius:12px;overflow:hidden;background:#fff;color:#0f172a}
.note-editor .note-toolbar{background:#f8fafc;border-bottom:1px solid rgba(148,163,184,.25)}
.note-editor .note-editable{min-height:170px;color:#0f172a;background:#fff}
.product-desc a,.card a[target="_blank"]{text-decoration:underline;text-underline-offset:2px}
.product-desc p,.card .rich-text p{margin:.4rem 0}
.product-desc ul,.product-desc ol,.card .rich-text ul,.card .rich-text ol{margin:.4rem 0 .4rem 1.25rem}
.product-desc{overflow-wrap:anywhere}
@media(max-width:700px){.note-editor .note-toolbar{overflow-x:auto;white-space:nowrap}.note-editor .note-btn{padding:5px 7px}.note-editor .note-editable{min-height:150px}}

/* FIX_TEXT_CODE_COPY_USAGE_20260624_V16 */
.code-delivery-table code.order-code-text{display:block;white-space:pre-wrap;word-break:break-word;background:#020617;border:1px solid #334155;border-radius:10px;padding:8px;color:#e5e7eb;font-family:Consolas,monospace}
.code-delivery-table .copy-code-btn{min-width:78px;text-align:center}
.code-delivery-table td:nth-child(2),.code-delivery-table td:nth-child(3){white-space:nowrap}
@media(max-width:760px){.code-delivery-table{display:block;overflow-x:auto}.code-delivery-table th,.code-delivery-table td{white-space:normal}.code-delivery-table .copy-code-btn{width:100%}}


/* FIX_USER_HOME_UI_20260624_V19 */
.home-login-card{max-width:620px!important}
.user-summary-card{border-color:#2563eb}
.user-summary-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.user-summary-balance{background:#111827;border:1px solid #334155;border-radius:14px;padding:12px 14px;min-width:220px}
.deposit-guide-card{border-color:#38bdf8}
@media(max-width:760px){.user-summary-main{align-items:flex-start;flex-direction:column}.user-summary-balance{width:100%;min-width:0}.home-login-card{max-width:none!important}}

.ok-text{color:#16a34a;font-weight:700}.bad-text{color:#dc2626;font-weight:700}.deposit-countdown-line{margin-top:6px;font-size:15px}.deposit-countdown{font-variant-numeric:tabular-nums}.checkline{display:flex;align-items:center;gap:8px;margin:10px 0 14px;font-weight:600}.soft-card{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.25)}

/* FIX_SITE_IMAGES_PROMO_20260624_V22 */
.brand{display:flex;align-items:center;gap:10px}.site-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;background:#fff;padding:2px;flex:0 0 auto}.home-banners{display:grid;gap:14px;margin:14px 0}.home-banner-item{border-radius:18px;overflow:hidden;border:1px solid #334155;background:#111827}.home-banner-item a{display:block}.home-banner-item img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.admin-image-preview{display:inline-flex;align-items:center;justify-content:center;max-width:260px;background:#111827;border:1px solid #334155;border-radius:14px;padding:10px;margin:8px 0}.admin-image-preview img{display:block;max-width:100%;max-height:120px;object-fit:contain;border-radius:10px}.admin-image-preview.banner{display:flex;max-width:100%;width:100%}.admin-image-preview.banner img{width:100%;max-height:190px;object-fit:cover}.banner-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.banner-admin-card{margin:0}.deposit-promo-card{border-color:#fbbf24;background:linear-gradient(135deg,rgba(113,63,18,.85),rgba(30,41,59,.95))}.promo-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.promo-rule-item{background:#111827;border:1px solid rgba(251,191,36,.45);border-radius:14px;padding:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.promo-rule-item span{color:#cbd5e1}.promo-rule-item b{color:#fff}.promo-rule-item strong{margin-left:auto;color:#22c55e;font-size:20px}
@media(max-width:760px){.site-logo{width:30px;height:30px}.home-banner-item img{max-height:240px}.promo-rule-item strong{margin-left:0;width:100%}.admin-image-preview{max-width:100%}}

/* FIX_USER_LOGO_NAV_PROMO_20260624_V23 */
.brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:320px;line-height:1.2;flex:0 1 auto}
.brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-logo{display:block;width:auto!important;height:auto!important;max-width:170px!important;max-height:42px!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;flex:0 0 auto}
.user-menu a{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;white-space:nowrap}
.nav-ico{display:inline-flex;align-items:center;justify-content:center;width:1.15em;line-height:1;font-size:1.05em;flex:0 0 auto}
.promo-rule-item{gap:7px;justify-content:flex-start;white-space:normal}
.promo-rule-item .promo-gift{font-size:18px;line-height:1;color:#fbbf24}
.promo-rule-item strong{margin-left:2px;white-space:nowrap}
@media(max-width:760px){
  .nav{gap:10px}
  .brand{width:100%;max-width:100%;justify-content:flex-start;font-size:18px}
  .site-logo{max-width:150px!important;max-height:38px!important}
  .user-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  .user-menu a{width:100%;padding:10px 8px;text-align:center;min-height:42px}
  .promo-rule-grid{grid-template-columns:1fr}
  .promo-rule-item{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;padding:11px 12px}
  .promo-rule-item b{white-space:nowrap}
  .promo-rule-item strong{width:auto!important;margin-left:auto!important;font-size:18px!important}
}
@media(max-width:420px){
  .site-logo{max-width:135px!important;max-height:34px!important}
  .brand{font-size:17px}
  .user-menu a{font-size:13px;padding:9px 6px}
  .nav-ico{font-size:1em}
}

/* SUPPORT_TICKETS_20260624_V24 */
.menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-weight:900;line-height:1;margin-left:3px}.support-create-card textarea{min-height:130px}.support-thread{display:flex;flex-direction:column;gap:12px}.ticket-message{display:flex;width:100%}.ticket-message.from-user{justify-content:flex-end}.ticket-message.from-admin{justify-content:flex-start}.ticket-bubble{max-width:min(760px,88%);background:#111827;border:1px solid #334155;border-radius:16px;padding:12px 14px;box-shadow:0 8px 22px rgba(0,0,0,.16)}.ticket-message.from-user .ticket-bubble{border-color:#2563eb;background:#172554}.ticket-message.from-admin .ticket-bubble{border-color:#475569}.ticket-meta{font-size:13px;color:#94a3b8;margin-bottom:7px}.ticket-text{white-space:normal;overflow-wrap:anywhere;line-height:1.55}.ticket-images{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.ticket-images a{display:block;border-radius:12px;overflow:hidden;border:1px solid #334155;background:#020617}.ticket-images img{display:block;width:140px;height:110px;object-fit:cover}.support-thread+.card form{margin:0}.actions form{display:inline-block;margin:0}@media(max-width:760px){.ticket-bubble{max-width:96%;padding:11px 12px}.ticket-images img{width:112px;height:88px}.support-thread{overflow:visible}.menu-badge{min-width:18px;height:18px;font-size:11px;padding:0 5px}}

/* FIX_TICKET_UI_AUTOREFRESH_TELEGRAM_20260624_V25 */
.support-thread-card{background:linear-gradient(180deg,rgba(30,41,59,.98),rgba(15,23,42,.98));border-color:rgba(96,165,250,.35)}
.ticket-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;border-bottom:1px solid rgba(148,163,184,.2);padding-bottom:12px}
.ticket-thread-head h2{margin-bottom:4px}.ticket-thread-head .muted{margin:0}.ticket-refresh-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#0f172a;border:1px solid #334155;color:#cbd5e1;font-size:12px;font-weight:800;white-space:nowrap}.ticket-refresh-status.ok{background:#14532d;color:#bbf7d0;border-color:#16a34a}.ticket-refresh-status.bad{background:#7f1d1d;color:#fecaca;border-color:#dc2626}
.support-thread{display:flex;flex-direction:column;gap:16px;overflow:visible}.ticket-message{display:flex;width:100%;gap:10px;align-items:flex-end}.ticket-message.from-user{justify-content:flex-end}.ticket-message.from-admin{justify-content:flex-start}.ticket-message.from-user .ticket-avatar{order:2;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff}.ticket-message.from-user .ticket-bubble{order:1}.ticket-message.from-admin .ticket-avatar{background:linear-gradient(135deg,#f59e0b,#facc15);color:#1e293b}.ticket-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;font-weight:900;box-shadow:0 10px 20px rgba(0,0,0,.25);flex:0 0 34px}
.ticket-bubble{position:relative;max-width:min(760px,82%);border-radius:18px;padding:13px 15px;box-shadow:0 14px 34px rgba(0,0,0,.22);overflow:hidden}.ticket-message.from-user .ticket-bubble{background:linear-gradient(135deg,#1d4ed8,#172554);border:1px solid rgba(147,197,253,.42);border-bottom-right-radius:6px}.ticket-message.from-admin .ticket-bubble{background:linear-gradient(135deg,#111827,#1e293b);border:1px solid rgba(251,191,36,.28);border-bottom-left-radius:6px}.ticket-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;color:#cbd5e1;font-size:12px}.ticket-sender{font-size:14px;font-weight:900;color:#fff}.ticket-role{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.1);color:#e2e8f0;font-size:11px;font-weight:800}.ticket-meta time{color:#94a3b8;font-variant-numeric:tabular-nums}.ticket-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.6;color:#f8fafc;font-size:15px}.ticket-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px;max-width:560px}.ticket-image-link{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid rgba(148,163,184,.35);background:#020617;text-decoration:none!important}.ticket-images img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:170px!important;object-fit:contain!important;border-radius:0!important;background:#020617}.ticket-image-link:hover{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.2)}
@media(max-width:760px){.ticket-thread-head{flex-direction:column}.ticket-refresh-status{width:100%;justify-content:center}.support-thread{gap:14px}.ticket-avatar{width:30px;height:30px;flex-basis:30px;font-size:13px}.ticket-bubble{max-width:calc(100% - 44px);padding:12px;border-radius:15px}.ticket-meta{gap:6px}.ticket-role{display:none}.ticket-text{font-size:14px}.ticket-images{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;gap:8px}.ticket-images img{max-height:135px!important}.ticket-message.from-user .ticket-bubble{border-bottom-right-radius:5px}.ticket-message.from-admin .ticket-bubble{border-bottom-left-radius:5px}}
@media(max-width:420px){.ticket-images{grid-template-columns:1fr}.ticket-images img{max-height:180px!important}.ticket-avatar{display:none}.ticket-bubble{max-width:100%}}


/* Ticket inbox badge and support history ordering polish */
.nav-support{position:relative;overflow:visible}.nav-support.has-ticket-unread{border-color:rgba(239,68,68,.85);box-shadow:0 0 0 1px rgba(239,68,68,.28),0 10px 26px rgba(239,68,68,.14);animation:ticketPulse 1.8s ease-in-out infinite}.ticket-mail-badge{gap:3px;min-width:auto;height:22px;padding:0 8px;background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 6px 14px rgba(239,68,68,.32);white-space:nowrap}.ticket-unread-row{background:rgba(59,130,246,.08)}.ticket-unread-row td{border-top-color:rgba(96,165,250,.24)}.ticket-new-pill{display:inline-flex;align-items:center;margin-left:6px;padding:3px 8px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.45);color:#86efac;font-size:12px;font-weight:900;white-space:nowrap}.support-history-card{border-color:rgba(96,165,250,.3)}@keyframes ticketPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}@media(max-width:760px){.ticket-mail-badge{height:20px;padding:0 7px;font-size:11px}.nav-support.has-ticket-unread{animation:none}.ticket-new-pill{display:inline-flex;margin-top:5px;margin-left:0}}

/* FIX_ADMIN_USERS_PAGINATION_STATUS_20260624_V31 */
.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}.bottom-toolbar{margin:12px 0 0}.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-account-pill{margin-top:6px}.pill.muted{background:#334155;color:#cbd5e1}@media(max-width:760px){.table-toolbar{align-items:flex-start;flex-direction:column}.pagination{width:100%}.pagination .btn{flex:1;text-align:center}.card select[name="per_page"]{min-width:140px}}


/* ADMIN_USERS_SORT_STATS_DAYS_PAGINATION_20260626_V10 */
.users-stats-grid{margin:12px 0 16px}.users-filter-form{margin-top:12px}.users-filter-form select[name="sort"]{min-width:190px}.pagination-current{background:#0ea5e9!important;color:#fff!important;cursor:default}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:32px;color:#94a3b8;font-weight:900}.pagination .btn{min-width:34px;text-align:center}
@media(max-width:760px){.users-filter-form .inline{align-items:stretch}.users-filter-form .search,.users-filter-form select,.users-filter-form .btn{max-width:none;width:100%}.pagination-ellipsis{flex:0 0 auto}.pagination .btn{flex:0 0 auto}}

/* Admin toggle switches */
.admin-switch-line{display:inline-flex;align-items:center;gap:10px;margin:8px 0 14px;cursor:pointer;font-weight:700}
.admin-switch{position:relative;display:inline-block;width:54px;height:30px;flex:0 0 54px}
.admin-switch input{opacity:0;width:0!important;height:0!important;margin:0;padding:0;border:0}
.admin-switch-slider{position:absolute;cursor:pointer;inset:0;background:#475569;border-radius:999px;transition:.18s}
.admin-switch-slider:before{position:absolute;content:"";height:24px;width:24px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.admin-switch input:checked + .admin-switch-slider{background:#16a34a}
.admin-switch input:checked + .admin-switch-slider:before{transform:translateX(24px)}
.admin-switch-text{line-height:1.35}
.product-back-wrap{margin:0 0 14px}.product-back-bottom{margin:16px 0 0}.product-back-btn{background:#b91c1c!important;color:#fff!important;border:1px solid #fecaca;box-shadow:0 8px 18px rgba(185,28,28,.24)}.product-back-btn:hover{background:#dc2626!important;text-decoration:none}.product-buy-error .product-deposit-now{margin-top:10px}.product-buy-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:10px}.product-buy-row .buy-qty{flex:1 1 auto;min-width:0}.product-buy-row .product-buy-submit{flex:0 0 auto;min-width:118px}.product-qty-modal .modal-box{border-color:#ef4444}.product-qty-modal h3{color:#fecaca}.ok-text{color:#22c55e;font-weight:800}@media(max-width:520px){.product-buy-row{flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-end!important}.product-buy-row .buy-qty{width:auto!important;flex:1 1 auto!important}.product-buy-row .product-buy-submit{width:auto!important;flex:0 0 auto!important;padding-left:12px;padding-right:12px}.product-buy-row label{font-size:13px}.product-buy-row input{padding:10px 9px}.product-back-btn{width:100%;text-align:center}}


/* ADMIN_DEPOSIT_ORDER_STATS_SEARCH_20260627_V21 */
.admin-compact-statbar{display:flex;align-items:stretch;gap:8px;flex-wrap:nowrap;margin:12px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.admin-compact-statbar .compact-stat{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;flex:1 1 0;background:#111827;border:1px solid #334155;border-radius:13px;padding:11px 12px;color:#cbd5e1;white-space:nowrap;font-size:14px}
.admin-compact-statbar .compact-stat b{color:#fff;font-size:15px}.admin-period-statbar .compact-stat b{color:#fbbf24}.admin-summary-statbar .compact-stat b{color:#22c55e}
@media(max-width:760px){.admin-compact-statbar{gap:6px;margin:10px 0;overflow-x:visible}.admin-compact-statbar .compact-stat{padding:9px 6px;border-radius:10px;font-size:11px;gap:3px;letter-spacing:-.2px}.admin-compact-statbar .compact-stat b{font-size:11px}.admin-compact-statbar .compact-stat span{font-size:11px}.card form .inline .search{max-width:none;min-width:220px}}
@media(max-width:420px){.admin-compact-statbar .compact-stat{padding-left:4px;padding-right:4px;font-size:10.5px}.admin-compact-statbar .compact-stat b,.admin-compact-statbar .compact-stat span{font-size:10.5px}}

/* ADMIN_DEPOSIT_STATS_LAYOUT_20260627_V22 */
.admin-deposit-stat-grid{display:flex;flex-direction:column;gap:10px;margin:14px 0 16px}
.admin-deposit-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.deposit-stat-card{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;background:#111827;border:1px solid #334155;border-radius:16px;padding:15px 16px;color:#dbeafe;white-space:nowrap;font-size:17px;font-weight:700;box-shadow:0 8px 18px rgba(15,23,42,.22)}
.deposit-stat-card span{color:#cbd5e1;font-size:17px}.deposit-stat-card b{color:#fbbf24;font-size:19px;line-height:1.1}.deposit-stat-pending b{color:#f97316}.deposit-stat-total b{color:#22c55e}
@media(max-width:760px){.admin-deposit-stat-grid{gap:8px;margin:12px 0 14px}.admin-deposit-stat-row{gap:7px}.deposit-stat-card{padding:13px 8px;border-radius:13px;font-size:14.5px;gap:4px;letter-spacing:-.2px}.deposit-stat-card span,.deposit-stat-card b{font-size:14.5px}}
@media(max-width:420px){.deposit-stat-card{padding:12px 5px;font-size:12.8px;gap:3px}.deposit-stat-card span,.deposit-stat-card b{font-size:12.8px}}


/* BLOG_SEO_CONTENT_20260627_V1 */
.blog-hero-card{border-color:rgba(56,189,248,.32)}
.blog-grid{align-items:stretch}.blog-card{display:flex;flex-direction:column;gap:10px;overflow:hidden}.blog-card h2{margin-bottom:4px}.blog-card .actions{margin-top:auto}.blog-cover-link{display:block;margin:-18px -18px 8px}.blog-cover,.blog-detail-cover{display:block;width:100%;height:auto;border-radius:14px;background:#020617;object-fit:cover}.blog-card .blog-cover{aspect-ratio:16/9;border-radius:16px 16px 0 0}.blog-excerpt,.blog-detail-excerpt{color:#cbd5e1;line-height:1.65}.blog-date{font-size:13px;margin:0 0 6px}.blog-detail-card{max-width:920px;margin-left:auto;margin-right:auto}.blog-detail-card h1{font-size:34px;line-height:1.2}.blog-detail-cover{max-height:520px;object-fit:cover;margin:16px 0}.blog-content{font-size:16px;line-height:1.8;color:#e5e7eb}.blog-content p{margin:.85rem 0}.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{margin:1.45rem 0 .65rem;line-height:1.3}.blog-content img,.rich-text img,.product-desc img{display:block;max-width:100%;height:auto;border-radius:14px;margin:12px auto;background:#020617}.blog-content figure{margin:16px 0}.blog-content figcaption{font-size:13px;color:#94a3b8;text-align:center}.home-blog-card{border-color:rgba(34,197,94,.28)}.blog-card-mini{background:#111827;border:1px solid #334155;border-radius:14px;padding:14px}.blog-card-mini .blog-cover{aspect-ratio:16/9;margin:0 0 10px}.blog-card-mini h2{font-size:18px;margin-bottom:8px}.admin-image-preview.blog-cover-preview img{max-height:220px;object-fit:contain}.blog-admin-table td:nth-child(3){min-width:260px}.note-editor .note-editable img{max-width:100%;height:auto}
@media(max-width:760px){.blog-detail-card h1{font-size:26px}.blog-cover-link{margin:-14px -14px 8px}.blog-content{font-size:15px;line-height:1.7}.blog-admin-table{display:block;overflow-x:auto}.home-blog-grid{grid-template-columns:1fr}}


/* BLOG_EDITOR_IMAGE_TOOLS_MOBILE_20260627_V2 */
.blog-editor-card{overflow:visible!important}.blog-editor-wrap{overflow:visible}.blog-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.blog-image-upload-input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.blog-image-tools{display:block;background:#0f172a;border:1px solid rgba(96,165,250,.38);border-radius:14px;padding:14px;margin:12px 0}.blog-image-tools[hidden]{display:none!important}.blog-image-tools-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.blog-image-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.blog-image-tool-buttons{margin-top:4px}.note-editor .note-editable img.blog-editor-selected-image{outline:3px solid #38bdf8!important;outline-offset:3px}.blog-editor-card .note-editor.note-frame{overflow:visible!important}.blog-editor-card .note-toolbar{position:relative;z-index:20}.blog-editor-card .note-editing-area{overflow:visible}.note-popover,.note-modal{z-index:15000!important}.note-modal-backdrop{z-index:14990!important}.note-dropdown-menu{z-index:15100!important}
@media(max-width:760px){.blog-editor-card.card{overflow:visible!important}.blog-editor-actions .btn{flex:1 1 100%;text-align:center}.blog-image-tools-grid{grid-template-columns:1fr 1fr}.blog-image-tool-buttons .btn{flex:1 1 100%;text-align:center}.blog-editor-card .note-editor{width:100%;max-width:100%;touch-action:manipulation}.blog-editor-card .note-toolbar{display:flex!important;flex-wrap:wrap!important;gap:4px;white-space:normal!important;overflow:visible!important;padding:8px!important}.blog-editor-card .note-btn-group{display:flex!important;flex-wrap:wrap!important;margin:2px!important}.blog-editor-card .note-btn{padding:8px 9px!important;min-height:36px!important;touch-action:manipulation;line-height:1.2!important}.blog-editor-card .note-dropdown-menu{position:absolute!important;max-width:calc(100vw - 28px);white-space:normal!important}.blog-editor-card .note-editable{min-height:260px!important;font-size:15px}.blog-editor-card .note-statusbar{touch-action:none}.blog-editor-card .note-resizebar{display:none!important}}
@media(max-width:420px){.blog-image-tools-grid{grid-template-columns:1fr}.blog-editor-card .note-btn{font-size:12px!important;padding-left:7px!important;padding-right:7px!important}}

/* BLOG_CKEDITOR4_CLASSIC_EDITOR_20260627_V1 */
.blog-editor-card{overflow:visible!important}.blog-editor-wrap{overflow:visible!important}.blog-editor-card .cke_chrome{width:100%!important;max-width:100%;border:1px solid rgba(148,163,184,.35)!important;border-radius:12px!important;overflow:hidden!important;background:#f8fafc!important}.blog-editor-card .cke_top{background:#f1f5f9!important;border-bottom:1px solid rgba(148,163,184,.35)!important;white-space:normal!important}.blog-editor-card .cke_bottom{background:#f8fafc!important;border-top:1px solid rgba(148,163,184,.35)!important}.blog-editor-card .cke_wysiwyg_frame,.blog-editor-card .cke_wysiwyg_div{background:#fff!important;color:#0f172a!important}.cke_dialog,.cke_combopanel,.cke_panel,.cke_menu_panel{z-index:19000!important}.cke_dialog_background_cover{z-index:18990!important}.cke_dialog_body,.cke_dialog_contents_body{max-width:calc(100vw - 24px)!important}.ckeditor4-blog-editor{min-height:360px}.blog-content img[align=left]{margin-right:14px;margin-left:0}.blog-content img[align=right]{margin-left:14px;margin-right:0}.blog-content img[align=middle],.blog-content img[align=center]{display:block;margin-left:auto;margin-right:auto}
@media(max-width:760px){.blog-editor-card.card{overflow:visible!important}.blog-editor-card .cke_chrome{touch-action:manipulation}.blog-editor-card .cke_top{overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch}.blog-editor-card .cke_toolgroup,.blog-editor-card .cke_combo_button{margin-bottom:4px!important}.blog-editor-card .cke_button{padding:8px 9px!important;min-height:36px!important;touch-action:manipulation}.blog-editor-card .cke_combo_text{max-width:90px}.cke_dialog{max-width:calc(100vw - 12px)!important}.cke_dialog_body{max-width:calc(100vw - 12px)!important}.cke_dialog_contents{max-width:calc(100vw - 18px)!important;overflow:auto!important}.cke_dialog_ui_input_text,.cke_dialog_ui_input_select,.cke_dialog_ui_input_textarea{max-width:100%!important}.cke_dialog_footer_buttons{white-space:normal!important}.cke_dialog_footer_buttons a.cke_dialog_ui_button{margin-top:6px!important}.blog-editor-card iframe.cke_wysiwyg_frame{min-height:280px!important}}
.blog-content img[align=left]{float:left;margin:8px 14px 8px 0!important}.blog-content img[align=right]{float:right;margin:8px 0 8px 14px!important}.blog-content img[align=middle],.blog-content img[align=center]{float:none;display:block;margin:12px auto!important}

/* BLOG_CKEDITOR4_COMPACT_TOOLBAR_DIALOG_FIX_20260627_V2 */
.blog-editor-card .cke_top{overflow:visible!important;white-space:normal!important}
.blog-editor-card .cke_toolbox{display:flex!important;flex-wrap:wrap!important;gap:3px!important}
.blog-editor-card .cke_toolbar{margin-right:4px!important;margin-bottom:4px!important}
.blog-editor-card .cke_toolgroup{margin:0 4px 4px 0!important}
.blog-editor-card .cke_button{min-height:30px!important;touch-action:manipulation}
.cke_dialog_background_cover{z-index:2147483000!important;pointer-events:none!important}
.cke_dialog{z-index:2147483001!important;pointer-events:auto!important}
.cke_dialog_body,.cke_dialog_contents,.cke_dialog_contents_body{box-sizing:border-box!important}
.cke_dialog input,.cke_dialog textarea,.cke_dialog select,.cke_dialog a,.cke_dialog button{pointer-events:auto!important;touch-action:manipulation}
.cke_dialog_ui_input_text input,.cke_dialog_ui_input_password input,.cke_dialog_ui_input_textarea textarea{font-size:16px!important;min-height:36px!important;box-sizing:border-box!important}
.cke_dialog_ui_input_select select{font-size:16px!important;min-height:36px!important}
@media(max-width:760px){
  .blog-editor-card .cke_chrome{overflow:visible!important}
  .blog-editor-card .cke_top{overflow:visible!important;padding:7px!important}
  .blog-editor-card .cke_toolbar{float:none!important;display:inline-flex!important;flex-wrap:wrap!important;vertical-align:top!important}
  .blog-editor-card .cke_toolgroup{display:flex!important;flex-wrap:wrap!important}
  .blog-editor-card .cke_button{padding:8px 8px!important;min-width:34px!important;min-height:36px!important}
  .blog-editor-card .cke_combo{margin-bottom:4px!important}
  .blog-editor-card .cke_combo_button{min-height:36px!important;display:flex!important;align-items:center!important}
  .blog-editor-card .cke_combo_text{max-width:78px!important}
  .cke_dialog{position:fixed!important;left:6px!important;right:6px!important;top:10px!important;width:auto!important;max-width:calc(100vw - 12px)!important;max-height:calc(100vh - 20px)!important;overflow:visible!important;margin:0!important}
  .cke_dialog_body{width:100%!important;max-width:100%!important;max-height:calc(100vh - 20px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
  .cke_dialog_title{white-space:normal!important;padding-right:34px!important}
  .cke_dialog_contents{width:100%!important;max-width:100%!important;overflow:auto!important}
  .cke_dialog_contents_body{width:100%!important;max-width:100%!important;max-height:calc(100vh - 155px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px!important}
  .cke_dialog_ui_vbox,.cke_dialog_ui_hbox{max-width:100%!important}
  .cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{max-width:100%!important}
  .cke_dialog_ui_hbox tbody,.cke_dialog_ui_hbox tr,.cke_dialog_ui_hbox td{max-width:100%!important}
  .cke_dialog_ui_input_text,.cke_dialog_ui_input_textarea,.cke_dialog_ui_input_select{max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  .cke_dialog_ui_input_text input,.cke_dialog_ui_input_textarea textarea,.cke_dialog_ui_input_select select{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .cke_dialog_footer{position:sticky!important;bottom:0!important;z-index:1!important;background:#f2f2f2!important}
  .cke_dialog_footer_buttons{white-space:normal!important;text-align:right!important;padding:8px!important}
  .cke_dialog_footer_buttons a.cke_dialog_ui_button{margin-top:6px!important;min-height:36px!important;line-height:28px!important}
  .cke_dialog_ui_html,.cke_dialog_ui_html *{max-width:100%!important;box-sizing:border-box!important}
}
@media(max-width:420px){
  .blog-editor-card .cke_button{padding-left:7px!important;padding-right:7px!important;min-width:32px!important}
  .blog-editor-card .cke_combo_text{max-width:68px!important}
  .cke_dialog{left:4px!important;right:4px!important;top:8px!important;max-width:calc(100vw - 8px)!important}
  .cke_dialog_contents_body{max-height:calc(100vh - 148px)!important;padding:8px!important}
}

/* BLOG_CKEDITOR4_TOOLBAR_DIALOG_POLISH_20260627_V3
   Sửa toolbar CKEditor 4 bị thưa trên mobile và tránh CSS chung của admin đè vào hộp thoại Image Properties. */
.blog-editor-card .cke_chrome{
  overflow:hidden!important;
  border-radius:12px!important;
}
.blog-editor-card .cke_top{
  padding:6px 7px 3px!important;
  overflow:visible!important;
  white-space:normal!important;
  background:#f1f5f9!important;
}
.blog-editor-card .cke_toolbox{
  display:block!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1!important;
}
.blog-editor-card .cke_toolbox:after{
  content:"";
  display:block;
  clear:both;
}
.blog-editor-card .cke_toolbar{
  float:left!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0 5px 5px 0!important;
  padding:0!important;
  clear:none!important;
}
.blog-editor-card .cke_toolgroup{
  display:inline-block!important;
  vertical-align:top!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
.blog-editor-card .cke_button{
  display:inline-block!important;
  vertical-align:top!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:5px 6px!important;
  margin:0!important;
  line-height:1!important;
  touch-action:manipulation;
}
.blog-editor-card .cke_button_label{
  line-height:18px!important;
}
.blog-editor-card .cke_toolbar_separator{
  display:none!important;
}
.blog-editor-card .cke_combo{
  float:left!important;
  display:block!important;
  width:auto!important;
  margin:0 5px 5px 0!important;
  clear:none!important;
}
.blog-editor-card .cke_combo_button{
  min-height:29px!important;
  height:29px!important;
  display:inline-flex!important;
  align-items:center!important;
}
.blog-editor-card .cke_combo_text{
  max-width:86px!important;
  line-height:27px!important;
}
.blog-editor-card .cke_combo_open{
  line-height:27px!important;
}
.blog-editor-card .cke_bottom{
  padding:4px 8px!important;
}

/* CKEditor dialog phải nằm trên mọi lớp admin, còn lớp nền không được làm mờ/đè vào nội dung dialog. */
.cke_dialog{
  z-index:2147483600!important;
  pointer-events:auto!important;
}
.cke_dialog_background_cover{
  z-index:2147483500!important;
  background:transparent!important;
  opacity:0!important;
  pointer-events:none!important;
}
.cke_dialog,.cke_dialog *{
  box-sizing:border-box!important;
}
.cke_dialog table{
  display:table!important;
  width:auto!important;
  max-width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible!important;
  white-space:normal!important;
}
.cke_dialog th,.cke_dialog td{
  display:table-cell!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  vertical-align:top!important;
  white-space:normal!important;
}
.cke_dialog input,.cke_dialog textarea,.cke_dialog select{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #a9a9a9!important;
  border-radius:2px!important;
  padding:4px 6px!important;
  font-size:14px!important;
  box-shadow:none!important;
}
.cke_dialog .cke_dialog_ui_input_text input,
.cke_dialog .cke_dialog_ui_input_password input,
.cke_dialog .cke_dialog_ui_input_textarea textarea,
.cke_dialog .cke_dialog_ui_input_select select{
  width:100%!important;
  max-width:100%!important;
}
.cke_dialog .cke_dialog_body{
  box-shadow:0 18px 60px rgba(0,0,0,.45)!important;
}
.cke_dialog .cke_dialog_contents_body{
  overflow:auto!important;
}
.cke_dialog .cke_dialog_ui_button{
  width:auto!important;
}

@media(max-width:760px){
  .blog-editor-card .cke_top{
    padding:5px!important;
    overflow:visible!important;
  }
  .blog-editor-card .cke_toolbox{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:4px!important;
  }
  .blog-editor-card .cke_toolbox:after{
    display:none!important;
  }
  .blog-editor-card .cke_toolbar{
    float:none!important;
    display:flex!important;
    width:auto!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .blog-editor-card .cke_toolgroup{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  .blog-editor-card .cke_button{
    min-width:30px!important;
    min-height:32px!important;
    padding:6px 7px!important;
  }
  .blog-editor-card .cke_combo{
    float:none!important;
    display:flex!important;
    width:auto!important;
    max-width:calc(50vw - 16px)!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .blog-editor-card .cke_combo_button{
    max-width:100%!important;
  }
  .blog-editor-card .cke_combo_text{
    max-width:72px!important;
  }
  .blog-editor-card .cke_wysiwyg_frame,
  .blog-editor-card .cke_wysiwyg_div{
    min-height:300px!important;
  }
  .cke_dialog{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:10px!important;
    width:auto!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 20px)!important;
    margin:0!important;
    overflow:visible!important;
  }
  .cke_dialog_body{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100vh - 20px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .cke_dialog_contents{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .cke_dialog_contents_body{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100vh - 158px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px!important;
  }
  .cke_dialog_ui_hbox,
  .cke_dialog_ui_vbox,
  .cke_dialog_ui_hbox table,
  .cke_dialog_ui_vbox table{
    max-width:100%!important;
  }
  .cke_dialog_footer{
    position:sticky!important;
    bottom:0!important;
    z-index:2!important;
    background:#f2f2f2!important;
  }
  .cke_dialog_footer_buttons{
    padding:8px!important;
    text-align:right!important;
    white-space:normal!important;
  }
  .cke_dialog_footer_buttons a.cke_dialog_ui_button{
    min-height:36px!important;
    margin-top:6px!important;
  }
}
@media(max-width:420px){
  .blog-editor-card .cke_button{
    min-width:29px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .blog-editor-card .cke_combo_text{
    max-width:64px!important;
  }
  .cke_dialog{
    left:5px!important;
    right:5px!important;
    top:8px!important;
    max-width:calc(100vw - 10px)!important;
  }
  .cke_dialog_contents_body{
    max-height:calc(100vh - 150px)!important;
    padding:8px!important;
  }
}

/* BLOG_IMAGE_LINK_UPLOAD_AND_VIEWS_20260627_V1 */
.blog-image-link-uploader{background:rgba(15,23,42,.65);border:1px solid rgba(96,165,250,.32);border-radius:14px;padding:14px;margin:14px 0 16px}
.blog-image-link-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.blog-image-link-box input[type=file]{flex:1 1 260px;min-width:0}
.blog-upload-url-row{margin-top:10px}
.blog-upload-url-row input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px}
.blog-upload-status{margin-top:8px;min-height:20px}.blog-upload-status.ok-text{color:#86efac}.blog-upload-status.bad-text{color:#fca5a5}
.blog-inline-image-preview{margin-top:10px}.blog-inline-image-preview img{max-height:180px;object-fit:contain;background:#020617;border-radius:12px}
.blog-admin-table th:nth-child(5),.blog-admin-table td:nth-child(5){text-align:center;white-space:nowrap}
@media(max-width:760px){.blog-image-link-box{display:grid;grid-template-columns:1fr;gap:8px}.blog-image-link-box .btn{width:100%;text-align:center}.blog-upload-url-row input{font-size:12px}.blog-admin-table th:nth-child(5),.blog-admin-table td:nth-child(5){text-align:left}}

/* ADMIN_MENU_MOBILE_SIDEBAR_20260627_V1 */
.admin-top{position:sticky;top:0;z-index:1200;background:rgba(15,23,42,.96);backdrop-filter:blur(10px)}
.admin-nav{align-items:flex-start}.admin-brand{gap:9px;min-height:42px}.admin-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(59,130,246,.14);border:1px solid rgba(96,165,250,.24);font-size:16px}
.admin-menu{gap:7px;align-items:center;justify-content:flex-end;flex:1}.admin-menu .admin-nav-link,.admin-side-menu .admin-nav-link{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(148,163,184,.22);background:rgba(30,41,59,.78);color:#e5e7eb;text-decoration:none!important;box-shadow:none;text-shadow:none;line-height:1.15;white-space:nowrap}
.admin-menu .admin-nav-link:hover,.admin-side-menu .admin-nav-link:hover{background:rgba(51,65,85,.96);border-color:rgba(96,165,250,.45);color:#fff;text-decoration:none;filter:none}
.admin-menu .admin-nav-link.active,.admin-side-menu .admin-nav-link.active{background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(30,64,175,.92));border-color:rgba(147,197,253,.62);color:#fff;box-shadow:0 0 0 1px rgba(147,197,253,.12)}
.admin-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;background:rgba(15,23,42,.34);font-size:14px;line-height:1;flex:0 0 22px;filter:saturate(.9);opacity:.94}.admin-nav-text{display:inline-flex;align-items:center;gap:4px;min-width:0}.admin-menu-toggle{display:none;align-items:center;gap:8px;border:1px solid rgba(96,165,250,.35);border-radius:12px;background:rgba(30,41,59,.92);color:#e5e7eb;font-weight:900;padding:10px 12px;cursor:pointer}.admin-menu-toggle:hover{background:rgba(51,65,85,.98)}
.admin-side-overlay{display:none;position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:1998}.admin-side-menu{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);transform:translateX(-105%);background:#0f172a;border-right:1px solid rgba(148,163,184,.22);box-shadow:22px 0 60px rgba(0,0,0,.42);z-index:1999;transition:transform .22s ease;display:flex;flex-direction:column}.admin-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 14px;border-bottom:1px solid rgba(148,163,184,.2);background:#111827;color:#fff}.admin-side-close{width:36px;height:36px;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#1e293b;color:#fff;font-size:24px;line-height:1;cursor:pointer}.admin-side-links{display:flex;flex-direction:column;gap:8px;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}.admin-side-links .admin-side-link{width:100%;justify-content:flex-start;padding:11px 12px;border-radius:12px}.admin-side-open{overflow:hidden}.admin-side-open .admin-side-overlay{display:block}.admin-side-open .admin-side-menu{transform:translateX(0)}
@media(max-width:760px){.admin-nav{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.admin-brand{font-size:18px}.admin-menu-toggle{display:inline-flex}.admin-menu{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;justify-content:stretch}.admin-menu .admin-nav-link{justify-content:center;width:100%;padding:10px 8px;border-radius:12px;font-size:13px}.admin-menu .admin-nav-side-item{display:none!important}.admin-nav-icon{width:21px;height:21px;flex-basis:21px;font-size:13px}.admin-nav-text{overflow:hidden;text-overflow:ellipsis}.admin-side-menu .admin-nav-text{overflow:visible;white-space:normal}.admin-side-links .admin-nav-link{font-size:14px}.admin-side-links .menu-badge{margin-left:auto}}
@media(min-width:761px){.admin-side-overlay,.admin-side-menu{display:none!important}.admin-menu-toggle{display:none!important}.admin-menu .admin-nav-link{padding:9px 11px;border-radius:11px;font-size:13px}.admin-menu .admin-nav-icon{width:20px;height:20px;flex-basis:20px;font-size:13px}}
@media(max-width:420px){.admin-menu{grid-template-columns:1fr}.admin-menu .admin-nav-link{justify-content:flex-start}.admin-menu-toggle{padding:9px 10px}.admin-side-menu{width:min(300px,88vw)}}

/* USER_HOME_ADMIN_SHARED_UI_20260627_V1 */
body.user-home-admin-like{background:#0f172a;color:#e5e7eb}
.user-home-admin-like .top{position:sticky;top:0;z-index:1100;background:rgba(15,23,42,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,.22);box-shadow:0 10px 28px rgba(2,6,23,.28)}
.user-home-admin-like .nav{align-items:flex-start;gap:12px}
.user-home-admin-like .brand{display:flex;align-items:center;gap:9px;min-height:42px;color:#fff;text-decoration:none!important;max-width:320px;line-height:1.2;flex:0 1 auto}
.user-home-admin-like .brand:before{content:"🏠";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(59,130,246,.14);border:1px solid rgba(96,165,250,.24);font-size:16px;flex:0 0 30px}
.user-home-admin-like .brand .site-logo + span{max-width:190px}
.user-home-admin-like .brand.user-brand-has-logo:before{display:none}
.user-home-admin-like .user-menu{gap:7px;align-items:center;justify-content:flex-end;flex:1;width:auto}
.user-home-admin-like .user-menu a{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(148,163,184,.22);background:rgba(30,41,59,.78);color:#e5e7eb;text-decoration:none!important;box-shadow:none;text-shadow:none;line-height:1.15;white-space:nowrap;border-radius:11px;padding:9px 11px;font-size:13px;font-weight:800;min-height:39px;filter:none}
.user-home-admin-like .user-menu a:hover{background:rgba(51,65,85,.96);border-color:rgba(96,165,250,.45);color:#fff;text-decoration:none;filter:none}
.user-home-admin-like .user-menu a.nav-home{background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(30,64,175,.92));border-color:rgba(147,197,253,.62);color:#fff;box-shadow:0 0 0 1px rgba(147,197,253,.12)}
.user-home-admin-like .nav-ico{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:8px;background:rgba(15,23,42,.34);font-size:13px;line-height:1;flex:0 0 21px;filter:saturate(.9);opacity:.94}
.user-home-admin-like main.wrap{padding-top:16px}
.user-home-admin-like .card{border-color:rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(30,41,59,.98),rgba(15,23,42,.96));box-shadow:0 12px 30px rgba(2,6,23,.28)}
.user-home-admin-like .home-login-card,.user-home-admin-like .user-summary-card{border-color:rgba(96,165,250,.35)}
.user-home-admin-like .user-summary-balance{background:#111827;border-color:rgba(148,163,184,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.user-home-admin-like .home-banners{margin:14px 0 16px}
.user-home-admin-like .home-banner-item{border-color:rgba(148,163,184,.24);box-shadow:0 12px 28px rgba(2,6,23,.26)}
.user-home-admin-like .product{background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(15,23,42,.98));border-color:rgba(148,163,184,.22);box-shadow:0 10px 26px rgba(2,6,23,.24)}
.user-home-admin-like .product .actions .btn,.user-home-admin-like .home-blog-card .btn,.user-home-admin-like .card>.actions .btn{border:1px solid rgba(148,163,184,.22);box-shadow:none}
.user-home-admin-like .home-blog-card{border-color:rgba(34,197,94,.28)}
.user-home-admin-like .blog-card-mini{background:#111827;border-color:rgba(148,163,184,.22);box-shadow:0 10px 22px rgba(2,6,23,.18)}
@media(max-width:760px){
  .user-home-admin-like .nav{display:grid;grid-template-columns:1fr;align-items:center;gap:10px}
  .user-home-admin-like .brand{width:100%;max-width:100%;font-size:18px;justify-content:flex-start}
  .user-home-admin-like .user-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;justify-content:stretch}
  .user-home-admin-like .user-menu a{justify-content:center;width:100%;padding:10px 8px;border-radius:12px;font-size:13px;min-height:42px}
  .user-home-admin-like .nav-ico{width:21px;height:21px;flex-basis:21px;font-size:13px}
  .user-home-admin-like .card{overflow-x:visible}
}
@media(max-width:420px){
  .user-home-admin-like .user-menu{grid-template-columns:1fr}
  .user-home-admin-like .user-menu a{justify-content:flex-start}
}

/* USER_GLOBAL_ADMIN_HEADER_SIDE_MENU_20260627_V2
   Header user dùng chung bố cục admin trên toàn bộ trang user, kèm menu trái mobile. */
body.user-admin-like{background:#0f172a;color:#e5e7eb}
.user-admin-like .user-top{position:sticky;top:0;z-index:1100;background:rgba(15,23,42,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,.22);box-shadow:0 10px 28px rgba(2,6,23,.28)}
.user-admin-like .user-nav{align-items:flex-start;gap:12px;flex-direction:row}
.user-admin-like .user-brand{display:flex;align-items:center;gap:9px;min-height:42px;color:#fff;text-decoration:none!important;max-width:320px;line-height:1.2;flex:0 1 auto}
.user-admin-like .user-brand-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.user-admin-like .user-brand .site-logo + .user-brand-title{max-width:190px}
.user-admin-like .user-menu{gap:7px;align-items:center;justify-content:flex-end;flex:1;width:auto}
.user-admin-like .user-menu .user-nav-link,.user-admin-like .user-side-menu .user-nav-link{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(148,163,184,.22);background:rgba(30,41,59,.78);color:#e5e7eb;text-decoration:none!important;box-shadow:none;text-shadow:none;line-height:1.15;white-space:nowrap;filter:none}
.user-admin-like .user-menu .user-nav-link:hover,.user-admin-like .user-side-menu .user-nav-link:hover{background:rgba(51,65,85,.96);border-color:rgba(96,165,250,.45);color:#fff;text-decoration:none;filter:none}
.user-admin-like .user-menu .user-nav-link.active,.user-admin-like .user-side-menu .user-nav-link.active{background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(30,64,175,.92));border-color:rgba(147,197,253,.62);color:#fff;box-shadow:0 0 0 1px rgba(147,197,253,.12)}
.user-admin-like .user-side-head strong{color:#fff}.user-admin-like .user-side-links .ticket-mail-badge{margin-left:auto}
.user-admin-like main.wrap{padding-top:16px}
@media(max-width:760px){
  .user-admin-like .user-nav{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:10px!important;flex-direction:initial!important}
  .user-admin-like .user-brand{width:auto!important;max-width:100%!important;font-size:18px;justify-content:flex-start;min-width:0}
  .user-admin-like .user-brand-title{max-width:calc(100vw - 150px)}
  .user-admin-like .user-menu-toggle{display:inline-flex!important;justify-self:end}
  .user-admin-like .user-menu{grid-column:1 / -1;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%;justify-content:stretch!important}
  .user-admin-like .user-menu .user-nav-link{justify-content:center;width:100%;padding:10px 8px;border-radius:12px;font-size:13px;min-height:42px}
  .user-admin-like .user-menu .user-nav-side-item{display:none!important}
  .user-admin-like .admin-nav-icon{width:21px;height:21px;flex-basis:21px;font-size:13px}
  .user-admin-like .admin-nav-text{overflow:hidden;text-overflow:ellipsis}
  .user-admin-like .user-side-menu .admin-nav-text{overflow:visible;white-space:normal}
  .user-admin-like .user-side-links .user-nav-link{font-size:14px;justify-content:flex-start;width:100%;padding:11px 12px;border-radius:12px}
  .user-admin-like .card{overflow-x:visible}
}
@media(max-width:420px){
  .user-admin-like .user-menu{grid-template-columns:1fr!important}
  .user-admin-like .user-menu .user-nav-link{justify-content:flex-start}
  .user-admin-like .user-brand-title{max-width:calc(100vw - 135px)}
}
.user-admin-like .user-brand:before{display:none!important;content:none!important}


/* USER_CACHE_TABLE_BG_20260627_V1
   Nền user trắng nhạt dịu, table cuộn ngang trên mobile để không làm vỡ layout. */
body.user-admin-like{
  background:#eef2f7!important;
  color:#1f2937!important;
}
.user-admin-like main.wrap{
  background:transparent!important;
}
.user-admin-like .footer{
  color:#64748b!important;
}
.user-admin-like .card,
.user-admin-like .product,
.user-admin-like .blog-card-mini,
.user-admin-like .home-blog-card,
.user-admin-like .home-login-card,
.user-admin-like .user-summary-card{
  background:#fbfdff!important;
  color:#1f2937!important;
  border-color:#dbe4ef!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
}
.user-admin-like .stat,
.user-admin-like .user-summary-balance,
.user-admin-like .promo-rule-item{
  background:#f8fafc!important;
  color:#1f2937!important;
  border-color:#dbe4ef!important;
}
.user-admin-like h1,
.user-admin-like h2,
.user-admin-like h3{
  color:#0f172a!important;
}
.user-admin-like .muted{
  color:#64748b!important;
}
.user-admin-like input,
.user-admin-like select,
.user-admin-like textarea{
  background:#fff!important;
  color:#0f172a!important;
  border-color:#cbd5e1!important;
}
.user-admin-like input:focus,
.user-admin-like select:focus,
.user-admin-like textarea:focus{
  outline:2px solid rgba(37,99,235,.22)!important;
  border-color:#60a5fa!important;
}
.user-admin-like table{
  background:#fff!important;
  color:#1f2937!important;
  border:1px solid #dbe4ef!important;
}
.user-admin-like th{
  background:#f1f5f9!important;
  color:#334155!important;
  border-bottom-color:#dbe4ef!important;
}
.user-admin-like td{
  border-bottom-color:#e5edf6!important;
}
.user-admin-like .order-code-link,
.user-admin-like .card a:not(.btn):not(.user-nav-link):not(.brand){
  color:#1d4ed8;
}
.user-admin-like .codebox{
  background:#0f172a!important;
  color:#e5e7eb!important;
  border-color:#334155!important;
}
.user-admin-like .home-banner-item{
  background:#fff!important;
  border-color:#dbe4ef!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.user-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
  margin-top:8px;
}
.user-table-scroll table{
  margin:0!important;
  width:100%!important;
  display:table!important;
  white-space:normal!important;
}
.user-table-scroll th{
  white-space:nowrap;
}
.user-table-scroll td{
  white-space:normal;
  min-width:110px;
}
.user-table-scroll td:first-child,
.user-table-scroll td:nth-child(2){
  white-space:nowrap;
}
.user-data-table-scroll table{
  min-width:760px;
}
.user-detail-table-scroll table{
  min-width:520px;
}
.user-detail-table-scroll th{
  min-width:135px;
}
@media(max-width:760px){
  body.user-admin-like{
    background:#eef2f7!important;
  }
  .user-admin-like .card{
    overflow-x:hidden!important;
  }
  .user-admin-like .user-table-scroll{
    margin-left:-2px;
    margin-right:-2px;
    padding-bottom:4px;
  }
  .user-admin-like .user-table-scroll::-webkit-scrollbar{
    height:8px;
  }
  .user-admin-like .user-table-scroll::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
  }
  .user-admin-like .user-table-scroll::-webkit-scrollbar-track{
    background:#f1f5f9;
    border-radius:999px;
  }
  .user-data-table-scroll table{
    min-width:780px!important;
  }
  .user-detail-table-scroll table{
    min-width:560px!important;
  }
  .user-table-scroll th,
  .user-table-scroll td{
    padding:9px 8px!important;
  }
}
@media(max-width:420px){
  .user-data-table-scroll table{
    min-width:720px!important;
  }
  .user-detail-table-scroll table{
    min-width:500px!important;
  }
}


/* USER_ORDER_DETAIL_COMPACT_TABLES_20260627_V1 */
.user-admin-like .orders-code-cell .order-code-usage-pill{margin-top:6px;white-space:nowrap}
.user-admin-like .orders-code-cell{min-width:155px!important;white-space:normal!important}
.user-admin-like .order-detail-summary-scroll table,
.user-admin-like .order-detail-code-scroll table{min-width:0!important;width:100%!important;table-layout:auto!important}
.user-admin-like .order-detail-summary-table th{width:118px!important;min-width:96px!important;max-width:145px!important;white-space:nowrap!important}
.user-admin-like .order-detail-summary-table td{min-width:0!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important}
.user-admin-like .order-detail-code-card .muted{overflow-wrap:anywhere}
.user-admin-like .code-delivery-table{table-layout:auto!important}
.user-admin-like .code-delivery-table th:nth-child(1),
.user-admin-like .code-delivery-table td:nth-child(1){width:auto!important;min-width:150px!important;white-space:normal!important}
.user-admin-like .code-delivery-table th:nth-child(2),
.user-admin-like .code-delivery-table td:nth-child(2){width:86px!important;min-width:74px!important;white-space:nowrap!important;text-align:center!important}
.user-admin-like .code-delivery-table th:nth-child(3),
.user-admin-like .code-delivery-table td:nth-child(3){width:104px!important;min-width:92px!important;white-space:nowrap!important;text-align:center!important}
.user-admin-like .code-delivery-table code.order-code-text{white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important}
.user-admin-like .home-buy-row .home-buy-qty-input::placeholder{color:#94a3b8}
.user-admin-like .home-buy-qty-modal{z-index:12000!important}
.user-admin-like .home-buy-qty-modal .modal-box{border-color:#ef4444;background:#1e293b!important;color:#e5e7eb!important}
.user-admin-like .home-buy-qty-modal h3{color:#fecaca!important}
@media(max-width:760px){
  .user-admin-like .orders-code-cell{min-width:138px!important}
  .user-admin-like .order-detail-summary-scroll{overflow-x:auto!important}
  .user-admin-like .order-detail-summary-scroll table{min-width:0!important}
  .user-admin-like .order-detail-summary-table th,
  .user-admin-like .order-detail-summary-table td{padding:8px 7px!important;font-size:13px!important}
  .user-admin-like .order-detail-summary-table th{width:94px!important;min-width:86px!important;max-width:110px!important}
  .user-admin-like .order-detail-code-scroll{overflow-x:auto!important}
  .user-admin-like .order-detail-code-scroll table{min-width:430px!important}
  .user-admin-like .code-delivery-table th:nth-child(1),
  .user-admin-like .code-delivery-table td:nth-child(1){min-width:170px!important}
  .user-admin-like .code-delivery-table th:nth-child(2),
  .user-admin-like .code-delivery-table td:nth-child(2){min-width:72px!important;width:72px!important}
  .user-admin-like .code-delivery-table th:nth-child(3),
  .user-admin-like .code-delivery-table td:nth-child(3){min-width:88px!important;width:88px!important}
}
@media(max-width:420px){
  .user-admin-like .order-detail-summary-table th{width:88px!important;min-width:80px!important}
  .user-admin-like .order-detail-code-scroll table{min-width:390px!important}
}

/* USER_ORDER_CODE_COLUMN_COMPACT_20260627_V1
   Trang chi tiết đơn hàng user: ẩn đường dẫn hệ thống đã xử lý trong PHP,
   cột Code chỉ rộng theo nội dung và cuộn ngang trong khung nếu dữ liệu dài. */
.user-admin-like .order-detail-code-scroll{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.user-admin-like .order-detail-code-scroll table.code-delivery-table{
  width:max-content!important;
  min-width:0!important;
  table-layout:auto!important;
}
.user-admin-like .code-delivery-table th,
.user-admin-like .code-delivery-table td{
  vertical-align:middle!important;
}
.user-admin-like .code-delivery-table th:nth-child(1),
.user-admin-like .code-delivery-table td:nth-child(1){
  width:1%!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
}
.user-admin-like .code-delivery-table code.order-code-text{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  white-space:pre!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  padding:7px 9px!important;
}
.user-admin-like .code-delivery-table th:nth-child(2),
.user-admin-like .code-delivery-table td:nth-child(2){
  width:74px!important;
  min-width:64px!important;
  max-width:86px!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.user-admin-like .code-delivery-table th:nth-child(3),
.user-admin-like .code-delivery-table td:nth-child(3){
  width:96px!important;
  min-width:82px!important;
  max-width:118px!important;
  white-space:nowrap!important;
  text-align:center!important;
}
@media(max-width:760px){
  .user-admin-like .order-detail-code-scroll table.code-delivery-table{
    min-width:0!important;
    width:max-content!important;
  }
  .user-admin-like .code-delivery-table th,
  .user-admin-like .code-delivery-table td{
    padding:8px 7px!important;
    font-size:13px!important;
  }
  .user-admin-like .code-delivery-table th:nth-child(1),
  .user-admin-like .code-delivery-table td:nth-child(1){
    min-width:0!important;
    width:1%!important;
  }
  .user-admin-like .code-delivery-table th:nth-child(2),
  .user-admin-like .code-delivery-table td:nth-child(2){
    min-width:60px!important;
    width:68px!important;
  }
  .user-admin-like .code-delivery-table th:nth-child(3),
  .user-admin-like .code-delivery-table td:nth-child(3){
    min-width:78px!important;
    width:88px!important;
  }
}

/* SOURCE_SYNC_20260628_V1: giao diện card đồng bộ mã nguồn trên Dashboard admin. */
.source-sync-card .source-sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.source-sync-card .source-sync-grid>div{background:rgba(15,23,42,.04);border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:10px 12px}
.source-sync-card .source-sync-status{margin:6px 0 10px}
.source-sync-card .source-sync-changelog{border:1px dashed rgba(148,163,184,.45);border-radius:12px;padding:10px 12px;margin:10px 0;background:rgba(255,255,255,.55);white-space:normal}
.source-sync-card .source-sync-settings{margin-top:10px}
.source-sync-card .source-sync-actions{margin-top:8px;gap:8px;align-items:center;flex-wrap:wrap}
.source-sync-card code{background:rgba(15,23,42,.06);border-radius:6px;padding:2px 5px}
@media(max-width:720px){.source-sync-card .source-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-sync-card .source-sync-actions form{width:100%}.source-sync-card .source-sync-actions .btn{width:100%}}

/* SOURCE_SYNC_CODE_CONFIG_20260628: hiển thị cấu hình đồng bộ lấy từ code */
.source-sync-card .source-sync-config-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 0}
.source-sync-card .source-sync-config-list>div{background:rgba(15,23,42,.035);border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:10px 12px;min-width:0}
.source-sync-card .source-sync-config-list code{display:inline-block;max-width:100%;overflow:auto;vertical-align:bottom;white-space:nowrap}
@media(max-width:720px){.source-sync-card .source-sync-config-list{grid-template-columns:1fr}}

/* FIX_TICKET_LINKS_AND_LINEBREAKS_20260628 */
.ticket-text{white-space:normal!important}
.ticket-auto-link{font-weight:800;text-decoration:underline;word-break:break-all}

/* API products/admin settings UI compact tweaks */
.checkline input[type=checkbox], .api-product-check{width:auto!important;min-width:0!important}
.api-product-customize summary, .api-bulk-custom-box summary{list-style:none;display:inline-block;margin:0 0 10px}
.api-product-customize summary::-webkit-details-marker, .api-bulk-custom-box summary::-webkit-details-marker{display:none}
.api-product-customize[open], .api-bulk-custom-box[open]{background:rgba(15,23,42,.45);border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:10px;margin-top:4px}
.settings-save-actions{border-top:1px solid #334155;margin-top:18px;padding-top:16px}


/* Mobile settings tabs: 2 tab / 1 hàng để trang Cài đặt website gọn hơn. */
@media(max-width:760px){
  .settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}
  .settings-tabs .admin-tab{width:100%;min-height:44px;padding:9px 8px;font-size:13px;line-height:1.25;white-space:normal;text-align:center}
}


/* USER_DEPOSIT_CATEGORY_UI_20260629 */
.category-filter-bar{align-items:center}.category-filter-btn{position:relative;border:1px solid transparent;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.category-filter-btn.active{background:#f59e0b!important;color:#111827!important;border-color:#fde68a;box-shadow:0 0 0 3px rgba(245,158,11,.18);text-decoration:none}.deposit-paid-modal{z-index:12000}.deposit-paid-modal-box{text-align:center;border-color:#22c55e}.deposit-paid-icon{width:64px;height:64px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.45);font-size:34px;margin-bottom:10px}.deposit-paid-actions{justify-content:center}.deposit-invoice-paid-cleared{border-color:#22c55e!important;background:linear-gradient(135deg,rgba(20,83,45,.75),rgba(30,41,59,.95))}.deposit-invoice-paid-cleared table,.deposit-invoice-paid-cleared .deposit-qr-box,.deposit-invoice-paid-cleared .deposit-pay-amount{display:none!important}
@media(max-width:760px){.category-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-filter-btn{text-align:center;width:100%;padding-left:8px;padding-right:8px}.category-current-note,.product-current-category{border-radius:14px;width:100%;justify-content:center;text-align:center}.deposit-paid-actions .btn{width:100%;text-align:center}}
@media(max-width:420px){.category-filter-bar{grid-template-columns:1fr}}

/* MAINTENANCE_PAGE_SUPPORT_20260701 */
body.maintenance-body{
  min-height:100vh;
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:#e5e7eb;
  background:
    radial-gradient(circle at 20% 20%, rgba(37,99,235,.35), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(14,165,233,.24), transparent 30%),
    linear-gradient(135deg,#020617 0%,#0f172a 46%,#111827 100%);
}
.maintenance-screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px 14px;
  position:relative;
  overflow:hidden;
}
.maintenance-shell{
  width:min(720px,100%);
  position:relative;
  isolation:isolate;
}
.maintenance-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(4px);
  opacity:.72;
  pointer-events:none;
  z-index:-1;
}
.maintenance-orb-one{
  width:190px;
  height:190px;
  left:-70px;
  top:-70px;
  background:rgba(59,130,246,.35);
}
.maintenance-orb-two{
  width:160px;
  height:160px;
  right:-54px;
  bottom:-54px;
  background:rgba(34,197,94,.22);
}
.maintenance-card-new{
  background:rgba(15,23,42,.88);
  border:1px solid rgba(148,163,184,.28);
  border-radius:28px;
  padding:34px;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);
}
.maintenance-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(251,191,36,.12);
  border:1px solid rgba(251,191,36,.32);
  color:#fde68a;
  font-size:13px;
  font-weight:800;
  letter-spacing:.2px;
  margin-bottom:18px;
}
.maintenance-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#fbbf24;
  box-shadow:0 0 0 6px rgba(251,191,36,.15);
}
.maintenance-icon{
  width:78px;
  height:78px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(14,165,233,.18));
  border:1px solid rgba(147,197,253,.28);
  font-size:38px;
  margin-bottom:18px;
}
.maintenance-card-new h1{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(28px,5vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
}
.maintenance-message{
  max-width:580px;
  margin:0 auto;
  padding:16px 18px;
  border-radius:18px;
  color:#dbeafe;
  background:rgba(30,41,59,.72);
  border:1px solid rgba(96,165,250,.2);
  line-height:1.65;
  font-weight:700;
}
.maintenance-note{
  margin:18px auto 0;
  max-width:560px;
  color:#cbd5e1;
  line-height:1.7;
}
.maintenance-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
.maintenance-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:14px;
  font-weight:900;
  text-decoration:none!important;
  border:1px solid transparent;
}
.maintenance-btn-primary{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  box-shadow:0 14px 30px rgba(37,99,235,.28);
}
.maintenance-btn-secondary{
  color:#e5e7eb!important;
  background:rgba(51,65,85,.8);
  border-color:rgba(148,163,184,.3);
}
.maintenance-foot{
  margin:18px 0 0;
  color:#94a3b8;
  font-size:13px;
}
@media(max-width:520px){
  .maintenance-card-new{padding:24px 16px;border-radius:22px}
  .maintenance-actions{display:grid;grid-template-columns:1fr;width:100%}
  .maintenance-btn{width:100%}
}

/* ADMIN_SUMMERNOTE_MOBILE_DROPDOWN_FIX_20260701
   Cho menu màu/link/dropdown của Summernote nổi đúng trên điện thoại, tránh bị card hoặc toolbar mobile cắt lớp. */
.admin-body .note-editor.note-frame,
.admin-body .note-editor.note-airframe{
  overflow:visible!important;
  position:relative!important;
  z-index:30!important;
}
.admin-body .note-editor .note-toolbar,
.admin-body .note-editor .note-btn-group,
.admin-body .note-editor .note-dropdown-menu,
.admin-body .note-editor .note-color-palette,
.admin-body .note-editor .note-color-all{
  overflow:visible!important;
}
.admin-body .note-popover,
.admin-body .note-modal,
.admin-body .note-dropdown-menu{
  z-index:30000!important;
}
.admin-body .note-modal-backdrop{
  z-index:29990!important;
}
@media(max-width:760px){
  .admin-body .card:has(.note-editor){
    overflow:visible!important;
  }
  .admin-body .note-editor .note-toolbar{
    display:flex!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    overflow:visible!important;
    gap:4px;
  }
  .admin-body .note-editor .note-btn-group{
    display:flex!important;
    flex-wrap:wrap!important;
    margin:2px!important;
  }
  .admin-body .note-editor .note-btn{
    min-height:36px!important;
    padding:8px 9px!important;
    touch-action:manipulation;
  }
  .admin-body .note-editor .note-dropdown-menu{
    position:absolute!important;
    max-width:calc(100vw - 24px)!important;
    white-space:normal!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .admin-body .note-editor .note-color .note-dropdown-menu,
  .admin-body .note-editor .note-color-palette,
  .admin-body .note-editor .note-color-all{
    min-width:220px!important;
    max-width:calc(100vw - 24px)!important;
  }
}
.admin-body .summernote-editor-card{overflow:visible!important}

/* USER_HOME_LOGIN_POPUP_PRODUCT_UI_20260702_V1 */
.home-login-hidden{display:none!important}
.color-setting-line input[type=color]{width:90px;max-width:90px;padding:3px;height:42px;flex:0 0 90px}.color-setting-line .color-hex-input{width:120px;max-width:140px;flex:0 0 120px;text-transform:uppercase;font-family:Consolas,monospace;font-weight:800;letter-spacing:.02em}
.user-admin-like .home-product-grid{grid-template-columns:repeat(var(--home-products-per-row-desktop,3),minmax(0,1fr))!important}
.home-floating-notice{position:fixed;inset:0;z-index:15000;display:none;align-items:center;justify-content:center;padding:18px}
.home-floating-notice.open{display:flex}
.home-floating-notice-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(4px)}
.home-floating-notice-box{position:relative;width:min(560px,100%);max-height:min(82vh,680px);overflow:auto;background:#000;border:1px solid rgba(148,163,184,.32);border-radius:18px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.48);color:#fff}
.home-floating-notice-box h2{margin:0 0 12px;color:inherit!important}
.home-floating-notice-content{line-height:1.65;color:inherit}
.home-floating-notice-content h2:not([style*="color"]),.home-floating-notice-content h3:not([style*="color"]),.product-desc1-card .rich-text h2:not([style*="color"]),.product-desc1-card .rich-text h3:not([style*="color"]){color:inherit!important}
.home-floating-notice-content p{margin:.75rem 0}
.home-floating-notice-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:10px;margin-top:16px}
.home-floating-notice-actions .btn{flex:1 1 0;text-align:center;white-space:normal}
.user-admin-like .product-desc,.user-admin-like .product-desc1-card .rich-text{line-height:1.65}
@media(max-width:760px){
  .user-admin-like .home-product-grid{grid-template-columns:1fr!important}
  .home-floating-notice{padding:12px}
  .home-floating-notice-box{border-radius:16px;padding:16px}
  .home-floating-notice-actions{gap:8px}
  .home-floating-notice-actions .btn{padding-left:8px;padding-right:8px;font-size:13px}
}



/* USER_NOTICE_DESC_THEME_20260704_V1
   Màu mặc định theo light/dark của trình duyệt; màu inline từ trình soạn thảo vẫn được giữ nguyên. */
@media (prefers-color-scheme: light){
  .home-floating-notice-box{background:#000;color:#fff;border-color:rgba(255,255,255,.28)}
  .user-admin-like .product-desc1-card .rich-text{color:#111827}
}
@media (prefers-color-scheme: dark){
  .home-floating-notice-box{background:#fff;color:#000;border-color:rgba(15,23,42,.24)}
  .user-admin-like .product-desc1-card .rich-text{color:#f8fafc}
}

/* USER_PROMO_COLOR_FIX_20260702_V1: làm rõ số tiền trong khối khuyến mãi khi giao diện sáng. */
.user-admin-like .deposit-promo-card .promo-rule-item span{color:#334155!important}
.user-admin-like .deposit-promo-card .promo-rule-item .promo-gift{color:#d97706!important;text-shadow:none!important}
.user-admin-like .deposit-promo-card .promo-rule-item b{color:#0f172a!important;background:rgba(251,191,36,.24)!important;border:1px solid rgba(217,119,6,.35)!important;border-radius:999px!important;padding:2px 8px!important;line-height:1.4!important;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.user-admin-like .deposit-promo-card .promo-rule-item strong{color:#15803d!important;text-shadow:none!important}
@media(max-width:520px){.color-setting-line .color-hex-input{width:112px;flex-basis:112px}.user-admin-like .deposit-promo-card .promo-rule-item b{padding-left:6px!important;padding-right:6px!important}}


/* USER_PRODUCT_NOTICE_HELPER_THEME_20260704_V1
   Cảnh báo số lượng và chữ hướng dẫn sản phẩm tự tương phản theo light/dark của trình duyệt. */
.user-admin-like .product-qty-modal .modal-box,
.user-admin-like .home-buy-qty-modal .modal-box{
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.user-admin-like .product-qty-modal .modal-box p,
.user-admin-like .home-buy-qty-modal .modal-box p{
  color:inherit!important;
  font-weight:700;
  line-height:1.55;
}
.user-admin-like .product-helper-text{
  font-weight:600;
  line-height:1.6;
  opacity:1!important;
  text-shadow:none!important;
}
@media (prefers-color-scheme: light){
  .user-admin-like .product-qty-modal .modal-box,
  .user-admin-like .home-buy-qty-modal .modal-box{
    background:#111827!important;
    color:#f8fafc!important;
    border-color:#475569!important;
    box-shadow:0 20px 60px rgba(15,23,42,.38)!important;
  }
  .user-admin-like .product-qty-modal .modal-box h3,
  .user-admin-like .home-buy-qty-modal .modal-box h3{
    color:#fff!important;
  }
  .user-admin-like .product-qty-modal .modal-close,
  .user-admin-like .home-buy-qty-modal .modal-close{
    background:#f8fafc!important;
    color:#111827!important;
    border:1px solid #cbd5e1!important;
  }
  .user-admin-like .product-helper-text{
    color:#334155!important;
  }
}
@media (prefers-color-scheme: dark){
  .user-admin-like .product-qty-modal .modal-box,
  .user-admin-like .home-buy-qty-modal .modal-box{
    background:#f8fafc!important;
    color:#111827!important;
    border-color:#cbd5e1!important;
    box-shadow:0 20px 60px rgba(0,0,0,.58)!important;
  }
  .user-admin-like .product-qty-modal .modal-box h3,
  .user-admin-like .home-buy-qty-modal .modal-box h3{
    color:#0f172a!important;
  }
  .user-admin-like .product-qty-modal .modal-close,
  .user-admin-like .home-buy-qty-modal .modal-close{
    background:#111827!important;
    color:#f8fafc!important;
    border:1px solid #334155!important;
  }
  .user-admin-like .product-helper-text{
    color:#f1f5f9!important;
  }
}


/* Order detail: nút sao chép tất cả nằm trong cột Copy và mô tả 2 ở cuối khối code. */
.order-detail-code-heading h2{margin-top:0}
.copy-all-codes-cell{white-space:nowrap}
.copy-all-codes-cell .copy-all-codes-btn{display:inline-flex;width:auto;max-width:none;white-space:nowrap}
.order-detail-code-desc2{margin-top:20px;padding-top:18px;border-top:1px solid rgba(148,163,184,.28)}
.order-detail-code-desc2 h2{margin-top:0}

/* USER_ORDER_DETAIL_SUMMARY_2_ROWS_20260706_V1
   Hàng 1: Sản phẩm. Hàng 2: Số lượng + Tổng tiền + Thời gian trên cả desktop và mobile. */
.user-admin-like .order-detail-summary-grid{
  display:grid;
  grid-template-rows:auto auto;
  gap:0;
  border:1px solid rgba(148,163,184,.28);
  border-radius:10px;
  overflow:hidden;
}
.user-admin-like .order-detail-summary-product{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  align-items:center;
  min-width:0;
}
.user-admin-like .order-detail-summary-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(148,163,184,.28);
}
.user-admin-like .order-detail-summary-item{
  min-width:0;
  padding:11px 12px;
}
.user-admin-like .order-detail-summary-item + .order-detail-summary-item{
  border-left:1px solid rgba(148,163,184,.28);
}
.user-admin-like .order-detail-summary-product .order-detail-summary-label,
.user-admin-like .order-detail-summary-product .order-detail-summary-value{
  padding:11px 12px;
}
.user-admin-like .order-detail-summary-product .order-detail-summary-label{
  border-right:1px solid rgba(148,163,184,.28);
}
.user-admin-like .order-detail-summary-label{
  display:block;
  font-weight:700;
  line-height:1.35;
}
.user-admin-like .order-detail-summary-value{
  display:block;
  min-width:0;
  margin-top:4px;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.user-admin-like .order-detail-summary-product .order-detail-summary-value{
  margin-top:0;
}
@media(max-width:760px){
  .user-admin-like .order-detail-summary-product{
    grid-template-columns:86px minmax(0,1fr);
  }
  .user-admin-like .order-detail-summary-product .order-detail-summary-label,
  .user-admin-like .order-detail-summary-product .order-detail-summary-value,
  .user-admin-like .order-detail-summary-item{
    padding:9px 7px;
    font-size:13px;
  }
  .user-admin-like .order-detail-summary-meta{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .user-admin-like .order-detail-summary-item .order-detail-summary-value{
    font-size:12px;
  }
}
@media(max-width:420px){
  .user-admin-like .order-detail-summary-product{
    grid-template-columns:80px minmax(0,1fr);
  }
  .user-admin-like .order-detail-summary-item{
    padding-left:5px;
    padding-right:5px;
  }
  .user-admin-like .order-detail-summary-item .order-detail-summary-label{
    font-size:12px;
  }
  .user-admin-like .order-detail-summary-item .order-detail-summary-value{
    font-size:11px;
    line-height:1.35;
  }
}

/* ORDER_OTP_TABLE_ISOLATED_20260722_V4
   Bảng OTP dùng class riêng, tự rộng theo nội dung. Mỗi cột tối thiểu 50px;
   chỉ cột Ghi chú có giới hạn chiều rộng và được phép xuống dòng. */
.order-otp-panel .order-otp-heading{
  display:block;
  margin-bottom:10px;
}
.order-otp-panel .order-otp-title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:5px;
}
.order-otp-panel .order-otp-title-row h2{margin:0}
.order-otp-panel .order-otp-heading p{margin:0}
.order-otp-panel .order-otp-guide{
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid #b8d3ec;
  border-radius:9px;
  background:#eef7ff;
  color:#274e70;
  line-height:1.55;
  white-space:pre-line;
}
.order-otp-panel .order-otp-table-wrap{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(148,163,184,.34);
  border-radius:10px;
  padding:0;
}
.order-otp-panel table.order-otp-table{
  display:table!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:auto!important;
}
.order-otp-panel table.order-otp-table th,
.order-otp-panel table.order-otp-table td{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:50px!important;
  max-width:none!important;
  padding:10px 12px!important;
  border-right:1px solid rgba(148,163,184,.38)!important;
  vertical-align:middle!important;
  text-align:left;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.order-otp-panel table.order-otp-table th{
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.order-otp-panel table.order-otp-table th:last-child,
.order-otp-panel table.order-otp-table td:last-child{border-right:0!important}
.order-otp-panel table.order-otp-table [hidden]{display:none!important}
.order-otp-panel table.order-otp-table .action-cell,
.order-otp-panel table.order-otp-table .number-code,
.order-otp-panel table.order-otp-table .character-cell,
.order-otp-panel table.order-otp-table .time-cell{text-align:center}

.order-otp-panel table.order-otp-table .action-cell .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.order-otp-panel table.order-otp-table code.order-code-text{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:7px 9px!important;
  font-weight:800;
  color:#475569;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.order-otp-panel table.order-otp-table .copy-value,
.order-otp-panel table.order-otp-table .result-copy-wrap{
  display:inline-flex;
  flex-direction:row;
  flex-wrap:nowrap!important;
  align-items:center;
  gap:7px;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
}
.order-otp-panel table.order-otp-table .copy-text,
.order-otp-panel table.order-otp-table .result-value{
  display:inline-block;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.order-otp-panel table.order-otp-table .phone-cell .copy-text{
  font-size:18px;
  font-weight:800;
  color:#075985;
}
.order-otp-panel table.order-otp-table .number-code .copy-text{
  font-size:19px;
  font-weight:900;
  letter-spacing:.06em;
  color:#047857;
}
.order-otp-panel table.order-otp-table .character-cell .copy-text{
  padding:2px 7px;
  border:1px solid #f59e0b;
  border-radius:7px;
  background:#fff7d6;
  color:#b42318;
  font-size:20px;
  font-weight:900;
  letter-spacing:.08em;
  animation:orderOtpCharacterBlink 1.05s ease-in-out infinite;
}
.order-otp-panel table.order-otp-table .cell-copy{
  flex:0 0 44px;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  min-height:22px;
  padding:1px 3px;
  border:1px solid #b7c9da;
  border-radius:5px;
  background:#f1f6fb;
  color:#315b80;
  font-size:10px;
  font-weight:700;
  line-height:18px;
  white-space:nowrap;
  cursor:pointer;
}
.order-otp-panel table.order-otp-table .cell-copy:hover{background:#e2edf7}
.order-otp-panel table.order-otp-table .pending-value{
  display:inline-block;
  color:#8a5a00;
  font-size:12px;
  font-weight:800;
  font-style:italic;
  white-space:nowrap!important;
}
.order-otp-panel table.order-otp-table .empty-value{color:#8a98a8;white-space:nowrap!important}

/* Thời gian luôn đúng hai dòng: giờ ở trên, ngày ở dưới. */
.order-otp-panel table.order-otp-table .time-value-text{
  display:inline-block!important;
  min-width:0!important;
  text-align:center;
  line-height:1.5;
  white-space:pre-line!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Chỉ Ghi chú được xuống dòng; nội dung ngắn thì cột tự co, dài thì dừng ở 420px. */
.order-otp-panel table.order-otp-table .note-cell{
  min-width:50px!important;
  width:auto!important;
  max-width:420px!important;
  white-space:normal!important;
  vertical-align:top!important;
}
.order-otp-panel table.order-otp-table .note-content{
  display:block;
  width:max-content;
  min-width:0;
  max-width:420px;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.45;
}
.order-otp-panel .order-otp-refresh-status{margin:9px 0 0}

.order-otp-panel .order-otp-manual-btn{background:#0b7a4b;color:#fff}
.order-otp-panel .order-otp-manual-btn:hover{background:#08633d}
.order-otp-panel .order-otp-manual-btn:disabled{background:#9aacb8;color:#f4f7f9;cursor:not-allowed}
@keyframes orderOtpCharacterBlink{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 rgba(245,158,11,0)}
  50%{opacity:.48;transform:scale(1.05);box-shadow:0 0 12px rgba(245,158,11,.55)}
}
@media(prefers-reduced-motion:reduce){
  .order-otp-panel table.order-otp-table .character-cell .copy-text{animation:none}
}
@media(max-width:760px){
  .order-otp-panel .order-otp-title-row{
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:8px;
  }
  .order-otp-panel .order-otp-title-row h2{
    min-width:0;
    font-size:20px;
  }
  .order-otp-panel .order-otp-title-row .copy-all-codes-btn{
    flex:0 0 auto;
    white-space:nowrap;
  }

  /* Mobile: sáu trường chính xếp thành 3 cột x 2 hàng; Ghi chú giữ nguyên toàn chiều ngang. */
  .order-otp-panel .order-otp-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    border:0;
    border-radius:0;
  }
  .order-otp-panel table.order-otp-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  .order-otp-panel table.order-otp-table thead{display:none!important}
  .order-otp-panel table.order-otp-table tbody{
    display:block!important;
    width:100%!important;
  }
  .order-otp-panel table.order-otp-table tbody tr{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%!important;
    margin:0 0 14px;
    border:1px solid rgba(148,163,184,.42);
    border-radius:11px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 3px 10px rgba(15,23,42,.045);
  }
  .order-otp-panel table.order-otp-table tbody td{
    position:relative;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:96px;
    padding:48px 5px 10px!important;
    border-right:1px solid rgba(148,163,184,.34)!important;
    border-bottom:1px solid rgba(148,163,184,.34)!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  .order-otp-panel table.order-otp-table tbody td:nth-child(3n){
    border-right:0!important;
  }
  .order-otp-panel table.order-otp-table tbody td::before{
    content:attr(data-mobile-label);
    position:absolute;
    top:8px;
    left:6px;
    right:6px;
    display:block;
    width:auto;
    min-height:30px;
    color:#526277;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    text-align:center;
    text-transform:none;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .order-otp-panel table.order-otp-table tbody td.code-cell::before,
  .order-otp-panel table.order-otp-table tbody td.phone-cell::before,
  .order-otp-panel table.order-otp-table tbody td.number-code::before,
  .order-otp-panel table.order-otp-table tbody td.character-cell::before{
    right:50px;
    text-align:left;
  }
  .order-otp-panel table.order-otp-table tbody td.code-cell .order-code-copy-btn,
  .order-otp-panel table.order-otp-table tbody td.phone-cell .result-copy-btn,
  .order-otp-panel table.order-otp-table tbody td.number-code .result-copy-btn,
  .order-otp-panel table.order-otp-table tbody td.character-cell .result-copy-btn{
    position:absolute;
    z-index:2;
    top:7px;
    right:5px;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:20px;
    min-height:20px;
    padding:0 2px;
    font-size:8px;
    line-height:18px;
  }
  .order-otp-panel table.order-otp-table tbody td.note-cell{
    grid-column:1 / -1;
    align-items:flex-start;
    min-height:0;
    padding:10px 8px!important;
    border-right:0!important;
    border-bottom:0!important;
    text-align:left!important;
  }
  .order-otp-panel table.order-otp-table tbody td.note-cell::before{
    position:static;
    width:100%;
    min-height:0;
    line-height:1.3;
    text-align:left;
    white-space:normal;
    overflow:visible;
  }
  .order-otp-panel table.order-otp-table .note-content{
    width:100%!important;
    max-width:none!important;
    text-align:left;
  }
  .order-otp-panel table.order-otp-table .action-cell .btn{
    max-width:100%;
  }
  .order-otp-panel table.order-otp-table code.order-code-text{
    max-width:100%!important;
    padding:6px 7px!important;
    font-size:12px;
    overflow-x:auto!important;
    scrollbar-width:thin;
  }
  .order-otp-panel table.order-otp-table .copy-value,
  .order-otp-panel table.order-otp-table .result-copy-wrap{
    justify-content:center;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    padding-bottom:2px;
    scrollbar-width:thin;
  }
  .order-otp-panel table.order-otp-table .order-code-copy-wrap{
    display:block;
    width:100%;
  }
  .order-otp-panel table.order-otp-table .result-copy-wrap{
    overflow:visible!important;
  }
  .order-otp-panel table.order-otp-table .result-copy-wrap .result-value{
    display:block;
    max-width:100%!important;
    overflow-x:auto!important;
    scrollbar-width:thin;
  }
  .order-otp-panel table.order-otp-table .phone-cell .copy-text{font-size:15px}
  .order-otp-panel table.order-otp-table .number-code .copy-text{font-size:16px}
  .order-otp-panel table.order-otp-table .character-cell .copy-text{font-size:17px;padding:2px 5px}
  .order-otp-panel table.order-otp-table .time-value-text{font-size:12px}
}


/* Sản phẩm đồng bộ từ API nguồn: chỉ hiển thị code, nút lấy SĐT và thời gian trong da-ban.json. */
.remote-api-delivery-panel .order-detail-code-heading h2{margin:0 0 7px}
.remote-api-delivery-panel .order-detail-code-heading p{margin:0}
.remote-api-delivery-table-wrap{margin-top:15px;overflow-x:auto;border:1px solid rgba(148,163,184,.38);border-radius:11px}
.remote-api-delivery-table{width:100%;min-width:560px;border-collapse:collapse;background:#fff}
.remote-api-delivery-table th,.remote-api-delivery-table td{padding:12px 14px;border-right:1px solid rgba(148,163,184,.28);border-bottom:1px solid rgba(148,163,184,.28);vertical-align:middle;text-align:left}
.remote-api-delivery-table th:last-child,.remote-api-delivery-table td:last-child{border-right:0}
.remote-api-delivery-table tbody tr:last-child td{border-bottom:0}
.remote-api-delivery-table th{background:#edf5fc;color:#244d72;font-size:13px;white-space:nowrap}
.remote-api-delivery-table .remote-api-action-cell,.remote-api-delivery-table .remote-api-time-cell{text-align:center;white-space:nowrap}
.remote-api-delivery-table .remote-api-code-text{display:inline-block;max-width:100%;padding:5px 8px;border:1px solid rgba(148,163,184,.42);border-radius:7px;background:#f8fafc;color:#334155;font-weight:800;overflow-wrap:anywhere}
@media(max-width:760px){
  .remote-api-delivery-table-wrap{overflow:visible;border:0;border-radius:0}
  .remote-api-delivery-table{display:block;min-width:0}
  .remote-api-delivery-table thead{display:none}
  .remote-api-delivery-table tbody{display:block}
  .remote-api-delivery-table tr{display:block;margin-bottom:12px;border:1px solid rgba(148,163,184,.4);border-radius:10px;overflow:hidden;background:#fff}
  .remote-api-delivery-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:10px 11px;border-right:0!important;text-align:left!important;white-space:normal!important}
  .remote-api-delivery-table td:last-child{border-bottom:0}
  .remote-api-delivery-table td::before{content:attr(data-mobile-label);color:#526277;font-size:11px;font-weight:800}
  .remote-api-delivery-table .remote-api-action-cell .btn{justify-self:start}
  .remote-api-delivery-table .remote-api-code-text{max-width:100%;overflow-x:auto;white-space:nowrap}
}


/* ORDER_DETAIL_SOLD_TIME_AND_COPY_V180 */
.order-code-copy-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.order-code-copy-wrap code{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.order-code-copy-btn{flex:0 0 auto;white-space:nowrap}
.sold-time-list{display:flex;flex-direction:column;gap:6px}
.sold-time-item{display:block;overflow-wrap:anywhere}
.sold-time-item code{color:#bae6fd;background:#020617;border:1px solid #334155;border-radius:6px;padding:2px 6px}
.copy-link-key{border:0;background:none;color:#38bdf8;text-decoration:underline;text-underline-offset:2px;padding:0;cursor:pointer;font:inherit;font-family:Consolas,monospace;overflow-wrap:anywhere;word-break:break-all;text-align:left}
.copy-link-key:hover{color:#7dd3fc}
.copy-feedback{margin-left:6px;color:#22c55e;font-weight:700}
.copy-link-key-help{margin-top:6px}
.sold-time-list-user{max-width:100%}
@media(max-width:760px){.order-code-copy-wrap{align-items:center}.order-code-copy-btn{width:40px!important;min-width:40px!important;max-width:40px!important}.sold-time-list-user .sold-time-item{white-space:normal}}


/* ORDER_RESULTS_COPY_WRAP_V183 */
@media(max-width:420px){
  .order-otp-panel table.order-otp-table tbody td{
    min-height:102px;
    padding-top:52px!important;
  }
  .order-otp-panel table.order-otp-table tbody td::before{
    left:4px;
    right:4px;
    font-size:9px;
    line-height:1.15;
  }
  .order-otp-panel table.order-otp-table tbody td.code-cell::before,
  .order-otp-panel table.order-otp-table tbody td.phone-cell::before,
  .order-otp-panel table.order-otp-table tbody td.number-code::before,
  .order-otp-panel table.order-otp-table tbody td.character-cell::before{
    right:47px;
  }
}
/* Admin OTP usage results */
.admin-otp-results-heading{align-items:flex-start}.admin-otp-results-heading h1{margin:0 0 6px}.admin-otp-results-heading .muted{margin:0}.admin-otp-results-heading code{display:inline;padding:2px 5px;border-radius:5px;background:#e8eef7;color:#334155;font-size:.92em}.admin-otp-results-filter{margin:14px 0 16px}.admin-otp-results-filter select{min-width:160px}.admin-otp-results-table td{vertical-align:top}.admin-otp-results-table th:nth-child(1){min-width:150px}.admin-otp-results-table th:nth-child(2){min-width:130px}.admin-otp-results-table th:nth-child(3){min-width:130px}.admin-otp-results-table th:nth-child(4){min-width:110px}.admin-otp-results-table th:nth-child(5){min-width:130px}.admin-otp-results-table th:nth-child(6){min-width:150px}.admin-otp-results-table th:nth-child(7){min-width:220px}.admin-otp-results-page .pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-otp-results-page .pagination-current{pointer-events:none}
@media(max-width:760px){.admin-otp-results-filter .inline{align-items:stretch}.admin-otp-results-filter .search,.admin-otp-results-filter select,.admin-otp-results-filter .btn{width:100%;max-width:none}.admin-otp-results-page .pagination{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.admin-otp-results-page .pagination .btn{flex:0 0 auto}.admin-otp-results-heading .btn{width:auto}}
