:root{color-scheme:dark;--bg:#020817;--panel:#071a3a;--line:#167fc5;--cyan:#50eaff;--text:#f4f9ff;--muted:#9ebbd8}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#020817 url("assets/hopper-galaxy-bg.webp") center/cover fixed;color:var(--text);font-family:"Be Vietnam Pro",sans-serif}.stars{position:fixed;inset:0;background:linear-gradient(#020817bb,#020817e8);z-index:-1}main{width:min(1500px,calc(100% - 32px));margin:auto;padding:28px 0}.card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#09234bee,#031126f5);box-shadow:0 15px 50px #0009,0 0 25px #087eff22}.login{width:min(480px,100%);margin:7vh auto;padding:34px}.back,a{color:var(--cyan);text-decoration:none}.mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:28px 0 12px;background:linear-gradient(145deg,#50efff,#4257f2,#ca4fff);font-size:1.5rem;font-weight:800}.login h1{margin:0}.login p,header p{color:var(--muted)}label{display:grid;gap:7px;color:#b9d3ea;font-size:.78rem;font-weight:600}input,textarea{width:100%;border:1px solid #235b8a;border-radius:10px;background:#03132d;color:white;padding:11px 12px;font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #39dfff1a}button{border:1px solid #55edff;border-radius:10px;background:linear-gradient(90deg,#8248f5,#087eea);color:white;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}.login form{display:grid;gap:16px;margin-top:24px}.status{min-height:20px;color:#72f2d0}.dashboard>header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.dashboard h1{margin:4px 0;font-size:2rem}.dashboard header small{color:var(--cyan);letter-spacing:.14em}.actions{display:flex;align-items:center;gap:10px}.secondary{background:#071d40;border-color:#286da3}.layout{display:grid;grid-template-columns:350px 1fr;gap:16px}.layout>aside{max-height:calc(100vh - 180px);overflow:auto;position:sticky;top:16px}.list-head{padding:17px;position:sticky;top:0;background:#071a3af5;z-index:2}.list-head input{margin-top:10px}.product-list{padding:0 10px 14px}.product-item{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;margin:6px 0;padding:10px;background:#061630;border-color:#174e7c}.product-item.active{border-color:var(--cyan);background:#0b315c}.product-item img,.thumb{width:42px;height:42px;border-radius:9px;object-fit:contain;background:white;padding:3px}.product-item span{display:grid;gap:4px;min-width:0}.product-item b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-item small{color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:#6f8197}.dot.on{background:#42e8aa;box-shadow:0 0 9px #42e8aa}.editor{padding:22px}.editor-head,.variant-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.editor-head{padding-bottom:18px;border-bottom:1px solid #184c78}.editor-head small{color:var(--cyan)}.editor-head h2{margin:4px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 0}.wide{grid-column:1/-1}.check{display:flex;align-items:center;align-self:end;padding:11px 0}.check input{width:18px;height:18px}.variants{border-top:1px solid #184c78;padding-top:14px}.variant{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #123b62}.variant button{align-self:end}.variant-title h3{margin:12px 0}@media(max-width:900px){.dashboard>header{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}.layout{grid-template-columns:1fr}.layout>aside{position:static;max-height:360px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.variant{grid-template-columns:1fr 1fr}.variant button{grid-column:1/-1}}@media(max-width:520px){main{width:min(100% - 18px,1500px)}.editor{padding:15px}.actions{display:grid;grid-template-columns:1fr 1fr}.variant{grid-template-columns:1fr}}
.editor-actions{display:flex;align-items:center;gap:10px}.visibility-btn{display:inline-flex;align-items:center;gap:9px;background:#082a43;border-color:#37d6a0;color:#9ff2d2;min-width:148px;justify-content:center}.visibility-btn:hover{filter:brightness(1.12)}.visibility-btn.is-hidden{background:#321b2a;border-color:#ff7598;color:#ffb7c8}.visibility-dot{width:9px;height:9px;border-radius:50%;background:#47e9aa;box-shadow:0 0 10px #47e9aa}.is-hidden .visibility-dot{background:#ff7598;box-shadow:0 0 10px #ff7598}.product-status{font-style:normal;font-size:.6rem;font-weight:700;padding:5px 7px;border-radius:999px;white-space:nowrap}.product-status.on{color:#7af2c5;background:#0a3b36;border:1px solid #258d70}.product-status.off{color:#ffacc0;background:#3a1a2b;border:1px solid #99415d}@media(max-width:700px){.editor-head{align-items:flex-start;flex-direction:column}.editor-actions{width:100%}.editor-actions button{flex:1;padding-inline:10px}}
.status-control{display:flex;align-items:center;gap:9px;color:#9ebbd8;font-size:.72rem}.status-control select{min-width:160px;border:1px solid #37d6a0;border-radius:10px;background:#082a43;color:#dfffee;padding:10px 34px 10px 12px;font:inherit;font-weight:700;cursor:pointer}.status-control select:focus{outline:2px solid #50eaff;outline-offset:2px}.product-status.in_stock{color:#7af2c5;background:#0a3b36;border:1px solid #258d70}.product-status.sold_out{color:#ffc28e;background:#432619;border:1px solid #b86b30}.product-status.hidden{color:#ffacc0;background:#3a1a2b;border:1px solid #99415d}@media(max-width:700px){.status-control{flex:1}.status-control select{width:100%;min-width:0}}
.showcase-choice{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #7c57ff;border-radius:13px;background:linear-gradient(90deg,#241b58aa,#093459aa);cursor:pointer}.showcase-choice input{width:20px;height:20px;flex:0 0 auto;accent-color:#55eaff}.showcase-choice span{display:grid;gap:4px}.showcase-choice b{color:#f4f9ff;font-size:.82rem}.showcase-choice small{color:#9ebbd8;font-size:.68rem;line-height:1.45}
.benefit-editor{padding:15px;border:1px solid #1b6697;border-radius:14px;background:#061630}.benefit-editor textarea{line-height:1.55;resize:vertical}.benefit-editor small{color:#83b7d8;font-size:.68rem;font-weight:400}
.grid select{width:100%;border:1px solid #235b8a;border-radius:10px;background:#03132d;color:white;padding:11px 12px;font:inherit;outline:none}
.grid select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #39dfff1a}
.price-mode-choice{padding:12px;border:1px solid #7c57ff;border-radius:12px;background:#171647}
.price-mode-choice small{color:#9ebbd8;font-size:.66rem;font-weight:400;line-height:1.4}
.danger{background:#351329;border-color:#ff658f;color:#ffc2d2}.danger:hover{background:#641d3d;box-shadow:0 0 18px #ff477755}
.admin-tabs{display:flex;gap:8px;margin:0 0 16px;padding:6px;border:1px solid #205f95;border-radius:14px;background:#061731}.admin-tabs button{min-width:150px;background:transparent;border-color:transparent;color:#9ebbd8}.admin-tabs button.active{border-color:#59eaff;background:linear-gradient(90deg,#633eff,#087eea);color:#fff;box-shadow:0 0 18px #2f8eff44}.admin-tabs span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:7px;padding:0 6px;border-radius:99px;background:#ff4e9d;color:#fff;font-size:.68rem}
.zalo-automation-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:18px;background:linear-gradient(110deg,rgba(76,30,150,.28),rgba(0,180,255,.12));border-color:#735cff}.zalo-automation-note small{color:#66eaff;font-weight:800;letter-spacing:.08em}.zalo-automation-note h2{margin:5px 0 4px;font-size:20px}.zalo-automation-note p{margin:0;color:#afc8e8;max-width:850px;line-height:1.55}.zalo-automation-note>span{white-space:nowrap;padding:9px 14px;border:1px solid #ffca5c;border-radius:99px;color:#ffda7d;background:#392811;font-weight:800}
.order-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.order-summary article{display:grid;gap:5px;padding:17px}.order-summary small{color:#75eaff;font-size:.66rem;font-weight:800;letter-spacing:.1em}.order-summary strong{font-size:2rem}.order-summary span{color:var(--muted);font-size:.72rem}.order-summary .warning{border-color:#e7a84d}.order-summary .warning strong{color:#ffc46e}.order-summary .danger-card{border-color:#e35d89}.order-summary .danger-card strong{color:#ff8eae}
.orders-card{padding:18px}.orders-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #184c78}.orders-toolbar h2{margin:0 0 4px}.orders-toolbar p{margin:0;color:var(--muted);font-size:.76rem}.order-filters{display:flex;gap:9px}.order-filters input{width:290px}.order-filters select,.order-form-grid select{border:1px solid #235b8a;border-radius:10px;background:#03132d;color:#fff;padding:11px 12px;font:inherit}.orders-list{display:grid;gap:8px;padding-top:12px}.order-row{display:grid;grid-template-columns:120px minmax(150px,1fr) minmax(180px,1.4fr) 105px 110px 150px;align-items:center;gap:12px;width:100%;padding:13px 14px;text-align:left;border-color:#174e7c;background:#061630}.order-row:hover{border-color:#54eaff;background:#0a2852;transform:translateY(-1px)}.order-row span{min-width:0}.order-row b,.order-row small{display:block}.order-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-row small{margin-top:4px;color:var(--muted);font-size:.65rem}.order-code b{color:#68efff}.order-price{color:#75efff;text-align:right}.order-status{padding:6px 8px;border:1px solid #37658f;border-radius:99px;font-size:.62rem;font-style:normal;text-align:center}.order-status.new{color:#fff;background:#783a98;border-color:#c46bff}.order-status.paid,.order-status.completed{color:#7af2c5;background:#0a3b36;border-color:#258d70}.order-status.processing,.order-status.contacted{color:#7eeaff;background:#0b315c;border-color:#258eca}.order-status.cancelled{color:#ffacc0;background:#3a1a2b;border-color:#99415d}.order-expiry{padding-left:10px;border-left:2px solid #31577d}.order-expiry.expiring{border-color:#ffc05b}.order-expiry.expiring b{color:#ffd181}.order-expiry.expired{border-color:#ff658f}.order-expiry.expired b{color:#ff9ab5}.orders-empty{padding:36px;text-align:center;color:var(--muted)}
.order-admin-dialog{width:min(820px,calc(100% - 24px));max-height:92vh;padding:0;color:#fff;overflow:auto}.order-admin-dialog::backdrop{background:#000d;backdrop-filter:blur(7px)}.dialog-close{position:sticky;z-index:4;top:12px;float:right;width:42px;height:42px;margin:12px 12px -54px 0;padding:0;border-radius:12px;background:#081d40;font-size:1.45rem}.order-admin-dialog form{padding:24px}.order-dialog-head{padding-right:52px}.order-dialog-head small{color:#68efff;font-weight:800;letter-spacing:.11em}.order-dialog-head h2{margin:5px 0}.order-dialog-head p{margin:0;color:var(--muted);font-size:.76rem}.order-customer-card{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid #245b8a;border-radius:14px;background:#061630}.order-customer-card div{min-width:0}.order-customer-card small,.order-customer-card b{display:block}.order-customer-card small{color:var(--muted);font-size:.63rem}.order-customer-card b{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.order-customer-card a{padding:10px 13px;border:1px solid #54eaff;border-radius:9px;background:linear-gradient(90deg,#6542ed,#087eea);color:#fff;text-align:center;font-weight:700}.order-customer-card a.disabled{opacity:.5;pointer-events:none}.order-product-card{margin:12px 0;padding:15px;border:1px solid #6555e5;border-radius:14px;background:linear-gradient(110deg,#19164b,#08305a)}.order-product-card small{color:#75eaff}.order-product-card h3{margin:5px 0 10px}.order-product-card div{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.order-product-card strong{color:#6ceeff;font-size:1.1rem}.order-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.order-form-grid label{position:relative}.order-form-grid label>span{position:absolute;right:13px;bottom:12px;color:var(--muted);font-size:.68rem}.calculate-expiry{align-self:end;min-height:43px}.order-source-note{display:grid;gap:5px;margin-top:13px;padding:12px;border:1px solid #315477;border-radius:11px;color:#bcd2e8;font-size:.75rem}.order-source-note b{color:#fff}.order-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}
@media(max-width:1100px){.order-summary{grid-template-columns:1fr 1fr}.order-row{grid-template-columns:105px 1fr 1.2fr 95px}.order-row .order-status,.order-row .order-expiry{grid-column:auto}.order-expiry{display:none}}@media(max-width:760px){.admin-tabs button{min-width:0;flex:1}.zalo-automation-note{align-items:flex-start;flex-direction:column}.order-summary{grid-template-columns:1fr 1fr}.orders-toolbar{align-items:stretch;flex-direction:column}.order-filters{display:grid;grid-template-columns:1fr}.order-filters input{width:100%}.order-row{grid-template-columns:1fr auto;padding:13px}.order-product{grid-column:1/-1}.order-price{text-align:right}.order-status{justify-self:end}.order-customer-card{grid-template-columns:1fr 1fr}.order-customer-card>a{grid-column:1/-1}.order-form-grid{grid-template-columns:1fr}.order-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.order-admin-dialog form{padding:18px 13px}}@media(max-width:460px){.order-summary{grid-template-columns:1fr}.order-row{grid-template-columns:1fr auto}.order-code{grid-column:1/-1}.order-customer{grid-column:1/-1}.order-summary strong{font-size:1.6rem}}
.order-filters button{white-space:nowrap}.manual-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.manual-order-grid select{width:100%;border:1px solid #235b8a;border-radius:10px;background:#03132d;color:#fff;padding:11px 12px;font:inherit}.manual-order-grid .wide{grid-column:1/-1}@media(max-width:760px){.manual-order-grid{grid-template-columns:1fr}.manual-order-grid .wide{grid-column:auto}}
.customer-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.customer-summary article{display:grid;gap:5px;padding:17px}.customer-summary small{color:#75eaff;font-size:.66rem;font-weight:800;letter-spacing:.1em}.customer-summary strong{font-size:2rem}.customer-summary span{color:var(--muted);font-size:.72rem}.customer-summary .warning{border-color:#e7a84d}.customer-summary .warning strong{color:#ffc46e}.customer-summary .vip-card{border-color:#a564ff}.customer-summary .vip-card strong{color:#d6a8ff}.customers-card{padding:18px}.customers-list{display:grid;gap:8px;padding-top:12px}.customer-row{position:relative;display:grid;grid-template-columns:48px minmax(170px,1.3fr) minmax(190px,1.2fr) 135px 105px 110px;align-items:center;gap:12px;width:100%;padding:13px 14px;text-align:left;border-color:#174e7c;background:#061630}.customer-row:hover{border-color:#54eaff;background:#0a2852;transform:translateY(-1px)}.customer-avatar{display:grid;place-items:center;width:44px;height:44px;border:1px solid #66efff;border-radius:14px;background:linear-gradient(145deg,#31d9ff,#5160ff,#b94cff);color:#fff;font-size:1.15rem;font-weight:800;box-shadow:0 0 18px #32bfff44}.customer-row b,.customer-row small{display:block}.customer-row small{margin-top:4px;color:var(--muted);font-size:.65rem}.customer-identity,.customer-package,.customer-expiry{min-width:0}.customer-identity>b,.customer-package>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-identity em{display:flex;gap:4px;margin-top:6px;font-style:normal}.customer-identity em:empty{display:none}.customer-identity em i{padding:3px 7px;border:1px solid #5a4bcf;border-radius:99px;background:#19164b;color:#c9c2ff;font-size:.55rem;font-style:normal}.customer-spend{color:#72efff;text-align:right}.customer-status{padding:6px 8px;border:1px solid #37658f;border-radius:99px;font-size:.62rem;font-style:normal;text-align:center}.customer-status.lead{color:#ffd181;background:#432b10;border-color:#9e722f}.customer-status.active{color:#7eeaff;background:#0b315c;border-color:#258eca}.customer-status.vip{color:#e7c5ff;background:#351866;border-color:#9a63ef}.customer-status.inactive{color:#aebed0;background:#182638;border-color:#526a82}.follow-up-pill{position:absolute;right:10px;top:-7px;padding:4px 8px;border-radius:99px;background:#ff4e9d;color:#fff;font-size:.56rem;font-weight:800;box-shadow:0 0 12px #ff4e9d66}.customer-expiry{padding-left:10px;border-left:2px solid #31577d}.customer-expiry.expiring{border-color:#ffc05b}.customer-expiry.expiring b{color:#ffd181}.customer-expiry.expired{border-color:#ff658f}.customer-expiry.expired b{color:#ff9ab5}
.customer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.customer-form-grid select{width:100%;border:1px solid #235b8a;border-radius:10px;background:#03132d;color:#fff;padding:11px 12px;font:inherit}.customer-form-grid label>small{color:#789bbd;font-size:.62rem;font-weight:400}.customer-purchases{margin-top:18px;padding-top:15px;border-top:1px solid #184c78}.customer-purchases>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-purchases h3{margin:0}.customer-purchases>div:first-child span{color:#69edff;font-size:.72rem;font-weight:700}.customer-purchases>div:last-child{display:grid;gap:7px;margin-top:10px}.customer-purchases button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:11px 13px;text-align:left;background:#061630;border-color:#235b8a}.customer-purchases button:hover{border-color:#59eaff}.customer-purchases button span:last-child{text-align:right}.customer-purchases button small{display:block;margin-top:4px;color:var(--muted);font-size:.63rem}.customer-purchases button strong{color:#6ceeff}.customer-purchases p{margin:0;padding:16px;border:1px dashed #315477;border-radius:11px;color:var(--muted);text-align:center}.customer-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.customer-dialog-actions a{display:grid;place-items:center;padding:10px 16px;border:1px solid #54eaff;border-radius:10px;background:#082a43;color:#fff;font-weight:700}.customer-dialog-actions a.disabled{opacity:.45;pointer-events:none}
@media(max-width:1100px){.customer-summary{grid-template-columns:1fr 1fr}.customer-row{grid-template-columns:48px 1.2fr 1fr 120px}.customer-spend{display:none}.customer-status{justify-self:end}}@media(max-width:760px){.admin-tabs{overflow-x:auto}.admin-tabs button{flex:0 0 auto;min-width:125px}.customer-summary{grid-template-columns:1fr 1fr}.customer-row{grid-template-columns:44px 1fr auto}.customer-package{grid-column:2/-1}.customer-expiry{grid-column:2}.customer-status{grid-column:3}.customer-form-grid{grid-template-columns:1fr}.customer-form-grid .wide{grid-column:auto}.customer-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.customer-dialog-actions a{grid-column:1/-1}.customer-purchases>div:first-child{align-items:flex-start;flex-direction:column}.customer-purchases button{align-items:flex-start;flex-direction:column}.customer-purchases button span:last-child{text-align:left}}@media(max-width:460px){.customer-summary{grid-template-columns:1fr}.customer-row{grid-template-columns:40px 1fr}.customer-status{grid-column:2;justify-self:start}.customer-expiry{grid-column:2}.customer-dialog-actions{grid-template-columns:1fr}.customer-dialog-actions a{grid-column:auto}}

/* v47 — keep the admin menu at the top and keep Vietnamese labels readable on phones. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,button,input,textarea,select{font-family:"Be Vietnam Pro",Arial,sans-serif}
.admin-tabs{
  position:sticky;
  top:0;
  z-index:30;
  align-items:center;
  justify-content:flex-start;
  box-shadow:0 10px 28px #020817cc;
  backdrop-filter:blur(16px);
}
.admin-tabs button{white-space:nowrap;word-break:keep-all;line-height:1.2}
@media(max-width:760px){
  main{padding-top:10px}
  .admin-tabs{top:0;margin-inline:-3px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .admin-tabs::-webkit-scrollbar{display:none}
  .admin-tabs button{flex:0 0 auto!important;min-width:max-content!important;padding:10px 14px;font-size:.78rem}
  .dashboard h1{font-size:1.55rem;line-height:1.2}
  .orders-toolbar h2,.customer-dialog h2,.order-admin-dialog h2{overflow-wrap:anywhere;line-height:1.25}
}
