:root{--navy:#0b1f3a;--navy-2:#102a4e;--cyan:#0ea5e9;--cyan-dark:#0284c7;--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5eaf1;--green:#16a34a;--red:#dc2626;--orange:#f97316;--yellow:#d97706;--shadow:0 8px 30px rgba(15,35,65,.07);--radius:16px}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}a{color:var(--cyan-dark);text-decoration:none}a:hover{color:#0369a1}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;line-height:1.2;margin-bottom:.35rem}h2{font-size:1.06rem;margin-bottom:.35rem}h3{font-size:.95rem;margin:1rem 0 .6rem}code{background:#eef3f8;padding:.15rem .35rem;border-radius:5px}.muted{color:var(--muted)}.text-danger{color:var(--red)!important}.text-success{color:var(--green)!important}.desktop-only{display:inline}.mobile-only{display:none}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:linear-gradient(180deg,var(--navy),#07162a);color:#fff;z-index:40;display:flex;flex-direction:column}.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#22d3ee,#0ea5e9);font-weight:900;font-size:1.3rem;color:#062039;box-shadow:0 8px 24px rgba(14,165,233,.3)}.brand strong,.brand span,.auth-brand strong,.auth-brand span{display:block}.brand strong,.auth-brand strong{font-size:1.1rem;letter-spacing:.05em}.brand span,.auth-brand span{font-size:.75rem;opacity:.68}.nav{padding:14px 12px;overflow-y:auto;flex:1}.nav a{color:#cbd7e7;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;margin:2px 0;font-size:.92rem;font-weight:560}.nav a span{width:20px;text-align:center;font-size:1.1rem}.nav a:hover{background:rgba(255,255,255,.07);color:#fff}.nav a.active{background:linear-gradient(90deg,rgba(14,165,233,.24),rgba(14,165,233,.09));color:#fff;box-shadow:inset 3px 0 #22d3ee}.nav-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:#7387a3;padding:16px 12px 5px}.sidebar-footer{padding:12px 22px;color:#71829a;font-size:.72rem;border-top:1px solid rgba(255,255,255,.07)}.content-wrap{margin-left:244px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.topbar-title span,.topbar-title small{display:block}.topbar-title span{font-weight:750}.topbar-title small{font-size:.72rem;color:var(--muted)}.topbar-actions,.user-menu>a{display:flex;align-items:center;gap:12px}.user-menu>a{color:var(--text);font-weight:650}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dff5fd;color:#075985}.main-content{width:min(1480px,100%);margin:0 auto;padding:28px;flex:1}.footer{padding:16px 28px;color:#8a94a3;font-size:.75rem;text-align:center}.sidebar-backdrop{display:none}
.brand{gap:10px;padding-right:18px;padding-left:18px}.brand-logo{width:48px;height:48px;flex:0 0 48px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(14,165,233,.24))}.auth-brand .brand-logo{width:52px;height:52px;flex-basis:52px}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-heading p{color:var(--muted);margin-bottom:0}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-line h1{margin:0}.code-chip{background:#e8eef6;color:#43516a;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:700}.back-link{display:inline-block;font-size:.83rem;margin-bottom:.65rem;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:.66rem 1rem;font-weight:700;font-size:.86rem;transition:.15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 7px 18px rgba(14,165,233,.22)}.button-primary:hover{color:#fff}.button-secondary{background:#fff;border-color:#cfd8e5;color:#27364e}.button-secondary:hover,.button-ghost:hover{background:#f5f8fc;color:#172033}.button-ghost{background:transparent;border-color:transparent;color:#5d6879}.button-danger{background:var(--red);color:#fff}.button-danger:hover{color:#fff}.button-danger-outline{background:#fff;color:var(--red);border-color:#fecaca}.button-block{width:100%;margin:.35rem 0}.button-small{padding:.48rem .78rem}.button-large{padding:.82rem 1.2rem;font-size:.95rem}.link-button{border:0;background:transparent;color:var(--cyan-dark);padding:.25rem;font-size:.82rem}.inline-form{display:inline-flex;margin:0}.icon-button{border:0;background:transparent;font-size:1.2rem}.table-action{border:0;background:transparent;color:var(--cyan-dark);font-weight:700;font-size:.82rem;padding:.3rem}.table-action.danger{color:var(--red)}.table-actions{display:flex;gap:5px;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-header h2,.card-header p{margin-bottom:0}.card-header p{font-size:.8rem;color:var(--muted)}.table-card{padding:0;overflow:hidden}.table-card>.card-header{padding:20px 20px 0}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats-grid.customer-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.stats-grid.order-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;color:var(--text);box-shadow:0 5px 18px rgba(15,35,65,.045);min-width:0}.stat-card:hover{border-color:#cbd8e7;color:var(--text)}.stat-card>div{min-width:0}.stat-card small,.stat-card strong,.stat-card em{display:block}.stat-card small{font-size:.71rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card strong{font-size:1.15rem;margin:.14rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card em{font-size:.69rem;color:#8993a3;font-style:normal}.stat-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;font-weight:900}.stat-icon.cyan{background:#dff7fd;color:#0891b2}.stat-icon.blue{background:#e5efff;color:#2563eb}.stat-icon.green{background:#e8f8ee;color:#15803d}.stat-icon.red{background:#feecec;color:#dc2626}.stat-icon.orange{background:#fff0e5;color:#ea580c}.danger-card{border-color:#fecaca;background:#fffafa}.content-grid{display:grid;gap:20px;align-items:start}.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid.two-thirds{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.stack>*:last-child{margin-bottom:0}.sticky-card{position:sticky;top:88px}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#7b8797;background:#f8fafc;white-space:nowrap}td{font-size:.84rem}td strong,td small{display:block}td small{color:var(--muted);margin-top:.18rem}tbody tr:hover{background:#fafcff}tbody tr:last-child td{border-bottom:0}.row-unpaid{background:#fff6f6!important;box-shadow:inset 3px 0 #ef4444}.row-unpaid:hover{background:#ffeded!important}.product-pill{display:inline-flex;align-items:center;gap:5px;font-weight:750}a.product-pill{color:var(--text)}a.product-pill:hover{color:var(--cyan-dark)}.product-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tag)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:12px 16px;border-top:1px solid var(--line)}.pagination-status{margin:0;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.pagination-pages{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.pagination-pages>li{display:flex}.pagination a,.pagination .is-off,.pagination-gap{min-width:34px;height:34px;padding:0 10px;display:inline-grid;place-items:center;border-radius:9px;font-size:.82rem;line-height:1;font-variant-numeric:tabular-nums}.pagination a{border:1px solid var(--line);background:var(--card);color:var(--text);transition:background .15s ease,border-color .15s ease,color .15s ease}.pagination a:hover{border-color:var(--cyan);color:var(--cyan-dark);background:rgba(14,165,233,.08)}.pagination a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.pagination a.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.pagination a.active:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff}.pagination .is-off{border:1px solid var(--line);color:var(--muted);opacity:.55}.pagination-gap{min-width:20px;padding:0;color:var(--muted)}@media (max-width:760px){.pagination{justify-content:center}.pagination-status{order:2;width:100%;text-align:center}.pagination-pages{order:1;width:100%;justify-content:center}}.empty-inline{text-align:center;color:var(--muted);padding:28px 12px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:3rem;font-weight:900;color:#c8d2df}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:800;white-space:nowrap}.badge-success{background:#e7f8ed;color:#147a35}.badge-danger{background:#fee9e9;color:#b91c1c}.badge-warning{background:#fff4db;color:#a35b05}.badge-info{background:#e1f4fd;color:#036b9f}.badge-muted{background:#eef1f5;color:#687386}.smart-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.27rem .62rem;background:var(--tag);color:var(--tag-text);font-size:.69rem;font-weight:500;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.smart-tag.faded{opacity:.5}
.smart-tag.soft{background:var(--tag-soft);color:var(--tag);box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.tag-row{display:flex;gap:5px;flex-wrap:wrap}.customer-code{text-transform:lowercase}.tag-row.large{margin-top:.65rem}.tag-row.large .smart-tag{font-size:.74rem;padding:.35rem .7rem}
.filter-bar{display:flex;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:16px;box-shadow:0 4px 15px rgba(15,35,65,.035)}.filter-bar select,.filter-bar input{height:40px}.filter-bar .search-box{flex:1}.search-box{display:flex;align-items:center;border:1px solid #ccd5e1;background:#fff;border-radius:9px;padding:0 11px;min-width:220px}.search-box:focus-within{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.search-box span{color:#8190a4}.search-box input{border:0!important;box-shadow:none!important;width:100%;padding-left:8px}.status-tabs{display:flex;gap:5px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.status-tabs a{display:flex;align-items:center;gap:7px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5b6677;font-size:.79rem;font-weight:700;white-space:nowrap}.status-tabs a b{background:#eef2f7;padding:.05rem .38rem;border-radius:999px}.status-tabs a.active{background:var(--navy);border-color:var(--navy);color:#fff}.status-tabs a.danger-tab.active{background:var(--red);border-color:var(--red)}.push-right{margin-left:auto}.inline-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700}
label{display:block;font-size:.78rem;font-weight:700;color:#465267}label>b{color:var(--red)}input,select,textarea{width:100%;border:1px solid #cdd6e2;border-radius:9px;background:#fff;color:var(--text);padding:.66rem .75rem;margin-top:.3rem;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(14,165,233,.1)}textarea{resize:vertical}label small{display:block;color:var(--muted);font-weight:400;margin-top:.3rem}.form-stack>*{margin-bottom:13px}.form-stack>*:last-child{margin-bottom:0}.form-stack.compact>*{margin-bottom:9px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-card{max-width:1000px;margin-left:auto;margin-right:auto;padding:26px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:18px}.sticky-actions{position:sticky;bottom:12px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(15,35,65,.12);z-index:5}.form-section{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.form-section:first-of-type{padding-top:0}.section-number{width:34px;height:34px;border-radius:10px;background:#e1f5fd;color:#0879a9;display:grid;place-items:center;font-weight:900}.section-content h2{margin:.4rem 0 1rem}.inline-note{font-size:.76rem;color:var(--muted);margin-top:.5rem}.customer-preview{margin-top:12px;background:#f1f8fc;border:1px solid #d6ebf5;border-radius:10px;padding:10px 12px}.customer-preview strong,.customer-preview span{display:block}.customer-preview span{font-size:.76rem;color:var(--muted)}.check-row,.check-card{display:flex;align-items:flex-start;gap:9px}.check-row input,.check-card input{width:auto;margin-top:.15rem}.check-card{border:1px solid var(--line);border-radius:11px;padding:12px;background:#f9fbfd}.check-card span b,.check-card span small{display:block}.password-field{position:relative}.password-field input{padding-right:58px}.password-field button{position:absolute;right:5px;top:9px;border:0;background:#eef3f8;border-radius:6px;padding:.3rem .5rem;font-size:.72rem}.action-panel{border:1px solid var(--line);border-radius:10px;padding:0 12px;margin:10px 0}.action-panel summary{cursor:pointer;padding:11px 0;font-weight:750;font-size:.82rem}.action-panel[open]>form,.action-panel[open]>div{border-top:1px solid var(--line);padding:12px 0}.inline-add-form{display:grid;grid-template-columns:1fr 90px auto;gap:8px;margin-top:12px}.inline-add-form input{margin:0}
.alert{border-radius:11px;padding:12px 42px 12px 14px;margin-bottom:16px;position:relative;font-size:.86rem}.alert button{position:absolute;right:10px;top:7px;border:0;background:transparent;font-size:1.25rem}.alert-success{background:#eaf8ef;color:#126b31;border:1px solid #c7ecd3}.alert-error{background:#fff0f0;color:#a91c1c;border:1px solid #fecaca}.alert-warning{background:#fff8e6;color:#90540a;border:1px solid #f8dfaa}.alert.persistent{padding-right:14px}.callout{background:#eef8fc;border:1px solid #cfeaf5;border-radius:10px;padding:11px 13px;font-size:.78rem;color:#31556a}.callout.warning{background:#fff8e8;border-color:#f7dfad;color:#7b500d}.callout.danger{background:#fff0f0;border-color:#fecaca;color:#991b1b}.detail-list,.detail-grid{margin:0}.detail-list dt{font-size:.69rem;text-transform:uppercase;color:#8a94a3;margin-top:10px}.detail-list dd{margin:2px 0 10px;font-weight:600;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.detail-grid>div{background:#f9fbfd;border:1px solid #edf1f5;padding:11px;border-radius:9px}.detail-grid .wide{grid-column:1/-1}.detail-grid dt{font-size:.68rem;color:var(--muted);text-transform:uppercase}.detail-grid dd{margin:.25rem 0 0;font-weight:650;overflow-wrap:anywhere}.detail-grid dd small{display:block;color:var(--muted);font-weight:400}.check-list{padding-left:0;list-style:none;margin:12px 0}.check-list li{padding:.45rem 0 .45rem 1.5rem;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.steps-list{list-style:none;counter-reset:steps;padding:0;margin:0}.steps-list li{position:relative;padding:.3rem 0 1rem 45px;min-height:40px}.steps-list li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;background:#e5f5fc;color:#0578a9;border-radius:9px;font-weight:900}.steps-list b,.steps-list span{display:block}.steps-list span{font-size:.78rem;color:var(--muted)}.steps-list.compact li{padding-bottom:.65rem}
.mini-list>a,.mini-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4;color:var(--text)}.mini-list>*:last-child{border-bottom:0}.mini-list div div,.mini-list a div{flex:1;min-width:0}.mini-list strong,.mini-list small{display:block}.mini-list small{font-size:.72rem;color:var(--muted)}.mini-list time{font-size:.72rem;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;background:var(--dot);flex:0 0 9px}.transaction-sign{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900;flex:0 0 28px}.transaction-sign.positive{background:#e6f7ec;color:var(--green)}.transaction-sign.negative{background:#feecec;color:var(--red)}.transactions>b{margin-left:auto}.timeline{position:relative}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:0 0 17px}.timeline-item>span{width:10px;height:10px;border-radius:50%;background:#22b7ef;margin-top:5px;position:relative}.timeline-item:not(:last-child)>span:after{content:"";position:absolute;top:11px;left:4px;width:2px;height:calc(100% + 8px);background:#dbe5ef}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:.84rem}.timeline-item p{font-size:.8rem;margin:.25rem 0}.timeline-item small{font-size:.7rem;color:var(--muted)}.timeline.compact .timeline-item{padding-bottom:12px}.audit-timeline .timeline-item{padding-bottom:20px}.tier-list>*{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.tier-list>* span{flex:1}.tier-list>*.disabled{opacity:.45}.tier-list strong{color:#047aa8}.action-card .button{margin-bottom:8px}
.modal{width:min(560px,calc(100vw - 28px));border:0;border-radius:16px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.28);max-height:88vh;overflow-y:auto}.modal::backdrop{background:rgba(6,20,38,.65);backdrop-filter:blur(2px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.modal-header h2,.modal-header p{margin-bottom:0}.modal-header p{font-size:.78rem;color:var(--muted)}.modal-header>button{border:0;background:#eef2f6;width:30px;height:30px;border-radius:8px;font-size:1.15rem}
.auth-page,.install-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#e0f7ff,transparent 36%),linear-gradient(135deg,#f6f9fd,#edf4fa);display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 70px rgba(15,35,65,.13);padding:34px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.auth-card h1{font-size:1.55rem}.auth-note{font-size:.7rem;text-align:center;color:var(--muted);margin:18px 0 0}.install-page{display:block}.install-wrap{width:min(850px,100%);margin:30px auto}.install-header{display:flex;align-items:center;gap:13px;margin-bottom:20px}.install-header h1,.install-header p{margin:0}.install-header p{color:var(--muted)}.install-requirements{padding-bottom:14px}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.requirement{display:flex;align-items:center;gap:8px;background:#f7f9fc;border-radius:8px;padding:8px 10px;font-size:.8rem}.requirement b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center}.requirement.ok b{background:#ddf7e6;color:var(--green)}.requirement.fail b{background:#fee8e8;color:var(--red)}.success-panel{text-align:center;padding:45px}.success-panel h2{font-size:1.5rem;color:var(--green)}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid.customer-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid.two-thirds{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.content-wrap{margin-left:0}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(5,18,34,.55);z-index:35}.mobile-only{display:inline-flex}.topbar{padding:0 16px}.main-content{padding:20px}.content-grid.two,.content-grid.two-thirds{grid-template-columns:1fr}.sticky-card{position:static}.stats-grid,.stats-grid.customer-stats,.stats-grid.order-stats,.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){html{font-size:14px}.desktop-only{display:none}.topbar-title small{display:none}.topbar-actions{gap:6px}.topbar-actions>.button{display:none}.main-content{padding:15px}.page-heading{display:block}.page-heading .heading-actions{margin-top:14px}.heading-actions .button{flex:1}.card{padding:16px;border-radius:13px}.stats-grid,.stats-grid.customer-stats,.stats-grid.order-stats,.compact-stats{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:12px;gap:8px}.stat-icon{display:none}.stat-card strong{font-size:1rem}.content-grid{gap:0}.filter-bar{align-items:stretch;flex-wrap:wrap}.filter-bar>*{flex:1 1 140px}.filter-bar .search-box{flex-basis:100%}.form-grid.two,.form-grid.three,.form-grid.four,.detail-grid,.requirement-grid{grid-template-columns:1fr}.form-section{grid-template-columns:28px 1fr;gap:9px}.section-number{width:28px;height:28px}.form-card{padding:17px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.sticky-actions{bottom:6px}.inline-add-form{grid-template-columns:1fr 70px}.inline-add-form .button{grid-column:1/-1}.auth-card{padding:24px}.modal{padding:17px}.modal-header>button{width:40px;height:40px;flex:0 0 40px}.customer-heading .heading-actions{display:flex}.detail-grid .wide{grid-column:auto}}

/* v1.1.0 · Nhóm kho, cấu hình trường linh động và nhập hàng loạt */
fieldset{min-width:0;margin:0 0 20px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}
legend{padding:0 8px;font-size:.88rem;font-weight:850;color:#26354d}
legend small{font-weight:500;color:var(--muted)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand small,.topbar-title strong,.topbar-title small{display:block}
.brand small{font-size:.75rem;opacity:.68}
.topbar-title{margin:0}.topbar-title strong{font-weight:750}.topbar-title small{font-size:.72rem;color:var(--muted)}
a.user-menu{display:flex;align-items:center;gap:9px;color:var(--text);font-weight:650}
.sidebar-backdrop{border:0;padding:0}
.page-heading>section{min-width:0}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.card-footer-actions{display:flex;gap:9px;justify-content:flex-end;padding:15px 20px;border-top:1px solid var(--line)}

.product-workspace{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(560px,1.1fr);gap:20px;align-items:start}
.product-editor{position:sticky;top:88px;max-height:calc(100vh - 108px);overflow:auto}
.product-group-list{list-style:none;margin:0;padding:0}
.product-group-list li+li{border-top:1px solid var(--line)}
.product-group-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:15px 20px;color:var(--text);border-left:4px solid transparent}
.product-group-card:hover,.product-group-card.active{color:var(--text);background:#f7fbfe;border-left-color:var(--cyan)}
.color-swatch{width:38px;height:38px;border-radius:11px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 4px 10px rgba(15,35,65,.1)}
.product-group-main strong,.product-group-main small,.product-group-metrics b,.product-group-metrics small{display:block}
.product-group-main small,.product-group-metrics{font-size:.72rem;color:var(--muted)}
.product-group-metrics{text-align:right}.product-group-metrics b{font-size:1rem;color:var(--text)}
.color-picker-control{display:flex;align-items:center;gap:12px;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}
.color-picker-control input[type=color]{width:58px;height:46px;padding:3px;margin:0;border-radius:10px}.color-picker-control output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800}
.code-rule-preview{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) minmax(160px,1.2fr);gap:12px;align-items:end}
.code-rule-preview p{margin:0;padding:12px;border-radius:10px;background:#eaf7fd;color:#164e63}.code-rule-preview strong{display:block;font-size:1.1rem;letter-spacing:.08em}
.field-config-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.field-config-row{display:grid;grid-template-columns:28px minmax(130px,1fr) minmax(140px,1.1fr) minmax(120px,.85fr);gap:9px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.field-order{align-self:center;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#e8f4fb;color:#0475a4;font-weight:900}
.field-options{grid-column:2/4;display:flex;gap:14px;flex-wrap:wrap;padding:7px 0}.field-options label{display:flex;align-items:center;gap:6px;font-size:.72rem}.field-options input{width:auto;margin:0}
.field-row-actions{display:flex;justify-content:flex-end;gap:4px}.field-row-actions button{width:30px;height:30px;border-radius:8px;background:#eef3f8}.field-row-actions .danger{color:var(--red);background:#fff0f0}

.product-tabs{display:flex;gap:10px;overflow-x:auto;margin-bottom:16px;padding:2px 1px 5px}
.product-tab{position:relative;min-width:235px;display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);box-shadow:0 4px 14px rgba(15,35,65,.04)}
.product-tab:hover,.product-tab.active{color:var(--text);border-color:var(--product-color);box-shadow:inset 0 -3px var(--product-color),0 7px 18px rgba(15,35,65,.07)}
.product-tab-swatch{width:11px;height:34px;border-radius:999px;background:var(--product-color)}
.product-tab strong,.product-tab small{display:block}.product-tab small{font-size:.7rem;color:var(--muted);margin-top:2px}.tab-alert{min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:#fee9e9;color:#b91c1c;font-size:.7rem}
.product-tab.product-tab-add{min-width:64px;width:64px;min-height:64px;flex:0 0 64px;display:grid;grid-template-columns:1fr;place-items:center;padding:0;border-style:dashed;color:#0284c7;background:#f7fcff;box-shadow:none}.product-tab-add span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e0f5fd;font-size:1.65rem;font-weight:500;line-height:1}.product-tab-add:hover{color:#0369a1;background:#eefaff;border-style:solid;box-shadow:inset 0 -3px var(--product-color),0 7px 18px rgba(15,35,65,.07)}
.warehouse-context{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--product-color) 35%,#dbe4ee);border-radius:13px;background:linear-gradient(110deg,color-mix(in srgb,var(--product-color) 10%,#fff),#fff)}
.warehouse-context>header,.account-form-identity{display:flex;align-items:center;gap:12px}.warehouse-context h2,.warehouse-context p,.account-form-identity h2,.account-form-identity p{margin:0}.warehouse-context p,.account-form-identity p{font-size:.75rem;color:var(--muted)}
.warehouse-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--product-color);color:#fff;font-weight:900;box-shadow:0 6px 16px color-mix(in srgb,var(--product-color) 35%,transparent)}
.warehouse-table table{min-width:900px}.warehouse-table td{max-width:260px;overflow-wrap:anywhere}
.product-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-choice{display:grid;grid-template-columns:12px 1fr;gap:9px;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--text)}.product-choice:hover{color:var(--text);border-color:var(--product-color)}.product-choice small{grid-column:2;color:var(--muted)}

.account-form-identity{margin:-4px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.compact-detail{margin-bottom:18px}.compact-detail>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:11px}
.dynamic-account-fields{margin-bottom:16px}
.bulk-entry-form{padding:0;overflow:hidden}.bulk-entry-form>.card-header{padding:20px 20px 0}.bulk-entry-wrap{padding:0 20px 8px}.bulk-entry-table{min-width:max-content}.bulk-entry-table th:first-child,.bulk-entry-table td:first-child{position:sticky;left:0;z-index:2;background:#f8fafc}.bulk-entry-table td{min-width:190px;padding:7px}.bulk-entry-table td:last-child{min-width:42px}.bulk-entry-table input,.bulk-entry-table select{min-width:175px;margin:0;padding:.58rem .65rem}.bulk-entry-form>.callout{margin:12px 20px}.bulk-entry-form>.form-actions{margin:16px 20px}
.import-guide{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.import-guide h3{margin-top:0}.import-guide code{display:block;overflow-x:auto;padding:10px;margin-bottom:9px;white-space:nowrap}

@media(max-width:1180px){.product-workspace{grid-template-columns:1fr}.product-editor{position:static;max-height:none}.product-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-group-card{grid-template-columns:36px minmax(0,1fr) auto}.product-group-metrics{display:none}.code-rule-preview{grid-template-columns:1fr 1fr}.code-rule-preview p{grid-column:1/-1}.field-config-row{grid-template-columns:28px 1fr}.field-config-row>label{grid-column:2}.field-options{grid-column:2}.field-row-actions{grid-column:2}.warehouse-context{align-items:flex-start;flex-direction:column}.product-choice-grid{grid-template-columns:1fr}.bulk-entry-wrap{padding:0}.bulk-entry-table{min-width:0;width:100%}.bulk-entry-table thead{display:none}.bulk-entry-table tbody,.bulk-entry-table tr,.bulk-entry-table td,.bulk-entry-table th{display:block;width:100%}.bulk-entry-table tr{position:relative;padding:12px;border-bottom:10px solid var(--bg)}.bulk-entry-table th:first-child{position:static;background:transparent;text-align:left}.bulk-entry-table td{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:center;border:0;min-width:0;padding:5px}.bulk-entry-table td:before{content:attr(data-label);font-size:.72rem;font-weight:750;color:var(--muted)}.bulk-entry-table input,.bulk-entry-table select{min-width:0}.bulk-entry-table td:last-child{position:absolute;right:10px;top:8px;width:auto;display:block}.bulk-entry-table td:last-child:before{display:none}}
@media(max-width:520px){.product-group-card{grid-template-columns:34px minmax(0,1fr)}.product-group-card>.badge{display:none}.field-config-row{grid-template-columns:1fr}.field-config-row>*{grid-column:1!important}.field-order{display:none}.product-tab{min-width:210px}.warehouse-context>a{font-size:.75rem}.bulk-entry-table td{grid-template-columns:1fr}.bulk-entry-table td:before{margin-top:4px}}

/* Nhập kho: dán nhanh theo cột + xem trước */
.col-map{margin:0 0 14px}
.col-map-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.col-map-row{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 5px;background:#fff;border:1px solid #d5deea;border-radius:10px}
.col-map-row.dragging{opacity:.45}
.col-drag{cursor:grab;color:#9aa7b8;font-size:1rem;line-height:1;padding:2px 1px;user-select:none}
.col-drag:active{cursor:grabbing}
.col-map-row .icon-button{width:26px;height:26px;border-radius:7px;background:#fff0f0;color:var(--red);font-size:.85rem}
.col-map-row .col-order{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#e8f4fb;color:#0475a4;font-weight:800;font-size:.74rem}
.col-map-row select{width:auto;min-width:150px;margin:0;padding:.42rem .5rem;font-size:.82rem}
.col-map-row .account-import-col-select{min-width:250px}
.col-actions{display:flex;gap:3px}
.col-actions .icon-button{width:30px;height:30px;border-radius:8px;background:#eef3f8;font-size:.9rem}
.col-actions .icon-button.danger{color:var(--red);background:#fff0f0}
.preview-wrap{margin:14px 0}
.preview-wrap h3{margin:0 0 8px}
.preview-table{min-width:520px}
.cell-warn{background:#fff4db;box-shadow:inset 3px 0 var(--yellow)}
.cell-warn-tag{display:block;color:#a35b05;font-size:.66rem;font-weight:700;margin-top:2px}

/* Nhóm sản phẩm — gọn, phân biệt bằng màu */
.compact-heading{margin-bottom:14px}
.compact-heading h1{font-size:1.3rem;margin-bottom:2px}
.compact-heading p{font-size:.8rem}
.group-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sum-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.76rem;color:var(--muted)}
.sum-chip b{font-size:1rem;font-weight:700;color:var(--text)}
.sum-chip.tone-ok b{color:var(--green)}
.sum-chip.tone-alert{border-color:#fecaca;background:#fff6f6}.sum-chip.tone-alert b{color:var(--red)}
.sum-chip.tone-muted b{color:var(--muted)}
.product-workspace{display:block}
.product-workspace.is-editing{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,1.05fr);gap:16px;align-items:start}
.group-list-card{padding:6px}
.group-list{list-style:none;margin:0;padding:0}
.group-list-item+.group-list-item{margin-top:2px}
.group-row{display:grid;grid-template-columns:10px minmax(0,1.5fr) auto 24px;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;border-left:3px solid transparent;color:inherit;transition:background .15s,border-color .15s,transform .15s}
.group-row:hover{background:#f7fafc;color:inherit;transform:translateX(2px)}
.group-row:focus-visible{outline:3px solid rgba(14,165,233,.18);outline-offset:1px;background:#f4faff}
.group-row.active{background:color-mix(in srgb,var(--g) 8%,#fff);border-left-color:var(--g)}
.group-dot{width:10px;height:10px;border-radius:50%;background:var(--g)}
.group-name{min-width:0;display:flex;flex-direction:column;gap:2px}
.group-title{font-size:.9rem;color:var(--text)}
.group-name small{font-size:.71rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-stats{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.group-open-arrow{display:grid;place-items:center;width:24px;height:32px;color:#9aa5b4;font-size:1.3rem;transition:color .15s,transform .15s}.group-row:hover .group-open-arrow{color:#0284c7;transform:translateX(2px)}
.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;background:#eef2f7;color:#5b6677;white-space:nowrap}
.chip.tone-ok{background:#e7f8ed;color:#147a35}
.chip.tone-info{background:#e1f4fd;color:#036b9f}
.chip.tone-alert{background:#fee9e9;color:#b91c1c}
.chip.tone-warn{background:#fff4db;color:#a35b05}
.chip.chip-off{background:#eef1f5;color:#8a94a3}
.chip.chip-source{background:#f3e8ff;color:#7e22ce}
.chip.chip-lock{background:#eef3f8;color:#5b6677}
.chip.tone-cust-one{background:#e7f8ed;color:#147a35}
.chip.tone-cust-many{background:#f1e9fd;color:#6d28d9}
.row-link{font-size:.78rem;color:var(--cyan-dark);font-weight:600;padding:2px 0;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
.row-link:hover{border-bottom-color:currentColor}
.row-link.edit.current{color:var(--navy);border-bottom-color:currentColor}
.product-editor{position:static;max-height:none;overflow:visible;padding:16px;margin-top:16px;scroll-margin-top:82px}
.editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.editor-title{font-size:.92rem;font-weight:650}
.editor-form>*{margin-bottom:12px}
.editor-block{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 12px;background:#fbfcfe}
.editor-block>legend{font-size:.78rem;font-weight:650;color:#33465f;padding:0 6px}
.editor-block>legend small{font-weight:400;color:var(--muted)}
.editor-block label{margin-top:8px}
.editor-block>label:first-of-type,.editor-block .ident-grid label,.editor-block .supply-grid label{margin-top:0}
.ident-grid{display:grid;grid-template-columns:minmax(180px,2.2fr) minmax(88px,1fr) 84px minmax(96px,1fr) minmax(130px,1.1fr);gap:10px;align-items:end}
.supply-grid{display:grid;grid-template-columns:minmax(240px,2fr) minmax(160px,1fr);gap:10px;align-items:end}
.copy-template-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;align-items:stretch}.copy-template-grid textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.55}.template-token-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}.template-token{display:grid;grid-template-columns:minmax(124px,auto) minmax(150px,1fr) auto;gap:9px;align-items:center;width:100%;border:1px solid transparent;border-radius:8px;background:#fff;color:#33465f;padding:6px 9px;text-align:left;cursor:pointer}.template-token code{color:#0475a4;font:700 .68rem ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.template-token span{color:#66758a;font-size:.68rem;line-height:1.35}.template-token:hover{background:#eef8fc;border-color:#8ccce8}.template-token:focus-visible{outline:2px solid #38bdf8;outline-offset:1px}.template-bold-button strong{font-size:.9rem;line-height:1}.template-help{margin:6px 0;color:var(--muted);font-size:.72rem;line-height:1.45}.template-preview-card{display:flex;flex-direction:column;border:1px solid #d8e8f2;border-radius:10px;background:#fff;padding:12px;min-width:0}.template-preview-card>span{font-size:.72rem;font-weight:700;color:#0475a4}.template-preview-card pre{flex:1;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;padding:10px;border-radius:8px;background:#f5f9fc;color:#26384d;font:500 .76rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.template-preview-card pre strong{font-weight:800;color:#10233b}.template-preview-card small{color:var(--muted);font-size:.68rem;line-height:1.4}
.code-sample{font-size:.72rem;color:var(--muted);align-self:end;line-height:1.35}
.code-sample strong{display:block;font-size:1rem;letter-spacing:.06em;color:#0475a4}
.code-rule{display:block;align-self:end;font-size:.72rem;line-height:1.35;color:var(--muted)}.code-rule strong{display:block;color:#174b65}.code-rule small{display:block;white-space:normal}
.pick-color .color-picker-control{margin-top:4px}
.pick-color .color-picker-control input[type=color]{width:44px;height:40px}
.ident-grid input[readonly],.ident-grid select:disabled{background:#eef2f7;color:#5b6677;cursor:not-allowed;opacity:1}
.code-lock-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.code-lock-note .row-link{font-weight:700;white-space:nowrap}
.field-table{min-width:560px;font-size:.8rem}
.field-table th{font-size:.66rem;padding:6px 6px;background:#f4f7fb}
.field-table td{padding:5px 6px;border-bottom:1px solid #eef1f5;vertical-align:middle}
.field-table select,.field-table input[type=text],.field-table input:not([type]){margin:0;padding:.42rem .5rem;font-size:.8rem}
.field-table input[name$="[label]"]{min-width:120px}
.cell-grip{width:22px;text-align:center}
.field-drag{cursor:grab;color:#b3bccb;font-size:1rem;line-height:1}
.field-drag:hover{color:var(--cyan)}
.cell-pos{width:52px}
.cell-pos input{width:46px;text-align:center;margin:0;padding:.42rem .3rem}
.cell-check{width:40px;text-align:center}
.cell-check input{width:auto;margin:0}
.cell-del{width:34px;text-align:center}
.field-row{transition:background .12s}
.field-row:hover{background:#f8fbfe}
.field-row.dragging{opacity:.5;background:#eaf6fd}
.demo-preview{border:1px dashed #cfe0ee;border-radius:10px;padding:10px 12px;background:#f6fbfe}
.demo-caption{display:block;font-size:.72rem;color:#0475a4;margin-bottom:6px}
.demo-table{min-width:0;font-size:.78rem}
.demo-table th{background:transparent;border-bottom:1px solid #dbeaf4}
.demo-table td{padding:7px 8px}
.demo-empty{color:var(--muted);font-style:italic}
.editor-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:#fff;padding-top:10px;border-top:1px solid var(--line)}
.foot-toggles{display:flex;gap:16px;flex-wrap:wrap}
.use-toggle{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:500;color:var(--text)}
.use-toggle input{width:auto;margin:0}
.foot-actions{display:flex;gap:8px}
@media(max-width:900px){.ident-grid,.supply-grid,.copy-template-grid{grid-template-columns:1fr}.field-table{min-width:520px}}
.table-action.primary{background:#e1f5fd;border-radius:7px;padding:.3rem .55rem;transition:background .15s ease}
.table-action.primary:hover{background:#c9edfb}
.combo{position:relative;min-width:0}
.combo-input{padding-right:2.45rem}
.combo-clear{position:absolute;z-index:2;right:5px;top:calc(.3rem + 5px);width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#718096;font-size:1.05rem;line-height:1}
.combo-clear:hover,.combo-clear:focus-visible{outline:0;background:#eef3f8;color:#26354d}
.combo-clear[hidden]{display:none}
.combo.is-disabled{opacity:.68}
.combo-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.combo-list{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:264px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px rgba(2,32,71,.16)}
.combo-option{padding:.5rem .6rem;border-radius:7px;font-size:.85rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combo-option.active{background:#e1f5fd}
.combo-option.current{font-weight:700}
.combo-empty,.combo-meta{padding:.55rem .6rem;font-size:.78rem;color:#7b8aa0}
.combo-meta{position:sticky;bottom:0;margin-top:3px;border-top:1px solid #e7edf4;background:#fff;font-size:.7rem}
.warranty-account-combo .combo-option{white-space:normal;overflow-wrap:anywhere;line-height:1.45}
@media(max-width:620px){.warranty-account-combo .combo-option{min-height:44px}.warranty-account-combo .combo-clear{width:40px;height:40px;top:2px;right:2px}.warranty-account-combo .combo-input{padding-right:46px}}
.bulk-entry-table .combo{min-width:210px}
.quick-create .combo-clear{top:3px}
.toast-host{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:min(360px,90vw)}
.toast{padding:.6rem .9rem;border-radius:9px;font-size:.85rem;font-weight:600;color:#fff;background:#10213a;box-shadow:0 12px 28px rgba(2,32,71,.24);transition:opacity .3s ease,transform .3s ease}
.toast-ok{background:#0879a9}
.toast-error{background:var(--red)}
.toast.leaving{opacity:0;transform:translateY(8px)}
.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff4f4;border-bottom:1px solid #f3c9c9;font-size:.85rem}
.bulk-bar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.bulk-bar .button[hidden]{display:none}
.button-done{background:#15803d;color:#fff;box-shadow:0 6px 14px rgba(21,128,61,.18)}.button-done:hover{background:#166534;color:#fff}
.col-check{width:36px;text-align:center}
.col-check input{width:auto;min-width:0;margin:0;padding:0;cursor:pointer}
.alert-duplicate{border-left:4px solid var(--red);background:#fff6f6}
.alert-duplicate>header h2{color:#b42318;font-size:1rem;margin:0 0 .2rem}
.alert-duplicate>header p{margin:0;font-size:.84rem;color:#7a5b5b}
.dup-list{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.dup-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:.55rem .7rem;background:#fff;border:1px solid var(--line);border-radius:9px}
.dup-list li span{font-size:.8rem;color:#64748b;flex:1 1 240px}

/* Đơn hàng: tab "Đơn hàng mới" + ô tiền thông minh */
.intake-tab .product-tab-swatch{background:linear-gradient(180deg,#22d3ee,var(--navy))}
.tab-alert-navy{background:#e5eefb;color:#1e40af}
.pay-trigger{border:1px solid #f6b8b8;background:#fff4f4;color:#b91c1c;font-weight:800;font-size:.72rem;border-radius:999px;padding:.3rem .62rem;white-space:nowrap;transition:.15s}
.pay-trigger:hover{background:#ffe4e4;transform:translateY(-1px)}
.pay-trigger.partial{border-color:#f7dfad;background:#fff8e8;color:#a35b05}
.order-qr-open{min-height:25px;padding:.28rem .56rem;border:1px solid #b9dbe9;border-radius:999px;background:#f4fbfe;color:#0879a5;font-size:.68rem;font-weight:750;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.order-qr-open:hover{border-color:#74bfdc;background:#e8f6fc;color:#05668c}
.inline-form{display:inline-flex;margin:0}
.trash-section-title{margin:1.4rem 0 .55rem;font-size:1.02rem;font-weight:750}.trash-section-title:first-of-type{margin-top:.4rem}.trash-section-title b{margin-left:.15rem;color:#64748b;font-weight:600}
[data-qs-preview]{margin:0}
.qs-ident{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;padding:8px 11px;background:#f4f9fd;border:1px solid #dbeaf4;border-radius:10px}
.qs-ident strong{font-size:.92rem;font-weight:750;color:var(--text)}
.qs-ident-code{font-size:.8rem;color:#0f2544}
.qs-email-confirm{padding:12px 14px;border:1px solid #bae6fd;border-radius:11px;background:#f0f9ff}
.qs-email-confirm[hidden]{display:none!important}
.draft-email-cell{display:grid;gap:3px;min-width:190px}
.draft-email-cell input{width:100%;min-width:180px;padding:6px 8px;border:1px solid #bfdbfe;border-radius:8px;background:#f8fcff;color:#0369a1;font-size:.78rem}
.draft-email-cell small,.locked-email-trigger small{display:block;color:#64748b;font-size:.66rem;font-weight:600}
.draft-email-cell small.is-saving{color:#0369a1}.draft-email-cell small.is-saved{color:#15803d}.draft-email-cell small.is-error{color:#b91c1c}
.locked-email-trigger{max-width:230px;padding:0;border:0;background:transparent;color:#0369a1;text-align:left;cursor:pointer}
.locked-email-trigger span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.locked-email-trigger:hover span{text-decoration:underline;text-underline-offset:2px}
.qs-schedule{align-items:end}

/* Đơn hàng v1.2.1: tạo đơn nhanh, tab Done, search gọn, xóa đơn */
.done-tab .product-tab-swatch{background:#94a3b8}
.tab-alert-muted{background:#eef1f5;color:#64748b}
.done-context .warehouse-mark{background:#64748b}
.quick-create{display:flex;flex-wrap:wrap;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin-bottom:14px;box-shadow:0 4px 15px rgba(15,35,65,.045)}
.quick-create .qc-title{font-weight:800;font-size:.82rem;color:#0f2544;align-self:center;white-space:nowrap}
.quick-create label.qc-field{margin:0;font-size:.7rem;color:#6b7280}
.quick-create .qc-field.qc-customer{flex:1 1 230px;min-width:0}
.quick-create .qc-field.qc-product{flex:1 1 180px;min-width:0}
.quick-create .qc-field.qc-account{flex:1 1 220px;min-width:0}
.quick-create .qc-field.qc-owner{flex:1 1 205px;min-width:0}
.quick-create .qc-field.qc-external{flex:1 1 220px;min-width:0}
[data-external-profile-field][hidden],[data-qc-external-field][hidden],[data-qc-owner-field][hidden],[data-owner-field][hidden],[data-account-field][hidden],[data-qc-account-field][hidden],[data-default-warehouse-row][hidden],[data-external-renewal-note][hidden],[data-stock-fields-summary][hidden],[data-account-code-sample][hidden],[data-code-prefix-field][hidden],[data-code-digits-field][hidden],[data-order-code-sample][hidden],[data-config-section="columns"][hidden],[data-external-identity-field][hidden],[data-shared-external-code-field][hidden],[data-external-shared-preview][hidden],[data-shared-code-display][hidden],[data-qc-shared-code][hidden]{display:none!important}
[data-manual-account-code-sample][hidden],[data-account-code-mode-card][hidden]{display:none!important}

.manual-code-sample strong{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manual-code-sample small{display:block;color:var(--muted,#64748b)}
.account-source-pricing{margin-top:18px;padding:18px;border:1px solid #dbe7f3;border-radius:14px;background:#f8fbff}
.account-source-pricing>header{margin-bottom:14px}
.account-source-pricing>header h3{margin:0 0 4px}
.account-source-pricing>header p{margin:0;color:#64748b}
.account-price-card{margin-top:14px;background:#fff}
.account-source-quick{border-color:#dbeafe;background:#f8fbff}
.account-price-summary{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #dbe7f3;color:#334155;font-size:.88rem;line-height:1.45}
.account-supplier-label{display:block;margin-top:3px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.75rem}
.warranty-source-label{display:block!important;color:#7c3aed!important;margin-top:3px}.warranty-source-label strong{font-weight:700}
@media(max-width:620px){.account-source-pricing{padding:14px}.account-source-pricing .price-row{grid-template-columns:1fr 1fr}.account-source-pricing .price-row label:nth-child(3){grid-column:1/-1}}
.shared-code-display{display:flex;align-items:center;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid #bae6d2;border-radius:10px;background:#f0fdf7}.shared-code-display span{color:#3f6f59;font-size:.72rem}.shared-code-display strong{padding:4px 8px;border-radius:7px;background:#dcfce7;color:#166534;letter-spacing:.04em}.shared-code-display small{margin-left:auto;color:#4b7863}.qc-shared-code{align-self:end;min-width:120px;padding:7px 10px;border:1px solid #bae6d2;border-radius:9px;background:#f0fdf7}.qc-shared-code small,.qc-shared-code strong{display:block}.qc-shared-code small{color:#4b7863;font-size:.62rem}.qc-shared-code strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;color:#166534;font-size:.74rem;white-space:nowrap}
.quick-create input,.quick-create select{margin-top:0}
.quick-create .combo{margin-top:0}
.quick-create>.button{white-space:nowrap;align-self:end}
.quick-create .qc-invoice-request{display:inline-flex;min-height:34px;align-items:center;gap:5px;margin:0;padding:0 8px;border:1px solid #efc5c5;border-radius:7px;background:#fff7f7;color:#8f2424;font-size:.68rem;font-weight:700;white-space:nowrap;cursor:pointer}.quick-create .qc-invoice-request input{width:16px;height:16px;min-height:0;margin:0}.order-red-invoice-flag{display:inline-flex!important;margin-left:4px!important;padding:1px 5px;border-radius:999px;background:#b42323;color:#fff!important;font-size:.56rem!important;font-weight:750;line-height:1.35}
.qc-hint{flex-basis:100%;color:var(--muted);font-weight:400;margin:0;font-size:.74rem}
.qc-hint:empty{display:none}
.page-heading.orders-toolbar{align-items:center;margin-bottom:16px}
.orders-toolbar-search{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}
.orders-toolbar-search .search-box{flex:0 1 480px;height:42px;background:#fff;box-shadow:0 4px 15px rgba(15,35,65,.035)}
.orders-toolbar-search .search-box input{height:40px;margin:0}
.orders-toolbar>.button{flex:0 0 auto;white-space:nowrap}
.orders-create-links{display:flex;flex:0 0 auto;align-items:center;gap:8px}.orders-create-links .button{flex:0 0 auto;white-space:nowrap}.orders-create-toggle{display:none}.orders-create-toggle[hidden],.orders-create-links[hidden],.quick-create[hidden]{display:none!important}
.orders-search-clear{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:#64748b;font-size:1.1rem}
.orders-search-clear:hover{background:#e8eef6;color:var(--red)}
@media(max-width:700px){.page-heading.orders-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:10px}.orders-toolbar-search{width:100%}.orders-toolbar-search .search-box{flex:1 1 auto;min-width:0}.page-heading.orders-toolbar>.button{width:100%}.orders-create-links{align-items:stretch;flex-direction:column;width:100%}.orders-create-links .button{width:100%}}
@media(max-width:620px){.orders-create-toggle{display:grid;width:100%;min-height:44px;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:8px;margin:0;padding:7px 10px;border:1px solid #cfd8e5;border-radius:9px;background:#fff;color:#0f2544;text-align:left;cursor:pointer}.orders-create-toggle>span:nth-child(2){display:grid;gap:1px;min-width:0}.orders-create-toggle strong{font-size:.8rem}.orders-create-toggle small{overflow:hidden;color:#6b7887;font-size:.65rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.orders-create-toggle-icon{color:#f97316;font-size:.9rem}.orders-create-toggle-chevron{color:#64748b;font-size:1rem;text-align:center;transition:transform .15s ease}.orders-create-toggle[aria-expanded="true"]{border-color:#8fcbe5;background:#f3fbfe}.orders-create-toggle[aria-expanded="true"] .orders-create-toggle-chevron{transform:rotate(180deg)}.orders-create-toggle:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}.orders-create-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:0}.orders-create-links .button{min-width:0;min-height:44px}.quick-create[data-orders-create-panel]{margin-bottom:10px}.ui-v2 .quick-create[data-orders-create-panel] input:not([type="checkbox"]),.ui-v2 .quick-create[data-orders-create-panel] select,.ui-v2 .quick-create[data-orders-create-panel] .combo-control,.ui-v2 .quick-create[data-orders-create-panel]>.button{min-height:44px;height:44px}}
.filter-bar-compact{padding:8px 10px;margin-bottom:14px}
.filter-bar .search-box{flex:0 1 360px}
.search-box{min-width:180px}
.customers-filter-bar{align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;padding:10px 12px}
.customer-filter-group{display:flex;align-items:center;gap:8px;min-width:0}
.customer-search-filter{flex:0 1 auto}
.customer-search-filter .search-box{flex:0 1 360px;width:clamp(260px,28vw,360px)}
.customer-search-filter .search-box svg{flex:0 0 auto;color:#8190a4}
.customer-search-filter .search-box input{margin:0}
.customer-filter-reset{padding:0 4px;color:#64748b;font-size:.78rem;font-weight:700;white-space:nowrap}
.customer-filter-reset:hover{color:var(--cyan-dark)}
.customer-transaction-filter{flex:0 0 auto;margin-left:auto}
.transaction-window{display:flex;align-items:center;gap:7px;color:#465267;font-size:.78rem;font-weight:700;white-space:nowrap}
.transaction-window input{width:64px;margin:0;text-align:center}
.customer-transaction-filter>select{flex:0 0 190px;width:190px;margin:0}
@media(max-width:1100px){.customers-filter-bar{gap:14px}.customer-search-filter .search-box{width:260px}.customer-transaction-filter>select{flex-basis:160px;width:160px}}
@media(max-width:760px){.customers-filter-bar{align-items:stretch;flex-wrap:wrap}.customers-filter-bar>.customer-filter-group{flex:1 1 100%}.customer-search-filter .search-box{flex:1 1 auto;width:auto}.customer-transaction-filter{margin-left:0}.customer-transaction-filter>select{flex:1 1 160px;width:auto}}
@media(max-width:520px){.customer-filter-group{flex-wrap:wrap}.customer-search-filter .search-box{flex-basis:100%}.customer-search-filter .button{flex:1}.customer-filter-reset{padding:0 8px}.transaction-window{flex:1 1 auto}.customer-transaction-filter>select{flex:1 1 150px}.customer-transaction-filter>.button{flex:1 1 100%}}
.table-actions .icon-button.danger,.ord-del{color:var(--red);font-size:1.05rem;line-height:1;width:24px;height:24px;border-radius:7px;display:inline-grid;place-items:center}
.table-actions .icon-button.danger:hover,.ord-del:hover{background:#fff0f0}
.col-check{width:34px}
/* Kho tài khoản: thao tác dạng icon + "+ Tạo đơn" thay dấu "—" ở cột Khách hàng */
.table-action.icon-only{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border-radius:8px}
.table-action.icon-only:hover{background:#eef3f8}
.table-action.icon-only svg{display:block;pointer-events:none}
.table-action.primary.create-order-inline{white-space:nowrap;font-size:.78rem}
/* Thanh thao tác hàng loạt: chỉ hiện khi có tick (sửa việc .bulk-bar{display:flex} đè lên [hidden]) */
.bulk-bar[hidden]{display:none}
/* Tên khách: chỉ tô màu chữ, không viền/nền */
.cust-name{font-weight:600}
.cust-one{color:#147a35}
.cust-many{color:#6d28d9}
/* Banner nhóm gọn + nút cấu hình dạng bánh răng */
.warehouse-context.compact-context{padding:9px 14px;margin-bottom:12px}
.compact-context .warehouse-mark{width:34px;height:34px;border-radius:10px}
.compact-context h2{font-size:.98rem}
.cog-link{flex:0 0 auto;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--product-color);background:#fff;border:1px solid color-mix(in srgb,var(--product-color) 35%,#dbe4ee)}
.cog-link:hover{color:#fff;background:var(--product-color)}
.cog-link svg{display:block}
/* v1.5.1 — tìm kiếm kho: một từ khóa + một phạm vi, luôn cùng hàng trên desktop */
.filter-bar-accounts{align-items:center;flex-wrap:nowrap}
.filter-bar-accounts .search-box{flex:1 1 auto;min-width:280px;height:40px}
.filter-bar-accounts .search-box input{height:38px;margin:0}
.filter-bar-accounts>select{width:240px;flex:0 0 240px;margin:0}
.filter-bar-accounts>.button{flex:0 0 auto;white-space:nowrap}
.account-search-submit{min-width:88px}
.filter-summary{margin:-6px 0 12px;font-size:.82rem;color:var(--muted)}
.filter-summary b{color:var(--text)}
.warehouse-empty{display:grid;justify-items:center;gap:7px;padding:34px 16px;text-align:center;color:var(--muted)}
.warehouse-empty h3,.warehouse-empty p{margin:0}.warehouse-empty h3{color:var(--text);font-size:1rem}.warehouse-empty p{font-size:.8rem}.warehouse-empty nav{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:5px}.warehouse-empty-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef6fb;color:#0b84b5;font-size:1.2rem;font-weight:800}
.bulk-bar-info{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
.bulk-bar .link-button{font-weight:700;color:#0369a1;padding:0;text-decoration:underline}
.bulk-bar [data-bulk-filtered-note] b{color:var(--text)}
.bulk-selection-dock:not([hidden]){position:fixed;z-index:36;left:272px;right:28px;bottom:18px;width:auto;max-width:1424px;margin-inline:auto;border:1px solid #f2bcbc;border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 16px 42px rgba(15,35,65,.2);backdrop-filter:blur(10px)}
.order-owner-transfer-open{border-color:#9dd8ed;background:#f0f9ff;color:#036b93}.order-owner-transfer-open:hover{border-color:#57b7d8;background:#e3f6fd;color:#075b7c}
.order-transfer-undo{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid #a7e3c0;border-radius:10px;background:#f0fdf5;color:#175c37}.order-transfer-undo>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#22a35a;color:#fff;font-weight:900}.order-transfer-undo p{margin:0}.order-transfer-undo strong,.order-transfer-undo small{display:block}.order-transfer-undo strong{font-size:.78rem}.order-transfer-undo small{margin-top:2px;color:#47705a;font-size:.67rem}.order-transfer-undo form{margin:0}
.order-owner-transfer-modal{width:min(760px,calc(100vw - 28px));max-height:92dvh;padding:0;overflow:hidden;background:#f8fafc}.order-owner-transfer-form{max-height:92dvh;display:flex;flex-direction:column}.order-owner-transfer-header{flex:0 0 auto;margin:0;padding:18px 20px 14px;border-bottom:1px solid #dfe7ef;background:linear-gradient(135deg,#effaff,#fff)}.order-owner-transfer-header hgroup>small{color:#0284c7;font-size:.63rem;font-weight:850;letter-spacing:.08em}.order-owner-transfer-header h2{margin:2px 0 0;font-size:1.16rem}.order-owner-transfer-header p{margin-top:3px}.order-owner-transfer-body{display:grid;gap:12px;overflow-y:auto;padding:15px 20px}.order-owner-transfer-body>fieldset{margin:0;padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.order-owner-transfer-body legend{padding:0 5px;color:#334155;font-size:.75rem;font-weight:850}
.order-owner-transfer-selected{padding:12px 13px;border:1px solid #bce4f4;border-radius:10px;background:#f1faff}.order-owner-transfer-selected>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-owner-transfer-selected>header span small,.order-owner-transfer-selected>header span strong{display:block}.order-owner-transfer-selected>header small{color:#0284c7;font-size:.6rem;font-weight:850;text-transform:uppercase}.order-owner-transfer-selected>header strong{margin-top:1px;font-size:.8rem}.order-owner-transfer-selected>header>b{color:#075985;font-size:.88rem}.order-owner-transfer-selected ul{display:grid;gap:0;max-height:142px;overflow-y:auto;margin:9px 0 0;padding:0;border-top:1px solid #d5eaf3;list-style:none}.order-owner-transfer-selected li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #deedf4}.order-owner-transfer-selected li span{min-width:0}.order-owner-transfer-selected li strong,.order-owner-transfer-selected li small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-owner-transfer-selected li strong{font-size:.72rem}.order-owner-transfer-selected li small{margin-top:1px;color:#64748b;font-size:.63rem}.order-owner-transfer-selected li .link-button{flex:0 0 auto;color:#b42318;font-size:.67rem}.order-owner-transfer-selected>p{margin:8px 0 0;color:#52657a;font-size:.67rem}
.order-owner-target-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.order-owner-target-modes legend{grid-column:1/-1}.order-owner-target-modes>label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;margin:0;padding:9px 10px;border:1px solid #dfe6ee;border-radius:8px;cursor:pointer}.order-owner-target-modes>label:has(input:checked){border-color:#6ec9e8;background:#effaff;box-shadow:0 0 0 2px rgba(14,165,233,.08)}.order-owner-target-modes input,.order-owner-confirm input{width:auto;margin:2px 0 0}.order-owner-target-modes strong,.order-owner-target-modes small{display:block}.order-owner-target-modes strong{font-size:.76rem}.order-owner-target-modes small{margin-top:2px;color:#6a788b;font-size:.64rem;font-weight:450;line-height:1.35}.order-owner-existing,.order-owner-new{padding:11px 12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.order-owner-existing[hidden],.order-owner-new[hidden],.order-owner-duplicate-warning[hidden],.order-owner-target-error[hidden]{display:none!important}.order-owner-new{display:grid;gap:10px}.order-owner-new input{margin-top:3px}.order-owner-duplicate-warning{margin:0;padding:8px 10px;border:1px solid #fde1a9;border-radius:8px;background:#fff8e8;color:#8a5a08;font-size:.69rem}.order-owner-impact{display:grid;grid-template-columns:31px minmax(0,1fr);gap:9px;align-items:start;padding:10px 11px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff}.order-owner-impact>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#d8f2fc;color:#036b93;font-weight:900}.order-owner-impact p{margin:0}.order-owner-impact strong,.order-owner-impact small{display:block}.order-owner-impact strong{font-size:.74rem}.order-owner-impact small{margin-top:2px;color:#536b7c;font-size:.66rem;line-height:1.45}.order-owner-target-error{margin:0;padding:8px 10px;font-size:.69rem}.order-owner-confirm{margin:0;padding:9px 10px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#991b1b}.order-owner-transfer-actions{flex:0 0 auto;margin:0;padding:11px 20px 14px;border-top:1px solid #dfe7ef;background:#fff}.order-owner-transfer-actions [data-order-owner-submit]{min-width:190px}
.product-code-trigger{border:0;background:transparent;padding:0;color:var(--text);font-weight:800;cursor:pointer}
.product-code-trigger:hover{color:var(--cyan-dark);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
@media(max-width:900px){.bulk-selection-dock:not([hidden]){left:20px;right:20px}}
@media(max-width:620px){.bulk-selection-dock:not([hidden]){left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column;padding:10px}.bulk-selection-dock .bulk-bar-actions{justify-content:stretch}.bulk-selection-dock .bulk-bar-actions .button,.bulk-selection-dock .bulk-bar-actions .health-action{flex:1}}
@media(max-width:620px){.order-transfer-undo{grid-template-columns:28px minmax(0,1fr)}.order-transfer-undo form{grid-column:1/-1}.order-transfer-undo form .button{width:100%}.order-owner-transfer-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.order-owner-transfer-form{max-height:calc(100dvh - 12px)}.order-owner-transfer-header{padding:14px 13px 12px}.order-owner-transfer-body{padding:12px;gap:10px}.order-owner-target-modes{grid-template-columns:1fr}.order-owner-target-modes legend{grid-column:auto}.order-owner-transfer-body input,.order-owner-transfer-body select,.order-owner-transfer-body textarea{font-size:16px}.order-owner-transfer-actions{display:grid;grid-template-columns:1fr;padding:10px 12px 12px}.order-owner-transfer-actions .button{width:100%}.order-owner-transfer-actions [data-order-owner-submit]{min-width:0;grid-row:1}.order-owner-transfer-selected ul{max-height:128px}}
/* Menu điều hướng: luồng vận hành nổi bật, dữ liệu phụ gọn hơn. */
.nav a.nav-primary{font-size:1.02rem;font-weight:750;padding:12px 12px;margin:3px 0}
.nav a.nav-primary span{font-size:1.25rem}
.nav-task-count{margin-left:auto;min-width:24px;height:22px;display:grid;place-items:center;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:850;box-shadow:0 3px 10px rgba(239,68,68,.28)}
.nav a.nav-secondary{font-size:.83rem;font-weight:500;padding:7px 12px;color:#8fa1bb}
.nav a.nav-secondary span{font-size:1rem;opacity:.8}
.nav a.nav-secondary:hover{color:#dbe6f3}
.nav-tools{margin-top:14px;border-top:1px solid var(--sidebar-border,rgba(255,255,255,.09));padding-top:6px}.nav-tools>summary{display:flex;min-height:40px;align-items:center;padding:8px 12px;color:var(--sidebar-muted,#7387a3);font-size:.72rem;font-weight:700;letter-spacing:.03em;cursor:pointer;list-style:none}.nav-tools>summary::-webkit-details-marker{display:none}.nav-tools>summary::after{margin-left:auto;content:'⌄';font-size:.9rem;transition:transform .15s ease}.nav-tools>summary:hover{color:var(--sidebar-hover-text,#fff)}.nav-tools>summary:focus-visible{outline:2px solid var(--sidebar-accent,#22d3ee);outline-offset:-2px;border-radius:7px}.nav-tools[open]>summary::after{transform:rotate(180deg)}.nav-tools-links{padding-bottom:3px}
@media(max-width:900px){.nav-tools{display:none}}
/* Đơn hàng: số ở tab dễ thấy, mã đơn thường/đen, tên khách đậm, icon thao tác, bảng giá */
.status-tabs a b{color:#3a4658}
.status-tabs a.active b{color:#0f2544}
.order-code{color:var(--text);font-weight:400}
.order-code:hover{color:var(--cyan-dark)}
.order-code-label{white-space:nowrap}
.cust-strong{font-weight:750;color:var(--text)}
.cust-strong:hover{color:var(--cyan-dark)}
.pay-trigger{font-weight:400}
.table-action.icon-only.ord-act{width:48px}
.table-action.icon-only.ord-act.primary{background:#e8f8ee;color:#147a35}
.table-action.icon-only.ord-act.primary:hover{background:#d5f2e0}
.qs-price-note{display:block;color:#0369a1;font-weight:400;margin-top:4px}
.task-main-tabs .product-tab{min-width:280px;flex:0 1 340px}
.revoke-context .warehouse-mark{background:#dc2626}
.price-list{display:grid;gap:8px;margin-bottom:10px}
.price-row{display:grid;grid-template-columns:130px minmax(0,1fr) 34px;gap:10px;align-items:end}
.price-row .icon-button.danger{width:30px;height:30px;border-radius:8px;background:#fff0f0;color:var(--red)}

/* v1.3.0 — KH sỉ do quản trị quyết định · thưởng doanh số · tin nhắn Zalo */
.setting-hint{margin:.1rem 0 .4rem;font-size:.82rem}

/* v1.4.0 — 1 khách nhiều email · bàn giao theo email · Tài khoản nguồn khác nhóm */
.email-fieldset{border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin:0 0 14px}
.email-fieldset>legend{font-weight:700;font-size:.82rem;padding:0 4px}
.email-fieldset>legend small{font-weight:400;color:var(--muted);margin-left:4px}
.email-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:7px}
.email-row{display:flex;align-items:center;gap:8px}
.email-row input[type=email]{flex:1 1 auto;margin:0}
.email-primary{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:.82rem;color:var(--muted)}
.email-primary input{margin:0}
.email-row .icon-button.danger{width:28px;height:28px;flex:0 0 auto;border-radius:8px;background:#fff0f0;color:var(--red);font-size:.95rem;line-height:1}
.addressing-box{min-width:0}.addressing-box.compact{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd}.addressing-custom{margin-top:8px}.addressing-custom[hidden]{display:none}.addressing-preview{display:block;margin-top:6px;color:#0879a9;font-size:.74rem;font-weight:500;line-height:1.45}
.cinema-quick-customer-more{border:1px dashed #cbd8e3;border-radius:10px;background:#fbfcfe}.cinema-quick-customer-more>summary{display:flex;min-height:42px;align-items:center;gap:8px;padding:9px 11px;color:#40516a;font-size:.76rem;font-weight:750;cursor:pointer;list-style:none}.cinema-quick-customer-more>summary::-webkit-details-marker{display:none}.cinema-quick-customer-more>summary small{margin-left:auto;color:var(--muted);font-size:.64rem;font-weight:500}.cinema-quick-customer-more>summary::after{content:"⌄";color:#64748b}.cinema-quick-customer-more[open]>summary{border-bottom:1px solid var(--line)}.cinema-quick-customer-more[open]>summary::after{content:"⌃"}.cinema-quick-customer-more-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:11px}.cinema-quick-customer-more-fields>label:last-child{grid-column:1/-1}
.cinema-duplicate-status{display:flex;align-items:center;gap:8px;margin:-6px 0 0;color:#526273;font-size:.7rem}.cinema-duplicate-status.is-error{color:#b42318}.cinema-duplicate-status .link-button{width:auto;min-height:40px;margin:0;color:inherit;font-size:inherit}.cinema-duplicate-status[hidden],.cinema-duplicate-status .link-button[hidden],.cinema-duplicate-check[hidden]{display:none}
.cinema-duplicate-check{display:grid;gap:7px;padding:9px 10px;border:1px solid #f2c6c1;border-radius:9px;background:#fff7f5}.cinema-duplicate-check>strong{color:#b42318;font-size:.73rem}.cinema-duplicate-check ul{display:grid;gap:5px;max-height:190px;overflow-y:auto;list-style:none;margin:0;padding:0}.cinema-duplicate-check li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid #efd9d5;border-radius:7px;background:#fff}.cinema-duplicate-check li strong{min-width:0;overflow-wrap:anywhere;font-size:.72rem}.cinema-duplicate-check li .button{flex:0 0 auto;padding:5px 8px;border:1px solid #d4dce3;background:#f8fafc;font-size:.67rem}.cinema-duplicate-new{display:flex;align-items:center;gap:8px;font-size:.73rem;color:#7b332e}.cinema-duplicate-new input{width:18px;height:18px;flex:0 0 18px;margin:0}.cinema-duplicate-new span{font-weight:700}#cinema-quick-customer .form-actions .button-primary:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:620px){.cinema-quick-customer-more>summary{min-height:44px}.cinema-quick-customer-more>summary small{display:none}.cinema-quick-customer-more-fields{grid-template-columns:1fr}.cinema-quick-customer-more-fields>label:last-child{grid-column:auto}}
@media(max-width:620px){.cinema-duplicate-check{padding:9px}.cinema-duplicate-check li{align-items:stretch;flex-direction:column}.cinema-duplicate-check li .button{min-height:44px;width:100%}.cinema-duplicate-new{min-height:44px}}
.email-dup{margin:0 0 14px}
.email-dup-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.email-dup-list li{display:grid;gap:2px}
.email-transfer{display:flex;align-items:center;gap:6px;font-weight:500}
.email-dup-list small{color:var(--muted)}
.capacity-field input{max-width:150px}
.reward-card{border:1px solid #cbe6d6;background:linear-gradient(180deg,#f4fbf6,#fff)}
.reward-card>.card-header h2{color:#147a35}
.reward-figures{margin:.35rem 0 .2rem}
.reward-next{margin:.45rem 0 0;padding:.5rem .7rem;background:#f3f7fb;border-radius:8px;font-size:.88rem;line-height:1.5}
.reward-next small{color:#64748b}

/* v1.3.1 — sức khỏe Live/Die độc lập với tình trạng cấp */
.product-tab-alerts{display:flex;align-items:center;gap:4px}
.tab-alert-die{width:auto;background:#fee2e2;color:#b91c1c;white-space:nowrap}
.account-state-filters{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:14px}
.account-filter-set{display:flex;align-items:center;gap:8px;min-width:0}
.account-filter-caption{color:#7b8797;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.account-state-filters .status-tabs{margin:0}
.health-tabs .health-live-tab.active{background:#15803d;border-color:#15803d;color:#fff}
.health-tabs .health-live-tab.active b{color:#0f3d20}
.health-action{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:.3rem .55rem;background:#fff;font-size:.72rem;font-weight:750;white-space:nowrap;transition:.15s}
.health-action-die{border:1px solid #fecaca;color:#b91c1c}
.health-action-die:hover{background:#fff0f0}
.health-action-live{border:1px solid #bbf7d0;color:#15803d}
.health-action-live:hover{background:#ecfdf3}
.row-account-die{background:#fff8f8!important;box-shadow:inset 3px 0 #dc2626}
.row-account-die:hover{background:#fff1f1!important}
.health-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:104px}
.health-cell small{margin:0;color:#9f3131;font-size:.66rem;white-space:nowrap}
.order-account-identity{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.order-account-identity .health-badge{padding:.12rem .38rem;font-size:.59rem;line-height:1.15}
.order-account-health-link{display:inline-flex;border-radius:999px}
.order-account-health-link:hover .health-badge,.order-account-health-link:focus-visible .health-badge{box-shadow:0 0 0 2px rgba(220,38,38,.16)}
.order-account-health-link:focus-visible{outline:none}
.chip.tone-die{background:#fee2e2;color:#b91c1c}
.supply-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.account-health-panel{margin:14px 0;padding:14px 16px;border:1px solid #bbf7d0;border-radius:12px;background:#f4fbf6}
.account-health-panel.is-die{border-color:#fecaca;background:#fff7f7}
.account-health-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.account-health-panel h3{display:flex;align-items:center;gap:8px;margin:.12rem 0 .18rem;font-size:.92rem}
.account-health-panel header p{margin:0;color:var(--muted);font-size:.72rem}
.account-health-eyebrow{display:block;color:#64748b;font-size:.67rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.account-health-note{margin:10px 0 0;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.75);font-size:.82rem}
.affected-users{margin-top:10px;padding-top:10px;border-top:1px solid #fecaca}
.affected-users>strong{color:#b91c1c;font-size:.78rem}
.affected-users ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:7px 0 0;padding:0;list-style:none}
.affected-users li{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #fee2e2;border-radius:8px;background:#fff;font-size:.76rem}
.affected-users li small{color:var(--muted);text-align:right}
.account-health-history{margin:0 0 14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;padding:0 13px}
.account-health-history>summary{cursor:pointer;padding:10px 0;color:#33465f;font-size:.8rem;font-weight:700}
.account-health-history ol{margin:0;padding:0 0 12px;list-style:none}
.account-health-history li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.account-health-history li strong{font-size:.8rem}
.account-health-history li p{margin:2px 0;color:#465267;font-size:.78rem}
.account-health-history li small{color:var(--muted);font-size:.68rem}
.health-history-state{padding-top:1px}
@media(max-width:1100px){.supply-grid{grid-template-columns:1fr 1fr}.account-filter-set{align-items:flex-start;flex-direction:column}.account-state-filters{justify-content:flex-start}}
@media(max-width:900px){.filter-bar-accounts{flex-wrap:wrap}.filter-bar-accounts .search-box{flex:1 1 100%}.filter-bar-accounts>select{flex:1 1 220px;width:auto}.filter-bar-accounts>.account-search-submit{flex:0 0 auto}}
@media(max-width:700px){.supply-grid{grid-template-columns:1fr}.account-filter-set{width:100%}.account-filter-set .status-tabs{width:100%;overflow-x:auto}.account-health-panel>header{align-items:stretch;flex-direction:column}.affected-users ul{grid-template-columns:1fr}}

/* v1.6 · vận hành đơn hàng */
.alert-info{background:#eef8fc;color:#31556a;border:1px solid #cfeaf5}
.tasks-tab .product-tab-swatch{background:linear-gradient(180deg,#f59e0b,#b45309)}
.tasks-context{margin-bottom:15px}
.order-layout{grid-template-columns:minmax(0,2fr) minmax(300px,.82fr)}
.order-side{position:sticky;top:88px}
.stat-card>section{min-width:0}
.detail-grid>section{background:#f9fbfd;border:1px solid #edf1f5;padding:11px;border-radius:9px}
.mini-list>a,.mini-list>article,.mini-list>li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4;color:var(--text)}
.mini-list article>section,.mini-list li>section{flex:1;min-width:0}
.transactions article>b{margin-left:auto}
ol.timeline{list-style:none;margin:0;padding:0}
.next-action-card>p strong,.next-action-card>p small{display:block}
.next-action-card>p small{margin-top:4px;color:var(--muted)}
.case-list{list-style:none;margin:0;padding:0}
.case-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.case-list li:last-child{border-bottom:0}
.case-list li>a{flex:1;min-width:0;color:var(--text)}
.case-list strong,.case-list small{display:block}
.case-list small{font-size:.72rem;color:var(--muted);margin-top:2px}
.warranty-selection{border:1px solid var(--line);border-radius:11px;padding:12px}
.warranty-selection legend{padding:0 6px;font-weight:750}
.warranty-selection .table-wrap{margin-top:10px;max-height:480px;overflow:auto}
.warranty-selection table{margin:0}
.order-important-note{max-width:260px;color:#9a5b08!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1000px){.order-layout{grid-template-columns:1fr}.order-side{position:static}}
@media(max-width:520px){.filter-bar-accounts>select{flex:1 1 calc(100% - 110px);min-width:0}.filter-bar-accounts>.account-search-submit{flex:0 0 92px;min-width:92px}.filter-bar-accounts>.button-ghost{flex:1 1 100%;text-align:center}}

/* v1.6.3 · bảng nhắc gia hạn linh động */
.renewal-sheet table{min-width:1320px}
.renewal-note-heading{min-width:270px}
.renewal-note-cell{position:relative;width:290px;padding-top:8px;padding-bottom:8px}
.renewal-note-cell textarea{display:block;min-width:250px;height:38px;min-height:38px;max-height:38px;margin:0;padding:.55rem .65rem;border-radius:8px;resize:none;overflow-y:auto;line-height:1.25;background:#fff}
.renewal-note-cell textarea:focus{background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.12)}
.renewal-save-state{position:absolute;left:16px;bottom:0;height:auto;margin:0!important;padding:1px 5px;border-radius:5px;background:#fff;font-size:.62rem!important;color:#64748b!important;z-index:2}
.renewal-save-state.is-saving{color:#a16207!important}
.renewal-save-state.is-saved{color:#15803d!important}
.renewal-save-state.is-error{color:#b91c1c!important}
.order-note-heading{min-width:190px}
.order-note-cell{position:relative;width:210px;padding-top:8px!important;padding-bottom:8px!important}
.order-note-cell textarea{display:block;min-width:175px;width:100%;height:38px;min-height:38px;max-height:38px;margin:0;padding:.55rem .65rem;border-radius:8px;resize:none;overflow-y:auto;line-height:1.25;background:#fff}
.order-note-cell textarea:focus{background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.12)}
.order-note-cell.has-note textarea{border-color:#93c5fd;background:#f8fbff}
.order-note-save-state{position:absolute;left:16px;bottom:0;height:auto;margin:0!important;padding:1px 5px;border-radius:5px;background:#fff;font-size:.62rem!important;color:#64748b!important;z-index:2}
.order-note-save-state.is-saving{color:#a16207!important}
.order-note-save-state.is-saved{color:#15803d!important}
.order-note-save-state.is-error{color:#b91c1c!important}
.order-note-readonly{vertical-align:top}
.order-note-readonly p{max-width:270px;margin:0;padding:7px 9px;border-left:3px solid #93c5fd;border-radius:0 7px 7px 0;background:#f8fbff;color:#334155;font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.renewal-actions{min-width:285px;flex-wrap:nowrap}
.renewal-actions .button{gap:5px}
.renewal-actions .button[hidden]{display:none}
.renewal-copy-button,.renewal-report-button{width:38px;height:38px;min-width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.renewal-copy-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.renewal-copy-button.is-copied{border-color:#0284c7!important;background:#0284c7!important;color:#fff!important;box-shadow:0 5px 14px rgba(2,132,199,.24)}
.renewal-task-modal{width:min(680px,calc(100vw - 28px))}
.renewal-preview{margin:0;padding:10px 12px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff;color:#31556a;font-size:.82rem}
.renewal-preview strong{color:#0369a1}
@media(max-width:620px){.renewal-note-heading{min-width:230px}.renewal-note-cell{width:250px}.renewal-note-cell textarea{min-width:215px}.order-note-heading{min-width:180px}.order-note-cell{width:200px}.order-note-cell textarea{min-width:165px}}

/* v1.19.0 · Ghi chú 1/2 của tài khoản sửa trực tiếp và tự lưu */
.account-note-heading{min-width:175px}
.account-note-cell{position:relative;width:195px;padding-top:7px!important;padding-bottom:7px!important}
.account-note-cell textarea{display:block;min-width:155px;width:100%;height:36px;min-height:36px;max-height:72px;margin:0;padding:.5rem .6rem;border-radius:8px;resize:vertical;overflow-y:auto;line-height:1.25;background:#fff}
.account-note-cell textarea:focus{background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.12)}
.account-note-cell.has-note textarea{border-color:#86c9e7;background:#f8fcfe}

/* v1.20.1 · Chỉnh sức chứa riêng ngay từ cột Số lượt đã cấp */
.slot-capacity-trigger{border:0;border-bottom:1px dashed #0284c7;background:transparent;padding:2px 1px;color:#0369a1;font:inherit;font-weight:700;line-height:1;cursor:pointer}
.slot-capacity-trigger:hover,.slot-capacity-trigger:focus-visible{color:#075985;border-bottom-color:#075985;background:#e0f2fe;border-radius:4px;outline:none}
.source-slot-usage{display:inline-flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.source-slot-usage strong{display:inline;font-size:.78rem}
.source-slot-usage small{margin:0!important;color:#718096!important;font-size:.66rem!important;font-weight:500}
.slot-capacity-modal{width:min(460px,calc(100vw - 28px))}
.slot-capacity-summary{margin:0;padding:12px 14px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff;color:#31556a;font-size:.88rem}
.slot-capacity-summary::before{content:'↔';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:#dff3fb;color:#0284c7;font-weight:800}
.account-note-cell .order-note-save-state{left:14px}

/* v1.6.4 · ưu tiên theo ghi chú, copy nhanh và sửa đăng nhập tại dòng */
[data-renewal-pending-count][hidden],[data-attention-count][hidden]{display:none!important}
.renewal-row-reported{background:#fafafa;color:#64748b}
.renewal-row-reported:hover{background:#f6f7f9}
.renewal-row-reported .renewal-note-cell textarea{background:#fff;border-color:#d8e0ea;color:var(--text)}
.renewal-row-reported td:first-child{box-shadow:inset 3px 0 #94a3b8}
.renewal-row-frozen{background:#f8fafc;color:#536174}
.renewal-row-frozen:hover{background:#f3f6f9}
.renewal-row-frozen .renewal-note-cell textarea{background:#fff;border-color:#cfd9e5;color:var(--text)}
.renewal-row-frozen td:first-child{box-shadow:inset 3px 0 #64748b}
.revoke-row-frozen{background:#eef9ff}
.revoke-task-table .table-actions{flex-wrap:wrap;white-space:normal;min-width:220px;max-width:310px;gap:4px}
.revoke-task-table .revoke-reuse-note{flex-basis:100%;margin:0;line-height:1.4;color:#64748b}
.cinema-complete-delivery{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0 12px}
.cinema-complete-delivery .button{min-height:42px}
.cinema-complete-delivery small{flex:1;color:#64748b;font-size:.72rem;line-height:1.4}
.revoke-row-frozen:hover{background:#e4f5ff}
.revoke-row-frozen td:first-child{box-shadow:inset 3px 0 #0ea5e9}
.frozen-status-badge{display:inline-flex;align-items:center;gap:5px;background:#d9f2ff;color:#075985;border:1px solid #9edfff}
.frozen-snowflake{font-size:.86rem;line-height:1;color:#0284c7}
.revoke-row-frozen:target{animation:revoke-focus 2.4s ease-out}
@keyframes revoke-focus{0%,35%{background:#cceeff}100%{background:#eef9ff}}
@media(prefers-reduced-motion:reduce){.revoke-row-frozen:target{animation:none;background:#e4f5ff}}
.renewal-row-pending{background:#fff}
.renewal-row-pending td:first-child{box-shadow:inset 3px 0 #f59e0b}
.copy-cell{display:inline;border:0;background:transparent;padding:0;color:inherit;text-align:left;line-height:inherit}
.copy-cell:hover{color:var(--cyan-dark);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.customer-code-copy{color:var(--muted);font-size:.72rem}
.credential-trigger{border:0;background:transparent;padding:0;color:var(--text);cursor:pointer}
.credential-trigger:hover{color:var(--cyan-dark)}
.expiry-countdown{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;min-width:58px;padding:7px 9px;border-radius:10px;font-weight:850}
.expiry-countdown strong{font-size:1.1rem;line-height:1}
.expiry-countdown small{margin:0;font-size:.66rem;font-weight:750;color:inherit}
.expiry-countdown.is-active{background:#e7f8ed;color:#147a35}
.expiry-countdown.is-overdue{background:#fee9e9;color:#b91c1c}
.credential-modal{width:min(680px,calc(100vw - 28px))}
.credential-loading{padding:22px 10px;text-align:center;color:var(--muted)}
.credential-fields>label{margin-bottom:13px}
/* label{display:block} ở phần chung đè lên [hidden] của trình duyệt, nên ô Hồ sơ nguồn phải ẩn tường minh. */
.credential-fields label[hidden]{display:none}
.credential-form-actions [hidden]{display:none!important}
.credential-fields .password-field{display:block}
.credential-copy-field{position:relative;display:block}
.credential-copy-field input{padding-right:64px;background:#fff}
.credential-copy-field input[readonly]{background:#f5f7fa;color:#536174;cursor:copy}
.credential-copy-field.password-field input{padding-right:112px}
.credential-copy-field button{position:absolute;right:5px;top:9px;border:0;background:#eef3f8;border-radius:6px;padding:.3rem .5rem;font-size:.72rem}
.credential-copy-field.password-field [data-reveal]{right:54px}
.revoke-credentials-modal{width:min(660px,calc(100vw - 28px));padding:0;overflow:hidden}.revoke-credentials-form{gap:0}.revoke-credentials-form>*{margin-bottom:0}.revoke-credentials-header{margin:0;padding:18px 20px 15px;border-bottom:1px solid #e5eaf0;background:#fff}.revoke-credentials-header hgroup>small{color:#0284c7;font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.revoke-credentials-header h2{margin:2px 0 0;font-size:1.08rem}.revoke-credentials-header p{margin-top:3px}.revoke-credentials-header p strong{color:#23334a}.revoke-workflow-section{padding:15px 20px}.revoke-access-step{background:#f7fafc}.revoke-update-step{border-top:1px solid #e5eaf0;background:#fff}.revoke-step-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.revoke-step-heading>span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:8px;background:#0ea5e9;color:#fff;font-size:.7rem;font-weight:900}.revoke-step-heading h3,.revoke-step-heading p{margin:0}.revoke-step-heading h3{color:#25354b;font-size:.86rem}.revoke-step-heading p{margin-top:2px;color:#718096;font-size:.68rem}.revoke-credential-row{margin-left:35px}.revoke-credential-row,.revoke-source-fields label{color:#3f5068;font-size:.7rem}.revoke-credential-row .credential-copy-field,.revoke-source-fields .credential-copy-field{margin-top:3px}.revoke-source-credential{margin:12px 0 0 35px;padding:11px 12px;border:1px solid #bae6fd;border-radius:10px;background:#edf8fe}.revoke-source-credential>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.revoke-source-credential>header strong{color:#075985;font-size:.73rem}.revoke-source-credential>header small{color:#3b82a0;font-size:.62rem;font-weight:700}.revoke-source-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.revoke-source-credential input[readonly],.revoke-credential-row input[readonly]{height:38px;margin-top:0;background:#fff;color:#334155;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.revoke-source-credential>small{display:block;margin-top:7px;color:#527083;font-size:.65rem;line-height:1.4}.revoke-new-secrets{margin-left:35px}.revoke-new-secrets label{font-size:.72rem}.revoke-secret-field{display:block}.revoke-secret-field input{height:40px;padding-right:54px}.revoke-secret-field button{top:9px}.revoke-submit-hint{margin:8px 0 0 35px;color:#718096;font-size:.67rem}.revoke-submit-hint.is-ready{color:#15803d;font-weight:700}.revoke-credentials-actions{margin:0;padding:12px 20px 15px;border-top:1px solid #e5eaf0;background:#fbfcfe}.revoke-credentials-actions>small{margin-right:auto;color:#718096;font-size:.64rem}.revoke-credentials-actions [data-revoke-submit]:disabled{cursor:not-allowed;opacity:.5}
.revoke-email-credential{margin:0 0 0 35px;padding:11px 12px;border:1px solid #bae6fd;border-radius:10px;background:#edf8fe}.revoke-email-credential>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.revoke-email-credential>header strong{color:#075985;font-size:.73rem}.revoke-email-credential>header small{color:#3b82a0;font-size:.62rem;font-weight:700}.revoke-email-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.revoke-email-fields label{color:#3f5068;font-size:.7rem}.revoke-email-fields .credential-copy-field{margin-top:3px}.revoke-email-credential input[readonly]{height:38px;margin-top:0;background:#fff;color:#334155;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.revoke-email-credential>small{display:block;margin-top:7px;color:#527083;font-size:.65rem;line-height:1.4}
.revoke-two-factor-field{grid-column:1/-1}.revoke-two-factor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:3px}.revoke-two-factor-row .credential-copy-field{margin-top:0}.totp-inline{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.totp-inline small{min-width:22px;color:#dc2626;font-size:.68rem;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}.totp-inline [data-totp-code]{min-width:88px;height:38px;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:850 .9rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.17em;font-variant-numeric:tabular-nums;cursor:copy}.totp-inline [data-totp-code]:hover:not(:disabled),.totp-inline [data-totp-code]:focus-visible{border-color:#0ea5e9;background:#f0f9ff;outline:2px solid rgba(14,165,233,.16);outline-offset:1px}.totp-inline [data-totp-code]:disabled{color:#94a3b8;cursor:not-allowed}.totp-inline.is-urgent small{color:#b91c1c;font-weight:900}
@media(max-width:620px){.revoke-credentials-modal{width:calc(100vw - 18px);max-height:94dvh}.revoke-credentials-header{padding:15px 14px 12px}.revoke-workflow-section{padding:13px 14px}.revoke-credential-row,.revoke-source-credential,.revoke-new-secrets,.revoke-submit-hint{margin-left:0}.revoke-source-fields,.revoke-new-secrets{grid-template-columns:1fr}.revoke-source-credential>header{align-items:flex-start;flex-direction:column;gap:2px}.revoke-credentials-actions{display:grid;grid-template-columns:1fr 1fr;padding:10px 14px 13px}.revoke-credentials-actions>small{grid-column:1/-1;margin:0 0 3px;text-align:center}.revoke-credentials-actions .button{width:100%;min-height:42px}}
@media(max-width:620px){.revoke-email-credential{margin-left:0}.revoke-email-fields{grid-template-columns:1fr}.revoke-email-credential>header{align-items:flex-start;flex-direction:column;gap:2px}}
.freeze-access-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:11px 12px;border:1px solid #bae6fd;border-radius:10px;background:#f0f9ff}.freeze-access-summary span{color:#64748b;font-size:.7rem}.freeze-access-summary strong{display:block;margin-top:3px;overflow-wrap:anywhere;color:#0f3f5a;font-size:.82rem}.freeze-access-confirm{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #f4c27a;border-radius:9px;background:#fff8e8;color:#7c4a08;font-size:.8rem;font-weight:750}.freeze-access-confirm input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;padding:0}
@media(max-width:620px){.freeze-access-summary{grid-template-columns:1fr}.revoke-two-factor-row{gap:6px}.totp-inline{gap:4px}.totp-inline [data-totp-code]{min-width:82px;padding:0 7px;letter-spacing:.12em}}
.revoke-credentials-modal{overflow-x:hidden;overflow-y:auto}.revoke-credentials-actions{position:sticky;bottom:0;z-index:3}
.code-rename{margin-top:12px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:#fbfcfe}
.code-rename>summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--muted);list-style:none}
.code-rename>summary::-webkit-details-marker{display:none}
.code-rename>summary::before{content:"⚙ ";opacity:.7}
.code-rename[open]>summary{color:var(--text);margin-bottom:9px}
.code-rename .callout{margin:0 0 9px;font-size:.72rem}
.code-rename input{text-transform:uppercase}
.code-rename .form-actions{margin:9px 0 2px;padding:0;border:0;justify-content:flex-end;gap:7px}
.code-rename-status{margin:0;font-size:.74rem;min-height:1.1em}
.code-rename-status.is-ok{color:var(--green);font-weight:600}
.code-rename-status.is-warn{color:#a35b05;font-weight:600}
.code-rename-status.is-error{color:var(--red);font-weight:600}
.row-muted{opacity:.55}
.new-customer-list{margin:0;padding:9px 0 9px 22px;columns:2;font-size:.8rem}
.new-customer-list li{margin-bottom:3px;break-inside:avoid}
.confirm-import{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
@media (max-width:760px){.new-customer-list{columns:1}}
.credential-copy-field [data-copy-input],.credential-copy-field [data-preview-copy-field]{color:#0369a1;font-weight:750}
.account-preview-modal input[readonly]{cursor:copy}
.renewal-status-heading{min-width:145px}
.renewal-status-cell{min-width:145px;white-space:nowrap}
.renewal-status-cell>[data-renewal-status-label]{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:800}
.renewal-status-cell[data-state="due"]>[data-renewal-status-label]{background:#fff3d6;color:#9a5b08}
.renewal-status-cell[data-state="reported"]>[data-renewal-status-label]{background:#e7f8ed;color:#147a35}
.renewal-status-cell[data-state="frozen_waiting"]>[data-renewal-status-label]{background:#e7edf5;color:#43516a}
.renewal-status-cell[data-state="frozen_due"]>[data-renewal-status-label]{background:#fff1e6;color:#a5480b;box-shadow:inset 0 0 0 1px #f5c79f}
.renewal-report-button{font-size:1rem;color:#64748b}
.renewal-report-button.is-reported{border-color:#86d6a3;background:#eaf8ef;color:#15803d}
.renewal-report-button:disabled{cursor:not-allowed;opacity:.45;transform:none}
.credential-form-actions [data-credential-freeze]{border-color:#b9c5d6;color:#3f4d62}
.credential-layout-modal .credential-password-count{display:block;color:var(--muted);font-size:.65rem;line-height:1.4}.credential-layout-modal .credential-password-count.is-too-short{color:#b42318}.credential-layout-modal .credential-password-count.is-valid{color:#087443}
.credential-layout-modal input[type=password]::-ms-reveal{display:none}
@media(max-width:620px){
  .credential-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:15px}
  .credential-modal.revoke-credentials-modal{padding:0}
  .credential-modal input{font-size:16px}
  .credential-modal:not(.revoke-credentials-modal) .form-actions{position:sticky;bottom:-15px;margin:16px -15px -15px;padding:12px 15px 15px;background:#fff;border-top:1px solid var(--line)}
  .renewal-actions{min-width:263px}
  .credential-form-actions [data-confirm-modal-close]{flex:0 0 auto}
  .credential-form-actions [data-credential-freeze]{flex:1 1 100%}
}

/* Đối soát khoản đã duyệt trước: tách rõ kỳ hiện tại khỏi hành động gia hạn. */
.preapproved-payment-choice{margin:0;border-top:1px solid #b9d9ca;background:#f3fbf7}
.preapproved-payment-choice>header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:9px 10px}
.preapproved-payment-choice>header>span{grid-row:1/3;align-self:start;padding:3px 6px;border-radius:999px;background:#d8f3e5;color:#136c3c;font-size:.55rem;font-weight:800;white-space:nowrap}
.preapproved-payment-choice>header>strong{font-size:.72rem}
.preapproved-payment-choice>header>p{grid-column:2;color:#557064;font-size:.61rem}
.preapproved-payment-choice dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:0 10px 8px}
.preapproved-payment-choice dl>div{padding:6px 7px;border:1px solid #cfe5d9;border-radius:6px;background:#fff}
.preapproved-payment-choice dt{color:#718078;font-size:.54rem;text-transform:uppercase}
.preapproved-payment-choice dd{margin:1px 0 0;color:#174e34;font-size:.69rem;font-weight:800}
.approval-option .preapproved-payment-choice .compact-form{border-top:1px solid #d7ebe0;background:#f8fcfa}
.preapproved-confirm{padding:7px 8px;border:1px solid #9ed4b6;border-radius:7px;background:#edfaf3;color:#175e37}
.preapproved-or{display:flex!important;align-items:center;gap:8px;padding:4px 10px!important;border-top:1px solid #e3e8eb!important;background:#f7f9fa;color:#7b8790!important;font-size:.56rem!important;font-weight:750;text-transform:uppercase}
.preapproved-or:before,.preapproved-or:after{height:1px;flex:1;background:#dce3e7;content:""}

@media(max-width:760px){
  .preapproved-payment-choice>header{grid-template-columns:1fr}
  .preapproved-payment-choice>header>span{grid-row:auto;justify-self:start}
  .preapproved-payment-choice>header>p{grid-column:1}
  .preapproved-payment-choice dl{grid-template-columns:1fr 1fr}
  .preapproved-payment-choice dl>div:last-child{grid-column:1/-1}
  .preapproved-confirm{min-height:44px}
}

/* Luồng đăng nhập theo thứ tự → nhập thay đổi → kiểm tra → xác nhận. */
.revoke-credentials-modal{width:min(760px,calc(100vw - 28px))}
[data-credential-entry][hidden],[data-credential-review][hidden]{display:none!important}
.credential-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.credential-action-card{position:relative;display:flex;width:100%;min-width:0;min-height:92px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:10px;border:1px solid;border-radius:10px;color:#243248;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.credential-action-card:hover:not(:disabled){transform:translateY(-1px)}
.credential-action-card>span{color:#087eae;font-size:.62rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase}
.credential-action-card>strong{display:block;width:100%;overflow:hidden;color:#17243a;font:750 .73rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.credential-action-card>small{margin-top:auto;color:#66768b;font-size:.61rem;line-height:1.35;overflow-wrap:anywhere}
.credential-action-card>small b{color:inherit;font-variant-numeric:tabular-nums}
.credential-action-a{border-color:#acdced;background:#edf9fd}
.credential-action-b{border-color:#e7cb8e;background:#fff8e9}
.credential-action-card.is-copied{border-color:#49a978;box-shadow:inset 0 0 0 1px #49a978}
.credential-action-card.is-copied::after{content:"✓";position:absolute;right:8px;top:7px;color:#15803d;font-size:.74rem;font-weight:900}
.credential-totp-card{display:block;min-width:0}
.credential-totp-card .credential-action-card{min-width:0;height:100%;padding:10px;border-radius:10px;background:#fff8e9;color:#243248;letter-spacing:normal}
.credential-totp-card .credential-action-card>strong{font-size:1rem;letter-spacing:.14em}
.credential-totp-card.is-urgent .credential-action-card{border-color:#ef9a83;background:#fff0ec}
.credential-totp-card .credential-action-card:disabled{opacity:.72;cursor:wait}
.credential-preview-workflow{padding:12px;border:1px solid #bae6fd;border-radius:11px;background:#f0f9ff}
.credential-preview-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.credential-preview-heading>span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:8px;background:#0ea5e9;color:#fff;font-size:.7rem;font-weight:900}
.credential-preview-heading h3,.credential-preview-heading p{margin:0}
.credential-preview-heading h3{color:#25354b;font-size:.86rem}
.credential-preview-heading p{margin-top:2px;color:#718096;font-size:.68rem}
.credential-preview-pair,.credential-preview-account-row{display:grid;gap:8px}
.credential-preview-pair{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}
.credential-preview-account-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.account-preview-modal .credential-action-card{min-height:88px}
.account-preview-modal .credential-action-card>strong{font-size:.72rem}
.account-preview-modal [data-preview-copy-field="normalized_login"]>strong,.account-preview-modal [data-preview-copy-field="login"]>strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}
.account-preview-modal .credential-preview-totp{display:block;min-width:0}
.account-preview-modal .credential-password-card,.account-preview-modal .credential-preview-authenticator{cursor:default}
.credential-card-actions{display:flex;width:100%;gap:6px;margin-top:auto;padding-top:5px}
.credential-card-actions button,.credential-password-change>div button{min-height:32px;padding:5px 9px;border:1px solid #a8c7d5;border-radius:7px;background:#fff;color:#0876a3;font-size:.64rem;font-weight:800;cursor:pointer}
.credential-card-actions button:first-child{flex:1;background:#078bbf;border-color:#078bbf;color:#fff}
.credential-card-actions button.is-copied{border-color:#15803d;background:#15803d;color:#fff}
.credential-password-change{width:100%;margin-top:7px;padding-top:8px;border-top:1px solid rgba(75,105,130,.22)}
.credential-password-change[hidden]{display:none!important}
.credential-password-change label{display:block;color:#40516a;font-size:.64rem;font-weight:750}
.credential-password-change input{width:100%;height:36px;margin-top:4px;padding:6px 8px;border:1px solid #aebdca;border-radius:7px;background:#fff;font-size:.72rem}
.credential-password-change>div{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.credential-password-change>div button.is-save{border-color:#087eae;background:#087eae;color:#fff}
.credential-password-change>small{display:block;min-height:14px;margin-top:5px;color:#b42318;font-size:.6rem}
.credential-password-change.is-ok>small{color:#15803d}
.account-preview-modal .credential-preview-totp{margin-top:7px}
.account-preview-modal .credential-preview-totp [data-totp-code]{display:grid;width:100%;min-width:0;min-height:38px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 9px;border:1px solid #e0bd72;border-radius:8px;background:#fff;color:#243248;cursor:copy}
.account-preview-modal .credential-preview-totp [data-totp-code]>b{color:#986b0b;font-size:.61rem;text-transform:uppercase}
.account-preview-modal .credential-preview-totp [data-totp-code]>strong{font:850 .94rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}
.account-preview-modal .credential-preview-totp [data-totp-code]>small{color:#6d7786;font-size:.6rem}
.account-preview-modal .credential-preview-totp.is-urgent [data-totp-code]{border-color:#ef9a83;background:#fff0ec}
.account-preview-modal .credential-preview-totp [data-totp-code].is-copied{border-color:#49a978;background:#edf9f1}
.credential-current-advanced,.credential-change-advanced{margin-top:10px;border:1px dashed #c9d5e3;border-radius:9px;background:#fff}
.credential-current-advanced>summary,.credential-change-advanced>summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;color:#40516a;font-size:.7rem;font-weight:750;cursor:pointer;list-style:none}
.credential-current-advanced>summary::-webkit-details-marker,.credential-change-advanced>summary::-webkit-details-marker{display:none}
.credential-current-advanced>summary::after,.credential-change-advanced>summary::after{content:"⌄";margin-left:auto;color:#64748b}
.credential-current-advanced[open]>summary::after,.credential-change-advanced[open]>summary::after{content:"⌃"}
.credential-current-advanced>summary small,.credential-change-advanced>summary small{margin-left:auto;padding:2px 6px;border-radius:999px;background:#eef2f7;color:#718096;font-size:.58rem}
.credential-current-advanced>label{display:block;padding:0 11px 11px;color:#40516a;font-size:.7rem}
.credential-primary-change{margin-left:35px}
.credential-primary-change>label{display:block;color:#3f5068;font-size:.72rem}
.credential-primary-change>label>.password-field{max-width:430px}
.credential-change-advanced>.form-grid{margin:0;padding:0 11px 11px}
.credential-review{background:#fff}
.credential-review-warning{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fff6dc;color:#735308;font-size:.72rem;font-weight:750;line-height:1.45}
.credential-review-list{margin:0}
.credential-review-list>div{display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:8px 0;border-bottom:1px solid #e6ebf1}
.credential-review-list>div:last-child{border-bottom:0}
.credential-review-list dt{color:#68788e;font-size:.68rem}
.credential-review-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#25354b;font-size:.74rem;font-weight:750}
.credential-review-list>div>small{color:#15803d;font-size:.62rem;font-weight:750;text-align:right}
.credential-review-list>div>button{min-height:32px;padding:4px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#f7f9fc;color:#40516a;font-size:.65rem;font-weight:750}
.credential-review-list>div>button[hidden]{display:none!important}
.credential-review-otp{font:800 .78rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.1em}
.credential-review-otp small{font:700 .62rem/1 var(--font)!important;letter-spacing:normal}
.credential-review-confirm{display:flex!important;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;border:1px solid #f0c36f;border-radius:9px;background:#fff9e9;color:#684b0a;font-size:.72rem;font-weight:750}
.credential-review-confirm input{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0}
.credential-review .revoke-credentials-actions{position:sticky;bottom:0}
@media(max-width:700px){.credential-action-grid,.credential-preview-account-row{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-preview-account-row>.credential-preview-authenticator:last-child,.credential-password-card.is-changing{grid-column:1/-1}.credential-card-actions button,.credential-password-change>div button,.account-preview-modal .credential-preview-totp [data-totp-code]{min-height:40px}.credential-password-change input{height:40px}.credential-primary-change{margin-left:0}.credential-primary-change>label>.password-field{max-width:none}.credential-review-list>div{grid-template-columns:112px minmax(0,1fr)}.credential-review-list>div>small,.credential-review-list>div>button{grid-column:2;justify-self:start;text-align:left}.credential-review-list>div>button{width:auto}.credential-current-advanced>summary,.credential-change-advanced>summary{min-height:44px}}
@media(max-width:350px){.credential-action-grid{grid-template-columns:1fr}.credential-action-card{min-height:84px}.credential-review-list>div{grid-template-columns:92px minmax(0,1fr)}}

/* Popup cập nhật/đóng băng: ưu tiên mật độ thao tác cao và dùng màu nền chung của website. */
.revoke-credentials-modal{width:min(700px,calc(100vw - 28px));max-height:calc(100dvh - 28px);background:var(--card);color:var(--text)}
.revoke-credentials-modal .revoke-credentials-header{padding:14px 18px 11px;border-color:var(--line);background:var(--card)}
.revoke-credentials-modal .revoke-credentials-header hgroup>small{display:inline-flex;min-height:20px;align-items:center;padding:2px 7px;border-radius:999px;background:#f0f9ff;color:#0878a5;font-size:.57rem;letter-spacing:.06em}
.revoke-credentials-modal .revoke-credentials-header h2{margin-top:3px;font-size:1rem}
.revoke-credentials-modal .revoke-credentials-header p{margin-top:2px;color:var(--muted);font-size:.67rem}
.revoke-credentials-modal .revoke-workflow-section{padding:11px 18px}
.revoke-credentials-modal .revoke-access-step{background:#f8fafc}
.revoke-credentials-modal .revoke-update-step{border-color:var(--line);background:var(--card)}
.revoke-credentials-modal .revoke-step-heading{gap:8px;margin-bottom:8px}
.revoke-credentials-modal .revoke-step-heading>span{width:22px;height:22px;flex-basis:22px;border-radius:6px;font-size:.65rem}
.revoke-credentials-modal .revoke-step-heading h3{color:var(--text);font-size:.8rem}
.revoke-credentials-modal .revoke-step-heading p{margin-top:1px;color:var(--muted);font-size:.63rem}
.revoke-credentials-modal .revoke-email-credential{margin-left:30px;padding:8px;border-color:var(--line);border-radius:8px;background:var(--card)}
.revoke-credentials-modal .revoke-email-credential>header{margin-bottom:6px}
.revoke-credentials-modal .revoke-email-credential>header strong{color:var(--text);font-size:.7rem}
.revoke-credentials-modal .revoke-email-credential>header small{color:var(--muted);font-size:.59rem}
.revoke-credentials-modal .credential-action-grid{display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--card)}
.revoke-credentials-modal .credential-action-grid>*+*{border-top:1px solid var(--line)}
.revoke-credentials-modal .credential-action-group{display:flex;min-height:29px;align-items:center;gap:8px;margin:0;padding:5px 9px;background:#f8fafc;color:var(--text)}
.revoke-credentials-modal .credential-action-group strong{font-size:.65rem}
.revoke-credentials-modal .credential-action-group small{margin-left:auto;color:var(--muted);font-size:.57rem;text-align:right}
.revoke-credentials-modal .credential-action-card{display:grid;min-height:40px;grid-template-columns:minmax(145px,.9fr) minmax(0,1.6fr) 74px;align-items:center;gap:8px;padding:6px 9px;border:0;border-radius:0;background:transparent;color:var(--text);box-shadow:none;transition:background .15s ease}
.revoke-credentials-modal .credential-action-card:hover:not(:disabled){transform:none;background:#f8fafc}
.revoke-credentials-modal .credential-action-card>span{color:#0878a5;font-size:.59rem;letter-spacing:.02em}
.revoke-credentials-modal .credential-action-card>strong{color:var(--text);font-size:.7rem;line-height:1.25}
.revoke-credentials-modal .credential-action-card>small{justify-self:end;margin:0;color:#0878a5;font-size:.59rem;font-weight:750;white-space:nowrap}
.revoke-credentials-modal .credential-action-card.is-copied{background:#eef9f2;box-shadow:inset 0 0 0 1px #49a978}
.revoke-credentials-modal .credential-action-card.is-copied>small{color:transparent}
.revoke-credentials-modal .credential-action-card.is-copied::after{content:"✓ Đã copy";top:50%;right:9px;color:#15803d;font-size:.59rem;transform:translateY(-50%)}
.revoke-credentials-modal .credential-totp-card{display:block;min-width:0;background:#f8fafc;white-space:normal}
.revoke-credentials-modal .credential-totp-card .credential-action-card{height:auto;min-height:40px;padding:6px 9px;border:0;border-radius:0;background:transparent;letter-spacing:normal}
.revoke-credentials-modal .credential-totp-card .credential-action-card>strong{font-size:.82rem;letter-spacing:.12em}
.revoke-credentials-modal .credential-totp-card.is-urgent .credential-action-card{background:#fff3ef}
.revoke-credentials-modal .credential-current-advanced,.revoke-credentials-modal .credential-change-advanced{margin-top:7px;border-color:var(--line);border-radius:7px;background:var(--card)}
.revoke-credentials-modal .credential-current-advanced>summary,.revoke-credentials-modal .credential-change-advanced>summary{min-height:36px;padding:7px 9px;color:var(--muted);font-size:.66rem}
.revoke-credentials-modal .credential-current-advanced>label{padding:0 9px 9px}
.revoke-credentials-modal .credential-primary-change{margin-left:30px}
.revoke-credentials-modal .credential-primary-change>label{font-size:.69rem}
.revoke-credentials-modal .credential-primary-change>label>.password-field{max-width:420px}
.revoke-credentials-modal .revoke-secret-field input{height:38px}
.revoke-credentials-modal .revoke-secret-field button{top:8px}
.revoke-credentials-modal .revoke-submit-hint{margin:6px 0 0 30px;font-size:.63rem}
.revoke-credentials-modal .credential-review-warning{margin-bottom:8px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;color:var(--muted);font-size:.67rem}
.revoke-credentials-modal .credential-review-list>div{min-height:38px;padding:6px 0;border-color:var(--line)}
.revoke-credentials-modal .credential-review-confirm{margin-top:9px;padding:9px 10px;border-color:var(--line);border-radius:7px;background:#f8fafc;color:var(--text);font-size:.68rem}
.revoke-credentials-modal .revoke-credentials-actions{padding:9px 18px 11px;border-color:var(--line);background:var(--card)}
.revoke-credentials-modal .revoke-credentials-actions .button{min-height:36px;padding:6px 10px}

@media(max-width:700px){
  .revoke-credentials-modal{width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}
  .revoke-credentials-modal .revoke-credentials-header{padding:12px}
  .revoke-credentials-modal .revoke-workflow-section{padding:10px 12px}
  .revoke-credentials-modal .revoke-email-credential{margin-left:0;padding:7px}
  .revoke-credentials-modal .credential-action-grid{grid-template-columns:1fr}
  .revoke-credentials-modal .credential-action-card,.revoke-credentials-modal .credential-totp-card .credential-action-card{min-height:44px;grid-template-columns:minmax(104px,.9fr) minmax(0,1.5fr) 62px;gap:6px;padding:7px 8px}
  .revoke-credentials-modal .credential-action-card>span{font-size:.56rem}
  .revoke-credentials-modal .credential-action-card>strong{font-size:.66rem}
  .revoke-credentials-modal .credential-action-card>small{font-size:.57rem}
  .revoke-credentials-modal .credential-action-group{min-height:32px;padding:5px 8px}
  .revoke-credentials-modal .credential-action-group small{font-size:.54rem}
  .revoke-credentials-modal .credential-primary-change{margin-left:0}
  .revoke-credentials-modal .credential-primary-change>label>.password-field{max-width:none}
  .revoke-credentials-modal input:not([type="hidden"]):not([type="checkbox"]){min-height:44px}
  .revoke-credentials-modal .password-field button{top:2px;min-width:40px;height:40px;padding:0 8px}
  .revoke-credentials-modal .revoke-submit-hint{margin-left:0}
  .revoke-credentials-modal .credential-review-list>div>button{min-height:40px}
  .revoke-credentials-modal .credential-review-confirm{min-height:44px;align-items:center}
  .revoke-credentials-modal .revoke-credentials-actions{padding:9px 12px 11px}
  .revoke-credentials-modal .revoke-credentials-actions .button{min-height:44px}
}

/* Popup tài khoản: giữ bố cục bảng điều khiển rõ từng vùng và dùng chung cho xem/thu hồi CGV. */
.account-preview-modal{width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;overflow-x:hidden;background:var(--card);color:var(--text)}
.account-preview-modal::backdrop{background:rgba(6,20,38,.68);backdrop-filter:none}
.account-preview-header{align-items:flex-start;margin:0;padding:17px 22px 12px;background:#fff}
.account-preview-header hgroup{min-width:0;margin:0}.account-preview-header h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;color:var(--text);font-size:1.12rem;line-height:1.2}.account-preview-header p{margin:4px 0 0;color:var(--muted);font-size:.74rem}.account-preview-header .account-preview-context{color:#7b8797;font-size:.66rem}.account-preview-header>button{width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:transparent;color:var(--text);font-size:1.45rem;font-weight:300;line-height:1}.account-preview-header>button:hover{background:#eef2f6}
.account-preview-code{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:999px;background:#e1f4fd;color:#036b9f;font-size:.72rem;font-weight:850;letter-spacing:.02em}
.account-preview-modal>.credential-loading{margin:0 20px 16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--muted);text-align:center}
.account-preview-body{padding:0 20px}.credential-preview-workflow{display:grid;gap:12px;padding:0;border:0;border-radius:0;background:transparent}
.credential-preview-section{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.credential-preview-mailbox,.credential-preview-product{border-color:var(--line)}
.credential-preview-section-heading{display:flex;align-items:center;gap:12px;padding:10px 15px}.credential-preview-mailbox .credential-preview-section-heading,.credential-preview-product .credential-preview-section-heading{background:#f8fafc}
.credential-preview-section-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:10px;background:#e1f4fd;color:#036b9f}.credential-preview-product .credential-preview-section-icon{background:#eef1f5;color:#526071}.credential-preview-otp .credential-preview-section-icon{width:38px;height:38px;flex-basis:38px;background:#e1f4fd;color:#036b9f}.credential-preview-section-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.credential-preview-section-heading hgroup{margin:0}.credential-preview-section-heading h3,.credential-preview-section-heading p{margin:0}.credential-preview-section-heading h3,.credential-preview-product .credential-preview-section-heading h3{color:var(--text);font-size:.85rem}.credential-preview-section-heading p{margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:500}
.credential-preview-row{display:grid;grid-template-columns:150px minmax(220px,1fr) auto;align-items:center;gap:10px;padding:9px 15px}.credential-preview-row+.credential-preview-row{padding-top:3px}.credential-preview-row:last-child{padding-bottom:12px}.credential-preview-row>label{color:#465267;font-size:.72rem;font-weight:650}.credential-preview-row>input,.credential-preview-secret>input{height:38px;margin:0;border:1px solid #d6dee8;border-radius:8px;background:#f8fafc;color:var(--text);font-size:.76rem;font-weight:750}.credential-preview-row>input[readonly],.credential-preview-secret>input[readonly]{cursor:copy}.credential-preview-row>input:focus,.credential-preview-secret>input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.credential-preview-row>input.is-copied,.credential-preview-secret>input.is-copied{border-color:#49a978;background:#edf9f1;box-shadow:0 0 0 2px rgba(22,138,74,.08)}
.credential-preview-secret{position:relative;display:block;min-width:0}.credential-preview-secret>input{width:100%;padding-right:44px}.credential-preview-reveal{position:absolute;right:5px;top:3px;display:grid;width:32px;height:32px;place-items:center;border:0;background:transparent;color:#64748b;cursor:pointer}.credential-preview-reveal:hover,.credential-preview-reveal.is-revealed{color:var(--cyan-dark)}.credential-preview-reveal svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.credential-preview-copy,.credential-preview-update{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:6px 11px;border:1px solid #c9d5e2;border-radius:8px;background:#fff;color:var(--cyan-dark);font-size:.7rem;font-weight:800;white-space:nowrap;cursor:pointer}.credential-preview-copy:hover{border-color:#8ccce8;background:#f5f8fc}.credential-preview-copy.is-copied{border-color:#168a4a;background:#edf9f1;color:#168a4a}.credential-preview-copy svg,.credential-preview-update svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.credential-preview-update{width:38px;min-width:38px;padding:0;border-color:var(--cyan-dark);background:var(--cyan-dark);color:#fff;box-shadow:none}.credential-preview-update:hover{background:#0369a1}
.credential-preview-row-actions{display:flex;gap:7px}.credential-preview-row-actions>.credential-preview-copy{min-width:110px}.credential-preview-password-row{grid-template-columns:150px minmax(220px,1fr) auto}.account-preview-modal .credential-password-change{grid-column:2/-1;width:auto;margin-top:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.account-preview-modal .credential-password-change label{font-size:.7rem}.account-preview-modal .credential-password-change input{height:38px}.account-preview-modal .credential-password-change>footer{display:flex;justify-content:flex-end;gap:7px;margin-top:7px}.account-preview-modal .credential-password-change>footer button{min-height:34px;padding:5px 10px;border:1px solid #c9d5e2;border-radius:7px;background:#fff;color:var(--cyan-dark);font-size:.68rem;font-weight:800}.account-preview-modal .credential-password-change>footer .is-save{border-color:var(--cyan-dark);background:var(--cyan-dark);color:#fff}
.credential-preview-otp{display:grid;grid-template-columns:38px minmax(145px,.75fr) minmax(220px,1.25fr) auto;align-items:center;gap:12px;padding:10px 15px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.credential-preview-otp h3{margin:0;color:var(--text);font-size:.76rem}.account-preview-modal .credential-preview-totp{display:block;margin:0}.account-preview-modal .credential-preview-totp [data-totp-code]{display:grid;width:100%;min-height:42px;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;padding:4px 8px;border:0;border-radius:8px;background:#eef8fc;color:var(--text);cursor:copy}.account-preview-modal .credential-preview-totp [data-totp-code]>strong{font:850 1.35rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;text-align:center}.account-preview-modal .credential-preview-totp [data-totp-code]>small{display:grid;width:34px;height:34px;place-items:center;border:3px solid #7dd3fc;border-radius:50%;background:#fff;color:var(--cyan-dark);font-size:.65rem}.account-preview-modal .credential-preview-totp [data-totp-code]:disabled{opacity:.65;cursor:wait}.account-preview-modal .credential-preview-totp.is-urgent [data-totp-code]>small{border-color:#ef8d7c;color:#b42318}.credential-preview-otp-copy{min-width:138px}
.credential-layout-modal{width:min(840px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;overflow-x:hidden}.credential-layout-modal::backdrop{background:rgba(6,20,38,.68);backdrop-filter:none}.credential-layout-modal .credential-layout-header{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;align-items:start;gap:12px;padding:12px 16px 10px}.credential-layout-header hgroup{min-width:0;margin:0}.credential-layout-header h2{margin:0;font-size:1rem}.credential-layout-header hgroup>p{margin:2px 0 0;font-size:.68rem}.credential-layout-header-note{align-self:center;margin:0;color:#64748b;font-size:.65rem;white-space:nowrap}.credential-layout-modal .credential-layout-header>button{width:30px;height:30px;padding:0;border-radius:7px;background:transparent;color:var(--text);font-size:1.35rem;font-weight:300;line-height:1}.credential-layout-modal .credential-layout-header>button:hover{background:#eef2f6}.credential-layout-modal .revoke-workflow-section{padding:0}.credential-layout-body{padding:10px 14px 0}.credential-freeze-workflow{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.credential-layout-modal .credential-preview-section{display:flex;min-width:0;flex-direction:column}.credential-layout-modal .credential-preview-mailbox .credential-preview-section-heading{background:#eef7ff}.credential-layout-modal .credential-preview-product .credential-preview-section-heading{background:#f4f1ff}.credential-layout-modal .credential-preview-product .credential-preview-section-icon{background:#ede8ff;color:#6d3ee8}.credential-layout-modal .credential-preview-section-heading{gap:9px;padding:9px 11px}.credential-layout-modal .credential-preview-section-icon{width:32px;height:32px;flex-basis:32px;border-radius:8px}.credential-layout-modal .credential-preview-section-icon svg{width:18px;height:18px}.credential-layout-modal .credential-preview-section-heading h3{font-size:.8rem}.credential-layout-modal .credential-preview-section-heading p{font-size:.63rem}.credential-layout-modal .credential-preview-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 7px;padding:7px 10px}.credential-layout-modal .credential-preview-row+.credential-preview-row{padding-top:3px}.credential-layout-modal .credential-preview-row>label{grid-column:1/-1;font-size:.68rem}.credential-layout-modal .credential-preview-row>input,.credential-layout-modal .credential-preview-row>.credential-preview-secret{grid-column:1}.credential-layout-modal .credential-preview-row>.credential-preview-copy{grid-column:2;min-width:90px;min-height:34px;padding:5px 9px}.credential-layout-modal .credential-preview-row>input,.credential-layout-modal .credential-preview-secret>input{height:34px;font-size:.72rem}.credential-layout-modal .credential-preview-reveal{top:1px}.credential-layout-modal .credential-new-password-row{margin-top:1px;padding-top:7px;border-top:1px solid #e5eaf0}.credential-layout-modal .credential-new-password-row>.credential-preview-secret,.credential-layout-modal .credential-new-password-row>small{grid-column:1/-1}.credential-layout-modal .credential-new-password-row>small{color:var(--muted);font-size:.61rem}.credential-panel-option{margin-top:auto;border-top:1px solid #e5eaf0;background:#fbfcfe}.credential-panel-option>summary,.credential-otp-option>summary{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:7px;padding:6px 10px;color:#465267;font-size:.67rem;font-weight:750;cursor:pointer;list-style:none}.credential-panel-option>summary::-webkit-details-marker,.credential-otp-option>summary::-webkit-details-marker{display:none}.credential-panel-option>summary::after,.credential-otp-option>summary::after{content:'⌄';color:#64748b;font-size:.95rem;line-height:1;transition:transform .15s}.credential-panel-option[open]>summary::after,.credential-otp-option[open]>summary::after{transform:rotate(180deg)}.credential-panel-option>summary small{margin-left:auto;color:#8491a3;font-size:.58rem;font-weight:650}.credential-panel-option>label{display:block;padding:2px 10px 9px;font-size:.67rem}.credential-panel-option .revoke-secret-field{margin-top:3px}.credential-layout-otp{grid-column:1/-1;grid-template-columns:32px minmax(110px,.6fr) minmax(190px,1fr) auto minmax(100px,auto);gap:8px;padding:7px 10px;background:#fbfcfe}.credential-layout-modal .credential-preview-totp{display:block;margin:0}.credential-layout-modal .credential-preview-totp [data-totp-code]{display:grid;width:100%;min-height:36px;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px;padding:3px 6px;border:0;border-radius:7px;background:#eef8fc;color:var(--text);cursor:copy}.credential-layout-modal .credential-preview-totp [data-totp-code]>strong{font:850 1.15rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.17em;text-align:center}.credential-layout-modal .credential-preview-totp [data-totp-code]>small{display:grid;width:28px;height:28px;place-items:center;border:2px solid #7dd3fc;border-radius:50%;background:#fff;color:var(--cyan-dark);font-size:.59rem}.credential-layout-modal .credential-preview-totp [data-totp-code]:disabled{opacity:.65;cursor:wait}.credential-layout-modal .credential-preview-totp.is-urgent [data-totp-code]>small{border-color:#ef8d7c;color:#b42318}.credential-layout-modal .credential-preview-otp-copy{min-height:34px;padding-block:5px}.credential-otp-option{min-width:0}.credential-otp-option>summary{min-height:34px;padding-inline:6px;white-space:nowrap}.credential-otp-option>section{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0 2px}.credential-otp-option[open]{grid-column:1/-1}.credential-otp-option[open]>summary{border-bottom:1px solid #e5eaf0}.credential-otp-option label{font-size:.67rem}.credential-layout-modal .revoke-submit-hint{margin:5px 14px 0;text-align:right}.credential-layout-modal .credential-form-actions{padding-inline:14px}
@media(max-width:760px){.credential-layout-modal{width:calc(100vw - 20px)}.credential-layout-modal .credential-layout-header{grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:11px 12px 9px}.credential-layout-modal .credential-layout-header>button{width:44px;height:44px}.credential-layout-header-note{display:none}.credential-layout-body{padding:10px 10px 0}.credential-freeze-workflow{grid-template-columns:1fr}.credential-layout-otp{grid-column:1;grid-template-columns:40px minmax(0,1fr) auto}.credential-layout-otp h3{grid-column:2}.credential-layout-modal .credential-preview-totp{grid-column:1/3}.credential-layout-otp>.credential-preview-otp-copy{grid-column:3;grid-row:1/3;align-self:center;min-width:116px}.credential-otp-option,.credential-otp-option[open]{grid-column:1/-1}.credential-otp-option>summary{justify-content:flex-end}.credential-layout-modal .revoke-submit-hint{margin-inline:10px}.credential-layout-modal .credential-form-actions{padding-inline:10px}}
@media(max-width:560px){.credential-layout-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.credential-layout-modal .credential-layout-header{padding:14px 12px 10px}.credential-layout-body{padding-inline:8px}.credential-layout-modal .credential-preview-section-heading{gap:10px;padding:11px 12px}.credential-layout-modal .credential-preview-row{grid-template-columns:minmax(0,1fr) auto;padding:9px 11px}.credential-layout-modal .credential-preview-row>input,.credential-layout-modal .credential-preview-secret>input{height:44px;font-size:.78rem}.credential-layout-modal .credential-preview-row>.credential-preview-copy{width:44px;min-width:44px;min-height:44px;padding:0}.credential-layout-modal .credential-preview-row>.credential-preview-copy span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.credential-layout-modal .credential-preview-row>.credential-preview-copy svg{width:19px;height:19px}.credential-panel-option>summary{min-height:44px}.credential-layout-otp{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:10px}.credential-layout-otp>.credential-preview-otp-copy{grid-column:1/-1;grid-row:auto;width:100%;min-height:44px}.credential-layout-modal .credential-preview-totp{grid-column:1/-1}.credential-otp-option>section{grid-template-columns:1fr}.credential-layout-modal .credential-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.credential-layout-modal .credential-form-actions>small{grid-column:1/-1;margin:0}.credential-layout-modal .credential-form-actions .button{width:100%;min-height:44px}}
.account-preview-security-note{margin:8px 0 0;padding:6px 9px;border-radius:7px;background:#f5f8fc;color:var(--muted);font-size:.63rem}.account-preview-body>.code-rename{margin-top:8px}
.account-preview-modal [hidden]{display:none!important}
.account-preview-actions{position:sticky;bottom:0;z-index:3;margin:12px 0 0;padding:10px 20px 12px;border-top:1px solid var(--line);background:rgba(255,255,255,.98)}.account-preview-actions .button{min-height:38px;padding-inline:16px}.account-preview-actions .button-primary{min-width:220px}.account-preview-recall-next{min-width:190px!important}
.account-preview-recall-confirm{padding:4px 32px 28px}.account-preview-recall-confirm[hidden]{display:none!important}.account-preview-recall-confirm>header{display:flex;align-items:flex-start;gap:15px;padding:18px;border:1px solid #f2c7c2;border-radius:13px 13px 0 0;background:#fff5f4}.account-preview-recall-confirm>header>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-size:1.1rem;font-weight:900}.account-preview-recall-confirm hgroup{margin:0}.account-preview-recall-confirm hgroup small{color:#b42318;font-size:.65rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.account-preview-recall-confirm h3{margin:3px 0 0;color:#48120e;font-size:1.05rem;line-height:1.4}.account-preview-recall-confirm dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:15px 18px;border-inline:1px solid #f2c7c2;background:#fff}.account-preview-recall-confirm dl>div{padding:10px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}.account-preview-recall-confirm dt{color:#718096;font-size:.64rem}.account-preview-recall-confirm dd{margin:3px 0 0;color:#16213f;font-size:.79rem;font-weight:800;overflow-wrap:anywhere}.account-preview-recall-confirm>p{margin:0;padding:0 18px 16px;border:1px solid #f2c7c2;border-top:0;border-radius:0 0 13px 13px;background:#fff;color:#7a332c;font-size:.72rem;line-height:1.5}.account-preview-recall-actions{margin-top:16px}.account-preview-recall-actions .button{min-height:46px}.account-preview-recall-actions .button-danger{min-width:300px}
@media(max-width:820px){.account-preview-modal{width:calc(100vw - 20px)}.account-preview-header{padding:15px 16px 11px}.account-preview-header h2{font-size:1.05rem}.account-preview-body{padding-inline:14px}.credential-preview-row,.credential-preview-password-row{grid-template-columns:130px minmax(0,1fr) auto;gap:8px;padding-inline:13px}.credential-preview-row-actions{width:auto}.account-preview-modal .credential-password-change{grid-column:2/-1}.credential-preview-otp{grid-template-columns:38px minmax(110px,.7fr) minmax(180px,1.2fr) auto;gap:8px;padding-inline:13px}.credential-preview-otp-copy{min-width:120px}.account-preview-recall-confirm dl{grid-template-columns:1fr}}
@media(max-width:560px){.account-preview-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.account-preview-header{padding:14px 14px 10px}.account-preview-header h2{gap:7px;font-size:1.05rem}.account-preview-code{min-height:30px;padding:4px 9px;border-radius:10px;font-size:.72rem}.account-preview-header p{font-size:.74rem}.account-preview-body{padding-inline:9px}.credential-preview-workflow{gap:10px}.credential-preview-section-heading{gap:12px;padding:12px}.credential-preview-section-icon{width:40px;height:40px;flex-basis:40px}.credential-preview-section-icon svg{width:22px;height:22px}.credential-preview-section-heading h3{font-size:.9rem}.credential-preview-section-heading p{font-size:.68rem}.credential-preview-row,.credential-preview-password-row{grid-template-columns:1fr;gap:6px;padding:9px 11px}.credential-preview-row+.credential-preview-row{padding-top:4px}.credential-preview-row>label{font-size:.74rem}.credential-preview-row>input,.credential-preview-secret>input{height:44px;font-size:.82rem}.credential-preview-row>.credential-preview-copy,.credential-preview-row>.credential-preview-row-actions,.account-preview-modal .credential-password-change{grid-column:1;width:100%}.credential-preview-row>.credential-preview-copy{justify-self:stretch}.credential-preview-copy,.credential-preview-update{min-height:42px}.credential-preview-row-actions{gap:7px}.credential-preview-row-actions>.credential-preview-update{width:42px;min-width:42px;flex:0 0 42px}.credential-preview-row-actions>.credential-preview-copy{min-width:0;flex:1}.credential-preview-otp{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:10px}.credential-preview-otp .credential-preview-section-icon{width:40px;height:40px;flex-basis:40px}.credential-preview-otp h3{grid-column:2}.credential-preview-totp{grid-column:1/3!important}.credential-preview-otp-copy{grid-column:1/3;grid-row:auto;min-width:0}.account-preview-modal .credential-preview-totp [data-totp-code]>strong{font-size:1.42rem}.credential-modal.account-preview-modal>.account-preview-actions{display:flex;position:sticky;bottom:0;flex-direction:column;margin:12px 0 0;padding:10px 10px 12px;border-top:1px solid #dfe7ef;background:#fff}.account-preview-actions .button,.account-preview-actions .button-primary{width:100%;min-width:0;min-height:44px}.account-preview-actions [data-preview-copy-all]{order:1}.account-preview-actions [data-preview-recall-next]{order:2}.account-preview-actions [data-preview-cleanup-next]{order:2}.account-preview-actions [data-modal-close]{order:3}.account-preview-recall-confirm{padding:2px 10px 14px}.account-preview-recall-confirm>header{padding:13px}.account-preview-recall-confirm h3{font-size:.9rem}.account-preview-recall-confirm dl{padding:10px 13px}.account-preview-recall-confirm>p{padding:0 13px 13px}.credential-modal.account-preview-modal .account-preview-recall-actions{display:grid;position:static;grid-template-columns:1fr;margin:12px 0 0;padding:0;border-top:0;background:transparent}.account-preview-recall-actions .button,.account-preview-recall-actions .button-danger{width:100%;min-width:0;min-height:44px}.account-preview-recall-actions .button-danger{grid-row:1}}

/* Nhóm mã thủ công: quản lý nhà cung cấp và bảng giá theo từng mã ngay tại tab Giá bán. */
.manual-pricing-card{margin-top:18px;padding:16px;border:1px solid #cbdbea;border-radius:14px;background:#fff}
.manual-pricing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.manual-pricing-head h3{margin:0 0 4px;font-size:16px;color:#12243d}
.manual-pricing-head p{margin:0;color:#65758b;font-size:13px}
.manual-pricing-summary{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef7fc;color:#31546d;font-size:12px;white-space:nowrap}
.manual-pricing-summary b{font-variant-numeric:tabular-nums;color:#087fb7}
.manual-pricing-search{display:block;max-width:420px;margin:14px 0 10px;font-size:12px;color:#53657a}
.manual-pricing-search input{margin-top:5px}
.manual-pricing-table-wrap{max-height:380px;border:1px solid #e0e8f1;border-radius:11px}
.manual-pricing-table{min-width:760px}
.manual-pricing-table th{position:sticky;top:0;z-index:1;background:#f6f9fc}
.manual-pricing-table td{vertical-align:middle}
.manual-pricing-table td:first-child strong{color:#0b78a9}
.manual-pricing-price-label{max-width:360px;white-space:normal;line-height:1.35;font-variant-numeric:tabular-nums}
.manual-pricing-table td:nth-child(4){color:#6b7a8c;font-size:12px}
.manual-pricing-empty{padding:24px;text-align:center;border:1px dashed #bfd2e3;border-radius:11px;background:#f8fbfd}
.manual-pricing-empty p{margin:5px 0 14px;color:#68788b}
.manual-pricing-dialog{width:min(820px,calc(100vw - 28px))}
.manual-pricing-dialog>form{max-height:min(780px,calc(100vh - 40px));overflow:auto}
.manual-pricing-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.manual-pricing-fields label small,.manual-pricing-dialog legend small{font-weight:400;color:#7a899a}
.manual-pricing-fallback{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:9px 11px;border-radius:9px;background:#edf7fc;color:#31566c;font-size:12px}
.manual-pricing-fallback span{flex:0 0 auto;font-weight:700}
.manual-pricing-fallback strong{font-weight:500;line-height:1.45}
.manual-pricing-tools{display:flex;align-items:center;gap:8px;margin-top:10px}
.manual-pricing-dialog .form-status{min-height:20px;margin:0;color:#66778a;font-size:12px}
.manual-pricing-dialog .form-status.is-error{color:#c43737}
.manual-pricing-dialog .form-status.is-ok{color:#14784a}

@media (max-width:720px){
    .manual-pricing-head{display:block}
    .manual-pricing-summary{display:inline-block;margin-top:10px}
    .manual-pricing-fields{grid-template-columns:1fr}
    .manual-pricing-dialog .price-row{grid-template-columns:84px 1fr 1fr 34px}
    .manual-pricing-dialog{width:calc(100vw - 16px)}
}

@media (max-width:520px){
    .manual-pricing-dialog .price-row{grid-template-columns:1fr 1fr}
    .manual-pricing-dialog .price-row label:first-child{grid-column:1/-1}
    .manual-pricing-dialog .price-row .icon-button{align-self:end}
    .manual-pricing-tools{align-items:stretch;flex-direction:column}
}

/* Tra cứu xuyên nhóm: tóm tắt kết quả, phạm vi tìm và lối xử lý chuẩn. */
.order-search-scope{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid #d8e2ee;border-radius:10px;background:#f7fafc;white-space:nowrap}
.order-search-scope .button{min-height:30px;padding:5px 10px;border:0;box-shadow:none}
.order-search-scope .is-current{background:#fff;color:#17324d;box-shadow:0 1px 3px rgba(15,35,55,.1)}
.lookup-summary{display:flex;align-items:stretch;gap:8px;margin:0 0 12px;overflow-x:auto;scrollbar-width:thin}
.lookup-summary>span{display:flex;min-width:112px;flex-direction:column;justify-content:center;padding:10px 14px;border:1px solid #dce5ef;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(20,46,72,.04)}
.lookup-summary>span:first-child{min-width:230px;flex:1}
.lookup-summary strong{color:#102a43;font-size:14px;line-height:1.3}
.lookup-summary small{color:#698096;font-size:11px}
.lookup-summary .is-danger strong{color:#c63c37}
.customer-result-link{display:inline-block;color:#102a43;text-decoration:none;border-bottom:1px dashed #9ab0c4}
.customer-result-link:hover{color:#087fb5;border-bottom-color:currentColor}
.account-history-inline{appearance:none;padding:0;border:0;border-bottom:1px dashed #8ca7bd;background:transparent;color:#153c5c;font:inherit;font-weight:650;cursor:pointer}
.account-history-inline:hover{color:#087fb5;border-bottom-color:currentColor}
.account-usage-summary{display:flex;min-width:170px;flex-direction:column;align-items:flex-start;gap:3px}
.account-usage-summary>small{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-usage-summary .table-action{margin-top:2px}
.account-history-upgrade-note{margin:10px 16px 0}
.orders-all-operational-table{min-width:1480px}
.orders-all-operational-table th,.orders-all-operational-table td{vertical-align:middle}
.orders-all-operational-table .order-note-cell{min-width:190px}
.orders-all-operational-table .order-result-email{display:block;max-width:285px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0284b8}
.orders-all-operational-table .order-manage-trigger{white-space:nowrap}
.orders-all-operational-table .row-actions-menu>summary{width:34px;height:34px;border:1px solid #d7e1eb;border-radius:9px;background:#fff}
.orders-all-operational-table .row-actions-menu>section{right:0;left:auto}
.orders-all-operational-table tbody tr.row-done,.orders-all-operational-table tbody tr.row-done:hover,.orders-all-operational-table tbody tr.row-done td{background:#eef1f4!important;color:#68727d}
.orders-all-operational-table tbody tr.row-done .order-note-cell textarea,.orders-all-operational-table tbody tr.row-done .row-actions-menu>summary{border-color:#d5dbe1;background:#e5e9ed;color:#5f6974}

@media(max-width:760px){
  .order-search-scope{width:100%;justify-content:stretch}
  .order-search-scope .button{flex:1}
  .lookup-summary>span:first-child{min-width:190px}
}

/* v1.7.0 · quy tắc và điểm nhấn xử lý gia hạn theo nhóm */
.renewal-action-hint{display:block;width:max-content;max-width:150px;margin-top:5px;padding:3px 7px;border:1px solid transparent;border-radius:999px;font-size:.64rem;font-weight:800;line-height:1.15;white-space:nowrap}
.renewal-action-hint>span{margin-right:4px}
.renewal-action-hint.is-recall{border-color:#fed7ca;background:#fff2ed;color:#a64528}
.renewal-action-hint.is-freeze{border-color:#cfd9e6;background:#f0f4f8;color:#43516a}
.renewal-action-hint.is-flexible{border-color:#dfe3e8;background:#f7f8fa;color:#667085}
.renewal-recommended-action{white-space:nowrap}
.renewal-recommended-action.is-recall{border:1px solid #f2b8a7;background:#fff7f4;color:#a64528}
.renewal-recommended-action.is-recall:hover{border-color:#dc8064;background:#ffede7;color:#90391f}
.renewal-recommended-action.is-freeze,.renewal-freeze-confirm{border:1px solid #b9c5d6;background:#f3f6f9;color:#3f4d62}
.renewal-recommended-action.is-freeze:hover,.renewal-freeze-confirm:hover{border-color:#8ea0b7;background:#e8eef4;color:#2f3b4e}
.renewal-recommended-action.is-flexible{color:#667085}
.renewal-rule-card{margin-bottom:16px}.renewal-rule-card.is-disabled{opacity:.62}
.renewal-rule-switch{margin-bottom:14px}
.renewal-rule-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px}
.renewal-rule-grid label>small{display:block;margin-top:5px;color:var(--muted);font-size:.67rem;line-height:1.35}
@media(max-width:720px){.renewal-rule-grid{grid-template-columns:1fr}.renewal-actions{min-width:285px}}

/* v1.6.8 · workspace cấu hình nhóm sản phẩm */
.product-config-shell{display:block;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:clip}
.product-config-head{position:sticky;top:68px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.product-config-title,.product-config-actions{display:flex;align-items:center;gap:10px;min-width:0}
.product-config-actions{justify-content:flex-end;flex-wrap:wrap}
.product-trash-button{width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 38px;border:1px solid #fecaca;border-radius:9px;background:#fff;color:var(--red)}
.product-trash-button:hover{background:#fff5f5;border-color:#fca5a5}
.product-trash-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.table-actions .icon-button.danger.ord-del{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid #fecaca!important;border-radius:8px;background:#fff!important;color:var(--red)!important}
.ord-del:hover{background:#fff5f5!important;border-color:#fca5a5!important}
.ord-del svg{display:block;pointer-events:none}
.product-config-title>span{min-width:0}.product-config-title strong,.product-config-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-config-title strong{font-size:1rem}.product-config-title small{font-size:.72rem;color:var(--muted);margin-top:1px}
.config-back{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:1.15rem;font-weight:700}.config-back:hover{background:#f5f8fc;color:var(--text)}
.product-switch-area{position:relative;min-width:0}.product-switch-area>small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-switch-controls{display:flex;align-items:center;gap:4px;min-width:0}
.product-cycle-button{width:25px;height:27px;flex:0 0 25px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;color:#778397;font-size:1.05rem;font-weight:750}.product-cycle-button:hover{border-color:var(--line);background:#f5f8fc;color:#0475a4}
.product-switcher{position:relative;min-width:0}.product-switcher>summary{list-style:none;display:flex;align-items:center;gap:7px;max-width:330px;padding:4px 7px;border:1px solid transparent;border-radius:8px;cursor:pointer}.product-switcher>summary::-webkit-details-marker{display:none}.product-switcher>summary:hover,.product-switcher[open]>summary{border-color:#cfe1ec;background:#f5fbfe}.product-switcher>summary strong{min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.product-switch-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--switch-color)}.product-switch-chevron{color:#8692a3;font-size:.8rem;transition:transform .15s}.product-switcher[open] .product-switch-chevron{transform:rotate(180deg)}
.product-switch-menu{position:absolute;z-index:40;top:calc(100% + 7px);left:0;width:min(330px,calc(100vw - 32px));padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(2,32,71,.18)}.product-switch-menu>header{padding:7px 8px 8px}.product-switch-menu>header strong,.product-switch-menu>header small{display:block}.product-switch-menu>header strong{font-size:.78rem}.product-switch-menu>header small{margin-top:2px;color:var(--muted);font-size:.66rem}.product-switch-search{display:flex;align-items:center;gap:6px;margin:0 4px 6px;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:#8590a0}.product-switch-search input{height:32px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:.75rem}.product-switch-menu>nav{max-height:280px;overflow:auto}.product-switch-menu>nav>a{display:grid;grid-template-columns:9px minmax(0,1fr) 18px;gap:9px;align-items:center;padding:8px;border-radius:8px;color:var(--text)}.product-switch-menu>nav>a:hover{background:#f5f8fc;color:var(--text)}.product-switch-menu>nav>a.is-current{background:#eef8fc;color:#036b9f}.product-switch-menu>nav>a>span:nth-child(2){min-width:0;font-size:.76rem;font-weight:750}.product-switch-menu>nav>a small{display:block;margin-top:1px;color:var(--muted);font-size:.63rem;font-weight:450}.product-switch-menu>nav>a b{color:#0b8ec7;text-align:center}.product-switch-menu>footer{margin-top:5px;padding:7px 8px 3px;border-top:1px solid var(--line)}.product-switch-menu>footer a{font-size:.72rem;font-weight:750;color:#0475a4}.product-switch-dialog{width:min(520px,calc(100vw - 28px))}
.config-save-state{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;white-space:nowrap}.config-save-state i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.config-save-state.is-dirty i{background:#d97706}.config-save-state.is-dirty{color:#9a5b08}.config-save-state.is-saving i{background:var(--cyan)}.config-save-state.is-saving{color:#0475a4}
.product-config-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);background:#f7f9fc}.product-config-summary>span{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.7rem}.product-config-summary strong{color:var(--text);font-size:.72rem}
.product-config-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:570px}
.product-config-nav{padding:14px 10px;border-right:1px solid var(--line);background:#f7f9fc}
.config-nav-button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 9px;align-items:center;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left}.config-nav-button+ .config-nav-button{margin-top:4px}.config-nav-button:hover{background:#fff}.config-nav-button.active{border-color:#b9dded;background:#eaf7fd;color:#036b9f;box-shadow:0 2px 8px rgba(14,165,233,.06)}.config-nav-button i{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#fff;color:#8a94a3;font-size:.67rem;font-style:normal}.config-nav-button span{font-size:.8rem;font-weight:750}.config-nav-button small{color:var(--muted);font-size:.64rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-nav-button.active i{color:#0284c7}.product-config-mobile-nav{display:none}
.product-config-content{min-width:0;padding:20px}.config-panel[hidden],.config-message-panel[hidden]{display:none!important}
.config-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.config-panel-head h2{font-size:1.02rem;margin:0 0 2px}.config-panel-head p{margin:0;color:var(--muted);font-size:.76rem}.config-panel-actions{display:flex;gap:8px;flex-wrap:wrap}
.config-section-card{padding:14px;margin:0 0 14px;border-radius:11px;background:#fbfcfe}.config-section-card>legend{font-size:.78rem;font-weight:700}.config-section-card>legend small{font-weight:450;color:var(--muted)}
.config-ident-grid{display:grid;grid-template-columns:minmax(220px,2.2fr) minmax(90px,.8fr) 90px minmax(95px,.8fr) minmax(125px,1fr);gap:10px;align-items:end}.config-ident-grid label{margin:0}.config-name-field{min-width:0}
.config-supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.config-supply-grid label{margin:0}
.config-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.config-role-options>label{position:relative;display:block;margin:0;cursor:pointer}.config-role-options input{position:absolute;width:1px;height:1px;opacity:0}.config-role-options label>span{display:block;min-height:82px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.15s}.config-role-options strong,.config-role-options small{display:block}.config-role-options strong{font-size:.8rem;color:var(--text)}.config-role-options small{margin-top:5px;color:var(--muted);font-size:.68rem;line-height:1.45;font-weight:450}.config-role-options input:checked+span{border-color:#38bdf8;background:#eff9fd;box-shadow:0 0 0 2px rgba(14,165,233,.1)}.config-role-options input:checked+span:after{content:"✓";position:absolute;right:12px;top:10px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#0ea5e9;color:#fff;font-size:.68rem;font-weight:850}.config-role-options input:focus-visible+span{outline:2px solid #38bdf8;outline-offset:2px}.config-role-options input:disabled+span{cursor:not-allowed;opacity:.6}
.code-prefix-control{position:relative;display:block}.code-prefix-control input{padding-right:54px;background:#fff}.code-prefix-control button{position:absolute;right:5px;top:calc(.3rem + 5px);height:30px;padding:0 9px;border:0;border-left:1px solid #d8e2ec;border-radius:0 6px 6px 0;background:#f3f8fb;color:#0278ad;font-size:.7rem;font-weight:800}.code-prefix-control button:hover{background:#e4f3fa;color:#075985}.code-prefix-control button:focus-visible{outline:2px solid #38bdf8;outline-offset:1px}.code-change-modal{width:min(520px,calc(100vw - 28px))}.code-change-modal>[hidden]{display:none!important}.code-change-preview{margin:14px 0 0;padding:10px 12px;border:1px solid #cfeaf5;border-radius:9px;background:#f1f9fd;color:#31556a;font-size:.8rem}.code-change-preview strong{color:#036b9f;letter-spacing:.06em}.field-error{margin:7px 0 0;color:#b91c1c;font-size:.74rem;font-weight:700}
.config-toggle-card{border:1px solid var(--line);border-radius:11px;padding:0 14px;background:#fbfcfe}.config-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;margin:0;border-bottom:1px solid var(--line);cursor:pointer}.config-switch-row:last-child{border-bottom:0}.config-switch-row>span:first-child strong,.config-switch-row>span:first-child small{display:block}.config-switch-row>span:first-child strong{color:var(--text);font-size:.78rem}.config-switch-row>span:first-child small{margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:400}
.config-switch{position:relative;width:40px;height:22px;flex:0 0 40px}.config-switch input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.config-switch i{display:block;width:40px;height:22px;border-radius:999px;background:#cbd5e1;transition:.18s}.config-switch i:after{content:"";display:block;width:16px;height:16px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,35,65,.2);transition:.18s}.config-switch input:checked+i{background:var(--cyan)}.config-switch input:checked+i:after{transform:translateX(18px)}.config-switch input:focus-visible+i{box-shadow:0 0 0 3px rgba(14,165,233,.18)}
.config-setting-card{border:1px solid var(--line);border-radius:11px;padding:0 14px;background:#fbfcfe}.config-setting-row{display:grid;grid-template-columns:minmax(0,1fr) 148px;align-items:center;gap:20px;min-height:60px;padding:10px 0;border-bottom:1px solid var(--line)}.config-setting-row:last-child{border-bottom:0}.config-setting-row>span:first-child strong,.config-setting-row>span:first-child small{display:block}.config-setting-row>span:first-child strong{font-size:.78rem;color:var(--text)}.config-setting-row>span:first-child small{margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:400}.config-binary{width:148px;display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #d6e0eb;border-radius:9px;background:#edf2f7}.config-binary label{position:relative;margin:0;cursor:pointer}.config-binary input{position:absolute;width:1px;height:1px;opacity:0}.config-binary label>span{height:30px;display:grid;place-items:center;border-radius:6px;color:#657286;font-size:.7rem;font-weight:750;transition:.15s}.config-binary input:checked+span{background:#fff;color:#057ba9;box-shadow:0 1px 4px rgba(15,35,65,.14)}.config-binary input:focus-visible+span{outline:2px solid #38bdf8;outline-offset:1px}
.external-shared-preview{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border:1px solid #bae6d2;border-radius:10px;background:#f0fdf7;color:#14532d}.external-shared-preview>span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#10b981;color:#fff;font-weight:800}.external-shared-preview strong,.external-shared-preview small,.external-shared-preview em{display:block}.external-shared-preview strong{font-size:.78rem}.external-shared-preview small{margin-top:3px;color:#166534;font-size:.72rem}.external-shared-preview em{margin-top:3px;color:#4b7863;font-size:.68rem;font-style:normal}
.config-price-card{max-width:980px;padding:11px 12px}.config-price-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.config-price-toolbar p{margin:0;color:var(--muted);font-size:.68rem}.config-price-toolbar .button{flex:0 0 auto}.config-price-columns,.config-price-card .price-row{display:grid;grid-template-columns:88px repeat(2,minmax(160px,1fr)) 32px;gap:8px}.config-price-columns{padding:0 0 5px;color:#6b7789;font-size:.65rem;font-weight:750}.config-price-columns span{padding-inline:8px}.config-price-card .price-list{gap:0;margin:0;border-top:1px solid var(--line)}.config-price-card .price-row{align-items:center;padding:5px 0;border-bottom:1px solid #edf1f5}.config-price-card .price-row:last-child{border-bottom:0}.config-price-card .price-row label{position:relative;margin:0}.config-price-card .price-row input{height:34px;margin:0;padding:6px 8px;font-variant-numeric:tabular-nums}.config-price-card .price-row .icon-button.danger{width:32px;height:32px}.price-field-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.config-price-note{margin:0 0 12px;padding:9px 11px;border-radius:9px;background:#f0f9ff;color:#075985;font-size:.72rem}
.config-message-tabs{display:inline-flex;gap:3px;margin-bottom:14px;padding:4px;border-radius:10px;background:#eef2f7}.config-message-tabs button{border:1px solid transparent;border-radius:8px;background:transparent;color:#596579;padding:7px 11px;font-size:.76rem;font-weight:700}.config-message-tabs button.active{border-color:var(--line);background:#fff;color:var(--text);box-shadow:0 2px 7px rgba(15,35,65,.07)}
.config-message-panel{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.template-tools{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:8px}.config-field-card{padding-left:10px;padding-right:10px}.config-field-table{min-width:810px}.config-field-table th{font-size:.63rem;padding:6px}.config-field-table td{padding:5px}.config-field-table select,.config-field-table input{margin:0}.cell-more{position:relative;width:42px;text-align:center}.field-more{position:relative}.field-more>summary{list-style:none;width:30px;height:30px;display:grid;place-items:center;border-radius:7px;color:#64748b;cursor:pointer}.field-more>summary::-webkit-details-marker{display:none}.field-more>summary:hover,.field-more[open]>summary{background:#eef3f8;color:#0475a4}.field-more>div{position:absolute;z-index:15;top:34px;right:0;width:190px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(2,32,71,.16);text-align:left}.field-more label{display:flex;align-items:center;gap:7px;padding:6px;margin:0;font-size:.72rem;white-space:nowrap}.field-more label input{width:auto;margin:0}.config-preview-modal{width:min(1000px,calc(100vw - 28px))}.config-preview-modal .demo-table{min-width:650px}
@media(max-width:1120px){.config-ident-grid{grid-template-columns:minmax(220px,2fr) minmax(100px,1fr) 90px}.config-ident-grid .code-sample,.config-ident-grid .pick-color{grid-column:auto}.config-supply-grid{grid-template-columns:1fr 1fr}.config-supply-grid>[data-capacity-field]{grid-column:1/-1}}
@media(max-width:900px){.product-config-head{top:68px}.product-config-workspace{grid-template-columns:1fr}.product-config-nav{padding:11px 14px;border-right:0;border-bottom:1px solid var(--line)}.config-nav-button{display:none}.product-config-mobile-nav{display:block;margin:0}.product-config-mobile-nav select{margin-top:4px}.product-config-content{padding:16px}.config-ident-grid,.config-supply-grid{grid-template-columns:1fr 1fr}.config-supply-grid>[data-capacity-field]{grid-column:1/-1}.group-row{grid-template-columns:10px minmax(0,1fr) 24px}.group-stats{grid-column:2/3;justify-content:flex-start}.group-open-arrow{grid-column:3;grid-row:1/3}}
@media(max-width:620px){.product-config-shell{margin:-2px;border-radius:13px}.product-config-head{top:68px;align-items:flex-start;flex-direction:column;padding:12px}.product-config-title{width:100%}.product-cycle-button{display:none}.product-switcher>summary{max-width:calc(100vw - 105px)}.product-switcher>summary strong{max-width:calc(100vw - 155px)}.product-switch-menu{position:fixed;left:12px;right:12px;top:128px;width:auto}.product-config-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto}.product-config-actions .button{padding:.55rem .7rem}.config-save-state{min-width:0}.config-save-state span{overflow:hidden;text-overflow:ellipsis}.product-config-summary{padding:9px 12px;gap:6px}.product-config-content{padding:13px}.config-panel-head{align-items:stretch;flex-direction:column}.config-panel-actions{display:grid;grid-template-columns:1fr 1fr}.config-ident-grid,.config-supply-grid,.copy-template-grid,.config-role-options{grid-template-columns:1fr}.config-supply-grid>[data-capacity-field]{grid-column:auto}.config-setting-row{grid-template-columns:minmax(0,1fr) 130px;gap:10px}.config-binary{width:130px}.config-message-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;box-sizing:border-box}.config-message-tabs button{min-width:0;min-height:40px;padding-inline:6px}.config-message-panel{padding:10px}.config-price-card .price-row{grid-template-columns:74px minmax(115px,1fr) minmax(105px,1fr) 32px;gap:6px}.config-price-card .price-row label{font-size:.65rem}.config-preview-modal{width:calc(100vw - 16px);padding:14px}.config-preview-modal .form-actions{position:sticky;bottom:-14px;margin:12px -14px -14px;padding:10px 14px 14px;background:#fff;border-top:1px solid var(--line)}.product-switch-dialog .form-actions{display:grid;grid-template-columns:1fr 1fr}.product-switch-dialog [data-switch-save]{grid-column:1/-1;grid-row:1}.group-stats{gap:4px}.group-name small{white-space:normal}.group-row{align-items:start}}
.product-delete-modal{width:min(610px,calc(100vw - 28px))}
.product-danger-menu{position:relative}.product-danger-menu>summary{list-style:none;display:grid;place-items:center;min-width:38px;height:36px;border:1px solid #d7e1eb;border-radius:8px;background:#fff;color:#64748b;font-weight:800;cursor:pointer}.product-danger-menu>summary::-webkit-details-marker{display:none}.product-danger-menu>summary:hover,.product-danger-menu[open]>summary{background:#f3f6f9;color:#334155}.product-danger-menu>div{position:absolute;z-index:30;top:42px;right:0;width:180px;padding:6px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(2,32,71,.16)}.product-danger-menu button{width:100%;padding:9px;border:0;border-radius:7px;background:transparent;color:#b91c1c;text-align:left;font-size:.74rem;font-weight:750;cursor:pointer}.product-danger-menu button:hover{background:#fef2f2}
@media(max-width:620px){.product-config-actions{display:flex;justify-content:flex-end}.product-config-actions .config-save-state{flex:1 1 100%}.product-config-actions .button{flex:1 1 auto}.product-trash-button{flex:0 0 38px}}
.field-row:nth-last-child(-n+2) .field-more>div{top:auto;bottom:34px}

/* v1.9.2 · xác nhận email mới bằng dialog nội bộ + cảnh báo định dạng ngay tại ô */
.order-email-input{position:relative;display:block}
.order-email-input input{padding-right:42px}
.order-email-warning{position:absolute;z-index:2;right:12px;top:50%;display:grid;place-items:center;color:#dc2626;transform:translateY(-50%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(127,29,29,.12))}
.order-email-warning[hidden]{display:none!important}
.order-email-input input[aria-invalid="true"]{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;background:#fffafa}
.email-field-error{display:block;margin-top:5px;color:#b91c1c;font-size:.72rem;font-weight:700;line-height:1.4}
.email-field-error[hidden]{display:none!important}
.quick-create .quick-email-field-error{flex:1 0 100%;margin:0;color:#b91c1c}
.order-email-dialog{width:min(650px,calc(100vw - 28px))}
.order-email-dialog-notice{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;margin:14px 0;padding:12px 14px;border:1px solid #bae6fd;border-radius:11px;background:#f0f9ff;color:#174862}
.order-email-dialog-notice.is-error{border-color:#fecaca;background:#fff5f5;color:#991b1b}
.order-email-dialog-notice p{margin:0;white-space:pre-line;font-size:.82rem}
.order-email-dialog-alert{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#0ea5e9;color:#fff;font-size:.84rem;font-weight:900}
.order-email-dialog-notice.is-error .order-email-dialog-alert{background:#dc2626}
.order-email-dialog-summary{min-width:0;margin:0 0 16px;border:1px solid var(--line);border-radius:11px;border-collapse:separate;border-spacing:0;overflow:hidden}
.order-email-dialog-summary th,.order-email-dialog-summary td{padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top}
.order-email-dialog-summary tr:last-child th,.order-email-dialog-summary tr:last-child td{border-bottom:0}
.order-email-dialog-summary th{width:145px;background:#f7f9fc;color:#667085;font-size:.75rem}
.order-email-dialog-summary td{background:#fff;font-size:.82rem}
.order-email-new-value{color:#036b9f;overflow-wrap:anywhere}
.order-email-current-list{list-style:none;margin:0;padding:0}
.order-email-current-list li+li{margin-top:4px}
.order-email-current-list li{overflow-wrap:anywhere}
.order-email-current-list .is-empty{color:var(--muted);font-style:italic}
@media(max-width:620px){.order-email-dialog-summary th{width:105px}.order-email-dialog .form-actions{display:grid;grid-template-columns:1fr}.order-email-dialog .form-actions .button{width:100%}}

/* v1.6.9 · hồ sơ khách hàng hướng xử lý */
.customer-profile{min-width:0}
.customer-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.customer-profile-head>section{min-width:0}.customer-profile-head .back-link{margin-bottom:6px}
.customer-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.customer-title-line h1{margin:0;font-size:1.45rem}
.customer-code-button{border:0;border-radius:999px;background:#e8eef6;color:#43516a;padding:.22rem .62rem;font-size:.72rem;font-weight:750}.customer-code-button:hover{background:#dce6f2;color:#20304a}
.customer-contact-line{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--muted);font-size:.74rem}.customer-contact-line span{overflow-wrap:anywhere}
.customer-profile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.customer-attention-bar{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:13px;padding:10px 12px;border:1px solid #fed7aa;border-left:4px solid #d97706;border-radius:11px;background:#fff8e8}
.customer-attention-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffedd5;color:#b45309;font-weight:900}.customer-attention-bar strong,.customer-attention-bar small{display:block}.customer-attention-bar strong{font-size:.82rem}.customer-attention-bar small{margin-top:1px;color:#7b5a35;font-size:.7rem}
.customer-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.customer-profile-metrics.with-warranty-credit{grid-template-columns:repeat(5,minmax(0,1fr))}.customer-profile-metrics article{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(15,35,65,.035)}.customer-profile-metrics article.needs-attention{border-color:#fed7aa;background:#fffdfa}.customer-profile-metrics article.has-debt{border-color:#fecaca;background:#fffafa}.customer-profile-metrics article.has-warranty-credit{border-color:#bae6fd;background:#f5fbfe}.customer-profile-metrics article.has-warranty-credit strong{color:#075f89}.customer-profile-metrics small,.customer-profile-metrics strong,.customer-profile-metrics span{display:block}.customer-profile-metrics small{color:var(--muted);font-size:.7rem}.customer-profile-metrics strong{margin:2px 0;font-size:1.05rem}.customer-profile-metrics span{color:#8791a1;font-size:.66rem}
.customer-profile-main{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.75fr);gap:14px;align-items:start}.customer-profile-main>.card,.customer-profile-side>.card{margin-bottom:0}.customer-services-card{min-width:0;padding:16px}.customer-profile-side{display:grid;gap:14px;position:sticky;top:88px}
.customer-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.customer-section-head h2,.customer-section-head p{margin:0}.customer-section-head h2{font-size:.95rem}.customer-section-head p{margin-top:2px;color:var(--muted);font-size:.7rem}
.customer-section-tabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:10px;padding:0 0 9px;border-bottom:1px solid var(--line)}.customer-section-tabs button{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#657184;padding:.42rem .62rem;font-size:.72rem;font-weight:700;white-space:nowrap}.customer-section-tabs button:hover{background:#f4f7fb}.customer-section-tabs button.active{border-color:#bfe2f1;background:#eaf7fd;color:#0475a4}.customer-section-tabs button b{min-width:18px;padding:0 5px;border-radius:999px;background:#fff;font-size:.65rem;text-align:center}
[data-customer-order-panel][hidden],[data-customer-lower-panel][hidden]{display:none!important}
.customer-service-table{min-width:720px}.customer-service-table th{padding:7px 9px;font-size:.64rem}.customer-service-table td{padding:9px;font-size:.78rem}.customer-service-table td small{font-size:.66rem}.customer-service-table tbody tr:last-child td{border-bottom:0}.customer-service-table tbody tr:hover{background:#f9fbfd}.customer-service-table .customer-order-alert{background:#fff8f8;box-shadow:inset 3px 0 #ef4444}.customer-service-table .customer-order-alert:hover{background:#fff2f2}
.customer-order-code{display:inline-block;color:var(--text);font-weight:750}.customer-order-code:hover{color:var(--cyan-dark)}
.customer-expiry{display:inline-flex;align-items:center;min-width:62px;justify-content:center;padding:4px 7px;border-radius:8px;font-size:.68rem;font-weight:800}.customer-expiry.active{background:#e7f8ed;color:#147a35}.customer-expiry.warning{background:#fff4db;color:#a35b05}.customer-expiry.danger{background:#fee9e9;color:#b91c1c}
.customer-state{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:.66rem;font-weight:750;white-space:nowrap}.customer-state.success{background:#e7f8ed;color:#147a35}.customer-state.warning{background:#fff4db;color:#a35b05}.customer-state.danger{background:#fee9e9;color:#b91c1c}.customer-state.muted{background:#eef1f5;color:#687386}
.customer-row-open{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--cyan-dark)}.customer-row-open:hover{border-color:#8ccce8;background:#eef8fc}.customer-row-open svg,.customer-copy-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-care-due{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;border:1px solid #f7dfad;border-radius:9px;background:#fff8e8}.customer-care-due strong,.customer-care-due small{display:block}.customer-care-due small{margin-top:2px;color:#7b5a35;font-size:.7rem}
.customer-list-note{margin:10px 0 0;color:var(--muted);font-size:.7rem;text-align:center}
.customer-contact-card,.customer-warranty-credit-card{padding:16px}.customer-contact-list{display:grid;gap:0}.customer-contact-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0f4}.customer-contact-list>div:last-child{border-bottom:0}.customer-contact-list span{min-width:0}.customer-contact-list small,.customer-contact-list strong,.customer-contact-list em{display:block}.customer-contact-list small{color:var(--muted);font-size:.65rem}.customer-contact-list strong{margin-top:1px;overflow-wrap:anywhere;font-size:.76rem}.customer-contact-list em{margin-top:2px;color:#64748b;font-size:.64rem;font-style:normal}.customer-contact-list em.is-due{color:#b45309;font-weight:750}
.customer-copy-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--cyan-dark);font-weight:800}.customer-copy-button:hover{border-color:#8ccce8;background:#eef8fc}
.customer-operation-note{margin-top:10px;padding:9px 10px;border-left:3px solid var(--cyan);background:#f7f9fc}.customer-operation-note strong{font-size:.72rem}.customer-operation-note p{margin:2px 0 0;color:#596579;font-size:.7rem;overflow-wrap:anywhere}
.customer-duplicate-warning{margin-top:10px;padding:9px 10px;border:1px solid #f7dfad;border-radius:9px;background:#fff8e8}.customer-duplicate-warning>strong{display:block;margin-bottom:4px;color:#7b500d;font-size:.72rem}.customer-duplicate-warning a{display:block;padding:4px 0;color:#7b500d;font-size:.7rem}.customer-duplicate-warning a small{display:block;color:#9a6c26}
.customer-credit-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #c7dce8;border-radius:8px;background:#f5fafc}.customer-credit-total small,.customer-credit-total strong{display:block}.customer-credit-total small{color:#52697a;font-size:.66rem}.customer-credit-total strong{margin-top:2px;color:#075f89;font-size:1.2rem;font-variant-numeric:tabular-nums}.customer-credit-split{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px}.customer-credit-split>span{padding:8px 1px;border-bottom:1px solid #edf0f4}.customer-credit-split small,.customer-credit-split strong,.customer-credit-split em{display:block}.customer-credit-split small{color:var(--muted);font-size:.64rem}.customer-credit-split strong{margin-top:1px;font-size:.78rem}.customer-credit-split em{margin-top:1px;color:#718096;font-size:.63rem;font-style:normal}.customer-credit-rights{margin-top:3px}.customer-credit-rights a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 1px;border-bottom:1px solid #edf0f4;color:var(--text)}.customer-credit-rights span,.customer-credit-rights strong,.customer-credit-rights small{display:block;min-width:0}.customer-credit-rights strong{font-size:.69rem;overflow-wrap:anywhere}.customer-credit-rights small{margin-top:1px;color:var(--muted);font-size:.62rem}.customer-credit-rights b{color:#075f89;font-size:.71rem;white-space:nowrap}.customer-warranty-credit-card>.button{margin-top:10px}
.customer-profile-lower{margin:14px 0 0;padding:16px}.customer-profile-lower .lower-tabs{margin-bottom:10px}
.customer-transaction-list{display:grid}.customer-transaction-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0f4}.customer-transaction-list article:last-child{border-bottom:0}.customer-transaction-list strong,.customer-transaction-list small{display:block}.customer-transaction-list strong{font-size:.78rem}.customer-transaction-list small{margin-top:1px;color:var(--muted);font-size:.67rem}.customer-transaction-list b{font-size:.78rem;white-space:nowrap}
.customer-credit-history{display:grid}.customer-credit-history article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid #edf0f4}.customer-credit-history article:last-child{border-bottom:0}.customer-credit-history strong,.customer-credit-history small,.customer-credit-history em{display:block}.customer-credit-history strong{font-size:.78rem}.customer-credit-history small,.customer-credit-history em{margin-top:2px;color:var(--muted);font-size:.67rem;font-style:normal}.customer-credit-history p{margin:4px 0 0;color:#465267;font-size:.7rem;white-space:normal}.customer-credit-history article>b{font-size:.78rem;white-space:nowrap}
.customer-activity-list{display:grid}.customer-activity-list article{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;padding:8px 0;border-bottom:1px solid #edf0f4}.customer-activity-list article:last-child{border-bottom:0}.customer-activity-list article>span{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#94a3b8}.customer-activity-list article.care-event>span{background:var(--cyan)}.customer-activity-list strong,.customer-activity-list small{display:block}.customer-activity-list strong{font-size:.76rem}.customer-activity-list p{margin:3px 0;color:#465267;font-size:.72rem}.customer-activity-list small{color:var(--muted);font-size:.66rem}
.customer-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customer-admin-grid .action-panel{margin:0}.customer-admin-note{margin:10px 0 0;color:#8a5b13;font-size:.7rem}.customer-care-modal{width:min(620px,calc(100vw - 28px))}
.customer-transfer-modal{width:min(920px,calc(100vw - 28px));max-height:90dvh;padding:0;overflow:hidden;background:#f8fafc}.customer-transfer-form{max-height:90dvh;display:flex;flex-direction:column}.customer-transfer-header{margin:0;padding:19px 21px 15px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f0f9ff,#fff)}.customer-transfer-header hgroup{min-width:0}.customer-transfer-header hgroup>small{color:#0284c7;font-size:.65rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.customer-transfer-header h2{margin:2px 0 0;font-size:1.15rem}.customer-transfer-header p{margin-top:3px}.customer-transfer-body{display:grid;gap:14px;overflow-y:auto;padding:16px 20px}.customer-transfer-body fieldset{margin:0;padding:13px;border:1px solid #dfe6ee;border-radius:11px;background:#fff}.customer-transfer-body legend{padding:0 5px;color:#334155;font-size:.76rem;font-weight:850}.customer-transfer-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.customer-transfer-modes legend{grid-column:1/-1}.customer-transfer-modes>label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;margin:0;padding:10px 11px;border:1px solid #dfe6ee;border-radius:9px;background:#fff;cursor:pointer}.customer-transfer-modes>label:has(input:checked){border-color:#7dd3fc;background:#f0f9ff;box-shadow:0 0 0 2px rgba(14,165,233,.08)}.customer-transfer-modes input,.customer-transfer-table input,.customer-transfer-confirm input{width:auto;margin:2px 0 0}.customer-transfer-modes strong,.customer-transfer-modes small{display:block}.customer-transfer-modes strong{font-size:.78rem}.customer-transfer-modes small{margin-top:2px;color:var(--muted);font-size:.67rem;font-weight:450;line-height:1.45}.customer-transfer-owner-warning{margin:0}.customer-transfer-selection{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-3px 0 8px;color:var(--muted);font-size:.7rem}.customer-transfer-selection span{margin-right:auto}.customer-transfer-table-wrap{max-height:300px;border:1px solid #e5eaf0;border-radius:9px}.customer-transfer-table{min-width:700px}.customer-transfer-table th{padding:7px 8px;font-size:.64rem}.customer-transfer-table td{padding:8px;font-size:.74rem}.customer-transfer-table td:first-child{width:38px;text-align:center}.customer-transfer-table strong,.customer-transfer-table small{display:block}.customer-transfer-table small{margin-top:2px;color:var(--muted);font-size:.64rem}.customer-transfer-preview{padding:12px 14px;border:1px solid #bae6fd;border-radius:11px;background:#f0f9ff}.customer-transfer-preview header,.customer-transfer-preview p{display:flex;align-items:center;justify-content:space-between;gap:10px}.customer-transfer-preview header small{color:#0369a1;font-size:.65rem;font-weight:800;text-transform:uppercase}.customer-transfer-preview header strong{font-size:.8rem}.customer-transfer-preview p{margin:9px 0 5px;padding-top:9px;border-top:1px solid #bae6fd;color:#334155;font-size:.74rem}.customer-transfer-preview p span{min-width:0;overflow-wrap:anywhere}.customer-transfer-preview p b{color:#0284c7}.customer-transfer-preview>small{display:block;color:#52657a;font-size:.67rem}.customer-transfer-confirm{margin:0;padding:10px 11px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#991b1b}.customer-transfer-actions{flex:0 0 auto;margin:0;padding:12px 20px 15px;border-top:1px solid #e2e8f0;background:#fff}.customer-transfer-actions [data-transfer-submit]{min-width:180px}
@media(max-width:1120px){.customer-profile-main{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr)}.customer-profile-metrics,.customer-profile-metrics.with-warranty-credit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.customer-profile-head{flex-direction:column}.customer-profile-actions{width:100%;justify-content:flex-start}.customer-profile-main{grid-template-columns:1fr}.customer-profile-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-profile-side>.customer-contact-card:last-child{grid-column:1/-1}}
@media(max-width:620px){.customer-profile-actions{display:grid;grid-template-columns:1fr 1fr}.customer-profile-actions .button-primary{grid-column:1/-1;grid-row:1}.customer-attention-bar{grid-template-columns:28px minmax(0,1fr)}.customer-attention-bar>.button{grid-column:1/-1}.customer-profile-metrics{gap:8px}.customer-profile-metrics article{padding:10px}.customer-profile-metrics strong{font-size:.92rem}.customer-profile-side{grid-template-columns:1fr}.customer-services-card,.customer-contact-card,.customer-warranty-credit-card,.customer-profile-lower{padding:13px}.customer-admin-grid{grid-template-columns:1fr}.customer-care-due{align-items:flex-start;flex-direction:column}.customer-transaction-list article,.customer-credit-history article{grid-template-columns:26px minmax(0,1fr)}.customer-transaction-list article>b,.customer-credit-history article>b{grid-column:2}.customer-care-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:15px}.customer-care-modal input,.customer-care-modal select,.customer-care-modal textarea{font-size:16px}.customer-care-modal .form-actions{position:sticky;bottom:-15px;margin:16px -15px -15px;padding:12px 15px 15px;background:#fff;border-top:1px solid var(--line)}.customer-transfer-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}.customer-transfer-form{max-height:calc(100dvh - 14px)}.customer-transfer-header{padding:15px 14px 13px}.customer-transfer-body{padding:13px}.customer-transfer-modes{grid-template-columns:1fr}.customer-transfer-modes legend{grid-column:auto}.customer-transfer-selection{align-items:flex-start;flex-wrap:wrap}.customer-transfer-selection span{flex-basis:100%}.customer-transfer-table-wrap{max-height:34dvh}.customer-transfer-body input,.customer-transfer-body select,.customer-transfer-body textarea{font-size:16px}.customer-transfer-actions{display:grid;grid-template-columns:1fr;padding:10px 13px 13px}.customer-transfer-actions .button{width:100%}.customer-transfer-actions [data-transfer-submit]{min-width:0;grid-row:1}}

/* v1.9.3 · sửa nhanh tài khoản ngay tại Kho */
.account-history-trigger{border:0;border-bottom:1px dashed #9db4c7;background:transparent;color:#526175;padding:2px 0;font:inherit;font-size:.78rem;white-space:nowrap;cursor:pointer}.account-history-trigger:hover{border-bottom-color:#0284c7;color:#0369a1}.account-history-trigger:focus-visible{outline:2px solid #38bdf8;outline-offset:3px;border-radius:3px}.account-history-trigger:disabled{opacity:.55;cursor:wait}
.account-history-modal{width:min(700px,calc(100vw - 28px));max-height:88dvh;padding:0;overflow:hidden;background:#fff}
.account-history-header{margin:0;padding:20px 22px 16px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#f7fbfe,#fff)}.account-history-header hgroup{min-width:0}.account-history-header h2{margin-top:2px;font-size:1.17rem}.account-history-header p{margin-top:3px}
.account-history-eyebrow{display:block;color:#0284c7;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.account-history-source{display:flex;align-items:center;gap:7px;margin:8px 0 0!important}.account-history-source[hidden]{display:none!important}.account-history-source>span{color:#64748b;font-size:.68rem;font-weight:700}.account-history-source>a{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid #bae6fd;border-radius:7px;background:#eff9fd;color:#036b9f;font-size:.72rem;font-weight:850}.account-history-source>a:hover{border-color:#7dd3fc;background:#e0f2fe;color:#075985}
.account-history-loading{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:35px;color:#64748b;text-align:center}.account-history-loading[hidden]{display:none!important}.account-history-loading>span{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#0ea5e9;border-radius:50%;animation:warehouse-edit-spin .75s linear infinite}.account-history-loading p{margin:0;font-size:.79rem}.account-history-loading.is-error{color:#b91c1c}.account-history-loading.is-error>span{display:none}
.account-history-list{max-height:calc(88dvh - 157px);overflow-y:auto;margin:0;padding:15px 22px 6px;list-style:none}.account-history-list[hidden]{display:none!important}
.account-history-item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:0 0 18px}.account-history-item:not(:last-child):before{content:"";position:absolute;left:16px;top:31px;bottom:0;width:2px;background:#e4eaf1}
.account-history-marker{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border:1px solid #cfe5ef;border-radius:10px;background:#eff9fd;color:#0377a5;font-size:.77rem;font-weight:900}
.account-history-item>section{min-width:0;padding:4px 0 0}.account-history-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-history-item strong{color:#26354d;font-size:.8rem}.account-history-item time{flex:0 0 auto;color:#7c899a;font-size:.68rem;white-space:nowrap}.account-history-item p{margin:4px 0 0;color:#566377;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}.account-history-item small{display:block;margin-top:4px;color:#8a96a6;font-size:.64rem}
.account-history-item.type-created .account-history-marker{border-color:#bae6fd;background:#eaf8fe;color:#0284c7}.account-history-item.type-assigned .account-history-marker{border-color:#bbf7d0;background:#eefbf3;color:#15803d}.account-history-item.type-recalled .account-history-marker{border-color:#fed7aa;background:#fff8e8;color:#b45309}.account-history-item.type-credentials .account-history-marker{border-color:#ddd6fe;background:#f5f3ff;color:#7c3aed}.account-history-item.type-health-die .account-history-marker{border-color:#fecaca;background:#fff1f1;color:#dc2626}.account-history-item.type-health-live .account-history-marker{border-color:#bbf7d0;background:#effaf3;color:#15803d}
.account-history-actions{margin:0;padding:12px 22px 17px;border-top:1px solid #e7edf4;background:#fff}
.warehouse-edit-trigger{border:1px solid transparent!important;color:#0284c7}
.warehouse-edit-trigger:hover{border-color:#bae6fd!important;background:#f0f9ff!important;color:#0369a1}
.warehouse-edit-modal{width:min(760px,calc(100vw - 28px));max-height:90dvh;padding:0;overflow:hidden;background:#fff}
.warehouse-edit-form{display:flex;flex-direction:column;max-height:90dvh}
.warehouse-edit-header{flex:0 0 auto;margin:0;padding:20px 22px 17px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#f8fbfe,#fff)}
.warehouse-edit-header hgroup{min-width:0}.warehouse-edit-header h2{margin-top:2px;font-size:1.2rem}.warehouse-edit-header p{margin-top:3px}
.warehouse-edit-eyebrow{display:block;color:#0284c7;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.warehouse-edit-loading{min-height:280px;display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:40px;color:#64748b;text-align:center}.warehouse-edit-loading[hidden]{display:none!important}
.warehouse-edit-loading>span{width:30px;height:30px;border:3px solid #dbeafe;border-top-color:#0ea5e9;border-radius:50%;animation:warehouse-edit-spin .75s linear infinite}
.warehouse-edit-loading p{margin:0;font-size:.8rem}.warehouse-edit-loading.is-error{color:#b91c1c}.warehouse-edit-loading.is-error>span{display:none}
@keyframes warehouse-edit-spin{to{transform:rotate(360deg)}}
.warehouse-edit-body{flex:1 1 auto;overflow-y:auto;padding:20px 22px}.warehouse-edit-body[hidden]{display:none!important}
.warehouse-edit-grid{display:grid;grid-template-columns:minmax(135px,.55fr) minmax(175px,.72fr) minmax(245px,1.18fr);gap:14px}.warehouse-parent-field{grid-column:1/-1}
.warehouse-edit-grid input[readonly]{border-color:#dde4ec;background:#f5f7fa;color:#5c6879;cursor:not-allowed}
.readonly-label{float:right;margin-top:1px;padding:2px 7px;border-radius:999px;background:#eef2f6;color:#667085;font-size:.61rem;font-weight:750}
.warehouse-edit-section{margin-top:18px;padding:15px;border:1px solid #e1e8f0;border-radius:12px;background:#fbfcfe}
.warehouse-edit-section>header{margin-bottom:12px}.warehouse-edit-section h3,.warehouse-edit-section p{margin:0}.warehouse-edit-section h3{font-size:.86rem}.warehouse-edit-section p{margin-top:2px;color:#758195;font-size:.69rem}
.warehouse-secret-field{display:block}.warehouse-secret-field input{padding-right:60px;background:#fff}.warehouse-secret-field button{top:9px}
.warehouse-health-choice{margin:18px 0 0;padding:0;border:0;background:transparent}.warehouse-health-choice legend{padding:0;font-size:.82rem}
.warehouse-health-choice>section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.warehouse-health-choice label{position:relative;margin:0;cursor:pointer}.warehouse-health-choice label>input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.warehouse-health-choice label>span{display:block;min-height:76px;padding:12px 13px;border:1px solid #dce4ed;border-radius:11px;background:#fff;transition:.15s}
.warehouse-health-choice label b,.warehouse-health-choice label small{display:block}.warehouse-health-choice label b{font-size:.82rem}.warehouse-health-choice label small{margin-top:4px;color:#718096;font-size:.67rem;line-height:1.4;font-weight:450}
.warehouse-health-choice input[value="live"]:checked+span{border-color:#86d6a3;background:#effaf3;box-shadow:0 0 0 2px rgba(22,163,74,.1)}.warehouse-health-choice input[value="live"]:checked+span b{color:#15803d}
.warehouse-health-choice input[value="die"]:checked+span{border-color:#fca5a5;background:#fff5f5;box-shadow:0 0 0 2px rgba(220,38,38,.08)}.warehouse-health-choice input[value="die"]:checked+span b{color:#b91c1c}
.warehouse-health-choice input:focus-visible+span{outline:2px solid #38bdf8;outline-offset:2px}
.warehouse-health-choice>p{margin:8px 0 0;color:#7a8698;font-size:.67rem;line-height:1.45}
.warehouse-edit-actions{flex:0 0 auto;margin:0;padding:13px 22px 17px;border-top:1px solid #e7edf4;background:#fff;box-shadow:0 -8px 22px rgba(15,35,65,.035)}
@media(max-width:620px){.account-history-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}.account-history-header{padding:16px 15px 14px}.account-history-list{max-height:calc(100dvh - 151px);padding:14px 15px 4px}.account-history-item{grid-template-columns:30px minmax(0,1fr);gap:9px}.account-history-item:not(:last-child):before{left:14px;top:29px}.account-history-marker{width:30px;height:30px;border-radius:9px}.account-history-item header{display:block}.account-history-item time{display:block;margin-top:2px}.account-history-actions{padding:10px 15px 14px}.account-history-actions .button{width:100%}.warehouse-edit-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}.warehouse-edit-form{max-height:calc(100dvh - 14px)}.warehouse-edit-header{padding:16px 15px 14px}.warehouse-edit-body{padding:15px}.warehouse-edit-grid,.warehouse-health-choice>section{grid-template-columns:1fr}.warehouse-parent-field{grid-column:auto}.warehouse-edit-section{margin-top:14px;padding:12px}.warehouse-edit-section .form-grid.two{grid-template-columns:1fr}.warehouse-edit-modal input,.warehouse-edit-modal select{font-size:16px}.warehouse-edit-actions{padding:11px 15px 14px}.warehouse-edit-actions .button{flex:1}}
@media(max-width:620px){.account-history-source>a{min-height:40px;padding:7px 10px}}

/* Dashboard tài chính */
.finance-heading{margin-bottom:14px}.finance-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:15px;padding:12px 14px}.finance-range-tabs{display:flex;padding:3px;border-radius:10px;background:#eef3f8}.finance-range-tabs a{padding:7px 13px;border-radius:8px;color:#607086;font-size:.75rem;font-weight:800}.finance-range-tabs a.active{background:#fff;color:#0879a9;box-shadow:0 2px 8px rgba(15,35,65,.1)}.finance-anchor-form{display:flex;align-items:end;gap:7px}.finance-anchor-form label{width:155px;margin:0}.finance-anchor-form label span{display:block;color:var(--muted);font-size:.62rem}.finance-anchor-form input{margin-top:2px;padding:.48rem .62rem}.finance-anchor-form .icon-button{width:34px;height:34px;font-size:1.25rem}.finance-period-label{justify-self:end;color:#334155;font-size:.8rem;white-space:nowrap}.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.finance-kpi{display:flex;align-items:center;gap:12px;min-width:0;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.finance-kpi>span{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:11px;font-weight:900}.finance-kpi section{min-width:0}.finance-kpi small,.finance-kpi strong,.finance-kpi em{display:block}.finance-kpi small{color:#6b7788;font-size:.68rem}.finance-kpi strong{margin:2px 0;color:#14233a;font-size:1.25rem;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-kpi em{overflow:hidden;color:#8792a2;font-size:.64rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.finance-kpi.revenue>span{background:#e8f8ef;color:#15803d}.finance-kpi.cost>span{background:#fff1f2;color:#dc2626}.finance-kpi.profit>span{background:#e6f7fd;color:#0284c7}.finance-kpi.margin>span{background:#f3e8ff;color:#7e22ce}.finance-kpi.profit.negative{border-color:#fecaca;background:#fffafa}.finance-kpi.profit.negative strong{color:#dc2626}.finance-chart-card{margin-bottom:15px;overflow:hidden}.finance-chart-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.65rem}.finance-chart-legend i{width:8px;height:8px;margin-left:7px;border-radius:3px}.finance-chart-legend i:first-child{margin-left:0}.finance-chart .is-revenue,.finance-chart-legend .is-revenue{background:#0ea5e9}.finance-chart .is-cost,.finance-chart-legend .is-cost{background:#fb7185}.finance-chart .is-profit,.finance-chart-legend .is-profit{background:#22c55e}.finance-chart .is-profit.is-negative{background:#dc2626}.finance-chart{display:flex;align-items:stretch;gap:5px;min-height:220px;padding:12px 2px 0;overflow-x:auto}.finance-chart>article{display:grid;grid-template-rows:minmax(170px,1fr) auto;flex:1 0 25px;min-width:25px;text-align:center}.finance-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid #dbe3ec;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f0f3f7 40px)}.finance-bars i{display:block;width:6px;height:var(--bar);max-height:100%;min-height:2px;border-radius:3px 3px 0 0}.finance-chart>article>small{padding-top:6px;color:#7b8797;font-size:.58rem;white-space:nowrap}.finance-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:15px;margin-bottom:15px}.finance-cost-breakdown dl{margin:0}.finance-cost-breakdown dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.finance-cost-breakdown dl>div:last-child{border-bottom:0}.finance-cost-breakdown dt span,.finance-cost-breakdown dt small{display:block}.finance-cost-breakdown dt span{font-size:.77rem;font-weight:750}.finance-cost-breakdown dt small{margin-top:2px;color:var(--muted);font-size:.63rem}.finance-cost-breakdown dd{margin:0;font-size:.82rem;font-weight:850;font-variant-numeric:tabular-nums}.recurring-expense-list{max-height:300px;margin:0;padding:0;overflow:auto;list-style:none}.recurring-expense-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.recurring-expense-list li:last-child{border-bottom:0}.recurring-expense-list span strong,.recurring-expense-list span small{display:block}.recurring-expense-list span strong{font-size:.76rem}.recurring-expense-list span small{margin-top:2px;color:var(--muted);font-size:.62rem}.recurring-expense-list b{font-size:.77rem;font-variant-numeric:tabular-nums}.recurring-expense-list em{color:var(--muted);font-size:.65rem;font-style:normal}.recurring-expense-list .is-stopped{opacity:.55}.finance-cost-table{padding:0}.finance-cost-table>.card-header{padding:17px 19px 9px}.finance-cost-table td>small,.finance-cost-table td>a+small{display:block;margin-top:2px;color:var(--muted);font-size:.63rem}.expense-modal{width:min(580px,calc(100vw - 28px))}
@media(max-width:1000px){.finance-toolbar{grid-template-columns:1fr auto}.finance-period-label{grid-column:1/-1;grid-row:1;text-align:left}.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-columns{grid-template-columns:1fr}.finance-chart>article{flex-basis:31px}}
@media(max-width:620px){.finance-heading .heading-actions{display:grid;grid-template-columns:1fr 1fr}.finance-toolbar{display:block;padding:10px}.finance-range-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.finance-range-tabs a{padding:8px 4px;text-align:center}.finance-anchor-form{display:grid;grid-template-columns:34px minmax(0,1fr) auto 34px;margin-top:10px}.finance-anchor-form label{width:auto}.finance-anchor-form .button-ghost{grid-column:1/-1}.finance-period-label{display:block;margin-top:8px;text-align:center}.finance-kpis{grid-template-columns:1fr 1fr;gap:8px}.finance-kpi{align-items:flex-start;padding:12px 11px}.finance-kpi>span{display:none}.finance-kpi strong{font-size:1rem}.finance-kpi em{white-space:normal}.finance-chart-card{padding:14px}.finance-chart-card .card-header{display:block}.finance-chart-legend{margin-top:8px}.finance-chart{min-height:190px}.finance-chart>article{grid-template-rows:145px auto}.finance-cost-table>.card-header{display:block}.finance-cost-table>.card-header .button{width:100%;margin-top:9px}.recurring-expense-list li{grid-template-columns:minmax(0,1fr) auto}.recurring-expense-list form,.recurring-expense-list em{grid-column:1/-1}.expense-modal input,.expense-modal select,.expense-modal textarea{font-size:16px}}

/* v1.10.0 · bảo hành theo từng đơn */
.warranty-tab{background:linear-gradient(135deg,#fff,#fff7fb)}.warranty-tab-alert{background:#fce7f3;color:#be185d}
.warranty-order-button,.warranty-order-link{border-radius:7px!important;color:#be185d!important;background:#fff1f7!important}.warranty-order-button:hover,.warranty-order-link:hover{background:#fce7f3!important;color:#9d174d!important}
.warranty-open-modal,.warranty-action-modal{width:min(650px,calc(100vw - 28px))}.warranty-open-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.warranty-open-summary>span{padding:11px;border:1px solid #f3d7e5;border-radius:10px;background:#fff8fb}.warranty-open-summary small,.warranty-open-summary strong{display:block}.warranty-open-summary small{color:#8b6577;font-size:.67rem}.warranty-open-summary strong{margin-top:3px;color:#52263b;font-size:.78rem;overflow-wrap:anywhere}.warranty-callout{border-color:#f3c6da;background:#fff4f9;color:#7a2e50}.warranty-primary-button{border-color:#db2777;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;box-shadow:0 7px 18px rgba(219,39,119,.2)}.warranty-primary-button:hover{color:#fff}
.warranty-open-refund{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #f1c7db;border-radius:12px;background:linear-gradient(135deg,#fff0f7,#fff9fc)}.warranty-open-refund small,.warranty-open-refund strong,.warranty-open-refund em{display:block}.warranty-open-refund small{color:#99536f;font-size:.68rem}.warranty-open-refund strong{margin:1px 0;color:#be185d;font-size:1.4rem;line-height:1.25}.warranty-open-refund em{color:#8b6577;font-size:.67rem;font-style:normal}.warranty-copy-button{flex:0 0 auto;border-color:#efb7d1;background:#fff;color:#a91859}.warranty-copy-button:hover{border-color:#ec4899;background:#fff5fa;color:#9d174d}.warranty-copy-button span{margin-right:5px;font-size:1rem}.warranty-direct-refund-button{border-color:#ef4444;background:#fff;color:#dc2626}.warranty-direct-refund-button:hover{border-color:#dc2626;background:#fff1f2;color:#b91c1c}.warranty-direct-refund-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.warranty-open-actions{flex-wrap:wrap}
.warranty-context{border-color:#f4c2da;background:linear-gradient(110deg,#fff0f7,#fff)}.warranty-sheet table{min-width:980px}.warranty-row.is-focused>td{background:#fff5fa}.warranty-row.is-focused>td:first-child{box-shadow:inset 3px 0 0 #ec4899}.warranty-die-date{color:#b91c1c!important;font-weight:700!important}.warranty-die-compare{color:#8a6d3b!important}.warranty-issue-inline{display:block;max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c6470!important}.warranty-refund-amount{color:#be185d;font-size:.95rem}.warranty-stock-empty{color:#b91c1c}.warranty-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.warranty-waiting-badge{display:inline-flex;margin-top:4px;padding:2px 7px;border:1px solid #f4bed8;border-radius:999px;background:#fff0f7;color:#be185d;font-size:.63rem;font-weight:800}.warranty-replace-button{border-color:#f0a8cb;background:#fff;color:#be185d}.warranty-replace-button:hover{border-color:#ec4899;background:#fff1f7;color:#9d174d}.warranty-refund-button{border-color:#db2777;background:#db2777;color:#fff;box-shadow:0 6px 15px rgba(219,39,119,.17)}.warranty-refund-button:hover{background:#be185d;color:#fff}.warranty-replace-button:disabled,.warranty-refund-button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.warranty-empty{text-align:center;padding:42px}.warranty-empty>span{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:#fce7f3;color:#be185d;font-size:1.25rem;font-weight:900}.warranty-empty h2,.warranty-empty p{margin-bottom:4px}.warranty-empty p{color:var(--muted);font-size:.77rem}.warranty-refund-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #f1c7db;border-radius:12px;background:#fff4f9}.warranty-refund-confirm small,.warranty-refund-confirm strong{display:block}.warranty-refund-confirm small{color:#99536f;font-size:.68rem}.warranty-refund-confirm strong{color:#be185d;font-size:1.45rem}.warranty-refund-confirm p{margin:0;color:#7a2e50;font-size:.75rem;font-weight:700;text-align:right}
.warranty-finish-modal{width:min(690px,calc(100vw - 28px))}.warranty-finish-modal [hidden]{display:none!important}.warranty-finish-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.warranty-finish-facts span{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}.warranty-finish-facts small,.warranty-finish-facts strong{display:block}.warranty-finish-facts small{color:#64748b;font-size:.65rem}.warranty-finish-facts strong{margin-top:2px;color:#172033;font-size:.82rem}.warranty-finish-guidance{margin:0;padding:10px 12px;border:1px solid #dbe5ef;border-radius:10px;background:#f8fafc;color:#526277;font-size:.75rem}.warranty-finish-guidance.is-early{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.warranty-finish-guidance.is-near{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.warranty-finish-choices{display:grid;gap:7px;margin:0;padding:0;border:0}.warranty-finish-choices legend{margin-bottom:6px;color:#374151;font-size:.72rem;font-weight:800}.warranty-finish-choices label{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.warranty-finish-choices label:hover{border-color:#f0a8cb;background:#fff9fc}.warranty-finish-choices label:has(input:checked){border-color:#ec4899;background:#fff1f7;box-shadow:0 0 0 2px rgba(236,72,153,.09)}.warranty-finish-choices label.is-no-refund:has(input:checked){border-color:#f87171;background:#fff1f2;box-shadow:0 0 0 2px rgba(248,113,113,.09)}.warranty-finish-choices input[type=radio]{width:16px;height:16px;min-width:16px;flex:0 0 16px;padding:0;margin:1px 0 0;border-radius:50%;box-shadow:none;accent-color:#db2777}.warranty-finish-choices span{min-width:0;flex:1}.warranty-finish-choices strong,.warranty-finish-choices small{display:block}.warranty-finish-choices strong{font-size:.78rem}.warranty-finish-choices small{margin-top:2px;color:#64748b;font-size:.67rem}.warranty-finish-choices b{padding:2px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.58rem;white-space:nowrap}.warranty-finish-choices b.is-recommended{background:#dbeafe;color:#1d4ed8}.warranty-finish-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #f1c7db;border-radius:11px;background:#fff4f9}.warranty-finish-summary small,.warranty-finish-summary strong{display:block}.warranty-finish-summary small{color:#99536f;font-size:.65rem}.warranty-finish-summary strong{color:#be185d;font-size:1.35rem}.warranty-finish-summary p{max-width:55%;margin:0;color:#7a2e50;font-size:.7rem;font-weight:700;text-align:right}.warranty-refund-button.is-no-refund{border-color:#dc2626;background:#dc2626}.warranty-refund-button.is-no-refund:hover{background:#b91c1c}
@media(max-width:850px){.warranty-task-body{grid-template-columns:1fr}.warranty-facts{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto}.warranty-task-actions{align-items:stretch;flex-wrap:wrap}.warranty-task-actions>span{width:100%}.warranty-task-actions .button{flex:1}.warranty-open-summary{grid-template-columns:1fr}}
@media(max-width:560px){.task-main-tabs .product-tab{min-width:235px}.warranty-task-header{padding:14px}.warranty-task-header{display:block}.warranty-waiting-badge{display:inline-flex;margin-top:9px}.warranty-task-body{padding:14px;gap:12px}.warranty-facts{display:grid;grid-template-columns:1fr;overflow:visible}.warranty-issue{margin:0 14px 12px}.warranty-task-actions{display:grid;grid-template-columns:1fr;padding:12px 14px}.warranty-task-actions .button{width:100%}.warranty-no-account{padding:0 14px 12px;text-align:left}.warranty-action-modal,.warranty-open-modal{width:calc(100vw - 14px);padding:16px}.warranty-action-modal select,.warranty-action-modal textarea,.warranty-open-modal textarea{font-size:16px}.warranty-refund-confirm,.warranty-open-refund{align-items:flex-start;flex-direction:column}.warranty-refund-confirm p{text-align:left}.warranty-copy-button{width:100%}.warranty-open-actions{display:grid;grid-template-columns:1fr}.warranty-open-actions .button{width:100%}}
@media(max-width:560px){.warranty-finish-facts{grid-template-columns:1fr}.warranty-finish-summary{align-items:flex-start;flex-direction:column}.warranty-finish-summary p{max-width:none;text-align:left}.warranty-finish-choices label{align-items:flex-start}.warranty-finish-choices label>b{margin-left:auto}}

/* v1.72.0 · hai cách tính tiền và nội dung gửi khách dùng chung */
.warranty-calculation{display:grid;gap:8px;min-width:0}.warranty-calculation [hidden]{display:none!important}.warranty-calculation-date,.warranty-calculation-note{margin:0;color:#7c6470;font-size:.7rem;line-height:1.45}.warranty-calculation-choices{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.warranty-calculation-choices legend{margin-bottom:5px;color:#52263b;font-size:.74rem;font-weight:750}.warranty-calculation-choices label{display:flex;align-items:center;gap:9px;min-height:44px;margin:0;padding:8px 10px;border:1px solid #e2d9df;border-radius:8px;background:#fff;cursor:pointer}.warranty-calculation-choices label:has(input:checked){border-color:#db2777;background:#fff1f7}.warranty-calculation-choices label.is-unavailable{opacity:.6;cursor:default}.warranty-calculation-choices input[type=radio]{width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:0;padding:0;border-radius:50%;box-shadow:none;accent-color:#db2777}.warranty-calculation-choices label>span{flex:1;min-width:0}.warranty-calculation-choices strong,.warranty-calculation-choices small{display:block}.warranty-calculation-choices strong{font-size:.77rem}.warranty-calculation-choices small{margin-top:2px;color:#7c6470;font-size:.67rem;overflow-wrap:anywhere}.warranty-calculation-choices label>b{color:#be185d;font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}.warranty-calculation-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;margin:0;padding:9px 11px;border:1px solid #f1c7db;border-radius:8px;background:#fff4f9}.warranty-calculation-value dt{color:#7c6470;font-size:.68rem}.warranty-calculation-value dd{margin:0;text-align:right;color:#52263b;font-size:.72rem}.warranty-calculation-value dd[data-warranty-calculation-amount]{color:#be185d;font-size:1.15rem;font-weight:800}.warranty-calculation-details,.warranty-copy-preview{font-size:.7rem;color:#6d4a5b}.warranty-calculation-details summary,.warranty-copy-preview summary{min-height:28px;display:flex;align-items:center;cursor:pointer;gap:6px}.warranty-calculation-details summary::before,.warranty-copy-preview summary::before{content:'▸'}.warranty-calculation-details[open] summary::before,.warranty-copy-preview[open] summary::before{content:'▾'}.warranty-calculation-details p,.warranty-copy-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 6px;line-height:1.5}.warranty-copy-preview p{max-height:190px;overflow-y:auto;padding:9px 10px;border:1px solid #eadde5;border-radius:7px;background:#faf8f9;color:#3f3340}.warranty-calculation-details small,.warranty-copy-preview small{display:block;color:#8b6577;font-size:.65rem}.warranty-calculation .warranty-copy-actions{justify-content:flex-end;gap:6px}.warranty-calculation .warranty-copy-actions .button{min-height:34px;padding:6px 10px;font-size:.72rem}.warranty-calculation .warranty-copy-actions [aria-pressed=true]{border-color:#db2777}.warranty-finish-summary [data-warranty-finish-detail]{white-space:pre-line;font-weight:500}.warranty-open-modal .warranty-open-summary>span{padding:7px 9px}.warranty-resolution-copy p{max-height:190px;overflow-y:auto;overflow-wrap:anywhere}
@media(max-width:560px){.warranty-calculation-choices label{flex-wrap:wrap;gap:6px 8px}.warranty-calculation-choices label>b{margin-left:24px}.warranty-calculation-choices label>span{flex-basis:calc(100% - 26px)}.warranty-calculation .warranty-copy-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.warranty-calculation .warranty-copy-actions .button{width:100%;min-height:44px;padding:7px 5px;font-size:.68rem}.warranty-calculation-details summary,.warranty-copy-preview summary{min-height:40px}.warranty-open-actions .button{min-height:44px}.warranty-calculation-value{padding:8px}.warranty-calculation-value dd[data-warranty-calculation-amount]{font-size:1rem}}

/* v1.10.2 · gom tùy chọn đơn hàng vào cây bút */
.order-manage-trigger{border:1px solid transparent!important}.order-manage-trigger:hover{border-color:#bae6fd!important;background:#f0f9ff!important}
.order-manage-modal{width:min(960px,calc(100vw - 28px));height:min(780px,calc(100dvh - 24px));max-height:none;padding:0;overflow:hidden;background:#f8fafc}.order-manage-modal[open]{display:flex;flex-direction:column}.order-manage-header{flex:0 0 auto;margin:0;padding:14px 18px 12px;border-bottom:1px solid #e4eaf1;background:linear-gradient(135deg,#f5fbff,#fff)}.order-manage-header hgroup{min-width:0}.order-manage-header h2{margin-top:2px;font-size:1.12rem}.order-manage-header p{display:grid;gap:1px;margin-top:4px}.order-manage-header p strong{color:#26354d;font-size:.76rem}.order-manage-header p span{color:#728093;font-size:.68rem}.order-manage-eyebrow{display:block;color:#0284c7;font-size:.61rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.order-manage-modal>.callout{flex:0 0 auto;margin:10px 14px 0}
.order-manage-options{flex:1 1 auto;display:grid;gap:10px;min-height:0;overflow-y:auto;padding:12px 14px}.order-manage-renew-form{display:grid;gap:10px}.order-manage-renew-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.order-manage-renew-fields,.order-manage-review{min-width:0;border:1px solid #dfe6ee;border-radius:12px;background:#fff}.order-manage-renew-fields{gap:10px;padding:13px}.order-manage-section-heading h3,.order-manage-review h3{margin:0;color:#21334b;font-size:.86rem}.order-manage-section-heading small,.order-manage-review>header small{display:block;margin-top:2px;color:#758395;font-size:.64rem}.order-manage-duration-fields{gap:8px}.order-manage-duration-presets{display:flex;gap:6px;flex-wrap:wrap}.order-manage-duration-presets button{min-height:34px;padding:6px 12px;border:1px solid #d5dee8;border-radius:8px;background:#fff;color:#34465e;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.order-manage-duration-presets button:hover,.order-manage-duration-presets button[aria-pressed="true"]{border-color:#0ea5e9;background:#edf8ff;color:#0369a1}.order-manage-amount>small{display:block;margin-top:3px;color:#788596;font-size:.62rem}.order-manage-vat-option{margin:0}.order-manage-additional{border:1px solid #e0e6ed;border-radius:9px;background:#fbfcfd}.order-manage-additional>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:7px 10px;cursor:pointer;list-style:none}.order-manage-additional>summary::-webkit-details-marker{display:none}.order-manage-additional>summary span{display:grid;gap:1px}.order-manage-additional>summary strong{font-size:.72rem}.order-manage-additional>summary small{color:#7a8797;font-size:.61rem}.order-manage-additional>summary>b{color:#526276;font-size:.7rem}.order-manage-additional>div{padding:10px;border-top:1px solid #e8edf2}
.order-manage-review{position:sticky;top:0;display:grid;gap:9px;padding:13px;background:linear-gradient(145deg,#f5fbff,#eefaff)}.order-manage-duration-review{display:grid;gap:3px;margin:0;padding:11px;border:1px solid #cceafa;border-radius:9px;background:#e8f7ff;text-align:center}.order-manage-duration-review span{color:#63768b;font-size:.62rem}.order-manage-duration-review strong{color:#133557;font-size:.86rem}.order-manage-duration-review strong b{font:inherit}.order-manage-date-review{display:grid;gap:7px;margin:0}.order-manage-date-review>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.order-manage-date-review dt{color:#5e7084;font-size:.68rem}.order-manage-date-review dd{margin:0;color:#21334b;font-size:.76rem;font-weight:750}.order-manage-date-review .is-new{padding:10px;border:1px solid #bde5ca;border-radius:9px;background:#effbf3}.order-manage-date-review .is-new dt{color:#166534;font-weight:750}.order-manage-date-review .is-new dd{color:#166534;font-size:1.04rem}.order-manage-review .payment-summary-card{gap:7px;padding:9px;background:rgba(255,255,255,.72)}.order-manage-review .payment-summary-head{display:none}.order-manage-review .payment-money-summary{grid-template-columns:1fr 1fr}.order-manage-review .payment-money-summary>div:first-child{grid-column:1/-1}.order-manage-review .payment-summary-help{margin-top:0}
.order-manage-utility{border:1px solid #dfe6ee;border-radius:10px;background:#fff;overflow:hidden}.order-manage-utility>summary{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:10px;align-items:center;min-height:44px;padding:8px 11px;cursor:pointer;list-style:none}.order-manage-utility>summary::-webkit-details-marker{display:none}.order-manage-utility>summary strong,.order-manage-utility>summary small{display:block}.order-manage-utility>summary strong{color:#2b3d54;font-size:.75rem}.order-manage-utility>summary small{margin-top:1px;color:#7a8797;font-size:.62rem}.order-manage-utility>summary>b{color:#94a3b8;font-size:1.1rem;transition:.15s}.order-manage-utility[open]>summary>b{transform:rotate(90deg)}.order-manage-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:.88rem;font-weight:850}.order-manage-icon.is-qr{background:#e8f8f6;color:#0f8b83}.order-manage-icon.is-other{background:#f1f3f6;color:#64748b;font-size:.65rem;letter-spacing:.03em}.order-manage-qr-body{padding:0 10px 10px;border-top:1px solid #edf0f4}.order-manage-qr-body>.payment-qr-inline{width:100%;margin:10px 0 0;box-sizing:border-box}.order-manage-qr-body>.payment-qr-inline>header{display:none}.order-manage-other-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.75fr);gap:10px;padding:10px;border-top:1px solid #edf0f4;background:#fbfcfd}.order-manage-other-body>section{min-width:0;padding:11px;border:1px solid #e1e7ed;border-radius:9px;background:#fff}.order-manage-other-body>section>header{display:grid;gap:2px;margin-bottom:9px}.order-manage-other-body>section>header strong{font-size:.75rem}.order-manage-other-body>section>header small{color:#798696;font-size:.62rem}.order-manage-current{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;padding:8px 10px;border-radius:8px;background:#eef7fb;color:#607083;font-size:.67rem}.order-manage-current strong{color:#075985;font-size:.74rem}.order-manage-help{margin:7px 0;color:#6d798a;font-size:.64rem;line-height:1.45}.order-manage-submit.is-swap{width:100%;border-color:#0284c7;background:#0284c7;color:#fff}.order-manage-submit.is-renew{display:inline-flex;align-items:center;justify-content:center;gap:4px;border-color:#16a34a;background:#16a34a;color:#fff}.order-manage-submit-summary,.order-manage-submit-summary b{font:inherit}.order-manage-submit:hover{color:#fff}.order-manage-submit:disabled{opacity:.48;cursor:not-allowed;transform:none}.order-manage-return{display:grid;gap:9px}.order-manage-return p{margin:0;color:#687487;font-size:.66rem;line-height:1.45}.order-manage-footer{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(300px,auto);align-items:center;gap:8px;margin:0;padding:9px 14px 11px;border-top:1px solid #e4eaf1;background:#fff}.order-manage-footer>small{color:#748295;font-size:.62rem}.order-manage-footer .order-manage-submit{margin:0;white-space:normal}
@media(max-width:760px){.order-manage-modal{width:calc(100vw - 14px);height:calc(100dvh - 14px)}.order-manage-header{padding:12px 14px 10px}.order-manage-options{padding:10px}.order-manage-renew-layout{grid-template-columns:1fr}.order-manage-review{position:static}.order-manage-other-body{grid-template-columns:1fr}.order-manage-modal input,.order-manage-modal select{font-size:16px}.order-manage-footer{grid-template-columns:auto minmax(0,1fr);padding:8px 10px 10px}.order-manage-footer>small{display:none}.order-manage-footer .button{min-height:44px}.order-manage-footer .order-manage-submit{width:100%}}
@media(max-width:420px){.order-manage-header p span{white-space:normal}.order-manage-options{padding:8px}.order-manage-renew-fields,.order-manage-review{padding:10px}.order-manage-duration-fields{grid-template-columns:1fr 1fr}.order-manage-duration-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.order-manage-duration-presets button{min-height:40px}.order-manage-utility>summary{grid-template-columns:32px minmax(0,1fr) 14px;padding:8px}.order-manage-utility>summary small{line-height:1.35}.order-manage-footer{grid-template-columns:76px minmax(0,1fr)}.order-manage-footer .button{padding-inline:8px;font-size:.68rem}.order-manage-footer .order-manage-submit{flex-direction:column;gap:1px;line-height:1.25}.order-manage-submit-summary{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;font-size:.6rem}.order-manage-review .payment-money-summary{grid-template-columns:1fr 1fr}}

/* v1.21.0 · kho lịch sử TK Die chỉ gồm nội dung chữ/số */
.die-archive-tab{border-color:#fecaca;background:linear-gradient(135deg,#fff7f7,#fff)}
.die-archive-tab strong{color:#b91c1c}.die-archive-tab .product-tab-swatch{background:linear-gradient(180deg,#ef4444,#b91c1c)}
.die-archive-tab:hover,.die-archive-tab.active{border-color:#dc2626;background:#fff1f2;box-shadow:inset 0 -3px #dc2626,0 7px 18px rgba(185,28,28,.1)}
.die-archive-heading{margin-bottom:16px}.die-archive-heading h1{color:#b91c1c}.die-archive-heading p{max-width:850px}
.die-archive-toolbar{margin-bottom:14px}.die-archive-toolbar .orders-toolbar-search{width:100%}.die-product-filter{min-width:210px;margin:0}.die-product-filter select{height:40px;margin:0}
.die-archive-table table{min-width:1240px}.die-archive-table th:nth-child(1){width:145px}.die-archive-table th:nth-child(4){width:220px}.die-archive-table th:nth-child(6){width:285px}.die-archive-table th:nth-child(7){width:230px}
.die-archive-table tbody tr{box-shadow:inset 3px 0 #d1d5db}.die-archive-table tr.die-row-pending{background:#fff9f9;box-shadow:inset 3px 0 #ef4444}.die-archive-table tr.die-row-resolved{background:#fcfdfc;box-shadow:inset 3px 0 #86c99d}
.die-archive-table td{vertical-align:top}.die-archive-table td>p{max-width:270px;margin:5px 0 0;color:#5f6b7b;font-size:.73rem;line-height:1.45;white-space:normal}.die-archive-table td>.copy-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.die-product-pill{--tag:#dc2626;color:#991b1b}.die-impact-cell ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.die-impact-cell li{padding:7px 8px;border:1px solid #edf0f4;border-radius:8px;background:#fff}.die-impact-cell li span,.die-impact-cell li small{display:block}.die-impact-cell li span{font-size:.74rem;font-weight:750}.die-impact-cell li small{font-size:.65rem}.die-impact-cell a{overflow-wrap:anywhere}
.die-account-readonly{max-width:900px;margin-right:auto;margin-left:auto;border-color:#fecaca}.die-account-readonly .account-form-identity{border-bottom-color:#fee2e2}.die-account-readonly>.muted{margin:14px 0 0;font-size:.76rem}
.button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}
@media(max-width:700px){.die-archive-toolbar .orders-toolbar-search{align-items:stretch;flex-direction:column}.die-archive-toolbar .search-box,.die-product-filter{width:100%;min-width:0}.die-archive-toolbar .button{width:100%}.die-account-readonly .form-actions{display:grid;grid-template-columns:1fr}.die-account-readonly .form-actions .button{width:100%}}

/* v1.14.0 · xuất Kho tài khoản linh động, an toàn cho Google Sheets/Excel */
.account-export-modal{width:min(720px,calc(100vw - 28px))}.account-export-modal fieldset{margin-bottom:14px}.account-export-modal legend{padding:0 5px;font-size:.82rem;font-weight:800}.account-export-scope>section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-export-scope label,.account-export-option{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 11px;border:1px solid #dfe6ee;border-radius:10px;background:#fff;cursor:pointer}.account-export-scope input,.account-export-option input{flex:0 0 auto;width:auto;margin:2px 0 0}.account-export-scope strong,.account-export-scope small,.account-export-option strong,.account-export-option small{display:block}.account-export-scope small,.account-export-option small{margin-top:2px;color:var(--muted);font-size:.65rem;font-weight:450}.account-export-scope label:has(input:checked),.account-export-option:has(input:checked){border-color:#8bd1ee;background:#f0f9fd;box-shadow:0 0 0 2px rgba(14,165,233,.07)}.account-export-fields>nav{display:flex;justify-content:flex-end;gap:8px;margin:-5px 0 8px}.account-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:2px}.account-export-option{font-size:.76rem;font-weight:650}.account-export-option span{min-width:0}.account-export-option strong{overflow-wrap:anywhere}.account-export-modal>.form-stack{margin:0}
@media(max-width:620px){.account-export-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);padding:16px}.account-export-scope>section,.account-export-grid{grid-template-columns:1fr}.account-export-grid{max-height:36dvh}.account-export-fields>nav{justify-content:flex-start;flex-wrap:wrap}.account-export-modal .form-actions{position:sticky;bottom:-16px;margin:14px -16px -16px;padding:11px 16px 15px;border-top:1px solid var(--line);background:#fff}}

/* v1.16.0 · Dán nhanh nhớ bố cục cột theo từng nhóm */
.col-map-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;padding:0;border:0;background:none}
.col-map-memo{color:#64748b;font-size:.72rem;line-height:1.5}
.col-map-memo.is-unsaved{color:#b45309;font-weight:700}
.col-map-memo .link-button{font-size:.72rem}
@media(max-width:620px){.col-map-actions{align-items:flex-start;flex-direction:column;gap:7px}}
@media(max-width:620px){.import-source-card .col-map-list{display:grid;grid-template-columns:minmax(0,1fr)}.import-source-card .col-map-row{width:100%;min-width:0}.import-source-card .col-map-row select{min-width:0;flex:1}.import-source-card .col-drag{width:28px;height:32px;display:grid;place-items:center}}

/* v1.22.0 · Ngôn ngữ giao diện dữ liệu gọn, phẳng và nhất quán */
:root{--app-sheet-h:40px;--radius:12px;--shadow:0 5px 18px rgba(15,35,65,.055)}
.brand{height:60px;padding-inline:18px}.brand-logo{width:42px;height:42px;flex-basis:42px}.topbar{height:60px;padding-inline:24px}.topbar-title strong{font-weight:650}.main-content{width:100%;max-width:none;margin:0;padding:18px 24px}.footer{padding:10px 24px 14px}
.page-heading{align-items:center;gap:16px;margin-bottom:14px}.page-heading h1{font-size:1.35rem;font-weight:650;margin-bottom:.2rem}.page-heading p{font-size:.79rem}.heading-actions{gap:8px}
.button{border-radius:8px;padding:.54rem .82rem;font-size:.8rem;font-weight:600;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.button:hover{transform:none}.button-primary{background:#0284c7;border-color:#0275b3;box-shadow:none}.button-primary:hover{background:#0369a1}.button-secondary{border-color:#cfd8e5}.button-small{padding:.42rem .68rem}.button-large{padding:.68rem 1rem;font-size:.88rem}
.card{border-radius:11px;box-shadow:var(--shadow);padding:17px;margin-bottom:14px}.table-card{padding:0;border-color:#dce3ec;border-radius:10px;box-shadow:var(--shadow)}
.filter-bar{gap:8px;align-items:center;margin-bottom:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.filter-bar select,.filter-bar input{height:36px}.filter-bar .search-box{height:36px}.search-box{min-width:220px;border-radius:8px;padding-inline:10px}.search-box input{height:34px!important;margin:0}.filter-bar-compact{padding:0;margin-bottom:10px}.customers-filter-bar{padding:0;gap:14px}.transaction-window{height:36px}.customer-filter-group{gap:7px}
.status-tabs{display:inline-flex;width:max-content;max-width:100%;gap:3px;margin-bottom:10px;padding:3px;border-radius:9px;background:#e8edf4;overflow-x:auto}.status-tabs a{min-height:29px;padding:.35rem .65rem;border:0;border-radius:6px;background:transparent;font-size:.75rem;font-weight:600}.status-tabs a:hover{background:#f5f8fb}.status-tabs a b{padding:.04rem .34rem;background:rgba(100,116,139,.11);font-weight:600;font-variant-numeric:tabular-nums}.status-tabs a.active{background:var(--navy);border:0;box-shadow:0 1px 2px rgba(7,22,42,.18)}.status-tabs a.active b{background:rgba(255,255,255,.16);color:#d9e8f7}.status-tabs a.danger-tab.active{background:#c92f36}
.account-state-filters{margin-bottom:9px}.account-filter-caption{font-size:.64rem;font-weight:700}.filter-summary{margin:-2px 0 8px;font-size:.74rem}
table{border-collapse:separate;border-spacing:0}th,td{padding:8px 10px}th{position:sticky;top:0;z-index:3;font-size:.68rem;text-transform:none;letter-spacing:.01em;font-weight:650;color:#69778b;background:#f7f9fc;box-shadow:inset 0 -1px var(--line)}td{font-size:.79rem}tbody tr:hover{background:#f8fbfd}.row-unpaid{background:transparent!important;box-shadow:none!important}.row-unpaid td:first-child{box-shadow:inset 3px 0 #ef4444}.row-unpaid:hover{background:#fffafa!important}
.page-accounts .table-card td,.page-accounts-all .table-card td,.page-accounts-die .table-card td,.page-orders .table-card td,.page-orders-all .table-card td,.page-customers .table-card td{padding-top:5px;padding-bottom:5px;white-space:nowrap}.page-accounts .table-card td small,.page-accounts-all .table-card td small,.page-accounts-die .table-card td small,.page-orders .table-card td small,.page-orders-all .table-card td small,.page-customers .table-card td small{display:inline;margin:.05rem 0 0 .32rem}.page-accounts .warehouse-table table,.page-accounts-all .warehouse-table table,.page-accounts-die .warehouse-table table{min-width:1180px}.page-customers .table-card table{min-width:980px}
.badge{padding:.19rem .47rem;font-size:.66rem;font-weight:650}.table-action{font-size:.77rem;font-weight:600;padding:.26rem .4rem}.table-action.primary{border-radius:6px;background:transparent}.table-action.primary:hover{background:#e7f5fb}.table-action.primary.create-order-inline{color:#718096}.table-wrap tbody tr:hover .table-action.primary.create-order-inline{color:#036b9f}.table-actions{gap:3px}.ord-act,.warehouse-edit-trigger{opacity:.34;transition:opacity .12s ease,background .12s ease}.table-wrap tbody tr:hover .ord-act,.table-wrap tbody tr:hover .warehouse-edit-trigger,.ord-act:focus-visible,.warehouse-edit-trigger:focus-visible{opacity:1}
.pagination{gap:8px 14px;padding:8px 12px}.pagination a,.pagination .is-off,.pagination-gap{min-width:29px;height:29px;padding:0 8px;border-radius:7px;font-size:.76rem}.pagination-status{font-size:.75rem}
.warehouse-context{gap:10px;margin-bottom:10px;padding:7px 10px;border:0;border-left:3px solid var(--product-color);border-radius:7px;background:color-mix(in srgb,var(--product-color) 6%,#fff)}.warehouse-context>header{gap:9px}.warehouse-context h2{font-size:.94rem}.warehouse-context p{font-size:.71rem}.warehouse-mark{width:29px;height:29px;border-radius:8px;box-shadow:none;font-size:.78rem}.warehouse-context>a{font-size:.75rem}.warehouse-context.compact-context{padding:7px 10px;margin-bottom:10px}.accounts-page-heading.has-active-product>section{display:none}.accounts-page-heading.has-active-product{justify-content:flex-end;margin-bottom:8px}
.quick-create{gap:8px;margin-bottom:10px;padding:9px 10px;border-radius:9px;box-shadow:none}.quick-create .qc-title{font-size:.76rem}.quick-create input,.quick-create select,.quick-create .combo-control{min-height:34px;height:34px}.quick-create>.button{min-height:34px}.page-heading.orders-toolbar{margin-bottom:10px}.orders-toolbar-search .search-box{height:36px;box-shadow:none}.orders-toolbar-search .search-box input{height:34px}
.order-note-cell,.renewal-note-cell,.account-note-cell{padding-top:4px!important;padding-bottom:4px!important}.order-note-cell textarea,.renewal-note-cell textarea,.account-note-cell textarea{height:27px;min-height:27px;margin:0;padding:.35rem .48rem;border-color:transparent;border-radius:6px;background:transparent;font-size:.75rem;resize:none}.order-note-cell.has-note textarea,.account-note-cell.has-note textarea{border-color:#d9e8f1;background:#f8fbfd}.order-note-cell textarea:hover,.renewal-note-cell textarea:hover,.account-note-cell textarea:hover{border-color:#d5e1eb;background:#fff}.order-note-cell textarea:focus,.renewal-note-cell textarea:focus,.account-note-cell textarea:focus{height:36px;min-height:36px;border-color:#86c9e7;background:#fff}.order-note-save-state{font-size:.58rem}

/* Tab kiểu sheet: luôn thấy, co theo nội dung, số lượng là badge nhỏ. */
.has-app-sheet-tabs .content-wrap{padding-bottom:var(--app-sheet-h)}
.app-sheet-tabs{position:fixed;left:244px;right:0;bottom:0;z-index:38;height:var(--app-sheet-h);display:flex;align-items:stretch;gap:2px;margin:0;padding:0 8px;border-top:1px solid #ced8e5;background:#f1f4f8;box-shadow:0 -5px 18px rgba(15,35,65,.07);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.app-sheet-tabs::-webkit-scrollbar{display:none}.app-sheet-tabs .product-tab{min-width:auto;height:var(--app-sheet-h);flex:0 0 auto;display:flex;grid-template-columns:none;align-items:center;gap:6px;padding:0 10px;border:0;border-top:2px solid transparent;border-radius:0;background:transparent;color:#4c596b;box-shadow:none;font-size:.77rem;white-space:nowrap}.app-sheet-tabs .product-tab:hover{border-color:transparent;background:#e5ebf2;box-shadow:none}.app-sheet-tabs .product-tab.active{border-top-color:var(--product-color);background:color-mix(in srgb,var(--product-color) 8%,#fff);color:var(--text);box-shadow:none}.app-sheet-tabs .product-tab-swatch{width:7px;height:7px;flex:0 0 7px;border-radius:50%;opacity:.58}.app-sheet-tabs .product-tab.active .product-tab-swatch{opacity:1}.app-sheet-tabs .product-tab strong{font-size:.77rem;font-weight:600}.app-sheet-tabs .product-tab small{display:none}.sheet-tab-count{min-width:18px;padding:1px 5px;border-radius:999px;background:#e1e7ef;color:#738095;font-size:.66rem;font-weight:550;font-variant-numeric:tabular-nums;text-align:center}.app-sheet-tabs .product-tab.active .sheet-tab-count{background:color-mix(in srgb,var(--product-color) 18%,#e8edf3);color:#4f5d70}.app-sheet-tabs .tab-alert{min-width:18px;height:18px;padding:0 5px;font-size:.62rem}.app-sheet-tabs .product-tab-alerts:empty{display:none}.app-sheet-tabs .product-tab.product-tab-add{min-width:34px;width:34px;height:34px;min-height:34px;align-self:center;flex-basis:34px;border:0;border-radius:7px;background:#e6ecf3}.app-sheet-tabs .product-tab-add span{width:auto;height:auto;border-radius:0;background:transparent;font-size:1rem}.warehouse-sheet-tabs .die-archive-tab,.order-sheet-tabs .done-tab{margin-left:auto}.app-sheet-tabs .die-archive-tab{border-color:transparent;background:transparent}.app-sheet-tabs .die-archive-tab.active{border-top-color:#dc2626;background:#fff1f2}.app-sheet-tabs .total-tab.active{background:#eef1f5}.task-main-tabs .product-tab{min-width:auto;flex:0 0 auto}.has-app-sheet-tabs .bulk-selection-dock:not([hidden]){bottom:calc(var(--app-sheet-h) + 12px)}

/* Các trang danh sách tận dụng trọn viewport; thân bảng là vùng cuộn duy nhất. */
@media(min-width:901px){
  body.data-list-page{height:100dvh;overflow:hidden}.data-list-page .app-shell,.data-list-page .content-wrap{height:100dvh;min-height:0}.data-list-page .content-wrap{display:flex;flex-direction:column}.data-list-page .main-content{min-height:0}.data-list-page .footer{display:none}
  .page-accounts .main-content,.page-accounts-all .main-content,.page-accounts-die .main-content,.page-orders .main-content,.page-orders-all .main-content,.page-customers .main-content{display:flex;flex-direction:column}
  .page-accounts .main-content>.table-card,.page-accounts-all .main-content>.table-card,.page-accounts-die .main-content>.table-card,.page-orders .main-content>.table-card,.page-orders-all .main-content>.table-card,.page-customers .main-content>.table-card{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}
  .page-accounts .main-content>.table-card>.table-wrap,.page-accounts-all .main-content>.table-card>.table-wrap,.page-accounts-die .main-content>.table-card>.table-wrap,.page-orders .main-content>.table-card>.table-wrap,.page-orders-all .main-content>.table-card>.table-wrap,.page-customers .main-content>.table-card>.table-wrap{flex:1;min-height:0;overflow:auto}
  .page-accounts .main-content>.table-card>.pagination,.page-accounts-all .main-content>.table-card>.pagination,.page-accounts-die .main-content>.table-card>.pagination,.page-orders .main-content>.table-card>.pagination,.page-orders-all .main-content>.table-card>.pagination,.page-customers .main-content>.table-card>.pagination{flex:0 0 auto}
  .page-tasks .main-content{height:100%;overflow:auto;padding-bottom:14px}
}
@media(max-width:900px){.app-sheet-tabs{left:0}.main-content{padding:16px}.has-app-sheet-tabs .bulk-selection-dock:not([hidden]){bottom:calc(var(--app-sheet-h) + 10px)}}
@media(max-width:620px){.topbar{height:56px}.main-content{padding:13px 10px}.page-heading{align-items:stretch;margin-bottom:11px}.page-heading h1{font-size:1.2rem}.page-heading .heading-actions{margin-top:9px}.filter-bar{gap:7px}.status-tabs{width:100%}.status-tabs a{flex:0 0 auto}.app-sheet-tabs{height:44px;padding-inline:5px}.has-app-sheet-tabs .content-wrap{padding-bottom:44px}.app-sheet-tabs .product-tab{height:44px;padding-inline:9px}.warehouse-sheet-tabs .die-archive-tab,.order-sheet-tabs .done-tab{margin-left:0}.customers-filter-bar{gap:8px}.order-note-cell,.renewal-note-cell,.account-note-cell{min-width:175px}.pagination{padding:7px 9px}}

/* Quy trình nhập kho / nhập đơn: cùng một mô hình Phạm vi → Dữ liệu → Kiểm tra → Hoàn tất. */
.import-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 12px;padding:0 10px;border:1px solid #dce4ed;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(15,35,65,.035)}
.import-steps.is-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.import-steps>span{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;color:#7a8797;font-size:.75rem;font-weight:650}
.import-steps>span:not(:last-child)::after{content:"";position:absolute;right:-1px;width:1px;height:20px;background:#e3e8ef}
.import-steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#edf1f5;color:#788597;font-size:.68rem}
.import-steps .is-done{color:#267343}.import-steps .is-done b{background:#e6f7ec;color:#15803d}.import-steps .is-current{color:#075f89}.import-steps .is-current b{background:#dff4fc;color:#036b9f;box-shadow:0 0 0 3px #eef9fd}
.import-workspace{border-color:#d8e2ec}.import-workspace>.card-header{padding-bottom:13px;border-bottom:1px solid #edf1f5}.import-workspace>.card-header>.badge{margin-top:2px}
.import-metrics{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin:0 0 14px}
.import-metrics article{padding:10px 12px;border:1px solid #e3e9f0;border-radius:9px;background:#fafbfd}
.import-metrics small,.import-metrics strong,.import-metrics span{display:block}.import-metrics small{color:#748195;font-size:.66rem;font-weight:650}.import-metrics strong{margin:1px 0;color:#253248;font-size:1.2rem;line-height:1.2;font-variant-numeric:tabular-nums}.import-metrics span{color:#8a95a5;font-size:.65rem}
.import-metrics .is-success{border-color:#c9ead4;background:#f2fbf5}.import-metrics .is-success strong{color:#147a35}.import-metrics .is-danger{border-color:#f5c9c9;background:#fff7f7}.import-metrics .is-danger strong{color:#b91c1c}.import-metrics .is-warning{border-color:#f0ddb5;background:#fffbef}.import-metrics .is-warning strong{color:#99600b}
.import-diagnosis{margin:0 0 14px;padding:11px 13px;border:1px solid #f0d5a2;border-left:3px solid #d99016;border-radius:9px;background:#fffbf1}.import-diagnosis>strong{font-size:.8rem}.import-diagnosis nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.import-diagnosis nav span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #eadfc9;color:#6c5430;font-size:.7rem}.import-diagnosis nav b{color:#9a5b08}.import-diagnosis p{margin:8px 0 0;color:#66583d;font-size:.73rem}
.import-review-table{max-height:56vh;border:1px solid #e2e8f0;border-radius:9px}.import-review-table table{min-width:980px}.import-review-table td{vertical-align:top}.import-review-table td:last-child{min-width:210px}.import-review-table .badge{white-space:normal;line-height:1.35}.import-review-table td small{max-width:470px;white-space:normal;overflow-wrap:anywhere}
.import-confirm-panel{margin-top:14px;padding:14px;border:1px solid #cfe2ee;border-radius:10px;background:#f8fcfe}.import-confirm-panel h3{margin:0 0 4px}.import-confirm-panel>section>p{margin-bottom:10px;color:#526174;font-size:.78rem}.import-confirm-panel .detail-grid>div{background:#fff}
.import-source-card{scroll-margin-top:75px}.paste-input-label{margin:4px 0 7px;font-size:.8rem}.import-source-card textarea{margin-top:0;min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.55;tab-size:4}.import-source-card .col-map{padding:12px;border:1px solid #e0e7ef;border-radius:9px;background:#fafbfd}.import-source-card .col-map legend{padding:0 6px;font-size:.78rem;font-weight:700}.import-source-card .col-map legend small{color:#6f7d90;font-weight:450}
.import-help,.import-advanced{margin:10px 0;border:1px solid #e0e6ed;border-radius:9px;background:#fbfcfe}.import-help>summary,.import-advanced>summary{padding:9px 11px;cursor:pointer;color:#536174;font-size:.75rem;font-weight:650}.import-help[open]>summary,.import-advanced[open]>summary{border-bottom:1px solid #e7ebf0;color:#263449}.import-help ul{display:grid;gap:5px;margin:0;padding:10px 30px;color:#576578;font-size:.73rem}.import-advanced .use-toggle{padding:10px 12px;margin:0}.import-advanced .use-toggle small{margin-left:23px}.import-history{padding:0;overflow:hidden}.import-history>summary{padding:14px 16px;cursor:pointer;font-size:.82rem;font-weight:700}.import-history>p{margin:0;padding:0 16px 12px;color:#6d798a;font-size:.72rem}.import-history>.table-wrap{border-top:1px solid #e7ebf0}.import-history table{min-width:900px}
.preview-table .preview-skip{background:#f1f3f6;color:#8b95a2}.preview-table .preview-secret{color:#5c6879;white-space:nowrap}.preview-table .preview-secret small{display:inline;margin-left:4px;font-size:.62rem}.preview-table td{vertical-align:top}.preview-table td:last-child{min-width:105px}
@media(max-width:900px){.import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.import-metrics article:first-child{grid-column:1/-1}.import-review-table{max-height:none}}
@media(max-width:620px){.import-steps{padding:0 4px}.import-steps>span{min-height:46px;gap:4px;font-size:.66rem}.import-steps b{width:20px;height:20px}.import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.import-workspace,.import-source-card{padding:13px}.import-source-card .col-map{padding:9px}.import-confirm-panel .sticky-actions{display:grid;grid-template-columns:1fr}.import-confirm-panel .sticky-actions .button{width:100%}}

/* v1.22.1 · Bộ tìm kiếm Kho tài khoản liền khối, menu phạm vi tự thiết kế. */
.filter-bar-accounts{align-items:center}.account-search-composer{position:relative;flex:1 1 auto;min-width:0;height:38px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(188px,auto) 68px;align-items:stretch;border:1px solid #cbd6e3;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(15,35,65,.035);transition:border-color .15s ease,box-shadow .15s ease}.account-search-composer:focus-within{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(14,165,233,.09)}.account-search-composer .search-box{height:100%;min-width:0;margin:0;padding-inline:11px;border:0;border-radius:9px 0 0 9px;background:transparent;box-shadow:none}.account-search-composer .search-box:focus-within{border:0;box-shadow:none}.account-search-composer .search-box input{height:36px!important}.account-search-scope{position:relative;min-width:0;height:100%;border-left:1px solid #e1e7ef}.account-search-scope>summary{height:100%;min-width:0;display:flex;align-items:center;gap:6px;padding:0 11px;list-style:none;color:#657286;cursor:pointer;user-select:none;white-space:nowrap}.account-search-scope>summary::-webkit-details-marker{display:none}.account-search-scope>summary:hover,.account-search-scope[open]>summary{background:#f5f8fb;color:#26364c}.account-search-scope-prefix{font-size:.68rem;color:#8a96a8}.account-search-scope>summary strong{max-width:155px;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;font-weight:650;color:#344256}.account-search-scope-chevron{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.account-search-scope[open] .account-search-scope-chevron{transform:rotate(225deg) translate(-1px,-1px)}.account-search-scope-menu{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:272px;max-height:min(370px,calc(100dvh - 240px));padding:7px;border:1px solid #d5dee9;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(15,35,65,.16);overflow-y:auto}.account-search-scope-menu>header{padding:5px 8px 7px;color:#8a96a8;font-size:.62rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.account-search-scope-menu>button{width:100%;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:#344256;text-align:left}.account-search-scope-menu>button:hover,.account-search-scope-menu>button:focus-visible{outline:0;background:#f1f7fb;color:#075f89}.account-search-scope-menu>button.is-selected{background:#eaf6fc;color:#046c9d}.account-search-scope-menu>button span{min-width:0}.account-search-scope-menu>button strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:.76rem;font-weight:650;white-space:nowrap}.account-search-scope-menu>button small{display:block;margin-top:1px;color:#8793a5;font-size:.64rem;font-weight:400}.account-search-scope-menu>button i{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;color:transparent;font-size:.68rem;font-style:normal}.account-search-scope-menu>button.is-selected i{background:#0797cf;color:#fff}.account-search-composer .account-search-submit{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;gap:5px;margin:0;padding:0 12px;border:0;border-radius:0 9px 9px 0;background:#087fae;color:#fff;box-shadow:none}.account-search-composer .account-search-submit:hover{background:#056b94}.account-search-composer .account-search-submit>span:first-child{font-size:.9rem}.filter-bar-accounts>.button-ghost{flex:0 0 auto}
@media(max-width:900px){.filter-bar-accounts .account-search-composer{flex:1 1 100%}}
@media(max-width:620px){.account-search-composer{grid-template-columns:minmax(0,1fr) 142px 56px}.account-search-scope-prefix{display:none}.account-search-scope>summary{padding-inline:9px}.account-search-scope>summary strong{max-width:112px}.account-search-scope-menu{right:-56px;width:min(272px,calc(100vw - 20px))}.account-search-composer .account-search-submit{padding-inline:8px}.account-search-composer .account-search-submit>span:last-child{display:none}}

/* Khối copy dòng lỗi Nhập SLL: giữ cột thẳng hàng, tự cuộn trong khung thay vì tràn ngang trang */
.copy-source{white-space:pre;overflow:auto;max-height:320px;tab-size:14}

/* Nhập kho v2: chọn phạm vi + hai bảng kiểm tra + Duyệt hai lớp. */
.import-scope-card{max-width:1040px;margin-inline:auto}.import-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.import-scope-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--product-color) 24%,#dce4ed);border-left:4px solid var(--product-color);border-radius:11px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 4px 14px rgba(15,35,65,.04)}.import-scope-choice:hover{translate:0 -1px;border-color:var(--product-color);box-shadow:0 8px 20px rgba(15,35,65,.08)}.import-scope-choice .warehouse-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--product-color) 13%,#fff);color:var(--product-color);font-weight:800}.import-scope-choice strong,.import-scope-choice small{display:block}.import-scope-choice strong{font-size:.95rem}.import-scope-choice small{margin-top:3px;color:var(--muted);font-size:.76rem;line-height:1.4}.import-scope-choice>b{color:var(--product-color);font-size:.75rem;white-space:nowrap}.import-review-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.import-review-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.import-review-section>header h3,.import-review-section>header p{margin:0}.import-review-section>header p{color:var(--muted);font-size:.78rem}.import-review-section.is-ready>header h3{color:#18723b}.import-review-section.is-error>header h3{color:#b42318}.import-error-table{max-height:58vh;border:1px solid #f0c8c5;border-radius:9px}.import-error-table table{min-width:max-content}.import-error-table th{white-space:nowrap}.import-error-table td{vertical-align:top}.import-error-table input[type=text]{width:150px;min-width:120px;padding:7px 8px;border-color:#d8dee7;background:#fff}.import-error-table input[type=text]:focus{border-color:#0f7fac;box-shadow:0 0 0 3px #e3f5fb}.import-error-table td:nth-last-child(2){max-width:300px}.import-error-table .badge{white-space:normal;line-height:1.35}.import-skip-choice{display:flex;align-items:center;gap:6px;min-width:82px;font-weight:650;color:#a33}.import-confirm-checks{display:grid;gap:8px;margin-top:12px;padding:12px 14px;border:1px solid #cdddea;border-radius:9px;background:#f7fbfe}.import-confirm-checks legend{padding:0 6px;color:#28445b;font-weight:750}.import-confirm-checks label{display:flex;align-items:center;gap:8px}.import-confirm-checks input{width:17px;height:17px}.import-error-editor>.form-actions small{margin-left:auto;color:var(--muted)}
.import-scope-choice.is-disabled{border-color:#d9dee6;border-left-color:#98a2b3;background:#f6f7f9;color:#657080;box-shadow:none;cursor:not-allowed}.import-scope-choice.is-disabled:hover{translate:none;border-color:#d9dee6}.import-scope-choice.is-disabled .warehouse-mark{background:#e9edf2;color:#687486}.import-scope-choice.is-disabled>b{color:#7d8795}
.account-import-error-editor{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.account-import-error-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.account-import-error-editor>header h3,.account-import-error-editor>header p{margin:0}.account-import-error-editor>header p{margin-top:3px;color:var(--muted);font-size:.78rem}.account-import-error-list{display:grid;gap:10px}.account-import-error-row{padding:12px;border:1px solid #f0c8c5;border-radius:10px;background:#fffafa}.account-import-error-row>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.account-import-error-row>header .badge{max-width:min(70%,520px);white-space:normal;line-height:1.35;text-align:left}.account-import-patch-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:9px}.account-import-patch-grid label,.account-import-replacement{display:grid;gap:5px;color:#46586a;font-size:.74rem;font-weight:700}.account-import-patch-grid input,.account-import-replacement textarea{width:100%;padding:8px 9px;border-color:#d8dee7;background:#fff;color:var(--text);font-size:.84rem;font-weight:500}.account-import-patch-grid input:focus,.account-import-replacement textarea:focus{border-color:#0f7fac;box-shadow:0 0 0 3px #e3f5fb}.account-import-replacement textarea{resize:vertical}.account-import-replacement small,.account-import-secret-state{margin:0;color:var(--muted);font-size:.74rem;font-weight:500}.account-import-secret-state{margin-top:9px;color:#18723b}.account-import-error-editor>.form-actions small{margin-left:auto;color:var(--muted)}
.account-import-error-pages{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.account-import-error-pages span{color:var(--muted);font-size:.76rem;font-weight:700}.account-import-error-pages .is-disabled{pointer-events:none;opacity:.48}
@media(max-width:760px){.import-scope-grid{grid-template-columns:1fr}.import-steps.is-five>span{font-size:.6rem}.import-review-section>header{display:block}.import-review-section>header p{margin-top:3px}.import-error-editor>.form-actions small{width:100%;margin-left:0}.account-import-error-editor>header,.account-import-error-row>header{display:block}.account-import-error-editor>header>.badge,.account-import-error-row>header>.badge{display:inline-flex;max-width:100%;margin-top:7px}.account-import-patch-grid{grid-template-columns:1fr}.account-import-error-row{padding:11px}.account-import-error-pages{flex-wrap:wrap}.account-import-error-pages span{order:-1;width:100%;text-align:center}.account-import-error-editor>.form-actions small{width:100%;margin-left:0}}

/* v1.22.4 · thao tác Nhắc gia hạn và Bảo hành theo trạng thái Live/Die */
.renewal-sheet table{min-width:1390px}
.renewal-actions{min-width:300px}
.renewal-copy-button,.renewal-report-button{width:auto;height:34px;min-width:auto;padding:.42rem .62rem;font-size:.7rem}
.renewal-report-button>span{font-size:.9rem}
.renewal-package-price{color:#15803d;font-size:.78rem;white-space:nowrap}
.renewal-end-date,.renewal-contact{display:block!important;margin:4px 0 0!important;color:#6f7c8d!important;font-size:.63rem!important;white-space:nowrap}
.renewal-contact.is-missing,.warranty-contact.is-missing{color:#b45309!important;font-weight:750!important}
.renewal-status-heading,.renewal-status-cell{min-width:174px}
.renewal-status-cell>[data-renewal-status-label]{display:inline-grid;gap:2px;align-items:start;min-width:150px;border-radius:9px;white-space:normal}
.renewal-status-cell>[data-renewal-status-label] strong,.renewal-status-cell>[data-renewal-status-label] small{display:block;margin:0;color:inherit}
.renewal-status-cell>[data-renewal-status-label] small{font-size:.61rem;font-weight:550;opacity:.82}
.renewal-status-cell[data-state="overdue"]>[data-renewal-status-label],.renewal-status-cell[data-state="account_die"]>[data-renewal-status-label]{background:#feecec;color:#b91c1c}
.renewal-row-account-die{background:#fff6f6!important;color:#6f4b4b}
.renewal-row-account-die:hover{background:#fff0f0!important}
.renewal-row-account-die td:first-child{box-shadow:inset 3px 0 #dc2626}
/* Đơn vừa gia hạn: ở lại danh sách cho tới khi được tick “Đã kiểm tra”. */
.renewal-status-cell[data-state="renewed"]>[data-renewal-status-label]{background:#e6f4ff;color:#0b5f96}
.renewal-row-renewed{background:#f4fbff!important}
.renewal-row-renewed:hover{background:#ecf7ff!important}
.renewal-row-renewed td:first-child{box-shadow:inset 3px 0 #0ea5e9}
.status-tabs a.renewed-tab.active{background:#0b7fbe;border-color:#0b7fbe}
.renewal-check-button{background:#0b7fbe;border-color:#0b7fbe}
.renewal-check-button:hover{background:#0a6ea6;border-color:#0a6ea6}

.table-more{position:relative;flex:0 0 auto}
.table-more>summary{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d6dee8;border-radius:8px;background:#fff;color:#5f6c7e;cursor:pointer;list-style:none;font-size:1rem;font-weight:800;line-height:1}
.table-more>summary::-webkit-details-marker{display:none}
.table-more>summary:hover,.table-more[open]>summary{border-color:#9fc8db;background:#f0f8fb;color:#05759f}
.table-more>section{position:absolute;z-index:30;right:0;bottom:38px;width:190px;padding:6px;border:1px solid #d6dee8;border-radius:9px;background:#fff;box-shadow:0 14px 32px rgba(15,35,65,.18)}
.table-more>section>a,.table-more>section>button{width:100%;display:flex;align-items:center;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:#344256;font:inherit;font-size:.72rem;font-weight:600;text-align:left;white-space:nowrap;cursor:pointer}
.table-more>section>a:hover,.table-more>section>button:hover{background:#f1f7fb;color:#075f89}
/* Menu ba chấm nổi lên trên vùng cuộn: JS neo theo nút nên bảng không bị cao thêm, không tự trôi và không cắt mất menu. */
details.table-more.is-floating>section{position:fixed;top:0;right:auto;bottom:auto;left:0;z-index:80;overflow-y:auto;overscroll-behavior:contain}

.warranty-resolution-copy{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:12px 14px;border-color:#bae6fd;background:#f5fbfe}
.warranty-resolution-copy section{min-width:0}.warranty-resolution-copy strong{font-size:.78rem;color:#075985}.warranty-resolution-copy p{margin:3px 0 0;color:#42566c;font-size:.73rem;line-height:1.45;white-space:pre-line}
.warranty-header-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.warranty-progress-badge,.warranty-waiting-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:750;white-space:nowrap}
.warranty-progress-badge{border:1px solid #d9e1eb;background:#f5f7fa;color:#5d697a}
.warranty-waiting-badge.is-warning{border-color:#f3d28d;background:#fff8e7;color:#98600b}
.warranty-waiting-badge.is-danger{border-color:#f5b7b7;background:#fff0f0;color:#b91c1c}
.warranty-waiting-badge.is-scheduled{border-color:#abd5e8;background:#edf8fc;color:#036b9f}
.warranty-contact{font-weight:500!important}.warranty-sheet td small a{font-weight:700}
.warranty-actions .button{white-space:nowrap}.warranty-more>section{bottom:38px}
@media(max-width:700px){.renewal-actions{min-width:290px}.warranty-resolution-copy{align-items:stretch;flex-direction:column}.warranty-resolution-copy .button{width:100%}.warranty-actions{min-width:250px}.warranty-more>section{right:0;bottom:38px;width:100%}}

/* Đơn hàng: copy theo đơn, tuổi đơn mới, badge khách chưa trả và hủy theo tình trạng bàn giao */
.nav-order-unpaid-count{margin-left:auto;min-width:24px;height:22px;display:grid;place-items:center;padding:0 7px;border-radius:999px;background:#f59e0b;color:#fff;font-size:.7rem;font-weight:850;box-shadow:0 3px 10px rgba(245,158,11,.3)}
.nav-order-unpaid-count[hidden]{display:none!important}
.issued-age{min-width:49px;display:inline-flex;align-items:baseline;justify-content:center;gap:3px;padding:4px 7px;border-radius:8px;background:#eef2f7;color:#526071;font-variant-numeric:tabular-nums;white-space:nowrap}
.issued-age strong,.issued-age small{display:inline!important;margin:0!important;color:inherit!important}.issued-age strong{font-size:.78rem}.issued-age small{font-size:.6rem}
.issued-age.is-waiting{background:#fff4db;color:#a35b05}.issued-age.is-old{background:#ffedd5;color:#c2410c}
.order-credential-copy{width:27px;height:27px;display:inline-grid;place-items:center;flex:0 0 27px;padding:0;border:1px solid #c7dce8;border-radius:7px;background:#f4fbfe;color:#047aa8;transition:background .15s,border-color .15s,color .15s}
.order-credential-copy:hover{border-color:#7dc4df;background:#e6f7fd;color:#03638a}.order-credential-copy:disabled{cursor:wait;opacity:.65}.order-credential-copy.is-copied{border-color:#9bd8ad;background:#eaf8ef;color:#15803d}
.order-credential-copy:focus-visible{outline:2px solid #047aa8;outline-offset:2px}
@media(max-width:900px){.order-account-identity .credential-trigger,.order-account-identity .account-history-inline{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:4px;box-sizing:border-box}.order-credential-copy{width:40px;height:40px;flex-basis:40px}}
@media(max-width:620px){.mobile-rows .revoke-credential-copy{width:40px;height:40px;flex-basis:40px}}
.order-cancel-modal{width:min(640px,calc(100vw - 28px))}
.order-copy-state{margin:0 0 14px;padding:10px 12px;border-radius:9px;font-size:.76rem;line-height:1.45}.order-copy-state.is-clear{border:1px solid #bae6fd;background:#f0f9ff;color:#075985}.order-copy-state.is-warning{border:1px solid #f5d18b;background:#fff8e7;color:#8a5708}
.order-cancel-choices{display:grid;gap:9px;margin-bottom:12px;padding:0;border:0;background:transparent}.order-cancel-choices legend{margin-bottom:8px;color:#344256;font-size:.8rem;font-weight:800}
.order-cancel-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce3ec;border-radius:10px;background:#fff;cursor:pointer}.order-cancel-choice:hover{border-color:#9bcce0;background:#f8fcfe}.order-cancel-choice:has(input:checked){border-color:#4eb1d8;background:#f0faff;box-shadow:0 0 0 2px rgba(14,165,233,.08)}.order-cancel-choice.is-delivered:has(input:checked){border-color:#f3b3b3;background:#fff7f7;box-shadow:0 0 0 2px rgba(220,38,38,.05)}
.order-cancel-choice input{width:auto;flex:0 0 auto;margin:.16rem 0 0}.order-cancel-choice span{min-width:0}.order-cancel-choice strong,.order-cancel-choice small{display:block}.order-cancel-choice strong{color:#26364c;font-size:.82rem}.order-cancel-choice small{margin-top:3px;color:#6f7c8d;font-size:.7rem;font-weight:450;line-height:1.45}
.order-unsent-confirm{margin:-2px 0 13px;padding:10px 12px;border:1px solid #b9e0c4;border-radius:9px;background:#f2fbf5;color:#27613a}.order-unsent-confirm[hidden],.order-cancel-money-grid[hidden],.order-cancel-refund[hidden],.order-cancel-customer-copy[hidden]{display:none!important}.order-unsent-confirm span{display:flex;align-items:flex-start;gap:8px;font-size:.73rem;line-height:1.45}.order-unsent-confirm input{width:auto;flex:0 0 auto;margin:.15rem 0 0}
.order-cancel-money-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;gap:10px;margin-bottom:13px}.order-cancel-refund{margin:0;padding:12px;border:1px solid #f4cc84;border-radius:10px;background:#fff9eb}.order-cancel-refund p{margin:0 0 8px;color:#81560d;font-size:.75rem}.order-cancel-refund input{background:#fff}
.order-cancel-refund label small{display:block;margin:2px 0 0;color:#936b25;font-weight:400}.order-cancel-refund input[type="date"]{min-height:40px;color:#26364c;font-weight:700}.order-cancel-customer-copy{margin:0;padding:12px;border:1px solid #bae6fd;border-radius:10px;background:#f5fbff}.order-cancel-customer-copy header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.order-cancel-customer-copy header span>strong,.order-cancel-customer-copy header span>small{display:block}.order-cancel-customer-copy header span>strong{color:#075985;font-size:.78rem}.order-cancel-customer-copy header span>small{margin-top:2px;color:#54788c;font-size:.67rem}.order-cancel-customer-copy .button{padding-inline:9px;white-space:nowrap}.order-cancel-customer-copy .button span{margin-right:4px}.order-cancel-customer-copy textarea{height:154px;min-height:154px;resize:vertical;background:#fff;font-family:inherit;font-size:.73rem;line-height:1.45}
@media(max-width:620px){.order-cancel-choice{padding:10px}.order-cancel-money-grid{grid-template-columns:1fr}.order-cancel-customer-copy header{align-items:stretch;flex-direction:column}.order-cancel-customer-copy header .button{width:100%}.order-cancel-modal .form-actions{display:grid;grid-template-columns:1fr}.order-cancel-modal .form-actions .button{width:100%}}

/* v1.28.0 · Bàn cấp Rạp phim: mật độ như bảng tính, luồng Nguồn → Hồ sơ → khách */
.settings-fieldset{display:grid;gap:12px;margin:18px 0 4px;padding:15px;border:1px solid #d8e3ed;border-radius:11px;background:#f8fbfd}.settings-fieldset>legend{padding:0 7px;color:#263850;font-size:.86rem;font-weight:750}.settings-fieldset .config-switch-row{margin:0}.settings-fieldset .alert{margin:0}
.cinema-heading{flex:0 0 auto}.cinema-heading .heading-actions{align-items:center}.cinema-density-button[aria-pressed="true"]{border-color:#9ccde2;background:#edf8fc;color:#075f89}
.cinema-step{width:25px;height:25px;display:inline-grid;place-items:center;flex:0 0 25px;border-radius:7px;background:#dff3fc;color:#0578a9;font-size:.72rem;font-weight:800}
.cinema-complete-modal{width:min(590px,calc(100vw - 28px));padding:0;overflow-x:hidden;overflow-y:auto;border:1px solid #ccebd7}.cinema-complete-header{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 18px;background:linear-gradient(135deg,#effcf4,#fff)}.cinema-complete-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#22a653;color:#fff;font-size:1.2rem;font-weight:900;box-shadow:0 7px 18px rgba(34,166,83,.22)}.cinema-complete-header section{min-width:0}.cinema-complete-header small{display:block;margin-bottom:3px;color:#168143;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cinema-complete-header h2,.cinema-complete-header p{margin:0}.cinema-complete-header h2{font-size:1.08rem;line-height:1.4}.cinema-complete-header p{margin-top:4px;color:#547061;font-size:.76rem}.cinema-complete-summary{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr);gap:9px;margin:0;padding:18px 24px 10px}.cinema-complete-summary div{min-width:0;padding:11px 12px;border:1px solid #e2e9ee;border-radius:10px;background:#f8fafb}.cinema-complete-summary dt{margin-bottom:3px;color:var(--muted);font-size:.66rem;font-weight:700}.cinema-complete-summary dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:.8rem;font-weight:800}.cinema-complete-summary dd>small{display:block;margin-top:2px;color:var(--muted);font-size:.64rem;font-weight:600}.cinema-complete-copy-customer{display:inline-flex;align-items:center;gap:6px;color:#075f89;font-weight:850}.cinema-complete-copy-customer span{color:#1597c5;font-size:.9rem}.cinema-complete-send{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 24px 18px;padding:12px;border:1px solid #bfe3f1;border-radius:10px;background:#f0faff}.cinema-complete-send span{min-width:0}.cinema-complete-send strong,.cinema-complete-send small{display:block}.cinema-complete-send strong{color:#075f89;font-size:.78rem}.cinema-complete-send small{margin-top:2px;color:#627587;font-size:.67rem}.cinema-complete-send>.button{flex:0 0 auto;gap:7px;min-height:40px}.page-cinema-desk .cinema-complete-send>.cinema-complete-send-button{border-color:#075985;background:#075985;color:#fff;font-weight:800;box-shadow:0 4px 12px rgba(7,89,133,.3)}.page-cinema-desk .cinema-complete-send>.cinema-complete-send-button:hover{border-color:#064568;background:#064568;box-shadow:0 5px 14px rgba(7,69,104,.34)}.page-cinema-desk .cinema-complete-send>.cinema-complete-send-button.is-copied{border-color:#17944a;background:#17944a;box-shadow:0 4px 12px rgba(23,148,74,.24)}.cinema-complete-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 24px 24px}.cinema-complete-actions .button{width:100%;min-height:42px}.page-cinema-desk .cinema-complete-actions>.cinema-complete-order-link{border-color:#cbd8e3;background:#f8fafc;color:#405166;box-shadow:none}.page-cinema-desk .cinema-complete-actions>.cinema-complete-order-link:hover{border-color:#aebfce;background:#edf2f6;color:#24364a}
.cinema-customer-bar{position:relative;display:grid;grid-template-columns:245px minmax(0,1fr);align-items:center;gap:16px;flex:0 0 auto;padding:10px 13px;margin-bottom:9px;box-shadow:none}.cinema-customer-bar>header{display:flex;align-items:center;gap:9px}.cinema-customer-bar h2,.cinema-customer-bar p{margin:0}.cinema-customer-bar h2{font-size:.86rem}.cinema-customer-bar p{color:var(--muted);font-size:.68rem}.cinema-customer-search{position:relative;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:7px}.cinema-customer-search>input{height:35px;margin:0}.cinema-customer-results{position:absolute;top:42px;left:0;z-index:24;width:min(610px,100%);max-height:330px;overflow:auto;border:1px solid #cbd9e5;border-radius:9px;background:#fff;box-shadow:0 18px 45px rgba(15,35,65,.18)}.cinema-customer-results>a{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #edf1f5;color:var(--text)}.cinema-customer-results>a:hover,.cinema-customer-results>a:focus{background:#f0f8fc}.cinema-customer-results>a:last-child{border-bottom:0}.cinema-customer-results strong,.cinema-customer-results small{display:block}.cinema-customer-results strong{font-size:.8rem}.cinema-customer-results small{max-width:46%;overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.cinema-customer-results>p{margin:0;padding:12px;color:var(--muted);font-size:.78rem}.cinema-customer-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:35px;padding:5px 9px;border:1px solid #b9dfef;border-radius:8px;background:#eff9fd}.cinema-customer-selected span{min-width:0}.cinema-customer-selected strong,.cinema-customer-selected small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cinema-customer-selected strong{font-size:.8rem}.cinema-customer-selected small{color:#60778a;font-size:.69rem}
.cinema-source-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.cinema-source-menu{position:relative;flex:0 0 auto}.cinema-source-menu>summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;color:#475569;font-size:.95rem;line-height:1;cursor:pointer;list-style:none}.cinema-source-menu>summary::-webkit-details-marker{display:none}.cinema-source-menu>summary:hover{border-color:#9ccde2;background:#f0f9fd;color:#075f89}.cinema-source-menu[open]>summary{border-color:#9ccde2;background:#e8f6fc;color:#075f89}.cinema-source-menu>form{position:absolute;top:34px;right:0;z-index:26;width:min(288px,calc(100vw - 32px));padding:11px;border:1px solid #cbd9e5;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(15,35,65,.18)}.cinema-source-menu-counts{margin:0 0 9px;color:var(--muted);font-size:.68rem}.cinema-source-menu-counts b{color:#334155;font-variant-numeric:tabular-nums}.cinema-source-menu label{display:block;margin-bottom:8px;font-size:.68rem}.cinema-source-menu select{height:34px;margin-top:2px;padding:.42rem .58rem;font-size:.76rem}.cinema-source-menu>form>footer{display:flex;justify-content:flex-end;gap:6px}.cinema-source-menu>form>small{display:block;margin-top:9px;color:var(--muted);font-size:.66rem;line-height:1.5}
.cinema-filter-notice{margin:0;padding:7px 12px;border-bottom:1px solid #f2e6c9;background:#fffaef;color:#7a5a12;font-size:.69rem}.cinema-filter-notice a{color:#075f89;font-weight:700;text-decoration:underline}
.cinema-domain-filter{display:flex;gap:5px;flex-wrap:wrap;padding:7px 8px;border-bottom:1px solid var(--line);background:#fbfdfe}.cinema-domain-filter button{padding:.28rem .55rem;border:1px solid #d8e2ea;border-radius:999px;background:#fff;color:#5b6b7c;font-size:.66rem;font-weight:650;cursor:pointer}.cinema-domain-filter button b{margin-left:3px;color:#8496a6;font-variant-numeric:tabular-nums}.cinema-domain-filter button:hover{border-color:#9ccde2;color:#075f89}.cinema-domain-filter button.is-preferred{border-color:#7cc0e0;background:#eaf7fd;color:#075f89}.cinema-domain-filter button.is-active{border-color:#0369a1;background:#0369a1;color:#fff}.cinema-domain-filter button.is-active b{color:#bfe3f5}.cinema-domain-empty{margin:0;padding:18px 12px;color:var(--muted);font-size:.72rem;text-align:center}
.cinema-workbench{display:grid;grid-template-columns:minmax(350px,430px) minmax(520px,1fr);gap:10px;min-height:520px}.cinema-source-panel,.cinema-detail-panel{min-width:0;margin:0;padding:0;overflow:hidden}.cinema-source-panel{display:flex;flex-direction:column}.cinema-source-panel>.card-header{flex:0 0 auto;margin:0;padding:10px 12px;border-bottom:1px solid var(--line)}.cinema-source-panel>.card-header h2{display:flex;align-items:center;gap:7px;font-size:.86rem}.cinema-source-list{overflow:auto;padding:5px}.cinema-source-card{position:relative;display:grid;grid-template-columns:4px minmax(100px,1fr) 76px 83px auto;grid-template-areas:"stripe main usage date badge" "stripe domain domain domain badge";align-items:center;gap:4px 8px;min-height:55px;margin-bottom:3px;padding:7px 8px 7px 5px;border:1px solid transparent;border-radius:8px;color:var(--text)}.cinema-source-card[hidden]{display:none}.cinema-source-card>.cinema-source-stripe{grid-area:stripe}.cinema-source-main{grid-area:main}.cinema-source-usage{grid-area:usage}.cinema-source-date{grid-area:date}.cinema-source-card>.cinema-source-domain{grid-area:domain;justify-self:start}.cinema-source-card>.status-badge{grid-area:badge}
.cinema-source-domain{display:inline-block;max-width:100%;overflow:hidden;padding:1px 5px;border:1px solid transparent;border-radius:999px;color:#7b8b9c;font-size:.63rem;font-weight:600;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.cinema-source-domain b{font-weight:800}.cinema-source-domain.is-preferred{border-color:#0369a1;background:#0369a1;color:#fff;font-weight:800}.cinema-source-card:hover{border-color:#cedbe6;background:#f8fbfd;color:var(--text)}.cinema-source-card.active{border-color:color-mix(in srgb,var(--source-color) 52%,#cad5df);background:color-mix(in srgb,var(--source-color) 8%,#fff);box-shadow:0 1px 3px rgba(15,35,65,.06)}.cinema-source-stripe{align-self:stretch;width:4px;min-height:35px;border-radius:5px;background:var(--source-color)}.source-color-0{--source-color:#06b6d4}.source-color-1{--source-color:#8b5cf6}.source-color-2{--source-color:#f59e0b}.source-color-3{--source-color:#22c55e}.source-color-4{--source-color:#ec4899}.source-color-5{--source-color:#3b82f6}.cinema-source-main,.cinema-source-usage,.cinema-source-date{min-width:0}.cinema-source-main strong,.cinema-source-main small,.cinema-source-usage strong,.cinema-source-usage small,.cinema-source-date strong,.cinema-source-date small{display:block}.cinema-source-main strong{font-size:.8rem;line-height:1.25}.cinema-source-main small{overflow:hidden;color:var(--muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.cinema-source-usage,.cinema-source-date{text-align:right}.cinema-source-usage strong,.cinema-source-date strong{font-size:.75rem;font-variant-numeric:tabular-nums}.cinema-source-usage small,.cinema-source-date small{color:var(--muted);font-size:.61rem;white-space:nowrap}.cinema-source-card .status-badge{padding:.18rem .42rem;font-size:.6rem}
.cinema-detail-panel{overflow:auto}.cinema-source-bar{position:relative;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 12px 9px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--source-color) 6%,#fff)}.cinema-source-bar>.cinema-source-stripe{position:absolute;inset:0 auto 0 0;border-radius:0}.cinema-source-bar>h2{margin:0;font-size:.98rem}.cinema-source-bar-note{overflow:hidden;max-width:34ch;color:#5e7286;font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.cinema-source-bar .link-button{margin-left:auto;padding:0;font-size:.7rem;white-space:nowrap}.cinema-source-back{display:none;align-items:center;gap:3px;min-height:38px;padding:0 9px 0 5px;border-radius:8px;color:#075f89;font-size:.78rem;font-weight:700}.cinema-source-back span{font-size:1.15rem;line-height:1}.cinema-order-form{padding:0 12px 12px}.cinema-child-fieldset{min-width:0;margin:0;padding:0;border:0}.cinema-child-fieldset>legend{display:flex;align-items:center;gap:7px;width:100%;padding:7px 0;font-size:.82rem;font-weight:750}.cinema-child-fieldset>legend small{margin-left:auto;color:var(--muted);font-size:.66rem;font-weight:500}.cinema-child-hint{margin:0 0 7px;color:var(--muted);font-size:.68rem}.cinema-child-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:345px;overflow:auto;padding:1px}.cinema-child-card{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid #dfe6ee;border-radius:7px;background:#fff;cursor:pointer}.cinema-child-card:hover{border-color:#9fcfe4;background:#f7fcfe}.cinema-child-card:has(input:checked){border-color:#45add5;background:#edf9fd;box-shadow:inset 3px 0 #0ea5e9}.cinema-child-card input{width:15px;height:15px;margin:0}.cinema-child-card span{min-width:0}.cinema-child-card strong,.cinema-child-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cinema-child-card strong{color:#20324a;font-size:.77rem}.cinema-child-card small{color:var(--muted);font-size:.64rem;font-weight:400}.cinema-child-card time{color:#66768a;font-size:.66rem;font-weight:500;white-space:nowrap}
/* Bàn cấp: bước 3 chỉ còn mã tài khoản nên xếp thành chip; popup Bảo hành vẫn giữ thẻ đầy đủ ở trên. */
.cinema-order-form .cinema-child-list{grid-template-columns:repeat(auto-fill,minmax(102px,1fr));padding:2px}.cinema-order-form .cinema-child-card{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:6px 8px;border-radius:8px}.cinema-order-form .cinema-child-card:has(input:checked){border-color:#0369a1;background:#e8f6fc;box-shadow:inset 0 0 0 1px #0369a1}.cinema-order-form .cinema-child-card:has(input:checked):before{color:#0369a1;content:"✓";font-size:.78rem;font-weight:900}.cinema-order-form .cinema-child-card:has(input:focus-visible){outline:2px solid #0ea5e9;outline-offset:2px}.cinema-order-form .cinema-child-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cinema-order-form .cinema-child-card strong{display:inline;font-variant-numeric:tabular-nums}.cinema-order-form .cinema-child-card:has(input:checked) strong{color:#054a70;font-weight:800}.cinema-order-note{margin-top:9px}.cinema-order-note textarea{min-height:38px;margin-top:3px;padding:.48rem .6rem;font-size:.75rem}.cinema-submit-bar{position:sticky;bottom:-1px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:9px -12px -12px;padding:9px 12px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 -5px 14px rgba(15,35,65,.05)}.cinema-submit-bar>span{margin-right:auto;color:var(--muted);font-size:.7rem}.cinema-submit-bar button:disabled{cursor:not-allowed;opacity:.52}.cinema-setup-state .empty-state-icon{display:block;color:#8cb7ca;font-size:2.8rem}
.cinema-search-button{gap:6px}.cinema-search-button>span{font-size:1rem;line-height:1}
.cinema-search-modal{width:min(640px,calc(100vw - 24px));max-height:min(720px,92vh);padding:0;overflow:hidden}.cinema-search-modal[open]{display:flex;flex-direction:column}.cinema-search-modal>.modal-header{margin:0;padding:15px 18px;border-bottom:1px solid var(--line)}.cinema-search-field{flex:0 0 auto;padding:12px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.cinema-search-field input{width:100%;height:42px;margin:0;padding:.5rem .7rem;font-size:.86rem}.cinema-search-results{flex:1;overflow:auto;padding:8px 12px 14px}.cinema-search-idle,.cinema-search-error{margin:0;padding:22px 8px;color:var(--muted);font-size:.76rem;text-align:center}.cinema-search-error{color:#a91c1c}.cinema-search-group{margin-top:8px}.cinema-search-group>h3{margin:0 0 5px;padding:0 4px;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cinema-search-group>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:4px 12px;padding:8px 10px;border:1px solid #e6edf2;border-radius:9px;margin-bottom:4px;color:var(--text)}.cinema-search-group>a:hover,.cinema-search-group>a:focus-visible{border-color:#9ccde2;background:#f2fafd;color:var(--text)}.cinema-search-group>a>strong{font-size:.8rem}.cinema-search-group>a>small{grid-column:1;overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.cinema-search-group>a>em{grid-area:1/2/3/3;align-self:center;max-width:24ch;overflow:hidden;padding:2px 7px;border-radius:999px;background:#eefbf3;color:#267343;font-size:.64rem;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.cinema-search-group>a.is-blocked>em{background:#f4f6f8;color:#6b7c8d}.cinema-search-group>a.is-blocked>strong{color:#5d6c7c}
.cinema-complete-hint{margin:-8px 24px 18px;color:var(--muted);font-size:.68rem;text-align:center}.cinema-complete-order-link.is-leaving{opacity:.7;pointer-events:none}
.cinema-complete-modal{width:min(760px,calc(100vw - 28px));max-height:min(860px,calc(100dvh - 28px))}.cinema-complete-workflow{display:grid;gap:8px;padding:0 24px 18px}.cinema-complete-workflow .cinema-complete-send{display:grid;grid-template-columns:auto minmax(0,1fr) auto;margin:0}.cinema-complete-step{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:#dff2fa;color:#075f89;font-size:.68rem;font-weight:850}.cinema-complete-note{position:relative;display:grid;width:auto;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;padding:11px 12px;border:1px solid #dce6ed;border-radius:10px;background:#fbfcfd}.cinema-complete-note>header{display:flex;align-items:center;gap:9px}.cinema-complete-note>header strong,.cinema-complete-note>header small{display:block}.cinema-complete-note>header strong{font-size:.78rem}.cinema-complete-note>header small{color:var(--muted);font-size:.67rem}.cinema-complete-note textarea{grid-column:1/-1;width:100%;height:auto;min-height:54px;margin:0;padding:.48rem .6rem;font-size:.75rem;resize:vertical}.cinema-complete-note.has-note textarea{border-color:#93c5fd;background:#f8fbff}.cinema-complete-note>.order-note-save-state{position:static;align-self:center;justify-self:end;min-height:0;padding:0;background:transparent}.cinema-complete-qr{border:1px solid #cfe4df;border-radius:10px;background:#f8fcfb}.cinema-complete-qr>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;list-style:none}.cinema-complete-qr>summary::-webkit-details-marker{display:none}.cinema-complete-qr>summary strong,.cinema-complete-qr>summary small{display:block}.cinema-complete-qr>summary strong{color:#155f56;font-size:.78rem}.cinema-complete-qr>summary small{margin-top:2px;color:var(--muted);font-size:.67rem}.cinema-complete-qr[open]>summary>span:last-child{transform:rotate(180deg)}.cinema-complete-qr-form{margin:0;padding:0 10px 10px}.cinema-complete-qr .payment-qr-inline{border-radius:9px;box-shadow:none}.cinema-complete-qr>p{margin:-3px 12px 10px;color:#60757a;font-size:.64rem;text-align:center}.cinema-recent-orders{display:flex;align-items:center;gap:9px;margin:0 0 9px;padding:6px 8px;border:1px solid #ccebd7;border-radius:9px;background:#f1fbf5}.cinema-recent-orders>header{flex:0 0 auto}.cinema-recent-orders>header small,.cinema-recent-orders>header span{display:block}.cinema-recent-orders>header small{color:#168143;font-size:.6rem;font-weight:800;text-transform:uppercase}.cinema-recent-orders>header span{color:var(--muted);font-size:.61rem}.cinema-recent-orders>nav{display:flex;min-width:0;gap:5px;overflow-x:auto}.cinema-recent-orders>nav>a,.cinema-recent-orders>nav>button{display:grid;min-width:142px;padding:5px 7px;border:1px solid #d5e5dc;border-radius:7px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cinema-recent-orders>nav strong,.cinema-recent-orders>nav span{overflow:hidden;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.cinema-recent-orders>nav span{color:var(--muted);font-size:.59rem}.cinema-recent-orders>nav>a:hover,.cinema-recent-orders>nav>button:hover{border-color:#86cfa0;background:#f8fffa}.cinema-customer-selected>span>small:first-child{color:#168143;font-size:.6rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.cinema-child-status{margin:0 0 6px;padding:5px 8px;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:.68rem}.cinema-child-status.is-ok{background:#eefbf3;color:#267343}.cinema-child-status.is-error{background:#fff0f0;color:#a91c1c}.cinema-child-fieldset[aria-busy="true"] [data-cinema-child-results]{opacity:.55;pointer-events:none}
.cinema-source-selected-email,.cinema-source-selected-usage,.cinema-source-selected-date{display:inline-flex;max-width:100%;align-items:center;padding:2px 6px;border:1px solid #d7e2ea;border-radius:999px;background:#fff;color:#53697b;font-size:.64rem;white-space:nowrap}.cinema-source-selected-email{overflow:hidden;max-width:30ch;color:#075f89;font-weight:700;text-overflow:ellipsis}.cinema-source-selected-usage b{color:#24364a}.cinema-source-usage small{overflow:hidden;text-overflow:ellipsis}.cinema-child-recommendation{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(170px,1.3fr) auto;align-items:center;gap:10px;margin-bottom:7px;padding:10px 11px;border:1px solid #9dd4e8;border-radius:9px;background:#edf9fd;box-shadow:inset 3px 0 #0ea5e9}.cinema-child-recommendation[hidden]{display:none}.cinema-child-recommendation>span{min-width:0}.cinema-child-recommendation small,.cinema-child-recommendation strong,.cinema-child-recommendation time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cinema-child-recommendation>span:first-child small{color:#075f89;font-size:.62rem;font-weight:750;text-transform:uppercase}.cinema-child-recommendation strong{color:#054a70;font-size:.9rem}.cinema-child-recommendation>span:nth-child(2) small,.cinema-child-recommendation time{color:#60778a;font-size:.66rem}.cinema-child-recommendation em{padding:3px 7px;border-radius:999px;background:#dff6e8;color:#168143;font-size:.63rem;font-style:normal;font-weight:800}.cinema-child-picker{border:1px solid #dce6ed;border-radius:8px;background:#fbfcfd}.cinema-child-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 9px;color:#075f89;font-size:.72rem;font-weight:750;cursor:pointer;list-style:none}.cinema-child-picker>summary::-webkit-details-marker{display:none}.cinema-child-picker>summary:before{content:"+";font-size:.9rem;font-weight:800}.cinema-child-picker[open]>summary:before{content:"−"}.cinema-child-picker>summary>span{margin-right:auto}.cinema-child-picker>summary small{color:var(--muted);font-size:.64rem;font-weight:500}.cinema-child-picker>summary b{color:#334155}.cinema-child-picker>[data-cinema-child-results]{padding:0 7px 7px}.cinema-child-picker>.cinema-child-load-more{margin:0 7px 7px;width:calc(100% - 14px)}
.cinema-desk-link,.cinema-parent-link{color:#075f89}.cinema-desk-link:hover,.cinema-parent-link:hover{color:#034f74;text-decoration:underline}.cinema-parent-link{font-weight:650}
.cinema-compact .cinema-source-card{min-height:43px;padding-top:4px;padding-bottom:4px}.cinema-compact .cinema-source-main small,.cinema-compact .cinema-source-usage small,.cinema-compact .cinema-source-date small{display:none}.cinema-compact .cinema-child-card{padding-top:4px;padding-bottom:4px}.cinema-compact .cinema-child-card small{display:none}.cinema-compact .cinema-child-list{gap:3px}
@media(min-width:901px){.page-cinema-desk .main-content{display:flex;flex-direction:column;overflow:hidden;padding-bottom:14px}.page-cinema-desk .cinema-workbench{flex:1;min-height:0}.page-cinema-desk .cinema-source-panel,.page-cinema-desk .cinema-detail-panel{min-height:0}}
@media(max-width:1100px) and (min-width:901px){.cinema-workbench{grid-template-columns:minmax(320px,370px) minmax(470px,1fr)}.cinema-source-card{grid-template-columns:4px minmax(90px,1fr) 67px 75px auto}.cinema-source-card .status-badge{display:none}.cinema-customer-bar{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:900px){.cinema-workbench{grid-template-columns:1fr;min-height:0}.cinema-source-panel,.cinema-detail-panel{overflow:visible}.cinema-source-list{max-height:none;padding:6px}.cinema-source-card{min-height:60px}.cinema-customer-bar{grid-template-columns:1fr}.cinema-child-list{max-height:none}.cinema-submit-bar{bottom:0}
/* Điện thoại chỉ hiện một bước: chọn Nguồn xong mới hiện lưới Hồ sơ, và luôn có lối quay lại. */
.cinema-workbench[data-source-picked="1"]>.cinema-source-panel{display:none}.cinema-workbench[data-source-picked="0"]>.cinema-detail-panel{display:none}.cinema-source-back{display:inline-flex}.cinema-source-bar{padding-left:9px}.cinema-source-bar>h2{flex:1 1 100%;order:1}.cinema-source-bar>.cinema-source-domain,.cinema-source-selected-email,.cinema-source-selected-usage,.cinema-source-selected-date,.cinema-source-bar-note{order:2}.cinema-source-bar .link-button{order:3}}
@media(max-width:620px){.page-cinema-desk .button{min-height:44px}.cinema-heading{display:block}.cinema-heading .heading-actions{display:grid;grid-template-columns:1fr 1fr}.cinema-complete-modal{width:100vw;max-width:none;max-height:100dvh;height:100dvh;border-radius:0}.cinema-complete-header{padding:16px 14px 13px}.cinema-complete-summary{grid-template-columns:1fr;padding:12px 14px 8px}.cinema-complete-workflow{padding:0 14px 14px}.cinema-complete-workflow .cinema-complete-send{grid-template-columns:auto minmax(0,1fr)}.cinema-complete-workflow .cinema-complete-send>.button{grid-column:1/-1;width:100%}.cinema-complete-note textarea{font-size:16px}.cinema-complete-qr .payment-qr-inline.is-stacked{grid-template-columns:1fr}.cinema-complete-qr .payment-qr-inline.is-stacked>.payment-qr-inline-visual,.cinema-complete-qr .payment-qr-inline.is-stacked>label,.cinema-complete-qr .payment-qr-inline.is-stacked>.payment-qr-inline-status{grid-column:1;grid-row:auto}.cinema-complete-actions{grid-template-columns:1fr;padding:0 14px 18px}.cinema-recent-orders{align-items:flex-start;flex-direction:column}.cinema-recent-orders>nav{width:100%}.cinema-customer-bar{padding:10px}.cinema-customer-search{grid-template-columns:1fr 1fr}.cinema-customer-search>input{grid-column:1/-1;font-size:16px}.cinema-customer-results{top:45px;width:100%}.cinema-customer-results>a{display:block;min-height:48px}.cinema-customer-results small{max-width:none;margin-top:2px}.cinema-source-menu select{font-size:16px}.cinema-source-card{grid-template-columns:4px minmax(80px,1fr) 82px 73px auto}.cinema-source-card .status-badge{display:none}.cinema-source-usage small>span{display:none}.cinema-source-selected-email{max-width:100%;flex:1 1 100%;order:2}.cinema-source-selected-usage,.cinema-source-selected-date{order:3}.cinema-source-bar-note{order:4}.cinema-source-bar .link-button{order:5}.cinema-order-note textarea{font-size:16px}.cinema-search-modal{width:100vw;max-width:none;max-height:100vh;height:100dvh;border-radius:0}.cinema-search-field input{font-size:16px}.cinema-child-recommendation{grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr);gap:7px;padding:9px}.cinema-child-recommendation em{grid-column:1/-1;justify-self:start}.cinema-child-picker>summary{min-height:44px}.cinema-child-list{grid-template-columns:1fr}.cinema-order-form .cinema-child-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.cinema-child-card{min-height:48px}.cinema-order-form .cinema-child-card{min-height:46px}.cinema-submit-bar{display:grid;grid-template-columns:1fr;margin-top:11px}.cinema-submit-bar>span{grid-column:1;margin:0;text-align:center}.cinema-submit-bar .button{width:100%}.cinema-customer-selected{align-items:flex-start}.cinema-customer-selected small{white-space:normal}.settings-fieldset .form-grid.two{grid-template-columns:1fr}}

/* Nhập thông minh: ghi lô theo mảnh — thanh tiến trình gọn, không cần hiệu ứng nặng */
.import-commit-progress progress{width:100%;height:10px;margin:10px 0 6px;accent-color:var(--cyan)}
.import-commit-progress p{font-size:.8rem;margin:0}
.import-confirm-panel progress{width:100%;height:10px;margin:10px 0 6px;accent-color:var(--cyan)}
.import-confirm-panel [data-commit-status]{font-size:.8rem;margin:0;color:var(--muted)}

/* v1.26.0 · tên gọi riêng, sửa nhanh khách hàng và đồng bộ CSV theo mã KH */
.customer-list-identity{display:flex;min-width:150px;flex-direction:column;align-items:flex-start;gap:2px}.customer-list-identity small{color:var(--muted);font-size:.66rem;font-weight:500}.customer-name-button{max-width:260px;padding:0;border:0;border-bottom:1px dashed #8fb9cc;background:transparent;color:var(--text);font:inherit;font-weight:750;text-align:left;overflow-wrap:anywhere;cursor:pointer}.customer-name-button:hover{border-bottom-style:solid;color:#0475a4}.customer-name-button:focus-visible{outline:2px solid #38bdf8;outline-offset:3px;border-radius:2px}.customer-code{font-variant-numeric:tabular-nums;white-space:nowrap}
#customer-quick-edit-modal{width:min(600px,calc(100vw - 28px))}#customer-quick-edit-modal .addressing-box.compact{margin:0}#customer-quick-edit-modal .addressing-preview{display:block;margin-top:7px}
@media(max-width:620px){select[name="zalo_customer_type"]{min-height:44px;font-size:16px}}
.customer-sync-card,.customer-sync-preview{margin-bottom:16px}.customer-sync-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0;list-style:none;counter-reset:none}.customer-sync-steps li{display:flex;min-height:76px;flex-direction:column;gap:4px;padding:12px 13px;border:1px solid #dbe7ef;border-radius:10px;background:#f8fbfd}.customer-sync-steps strong{color:#036b9f;font-size:.78rem}.customer-sync-steps span{color:var(--muted);font-size:.7rem;line-height:1.45}.customer-sync-actions{display:grid;grid-template-columns:auto minmax(420px,1fr);gap:14px;align-items:end}.customer-sync-actions>form{margin:0}.customer-sync-upload{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:10px;align-items:end}.customer-sync-upload label{margin:0}.customer-sync-upload input[type=file]{min-height:40px;background:#fff}.customer-sync-card>.callout{margin:14px 0 0}
.customer-sync-summary{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin:0 0 14px}.customer-sync-summary span{display:flex;min-height:70px;flex-direction:column;justify-content:center;padding:10px 12px;border:1px solid #dfe6ee;border-radius:9px;background:#f8fafc;color:var(--muted);font-size:.7rem}.customer-sync-summary strong{color:var(--text);font-size:1.25rem}.customer-sync-summary .is-change{border-color:#b6dcef;background:#f0f9fd}.customer-sync-summary .is-change strong{color:#0475a4}.customer-sync-summary .is-error{border-color:#fecaca;background:#fff5f5}.customer-sync-summary .is-error strong{color:#b91c1c}.customer-sync-preview-table table{min-width:790px}.customer-sync-preview-table td{vertical-align:top}.customer-sync-preview-table td small{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.4}.customer-sync-unchanged-note{margin:9px 0 0;font-size:.7rem}.customer-sync-preview>.form-actions{align-items:center}.customer-sync-preview>.form-actions form{margin:0}.customer-sync-confirm{display:flex;align-items:center;gap:12px}.customer-sync-confirm .use-toggle{margin:0}
@media(max-width:900px){.customer-sync-actions{grid-template-columns:1fr}.customer-sync-upload{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:620px){.template-token{grid-template-columns:1fr;gap:3px}.customer-name-button{max-width:190px}.customer-sync-steps,.customer-sync-summary{grid-template-columns:1fr}.customer-sync-steps li{min-height:0}.customer-sync-actions,.customer-sync-upload{grid-template-columns:1fr}.customer-sync-actions .button,.customer-sync-upload .button{width:100%}.customer-sync-preview>.form-actions,.customer-sync-confirm{align-items:stretch;flex-direction:column}.customer-sync-preview>.form-actions form,.customer-sync-confirm .button{width:100%}.customer-sync-confirm .use-toggle{width:100%}}

/* v1.26.2 · chỉ rõ đơn vừa tạo/chuyển trạng thái và vị trí đích */
.page-orders tr.row-operation-focus>td{background:#ecfdf3!important;border-bottom-color:#ccebd7}.page-orders tr.row-operation-focus:hover>td{background:#e4f9ec!important}.page-orders tr.row-operation-focus>td:first-child{box-shadow:inset 4px 0 #22a559!important}.page-orders tr.row-operation-focus:focus{outline:0}.page-orders tr.row-operation-focus:focus>td{box-shadow:inset 0 1px #86d5a1,inset 0 -1px #86d5a1}.page-orders tr.row-operation-focus:focus>td:first-child{box-shadow:inset 4px 0 #22a559,inset 0 1px #86d5a1,inset 0 -1px #86d5a1!important}.page-orders tr.row-operation-focus:focus>td:last-child{box-shadow:inset -1px 0 #86d5a1,inset 0 1px #86d5a1,inset 0 -1px #86d5a1}
.row-focus-label{display:inline-flex!important;align-items:center;margin:0 0 0 7px!important;padding:2px 7px;border:1px solid #a7dfb9;border-radius:999px;background:#f3fff6;color:#15733a!important;font-size:.62rem!important;font-weight:800;line-height:1.35;white-space:nowrap;vertical-align:middle}
@media(prefers-reduced-motion:no-preference){.page-orders tr.row-operation-focus>td{animation:order-result-arrive .7s ease-out}@keyframes order-result-arrive{0%{background:#c9f4d8}100%{background:#ecfdf3}}}

/* v1.31.2 · Chèn biến: khung nổi thoát vùng bị cắt, gõ từ khóa để lọc, có bàn phím và dấu "đã dùng" */
.template-picker-button[aria-expanded="true"]{border-color:#38bdf8!important;background:#eef8fc!important;color:#075985!important;box-shadow:0 0 0 3px rgba(14,165,233,.12)}
.template-token-popover{position:fixed;z-index:90;top:0;left:0;display:flex;flex-direction:column;width:min(470px,calc(100vw - 24px));max-height:min(430px,68vh);border:1px solid #bcd6e6;border-radius:12px;background:#fff;box-shadow:0 18px 46px rgba(2,32,71,.22);overflow:hidden}
.template-token-popover[hidden]{display:none!important}
.template-token-search{flex:0 0 auto;padding:8px;border-bottom:1px solid #e7edf4;background:#f7fafc}
.template-token-search input{width:100%;margin:0;height:34px;background:#fff}
.template-token-popover .template-token-list{flex:1 1 auto;overflow-y:auto;padding:6px}
.template-token[hidden]{display:none!important}
.template-token:hover,.template-token.is-active{background:#eef8fc;border-color:#8ccce8}
.template-token.is-active{box-shadow:inset 2px 0 #0ea5e9}
.template-token em{justify-self:end;padding:1px 6px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:.6rem;font-style:normal;font-weight:700;white-space:nowrap}
.template-token em[hidden]{display:none!important}
.template-token-empty{margin:0;padding:14px 12px;color:var(--muted);font-size:.74rem;text-align:center}
.template-token-empty[hidden]{display:none!important}
.template-token-hint{flex:0 0 auto;padding:7px 10px;border-top:1px solid #e7edf4;background:#f7fafc;color:#7b8aa0;font-size:.66rem;line-height:1.4}
.template-status{align-self:center;padding:4px 9px;border:1px solid #a7dfb9;border-radius:999px;background:#f3fff6;color:#15733a;font-size:.68rem;font-weight:700;white-space:nowrap}
.template-status[hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){.template-status.is-fresh{animation:template-status-in .45s ease-out}@keyframes template-status-in{0%{background:#c9f4d8;transform:translateY(-2px)}100%{background:#f3fff6;transform:none}}}
@media(max-width:620px){.template-token-popover{left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:64vh}.template-token-hint{display:none}}

/* v1.31.3 · nói rõ khi số cột trong kho vượt/thiếu trần cho phép */
.config-field-card [data-field-count-label].is-over-limit{color:#b91c1c}

/* v1.33.0 · Bảo hành liền mạch: chọn từ Bàn cấp, giữ việc cho tới khi đã gửi khách */
.warranty-waiting-badge.is-delivery{border-color:#94d3ad;background:#effcf4;color:#15733a}.warranty-waiting-badge.is-scheduled{border-color:#b9d6e7;background:#f0f8fc;color:#075f89}.warranty-waiting-badge.is-warning{border-color:#f3d08b;background:#fff8e8;color:#8a5a08}.warranty-waiting-badge.is-danger{border-color:#f2b5b5;background:#fff1f1;color:#b42318}
.warranty-replacement-arrow{display:block;margin-top:5px;padding:5px 7px;border-left:3px solid #22a559;border-radius:0 6px 6px 0;background:#f0fbf4;color:#15733a;font-size:.69rem}.warranty-replacement-arrow strong{font-size:.75rem}.warranty-replacement-arrow small{display:block;color:#547061!important}
.warranty-delivery-row-actions{align-items:center}.warranty-delivery-row-actions form{margin:0}.warranty-delivery-modal{width:min(620px,calc(100vw - 28px));padding:0;overflow:hidden;border-color:#a7dfb9}.warranty-delivery-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:9px;padding:0 24px 24px}.warranty-delivery-actions form{margin:0}.warranty-delivery-actions .button{width:100%;min-height:42px}.warranty-delivery-modal .cinema-complete-summary dd small{display:block;margin-top:3px;color:var(--muted);font-size:.67rem;font-weight:500}
@media(max-width:620px){.warranty-delivery-actions{grid-template-columns:1fr;padding:0 18px 18px}}

/* v1.34.0 · Đã báo khách, chờ phản hồi và bảo lưu quyền lợi theo từng đơn */
.warranty-waiting-badge.is-reserved{border-color:#c9b8ee;background:#f7f3ff;color:#6642a5}
.warranty-state-filters .reserved-tab.active{border-color:#8b5fc7;background:#f4edff;color:#623b99}
.warranty-report-button{border-color:#f0a8cb;background:#fff7fb;color:#a91859}.warranty-report-button:hover{border-color:#dc6aa1;background:#fff0f7;color:#8f164d}
.warranty-reserve-button{border-color:#cbbce9;background:#faf8ff;color:#67459d}.warranty-reserve-button:hover{border-color:#9f83d3;background:#f4efff;color:#563589}
.warranty-waiting-actions{align-items:center}.warranty-waiting-actions form{margin:0}
.warranty-more>section>form{display:block;margin:0}.warranty-more>section>form>button{display:block;width:100%;padding:7px 10px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.warranty-more>section>form>button:hover{background:#f2f5f8}
.warranty-waiting-callout{border-color:#b9d6e7;background:#f2f9fc;color:#194f68}
.warranty-reserve-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.warranty-reserve-summary>span{padding:14px;border:1px solid #d8cdef;border-radius:12px;background:linear-gradient(135deg,#f8f4ff,#fff)}.warranty-reserve-summary small,.warranty-reserve-summary strong{display:block}.warranty-reserve-summary small{color:#755b9d;font-size:.68rem}.warranty-reserve-summary strong{margin-top:3px;color:#5e3895;font-size:1.18rem;font-variant-numeric:tabular-nums}.warranty-reserve-summary em{display:block;margin-top:4px;color:#746b82;font-size:.7rem;font-style:normal}.warranty-reserve-modal.has-bonus-days .warranty-reserve-summary>span:last-child{border-color:#9f83d3;background:linear-gradient(135deg,#f3edff,#fff)}
.warranty-reserve-bonus-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;align-items:center;padding:13px 14px;border:1px solid #d9dfe8;border-radius:12px;background:#fbfcfe}.warranty-reserve-bonus-field>span:first-child{font-weight:700;color:#344054}.warranty-reserve-bonus-field>span:first-child small{margin-left:5px;color:#7b8493;font-weight:500}.warranty-reserve-bonus-field>small{grid-column:1/-1;color:#6c7686;line-height:1.35}.warranty-day-input{display:flex;align-items:center;overflow:hidden;border:1px solid #bdc7d5;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}.warranty-day-input:focus-within{border-color:#7650ad;box-shadow:0 0 0 3px rgba(118,80,173,.12)}.warranty-day-input input{width:100px;min-width:0;padding:9px 4px 9px 11px;border:0;outline:0;background:transparent;color:#5e3895;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.warranty-day-input b{padding:0 11px 0 6px;color:#6c7686;font-size:.78rem;white-space:nowrap}.warranty-reserve-modal.has-bonus-days .warranty-day-input{border-color:#8d6ac2;background:#fcfaff}.warranty-reserve-modal.has-bonus-days [data-reserve-bonus-preview]{color:#6f45a9;font-weight:800}
.warranty-reserve-callout{border-color:#d8cdef;background:#faf7ff;color:#54387d}.warranty-reserve-confirm{border-color:#7650ad;background:#7650ad;color:#fff;box-shadow:0 7px 18px rgba(118,80,173,.2)}.warranty-reserve-confirm:hover{border-color:#654296;background:#654296;color:#fff}.warranty-reserve-confirm:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}
@media(max-width:760px){.warranty-reserve-summary{grid-template-columns:1fr}.warranty-reserve-bonus-field{grid-template-columns:minmax(0,1fr) auto}.warranty-day-input input{width:84px}.warranty-actions{min-width:230px}.warranty-report-modal .form-grid.two{grid-template-columns:1fr}}

/* v1.35.1 · xác nhận Bảo hành luôn thấy và một dòng copy khách + mọi gói đang dùng */
.cinema-complete-summary .cinema-complete-packages{grid-column:1/-1;border-color:#bfe3f1;background:#f0faff}
.cinema-complete-copy-packages{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:10px;color:#075f89;font-weight:850;line-height:1.45;text-align:left}
.cinema-complete-copy-packages>span:first-child{min-width:0;overflow-wrap:anywhere}
.cinema-complete-copy-packages>span:last-child{flex:0 0 auto;color:#1597c5;font-size:.95rem}
.warranty-delivery-modal{overflow-x:hidden;overflow-y:auto}
.warranty-delivery-actions.is-legacy{grid-template-columns:1fr 1fr}
.warranty-global-search .cinema-search-group>button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:4px 12px;margin-bottom:4px;padding:8px 10px;border:1px solid #e6edf2;border-radius:9px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.warranty-global-search .cinema-search-group>button:not(:disabled):hover,.warranty-global-search .cinema-search-group>button:not(:disabled):focus-visible{border-color:#9ccde2;background:#f2fafd}.warranty-global-search .cinema-search-group>button:disabled{cursor:default}.warranty-global-search .cinema-search-group>button>strong{font-size:.8rem}.warranty-global-search .cinema-search-group>button>small{grid-column:1;overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.warranty-global-search .cinema-search-group>button>em{grid-area:1/2/3/3;align-self:center;max-width:24ch;overflow:hidden;padding:2px 7px;border-radius:999px;background:#eefbf3;color:#267343;font-size:.64rem;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.warranty-global-search .cinema-search-group>button.is-blocked>em{background:#f4f6f8;color:#6b7c8d}.warranty-global-search .cinema-search-group>button.is-blocked>strong{color:#5d6c7c}
/* Bảo hành: nguồn gợi ý và hồ sơ cụ thể, dùng cùng nhịp thao tác với Bàn cấp. */
body.warranty-workbench-open{overflow:hidden}
.warranty-cinema-modal{width:min(1080px,calc(100vw - 28px));max-width:none;height:min(780px,calc(100vh - 28px));height:min(780px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);padding:0;overflow:hidden}
.warranty-cinema-form{display:grid;height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;overflow:hidden}
.warranty-cinema-form>*{margin:0}.warranty-cinema-modal [hidden]{display:none!important}
.warranty-cinema-form>.modal-header{margin:0;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.warranty-cinema-form>.modal-header hgroup{min-width:0;flex:1}.warranty-cinema-form>.modal-header h2{font-size:1rem}.warranty-cinema-form>.modal-header p{font-size:.7rem}
.warranty-cinema-header-actions{display:flex;align-items:center;gap:6px;flex:none}.warranty-cinema-header-actions>[data-modal-close]{width:44px;height:44px;flex:none;border:0;border-radius:8px;background:#eef2f6;font-size:1.2rem}
.warranty-cinema-order-summary{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;padding:9px 16px;border-bottom:1px solid var(--line);background:#f8fafc;font-size:.73rem}
.warranty-cinema-order-summary>strong{flex:1 0 100%;min-width:0;overflow-wrap:anywhere}.warranty-cinema-order-summary>small{margin-left:auto;color:#9f1855;font-size:.68rem}
.warranty-cinema-body{min-height:0;overflow:auto;overscroll-behavior:contain;background:#f8fafc}
.warranty-cinema-normal{display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto}
.warranty-cinema-picker{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);gap:10px;min-height:0;padding:10px 14px}
.warranty-cinema-sources,.warranty-cinema-children{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:auto;border:1px solid #dce6ee;border-radius:9px;background:#fff}
.warranty-cinema-sources>header,.warranty-cinema-children>header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:9px 10px;border-bottom:1px solid var(--line);background:#fff}
.warranty-cinema-sources>header b,.warranty-cinema-children>header b{display:block;font-size:.78rem}.warranty-cinema-sources>header small,.warranty-cinema-children>header small{display:block;font-size:.64rem;color:var(--muted)}
.warranty-domain-filter{display:flex;flex:none;flex-wrap:wrap;gap:4px;padding:7px 8px 2px}.warranty-domain-filter button{max-width:100%;padding:4px 7px;border:1px solid #dce6ee;border-radius:14px;background:#fff;color:var(--source-color,#475569);font-size:.65rem;overflow-wrap:anywhere;cursor:pointer}
.warranty-domain-filter button[aria-pressed=true]{border-color:#64748b;background:#f1f5f9;text-decoration:underline;text-underline-offset:2px}.warranty-domain-filter small{color:var(--muted)}
.warranty-source-filter{margin:0;padding:5px 8px;flex:none}.warranty-source-filter input{margin:0;width:100%;height:34px;font-size:.72rem}
.warranty-source-list{min-height:0;overflow:auto;padding:5px;overscroll-behavior:contain}
.warranty-source-choice{display:grid;width:100%;grid-template-columns:3px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:48px;margin-bottom:4px;padding:6px 7px 6px 4px;border:1px solid transparent;border-radius:7px;background:#fff;text-align:left;cursor:pointer}
.warranty-source-choice .cinema-source-stripe{align-self:stretch;min-height:32px;background:var(--source-color,#cbd5e1)}.warranty-source-choice>span{min-width:0}.warranty-source-choice strong,.warranty-source-choice small{display:block;overflow-wrap:anywhere;line-height:1.4}
.warranty-source-choice strong{font-size:.74rem;color:var(--text)}.warranty-source-choice small{font-size:.65rem;color:var(--source-color,#475569)}.warranty-source-choice>span:last-child{text-align:right;white-space:nowrap}.warranty-source-choice b{font-size:.68rem;font-weight:600}.warranty-source-choice>span:last-child small{color:var(--muted)}
.warranty-source-choice:hover{border-color:#cbd5e1;background:#f8fafc}.warranty-source-choice.is-active{border-color:#a8c4c3;background:#edf8f4;background:color-mix(in srgb,var(--source-color) 12%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--source-color) 25%,#cbd5e1)}
.warranty-source-empty{padding:12px;margin:0;font-size:.72rem;color:var(--muted)}
.warranty-selected-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:.7rem}.warranty-selected-source strong{font-size:.8rem}.warranty-selected-source>small{grid-column:1/-1;color:var(--source-color,#475569);overflow-wrap:anywhere}.warranty-selected-source>span{grid-column:2;grid-row:1;font-size:.65rem;color:var(--muted)}
.warranty-cinema-children>.cinema-child-status{flex:none;margin:7px 10px;font-size:.68rem;overflow-wrap:anywhere}
.warranty-child-preview{display:grid;gap:3px;flex:none;margin:0 10px 8px;padding:10px 12px;border:1px solid #acd6c5;border-left:3px solid #19976c;border-radius:8px;background:#f1fbf6;overflow-wrap:anywhere}
.warranty-child-preview>small{font-size:.66rem;color:#526a5e}.warranty-child-preview>strong{font-size:.95rem}.warranty-child-preview>span{font-size:.75rem;color:#0577a1}.warranty-child-preview>em{font-size:.65rem;font-style:normal;color:#15733a}
.warranty-child-picker{min-height:0;margin:0 10px 10px;border:1px solid var(--line);border-radius:7px;overflow:visible}.warranty-child-picker>summary{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:38px;padding:6px 9px;cursor:pointer;font-size:.75rem;font-weight:600}.warranty-child-picker>summary>small{font-size:.64rem;font-weight:400;color:var(--muted)}
.warranty-child-search{display:flex;gap:5px;align-items:center;padding:6px 8px}.warranty-child-search input{width:100%;min-width:0;height:34px;margin:0;font-size:.73rem}
.warranty-child-fieldset{min-height:0;padding:0 8px 8px;margin:0;border:0;overflow:visible}.warranty-child-fieldset .cinema-child-list{max-height:none;display:grid;gap:4px}.warranty-child-fieldset .cinema-child-card{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;min-height:44px;padding:6px 7px;gap:6px;margin:0;text-align:left}.warranty-child-fieldset .cinema-child-card span{min-width:0}.warranty-child-fieldset .cinema-child-card strong,.warranty-child-fieldset .cinema-child-card small{display:block;overflow-wrap:anywhere}.warranty-child-fieldset .cinema-child-card small,.warranty-child-fieldset .cinema-child-card time{font-size:.64rem;color:var(--muted)}
.warranty-child-fieldset>.cinema-child-load-more{width:100%;margin-top:6px}.warranty-child-retry{align-self:flex-start;margin:0 10px 10px}
.warranty-cinema-details{margin:0 14px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.warranty-cinema-details>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:38px;padding:7px 10px;cursor:pointer;font-size:.71rem}.warranty-cinema-details>summary>em{margin-left:auto;font-size:.65rem;color:#047ca6;font-style:normal}.warranty-cinema-details>summary>span{color:var(--muted)}
.warranty-cinema-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px 10px}.warranty-cinema-fields>label{min-width:0;margin:0;font-size:.73rem}.warranty-cinema-fields>label:only-child{grid-column:1/-1}.warranty-cinema-fields input,.warranty-cinema-fields textarea{min-height:38px;font-size:.75rem}.warranty-cinema-fields small{font-size:.65rem}
.warranty-cinema-submit{display:flex;flex:none;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:#fff;z-index:2;box-shadow:0 -3px 9px rgba(15,35,65,.06)}.warranty-cinema-submit>span{min-width:0;margin-right:auto;font-size:.7rem;color:var(--muted);overflow-wrap:anywhere}.warranty-cinema-submit .warranty-replace-button{background:#ce2474;border-color:#ce2474;color:#fff}.warranty-cinema-submit button:disabled{cursor:not-allowed;opacity:.5}
.warranty-workbench .warranty-global-search{padding:10px 14px}.warranty-global-search>header{display:flex;gap:10px;align-items:center}.warranty-global-search h3{font-size:.9rem;margin:0}.warranty-global-search .cinema-search-field{padding:8px 0}.warranty-global-search .cinema-search-results{max-height:none;overflow:visible;padding:0}.warranty-search-hint{font-size:.7rem;margin:0 0 8px;color:var(--muted)}
@media(min-width:901px) and (max-height:650px){.warranty-cinema-normal{display:block;height:auto}.warranty-cinema-picker{min-height:360px}.warranty-source-list{max-height:310px}.warranty-cinema-children{max-height:420px}}
@media(max-width:900px){
 .warranty-cinema-modal{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .warranty-cinema-form>.modal-header{padding:8px 10px}.warranty-cinema-form>.modal-header p{font-size:.65rem}.warranty-cinema-header-actions>[data-warranty-global-open]{min-height:44px;padding:5px 7px;font-size:.7rem}
 .warranty-cinema-order-summary{gap:4px 10px;padding:7px 10px;font-size:.69rem}.warranty-cinema-order-summary>small{margin:0;font-size:.65rem}
 .warranty-cinema-normal{display:block;height:auto}.warranty-cinema-picker{grid-template-columns:1fr;gap:8px;padding:8px 10px}.warranty-cinema-sources,.warranty-cinema-children{overflow:visible}
 .warranty-workbench:not(.is-source-browser) .warranty-domain-filter,.warranty-workbench:not(.is-source-browser) .warranty-source-filter{display:none}
 .warranty-workbench.is-source-browser .warranty-cinema-children,.warranty-workbench.is-source-browser .warranty-cinema-details{display:none}
 .warranty-source-list{overflow:visible;max-height:none}.warranty-domain-filter button,.warranty-source-empty .link-button,.warranty-cinema-sources>header button{min-height:44px}
 .warranty-source-filter input,.warranty-child-search input,.warranty-global-search input{height:44px;font-size:16px}
 .warranty-selected-source{grid-template-columns:1fr}.warranty-selected-source>span{grid-column:1;grid-row:auto}.warranty-selected-source>small{font-size:.7rem}
 .warranty-child-preview{padding:9px 10px}.warranty-child-picker>summary,.warranty-child-search button,.warranty-child-retry,.warranty-child-fieldset .cinema-child-load-more{min-height:44px}
 .warranty-cinema-details{margin:0 10px 8px}.warranty-cinema-details>summary{min-height:44px}.warranty-cinema-fields{grid-template-columns:1fr}.warranty-cinema-fields input,.warranty-cinema-fields textarea{min-height:44px;font-size:16px}
 .warranty-cinema-submit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;padding:7px 10px max(7px,env(safe-area-inset-bottom))}.warranty-cinema-submit>span{grid-column:1/-1;font-size:.66rem}.warranty-cinema-submit .button{min-height:44px;padding:8px;white-space:normal;font-size:.76rem}
 .warranty-global-search>header .button,.warranty-global-search .cinema-search-group>button{min-height:44px}.warranty-global-search .cinema-search-group>button>em{max-width:13ch;white-space:normal}
}

@media(max-width:620px){.warranty-delivery-actions.is-legacy{grid-template-columns:1fr}.cinema-complete-copy-packages{font-size:.76rem}}

/* v1.38.0 · quyền lợi ngày chuyển một chiều sang số dư tiền và cấn từng phần */
.warranty-credit-modal{width:min(620px,calc(100vw - 28px))}.warranty-credit-summary,.warranty-credit-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.warranty-credit-summary>span,.warranty-credit-preview>span{padding:12px 13px;border:1px solid #d8cdef;border-radius:10px;background:#faf7ff}.warranty-credit-preview>span{border-color:#c7dce8;background:#f5fafc}.warranty-credit-summary small,.warranty-credit-summary strong,.warranty-credit-preview small,.warranty-credit-preview strong{display:block}.warranty-credit-summary small,.warranty-credit-preview small{color:#68798b;font-size:.66rem}.warranty-credit-summary strong{margin-top:3px;color:#613e96;font-size:1.05rem;font-variant-numeric:tabular-nums}.warranty-credit-preview strong{margin-top:3px;color:#075f89;font-size:.92rem;font-variant-numeric:tabular-nums}
.text-info{color:#036b9f}
.warranty-copy-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.warranty-copy-actions .button{white-space:nowrap}
@media(max-width:620px){.warranty-credit-summary,.warranty-credit-preview{grid-template-columns:1fr}.warranty-credit-modal .form-actions{align-items:stretch;flex-direction:column}.warranty-credit-modal .form-actions .button{width:100%}}
@media(max-width:620px){.warranty-copy-actions{align-items:stretch;flex-direction:column}.warranty-copy-actions .button{width:100%}}

/* v1.38.1 · dashboard ưu tiên nguồn doanh thu/lãi; biểu đồ và chi phí mở khi cần */
.finance-priority-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:15px;margin-bottom:15px}.finance-priority-grid>.card{margin-bottom:0}.finance-order-performance,.finance-product-performance{overflow:hidden}.finance-order-performance>.card-header,.finance-product-performance>.card-header{align-items:center;margin:0;padding:16px 18px 10px}.finance-order-performance table{min-width:850px}.finance-product-performance table{min-width:330px}.finance-order-performance td,.finance-product-performance td{vertical-align:middle}.finance-order-performance td>small,.finance-product-performance td>small,.finance-order-performance td>a+small{display:block;margin-top:2px;color:var(--muted);font-size:.63rem}.finance-order-performance td:nth-child(n+4),.finance-order-performance th:nth-child(n+4),.finance-product-performance td:nth-child(n+2),.finance-product-performance th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.finance-order-code{font-weight:850}.finance-order-date{white-space:nowrap;font-variant-numeric:tabular-nums}.finance-product-name{display:inline-flex;align-items:center;gap:7px;min-width:0}.finance-product-name i{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--product-color,#0ea5e9)}.finance-definition{padding:5px 8px;border-radius:999px;background:#f0f5f9;color:#66788b;font-size:.61rem;font-weight:750;white-space:nowrap}.finance-unknown-profit{color:#9a6700}.finance-table-note{margin:0;padding:8px 18px 12px;color:var(--muted);font-size:.63rem}.finance-recurring-compact{margin-bottom:10px;padding:15px 18px}.finance-recurring-compact>.card-header{align-items:center;margin-bottom:7px}.finance-recurring-compact .recurring-expense-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;max-height:170px}.finance-disclosure{margin-bottom:10px;padding:0;overflow:hidden}.finance-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;padding:12px 18px;cursor:pointer;list-style:none}.finance-disclosure>summary::-webkit-details-marker{display:none}.finance-disclosure>summary:hover{background:#f8fafc}.finance-disclosure>summary>span strong,.finance-disclosure>summary>span small{display:block}.finance-disclosure>summary>span strong{font-size:.82rem}.finance-disclosure>summary>span small{margin-top:2px;color:var(--muted);font-size:.65rem}.finance-disclosure>summary>em{color:#0879a9;font-size:.7rem;font-style:normal;font-weight:800;white-space:nowrap}.finance-disclosure>summary>em::after{display:inline-block;margin-left:7px;content:'⌄';transition:transform .16s}.finance-disclosure[open]>summary{border-bottom:1px solid var(--line)}.finance-disclosure[open]>summary>em::after{transform:rotate(180deg)}.finance-disclosure-body{padding:14px 18px 18px}.finance-chart-disclosure .finance-chart-legend{justify-content:flex-end;margin-bottom:4px}.finance-cost-disclosure .finance-disclosure-body{padding:0}.finance-cost-disclosure .finance-cost-breakdown{padding:16px 18px 10px;border-bottom:1px solid var(--line)}.finance-cost-disclosure .finance-cost-breakdown>.card-header{margin-bottom:7px}.finance-cost-disclosure td>small,.finance-cost-disclosure td>a+small{display:block;margin-top:2px;color:var(--muted);font-size:.63rem}
@media(max-width:1400px){.finance-priority-grid{grid-template-columns:1fr}.finance-product-performance table{min-width:560px}.finance-recurring-compact .recurring-expense-list{grid-template-columns:1fr}}
@media(max-width:620px){.finance-priority-grid{gap:10px}.finance-order-performance>.card-header,.finance-product-performance>.card-header{display:block;padding:14px}.finance-definition{display:inline-block;margin-top:8px}.finance-order-performance table{min-width:780px}.finance-product-performance table{min-width:450px}.finance-table-note{padding:8px 14px 11px}.finance-recurring-compact{padding:14px}.finance-recurring-compact>.card-header{display:block}.finance-recurring-compact>.card-header .button{width:100%;margin-top:9px}.finance-disclosure>summary{min-height:56px;padding:11px 14px}.finance-disclosure>summary>em{font-size:0}.finance-disclosure>summary>em::after{margin-left:0;font-size:.9rem}.finance-disclosure-body{padding:10px 14px 14px}.finance-cost-disclosure .finance-cost-breakdown{padding:14px}.finance-cost-disclosure .finance-cost-breakdown>.card-header{display:block}.finance-cost-disclosure .finance-cost-breakdown>.card-header .button{width:100%;margin-top:9px}}

/* Nhắc gia hạn: kết thúc đơn trước, đưa đúng việc thu hồi sang hàng chờ hậu kỳ */
.recall-renewal-form{gap:13px}.recall-renewal-form>.callout{margin:0}.recall-impact-list{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:recall-step}.recall-impact-list li{position:relative;min-height:52px;padding:9px 11px 9px 43px;border:1px solid #dce7ee;border-radius:9px;background:#f8fbfd;counter-increment:recall-step}.recall-impact-list li::before{position:absolute;top:10px;left:11px;display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#e1f3fa;color:#0579a8;content:counter(recall-step);font-size:.68rem;font-weight:850}.recall-impact-list strong,.recall-impact-list small{display:block}.recall-impact-list strong{font-size:.76rem}.recall-impact-list small{margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.45}.recall-renewal-form>.form-actions{margin-top:2px}
@media(max-width:620px){.recall-renewal-form>.form-actions{align-items:stretch;flex-direction:column}.recall-renewal-form>.form-actions .button{width:100%;min-height:44px}}

.invoice-amount-copy{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.invoice-amount-copy b{color:#fff;font-size:inherit}.invoice-amount-copy span{display:grid;width:20px;height:20px;place-items:center;border-radius:5px;background:rgba(255,255,255,.18);font-size:.65rem}.invoice-amount-copy:hover span,.invoice-amount-copy:focus-visible span{background:rgba(255,255,255,.3)}.invoice-amount-copy:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}

/* v1.50.0 · VAT cấu hình riêng theo nhóm */
.product-vat-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;gap:14px;padding:8px 12px}.product-vat-card .config-switch-row{padding:5px 0;border:0}.product-vat-rate{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:10px;margin:0}.product-vat-rate strong,.product-vat-rate small{display:block}.product-vat-rate strong{font-size:.72rem}.product-vat-rate small{margin-top:1px;color:var(--muted);font-size:.64rem;font-weight:400;line-height:1.25}.product-vat-rate input{height:34px;margin:0;padding:6px 8px}.product-vat-rate input:disabled{background:#f1f5f7;color:#82919b}
@media(max-width:620px){.product-vat-card{grid-template-columns:1fr;gap:5px}.product-vat-rate{grid-template-columns:minmax(0,1fr) 82px;padding:5px 0}.config-price-toolbar{align-items:flex-start}.config-price-toolbar p{max-width:60%;line-height:1.35}.config-price-toolbar .button{min-height:40px}.config-price-columns,.config-price-card .price-row{grid-template-columns:62px minmax(0,1.15fr) minmax(0,.85fr) 40px;gap:6px}.config-price-columns{font-size:.59rem}.config-price-columns span{padding-inline:5px}.config-price-card .price-row{padding:6px 0}.config-price-card .price-row input{height:40px;padding:7px 6px;font-size:16px}.config-price-card .price-row .icon-button.danger{width:40px;height:40px}}
@media(max-width:350px){.config-price-columns,.config-price-card .price-row{grid-template-columns:40px minmax(78px,1.6fr) minmax(44px,.8fr) 40px;gap:4px}.config-price-columns{font-size:.55rem}.config-price-columns span{padding-inline:2px}.config-price-card .price-row input{padding-inline:4px;font-size:14px}}

/* v1.49.0 · Thu tiền VietQR gắn với đơn hàng */
.payment-qr-heading{align-items:flex-end}.payment-qr-shell{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);align-items:start;gap:16px}.payment-qr-list{position:sticky;top:76px;padding:0;overflow:hidden}.payment-qr-list>header{padding:17px 17px 8px}.payment-qr-list>header h2{margin:0}.payment-qr-list>header p{margin:3px 0 0;color:var(--muted);font-size:.7rem}.payment-qr-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px 17px}.payment-qr-search input{min-width:0}.payment-qr-tabs{margin:3px 17px 8px}.payment-qr-request-list{display:grid;max-height:calc(100vh - 310px);overflow:auto;border-top:1px solid var(--line)}.payment-qr-request{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.payment-qr-request:hover{background:#f7fbfc}.payment-qr-request.active{background:#ecf8f7;box-shadow:inset 3px 0 #0f8a7a}.payment-qr-request>span{display:grid;align-content:center;gap:3px;min-width:0}.payment-qr-request>span:last-child{text-align:right}.payment-qr-request strong,.payment-qr-request b{font-size:.76rem}.payment-qr-request small{overflow:hidden;color:var(--muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.payment-qr-main{display:grid;gap:16px;min-width:0}.payment-qr-result{padding:0;overflow:hidden}.payment-qr-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fbfcfd}.payment-qr-result-head>span:first-child{display:grid;gap:2px}.payment-qr-result-head small{color:#64748b;font-size:.6rem;font-weight:850;letter-spacing:.12em}.payment-qr-result-head strong{color:#173b45;font-size:1.05rem;letter-spacing:.04em}.payment-qr-result-body{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr)}.payment-qr-visual{display:grid;min-height:390px;place-items:center;padding:22px;border-right:1px solid var(--line);background:linear-gradient(145deg,#effaf8,#f8fbfc)}.payment-qr-visual img{display:block;width:min(100%,360px);height:auto;aspect-ratio:1;object-fit:contain;border:10px solid #fff;border-radius:18px;box-shadow:0 12px 35px rgba(20,59,68,.14)}.payment-qr-summary{display:grid;align-content:start;gap:14px;padding:20px}.payment-qr-summary .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.payment-qr-summary .detail-grid section{min-width:0}.payment-qr-summary dd{overflow-wrap:anywhere}.payment-qr-summary dd small{display:block;margin-top:3px}.payment-qr-summary code{display:inline-block;padding:5px 8px;border-radius:7px;background:#e8f6f4;color:#087768;font-family:inherit;font-weight:850;letter-spacing:.04em}.payment-qr-amount{color:#087f5b;font-size:1.12rem!important}.payment-qr-actions{display:flex;flex-wrap:wrap;gap:8px}.payment-qr-confirm{border:1px solid #f3d28d;border-radius:12px;background:#fffaf0}.payment-qr-confirm>summary{padding:12px 14px;color:#8a5708;font-size:.76rem;font-weight:800;cursor:pointer}.payment-qr-confirm>form{padding:0 14px 14px}.payment-qr-cancel-form{text-align:right}.payment-qr-closed{display:grid;max-width:290px;gap:7px;padding:24px;border:1px dashed #b8c5cb;border-radius:15px;background:rgba(255,255,255,.75);color:#687983;text-align:center}.payment-qr-closed::before{display:grid;width:48px;height:48px;place-items:center;margin:0 auto 4px;border-radius:50%;background:#e9eef1;color:#70808a;content:'×';font-size:1.6rem}.payment-qr-closed strong{color:#425864}.payment-qr-closed span{font-size:.72rem;line-height:1.5}.payment-qr-closed.is-error{border-color:#f2c2bd;background:#fff8f7}.payment-qr-closed.is-error::before{background:#fee9e7;color:#b42318;content:'!'}.payment-qr-empty{display:grid;min-height:220px;place-items:center;align-content:center;gap:5px;color:var(--muted);text-align:center}.payment-qr-empty strong{color:var(--text)}.payment-qr-unpaid{padding:0;overflow:hidden}.payment-qr-order-list{display:grid}.payment-qr-order-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}.payment-qr-order-list article>span{display:grid;gap:3px;min-width:0}.payment-qr-order-list article>span:last-child{justify-items:end}.payment-qr-order-list small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.payment-qr-order-list b{font-size:.76rem}.payment-qr-form-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);align-items:end;gap:12px;padding:12px;border:1px solid #bfe2dc;border-radius:12px;background:#f1fbf9}.payment-qr-form-option>p{display:grid;gap:3px;margin:0;color:#46676c}.payment-qr-form-option>p strong{color:#17695f;font-size:.72rem}.payment-qr-form-option>p small{font-size:.64rem;line-height:1.4}
.payment-qr-settings-intro{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #cbe6e1;border-radius:12px;background:#f1fbf9}.payment-qr-settings-intro>span{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;background:#0f8a7a;color:#fff;font-size:1.05rem}.payment-qr-settings-intro p{display:grid;gap:3px;margin:0}.payment-qr-settings-intro strong{font-size:.78rem}.payment-qr-settings-intro small{color:#557279;font-size:.68rem;line-height:1.45}.payment-bank-settings{margin-top:16px;padding:0;overflow:hidden}.payment-bank-settings>.card-header{align-items:flex-start}.payment-bank-settings>.card-header form{flex:0 0 auto}.payment-bank-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);border-top:1px solid var(--line)}.payment-bank-list{display:grid;align-content:start;border-right:1px solid var(--line)}.payment-bank-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:14px 16px;border-bottom:1px solid var(--line)}.payment-bank-card.is-archived{background:#f8fafb;opacity:.72}.payment-bank-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#e8f6f4;color:#087768;font-size:.95rem;font-weight:850}.payment-bank-card>section{display:grid;gap:2px;min-width:0}.payment-bank-card header{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.payment-bank-card p,.payment-bank-card b,.payment-bank-card small{margin:0}.payment-bank-card p{color:var(--muted);font-size:.66rem}.payment-bank-card b{font-size:.86rem;letter-spacing:.03em}.payment-bank-card small{color:#60717d;font-size:.67rem}.payment-bank-card>footer{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.payment-bank-card>footer form{display:inline-flex}.payment-bank-form{align-content:start;padding:17px;background:#fbfcfd}.payment-bank-form>header{display:grid;gap:2px}.payment-bank-form h3{margin:0;font-size:.95rem}
.payment-qr-content-config{display:grid;gap:11px;padding:13px;border:1px solid #d8e5e3;border-radius:12px;background:#fff}.payment-qr-content-config>header{display:grid;gap:2px}.payment-qr-content-config>header strong{font-size:.78rem}.payment-qr-content-config>header small,.payment-qr-content-config>small{color:#60757a;font-size:.65rem;line-height:1.45}.payment-qr-content-config label{font-size:.7rem}.payment-qr-content-config>p{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:10px 12px;border-radius:9px;background:#eaf8f5}.payment-qr-content-config>p span{color:#527078;font-size:.67rem}.payment-qr-content-config>p code{max-width:100%;overflow-wrap:anywhere;background:#fff;color:#087768;font-size:.88rem;font-weight:900;letter-spacing:.04em}
@media(max-width:1100px){.payment-qr-result-body{grid-template-columns:minmax(250px,330px) minmax(0,1fr)}.payment-qr-summary .detail-grid{grid-template-columns:1fr}.payment-bank-grid{grid-template-columns:1fr}.payment-bank-list{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:820px){.payment-qr-heading{display:grid;grid-template-columns:1fr;align-items:stretch}.payment-qr-heading .heading-actions,.payment-qr-heading .heading-actions .button{width:100%}.payment-qr-shell{grid-template-columns:1fr}.payment-qr-list{position:static}.payment-qr-request-list{max-height:310px}.payment-qr-result-body{grid-template-columns:1fr}.payment-qr-visual{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.payment-qr-visual img{width:min(100%,340px)}.payment-qr-form-option{grid-template-columns:1fr}}
@media(max-width:560px){.payment-qr-list>header,.payment-qr-search{padding-inline:12px}.payment-qr-tabs{margin-inline:12px}.payment-qr-request{padding:11px 12px}.payment-qr-result-head{padding:13px}.payment-qr-result-body{display:block}.payment-qr-visual{padding:14px}.payment-qr-visual img{width:100%;border-width:7px;border-radius:14px}.payment-qr-summary{padding:14px}.payment-qr-actions{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.payment-qr-actions .button{min-width:0}.payment-qr-order-list article{grid-template-columns:1fr;padding:12px}.payment-qr-order-list article>span:last-child{grid-template-columns:1fr auto;align-items:center;justify-items:start}.payment-qr-order-list article .button{justify-self:end}.payment-bank-settings>.card-header{display:grid;gap:10px}.payment-bank-settings>.card-header form,.payment-bank-settings>.card-header button{width:100%}.payment-bank-card{padding-inline:12px}.payment-bank-form{padding:14px}.payment-qr-confirm .form-actions .button{width:100%}}
@media(max-width:560px){.payment-qr-content-config>p{align-items:stretch;flex-direction:column;gap:6px}.payment-qr-content-config>p code{display:block;width:100%;box-sizing:border-box}}
@media(max-width:360px){.payment-qr-actions{grid-template-columns:1fr}.payment-qr-actions .button:first-child{grid-column:auto}.payment-qr-order-list article>span:last-child{grid-template-columns:1fr}.payment-qr-order-list article .button{justify-self:stretch;width:100%}.payment-bank-card{grid-template-columns:1fr}.payment-bank-card>footer{grid-column:1}.payment-bank-mark{display:none}}

/* QR tạm thời ngay trong các popup thu tiền/gia hạn; không tạo lịch sử QR. */
.payment-qr-inline-modal{width:min(1040px,calc(100vw - 28px));max-height:min(780px,calc(100dvh - 28px));padding:0;overflow:hidden}
.payment-workflow-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit;background:#fff}
.payment-workflow-form>.modal-header{margin:0;padding:16px 18px 14px;border-bottom:1px solid #e6ebef;background:#fff}
.payment-workflow-form>.modal-header h2{font-size:1.04rem;letter-spacing:-.01em}.payment-workflow-form>.modal-header p{margin-top:2px;font-size:.7rem}
.payment-workflow-form>.modal-header>button{cursor:pointer}.payment-workflow-form>.modal-header>button:hover{background:#e3e9ee}
.payment-workflow-body{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:0;overflow-y:auto;scrollbar-gutter:stable;background:#fff}
.payment-workflow-main{min-width:0;padding:15px 18px 13px}.payment-workflow-main.form-stack>*{margin-bottom:11px}.payment-workflow-main.form-stack>*:last-child{margin-bottom:0}
.payment-workflow-body>.payment-qr-inline{position:sticky;top:14px;align-self:start;grid-template-columns:190px minmax(0,1fr);width:auto;margin:14px 14px 14px 0}.payment-workflow-body>.payment-qr-inline>header,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-actions,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-missing{grid-column:1/-1}.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-visual{grid-column:1;grid-row:2/span 3;width:190px;margin:0}.payment-workflow-body>.payment-qr-inline>label,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-status{grid-column:2}.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.payment-workflow-actions{min-height:61px;margin:0;padding:11px 18px 13px;border-top:1px solid #e2e8ed;background:#fbfcfd}.payment-workflow-actions .button-primary{min-width:142px}.payment-workflow-help{display:block;color:var(--muted);font-size:.65rem;line-height:1.45}
#quick-settle{width:min(760px,calc(100vw - 28px))}#quick-settle .payment-workflow-body{display:block}.order-qr-modal{width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden}.order-qr-dialog-form{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:inherit;background:#fff}.order-qr-dialog-form>.modal-header{margin:0;padding:14px 16px 12px;border-bottom:1px solid #e6ebef}.order-qr-dialog-form>.modal-header h2{font-size:1rem}.order-qr-dialog-form>.modal-header p{margin-top:2px;font-size:.7rem}.order-qr-dialog-body{min-height:0;padding:12px;overflow-y:auto}.order-qr-dialog-body>.payment-qr-inline{width:100%;box-sizing:border-box}
.payment-qr-inline{display:grid;align-content:start;gap:8px;margin:0;padding:11px;border:1px solid #b9dfd8;border-radius:13px;background:linear-gradient(155deg,#f1fbf9,#f8fbfc);box-shadow:0 6px 18px rgba(16,91,81,.07)}
.payment-qr-inline>header{display:flex;align-items:center;gap:9px}.payment-qr-inline>header>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px;background:#0f8a7a;color:#fff;font-weight:850}.payment-qr-inline>header p{display:grid;gap:1px;margin:0}.payment-qr-inline>header strong{color:#155f56;font-size:.78rem}.payment-qr-inline>header small{color:#5b7378;font-size:.62rem;font-weight:500}
.payment-qr-inline-visual{display:grid;width:min(100%,220px);aspect-ratio:76/65;place-items:center;margin-inline:auto;overflow:hidden;border:1px solid #d7e9e5;border-radius:11px;background:#fff}.payment-qr-inline-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:copy}.payment-qr-inline-image-button[hidden]{display:none}.payment-qr-inline-image-button:focus-visible{outline:3px solid #38bdf8;outline-offset:-3px}.payment-qr-inline-visual img{display:block;width:100%;height:100%;object-fit:contain}.payment-qr-inline-visual img[hidden]{display:none}.payment-qr-inline-placeholder{display:grid;place-items:center;gap:5px;padding:14px;color:#688087;text-align:center}.payment-qr-inline-placeholder[hidden]{display:none}.payment-qr-inline-placeholder>span{display:grid;width:45px;height:45px;place-items:center;border-radius:12px;background:#e2f4f0;color:#167365;font-weight:900}.payment-qr-inline-placeholder small{max-width:210px;font-size:.67rem;line-height:1.4}.payment-qr-inline-placeholder.is-error>span{background:#fee9e7;color:#b42318}
.payment-qr-inline-amount{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:7px 9px;border-radius:8px;background:#ddf5ef}.payment-qr-inline-amount span{color:#46676c;font-size:.62rem}.payment-qr-inline-amount strong{color:#087f5b;font-size:.82rem}
.payment-qr-inline label{margin:0;color:#47626a;font-size:.68rem}.payment-qr-inline select,.payment-qr-inline input{height:38px;margin-top:3px;padding:7px 9px;font-size:.73rem}.payment-qr-inline label small{margin-top:3px;font-size:.59rem;line-height:1.35}.payment-qr-inline-status{min-height:30px;margin:0;color:#60757a;font-size:.62rem;line-height:1.4}.payment-qr-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.payment-qr-inline-actions .button{min-width:0;padding-inline:5px;font-size:.64rem}.payment-qr-inline-actions [aria-disabled="true"]{pointer-events:none;opacity:.5}
.payment-qr-inline-missing{display:grid;gap:4px;padding:14px;border:1px dashed #e1b96a;border-radius:10px;background:#fffaf0}.payment-qr-inline-missing strong{color:#8a5708;font-size:.75rem}.payment-qr-inline-missing span,.payment-qr-inline-missing a{font-size:.66rem;line-height:1.4}
.payment-qr-inline.is-stacked{grid-template-columns:170px minmax(0,1fr);align-items:start}.payment-qr-inline.is-stacked>header,.payment-qr-inline.is-stacked>.payment-qr-inline-actions,.payment-qr-inline.is-stacked>.payment-qr-inline-missing{grid-column:1/-1}.payment-qr-inline.is-stacked>.payment-qr-inline-visual{grid-column:1;grid-row:2/span 4}.payment-qr-inline.is-stacked>.payment-qr-inline-amount,.payment-qr-inline.is-stacked>label,.payment-qr-inline.is-stacked>.payment-qr-inline-status{grid-column:2}.payment-qr-inline.is-stacked>.payment-qr-inline-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:940px){.payment-qr-inline-modal,#quick-settle{width:min(600px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.payment-workflow-body{grid-template-columns:1fr}.payment-workflow-body>.payment-qr-inline{position:static;grid-template-columns:170px minmax(0,1fr);margin:0 14px 14px}.payment-workflow-body>.payment-qr-inline>header,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-actions,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-missing{grid-column:1/-1}.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-visual{grid-column:1;grid-row:2/span 3;width:100%;margin:0}.payment-workflow-body>.payment-qr-inline>label,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-status{grid-column:2}.payment-qr-inline.is-stacked{grid-template-columns:140px minmax(0,1fr)}}
@media(max-width:540px){.payment-qr-inline-modal,.order-qr-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:13px}.payment-workflow-form>.modal-header{padding:13px 13px 11px}.payment-workflow-main{padding:12px 13px}.payment-workflow-main input,.payment-workflow-main select,.payment-workflow-main textarea{font-size:16px}.payment-workflow-body>.payment-qr-inline{grid-template-columns:1fr;margin:0 13px 12px}.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-visual,.payment-workflow-body>.payment-qr-inline>label,.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-status{grid-column:1;grid-row:auto}.payment-workflow-body>.payment-qr-inline>.payment-qr-inline-visual{width:min(100%,260px);margin-inline:auto}.payment-workflow-actions{display:grid;grid-template-columns:minmax(88px,.45fr) minmax(0,1fr);padding:9px 13px 11px}.payment-workflow-actions .button{width:100%;min-width:0;white-space:normal}.payment-qr-inline.is-stacked{grid-template-columns:1fr}.payment-qr-inline.is-stacked>.payment-qr-inline-visual,.payment-qr-inline.is-stacked>.payment-qr-inline-amount,.payment-qr-inline.is-stacked>label,.payment-qr-inline.is-stacked>.payment-qr-inline-status{grid-column:1;grid-row:auto}.payment-qr-inline-actions,.payment-qr-inline.is-stacked>.payment-qr-inline-actions{grid-template-columns:1fr 1fr}.payment-qr-inline-actions .button{min-height:44px;font-size:.7rem}.order-qr-dialog-form>.modal-header{padding:12px 13px 10px}.order-qr-dialog-body{padding:10px}.order-qr-dialog-body>.payment-qr-inline select,.order-qr-dialog-body>.payment-qr-inline input{height:44px;font-size:16px}}

/* Cột chi tiết ưu tiên chiều rộng đọc được khi cùng hiện sidebar và danh sách QR. */
.payment-qr-result-body{grid-template-columns:minmax(260px,.85fr) minmax(250px,1.15fr)}
.payment-qr-summary .detail-grid{grid-template-columns:1fr}
.payment-qr-tabs{display:flex!important;width:auto!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap;overflow-x:auto}
.form-actions [data-payment-submit-amount]{margin-inline:4px}
@media(max-width:1100px){.payment-qr-result-body{grid-template-columns:minmax(240px,.9fr) minmax(240px,1.1fr)}}
@media(max-width:820px){.payment-qr-result-body{grid-template-columns:1fr}}

/* v1.50.6 · Trang Cấu hình gọn theo khối, ưu tiên trạng thái và thao tác chính. */
.settings-page-heading{align-items:center}.settings-heading-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.settings-heading-status>span,.settings-count-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #dce5ec;border-radius:999px;background:#fff;color:#526574;font-size:.66rem;font-weight:750;white-space:nowrap}.settings-heading-status i{width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px #edf1f5}.settings-heading-status i.is-ready{background:#15a46d;box-shadow:0 0 0 3px #dcf8ea}.settings-count-badge{border-color:#bee7dd;background:#edfbf7;color:#16715f}.settings-form-v3{display:grid;gap:12px;background:transparent;border:0;box-shadow:none}.settings-form-v3>.settings-section,.settings-compact-grid>.settings-section{margin:0;padding:17px 18px;border:1px solid #dce5ec;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,35,65,.035)}.settings-section-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 1px}.settings-section-head hgroup{min-width:0}.settings-section-head h2,.settings-section-head p{margin:0}.settings-section-head h2{font-size:.94rem}.settings-section-head p{margin-top:2px;color:var(--muted);font-size:.67rem;font-weight:450}.settings-section-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#e8f5fb;color:#087ba6;font-size:.68rem;font-weight:900;letter-spacing:-.01em}.settings-section-icon.is-violet{background:#f0ebff;color:#7048c8}.settings-section-icon.is-amber{background:#fff3dc;color:#a96308}.settings-section-icon.is-teal{background:#e2f6f1;color:#0a7c6b}.settings-primary-fields{margin:1px 0 0}.settings-general-fields{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.65fr);align-items:start;gap:11px}.label-hint{float:right;color:#788896;font-size:.62rem;font-weight:550}.settings-compact-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:12px}.settings-compact-grid .settings-section{align-content:start}.settings-compact-grid .config-switch-row{max-width:none}.settings-cinema-products{gap:9px}.settings-cinema-products small{white-space:nowrap}.settings-qr-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:stretch;gap:10px}.settings-qr-grid>*{height:100%;box-sizing:border-box}.payment-qr-settings-intro p>b{margin-top:4px;color:#16715f;font-size:.64rem;line-height:1.35}.settings-form-v3>.settings-save-bar{border:1px solid #d8e1e8;border-radius:11px}.payment-bank-settings{scroll-margin-top:72px}.payment-bank-header{align-items:center;border-bottom:1px solid var(--line)}.payment-bank-header>aside{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payment-bank-header>aside form{margin:0}.payment-bank-list{display:grid;border:0;background:#f7f9fb}.payment-bank-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);background:#fff}.payment-bank-card:last-child{border-bottom:0}.payment-bank-card>section{align-content:center}.payment-bank-card>footer{grid-column:3;grid-row:1;justify-content:flex-end;margin:0}.payment-bank-editor{border-top:1px solid var(--line);background:#fff}.payment-bank-editor>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;list-style:none}.payment-bank-editor>summary::-webkit-details-marker{display:none}.payment-bank-editor>summary:hover{background:#f7fbfc}.payment-bank-editor>summary span:nth-child(2){display:grid;gap:2px}.payment-bank-editor>summary strong{font-size:.76rem}.payment-bank-editor>summary small{color:var(--muted);font-size:.64rem;font-weight:450}.payment-bank-editor>summary>b{color:#6a7b88;font-size:.68rem}.payment-bank-editor>summary>b::before{content:'Mở biểu mẫu'}.payment-bank-editor[open]>summary>b::before{content:'Thu gọn'}.payment-bank-editor[open]>summary{border-bottom:1px solid var(--line);background:#f7fbfc}.payment-bank-editor-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:#e9f6fb;color:#087ba6;font-size:1rem;font-weight:800}.payment-bank-form{padding:15px 16px 16px;background:#fff}.payment-bank-fields{gap:10px}.payment-bank-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:1px}.payment-bank-form-actions>.use-toggle{margin:0}.payment-bank-form-actions>span{display:flex;justify-content:flex-end;gap:7px}.settings-legacy-disclosure{margin-top:12px;padding:0;overflow:hidden}.settings-legacy-disclosure>summary{padding:13px 16px;cursor:pointer;list-style:none}.settings-legacy-disclosure>summary::-webkit-details-marker{display:none}.settings-legacy-disclosure>summary span{display:grid;gap:2px}.settings-legacy-disclosure>summary strong{font-size:.76rem}.settings-legacy-disclosure>summary small{color:var(--muted);font-size:.65rem;font-weight:450}.settings-legacy-disclosure>summary::after{float:right;margin-top:-27px;color:#7a8996;content:'⌄'}.settings-legacy-disclosure[open]>summary::after{transform:rotate(180deg)}.settings-legacy-disclosure>p{margin:0;padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.69rem}
@media(max-width:1060px){.settings-compact-grid,.settings-qr-grid{grid-template-columns:1fr}.settings-cinema-products small{white-space:normal}}
@media(max-width:720px){.settings-page-heading{align-items:flex-start;flex-direction:column}.settings-heading-status{justify-content:flex-start}.settings-general-fields{grid-template-columns:1fr}.payment-bank-card{grid-template-columns:auto minmax(0,1fr)}.payment-bank-card>footer{grid-column:2;grid-row:auto;justify-content:flex-start;margin-top:5px}.payment-bank-form-actions{align-items:stretch;flex-direction:column}.payment-bank-form-actions>span{display:grid;grid-template-columns:1fr 1fr}.payment-bank-form-actions>span:has(.button:only-child){grid-template-columns:1fr}.payment-bank-form-actions .button{width:100%}}
@media(max-width:560px){.settings-form-v3>.settings-section,.settings-compact-grid>.settings-section{padding:15px 13px}.settings-section-head{align-items:start}.settings-section-head>.settings-count-badge{grid-column:2;justify-self:start}.settings-heading-status{width:100%}.settings-heading-status>span{flex:1;justify-content:center}.payment-bank-header>aside{align-items:stretch;flex-direction:column}.payment-bank-header>aside .settings-count-badge{align-self:flex-start}.payment-bank-editor>summary{padding:12px}.payment-bank-editor>summary>b{font-size:0}.payment-bank-editor>summary>b::before{content:'⌄';font-size:1rem}.payment-bank-editor[open]>summary>b::before{content:'⌃'}.payment-bank-form{padding:13px 12px}.payment-bank-card{padding:12px}.payment-bank-card>footer{grid-column:1/-1}.payment-bank-card>footer .button{min-height:38px}.settings-legacy-disclosure>summary{padding:13px}}

/* v1.54.1 · Cấu hình theo khu vực: giảm tải nhận thức và làm rõ phạm vi lưu. */
.page-eyebrow,.card-eyebrow{display:block;margin-bottom:5px;color:#087ba6;font-size:.67rem;font-weight:800;letter-spacing:.09em}.page-settings .settings-page-heading{width:min(1200px,100%);margin-inline:auto;margin-bottom:18px}.page-settings .settings-page-heading h1{margin-top:0}.page-settings.ui-v2 .settings-workspace,.page-settings .settings-workspace{display:grid;grid-template-columns:240px minmax(0,940px);justify-content:center;gap:18px;align-items:start}.page-settings .settings-nav{position:sticky;top:76px;display:grid;gap:7px;margin:0;padding:10px}.page-settings .settings-nav>strong{padding:7px 9px 5px;color:#5b6b7d;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.page-settings .settings-nav>nav{display:grid;gap:4px}.page-settings .settings-nav>nav>a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid transparent;border-radius:10px;color:#4e6075;text-decoration:none}.page-settings .settings-nav>nav>a>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#f0f4f7;color:#758596;font-size:.67rem;font-weight:850}.page-settings .settings-nav>nav>a>b,.page-settings .settings-nav>nav>a small{display:block}.page-settings .settings-nav>nav>a>b{font-size:.78rem;font-weight:700}.page-settings .settings-nav>nav>a small{margin-top:2px;color:#83909e;font-size:.66rem;font-weight:450;line-height:1.3}.page-settings .settings-nav>nav>a:hover{border-color:#d6e8f0;background:#f5fbfd}.page-settings .settings-nav>nav>a.active{border-color:#bfe4f2;background:#ecf8fc;color:#075f84;box-shadow:inset 3px 0 #12a8df}.page-settings .settings-nav>nav>a.active>span{background:#d8f2fb;color:#0576a2}.settings-nav-external{display:flex;justify-content:space-between;margin-top:2px;padding:10px;border-top:1px solid var(--line);color:#526574;font-size:.75rem;font-weight:650}.page-settings .settings-content{display:grid;gap:14px;min-width:0}.page-settings .settings-form-v3{gap:14px}.page-settings .settings-form-v3>.settings-section,.page-settings .settings-compact-grid>.settings-section,.page-settings .settings-cinema-single>.settings-section,.page-settings .settings-content>.settings-section{padding:22px 24px;border-radius:14px;box-shadow:0 7px 24px rgba(15,35,65,.045)}.page-settings .settings-compact-grid{grid-template-columns:1fr}.page-settings .settings-section-head{gap:12px;margin-bottom:3px}.page-settings .settings-section-head h2{font-size:1.05rem}.page-settings .settings-section-head p{font-size:.76rem;line-height:1.45}.page-settings .settings-section-icon{width:38px;height:38px;border-radius:11px}.page-settings .settings-section label{font-size:.8rem}.page-settings .settings-section label small,.page-settings .settings-inline-note,.page-settings .payment-bank-settings small{font-size:.72rem;line-height:1.5}.page-settings .settings-section input,.page-settings .settings-section select{min-height:42px}.page-settings .settings-save-bar{position:sticky;bottom:12px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px 11px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(15,35,65,.12)}.page-settings .settings-save-bar>span{color:#67788a;font-size:.75rem}.page-settings .settings-save-bar .button:disabled{cursor:not-allowed;opacity:.52}.settings-context-note{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid #bfe4df;border-radius:12px;background:#f0faf8;color:#255f58}.settings-context-note>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:7px;background:#d8f2ed;color:#087768;font-weight:850}.settings-context-note p,.settings-context-note strong,.settings-context-note small{display:block;margin:0}.settings-context-note strong{font-size:.78rem}.settings-context-note small{margin-top:3px;color:#56736f;font-size:.7rem;line-height:1.45}.settings-technical-details{margin:12px 0;padding:0;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.settings-technical-details>summary{padding:11px 12px;cursor:pointer;color:#526574;font-size:.75rem;font-weight:750}.settings-technical-details>label{padding:0 12px 12px}.page-settings .sepay-health-grid p{gap:5px;padding:13px}.page-settings .sepay-health-grid p>small{color:#71808e;font-size:.68rem;line-height:1.4}.page-settings .payment-bank-settings{margin-top:0}.page-settings .settings-legacy-disclosure{margin-top:0}

@media(max-width:900px){.page-settings.ui-v2 .settings-workspace,.page-settings .settings-workspace{display:block}.page-settings.ui-v2 .settings-nav,.page-settings .settings-nav{position:sticky;top:56px;z-index:12;display:block;margin:0 -2px 12px;padding:6px;overflow:hidden}.page-settings .settings-nav>strong,.page-settings .settings-nav-external{display:none}.page-settings .settings-nav>nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.page-settings .settings-nav>nav::-webkit-scrollbar{display:none}.page-settings .settings-nav>nav>a{display:flex;min-width:max-content;padding:8px 10px}.page-settings .settings-nav>nav>a>span{width:25px;height:25px}.page-settings .settings-nav>nav>a small{display:none}.page-settings .settings-content{position:relative;z-index:1}.page-settings .settings-save-bar{bottom:8px}}
@media(max-width:620px){.page-settings .settings-page-heading{display:none}.page-settings .settings-heading-status{width:100%}.page-settings .settings-form-v3>.settings-section,.page-settings .settings-compact-grid>.settings-section,.page-settings .settings-cinema-single>.settings-section,.page-settings .settings-content>.settings-section{padding:17px 14px}.page-settings .settings-section-head{grid-template-columns:auto minmax(0,1fr)}.page-settings .settings-section-head>.badge,.page-settings .settings-section-head>.settings-count-badge{grid-column:2;justify-self:start}.page-settings .settings-save-bar{align-items:stretch;flex-direction:column;padding:10px}.page-settings .settings-save-bar .button{width:100%}.settings-context-note{padding:12px}.page-settings .settings-qr-grid{grid-template-columns:1fr}}
.page-settings .payment-qr-content-config>p{display:grid;gap:7px}.page-settings .payment-qr-content-config>p code{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;overflow-wrap:normal;font-size:.82rem;letter-spacing:.025em}.page-settings .maintenance-health strong{font-size:.72rem}.page-settings .maintenance-health small{font-size:.66rem}.page-settings .maintenance-explainer article small{font-size:.69rem}
@media(max-width:620px){.page-settings .settings-save-bar{position:static}}
/* Thu tiền & đối soát SePay */
.reconcile-tabs{display:flex;gap:8px;margin:0 0 16px;overflow:auto;scrollbar-width:none}.reconcile-tabs::-webkit-scrollbar{display:none}.reconcile-tabs a{display:flex;align-items:center;gap:10px;min-width:max-content;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);text-decoration:none;font-weight:700}.reconcile-tabs a.active{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.reconcile-tabs b{min-width:24px;padding:2px 7px;border-radius:999px;background:#e5e7eb;color:#374151;text-align:center;font-size:12px}.reconcile-tabs a.active b{background:#0f766e;color:#fff}.reconcile-shell{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);gap:16px;align-items:start}.reconcile-list{padding:0;overflow:hidden;position:sticky;top:74px;max-height:calc(100vh - 96px)}.reconcile-list .payment-qr-search{padding:14px;border-bottom:1px solid var(--line)}.reconcile-list-items{max-height:calc(100vh - 170px);overflow:auto}.reconcile-feed-item{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px 14px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.reconcile-feed-item:hover,.reconcile-feed-item.active{background:#f0fdfa}.reconcile-feed-item.active{box-shadow:inset 3px 0 #0f766e}.reconcile-feed-item span{display:flex;flex-direction:column;min-width:0}.reconcile-feed-item span:nth-child(2){align-items:flex-end}.reconcile-feed-item strong{font-size:16px;color:#0f172a}.reconcile-feed-item small{font-size:12px;color:var(--muted)}.reconcile-feed-item p{grid-column:1/-1;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#475569;font-size:13px}.reconcile-detail{display:grid;gap:16px;min-width:0}.reconcile-transaction>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.reconcile-transaction>header span:first-child{display:flex;flex-direction:column}.reconcile-transaction>header small,.reconcile-content small,.reconcile-suggestion>small{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.reconcile-transaction>header strong{font-size:28px;color:#0f766e}.reconcile-time{margin:5px 0 14px;color:#475569}.reconcile-content{padding:14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.reconcile-content p{margin:5px 0 0;font-size:16px;font-weight:700;overflow-wrap:anywhere}.reconcile-suggestion{margin:14px 0;padding:13px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe}.reconcile-suggestion p{margin:4px 0}.reconcile-suggestion span{color:#475569;font-size:13px}.reconcile-actions-card{display:grid;gap:14px}.reconcile-ignore{border-top:1px solid var(--line);padding-top:12px}.reconcile-ignore summary{cursor:pointer;color:#9f1239;font-weight:700}.reconcile-ignore form{margin-top:12px}.sepay-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.sepay-health-grid p{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.sepay-health-grid span{font-size:12px;color:var(--muted)}
@media(max-width:820px){.reconcile-shell{grid-template-columns:1fr}.reconcile-list{position:static;max-height:none}.reconcile-list-items{display:flex;overflow:auto;max-height:none;scroll-snap-type:x proximity}.reconcile-feed-item{min-width:82vw;scroll-snap-align:start;border-right:1px solid var(--line);border-bottom:0}.reconcile-actions-card .button-large{position:sticky;bottom:8px;z-index:2}.sepay-health-grid{grid-template-columns:1fr}.reconcile-transaction>header strong{font-size:24px}.reconcile-tabs{margin-inline:-4px}}

/* Sổ tiền vào & hóa đơn */
.payment-daybar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:13px 16px}.payment-daybar form{display:flex;align-items:flex-end;gap:8px}.payment-daybar label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.payment-daybar input{height:38px}.payment-daybar p{display:grid;justify-items:end;gap:2px;margin:0}.payment-daybar p strong{font-size:14px}.payment-daybar p span{color:var(--muted);font-size:12px}.payment-daily-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.payment-daily-stats article{display:grid;gap:3px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.payment-daily-stats small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.payment-daily-stats strong{font-size:19px;font-variant-numeric:tabular-nums}.payment-daily-stats span{color:var(--muted);font-size:11px;line-height:1.35}.payment-daily-stats .is-danger{border-color:#fecaca;background:#fffafa}.payment-daily-stats .is-warning{border-color:#fde2a7;background:#fffdf7}.payment-daily-stats .is-success{border-color:#bbebce;background:#f8fdf9}.payment-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.payment-compare article{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.payment-compare small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.payment-compare strong{font-size:15px;font-variant-numeric:tabular-nums}.payment-compare .is-ok{border-color:#b7e5c7;background:#f0fbf4;color:#147b39}.payment-compare .is-diff{border-color:#f4c2c2;background:#fff7f7;color:#b42323}.source-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#94a3b8}.source-dot.tone-success{background:#16a34a}.source-dot.tone-info{background:#0284c7}.source-dot.tone-warning{background:#d97706}.source-dot.tone-danger{background:#dc2626}.accounting-allocation-card ol{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}.accounting-allocation-card li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.accounting-allocation-card li:last-child{border-bottom:0}.accounting-allocation-card li span{display:grid}.accounting-allocation-card li small{color:var(--muted);font-size:11px}.external-income-panel{border-top:1px solid var(--line);padding-top:12px}.external-income-panel>summary{cursor:pointer;color:#075985;font-weight:750}.external-income-panel>form{margin-top:13px;padding:14px;border:1px solid #bae6fd;border-radius:12px;background:#f7fcff}.external-income-summary .inline-form{justify-content:flex-end;margin-top:12px}.invoice-work-card{border-color:#f2d69a}.invoice-work-card>.card-header{padding-bottom:12px;border-bottom:1px solid #f4ead2}.invoice-work-card form{max-width:720px}
@media(max-width:1000px){.payment-daily-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.payment-daybar{align-items:stretch;flex-direction:column}.payment-daybar form{display:grid;grid-template-columns:minmax(0,1fr) auto}.payment-daybar p{justify-items:start}.payment-daily-stats{grid-template-columns:1fr 1fr;gap:7px}.payment-daily-stats article{padding:11px}.payment-daily-stats strong{font-size:16px}.payment-daily-stats span{display:none}.payment-compare{grid-template-columns:1fr}.external-income-panel>form{padding:11px}.invoice-work-card .button-primary{width:100%;min-height:44px}}
.reconcile-package-summary{margin-top:0}.package-suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 16px}.package-suggestion{display:block;cursor:pointer}.package-suggestion input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.package-suggestion span{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.package-suggestion input:checked+span{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.16)}.package-suggestion.is-exact span{background:#ecfdf5}.package-suggestion strong{font-size:1.05rem}.package-suggestion small{color:var(--muted)}.package-transfer-list{display:grid;gap:8px;margin:12px 0 0;padding-left:20px}.package-transfer-list li{display:grid;grid-template-columns:1fr auto;gap:2px 12px}.package-transfer-list small{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere}@media(max-width:600px){.package-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-transfer-list li{grid-template-columns:1fr}.package-transfer-list strong{grid-row:2}}
.package-confirm-options{display:grid;gap:10px}.package-confirm-option{display:grid;gap:4px}.package-confirm-option .use-toggle{width:fit-content;margin:0}.package-confirm-option .field-help{display:block;margin:0 0 0 26px;color:var(--muted);font-size:.68rem;line-height:1.45}

/* v1.55.1 · Sổ tiền vào siêu gọn, ưu tiên mật độ kiểu bảng tính */
.page-payment-qr .main-content{padding:12px 18px 14px}
.page-payment-qr .payment-qr-heading{min-height:30px;margin-bottom:7px}
.page-payment-qr .payment-qr-heading h1{margin:0;font-size:1.08rem;font-weight:720}
.page-payment-qr .payment-qr-heading p{display:none}
.page-payment-qr .payment-qr-heading .button{min-height:30px;padding:5px 9px;border-radius:7px;font-size:.7rem}
.page-payment-qr>.alert,.page-payment-qr .main-content>.alert{margin-bottom:7px;padding:7px 10px;border-radius:8px;font-size:.7rem}
.payment-accounting-toolbar{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);align-items:stretch;gap:7px;margin-bottom:7px;padding:6px;border-radius:9px;box-shadow:none}
.payment-accounting-toolbar .payment-daybar{display:grid;grid-template-columns:minmax(112px,1fr) minmax(126px,1fr) auto;align-items:end;gap:5px;padding:0}
.payment-accounting-toolbar .payment-daybar:has([data-payment-custom-date][hidden]){grid-template-columns:minmax(0,1fr) auto}
.payment-accounting-toolbar .payment-daybar label{display:grid;gap:2px;color:var(--muted);font-size:.61rem;font-weight:750}
.payment-accounting-toolbar .payment-daybar [data-payment-custom-date][hidden]{display:none}
.payment-accounting-toolbar .payment-daybar input,.payment-accounting-toolbar .payment-daybar select{height:32px;margin:0;padding:4px 7px;border-radius:7px;font-size:.72rem}
.payment-accounting-toolbar .payment-daybar .button{height:32px;min-height:32px;padding:4px 9px;border-radius:7px;font-size:.68rem}
.payment-accounting-toolbar .payment-daily-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}
.payment-accounting-toolbar .payment-daily-stats article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-height:42px;padding:5px 8px;border-radius:7px;box-shadow:none}
.payment-accounting-toolbar .payment-daily-stats small{overflow:hidden;font-size:.59rem;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}
.payment-accounting-toolbar .payment-daily-stats small em{display:inline-grid;min-width:16px;height:16px;margin-left:3px;place-items:center;border-radius:999px;background:#e8edf2;color:#465568;font-size:.56rem;font-style:normal}
.payment-accounting-toolbar .payment-daily-stats strong{font-size:.78rem;white-space:nowrap}
.page-payment-qr .reconcile-tabs{gap:4px;margin-bottom:7px}
.page-payment-qr .reconcile-tabs a{gap:6px;min-height:31px;padding:4px 8px;border-radius:7px;font-size:.68rem}
.page-payment-qr .reconcile-tabs b{min-width:19px;padding:1px 5px;font-size:.62rem}
.page-payment-qr .reconcile-tabs .reconcile-scope{display:inline-flex;min-width:max-content;align-items:center;padding:0 4px;color:#718094;font-size:.58rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.page-payment-qr .reconcile-shell{grid-template-columns:minmax(300px,34%) minmax(0,1fr);gap:8px}
.page-payment-qr .reconcile-list{border-radius:8px;box-shadow:none}
.page-payment-qr .reconcile-list .payment-qr-search{grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:5px}
.page-payment-qr .reconcile-list .payment-qr-search input{height:30px;margin:0;padding:4px 7px;border-radius:6px;font-size:.68rem}
.page-payment-qr .reconcile-list .payment-qr-search .button{min-height:30px;padding:4px 8px;border-radius:6px;font-size:.66rem}
.page-payment-qr .reconcile-feed-item{grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;min-height:49px;padding:5px 8px}
.page-payment-qr .reconcile-feed-item span:first-child{flex-direction:row;align-items:baseline;gap:6px}
.page-payment-qr .reconcile-feed-item span:nth-child(2){justify-content:center}
.page-payment-qr .reconcile-feed-item strong{font-size:.76rem;font-variant-numeric:tabular-nums}
.page-payment-qr .reconcile-feed-item b{font-size:.67rem}
.page-payment-qr .reconcile-feed-item small{font-size:.59rem;line-height:1.2}
.page-payment-qr .reconcile-feed-item p{margin:0;font-size:.62rem;line-height:1.25}
.page-payment-qr .source-dot{width:5px;height:5px;margin-right:4px}
.page-payment-qr .reconcile-detail{gap:8px;padding-right:2px}
.page-payment-qr .reconcile-detail>.card{margin-bottom:0;padding:11px;border-radius:8px;box-shadow:none}
.page-payment-qr .reconcile-transaction>header{align-items:center;gap:8px}
.page-payment-qr .reconcile-transaction>header small,.page-payment-qr .reconcile-content small,.page-payment-qr .reconcile-suggestion>small{font-size:.57rem;letter-spacing:.04em}
.page-payment-qr .reconcile-transaction>header strong{font-size:1.18rem;line-height:1.15}
.page-payment-qr .reconcile-transaction .badge{padding:3px 7px;font-size:.6rem}
.page-payment-qr .reconcile-time{margin:2px 0 6px;font-size:.65rem}
.page-payment-qr .payment-compare{gap:4px;margin:6px 0}
.page-payment-qr .payment-compare article{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:5px 7px;border-radius:6px}
.page-payment-qr .payment-compare small{font-size:.55rem}
.page-payment-qr .payment-compare strong{font-size:.7rem;white-space:nowrap}
.page-payment-qr .reconcile-content{display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border-radius:6px}
.page-payment-qr .reconcile-content p{margin:0;font-size:.71rem;line-height:1.3}
.page-payment-qr .reconcile-transaction .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px}
.page-payment-qr .reconcile-transaction .detail-grid>section{padding:5px 7px;border-radius:6px}
.page-payment-qr .reconcile-transaction .detail-grid dt{font-size:.54rem}
.page-payment-qr .reconcile-transaction .detail-grid dd{margin-top:1px;font-size:.65rem;line-height:1.3}
.page-payment-qr .reconcile-transaction .detail-grid dd small{margin-top:1px;font-size:.57rem}
.page-payment-qr .reconcile-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:6px 0;padding:6px 8px;border-radius:6px}
.page-payment-qr .reconcile-suggestion p{margin:0;font-size:.68rem}
.page-payment-qr .reconcile-suggestion span{font-size:.61rem;white-space:nowrap}
.page-payment-qr .reconcile-transaction>.callout{margin:6px 0 0;padding:6px 8px;border-radius:6px;font-size:.65rem}
.page-payment-qr .reconcile-detail .card-header{align-items:center;gap:8px;margin-bottom:8px}
.page-payment-qr .reconcile-detail .card-header h2{font-size:.86rem}
.page-payment-qr .reconcile-detail .card-header p{margin-top:1px;font-size:.64rem}
.page-payment-qr .reconcile-actions-card{gap:8px}
.page-payment-qr .reconcile-actions-card .form-stack>*,.page-payment-qr .invoice-work-card .form-stack>*{margin-bottom:8px}
.page-payment-qr .reconcile-actions-card label,.page-payment-qr .invoice-work-card label{font-size:.68rem}
.page-payment-qr .reconcile-actions-card input,.page-payment-qr .reconcile-actions-card select,.page-payment-qr .invoice-work-card input,.page-payment-qr .invoice-work-card select{min-height:33px;margin-top:2px;padding:5px 7px;border-radius:7px;font-size:.7rem}
.page-payment-qr .reconcile-actions-card textarea,.page-payment-qr .invoice-work-card textarea{margin-top:2px;padding:5px 7px;border-radius:7px;font-size:.7rem}
.page-payment-qr .reconcile-actions-card label small,.page-payment-qr .invoice-work-card label small{margin-top:2px;font-size:.59rem}
.page-payment-qr .reconcile-actions-card .form-grid,.page-payment-qr .invoice-work-card .form-grid{gap:7px}
.page-payment-qr .reconcile-actions-card .button,.page-payment-qr .invoice-work-card .button{min-height:32px;padding:5px 9px;font-size:.68rem}
.page-payment-qr .external-income-panel{padding-top:7px}
.page-payment-qr .external-income-panel>summary,.page-payment-qr .reconcile-ignore summary{font-size:.68rem}
.page-payment-qr .external-income-panel>form{margin-top:7px;padding:8px;border-radius:7px}
.page-payment-qr .reconcile-ignore{padding-top:7px}
.page-payment-qr .accounting-allocation-card li{padding:6px 8px;font-size:.68rem}
.page-payment-qr .package-suggestion-grid{gap:6px;margin:7px 0 9px}
.page-payment-qr .package-suggestion span{gap:1px;padding:7px;border-radius:7px}
.page-payment-qr .package-suggestion strong{font-size:.8rem}
.page-payment-qr .package-suggestion small{font-size:.6rem}

@media(min-width:901px){
  body.page-payment-qr{height:100dvh;overflow:hidden}
  .page-payment-qr .app-shell,.page-payment-qr .content-wrap{height:100dvh;min-height:0}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar){display:flex;min-height:0;flex-direction:column;overflow:hidden}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar) .reconcile-shell{flex:1;min-height:0}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar) .reconcile-list{position:static;display:flex;height:100%;max-height:none;flex-direction:column}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar) .reconcile-list-items{min-height:0;max-height:none;flex:1}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar) .reconcile-detail{max-height:100%;overflow:auto;scrollbar-gutter:stable}
  .page-payment-qr .main-content:has(.payment-accounting-toolbar)~.footer{display:none}
}
@media(max-width:1120px){
  .payment-accounting-toolbar{grid-template-columns:320px minmax(0,1fr)}
  .payment-accounting-toolbar .payment-daily-stats article{grid-template-columns:1fr;align-content:center;gap:1px}
  .page-payment-qr .reconcile-transaction .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .page-payment-qr .main-content{padding:12px}
  .payment-accounting-toolbar{grid-template-columns:1fr;margin-bottom:7px}
  .payment-accounting-toolbar .payment-daily-stats article{grid-template-columns:minmax(0,1fr) auto}
  .page-payment-qr .reconcile-shell{grid-template-columns:1fr}
  .page-payment-qr .reconcile-list-items{display:flex;max-height:none;overflow:auto}
  .page-payment-qr .reconcile-feed-item{min-width:260px}
}
@media(max-width:600px){
  .page-payment-qr .main-content{padding:9px 8px 12px}
  .page-payment-qr .payment-qr-heading{display:flex;align-items:center;gap:7px;margin-bottom:6px}
  .page-payment-qr .payment-qr-heading>section{flex:1;min-width:0}
  .page-payment-qr .payment-qr-heading h1{font-size:1rem}
  .page-payment-qr .payment-qr-heading .heading-actions{width:auto;flex:0 0 auto;margin:0 0 0 auto}
  .page-payment-qr .payment-qr-heading .heading-actions .button{width:auto;min-height:40px;flex:0 0 auto;padding-inline:8px}
  .page-payment-qr .main-content>.alert{overflow-wrap:anywhere;line-height:1.35}
  .payment-accounting-toolbar{gap:6px;padding:6px}
  .payment-accounting-toolbar .payment-daybar{grid-template-columns:minmax(0,1fr) 48px}
  .payment-accounting-toolbar .payment-daybar label,.payment-accounting-toolbar .payment-daybar input,.payment-accounting-toolbar .payment-daybar select{min-width:0}
  .payment-accounting-toolbar .payment-daybar input,.payment-accounting-toolbar .payment-daybar select,.payment-accounting-toolbar .payment-daybar .button{height:40px;min-height:40px;font-size:.78rem}
  .payment-accounting-toolbar .payment-daily-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-accounting-toolbar .payment-daily-stats article{min-width:0;min-height:39px;padding:5px 7px}
  .payment-accounting-toolbar .payment-daily-stats strong{overflow:hidden;min-width:0;font-size:.69rem;text-overflow:ellipsis}
  .page-payment-qr .reconcile-tabs a{min-height:40px;padding:5px 8px}
  .page-payment-qr .reconcile-list .payment-qr-search input,.page-payment-qr .reconcile-list .payment-qr-search .button{height:40px;min-height:40px;font-size:.76rem}
  .page-payment-qr .reconcile-list .payment-qr-search .button{min-width:44px}
  .page-payment-qr .reconcile-feed-item{min-width:78vw;min-height:54px;padding:6px 8px}
  .page-payment-qr .reconcile-detail>.card{padding:10px}
  .page-payment-qr .payment-compare{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-payment-qr .payment-compare article{display:grid;align-content:center;gap:1px;padding:5px}
  .page-payment-qr .payment-compare strong{font-size:.65rem}
  .page-payment-qr .reconcile-content{grid-template-columns:1fr;gap:2px}
  .page-payment-qr .reconcile-transaction .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-payment-qr .reconcile-suggestion{grid-template-columns:1fr auto}
  .page-payment-qr .reconcile-suggestion>small{grid-column:1/-1}
  .page-payment-qr .reconcile-actions-card input,.page-payment-qr .reconcile-actions-card select,.page-payment-qr .invoice-work-card input,.page-payment-qr .invoice-work-card select{min-height:40px;font-size:16px}
  .page-payment-qr .reconcile-actions-card .button,.page-payment-qr .invoice-work-card .button{min-height:42px}
}

/* v1.58.0 · Sổ tiền vào, duyệt và đối chiếu hóa đơn độc lập */
.payment-ledger-card{display:flex;min-height:0;flex:1;flex-direction:column;margin:0;padding:0;border-radius:8px;overflow:hidden;box-shadow:none}
.payment-ledger-search{display:grid;grid-template-columns:minmax(240px,520px) auto 1fr;align-items:center;gap:5px;padding:5px 7px;border-bottom:1px solid var(--line);background:#fff}
.payment-ledger-search input{height:30px;margin:0;padding:4px 8px;border-radius:6px;font-size:.7rem}
.payment-ledger-search .button{min-height:30px;padding:4px 10px;border-radius:6px;font-size:.67rem}
.payment-ledger-search>span{justify-self:end;color:var(--muted);font-size:.63rem;font-weight:700}
.payment-ledger-scroll{min-height:0;flex:1;overflow:auto;scrollbar-gutter:stable}
.payment-ledger-table{width:100%;min-width:1000px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.69rem}
.payment-ledger-table th{position:sticky;z-index:2;top:0;height:29px;padding:5px 8px;border-right:1px solid #e7edf2;border-bottom:1px solid #d9e1e8;background:#f4f7f9;color:#536273;font-size:.59rem;font-weight:800;letter-spacing:.025em;text-align:left;text-transform:uppercase;white-space:nowrap}
.payment-ledger-table th:first-child{width:23%}.payment-ledger-table th:nth-child(2){width:75px}.payment-ledger-table th:nth-child(3){width:92px}.payment-ledger-table th:nth-child(4){width:102px}.payment-ledger-table th:nth-child(5){width:120px}.payment-ledger-table th:nth-child(6){width:115px}.payment-ledger-table th:nth-child(7){width:140px}.payment-ledger-table th:nth-child(8){width:142px}
.payment-ledger-table td{height:48px;padding:5px 8px;border-right:1px solid #edf1f4;border-bottom:1px solid #e4e9ed;background:#fff;vertical-align:middle}
.payment-ledger-table tbody tr:hover td,.payment-ledger-table tbody tr.is-selected td{background:#f0faf7}.payment-ledger-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 #0f766e}
.payment-ledger-table td>strong,.payment-ledger-table td>small{display:block;min-width:0}.payment-ledger-table td>strong{overflow:hidden;color:#182536;font-size:.7rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.payment-ledger-table td>small{overflow:hidden;margin-top:2px;color:#718094;font-size:.58rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.payment-ledger-table .content-cell>strong{font-size:.72rem}.payment-ledger-table .content-cell .badge{display:inline-flex;padding:1px 5px;font-size:.52rem;vertical-align:1px}.payment-ledger-table .time-cell strong,.payment-ledger-table .money-cell strong{font-variant-numeric:tabular-nums}.payment-ledger-table .money-cell{text-align:right}.payment-ledger-table td.money-cell strong{font-size:.73rem}.payment-ledger-table .action-cell{text-align:center}
.ledger-group{display:inline-flex;max-width:100%;align-items:center;padding:3px 7px;border:1px solid #d7e0e7;border-radius:999px;background:#f4f7f9;color:#536273;font-size:.59rem;font-weight:750;white-space:nowrap}.ledger-group.tone-info{border-color:#b9e2f1;background:#edf9fd;color:#076b91}.ledger-group.tone-success{border-color:#bee6ce;background:#effaf3;color:#17743b}.ledger-group.tone-warning{border-color:#f1daa9;background:#fff9ea;color:#94620a}.ledger-group.tone-danger{border-color:#efc5c5;background:#fff4f4;color:#a12a2a}
.ledger-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.ledger-actions .button{min-height:27px;padding:3px 6px;border-radius:6px;font-size:.6rem;line-height:1}.ledger-actions .button.is-disabled{border:1px solid #dce3e8;background:#f3f5f7;color:#9ba6b1;box-shadow:none;cursor:not-allowed}.ledger-actions .invoice-button.is-issued{border-color:#a8dbba;background:#eefaf2;color:#15743a}.ledger-actions .ledger-gear{width:27px;padding:3px;border-color:#d6dee5;background:#fff;color:#536273;font-family:"Segoe UI Symbol","Segoe UI",sans-serif;font-size:.88rem}
.payment-ledger-dialog{width:min(760px,calc(100vw - 24px));max-width:none;max-height:min(880px,94dvh);padding:0;overflow:auto;border-top:4px solid #0f766e;border-radius:13px}.payment-ledger-dialog-details{width:min(920px,calc(100vw - 24px))}.ledger-modal-body{display:grid;gap:12px;padding:14px 16px 16px}.ledger-modal-body>.modal-header{margin:-14px -16px 0;padding:13px 16px 11px;border-bottom:1px solid #dce7e3;background:#f2faf7}.ledger-modal-body>.modal-header hgroup{min-width:0;flex:1}.ledger-modal-body>.modal-header h2{font-size:1rem}.ledger-modal-body>.modal-header p{margin-top:2px;font-size:.68rem}.ledger-modal-body>.modal-header>button{flex:0 0 30px;cursor:pointer}
.ledger-modal-summary{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:5px}.ledger-modal-summary>div{min-width:0;padding:7px 9px;border:1px solid #dfe6eb;border-radius:7px;background:#f8fafb}.ledger-modal-summary>div.wide{grid-column:1/-1}.ledger-modal-summary small,.ledger-modal-summary strong{display:block}.ledger-modal-summary small{color:#718094;font-size:.57rem;font-weight:750;text-transform:uppercase}.ledger-modal-summary strong{overflow:hidden;margin-top:2px;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.approval-options{display:grid;gap:7px}.approval-option{margin:0;padding:0;border:1px solid #dce4e9;border-radius:9px;background:#fff;overflow:hidden}.approval-option>header,.approval-option>summary{display:flex;align-items:center;gap:9px;padding:9px 10px;list-style:none;cursor:pointer}.approval-option>summary::-webkit-details-marker{display:none}.approval-option>header>span,.approval-option>summary>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:7px;background:#e5f5f1;color:#0f766e;font-size:.65rem;font-weight:850}.approval-option h3,.approval-option p{margin:0}.approval-option h3{font-size:.76rem}.approval-option header p,.approval-option summary p{margin-top:1px;color:var(--muted);font-size:.62rem}.approval-option.is-danger>summary>span{background:#fff0f0;color:#ae2d2d}.approval-option.is-unavailable{background:#f3f5f6;color:#77838e}.approval-option.is-unavailable>header>span{background:#e4e8eb;color:#87929c}.approval-option .compact-form{gap:7px;margin:0;padding:9px 10px;border-top:1px solid #e2e8ec;background:#fbfcfd}.approval-option .compact-form>*{margin:0}.approval-option .compact-form label{font-size:.67rem}.approval-option .compact-form input,.approval-option .compact-form select,.approval-option .compact-form textarea{min-height:34px;margin-top:2px;padding:5px 7px;border-radius:6px;font-size:.7rem}.approval-option .compact-form .button{justify-self:end;min-height:32px;font-size:.67rem}.unavailable-reason,.form-note{margin:0;padding:7px 10px;border-top:1px solid #e0e5e8;color:#677581;font-size:.64rem}.form-note.success{color:#14713a;background:#f1faf4}
.invoice-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:10px 12px;border:1px solid #a9dbc0;border-radius:9px;background:#effaf3}.invoice-price>span{font-size:.68rem;font-weight:750}.invoice-price>span small{color:#60786a;font-weight:500}.invoice-price>strong{grid-row:1/3;grid-column:2;font-size:1rem;color:#14713a}.invoice-price>em{color:#60786a;font-size:.61rem;font-style:normal}
.ledger-detail-panel .detail-hero{display:flex;align-items:center;justify-content:space-between;gap:12px}.ledger-detail-panel .detail-hero>div{display:grid}.ledger-detail-panel .detail-hero small{color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}.ledger-detail-panel .detail-hero strong{color:#0f766e;font-size:1.25rem}.ledger-detail-panel .detail-hero span{color:var(--muted);font-size:.62rem}.ledger-detail-panel .payment-compare{margin:0}.ledger-detail-panel .reconcile-content{grid-template-columns:150px minmax(0,1fr);padding:7px 9px}.ledger-detail-panel .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}.ledger-detail-panel .detail-grid>section{padding:7px 8px}.ledger-detail-panel .reconcile-suggestion{margin:0}.detail-subsection{margin:0;padding:9px 10px;border:1px solid #dbe4e8;border-radius:8px}.detail-subsection>h3,.detail-subsection>summary{margin:0;font-size:.72rem;font-weight:760;cursor:pointer}.detail-subsection .compact-form{gap:7px;margin-top:9px}.detail-subsection .compact-form>*{margin:0}.detail-subsection label{font-size:.67rem}.detail-subsection input,.detail-subsection select,.detail-subsection textarea{min-height:34px;margin-top:2px;font-size:.72rem}.allocation-list{display:grid;gap:0;margin:7px 0 0;padding:0;list-style:none}.allocation-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid #e8edf0;font-size:.68rem}.allocation-list li span{display:grid}.allocation-list li small{color:var(--muted);font-size:.59rem}.detail-rematch{justify-content:flex-end}
@media(min-width:901px){.page-payment-qr .main-content:has(.payment-ledger-card){display:flex;min-height:0;flex-direction:column;overflow:hidden}.page-payment-qr .main-content:has(.payment-ledger-card)~.footer{display:none}}
@media(max-width:760px){.payment-ledger-card{min-height:460px}.payment-ledger-search{grid-template-columns:minmax(0,1fr) 48px}.payment-ledger-search input,.payment-ledger-search .button{height:40px;min-height:40px;font-size:.78rem}.payment-ledger-search>span{grid-column:1/-1;justify-self:start}.payment-ledger-table{min-width:1040px}.ledger-actions .button{min-height:40px;padding:5px 10px;font-size:.68rem}.ledger-actions .ledger-gear{width:40px;font-size:.9rem}.payment-ledger-table td{height:54px}.payment-ledger-dialog{width:calc(100vw - 10px);max-height:calc(100dvh - 10px);border-radius:10px}.ledger-modal-body{padding:12px}.ledger-modal-body>.modal-header{position:relative;margin:-12px -12px 0;padding:12px 58px 12px 12px}.ledger-modal-body>.modal-header>button{position:absolute;top:8px;right:9px;width:40px;height:40px;flex-basis:40px}.ledger-modal-summary{grid-template-columns:1fr 1fr}.ledger-modal-summary>div:first-child,.ledger-modal-summary>div.wide{grid-column:1/-1}.approval-option>header,.approval-option>summary{min-height:44px}.approval-option .compact-form input,.approval-option .compact-form select,.approval-option .compact-form textarea{min-height:42px;font-size:16px}.approval-option .compact-form .button{width:100%;min-height:44px}.ledger-detail-panel .detail-grid{grid-template-columns:1fr 1fr}.ledger-detail-panel .reconcile-content{grid-template-columns:1fr}}

.monthly-feed-count{display:inline-flex;min-height:30px;align-items:center;gap:5px;padding:4px 8px;border:1px solid #d8e2e8;border-radius:7px;background:#fff;color:#647384;font-size:.65rem;white-space:nowrap}.monthly-feed-count strong{color:#0f766e}.note-cell .badge{display:inline-flex;margin-bottom:2px;padding:1px 5px;font-size:.52rem}.note-cell small{max-width:132px}.invoice-request-toggle{padding:7px 9px;border:1px solid #f1c6c6;border-radius:7px;background:#fff7f7;color:#8f2424}.invoice-request-toggle small{color:#9b5a5a}.compact-choice-actions{display:flex;gap:7px;margin:0;padding:9px 10px;border-top:1px solid #e2e8ec;background:#fbfcfd}.compact-choice-actions form{margin:0}.compact-choice-actions .button{min-height:34px}.package-decision-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.package-vat-summary{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(95px,.75fr));align-items:center;gap:7px;padding:7px 9px;border:1px solid #b9d9ca;border-radius:7px;background:#f0faf5;color:#235f45}.package-vat-summary>span{display:grid;gap:1px;min-width:0}.package-vat-summary small{color:#59796a;font-size:.58rem}.package-vat-summary strong,.package-vat-summary b{font-size:.7rem}.package-price-state{padding:7px 9px;border-radius:7px;font-size:.67rem;font-weight:700}.package-price-state.is-exact{border:1px solid #bde3cb;background:#effaf3;color:#15743a}.package-price-state.is-warning{border:1px solid #f0d49b;background:#fff8e8;color:#8d5d06}.package-price-state.is-danger{border:1px solid #efc2c2;background:#fff2f2;color:#a32626}.package-difference-confirm{padding:7px 9px;border:1px solid #efc77b;border-radius:7px;background:#fff9e9;color:#7e5509}.package-difference-confirm[hidden]{display:none}.red-invoice-alert{margin:0;padding:8px 10px;border:1px solid #efb9b9;border-radius:8px;background:#fff3f3;color:#8d2424;font-size:.68rem}.red-invoice-alert strong{display:inline-flex;margin-right:5px;padding:2px 6px;border-radius:999px;background:#b42323;color:#fff;font-size:.58rem}.invoice-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.invoice-copy-grid article{padding:8px;border:1px solid #dce4e9;border-radius:8px;background:#f8fafb}.invoice-copy-grid article.is-primary{border-color:#9fd7b8;background:#effaf3}.invoice-copy-grid small{display:block;color:#697788;font-size:.58rem;font-weight:750;text-transform:uppercase}.invoice-copy-grid button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;padding:0;border:0;background:none;color:#172536;cursor:pointer}.invoice-copy-grid strong{font-size:.88rem}.invoice-copy-grid span{color:#0b799b;font-size:.58rem;font-weight:750}.payment-ledger-dialog-summary{width:min(1040px,calc(100vw - 24px))}.daily-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.daily-summary-kpis span{padding:8px 10px;border:1px solid #dfe6eb;border-radius:8px;background:#f8fafb}.daily-summary-kpis small,.daily-summary-kpis strong{display:block}.daily-summary-kpis small{color:#718094;font-size:.57rem;text-transform:uppercase}.daily-summary-kpis strong{margin-top:2px;font-size:.85rem}.daily-group-scroll{overflow:auto}.daily-invoice-groups{width:100%;min-width:650px;border-collapse:collapse;font-size:.67rem}.daily-invoice-groups th,.daily-invoice-groups td{padding:6px 8px;border:1px solid #e0e7eb;text-align:right}.daily-invoice-groups th{background:#f4f7f9;color:#536273;font-size:.58rem;text-transform:uppercase}.daily-invoice-groups th:first-child,.daily-invoice-groups td:first-child{text-align:left}.daily-invoice-list{display:grid;gap:0;border:1px solid #dce4e9;border-radius:8px;overflow:hidden}.daily-invoice-list>header{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:8px 10px;background:#f4f7f9}.daily-invoice-list h3,.daily-invoice-list header small{margin:0}.daily-invoice-list h3{font-size:.74rem}.daily-invoice-list header small{color:#6b7887;font-size:.6rem}.daily-invoice-list article{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,.8fr) auto;align-items:center;gap:10px;padding:7px 10px;border-top:1px solid #e5eaee}.daily-invoice-list article>span{display:grid;min-width:0}.daily-invoice-list article small{overflow:hidden;color:#718094;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.daily-invoice-list article strong{font-size:.69rem}.daily-invoice-list article .button{min-height:30px;font-size:.62rem}
.form-note.warning{border-color:#f0d49b;background:#fff8e8;color:#8d5d06}.form-note strong{font-weight:800}
.payment-approval-simple{gap:9px}.payment-approval-simple .ledger-modal-summary{margin-bottom:0}.payment-approval-simple .invoice-ready-label{color:#9a6700}.approval-options-simple{gap:8px}.approval-order-primary{border-color:#9fd7b8;box-shadow:inset 3px 0 #16925b}.approval-order-primary>header{background:#f1faf5}.approval-month-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:end}.approval-month-input{width:100%;font-size:1rem!important;font-weight:800;font-variant-numeric:tabular-nums}.approval-expiry-preview{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;align-items:center;min-height:34px;padding:5px 8px;border:1px solid #dce4e9;border-radius:6px;background:#fff}.approval-expiry-preview small{grid-row:1;color:#697788;font-size:.58rem;text-transform:uppercase}.approval-expiry-preview strong{grid-row:2;font-size:.78rem}.approval-expiry-preview span{grid-row:1/3;grid-column:2;justify-self:end;color:#718094;font-size:.61rem}.approval-money-rule{padding:6px 8px;border-radius:6px;background:#f2f6f8;color:#556575;font-size:.64rem}.approval-money-rule strong{color:#172536}.approval-other-option>summary{background:#fafbfc}.approval-other-option[open]{border-color:#e7c477}.approval-other-option[open]>summary{background:#fff9eb}.approval-other-option .form-note{border:1px solid #efd49a;border-radius:6px}.matched-order-unavailable{border:1px solid #efd49a;border-radius:8px}.owner-deposit-exception{border-color:#efc2c2;background:#fffafa}.owner-deposit-exception>summary{color:#9f1239}
.priced-initial-snapshot-note{margin:0;border:1px solid #efd49a;border-radius:6px;background:#fff9eb}

@media(max-width:760px){.page-payment-qr .payment-qr-heading{flex-wrap:wrap}.page-payment-qr .payment-qr-heading .heading-actions{width:100%;display:flex;overflow:auto}.monthly-feed-count{min-height:40px}.payment-ledger-table{min-width:1180px}.compact-choice-actions{flex-direction:column}.compact-choice-actions .button{width:100%;min-height:44px}.package-decision-grid{grid-template-columns:1fr 1fr}.package-vat-summary{grid-template-columns:1fr 1fr}.package-vat-summary>span:first-child{grid-column:1/-1}.package-difference-confirm{min-height:44px}.invoice-copy-grid{grid-template-columns:1fr}.invoice-copy-grid article{min-height:58px}.daily-summary-kpis{grid-template-columns:1fr 1fr}.daily-invoice-list>header{display:grid}.daily-invoice-list article{grid-template-columns:1fr auto}.daily-invoice-list article>span:nth-child(2){grid-column:1}.daily-invoice-list article>.button,.daily-invoice-list article>.badge{grid-row:1/3;grid-column:2;min-height:44px}.payment-ledger-dialog-summary{width:calc(100vw - 10px)}.page-payment-qr .payment-qr-heading .heading-actions{max-width:100%;overflow-x:auto}.page-payment-qr .payment-qr-heading .heading-actions>*{flex:0 0 auto}}
@media(max-width:760px){.approval-month-row{grid-template-columns:105px minmax(0,1fr)}.approval-month-input{min-height:44px!important}.approval-expiry-preview{min-height:44px}.approval-other-option>summary{min-height:44px}.owner-deposit-exception .button{width:100%;min-height:44px}}
@media(max-width:360px){.approval-month-row{grid-template-columns:1fr}.approval-expiry-preview span{grid-row:auto;grid-column:auto;justify-self:start}}
@media(max-width:760px){.quick-create .qc-invoice-request{min-height:44px;padding:0 12px}.quick-create .qc-invoice-request input{width:20px;height:20px}}

/* Hàng chờ hóa đơn mật độ cao, thao tác xác nhận tối giản */
.payment-ledger-table{min-width:1120px}
.payment-ledger-table th:first-child{width:21%}.payment-ledger-table th:nth-child(2){width:74px}.payment-ledger-table th:nth-child(3){width:91px}.payment-ledger-table th:nth-child(4){width:108px}.payment-ledger-table th:nth-child(5){width:94px}.payment-ledger-table th:nth-child(6){width:112px}.payment-ledger-table th:nth-child(7){width:110px}.payment-ledger-table th:nth-child(8){width:125px}.payment-ledger-table th:nth-child(9){width:137px}
.invoice-net-heading small{display:block;margin-top:1px;color:#718094;font-size:.5rem;font-weight:650;letter-spacing:0;text-transform:none}.invoice-net-cell{padding:3px 5px!important}.invoice-net-cell>span{color:#9aa6b2}.invoice-net-copy{display:grid;width:100%;min-height:36px;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;column-gap:5px;padding:3px 4px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;text-align:right;cursor:copy;transition:background .12s ease,box-shadow .12s ease}.invoice-net-copy strong{overflow:hidden;color:#11693b;font-size:.73rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.invoice-net-copy small{grid-column:1/-1;color:#718094;font-size:.54rem;line-height:1.1}.invoice-copy-icon{display:grid;width:17px;height:17px;place-items:center;border:1px solid #bed6c8;border-radius:4px;background:#f1faf5;color:#187344;font-size:.58rem}.invoice-net-copy:hover{background:rgba(20,125,75,.08)}.invoice-net-copy:focus-visible{outline:2px solid #168253;outline-offset:1px}.invoice-net-copy.is-copied{background:#e4f7eb;box-shadow:inset 0 0 0 1px #9bd2af}.invoice-net-copy.is-copied small{color:#11693b;font-weight:750}
.payment-note-cell{position:relative;padding:3px 5px!important}.payment-note-cell textarea{display:block;width:100%;height:31px;min-height:31px;max-height:31px;margin:0;padding:5px 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:#344256;font:inherit;font-size:.62rem;line-height:1.25;resize:none;overflow-y:auto}.payment-note-cell textarea:hover{border-color:#cfdae3;background:#fff}.payment-note-cell textarea:focus{height:38px;min-height:38px;border-color:#7dc5e5;background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.1);outline:0}.payment-note-cell.has-note textarea{border-color:#d9e8f1;background:rgba(248,251,253,.82)}.payment-note-cell .order-note-save-state{right:5px;bottom:0;left:auto;padding:0 3px;font-size:.52rem!important}.payment-note-cell>.badge{position:absolute;z-index:1;top:2px;right:6px}.payment-note-cell:has(>.badge) textarea{padding-right:39px}
.invoice-queue-hide-form{margin:0}.invoice-queue-hide-button{border-color:#aeb8c2;background:#f4f6f8;color:#45515d}.invoice-queue-hide-button:not(:disabled):hover{border-color:#7d8995;background:#fff;color:#263746}.invoice-queue-hide-button:disabled{cursor:not-allowed;opacity:.58}
.payment-ledger-table.is-invoice-queue tr.is-invoice-completed td,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed:hover td,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed.is-selected td{border-color:#d9dee3;background:#eef1f4;color:#68727c}.payment-ledger-table.is-invoice-queue tr.is-invoice-completed td>strong,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .money-cell strong{color:#59636d}.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .invoice-net-copy strong,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .invoice-net-copy small,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .invoice-copy-icon{color:#68727c}.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .invoice-copy-icon{border-color:#cbd2d8;background:#e2e6ea}.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .ledger-group,.payment-ledger-table.is-invoice-queue tr.is-invoice-completed .invoice-button.is-issued{border-color:#cbd2d8;background:#e2e6ea;color:#59636d}.payment-ledger-table.is-invoice-queue tr.is-invoice-completed textarea{border-color:transparent;background:transparent;color:#68727c}
.invoice-decision-dialog{gap:10px}.invoice-decision-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.invoice-decision-actions form{margin:0}.invoice-no-vat-form{justify-self:start}.invoice-issued-form{justify-self:end}.invoice-decision-actions .button{min-height:36px}.invoice-decision-actions .invoice-no-vat{width:auto;padding:4px 9px;border-color:#dfc27e;background:#fff9ea;color:#805a08;font-size:.61rem}.invoice-decision-actions .invoice-cancel{justify-self:center;width:auto;padding-inline:10px}.invoice-decision-actions .invoice-issued-confirm{min-width:230px}.invoice-decision-note{margin:0;color:#687789;font-size:.61rem;text-align:center}
@media(max-width:760px){.payment-ledger-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.payment-ledger-table{min-width:1260px}.invoice-net-copy{min-height:44px}.payment-note-cell textarea{height:42px;min-height:42px;max-height:42px;font-size:16px}.invoice-decision-actions{grid-template-columns:auto auto minmax(0,1fr);gap:5px}.invoice-decision-actions .button{min-height:44px}.invoice-decision-actions .invoice-no-vat{max-width:125px;padding:5px 8px;white-space:normal}.invoice-decision-actions .invoice-cancel{padding-inline:7px}.invoice-decision-actions .invoice-issued-confirm{width:100%;min-width:0;padding-inline:8px;white-space:normal}.invoice-decision-note{text-align:left}}

/* Gom lô xuất HĐ: chỉ hiển thị số tiền, Giá xuất HĐ và số đơn; ngoại lệ tách riêng. */
.payment-ledger-dialog-summary{width:min(1020px,calc(100vw - 24px))}.invoice-batch-summary{gap:8px}.invoice-batch-toolbar{display:flex;align-items:end;gap:7px}.invoice-batch-toolbar form{display:flex;align-items:end;gap:5px;margin:0}.invoice-batch-toolbar label{display:grid;gap:2px;margin:0;color:#667587;font-size:.58rem;font-weight:750}.invoice-batch-toolbar select{width:190px;min-height:32px;margin:0;padding:4px 7px;font-size:.67rem}.invoice-batch-toolbar .button{min-height:32px;padding:4px 9px;font-size:.64rem}.invoice-batch-copy-report{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.invoice-batch-kpis{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:5px}.invoice-batch-kpis>span{min-width:0;padding:7px 9px;border:1px solid #dfe6eb;border-radius:7px;background:#f8fafb}.invoice-batch-kpis small,.invoice-batch-kpis strong{display:block}.invoice-batch-kpis small{color:#718094;font-size:.55rem;font-weight:750;text-transform:uppercase}.invoice-batch-kpis strong{overflow:hidden;margin-top:1px;color:#183044;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.invoice-batch-kpis .is-danger{border-color:#fecaca;background:#fffafa}.invoice-batch-kpis .is-warning,.invoice-batch-kpis .has-warning{border-color:#efd59e;background:#fff9ec}.invoice-batch-kpis .is-warning strong,.invoice-batch-kpis .has-warning strong{color:#94620a}.invoice-batch-exceptions{margin:0;border:1px solid #efd49a;border-radius:7px;background:#fffaf0;overflow:hidden}.invoice-batch-exceptions summary{display:flex;min-height:38px;align-items:center;gap:10px;padding:6px 9px;color:#7f570b;cursor:pointer;list-style:none}.invoice-batch-exceptions summary::-webkit-details-marker{display:none}.invoice-batch-exceptions summary>span{display:grid;min-width:0}.invoice-batch-exceptions summary strong{font-size:.67rem}.invoice-batch-exceptions summary small{color:#8a7652;font-size:.57rem}.invoice-batch-exceptions summary>b{margin-left:auto;font-size:.61rem}.invoice-batch-exceptions ul{margin:0;padding:0 9px 6px;list-style:none}.invoice-batch-exceptions li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid #f0dfba;color:#705f3c;font-size:.62rem}.invoice-batch-scroll{overflow:auto;border:1px solid #dce4e9;border-radius:7px}.invoice-batch-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;font-size:.67rem}.invoice-batch-table th,.invoice-batch-table td{height:42px;padding:5px 8px;border-right:1px solid #e7edf1;border-bottom:1px solid #e2e8ec;text-align:left;vertical-align:middle}.invoice-batch-table th:last-child,.invoice-batch-table td:last-child{border-right:0}.invoice-batch-table tbody tr:last-child td{border-bottom:0}.invoice-batch-table th{height:27px;background:#f4f7f9;color:#536273;font-size:.55rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.invoice-batch-table th:nth-child(1){width:96px}.invoice-batch-table th:nth-child(2){width:120px}.invoice-batch-table th:nth-child(3){width:72px}.invoice-batch-table th:nth-child(4){width:145px}.invoice-batch-table th:nth-child(5){width:58px}.invoice-batch-table th:nth-child(6){width:135px}.invoice-batch-table th:nth-child(7){width:170px}.invoice-batch-table .is-priority-column{background:#edf8ff}.invoice-batch-table th.is-priority-column{background:#e2f3fd;color:#28698e}.invoice-batch-table tbody tr:hover .is-priority-column{background:#e4f4fd}.invoice-batch-table form{width:100%;margin:0}.invoice-batch-confirm{display:inline-flex;width:100%;min-height:30px;align-items:center;justify-content:center;gap:4px;padding:3px 6px;border-color:#a8d8bc;background:#f0faf4;color:#146d3a;font-size:.6rem}.invoice-batch-confirm span{font-size:.85rem}.invoice-batch-money,.invoice-batch-count{color:#182536;font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-batch-price{display:grid;width:100%;min-height:32px;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:1px 5px;padding:3px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#2387bd;font:inherit;text-align:right;cursor:copy}.invoice-batch-price strong{font-size:.73rem;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-batch-price>span{grid-row:1/3;grid-column:2;color:#46a2d2}.invoice-batch-price small{color:#6c9bb4;font-size:.52rem}.invoice-batch-price:hover{border-color:#acd8ef;background:#f4fbff}.invoice-batch-price.is-copied{border-color:#8bc8e8;background:#edf8ff}.invoice-batch-price.is-copied small{color:#2387bd;font-weight:750}.invoice-batch-vat{color:#5f6e7e;white-space:nowrap}.invoice-batch-total{color:#46586b;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-batch-state{display:grid}.invoice-batch-state strong{color:#996710;font-size:.63rem}.invoice-batch-state small{color:#718094;font-size:.55rem}.invoice-batch-safety{margin:0;padding:6px 8px;border-radius:6px;background:#f2f6f8;color:#617182;font-size:.59rem}.invoice-batch-safety strong{color:#29445b}
@media(min-width:761px){.invoice-batch-table th,.invoice-batch-table td,.invoice-batch-state{text-align:center}.invoice-batch-price{grid-template-columns:auto auto;justify-content:center;text-align:center}}
@media(max-width:760px){.payment-ledger-dialog-summary{width:calc(100vw - 10px)}.invoice-batch-summary{gap:7px}.invoice-batch-toolbar{align-items:stretch;flex-direction:column}.invoice-batch-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) 54px}.invoice-batch-toolbar label{min-width:0}.invoice-batch-toolbar select{width:100%;min-width:0;height:44px;min-height:44px;font-size:16px}.invoice-batch-toolbar .button{min-height:44px}.invoice-batch-copy-report{width:100%;margin-left:0}.invoice-batch-kpis{grid-template-columns:1fr 1fr}.invoice-batch-kpis>span{min-height:48px}.invoice-batch-kpis>span:last-child{grid-column:1/-1}.invoice-batch-kpis strong{white-space:normal}.invoice-batch-exceptions summary{min-height:44px}.invoice-batch-scroll{overflow:visible;border:0}.invoice-batch-table,.invoice-batch-table thead,.invoice-batch-table tbody{display:block;width:100%;min-width:0}.invoice-batch-table thead{display:none}.invoice-batch-table tbody{display:grid;gap:7px}.invoice-batch-table tr{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:7px 10px;padding:8px;border:1px solid #dce4e9;border-radius:7px;background:#fff}.invoice-batch-table td{display:grid;width:auto;height:auto;min-width:0;align-content:start;gap:2px;padding:0;border:0}.invoice-batch-table td::before{content:attr(data-label);color:#718094;font-size:.57rem}.invoice-batch-table .batch-confirm-cell{grid-row:1;grid-column:1}.invoice-batch-table .batch-confirm-cell::before{display:none}.invoice-batch-table td:nth-child(2){grid-row:2;grid-column:1}.invoice-batch-table td:nth-child(3){grid-row:2;grid-column:2}.invoice-batch-table td:nth-child(4){grid-row:3;grid-column:1}.invoice-batch-table td:nth-child(5){grid-row:3;grid-column:2}.invoice-batch-table td:nth-child(6){grid-row:4;grid-column:1/-1}.invoice-batch-table td:nth-child(7){grid-row:1;grid-column:2}.invoice-batch-confirm{min-height:44px;font-size:.7rem}.invoice-batch-price{width:100%;min-width:0;min-height:44px;padding:5px 8px}.invoice-batch-state{text-align:left}.invoice-batch-state small{display:none}.invoice-batch-safety{line-height:1.4}}
@media(max-width:360px){.invoice-batch-kpis{grid-template-columns:1fr}.invoice-batch-kpis>span:last-child{grid-column:auto}.invoice-batch-table tr{gap:7px 8px}}

/* v1.58c · trạng thái tiền ngân hàng dùng chung ở Đơn mới / Nhắc gia hạn */
.pending-bank-payment{display:inline-flex;align-items:center;text-decoration:none;border-color:#fdba74;background:#fff7ed;color:#c2410c}
.pending-bank-payment:hover{background:#ffedd5;color:#9a3412}
.pending-bank-count{display:block;margin-top:3px;color:#9a5b18;font-size:.58rem;white-space:nowrap}
.renewal-payment-cell{min-width:138px}
.renewal-payment-recorded{display:inline-block;color:#15803d;font-size:.68rem;font-weight:750;white-space:nowrap}
.renewal-sheet table{min-width:1510px}
.payment-ledger-table td>strong.ledger-product-code{display:flex;align-items:center;gap:6px}
.payment-ledger-table .product-cell>small{overflow:visible;text-overflow:clip}
.ledger-product-dot{display:inline-block;width:9px;height:9px;flex:0 0 9px;border:1px solid color-mix(in srgb,var(--product-color,#94a3b8) 76%,#334155);border-radius:50%;background:var(--product-color,#94a3b8);box-shadow:0 0 0 2px color-mix(in srgb,var(--product-color,#94a3b8) 18%,transparent)}
.page-payment-qr .reconcile-tabs b.count-warning{background:#f59e0b;color:#fff}
.page-payment-qr .reconcile-tabs b.count-danger{background:#dc2626;color:#fff}
@media(max-width:760px){.pending-bank-payment,.renewal-payment-cell>.pay-trigger{min-height:40px;padding-inline:10px}.renewal-payment-cell{min-width:150px}.ledger-product-dot{width:10px;height:10px;flex-basis:10px}}

/* v1.58.2 · Nhắc gia hạn mật độ cao: tách trạng thái thu tiền khỏi gói tham khảo */
.renewal-context{margin-bottom:6px;padding:6px 9px;border-radius:8px}
.renewal-context .warehouse-mark{width:30px;height:30px;flex-basis:30px}
.renewal-context h2{font-size:.82rem}
.renewal-context p{margin-top:1px;font-size:.67rem;line-height:1.3}
.renewal-control-bar{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.renewal-search{min-width:300px;max-width:440px;flex:1 1 360px;margin:0}
.renewal-search .search-box{min-width:220px;flex:1 1 auto}
.renewal-task-filters{min-width:0;flex:1 1 auto;margin:0}
.renewal-task-filters .account-filter-set{min-width:0}
.renewal-task-filters .status-tabs{margin:0;white-space:nowrap}
.renewal-bulk-check-open{flex:0 0 auto;white-space:nowrap}
.renewal-bulk-check-modal{width:min(520px,calc(100vw - 24px));padding:0;overflow:hidden;border-top:4px solid #15975f}
.renewal-bulk-check-modal>.form-stack{gap:0}
.renewal-bulk-check-modal .modal-header{margin:0;padding:16px 18px;border-bottom:1px solid #dce8e1;background:#f1faf5}
.renewal-bulk-check-modal .modal-header small{display:block;color:#15803d;font-size:.62rem;font-weight:850;letter-spacing:.06em}
.renewal-bulk-check-modal .modal-header h2{margin-top:2px;font-size:1.05rem}
.renewal-bulk-check-modal .modal-header p{margin-top:3px;color:#5d7165;font-size:.7rem}
.renewal-bulk-check-summary{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin:0;padding:16px 18px 10px}
.renewal-bulk-check-summary>div{padding:12px;border:1px solid #dce7e1;border-radius:10px;background:#f8fbf9}
.renewal-bulk-check-summary dt{color:#66766c;font-size:.65rem}
.renewal-bulk-check-summary dd{margin:3px 0 0;color:#126b43;font-size:1.08rem;font-weight:800;font-variant-numeric:tabular-nums}
.renewal-bulk-check-note{margin:0 18px 15px;padding:9px 11px;border-left:3px solid #f59e0b;background:#fffbeb;color:#7c5310;font-size:.69rem;line-height:1.45}
.renewal-bulk-check-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px 18px 16px;border-top:1px solid #e4e9e6;background:#f8faf9}
.renewal-bulk-check-actions .button{width:100%;min-height:42px}
.intake-status-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.intake-status-bar .status-tabs{min-width:0;margin:0}
.renewal-sheet table{min-width:1120px;table-layout:fixed}
.renewal-sheet .renewal-order-heading{width:70px}
.renewal-sheet .renewal-customer-heading{width:160px}
.renewal-sheet .renewal-product-heading{width:125px}
.renewal-sheet .renewal-package-heading{width:105px}
.renewal-sheet .renewal-payment-heading{width:135px}
.renewal-sheet .renewal-due-heading{width:175px}
.renewal-sheet .renewal-note-heading{width:100px;min-width:100px}
.renewal-sheet .renewal-actions-heading{width:190px}
.renewal-sheet tbody td{height:46px;padding-top:4px;padding-bottom:4px;vertical-align:middle}
.renewal-sheet td>small,.renewal-sheet td>span>small{line-height:1.2}
.renewal-order-cell .order-code{display:block;white-space:nowrap}
.renewal-order-cell>small{display:block;margin-top:2px;white-space:nowrap}
.renewal-customer-primary{display:flex;min-width:0;align-items:center;gap:4px;white-space:nowrap}
.renewal-customer-primary .customer-name-button{display:block;overflow:hidden;min-width:0;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
.renewal-customer-primary .order-red-invoice-flag{flex:0 0 auto;margin:0!important}
.renewal-customer-meta{display:flex!important;min-width:0;align-items:baseline;gap:3px;margin-top:2px!important;white-space:nowrap}
.renewal-customer-meta .renewal-contact{display:block!important;overflow:hidden;min-width:0;margin:0!important;color:#087eae!important;text-overflow:ellipsis;white-space:nowrap}
.renewal-customer-meta .renewal-contact.is-missing{color:#b45309!important}
.renewal-customer-extra{display:block!important;overflow:hidden;max-width:100%;margin-top:2px!important;color:#6f7c8d!important;text-overflow:ellipsis;white-space:nowrap}
.renewal-customer-extra .order-important-note{display:inline;max-width:none}
.renewal-product-cell>.order-account-identity{display:flex;min-width:0;align-items:center;gap:4px;white-space:nowrap}
.renewal-product-cell>.order-account-identity .product-pill{overflow:hidden;max-width:108px;text-overflow:ellipsis;white-space:nowrap}
.renewal-product-cell>small{display:inline!important;margin:2px 4px 0 0!important;color:#6f7c8d!important;white-space:nowrap}
.renewal-product-cell>.renewal-action-hint{display:inline-flex;width:auto;max-width:100%;align-items:center;margin:2px 0 0;padding:1px 5px;border-radius:5px;font-size:.57rem;vertical-align:top}
.renewal-package-line{display:flex;overflow:hidden;min-width:0;align-items:baseline;gap:3px;color:#718096;white-space:nowrap}
.renewal-package-price{overflow:hidden;color:#718096;font-size:.65rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.renewal-package-line>small{flex:0 0 auto;overflow:hidden;color:#8793a3;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}
.renewal-payment-column{overflow:hidden}
.renewal-payment-cell{display:flex;min-width:0;align-items:center;gap:4px;margin-top:2px;white-space:nowrap}
.renewal-payment-cell>.pay-trigger,.renewal-payment-cell>.pending-bank-payment{overflow:hidden;max-width:100%;min-height:24px;padding:2px 6px;border-radius:6px;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.renewal-payment-cell .pending-bank-count{display:block;flex-basis:100%;margin:0;font-size:.57rem}
.revoke-payment-cell.renewal-payment-cell{min-width:128px;align-items:flex-start;flex-direction:column;gap:2px;margin:0}
.revoke-payment-cell>small{display:block;margin:0;color:#788696;font-size:.58rem;white-space:nowrap}
.revoke-payment-empty{color:#7b8794;font-size:.65rem;font-weight:700;white-space:nowrap}
.renewal-payment-recorded{overflow:hidden;max-width:100%;font-size:.61rem;text-overflow:ellipsis}
.renewal-due-primary{display:flex;min-width:0;align-items:center;gap:5px;white-space:nowrap}
.renewal-due-cell .expiry-countdown{min-width:0;min-height:23px;padding:3px 6px;border-radius:6px}
.renewal-due-cell .expiry-countdown strong{font-size:.67rem;line-height:1.1}
.renewal-due-cell .renewal-end-date{display:block!important;overflow:hidden;margin:0!important;font-size:.59rem!important;text-overflow:ellipsis;white-space:nowrap}
.renewal-status-cell>.renewal-next-state{display:flex;overflow:hidden;min-height:0;align-items:baseline;gap:4px;margin-top:2px;padding:0;border-radius:0;background:transparent!important;white-space:nowrap}
.renewal-status-cell>.renewal-next-state strong{flex:0 0 auto;font-size:.62rem;font-weight:750}
.renewal-status-cell>.renewal-next-state small{display:block;overflow:hidden;margin:0;color:#6f7c8d;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}
.renewal-status-cell[data-state="due"]>.renewal-next-state strong{color:#9a5b08}
.renewal-status-cell[data-state="reported"]>.renewal-next-state strong,.renewal-status-cell[data-state="renewed"]>.renewal-next-state strong{color:#15803d}
.renewal-status-cell[data-state="overdue"]>.renewal-next-state strong,.renewal-status-cell[data-state="account_die"]>.renewal-next-state strong{color:#b91c1c}
.renewal-status-cell[data-state^="frozen"]>.renewal-next-state strong{color:#43516a}
.renewal-section-divider th{height:29px;padding:4px 8px;border-top:5px solid #f3f6fa;border-bottom:1px solid currentColor;text-align:left}
.renewal-section-divider:first-child th{border-top-width:0}
.renewal-section-divider th>span{display:inline-flex;align-items:center;gap:6px}
.renewal-section-divider th strong{font-size:.65rem;font-weight:800}
.renewal-section-divider th b{display:inline-grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;color:#fff;font-size:.57rem}
.renewal-section-divider th small{margin-left:8px;color:inherit;font-size:.57rem;font-weight:500;opacity:.72}
.renewal-section-divider.is-unreported th{background:#fff8e6;color:#9a5b08}
.renewal-section-divider.is-unreported th b{background:#b86b08}
.renewal-section-divider.is-follow-up th{background:#edf8f1;color:#18733a}
.renewal-section-divider.is-follow-up th b{background:#18733a}
.renewal-note-cell{width:100px;min-width:100px;padding-top:4px!important;padding-bottom:4px!important}
.renewal-note-cell textarea{width:100%;min-width:0;height:28px;min-height:28px;max-height:28px;padding:4px 7px;border-radius:6px;line-height:1.2}
.renewal-note-cell .order-note-save-state{right:6px;left:auto;bottom:1px;padding:0 3px}
.renewal-actions-cell{white-space:nowrap}
.renewal-actions{min-width:0;flex-wrap:nowrap;justify-content:flex-start;gap:4px}
.renewal-actions .button{min-height:30px;padding:4px 7px;border-radius:6px;font-size:.63rem}
.renewal-actions .renewal-copy-button,.renewal-actions .renewal-report-button{width:30px;height:30px;min-width:30px;padding:0}
.renewal-actions .renewal-copy-button svg{width:14px;height:14px}
.renewal-actions .renewal-copy-button .renewal-action-label,.renewal-actions .renewal-report-button .renewal-action-label{display:none}
.renewal-actions .table-more>summary{width:30px;height:30px;min-height:30px}

@media(max-width:1120px){
  .renewal-control-bar{align-items:stretch;flex-wrap:wrap}
  .renewal-search{max-width:none}
  .renewal-task-filters{flex-basis:100%}
}
@media(max-width:760px){
  .renewal-context{padding:6px 8px}
  .renewal-context p{white-space:normal}
  .renewal-control-bar{display:grid;gap:6px}
  .renewal-search{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;max-width:none;width:100%}
  .renewal-search .search-box{min-width:0}
  .renewal-search :is(input,.button){min-height:42px}
  .renewal-search input{font-size:16px}
  .renewal-task-filters{overflow:hidden;width:100%}
  .renewal-task-filters .account-filter-set{display:block;overflow-x:auto;padding-bottom:2px}
  .renewal-task-filters .status-tabs{display:flex;width:max-content;min-width:100%}
  .renewal-task-filters .status-tabs a{min-height:40px;align-items:center}
  .renewal-bulk-check-open{width:100%;min-height:44px}
  .renewal-bulk-check-modal{width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}
  .renewal-bulk-check-summary{grid-template-columns:1fr;padding:12px}
  .renewal-bulk-check-note{margin:0 12px 12px}
  .renewal-bulk-check-actions{grid-template-columns:1fr;padding:10px 12px 12px}
  .renewal-bulk-check-actions .button{min-height:44px}
  .intake-status-bar{display:grid;margin-bottom:11px}
  .intake-status-bar .renewal-bulk-check-open{width:100%;min-height:44px}
  /* Điện thoại: hàng phẳng trên một mặt phẳng. Tên khách là mốc neo, mọi thứ khác lùi một cấp.
     Trạng thái chỉ mã hoá một lần; vạch màu trái dành cho ca ngoại lệ (TK Die, đóng băng) chứ không phải dòng nào cũng có. */
  .renewal-sheet{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
  .renewal-sheet .table-wrap{overflow:visible}
  .renewal-sheet table{display:block;width:100%;min-width:0}
  .renewal-sheet thead{display:none}
  .renewal-sheet tbody{display:block}
  .renewal-sheet tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:11px 14px;border-bottom:1px solid #eef2f6;background:#fff}
  .renewal-sheet tbody tr:last-child{border-bottom:0}
  .renewal-sheet tbody tr.renewal-row-account-die{border-left:3px solid #dc2626;padding-left:11px}
  .renewal-sheet tbody tr.renewal-row-frozen{border-left:3px solid #64748b;padding-left:11px}
  .renewal-sheet tbody tr>td{display:block;width:auto;min-width:0;height:auto;padding:0!important;border:0;box-shadow:none!important}
  .renewal-sheet tbody tr>td[colspan]{grid-column:1/-1;padding:16px 14px!important}
  .renewal-order-cell{display:none!important}
  .renewal-customer-cell{grid-column:1;grid-row:1}
  .renewal-due-cell{grid-column:2;grid-row:1;text-align:right}
  .renewal-product-cell{grid-column:1;grid-row:2;display:flex!important;align-items:center;min-width:0}
  .renewal-package-cell{grid-column:2;grid-row:2;text-align:right}
  .renewal-note-cell{grid-column:1/-1;grid-row:3;position:relative}
  .renewal-payment-column{grid-column:1;grid-row:4;display:flex!important;align-items:center;min-width:0;margin-top:3px}
  .renewal-actions-cell{grid-column:2;grid-row:4;justify-self:end;min-width:0;margin-top:3px}
  .renewal-customer-primary .customer-name-button{max-width:100%;font-size:.98rem;font-weight:600}
  .renewal-customer-meta{max-width:100%;font-size:.72rem}
  .renewal-customer-extra{font-size:.7rem!important}
  .renewal-due-primary{align-items:flex-end;flex-direction:column;gap:0}
  .renewal-due-cell .renewal-end-date{display:none!important}
  .expiry-countdown{min-height:0;padding:0;border-radius:0;background:transparent!important}
  .expiry-countdown strong{font-size:.79rem;font-weight:600;line-height:1.35}
  .expiry-countdown.is-overdue{color:#b91c1c}
  .expiry-countdown.is-active{color:#15803d}
  .renewal-status-cell>.renewal-next-state{justify-content:flex-end;flex-wrap:wrap;gap:0 4px;margin-top:0}
  .renewal-next-state strong{font-size:.71rem;font-weight:400}
  .renewal-next-state small{font-size:.71rem;max-width:145px}
  .renewal-status-cell>.renewal-next-state>small:before{content:"· "}
  .renewal-product-cell>.order-account-identity{min-width:0}
  .renewal-product-cell>.order-account-identity .product-pill{max-width:none;font-size:.82rem}
  .renewal-product-cell>small{display:inline!important;margin:0 0 0 5px!important;font-size:.74rem!important}
  .renewal-product-cell>.renewal-action-hint{display:none}
  .renewal-package-cell,.renewal-package-line{font-size:.74rem;color:#77849a}
  .renewal-package-line{justify-content:flex-end}
  .renewal-package-price{font-size:.74rem}
  .renewal-package-line>small{font-size:.74rem}
  .renewal-sheet .renewal-note-add{display:inline-flex;align-items:center;min-height:24px;margin:0;padding:0;border:0;background:transparent;color:#8b97a8;font-size:.72rem;cursor:pointer}
  .renewal-sheet .renewal-note-cell.has-note>.renewal-note-add,.renewal-sheet .renewal-note-cell.is-editing>.renewal-note-add{display:none}
  .renewal-note-cell textarea{display:none;height:auto;min-height:0;max-height:84px;margin:1px 0 0;padding:5px 9px;border:1px solid transparent;border-radius:7px;background:#f5f8fb;font-size:16px;line-height:1.4;resize:none}
  .renewal-note-cell textarea:focus{min-height:56px;border-color:var(--cyan);background:#fff;resize:vertical}
  .renewal-note-cell.has-note textarea,.renewal-note-cell.is-editing textarea{display:block}
  .renewal-payment-cell{flex-wrap:wrap;justify-content:flex-start;min-width:0;margin:0}
  .renewal-payment-cell>.pay-trigger{min-height:40px;padding:.34rem .74rem;border-radius:8px;font-size:.74rem;font-weight:500}
  .renewal-payment-cell>.pending-bank-payment{min-height:40px;padding:.34rem .74rem;border-color:#ea580c;border-radius:8px;background:#ea580c;color:#fff;font-size:.74rem;font-weight:600}
  .renewal-payment-recorded{font-size:.74rem;font-weight:500}
  .pending-bank-count{display:block;margin-top:1px;font-size:.65rem}
  .renewal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;width:auto;gap:6px}
  .renewal-actions>form{min-width:0;flex:0 0 auto}
  .renewal-actions .button{min-height:40px;padding-inline:13px;border-radius:8px;font-size:.75rem;font-weight:500}
  .renewal-actions .button-primary{border:1px solid var(--cyan);background:rgba(14,165,233,.09);color:var(--cyan-dark);box-shadow:none}
  .renewal-actions .button-danger{border:1px solid #f0a9a9;background:#fff4f4;color:#b91c1c;box-shadow:none}
  .renewal-actions .renewal-copy-button,.renewal-actions .renewal-report-button{height:40px;min-height:40px}
  .renewal-actions .renewal-copy-button{width:40px;min-width:40px;padding-inline:0}
  .renewal-actions .renewal-report-button{width:auto;min-width:0;flex:0 0 auto;padding-inline:11px}
  .renewal-actions .renewal-report-button .renewal-action-label{display:inline}
  .renewal-actions .table-more{flex:0 0 40px}
  .renewal-actions .table-more>summary{width:40px;height:40px;min-height:40px;border-radius:8px}
  .renewal-sheet tbody tr.renewal-section-divider{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .renewal-section-divider th{display:flex;align-items:center;gap:7px;height:auto;min-height:0;padding:7px 14px;border:0!important;text-align:left}
  .renewal-section-divider th>span{display:flex;align-items:center;gap:7px}
  .renewal-section-divider th strong{font-size:.67rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}
  .renewal-section-divider th small{display:none!important}
}
/* v1.59.0 · Đo thao tác cá nhân */
.nav-live-dot{width:7px;height:7px;min-width:7px;padding:0;margin-left:auto;border-radius:999px;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.usage-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.usage-status{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#f4f6f9;color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}
.usage-status i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.usage-status.is-on{border-color:#b7e5c5;background:#edf9f1;color:#147a35}.usage-status.is-on i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.14)}
.usage-setup-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px}.usage-setup-card h2,.usage-setup-card p{margin:0}.usage-setup-card h2{font-size:.95rem}.usage-setup-card p{margin-top:3px;font-size:.75rem;color:var(--muted)}.usage-setup-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e8f4fb;color:#0475a4;font-size:1.4rem;font-weight:800}
.usage-control-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:8px 14px;padding:10px 12px;margin-bottom:10px}
.usage-control-state{display:flex;align-items:center;gap:10px;min-width:0}.usage-control-state p,.usage-control-state strong,.usage-control-state small{display:block;margin:0}.usage-control-state strong{font-size:.8rem}.usage-control-state small{margin-top:2px;color:var(--muted);font-size:.68rem}.usage-pulse{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#94a3b8}.usage-pulse.is-on{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}
.usage-control-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.usage-control-actions form{margin:0}.usage-control-actions .button{min-height:34px;padding:6px 11px;font-size:.72rem;white-space:nowrap}.usage-reset-open{color:#b42318}.usage-copy-state{grid-column:1/-1;min-height:0;margin:0;color:#147a35;font-size:.68rem;text-align:right}.usage-copy-state:empty{display:none}
.usage-stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:10px}.usage-stat-strip article{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.usage-stat-strip span,.usage-stat-strip strong,.usage-stat-strip small{display:block}.usage-stat-strip span{font-size:.64rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.usage-stat-strip strong{margin-top:2px;font-size:1.05rem;line-height:1.15}.usage-stat-strip small{margin-top:2px;font-size:.65rem;color:var(--muted)}
.usage-empty-state{display:flex;align-items:center;justify-content:center;gap:13px;min-height:170px;text-align:left}.usage-empty-state>span{font-size:2.2rem;color:#7bbbd5}.usage-empty-state h2,.usage-empty-state p{margin:0}.usage-empty-state h2{font-size:1rem}.usage-empty-state p{max-width:570px;margin-top:4px;color:var(--muted);font-size:.76rem}
.usage-dashboard-grid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr);gap:9px;align-items:start}.usage-panel{padding:0;overflow:hidden}.usage-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid var(--line);background:#fbfcfe}.usage-panel>header h2,.usage-panel>header p{margin:0}.usage-panel>header h2{font-size:.82rem}.usage-panel>header p{margin-top:2px;color:var(--muted);font-size:.65rem}.usage-table{width:100%;min-width:0;font-size:.7rem}.usage-table th{padding:5px 7px;background:#f5f7fa;color:#66758a;font-size:.6rem;text-transform:uppercase;letter-spacing:.03em}.usage-table td{padding:5px 7px;border-bottom:1px solid #eef1f5;vertical-align:middle}.usage-table tbody tr:last-child td{border-bottom:0}.usage-table td strong,.usage-table td small{display:block}.usage-table td strong{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.usage-table td small{max-width:320px;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a96a8;font:500 .58rem ui-monospace,SFMono-Regular,Consolas,monospace}.usage-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.usage-kind{display:inline-flex;padding:2px 5px;border-radius:5px;background:#edf4f8;color:#386079;font:700 .58rem ui-monospace,SFMono-Regular,Consolas,monospace}
.usage-target-panel{grid-row:span 2}.usage-ranked-list{list-style:none;margin:0;padding:3px 10px}.usage-ranked-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px;border-bottom:1px solid #eef1f5}.usage-ranked-list li:last-child{border-bottom:0}.usage-ranked-list span,.usage-ranked-list strong,.usage-ranked-list small{display:block}.usage-ranked-list strong{font-size:.7rem}.usage-ranked-list small{margin-top:1px;color:var(--muted);font-size:.61rem}.usage-ranked-list b{min-width:26px;padding:3px 6px;border-radius:999px;background:#fff0e9;color:#b54708;text-align:center;font-size:.66rem}
.usage-friction-block h3{margin:0;padding:7px 11px 3px;color:#66758a;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em}.usage-friction-block+.usage-friction-block{border-top:1px solid var(--line)}.usage-friction-block .empty-inline{margin:3px 10px 9px}
.usage-position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:9px}.usage-position-grid span{display:grid;place-items:center;min-height:48px;padding:4px;border:1px solid rgba(3,105,161,calc(.12 + var(--usage-intensity) * .25));border-radius:6px;background:rgba(14,165,233,calc(.035 + var(--usage-intensity) * .22));text-align:center}.usage-position-grid b,.usage-position-grid small{display:block}.usage-position-grid b{font-size:.78rem}.usage-position-grid small{color:#526579;font-size:.56rem}
.usage-context-split{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px;padding:9px 11px}.usage-context-split section+section{padding-left:10px;border-left:1px solid var(--line)}.usage-context-split h3{margin:0 0 4px;font-size:.65rem;color:var(--muted);text-transform:uppercase}.usage-context-split p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:3px 0;font-size:.64rem}.usage-context-split p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-context-split p b{font-variant-numeric:tabular-nums}.usage-context-split small{font-size:.62rem;color:var(--muted)}
.usage-privacy-note{display:flex;align-items:center;gap:10px;margin-top:9px;padding:7px 10px;border:1px solid #d9e8ef;border-radius:8px;background:#f5fafc;color:#4c6372;font-size:.65rem}.usage-privacy-note strong{white-space:nowrap;color:#245268}.usage-reset-dialog{width:min(520px,calc(100vw - 24px))}.usage-reset-dialog .modal-header{padding-bottom:10px;border-bottom:1px solid var(--line)}.usage-reset-dialog .modal-header h2,.usage-reset-dialog .modal-header p{margin:0}.usage-reset-dialog .modal-header h2{font-size:1rem}.usage-reset-dialog .modal-header p{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.45}.usage-reset-impact{margin:0;padding:9px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:.72rem}.usage-reset-dialog label{font-size:.75rem}.usage-reset-dialog input{margin-top:5px;text-transform:uppercase}.usage-reset-dialog .form-actions{margin:0;padding-top:8px;border-top:1px solid var(--line)}
@media(max-width:1050px){.usage-dashboard-grid{grid-template-columns:1fr 1fr}.usage-target-panel{grid-row:auto}.usage-stat-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.usage-page-heading{align-items:flex-start}.usage-control-bar{grid-template-columns:1fr}.usage-control-actions{justify-content:stretch}.usage-control-actions>*{flex:1}.usage-control-actions form .button,.usage-control-actions>.button{width:100%;min-height:42px}.usage-copy-state{text-align:left}.usage-stat-strip{grid-template-columns:repeat(2,1fr)}.usage-dashboard-grid{grid-template-columns:1fr}.usage-table{min-width:520px}.usage-panel .table-wrap{overflow-x:auto}.usage-position-grid span{min-height:54px}.usage-privacy-note{align-items:flex-start;flex-direction:column;gap:3px}.usage-setup-card{grid-template-columns:38px 1fr}.usage-setup-card .button{grid-column:1/-1;min-height:42px}.usage-reset-dialog .form-actions{display:grid;grid-template-columns:1fr}.usage-reset-dialog .button{min-height:42px}}
@media(max-width:430px){.usage-control-actions{display:grid;grid-template-columns:1fr 1fr}.usage-control-actions form:first-child{grid-column:1/-1}.usage-stat-strip{grid-template-columns:1fr 1fr}.usage-stat-strip article:last-child{grid-column:1/-1}.usage-context-split{grid-template-columns:1fr}.usage-context-split section+section{padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}}

/* Tương tác hàng dùng chung: đủ rõ trên bảng dày, không lẫn với trạng thái đã chọn/cảnh báo. */
:root{--row-hover:#e8f2ff;--surface-hover:#edf5fd}
tbody tr:hover{background:var(--row-hover)}
.customer-service-table tbody tr:hover,.group-row:hover,.field-row:hover,.mini-list>a:hover{background:var(--row-hover)}
.bulk-entry-table tbody tr:hover td:first-child{background:var(--row-hover)}
.payment-ledger-table tbody tr:not(.is-selected):hover td{background:var(--row-hover)}
.reconcile-feed-item:hover:not(.active){background:var(--row-hover)}
.row-unpaid:hover{background:#fff1f2!important}
.row-account-die:hover,.renewal-row-account-die:hover{background:#ffe4e6!important}
.renewal-row-reported:hover{background:#e8edf4!important}
.renewal-row-frozen:hover{background:#e4eaf2!important}
.revoke-row-frozen:hover{background:#d7efff!important}
.renewal-row-renewed:hover{background:#ddf2ff!important}

/* Bàn gửi khách: gom copy mã KH, nội dung Zalo, QR và ghi nhận đã gửi vào một luồng. */
.renewal-send-open{min-width:104px;gap:5px}
.button-primary.renewal-send-open.is-resend{border-color:#79c493;background:#ecf8f0;color:#116530;box-shadow:none}
.button-primary.renewal-send-open.is-resend:hover{border-color:#58ac75;background:#daf1e2;color:#0d5427}
.renewal-send-desk{position:fixed;inset:0 0 0 auto;width:min(410px,100vw);height:100dvh;max-height:100dvh;margin:0;padding:0;border-radius:13px 0 0 13px;overflow:hidden;background:var(--card)}
.renewal-send-desk::backdrop{background:rgba(6,20,38,.38);backdrop-filter:blur(1px)}
.renewal-send-form{display:flex;height:100%;min-height:0;flex-direction:column}
.renewal-send-header{flex:0 0 auto;margin:0;padding:12px 13px 10px;border-bottom:1px solid var(--line)}
.renewal-send-header hgroup{margin:0}.renewal-send-header hgroup>small{display:block;margin-bottom:1px;color:#0782bc;font-size:.59rem;font-weight:800;letter-spacing:.08em}.renewal-send-header h2{font-size:.96rem}.renewal-send-header p{font-size:.68rem}
.renewal-send-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;flex:0 0 auto;padding:7px 13px;border-bottom:1px solid #cde8f4;background:#edf8fd;font-size:.66rem;color:#42677a}
.renewal-send-summary strong{overflow:hidden;color:#075e86;text-overflow:ellipsis;white-space:nowrap}.renewal-send-summary span:last-child{grid-column:1/-1}
.renewal-send-steps{display:grid;min-height:0;align-content:start;gap:6px;flex:1 1 auto;padding:8px 10px;overflow-y:auto;background:#f8fafc}
.renewal-send-step{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;transition:border-color .15s,background .15s}
.renewal-send-step-number{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e7f6fc;color:#087eae;font-size:.7rem;font-weight:800}
.renewal-send-step strong,.renewal-send-step small{display:block}.renewal-send-step strong{font-size:.74rem}.renewal-send-step small{margin-top:1px;color:var(--muted);font-size:.61rem;line-height:1.25}
.renewal-send-step>.button{min-height:32px;padding:4px 8px;border-radius:6px;font-size:.65rem}
.renewal-send-step.is-done{border-color:#74c997;background:#edf9f1}.renewal-send-step.is-done .renewal-send-step-number{background:#168a4a;color:#fff}.renewal-send-step.is-done>.button{border-color:#75c997;background:#fff;color:#147a35}
.renewal-send-qr-step{align-items:start}.renewal-send-step-heading{padding-top:3px}.renewal-send-qr{grid-column:2/-1;min-width:0}
.renewal-send-desk .payment-qr-inline.is-send-desk{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.renewal-send-desk .payment-qr-inline.is-send-desk>header,.renewal-send-desk .payment-qr-inline.is-send-desk>label:has([data-payment-qr-content]),.renewal-send-desk .payment-qr-inline.is-send-desk [data-payment-qr-copy-content]{display:none}
.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-visual{grid-column:1;grid-row:1/span 3;width:120px;margin:0;border-radius:7px}
.renewal-send-desk .payment-qr-inline.is-send-desk>label,.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-status,.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-actions{grid-column:2;min-width:0}
.renewal-send-desk .payment-qr-inline.is-send-desk>label{font-size:.61rem}.renewal-send-desk .payment-qr-inline.is-send-desk select{height:32px;margin-top:2px;padding:4px 6px;font-size:.64rem}
.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-status{min-height:0;font-size:.58rem;line-height:1.25}
.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-actions{display:block}.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-actions .button{width:100%;min-height:34px;padding:4px 6px;font-size:.64rem}
.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-missing{grid-column:1/-1;padding:9px}
.renewal-send-follow-up{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--line);background:#fff}
.renewal-send-follow-up label{font-size:.65rem}.renewal-send-follow-up input{height:34px;margin-top:2px;padding:5px 7px;font-size:.7rem}
.renewal-send-follow-up details{align-self:end;border:1px solid var(--line);border-radius:7px;background:#fff}.renewal-send-follow-up summary{min-height:34px;padding:7px;color:#48566b;font-size:.66rem;font-weight:700;cursor:pointer}.renewal-send-follow-up summary small{color:var(--muted);font-weight:500}.renewal-send-follow-up textarea{min-height:56px;margin:0;border:0;border-top:1px solid var(--line);border-radius:0 0 7px 7px;padding:7px;font-size:.7rem}
.renewal-send-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--line);background:#f4f7fb;box-shadow:0 -5px 14px rgba(15,35,65,.05)}
.renewal-send-footer>small{color:var(--muted);font-size:.61rem;line-height:1.3}.renewal-send-footer>.button{min-height:38px;padding:6px 10px;font-size:.7rem}.renewal-send-footer>.button:disabled{cursor:not-allowed;opacity:.48;transform:none}
@media(max-width:620px){
  .renewal-send-desk{inset:auto 0 0;width:100vw;height:min(94dvh,780px);max-height:94dvh;border-radius:14px 14px 0 0}
  .renewal-send-header{padding:10px}.renewal-send-summary{padding:7px 10px}.renewal-send-steps{padding:7px 8px}
  .renewal-send-step{grid-template-columns:28px minmax(0,1fr);padding:8px}.renewal-send-step-number{width:28px;height:28px}.renewal-send-step>.button{grid-column:1/-1;min-height:44px;width:100%;font-size:.74rem}
  .renewal-send-qr{grid-column:1/-1}.renewal-send-desk .payment-qr-inline.is-send-desk{grid-template-columns:112px minmax(0,1fr)}.renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-visual{width:112px}
  .renewal-send-desk .payment-qr-inline.is-send-desk>.payment-qr-inline-actions .button{min-height:44px;font-size:.72rem}
  .renewal-send-follow-up{padding:7px 8px}.renewal-send-follow-up input,.renewal-send-follow-up summary{min-height:44px;font-size:16px}.renewal-send-follow-up summary{display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.renewal-send-follow-up textarea{font-size:16px}
  .renewal-send-footer{grid-template-columns:1fr;padding:7px 8px}.renewal-send-footer>.button{min-height:44px;width:100%;font-size:.76rem}.renewal-send-footer>small{text-align:center}
}

/* ---- Đơn hàng trên điện thoại: mỗi dòng là một thẻ. Khách · Tiền · Sản phẩm hiện sẵn, phần còn lại bung khi chạm ---- */
.m-row-toggle,.mobile-pick-toggle,.renewal-note-add{display:none}
@media(max-width:620px){
.mobile-rows .table-wrap{overflow-x:visible}
.mobile-rows table{width:100%;min-width:0}
.mobile-rows thead{display:none}
.mobile-rows tbody,.mobile-rows td{display:block;width:100%}
.mobile-rows tbody tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;padding:9px 42px 10px 11px;border-bottom:1px solid var(--line)}
.mobile-rows tbody tr:last-child{border-bottom:0}
.mobile-rows tbody tr:nth-child(odd){background:#f3faf6!important}
.mobile-rows tbody tr:nth-child(even){background:#fff!important}
.mobile-rows tbody tr:nth-child(odd):hover{background:#edf7f1!important}
.mobile-rows tbody tr:nth-child(even):hover{background:#fafcff!important}
.mobile-rows tbody tr.row-unpaid{box-shadow:inset 3px 0 #ef4444!important}
.mobile-rows td{min-width:0;padding:0;border:0;font-size:.84rem;order:3}
.mobile-rows td[colspan]{grid-column:1/-1;padding:0}
.mobile-rows td.m-name{grid-column:1;grid-row:1;order:1;font-size:.9rem}
.mobile-rows td.m-name small{display:inline;margin:0 0 0 5px;font-size:.74rem}
.mobile-rows td.m-name .order-important-note,.mobile-rows td.m-name .order-red-invoice-flag{display:inline-block;margin:1px 0 0 5px}
.mobile-rows td.m-status{grid-column:1;grid-row:3;order:2;justify-self:stretch;text-align:left;white-space:nowrap}
.mobile-rows td.m-status small{display:block;margin:2px 0 0;font-size:.7rem}
.mobile-rows td.m-status .pay-trigger{width:100%;min-height:44px}.mobile-rows td.m-qr{display:block;grid-column:2;grid-row:3;order:2;align-self:stretch}.mobile-rows td.m-qr .order-qr-open{height:100%;min-height:44px;min-width:82px}
.mobile-rows td.m-sub{grid-column:1/-1;order:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px}
.mobile-rows td.m-sub small,.mobile-rows td.m-sub strong{display:inline;margin:0}
.mobile-rows tbody td:not(.m-name):not(.m-status):not(.m-qr):not(.m-sub):not(.col-check):not(.m-act):not([colspan]){display:none}
.mobile-rows tbody td.m-act{display:none}
.mobile-rows tbody tr.is-open td:not(.m-name):not(.m-status):not(.m-qr):not(.m-sub):not(.col-check):not(.m-act):not(.m-blank):not([colspan]){display:grid;grid-column:1/-1;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:9px;padding:2px 0;font-size:.79rem}
.mobile-rows tbody tr.is-open td:not(.m-name):not(.m-status):not(.m-qr):not(.m-sub):not(.col-check):not(.m-act):not(.m-blank):not([colspan]):before{content:attr(data-label);align-self:start;color:var(--muted);font-size:.71rem;line-height:1.7}
.mobile-rows tbody tr.is-open td:not(.m-name):not(.m-status):not(.m-qr):not(.m-sub):not(.col-check):not(.m-act):not([colspan])>*{justify-self:start;width:auto;max-width:100%}
.mobile-rows tbody tr.is-open td.m-fold-first{margin-top:7px;padding-top:8px;border-top:1px solid var(--line)}
.mobile-rows tbody tr.is-open td.order-note-cell textarea{justify-self:stretch;width:100%;min-width:0}
.mobile-rows tbody tr.is-open td.m-act:not(.m-blank){display:block;grid-column:1/-1;order:4;margin-top:9px}
.mobile-rows tbody tr.is-open td.m-act .table-actions{display:flex;align-items:stretch;gap:7px}
.mobile-rows tbody tr.is-open td.m-act .inline-form{flex:1;display:flex}
.mobile-rows tbody tr.is-open td.m-act .table-action{flex:1;width:100%;min-height:38px;display:inline-grid;place-items:center;text-align:center}
.mobile-rows tbody tr.is-open td.m-act .table-more{flex:0 0 42px}
.mobile-rows tbody tr.is-open td.m-act .button{min-height:38px}
.mobile-rows tbody tr.is-open td.m-act .table-action{border:1px solid var(--line);border-radius:8px;background:#fff}
.mobile-rows tbody tr.is-open td.m-act .row-primary-action{border-color:var(--cyan);background:rgba(14,165,233,.08);color:var(--cyan-dark);font-weight:600}
.mobile-rows .m-row-toggle{position:absolute;inset:0 0 0 auto;width:40px;display:grid;place-items:center;margin:0;padding:0;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);font-size:.8rem;line-height:1;cursor:pointer}
.mobile-rows .m-row-toggle:before{content:"▾";display:block;transition:transform .15s ease}
.mobile-rows tbody tr.is-open .m-row-toggle{color:var(--cyan-dark)}
.mobile-rows tbody tr.is-open .m-row-toggle:before{transform:rotate(180deg)}
.mobile-rows td.col-check{display:none}
.mobile-rows.is-picking tbody tr{grid-template-columns:20px minmax(0,1fr) auto;padding-left:14px}
.mobile-rows.is-picking td.col-check{display:block;grid-column:1;grid-row:1;order:0;align-self:center;width:auto;text-align:left}
.mobile-rows.is-picking td.m-name{grid-column:2}
.mobile-rows.is-picking td.m-status{grid-column:2}.mobile-rows.is-picking td.m-qr{grid-column:3}
.mobile-rows.is-picking td.m-sub,.mobile-rows.is-picking tbody tr.is-open td:not(.m-name):not(.m-status):not(.m-qr):not(.col-check):not([colspan]){grid-column:2/-1}
.mobile-pick-toggle{display:inline-flex;align-items:center;margin:9px 0 0 11px;padding:.34rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);font-size:.76rem;line-height:1.4;cursor:pointer}
.mobile-pick-toggle[aria-pressed="true"]{border-color:var(--cyan);background:rgba(14,165,233,.1);color:var(--cyan-dark)}
}

/* v1.64 · Các popup gia hạn có thêm ô ngày lẻ nhưng vẫn giữ mật độ cao. */
.form-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.approval-month-row.has-extra-days{grid-template-columns:100px 100px minmax(0,1fr)}
@media(max-width:620px){.form-grid.five{grid-template-columns:1fr}}
@media(max-width:460px){.approval-month-row.has-extra-days{grid-template-columns:1fr 1fr}.approval-month-row.has-extra-days .approval-expiry-preview{grid-column:1/-1}}
@media(max-width:360px){.approval-month-row.has-extra-days{grid-template-columns:1fr}}

/* v1.65 · Chính sách HĐ mặc định theo tài khoản nhận tiền. */
.payment-bank-form-actions>section{display:grid;gap:5px}.payment-bank-form-actions>section>.use-toggle{margin:0}.payment-bank-form-actions>section>small{max-width:680px;color:var(--muted);font-size:.62rem;line-height:1.35}.invoice-batch-vat{display:grid}.invoice-batch-vat small{color:#718094;font-size:.5rem}

/* Lô đã xuất giữ nguyên tới khi người vận hành chốt kiểm tra; sắc xám tách khỏi hàng chờ. */
.invoice-batch-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-batch-kpis .has-completed{border-color:#d6dbe1;background:#f1f3f5}.invoice-batch-kpis .has-completed strong{color:#59636e}.invoice-batch-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:auto}.invoice-batch-toolbar .invoice-batch-toolbar-actions>form{display:block;margin:0}.invoice-batch-toolbar-actions .invoice-batch-copy-report{margin-left:0}.invoice-batch-review-all{border-color:#aeb8c2;background:#f4f6f8;color:#45515d}.invoice-batch-table tbody tr.is-completed,.invoice-batch-table tbody tr.is-completed:hover{background:#eef1f4;color:#67717c}.invoice-batch-table tr.is-completed td{border-color:#d9dee3}.invoice-batch-table tr.is-completed .is-priority-column{background:#e5e9ed}.invoice-batch-table tr.is-completed .invoice-batch-money,.invoice-batch-table tr.is-completed .invoice-batch-count,.invoice-batch-table tr.is-completed .invoice-batch-total{color:#5f6872}.invoice-batch-table tr.is-completed .invoice-batch-price{border-color:#d5dae0;background:#e2e6ea;color:#4f5963}.invoice-batch-table tr.is-completed .invoice-batch-price small,.invoice-batch-table tr.is-completed .invoice-batch-price>span{color:#6c7680}.invoice-batch-table tr.is-completed .invoice-batch-state strong{color:#4f5963}.invoice-batch-review-one{display:inline-flex;width:100%;min-height:30px;align-items:center;justify-content:center;gap:4px;padding:3px 6px;border-color:#9faab5;background:#f8fafb;color:#46515c;font-size:.6rem}.invoice-batch-review-one:hover{border-color:#647482;background:#fff;color:#263746}.invoice-batch-review-one b{font-size:.7rem}
.invoice-batch-processed{display:inline-flex;width:100%;min-height:30px;align-items:center;justify-content:center;border:1px solid #c6cdd4;border-radius:6px;background:#e2e6ea;color:#5d6771;font-size:.6rem}
@media(max-width:760px){.invoice-batch-kpis{grid-template-columns:1fr 1fr}.invoice-batch-kpis>span:last-child{grid-column:auto}.invoice-batch-toolbar-actions{display:grid;width:100%;grid-template-columns:1fr;margin-left:0}.invoice-batch-toolbar-actions form,.invoice-batch-toolbar-actions .button{width:100%}.invoice-batch-table tr.is-completed{background:#eef1f4}.invoice-batch-review-one,.invoice-batch-processed{min-height:44px;font-size:.7rem}.invoice-queue-hide-form{flex:0 0 auto}.invoice-queue-hide-button{min-height:40px}}
@media(max-width:360px){.invoice-batch-toolbar-actions{grid-template-columns:1fr}}

/* Xác nhận toàn bộ hóa đơn đủ điều kiện trong đúng snapshot đang xem */
.invoice-batch-confirm-all-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #a9d7bc;border-radius:7px;background:#f0faf4}.invoice-batch-confirm-all-bar>span{display:grid;gap:1px}.invoice-batch-confirm-all-bar strong{color:#155f38;font-size:.72rem}.invoice-batch-confirm-all-bar small{color:#567565;font-size:.59rem}.invoice-batch-confirm-all{flex:0 0 auto;min-height:34px}.invoice-confirm-all-dialog{width:min(720px,calc(100vw - 24px))}.invoice-confirm-all-dialog>form{gap:9px}.invoice-confirm-all-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.invoice-confirm-all-summary span{padding:8px 10px;border:1px solid #dce5e9;border-radius:7px;background:#f7fafb}.invoice-confirm-all-summary small,.invoice-confirm-all-summary strong{display:block}.invoice-confirm-all-summary small{color:#718094;font-size:.57rem;font-weight:750;text-transform:uppercase}.invoice-confirm-all-summary strong{margin-top:2px;color:#183044;font-size:.78rem}.invoice-confirm-all-list{max-height:min(390px,48vh);overflow:auto;border:1px solid #dce4e9;border-radius:7px}.invoice-confirm-all-list table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:.67rem}.invoice-confirm-all-list th:first-child{width:40%}.invoice-confirm-all-list th:nth-child(2){width:22%}.invoice-confirm-all-list th:nth-child(3){width:25%}.invoice-confirm-all-list th:nth-child(4){width:13%}.invoice-confirm-all-list caption{padding:7px 9px;background:#f4f7f9;color:#526273;font-size:.6rem;font-weight:800;text-align:left;text-transform:uppercase}.invoice-confirm-all-list th,.invoice-confirm-all-list td{padding:6px 9px;border-top:1px solid #e4eaee;text-align:right;font-variant-numeric:tabular-nums}.invoice-confirm-all-list thead th{position:sticky;z-index:1;top:0;background:#f8fafb;color:#617183;font-size:.56rem;text-transform:uppercase}.invoice-confirm-all-list th:first-child{text-align:left}.invoice-confirm-all-list tbody th{overflow-wrap:anywhere;color:#183044;font-size:.67rem}.invoice-confirm-all-note{margin:0;padding:7px 9px;border-radius:6px;background:#f2f6f8;color:#617182;font-size:.61rem}.invoice-confirm-all-dialog .form-actions{margin-top:0}
@media(max-width:760px){.invoice-batch-confirm-all-bar{align-items:stretch;flex-direction:column}.invoice-batch-confirm-all{width:100%;min-height:44px}.invoice-confirm-all-dialog{width:calc(100vw - 10px)}.invoice-confirm-all-summary{grid-template-columns:1fr 1fr}.invoice-confirm-all-summary span:last-child{grid-column:1/-1}.invoice-confirm-all-list{max-height:46vh}.invoice-confirm-all-list table{min-width:520px}.invoice-confirm-all-dialog .form-actions{display:grid;grid-template-columns:1fr 2fr}.invoice-confirm-all-dialog .form-actions .button{min-height:44px}}

/* Thứ bậc thao tác lô: xác nhận chính bên trái, xuất file và báo cáo bên phải. */
.invoice-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.invoice-batch-actions .invoice-batch-toolbar-actions{margin-left:auto}.invoice-batch-actions .invoice-batch-confirm-all{min-height:34px}.invoice-batch-download{border-color:#7bbce5;color:#0876b5}.invoice-batch-copy-report{color:#687789}.invoice-batch-summary-line{margin:0;color:#667587;font-size:.62rem}.invoice-batch-summary-line strong{color:#29445b}.invoice-batch-table{min-width:600px}.invoice-batch-table th:nth-child(1){width:110px}.invoice-batch-table th:nth-child(2){width:145px}.invoice-batch-table th:nth-child(3){width:85px}.invoice-batch-table th:nth-child(4){width:185px}.invoice-batch-table th:nth-child(5){width:75px}.invoice-batch-confirm{border-color:#9bcbe8;background:#eff8fd;color:#0876b5}.invoice-batch-confirm:hover{border-color:#65add8;background:#e5f4fc;color:#075f91}.invoice-batch-table tr.is-completed .invoice-batch-processed{border-color:#b7ddc5;background:#eff9f2;color:#24633f}
@media(max-width:760px){.invoice-batch-actions{display:grid;grid-template-columns:1fr}.invoice-batch-actions .invoice-batch-confirm-all{width:100%;min-height:44px}.invoice-batch-actions .invoice-batch-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;margin-left:0}.invoice-batch-actions .invoice-batch-toolbar-actions form,.invoice-batch-actions .invoice-batch-toolbar-actions .button{width:100%;min-width:0;min-height:44px}.invoice-batch-summary-line{line-height:1.45}.invoice-batch-table{min-width:0}.invoice-batch-table tr{grid-template-rows:auto auto auto}}
@media(max-width:360px){.invoice-batch-actions .invoice-batch-toolbar-actions{grid-template-columns:1fr}}

/* Tổng tiền là mốc đối chiếu chính ở cả hai bước xuất hóa đơn. */
.invoice-batch-summary>.modal-header{margin:0;padding:2px 0 8px;border-bottom:0;background:transparent}
.invoice-batch-summary>.modal-header h2{color:#102653;font-size:1.15rem;font-weight:800}
.invoice-batch-summary>.modal-header p{font-size:.72rem}
.invoice-batch-summary>.modal-header button{border:1px solid #d3dfeb;background:#fff;color:#102653}
.invoice-batch-summary .invoice-batch-toolbar{margin-bottom:4px}
.invoice-batch-summary-line{display:flex;align-items:center;gap:16px;padding:9px 12px;border:1px solid #c7e3ef;border-radius:8px;background:#f0f9fd}
.invoice-batch-summary .invoice-batch-summary-line{gap:24px;padding:12px 18px}
.invoice-batch-summary .invoice-received-total dt{font-size:.75rem}
.invoice-batch-summary .invoice-received-total dd{color:#0b367e;font-size:2rem}
.invoice-batch-summary .invoice-batch-summary-meta{padding-left:24px;font-size:.75rem}
.invoice-batch-summary .invoice-batch-pending-note{display:flex;align-items:center;gap:6px;color:#a86608}
.invoice-batch-summary .invoice-batch-table th:nth-child(1){width:145px}
.invoice-batch-summary .invoice-batch-table th:nth-child(2){width:85px}
.invoice-batch-summary .invoice-batch-table th:nth-child(3){width:185px}
.invoice-batch-summary .invoice-batch-table th:nth-child(4){width:75px}
.invoice-batch-summary .invoice-batch-table th:nth-child(5){width:130px}
.invoice-batch-summary .invoice-batch-table td{height:46px}
.invoice-batch-summary .invoice-batch-money,.invoice-batch-summary .invoice-batch-count{color:#102653;font-size:1rem;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.invoice-batch-summary .invoice-batch-price strong{font-size:.85rem;font-weight:600}
.invoice-batch-summary .invoice-batch-confirm{background:#fff;font-size:.72rem}
.invoice-batch-summary .invoice-batch-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding-top:4px}
.invoice-batch-summary .invoice-batch-confirm-all{grid-column:2;grid-row:1;min-height:36px;border-color:#1598da;background:#fff;color:#0876b5}
.invoice-batch-summary .invoice-batch-export-form{grid-column:3;grid-row:1;margin:0}
.invoice-batch-summary .invoice-batch-download{min-height:36px;border-color:#0788c8;color:#fff}
.invoice-batch-summary .invoice-batch-copy-report{grid-column:1;grid-row:1;width:auto;margin:0;justify-self:start;color:#476078}
.invoice-batch-summary .invoice-batch-safety{padding:8px 0 0;border-top:1px solid #dce4e9;border-radius:0;background:transparent}
.invoice-received-total{min-width:0;margin:0}
.invoice-received-total dt{color:#476878;font-size:.65rem;font-weight:650;line-height:1.4}
.invoice-received-total dd{margin:3px 0 0;color:#075f91;font-size:1.5rem;font-weight:800;line-height:1.15;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.invoice-batch-summary-meta{margin:0;padding-left:16px;border-left:1px solid #c7e3ef;line-height:1.5}
.invoice-batch-pending-note{display:block;margin-top:2px;color:#8a570c}
.invoice-confirm-all-summary{grid-template-columns:1fr 1fr 1.5fr;align-items:stretch}
.invoice-confirm-all-summary>span{display:flex;flex-direction:column;justify-content:center}
.invoice-confirm-all-summary>.invoice-received-total{padding:8px 10px;border:1px solid #c7e3ef;border-radius:7px;background:#f0f9fd}
@media(max-width:760px){
  .invoice-batch-summary>.modal-header{min-height:48px;padding-right:50px}
  .invoice-confirm-all-dialog .modal-header>button{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px}
  .invoice-batch-summary>.modal-header>button{top:0;right:0}
  .invoice-batch-summary .invoice-batch-summary-line{gap:8px 18px;padding:10px 12px}
  .invoice-batch-summary .invoice-batch-summary-meta{padding-left:0}
  .invoice-batch-summary .invoice-batch-table td{height:auto}
  .invoice-batch-summary .invoice-batch-table td:nth-child(1){grid-row:1;grid-column:1}
  .invoice-batch-summary .invoice-batch-table td:nth-child(2){grid-row:1;grid-column:2}
  .invoice-batch-summary .invoice-batch-table td:nth-child(3){grid-row:2;grid-column:1}
  .invoice-batch-summary .invoice-batch-table td:nth-child(4){grid-row:2;grid-column:2}
  .invoice-batch-summary .invoice-batch-table td:nth-child(5){grid-row:3;grid-column:1/-1}
  .invoice-batch-summary .invoice-batch-table td[colspan]{grid-column:1/-1}
  .invoice-batch-summary .invoice-batch-actions{grid-template-columns:1fr 1fr}
  .invoice-batch-summary .invoice-batch-confirm-all{grid-column:1;grid-row:2;min-height:44px}
  .invoice-batch-summary .invoice-batch-export-form{grid-column:2;grid-row:2;min-width:0}
  .invoice-batch-summary .invoice-batch-download{width:100%;min-height:44px;padding:5px 8px}
  .invoice-batch-summary .invoice-batch-copy-report{grid-column:1/-1;grid-row:1;width:100%;min-height:44px}
  .invoice-batch-summary .invoice-batch-toolbar .button,.invoice-batch-summary .invoice-batch-table .invoice-batch-confirm,.invoice-batch-summary .invoice-batch-actions .button{min-height:44px}
  .invoice-batch-summary-line{flex-wrap:wrap;gap:6px 14px}
  .invoice-batch-summary-meta{padding-left:0;border-left:0}
  .invoice-confirm-all-summary{grid-template-columns:1fr 1fr}
  .invoice-confirm-all-summary>.invoice-received-total{grid-column:1/-1}
}

/* v1.68 · Bộ nhận diện nhẹ: logo SVG + sáu màu sidebar dựng sẵn. */
.brand-theme-midnight{--sidebar-bg-start:#0b1f3a;--sidebar-bg-end:#07162a;--sidebar-strong:#fff;--sidebar-text:#cbd7e7;--sidebar-secondary:#9baec7;--sidebar-muted:#7f91aa;--sidebar-border:rgba(255,255,255,.09);--sidebar-hover-bg:rgba(255,255,255,.075);--sidebar-hover-text:#fff;--sidebar-active-start:rgba(14,165,233,.25);--sidebar-active-end:rgba(14,165,233,.08);--sidebar-accent:#22d3ee;--sidebar-logo-shadow:rgba(14,165,233,.25)}
.brand-theme-ocean{--sidebar-bg-start:#083344;--sidebar-bg-end:#052832;--sidebar-strong:#ecfeff;--sidebar-text:#cffafe;--sidebar-secondary:#a7dce0;--sidebar-muted:#81bcc2;--sidebar-border:rgba(207,250,254,.14);--sidebar-hover-bg:rgba(207,250,254,.1);--sidebar-hover-text:#fff;--sidebar-active-start:rgba(45,212,191,.27);--sidebar-active-end:rgba(45,212,191,.09);--sidebar-accent:#2dd4bf;--sidebar-logo-shadow:rgba(45,212,191,.24)}
.brand-theme-indigo{--sidebar-bg-start:#25215b;--sidebar-bg-end:#17143d;--sidebar-strong:#fff;--sidebar-text:#e0e7ff;--sidebar-secondary:#bec6ee;--sidebar-muted:#979fcd;--sidebar-border:rgba(224,231,255,.13);--sidebar-hover-bg:rgba(224,231,255,.1);--sidebar-hover-text:#fff;--sidebar-active-start:rgba(129,140,248,.31);--sidebar-active-end:rgba(129,140,248,.1);--sidebar-accent:#a5b4fc;--sidebar-logo-shadow:rgba(129,140,248,.28)}
.brand-theme-plum{--sidebar-bg-start:#451952;--sidebar-bg-end:#281130;--sidebar-strong:#fff7ff;--sidebar-text:#fae8ff;--sidebar-secondary:#ddbde4;--sidebar-muted:#ba91c1;--sidebar-border:rgba(250,232,255,.13);--sidebar-hover-bg:rgba(250,232,255,.09);--sidebar-hover-text:#fff;--sidebar-active-start:rgba(232,121,249,.27);--sidebar-active-end:rgba(232,121,249,.09);--sidebar-accent:#f0abfc;--sidebar-logo-shadow:rgba(232,121,249,.25)}
.brand-theme-charcoal{--sidebar-bg-start:#27313f;--sidebar-bg-end:#151b24;--sidebar-strong:#fff;--sidebar-text:#e5e7eb;--sidebar-secondary:#bbc2cc;--sidebar-muted:#949eac;--sidebar-border:rgba(229,231,235,.12);--sidebar-hover-bg:rgba(229,231,235,.09);--sidebar-hover-text:#fff;--sidebar-active-start:rgba(56,189,248,.25);--sidebar-active-end:rgba(56,189,248,.08);--sidebar-accent:#38bdf8;--sidebar-logo-shadow:rgba(56,189,248,.22)}
.brand-theme-paper{--sidebar-bg-start:#f8fafc;--sidebar-bg-end:#e8edf3;--sidebar-strong:#172033;--sidebar-text:#334155;--sidebar-secondary:#475569;--sidebar-muted:#536276;--sidebar-border:rgba(15,23,42,.13);--sidebar-hover-bg:rgba(2,132,199,.09);--sidebar-hover-text:#075985;--sidebar-active-start:rgba(14,165,233,.18);--sidebar-active-end:rgba(14,165,233,.07);--sidebar-accent:#0284c7;--sidebar-logo-shadow:rgba(2,132,199,.18)}
.sidebar{background:linear-gradient(180deg,var(--sidebar-bg-start),var(--sidebar-bg-end));color:var(--sidebar-strong)}
.sidebar .brand{border-color:var(--sidebar-border)}.sidebar .brand>span{opacity:1}.sidebar .brand strong{color:var(--sidebar-strong)}.sidebar .brand small{color:var(--sidebar-muted);opacity:1}
.sidebar .brand-logo{filter:drop-shadow(0 7px 14px var(--sidebar-logo-shadow))}
.sidebar .nav a,.sidebar .nav a.nav-secondary{color:var(--sidebar-text)}.sidebar .nav a.nav-secondary{color:var(--sidebar-secondary)}
.sidebar .nav a:hover,.sidebar .nav a.nav-secondary:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-hover-text)}
.sidebar .nav a.active,.sidebar .nav a.nav-secondary.active{background:linear-gradient(90deg,var(--sidebar-active-start),var(--sidebar-active-end));color:var(--sidebar-strong);box-shadow:inset 3px 0 var(--sidebar-accent)}
.sidebar .nav-label,.sidebar .sidebar-footer{color:var(--sidebar-muted)}.sidebar .sidebar-footer{border-color:var(--sidebar-border)}

.settings-section-icon.is-brand{background:#e8f0ff;color:#365fc2}
.settings-brand-card{display:grid;gap:14px;min-width:0}
.brand-choice-group{display:grid;gap:8px;min-width:0}.brand-choice-group>header{display:flex;align-items:baseline;gap:8px}.brand-choice-group>header strong{color:#354358;font-size:.79rem}.brand-choice-group>header small{color:var(--muted);font-size:.67rem}
.brand-logo-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.brand-logo-option,.brand-theme-option{position:relative;min-width:0;cursor:pointer}.brand-logo-option>input,.brand-theme-option>input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.brand-logo-option-surface{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;min-height:62px;padding:6px 25px 6px 7px;border:1px solid #dce4ed;border-radius:10px;background:#fff;color:#425167;transition:border-color .14s,background .14s,box-shadow .14s}
.brand-logo-preview{display:grid;width:46px;height:46px;place-items:center;border-radius:10px;background:#f2f5f8}.brand-logo-preview img{display:block;width:42px;height:42px;object-fit:contain}.brand-logo-option-surface>strong{min-width:0;font-size:.69rem;line-height:1.25}.brand-logo-option-surface>i,.brand-theme-option-surface>i{position:absolute;top:6px;right:6px;display:none;width:17px;height:17px;place-items:center;border-radius:50%;background:#087eae;color:#fff;font-size:.58rem;font-style:normal}
.brand-logo-option:hover .brand-logo-option-surface,.brand-theme-option:hover .brand-theme-option-surface{border-color:#9bcfe3;background:#f8fcfe}.brand-logo-option>input:focus-visible+.brand-logo-option-surface,.brand-theme-option>input:focus-visible+.brand-theme-option-surface{outline:3px solid rgba(14,165,233,.22);outline-offset:2px}.brand-logo-option>input:checked+.brand-logo-option-surface,.brand-theme-option>input:checked+.brand-theme-option-surface{border-color:#23a5d6;background:#f0faff;box-shadow:inset 0 0 0 1px #23a5d6}.brand-logo-option>input:checked+.brand-logo-option-surface>i,.brand-theme-option>input:checked+.brand-theme-option-surface>i{display:grid}
.brand-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.brand-theme-option-surface{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;min-height:60px;padding:7px 27px 7px 7px;border:1px solid #dce4ed;border-radius:10px;background:#fff;transition:border-color .14s,background .14s,box-shadow .14s}.brand-theme-option-surface>span:nth-child(2){min-width:0}.brand-theme-option-surface strong,.brand-theme-option-surface small{display:block}.brand-theme-option-surface strong{color:#354358;font-size:.72rem}.brand-theme-option-surface small{margin-top:1px;overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.brand-theme-preview{display:grid;width:48px;height:44px;align-content:center;gap:4px;padding:7px 6px;border:1px solid var(--sidebar-border);border-radius:8px;background:linear-gradient(155deg,var(--sidebar-bg-start),var(--sidebar-bg-end));box-shadow:0 3px 8px rgba(15,35,65,.12)}.brand-theme-preview i{display:block;width:12px;height:12px;margin-bottom:1px;border-radius:4px;background:var(--sidebar-accent)}.brand-theme-preview b{display:block;width:30px;height:3px;border-radius:3px;background:var(--sidebar-secondary)}.brand-theme-preview b.active{width:36px;background:var(--sidebar-accent)}
.brand-performance-note{display:flex;align-items:center;gap:7px;margin:0;padding-top:1px}.brand-performance-note>span{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:7px;background:#ecfdf5;color:#15803d;font-size:.75rem}
@media(max-width:760px){.brand-logo-options{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.settings-brand-card{gap:16px}.brand-choice-group>header{display:grid;gap:1px}.brand-logo-options{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo-option-surface,.brand-theme-option-surface{min-height:44px}.brand-logo-option-surface{padding-block:7px}.brand-theme-option-surface{padding-block:8px}.brand-performance-note{align-items:flex-start}}

/* Tóm tắt thanh toán gọn: chỉ còn giá bán và VAT. */
.payment-summary-card{display:grid;gap:9px;padding:12px;border:1px solid #dce5eb;border-radius:12px;background:#f8fafc}.payment-summary-head>span{display:grid;gap:2px}.payment-summary-head strong{color:#1f3445;font-size:.82rem}.payment-summary-head small,.payment-summary-help{color:#6b7b88;font-size:.63rem;line-height:1.4}.payment-vat-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid #cde5ef;border-radius:9px;background:#f0f9ff;cursor:pointer}.payment-vat-option.is-locked{cursor:default}.payment-vat-option>input{width:19px;height:19px;flex:0 0 auto;margin:0;accent-color:#0284c7}.payment-vat-option>span{display:grid;gap:1px}.payment-vat-option strong{font-size:.75rem}.payment-vat-option small{color:#64748b;font-size:.62rem}.payment-money-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.payment-money-summary>div{display:grid;gap:2px;padding:8px 9px;border:1px solid #e3e9ed;border-radius:9px;background:#fff}.payment-money-summary dt{color:#70808d;font-size:.6rem}.payment-money-summary dd{margin:0;color:#23394b;font-size:.8rem;font-weight:800}.payment-money-summary .is-total{border-color:#0f7f8f;background:#0f7f8f;color:#fff}.payment-money-summary .is-total dt,.payment-money-summary .is-total small{color:rgba(255,255,255,.78);font-size:.56rem}
@media(max-width:620px){.payment-summary-card{padding:11px}.payment-money-summary{grid-template-columns:1fr 1fr}.payment-money-summary>div:first-child{grid-column:1/-1}.payment-money-summary>div{min-height:44px}.payment-vat-option{min-height:44px}}

/* Ghi chú hồ sơ khách luôn nằm dưới dòng tên/mã trong các danh sách đơn hàng. */
.page-orders .table-card td .customer-order-note,.page-orders-all .table-card td .customer-order-note{display:block;max-width:280px;margin:2px 0 0;color:var(--cyan-dark);font-size:.66rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Cảnh báo hóa đơn quá hạn: luôn giữ tín hiệu đỏ sau khi popup được hoãn. */
.overdue-invoice-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid #fecaca;border-bottom:1px solid #fca5a5;background:#fff1f2;color:#9f1239}.overdue-invoice-banner>span{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-weight:900}.overdue-invoice-banner p,.overdue-invoice-banner strong,.overdue-invoice-banner small{display:block;margin:0}.overdue-invoice-banner p{min-width:0;flex:1}.overdue-invoice-banner strong{font-size:.76rem}.overdue-invoice-banner small{margin-top:1px;color:#a33a50;font-size:.65rem}.overdue-invoice-banner>a{padding:6px 10px;border-radius:8px;background:#be123c;color:#fff;font-size:.7rem;font-weight:800;text-decoration:none;white-space:nowrap}.overdue-invoice-alert{width:min(540px,calc(100vw - 24px));padding:0;overflow:hidden;border-top:5px solid #dc2626}.overdue-invoice-alert>.modal-header{display:grid;grid-template-columns:42px minmax(0,1fr) 40px;gap:11px;margin:0;padding:17px 18px 14px;border-bottom:1px solid #fecdd3;background:#fff1f2}.overdue-invoice-alert>.modal-header hgroup{min-width:0}.overdue-invoice-alert>.modal-header small{display:block;color:#be123c;font-size:.61rem;font-weight:900;letter-spacing:.08em}.overdue-invoice-alert>.modal-header h2{margin-top:2px;color:#881337;font-size:1.12rem}.overdue-invoice-alert>.modal-header p{margin-top:3px;color:#9f3650;font-size:.7rem;line-height:1.4}.overdue-invoice-alert>.modal-header>button{width:40px;height:40px;cursor:pointer}.overdue-invoice-alert-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#dc2626;color:#fff;font-size:1.2rem;font-weight:900;box-shadow:0 7px 18px rgba(220,38,38,.2)}.overdue-invoice-alert-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:14px 18px 10px}.overdue-invoice-alert-summary p{min-width:0;margin:0;padding:10px;border:1px solid #e3e8ee;border-radius:10px;background:#f8fafc}.overdue-invoice-alert-summary small,.overdue-invoice-alert-summary strong{display:block}.overdue-invoice-alert-summary small{color:#6b7b88;font-size:.61rem}.overdue-invoice-alert-summary strong{margin-top:3px;overflow:hidden;color:#273a4a;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.overdue-invoice-alert-summary p:first-child{border-color:#fecaca;background:#fff5f5}.overdue-invoice-alert-summary p:first-child strong{color:#b91c1c}.overdue-invoice-alert-note{margin:0 18px 14px;padding:9px 10px;border-left:3px solid #f59e0b;background:#fffbeb;color:#854d0e;font-size:.68rem;line-height:1.45}.overdue-invoice-alert-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8px;padding:12px 18px 16px;border-top:1px solid #e5e9ed;background:#f8fafc}.overdue-invoice-alert-actions .button{width:100%;min-height:42px}.invoice-overdue-filter{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;border:1px solid #fecaca;border-radius:10px;background:#fff5f5;color:#991b1b}.invoice-overdue-filter>span{display:grid;min-width:0;flex:1}.invoice-overdue-filter strong{font-size:.72rem}.invoice-overdue-filter small{margin-top:1px;color:#a34848;font-size:.63rem}.invoice-overdue-filter .button{min-height:36px;white-space:nowrap}
@media(max-width:620px){.overdue-invoice-banner{align-items:flex-start;padding:9px 12px}.overdue-invoice-banner>a{min-height:40px;display:grid;place-items:center}.overdue-invoice-alert{width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}.overdue-invoice-alert>.modal-header{grid-template-columns:38px minmax(0,1fr) 40px;padding:14px 12px 12px}.overdue-invoice-alert-icon{width:38px;height:38px}.overdue-invoice-alert-summary{grid-template-columns:1fr 1fr;padding:12px}.overdue-invoice-alert-summary p:first-child{grid-column:1/-1}.overdue-invoice-alert-note{margin:0 12px 12px}.overdue-invoice-alert-actions{grid-template-columns:1fr;padding:10px 12px 12px}.overdue-invoice-alert-actions .button{min-height:44px}.invoice-overdue-filter{align-items:stretch;flex-direction:column}.invoice-overdue-filter .button{width:100%;min-height:42px}}

/* Một quy tắc cho mọi ghi chú: tự mở theo nội dung, quá 5 dòng mới cuộn bên trong. */
textarea.note-autogrow{resize:none;overflow-y:hidden;overflow-wrap:anywhere;white-space:pre-wrap}

/* Kho ghi chú kiến thức cá nhân: lưới mật độ cao, hai cột chính cùng một hàng. */
.knowledge-heading{align-items:center;margin-bottom:12px}.knowledge-heading h1{margin-bottom:2px}.knowledge-heading p{font-size:.75rem}.knowledge-scope-tabs{margin-bottom:8px}.knowledge-filter-bar{align-items:center;margin-bottom:9px;padding:7px 8px;border-radius:9px;box-shadow:none}.knowledge-filter-bar .search-box{height:34px;min-width:260px}.knowledge-filter-bar .search-box input{height:32px;margin:0;padding-block:5px}.knowledge-group-filter{flex:0 0 190px}.knowledge-group-filter select{height:34px;margin:0;padding:4px 8px;font-size:.72rem}.knowledge-filter-bar>.button{min-height:34px;padding:5px 10px;font-size:.7rem}.knowledge-sheet-card{margin-bottom:12px;border-radius:9px;box-shadow:none}.knowledge-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);background:#f8fafc}.knowledge-sheet-header h2,.knowledge-sheet-header p{margin:0}.knowledge-sheet-header h2{font-size:.82rem}.knowledge-sheet-header p{color:var(--muted);font-size:.63rem}.knowledge-table-wrap{max-height:calc(100vh - 280px);overflow:auto}.knowledge-table{min-width:980px;table-layout:fixed}.knowledge-table th,.knowledge-table td{padding:4px 6px;border-right:1px solid #edf0f4;vertical-align:top}.knowledge-table th:last-child,.knowledge-table td:last-child{border-right:0}.knowledge-table th{position:sticky;top:0;z-index:4;height:29px;padding-block:6px;background:#f4f7fa;font-size:.6rem}.knowledge-table tbody tr.is-starred{background:#fffdf3}.knowledge-table tbody tr.is-starred:hover{background:#fff9dc}.knowledge-star-column{width:40px;text-align:center}.knowledge-group-column{width:145px}.knowledge-title-column{width:245px}.knowledge-updated-column{width:92px}.knowledge-action-column{width:52px;text-align:center}.knowledge-star-cell{text-align:center}.knowledge-star-button,.knowledge-star-static{display:inline-grid;width:30px;height:30px;place-items:center;padding:0;border:0;background:transparent;color:#a7b0bd;font-size:1.1rem;line-height:1}.knowledge-star-button{cursor:pointer}.knowledge-star-button[aria-pressed="true"],.knowledge-star-static:not(:empty){color:#e0a400}.knowledge-star-button:hover{border-radius:7px;background:#fff4c2;color:#c68e00}.knowledge-star-button:focus-visible{outline:2px solid #f2b705;outline-offset:1px}.knowledge-group-cell label,.knowledge-title-cell label,.knowledge-content-cell label{margin:0}.knowledge-group-cell select,.knowledge-title-cell input,.knowledge-content-cell textarea{width:100%;margin:0;border-color:transparent;border-radius:5px;background:transparent;box-shadow:none;color:var(--text);font-size:.75rem}.knowledge-group-cell select{height:30px;padding:3px 22px 3px 5px;color:#526174;font-size:.66rem}.knowledge-title-cell input{height:30px;padding:4px 6px;font-weight:750}.knowledge-content-cell textarea{min-height:30px;padding:5px 7px;line-height:1.35}.knowledge-group-cell select:hover,.knowledge-title-cell input:hover,.knowledge-content-cell textarea:hover{border-color:#d4dde7;background:#fff}.knowledge-group-cell select:focus,.knowledge-title-cell input:focus,.knowledge-content-cell textarea:focus{border-color:#38bdf8;background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.1)}.knowledge-content-editor{display:grid;grid-template-columns:minmax(0,1fr) 68px;align-items:start;gap:5px}.knowledge-content-static{max-height:calc(1.35em * 5 + 10px);min-height:30px;margin:0;padding:5px 7px;overflow-y:auto;color:var(--text);font-size:.75rem;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-copy-button{display:grid;min-height:30px;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:4px;padding:4px 6px;border:1px solid #bedbea;border-radius:6px;background:#f2faff;color:#0878a5;font-size:.61rem;font-weight:750;cursor:copy}.knowledge-copy-button:hover{border-color:#77bfdc;background:#e7f7fd}.knowledge-copy-button.is-copied{border-color:#49a978;background:#15803d;color:#fff;box-shadow:0 3px 9px rgba(21,128,61,.2)}.knowledge-updated-cell{color:#667587;font-size:.62rem;white-space:nowrap}.knowledge-updated-cell time,.knowledge-updated-cell time small{display:block}.knowledge-updated-cell time small{margin-top:1px;color:#8a96a5;font-size:.56rem}.knowledge-save-state{display:block;min-height:13px;margin-top:3px;font-size:.55rem;white-space:normal}.knowledge-save-state.is-saving{color:#0878a5}.knowledge-save-state.is-saved{color:#15803d}.knowledge-save-state.is-error{color:#b91c1c;font-weight:700}.knowledge-actions-cell{text-align:center}.knowledge-actions-cell form{margin:0}.knowledge-delete-button{display:inline-grid;width:30px;height:30px;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#9aa4b2;cursor:pointer}.knowledge-delete-button:hover{border-color:#fecaca;background:#fff2f2;color:#b91c1c}.knowledge-restore-button{min-height:30px;padding:4px 6px;font-size:.6rem}.knowledge-group-label{display:block;padding:6px 5px;color:#667587;font-size:.65rem}.knowledge-title-cell>strong{display:block;padding:5px 6px;font-size:.75rem}.knowledge-dialog{width:min(620px,calc(100vw - 24px))}.knowledge-dialog textarea{line-height:1.4}.knowledge-group-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.knowledge-group-create-form input{height:38px;margin:0}.knowledge-group-list{display:grid;max-height:50vh;gap:5px;overflow-y:auto}.knowledge-group-manage-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:5px;padding:5px;border:1px solid #e4e9ef;border-radius:8px;background:#f9fbfc}.knowledge-group-manage-row>form:last-child{margin:0}.knowledge-group-rename-form{display:grid;grid-template-columns:minmax(0,1fr) 72px 52px;align-items:center;gap:6px;margin:0}.knowledge-group-rename-form input{height:32px;margin:0;padding:4px 7px;font-size:.72rem}.knowledge-group-rename-form small{margin:0;color:var(--muted);font-size:.6rem;text-align:right}.knowledge-group-rename-form .button{min-height:32px;padding:4px 7px;font-size:.62rem}
@media(max-width:760px){.knowledge-heading{align-items:stretch}.knowledge-heading .heading-actions{display:grid;grid-template-columns:1fr 1fr}.knowledge-heading .button{min-height:44px}.knowledge-scope-tabs a{min-height:40px}.knowledge-filter-bar{display:grid;grid-template-columns:minmax(0,1fr) auto}.knowledge-filter-bar .search-box{min-width:0}.knowledge-group-filter{grid-column:1/-1;grid-row:2;width:100%}.knowledge-group-filter select{height:44px;font-size:16px}.knowledge-filter-bar>.button{min-height:44px}.knowledge-table-wrap{max-height:calc(100dvh - 320px);overscroll-behavior:contain}.knowledge-table{min-width:960px}.knowledge-table th,.knowledge-table td{padding:5px 6px}.knowledge-star-button,.knowledge-copy-button,.knowledge-delete-button,.knowledge-restore-button{min-height:40px}.knowledge-copy-button{width:68px}.knowledge-dialog{width:calc(100vw - 10px)}.knowledge-group-create-form{grid-template-columns:1fr}.knowledge-group-create-form input,.knowledge-group-create-form .button{min-height:44px}.knowledge-group-manage-row{grid-template-columns:minmax(0,1fr) 44px}.knowledge-group-rename-form{grid-template-columns:minmax(0,1fr) 58px}.knowledge-group-rename-form small{display:none}.knowledge-group-rename-form .button,.knowledge-group-manage-row .knowledge-delete-button{min-height:44px}.knowledge-group-list{max-height:55vh}}
.knowledge-star-static:not(.is-starred){color:#a7b0bd}
/* Tùy chọn cấp tự động và trạng thái thử lại: không để .button ghi đè hidden. */
[data-cinema-child-retry][hidden],[data-payment-qr-retry][hidden]{display:none!important}
.cinema-child-fieldset>.cinema-auto-note{margin:4px 0 8px;font-size:12px;line-height:1.5;color:#64748b}
.die-queue-help{margin:8px 0;font-size:12px;color:#64748b}
.die-queue-help>summary{cursor:pointer;min-height:40px;display:flex;align-items:center}
.die-queue-help>p{margin:0 0 8px;max-width:900px}
.die-archive-table.mobile-rows tbody tr.die-row-pending{background:#fff9f9!important;box-shadow:inset 3px 0 #ef4444!important}
@media(max-width:620px){.die-archive-table.mobile-rows td{height:auto!important;padding:0!important}.die-archive-table.mobile-rows td.die-impact-cell{display:block;min-width:0}.die-archive-table.mobile-rows .die-impact-cell ul{min-width:0;width:100%}.die-archive-table.mobile-rows .die-impact-cell small{display:block;margin:3px 0;white-space:normal}.die-archive-table.mobile-rows .die-impact-cell .button{min-height:40px;white-space:normal;text-align:left}.die-archive-table.mobile-rows td.m-status{grid-column:1/-1;white-space:normal}.die-archive-table.mobile-rows tr.is-open td>*{overflow-wrap:anywhere}}
.page-cinema-desk .cinema-domain-filter button[data-cinema-domain].is-active{border-color:#cbd5e1;background:#fff;color:#475569;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.page-cinema-desk .cinema-domain-filter button[data-cinema-domain].is-active b{color:#64748b}
.page-cinema-desk .cinema-domain-filter button[data-cinema-domain]:not([data-cinema-domain=""]){border-color:#d8e2ea;background:#fff;color:var(--source-color)}
.page-cinema-desk .cinema-source-card .cinema-source-domain,.page-cinema-desk .cinema-source-card .cinema-source-domain.is-preferred{padding:0;border:0;background:transparent;color:var(--source-color);font-weight:750}
.page-cinema-desk .cinema-source-list .cinema-source-card.active{border-color:color-mix(in srgb,var(--source-color) 60%,#cbd5e1);background:color-mix(in srgb,var(--source-color) 16%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--source-color) 30%,#cbd5e1)}
.page-cinema-desk .cinema-source-list .cinema-source-stripe,.page-cinema-desk .cinema-source-bar>.cinema-source-stripe{background:#cbd5e1}
.page-cinema-desk .cinema-detail-panel .cinema-source-bar{background:#fff}
.page-cinema-desk .cinema-source-bar .cinema-source-selected-email{padding:0;border:0;background:transparent;color:var(--source-color)}
.page-cinema-desk .cinema-source-panel .cinema-source-list .cinema-source-card{grid-template-columns:4px minmax(0,1fr) auto;grid-template-areas:"stripe main usage" "stripe domain usage";gap:2px 8px;min-height:48px;padding:6px 8px 6px 5px}
.page-cinema-desk .cinema-source-list .cinema-source-usage{grid-area:usage;align-self:center;white-space:nowrap}

/* Bảo hành mobile: giữ định danh, quyền lợi và thao tác trong cùng một mục. */
.warranty-sheet table{min-width:980px}.warranty-sheet .warranty-order-cell{min-width:150px}.warranty-sheet .warranty-customer-cell{margin-top:5px}.warranty-sheet .warranty-account-cell{min-width:210px;overflow-wrap:anywhere}.warranty-sheet .warranty-entitlement-cell{min-width:230px}.warranty-sheet .warranty-entitlement-cell>section{display:inline-block;width:49%;vertical-align:top;white-space:normal}.warranty-sheet .warranty-entitlement-cell .warranty-value-cell{padding-left:8px}.warranty-sheet .warranty-stock-cell{min-width:140px}.warranty-sheet .warranty-stock-cell>.warranty-waiting-badge{margin:0 0 5px}.warranty-sheet .warranty-stock-cell>strong{font-size:.7rem;font-weight:500}.warranty-sheet .warranty-actions{flex-wrap:wrap;justify-content:flex-start;min-width:190px}.warranty-sheet .warranty-actions>.warranty-replace-button{order:-1;background:#ce2474;border-color:#ce2474;color:#fff}
@media(max-width:900px){
 .warranty-sheet>.table-wrap{overflow:visible}.warranty-sheet table{display:block;width:100%;min-width:0}
 .warranty-sheet thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.warranty-sheet tbody{display:grid}
 .warranty-sheet .warranty-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:10px 12px;border-bottom:1px solid var(--line)}
 .warranty-sheet .warranty-row>td{display:block;width:auto;height:auto!important;min-width:0;padding:0;border:0;white-space:normal;background:transparent!important;box-shadow:none!important}
 .warranty-sheet .warranty-row.is-focused{background:#fff5fa;box-shadow:inset 3px 0 #ec4899}
 .warranty-sheet .warranty-order-cell{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:2px 8px;align-items:start}
 .warranty-sheet .warranty-order-cell>.order-code{grid-column:1;grid-row:1}.warranty-sheet .warranty-order-cell>small{grid-column:1;grid-row:2}
 .warranty-sheet .warranty-customer-cell{grid-column:2;grid-row:1/3;margin:0;text-align:right}
 .warranty-sheet .warranty-account-cell{grid-column:1/-1;overflow-wrap:anywhere}.warranty-sheet .warranty-entitlement-cell{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .warranty-sheet .warranty-entitlement-cell>section{display:block;width:auto;min-width:0}.warranty-sheet .warranty-entitlement-cell .warranty-value-cell{text-align:right;padding-left:0}
 .warranty-sheet .warranty-stock-cell,.warranty-sheet .warranty-action-cell{grid-column:1/-1}.warranty-sheet .warranty-stock-cell>strong,.warranty-sheet .warranty-stock-cell>small{display:inline;margin-right:6px}.warranty-sheet .warranty-stock-cell>.warranty-waiting-badge{display:inline-flex;margin-right:6px}
 .warranty-sheet [data-mobile-label]:before{display:block;content:attr(data-mobile-label);color:var(--muted);font-size:.65rem;font-weight:500}
 .warranty-sheet .warranty-order-cell>.order-code,.warranty-sheet .customer-name-button{display:inline-flex;align-items:center;min-height:40px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .warranty-sheet .customer-name-button{justify-content:flex-end;text-align:right}.warranty-sheet .customer-code-copy{min-height:40px;max-width:100%;overflow-wrap:anywhere}.warranty-sheet .warranty-contact{overflow-wrap:anywhere;white-space:normal}.warranty-sheet .warranty-issue-inline{max-width:none;white-space:normal}
 .warranty-sheet .warranty-actions{display:flex;width:100%;min-width:0;align-items:stretch;gap:5px}.warranty-sheet .warranty-actions>.button,.warranty-sheet .warranty-actions>.inline-form{flex:1 1 0;min-width:0;margin:0}
 .warranty-sheet .warranty-actions .button{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:44px;padding:7px 6px;white-space:normal;font-size:max(.78rem,12px);text-align:center}
 .warranty-sheet .warranty-more{flex:0 0 44px;align-self:flex-start}.warranty-sheet .warranty-more>summary{display:grid;place-items:center;width:44px;height:44px}.warranty-sheet .warranty-more>section{right:0;bottom:48px;width:min(280px,calc(100vw - 40px))}.warranty-sheet .warranty-more>section :is(a,button){display:flex;align-items:center;min-height:44px;white-space:normal}
 .warranty-sheet .warranty-delivery-row-actions>.button:first-child{flex-basis:100%}
}

@media(max-width:900px){
  .warranty-cinema-header-actions>[data-warranty-global-open],.warranty-cinema-submit .button,.warranty-cinema-children>header button{min-height:44px}
  .warranty-cinema-sources>header input,.warranty-cinema-children>header input{height:44px;font-size:16px}
  .warranty-cinema-fields :is(input,textarea),.warranty-action-modal input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.warranty-action-modal :is(select,textarea){min-height:44px;font-size:16px}
  .warranty-action-modal .form-actions .button,.warranty-action-modal .warranty-account-combo .combo-option{min-height:44px}
  .warranty-action-modal .modal-header>[data-modal-close],.warranty-global-search .modal-header>[data-modal-close]{width:44px;height:44px;flex:0 0 44px}
}

/* Chọn nhóm cấp email: gọn trên desktop, cuộn bảng có chủ ý trên mobile. */
.parent-slot-picker{grid-column:1/-1;min-width:0;margin:8px 0;padding:10px;border:1px solid var(--border,#dbe4ef);border-radius:8px}
.parent-slot-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
.parent-slot-controls>label{flex:1 1 210px;margin:0}
.parent-slot-controls .use-toggle{min-height:40px;align-items:center}
.parent-slot-picker .table-wrap{overflow:auto;max-height:300px}
.parent-slot-table{width:100%;min-width:570px;font-size:12px}
.parent-slot-table td,.parent-slot-table th{padding:6px 8px}
.parent-slot-table .is-selected{background:#e8f6ff}
.parent-slot-picker footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px}
.parent-slot-label{display:block;font-size:10px;white-space:normal;color:#64748b}
.parent-slot-created{padding:12px;margin-bottom:12px}
.parent-slot-created p{margin:5px 0;overflow-wrap:anywhere}
.parent-slot-created small{display:block;margin-top:6px}
@media(max-width:600px){.parent-slot-controls{display:grid;grid-template-columns:minmax(0,1fr)}.parent-slot-controls>label{min-width:0}.parent-slot-table button{min-height:42px}.parent-slot-created .button{margin-bottom:6px}}

.parent-slot-picker[hidden],.parent-slot-picker [hidden],[data-parent-regular-field][hidden]{display:none!important}
.parent-slot-created{max-width:1000px;margin:0 auto 12px}

[data-order-form] .section-content{min-width:0}
.parent-slot-picker .table-wrap{width:100%;max-width:100%}

@media(max-width:600px){
.parent-slot-table{min-width:0;width:100%}
.parent-slot-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.parent-slot-table tbody{display:block}
.parent-slot-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:6px;padding:7px 0;border-bottom:1px solid var(--line,#dbe4ef)}
.parent-slot-table td{display:block;border:0!important;padding:2px 5px!important;white-space:normal;overflow-wrap:anywhere}
.parent-slot-table td:nth-child(1){grid-column:1;grid-row:1;font-weight:700}
.parent-slot-table td:nth-child(2){grid-column:1;grid-row:2}
.parent-slot-table td:nth-child(3){grid-column:1;grid-row:3}
.parent-slot-table td:nth-child(3)::before{content:'Đang chiếm: '}
.parent-slot-table td:nth-child(4){grid-column:1;grid-row:4}
.parent-slot-table td:nth-child(4)::before{content:'Chỗ cấp thường: '}
.parent-slot-table td:last-child{grid-column:2;grid-row:1/5;align-self:center}
.parent-slot-table .email-history-link{white-space:normal;overflow-wrap:anywhere;text-align:left}
.parent-slot-picker .table-wrap{max-height:340px}
}
.group-expiry-cell{text-align:left;white-space:nowrap;min-height:40px}.group-expiry-cell small{display:block;font-size:11px}.parent-group-transfer{overflow-wrap:anywhere}.parent-group-transfer form{margin:8px 0}.parent-group-transfer-picker{padding:10px}.parent-group-transfer-picker>summary{cursor:pointer}.parent-group-transfer-picker .parent-slot-picker{margin:8px 0}
.page-accounts .warehouse-table .group-expiry-cell small{display:block;margin:0}
@media(max-width:900px){.page-accounts .warehouse-table tbody tr[data-account-row]>td.parent-group-expiry-cell{display:block;margin:2px 0 0 45px;padding:0}.parent-group-expiry-cell:before{content:'HSD nhóm: ';font-size:11px;color:var(--muted)}.parent-group-expiry-cell .group-expiry-cell{min-height:42px;white-space:normal}}
@media(max-width:600px){.parent-slot-table td:nth-child(5){grid-column:1;grid-row:5}.parent-slot-table td:nth-child(5)::before{content:'HSD nhóm: '}.parent-slot-table td:last-child{grid-row:1/6}.parent-group-transfer .button{min-height:42px}.group-expiry-cell{min-height:42px}}
