
/* Chợ Online Admin Center */
.admin-shell{max-width:1440px;margin:0 auto;padding:25px 24px 55px;display:grid;grid-template-columns:225px minmax(0,1fr);gap:22px;align-items:start}
.admin-sidebar{background:#103e68;border-radius:16px;padding:17px 12px;color:#fff;min-height:650px;display:flex;flex-direction:column;position:sticky;top:115px}
.admin-brand{display:flex;align-items:center;gap:8px;padding:7px 8px 20px;text-decoration:none;color:#fff}
.admin-brand>span{width:34px;height:34px;display:grid;place-items:center;background:#fff;color:#087dcc;border-radius:10px;font-size:21px;font-weight:900}
.admin-brand b{font-size:16px}.admin-brand small{font-size:12px;color:#a9d8f7;background:#1d5a8b;border-radius:4px;padding:4px 5px;margin-left:auto}
.admin-side-label{font-size:12px;letter-spacing:1.2px;color:#90b9d9;padding:10px 9px}
.admin-sidebar>a:not(.admin-brand),.admin-side-bottom>a{display:flex;align-items:center;gap:11px;padding:12px 11px;border-radius:8px;color:#d8eafa;text-decoration:none;font-size:13px;font-weight:700;margin:2px 0}
.admin-sidebar>a.active,.admin-sidebar>a:hover:not(.admin-brand){background:#167fc1;color:#fff}
.admin-sidebar>a span,.admin-side-bottom>a span{font-size:13px}
.admin-side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding-top:12px}
.admin-side-bottom form{margin:0}.admin-side-bottom button{width:100%;display:flex;gap:11px;align-items:center;text-align:left;border:0;background:transparent;color:#ffd4d4;padding:12px 11px;font-size:13px;font-weight:700}
.admin-main{min-width:0}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}
.admin-topbar>div:first-child>span{font-size:12px;font-weight:900;letter-spacing:1.4px;color:#1687c9}
.admin-topbar h1{font-size:25px;font-weight:900;color:#173f63;margin:6px 0}
.admin-topbar p{font-size:12px;color:#8295a7;margin:0}
.admin-top-user{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3edf5;border-radius:10px;padding:7px 10px}
.admin-top-user span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e6f5ff;color:#087dcc;font-size:12px;font-weight:900}
.admin-top-user b{font-size:12px;color:#31516e}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.admin-stat-grid article,.admin-stat-grid>a.admin-stat-card-link{background:#fff;border:1px solid #e2edf5;border-radius:12px;padding:14px;position:relative;min-width:0}
.admin-stat-grid>a.admin-stat-card-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.admin-stat-grid>a.admin-stat-card-link:hover{transform:translateY(-3px);border-color:#9ed5f5;box-shadow:0 10px 24px rgba(8,125,204,.11)}
.admin-stat-grid>a.admin-stat-card-link:focus-visible{outline:3px solid rgba(8,125,204,.35);outline-offset:3px}
.admin-stat-grid>a.admin-stat-card-link em{color:#087dcc;font-size:12px;font-weight:850;font-style:normal;margin-top:7px}
.admin-stat-grid>a.admin-stat-card-link:hover em{text-decoration:underline}
.stat-icon{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;font-size:19px;margin-bottom:10px}
.stat-icon.blue{background:#e8f4ff;color:#087dcc}.stat-icon.purple{background:#f0ebff;color:#8064d9}.stat-icon.orange{background:#fff2e4;color:#e18a2a}.stat-icon.cyan{background:#e4faff;color:#1299b8}
.admin-stat-grid small,.admin-stat-grid em{display:block;color:#8799a9;font-size:12px;font-style:normal}
.admin-stat-grid b{display:block;color:#173f63;font-size:24px;line-height:1.35;margin:4px 0}
.admin-revenue-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#087dcc,#159ddd);border-radius:13px;padding:18px 21px;color:#fff;margin-bottom:16px;box-shadow:0 8px 18px rgba(8,125,204,.13)}
.admin-revenue-banner small{font-size:12px;letter-spacing:1.1px;font-weight:800;opacity:.85}
.admin-revenue-banner h2{font-size:25px;font-weight:900;margin:4px 0}
.admin-revenue-banner p{font-size:12px;margin:0;opacity:.82}
.admin-revenue-banner>span{font-size:35px;opacity:.8}
.admin-content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.8fr);gap:14px}
.admin-panel{background:#fff;border:1px solid #e1ebf4;border-radius:13px;padding:17px;margin-bottom:15px;min-width:0}
.admin-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.admin-panel-head h2{font-size:16px;font-weight:900;color:#1b4567;margin:0 0 4px}
.admin-panel-head p{font-size:12px;color:#8b9dad;margin:0}
.admin-panel-head>a{font-size:12px;font-weight:850;color:#087dcc;text-decoration:none;white-space:nowrap}
.admin-table-scroll{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;min-width:540px}
.admin-table th{padding:10px 8px;text-align:left;background:#f5faff;color:#8194a6;font-size:12px;font-weight:900;white-space:nowrap}
.admin-table td{padding:11px 8px;border-bottom:1px solid #edf2f7;color:#4d6881;font-size:12px;vertical-align:middle}
.admin-table td b{color:#234967;font-size:12px}.admin-table td small{display:block;color:#94a3b1;font-size:12px;margin-top:3px}
.admin-status{display:inline-block;padding:5px 7px;border-radius:20px;background:#eef4fa;color:#6f8498;font-size:12px;font-weight:850;white-space:nowrap}
.admin-status.status-pending{background:#fff4df;color:#b77b20}.admin-status.status-confirmed{background:#eaf3ff;color:#2774bc}.admin-status.status-shipping{background:#e8f7ff;color:#0785bd}.admin-status.status-completed{background:#e7f8ef;color:#188b60}.admin-status.status-cancelled{background:#fff0f0;color:#c75a5a}
.admin-user-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #eff3f7}
.admin-user-row>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#087dcc;font-weight:900;font-size:12px}
.admin-user-row div{min-width:0;flex:1}.admin-user-row b{display:block;color:#2c4e6a;font-size:12px}.admin-user-row small{display:block;color:#91a0ae;font-size:12px;overflow-wrap:anywhere}
.admin-user-row em{font-size:12px;font-style:normal;color:#087dcc;background:#eef7ff;border-radius:5px;padding:4px}
.admin-quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.admin-quick-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #e2edf5;border-radius:10px;padding:12px;color:#31516e;text-decoration:none;font-size:12px;font-weight:800}
.admin-quick-links b{background:#e8f5ff;color:#087dcc;border-radius:20px;padding:3px 7px}
.admin-empty{text-align:center;padding:25px 12px;color:#91a1af;font-size:12px}
.admin-table-action{border:0;border-radius:6px;background:#eaf6ff;color:#087dcc;padding:6px 8px;font-size:12px;font-weight:850;white-space:nowrap}
.admin-inline-select{max-width:100px;border:1px solid #dce8f2;border-radius:6px;padding:5px;font-size:12px;margin-right:5px}
.admin-table td form{display:flex;align-items:center;gap:5px}
.admin-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-shop-card{border:1px solid #e5eef5;border-radius:11px;padding:14px}
.admin-shop-card-head{display:flex;gap:10px;align-items:center}.admin-shop-card-head>span{width:39px;height:39px;display:grid;place-items:center;background:#eaf6ff;border-radius:10px;font-size:22px}
.admin-shop-card h3{font-size:14px;font-weight:900;color:#214968;margin:0 0 3px}.admin-shop-card small{font-size:12px;color:#8799a9}
.admin-shop-card p{font-size:12px;color:#71879b;margin:12px 0;min-height:28px}
.admin-shop-actions{display:flex;gap:8px}.admin-shop-actions form{margin:0}
.admin-approve-btn,.admin-reject-btn{border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:850}
.admin-approve-btn{background:#e5f8ef;color:#16885e}.admin-reject-btn{background:#fff0f0;color:#c65c5c}
.admin-auth-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:35px 16px;background:linear-gradient(135deg,#eef8ff,#f8fbff)}
.admin-auth-card{width:min(430px,100%);background:#fff;border:1px solid #e0edf7;border-radius:20px;padding:34px;box-shadow:0 18px 50px rgba(21,76,119,.09)}
.admin-auth-logo{display:block;text-align:center;margin-bottom:22px}.admin-auth-logo img{max-width:205px;height:auto;max-height:65px;object-fit:contain}
.admin-auth-symbol{width:48px;height:48px;margin:0 auto 12px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(140deg,#21b4ed,#087dcc);color:#fff;font-size:24px}
.admin-auth-kicker{display:block;text-align:center;color:#087dcc;font-size:12px;font-weight:900;letter-spacing:1.4px}
.admin-auth-card h1{text-align:center;color:#163f63;font-size:25px;font-weight:900;margin:7px 0}
.admin-auth-card>p{text-align:center;color:#8497a9;font-size:12px;margin:0 0 22px}
.admin-auth-card label{display:block;color:#31516e;font-size:12px;font-weight:850;margin:13px 0 6px}
.admin-auth-card .form-control{height:43px;border:1px solid #dce8f2;border-radius:9px;font-size:13px;box-shadow:none}
.admin-auth-card .form-control:focus{border-color:#168bd0;box-shadow:0 0 0 3px rgba(8,125,204,.08)}
.admin-password-wrap{position:relative}.admin-password-wrap input{padding-right:55px}.admin-password-wrap button{position:absolute;right:8px;top:7px;border:0;background:transparent;color:#087dcc;font-size:12px;font-weight:850}
.admin-auth-submit{width:100%;border:0;border-radius:9px;background:linear-gradient(100deg,#0796d7,#0871bd);color:#fff;padding:12px;margin-top:20px;font-size:13px;font-weight:900}
.admin-auth-back{display:block;text-align:center;color:#087dcc;text-decoration:none;font-size:12px;margin-top:18px}
.admin-password-hint{display:block;color:#93a3b1;font-size:12px;margin-top:5px}
@media(max-width:1100px){.admin-shell{grid-template-columns:190px minmax(0,1fr);padding-left:15px;padding-right:15px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-shell{grid-template-columns:1fr;gap:12px}.admin-sidebar{position:static;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.admin-brand{grid-column:1/-1}.admin-side-label{grid-column:1/-1}.admin-side-bottom{grid-column:1/-1;display:flex;gap:8px}.admin-side-bottom form{flex:1}.admin-topbar{align-items:flex-start}.admin-top-user{display:none}.admin-topbar h1{font-size:23px}.admin-quick-links{grid-template-columns:1fr}.admin-shop-grid{grid-template-columns:1fr}}
@media(max-width:420px){.admin-stat-grid{gap:8px}.admin-stat-grid article{padding:11px}.admin-stat-grid b{font-size:20px}.admin-auth-card{padding:25px 19px}}
/* Admin people management refresh */
.admin-sidebar{gap:2px;box-shadow:0 12px 30px rgba(16,62,104,.10)}
.admin-side-label{margin-top:8px;border-top:1px solid rgba(255,255,255,.10);padding-top:15px}
.admin-sidebar>a:not(.admin-brand){font-size:14px;padding:12px 13px;transition:background .18s ease,transform .18s ease}
.admin-sidebar>a:hover:not(.admin-brand){transform:translateX(2px)}
.admin-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-stat-grid em a{color:#087dcc;text-decoration:none;font-weight:800}
.admin-role-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}
.admin-role-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;background:#fff;border:1px solid #e1ebf4;border-radius:9px;color:#45647f;text-decoration:none;font-size:13px;font-weight:850}
.admin-role-tabs a.active{background:#087dcc;border-color:#087dcc;color:#fff;box-shadow:0 6px 15px rgba(8,125,204,.16)}
.admin-note{background:#eff8ff;border:1px solid #d8edfc;color:#52728d;padding:13px 15px;border-radius:10px;font-size:12px;line-height:1.6;margin-top:5px}
.admin-table td form{margin:0}
@media(max-width:1250px){.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-role-tabs{display:grid;grid-template-columns:1fr}.admin-role-tabs a{justify-content:center}}


/* Stage 12: refreshed Chợ Online admin workspace – retain marketplace blue palette */
.admin-workspace-main{background:#f4f8fc;min-height:100vh;padding:0!important}
.admin-shell{width:100%;max-width:none;margin:0;padding:28px 30px 55px;grid-template-columns:252px minmax(0,1fr);gap:28px;align-items:stretch}
.admin-sidebar{background:linear-gradient(180deg,#103653 0%,#0b3152 100%);border-radius:0 18px 18px 0;min-height:calc(100vh - 0px);height:calc(100vh - 0px);top:0;padding:24px 16px;box-shadow:8px 0 30px rgba(13,55,88,.08)}
.admin-brand{padding:8px 9px 28px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:12px}
.admin-brand>span{width:46px;height:46px;border-radius:13px;font-size:26px;background:#eaf6ff}
.admin-brand b{font-size:18px;letter-spacing:.2px;color:#fff}
.admin-brand small{font-size:12px;letter-spacing:.7px}
.admin-side-label{font-size:12px;letter-spacing:1.6px;padding:15px 12px 9px;color:#91b7d2}
.admin-sidebar>a:not(.admin-brand),.admin-side-bottom>a{font-size:15px;padding:13px 14px;border-radius:10px;gap:13px;margin:3px 0;color:#d8eafa}
.admin-sidebar>a span,.admin-side-bottom>a span{font-size:15px}
.admin-sidebar>a.active,.admin-sidebar>a:hover:not(.admin-brand){background:linear-gradient(100deg,#087dcc,#159ee5);box-shadow:0 7px 18px rgba(0,126,204,.22);transform:none}
.admin-side-bottom{padding-top:15px}
.admin-side-bottom button{font-size:14px;padding:13px 14px}
.admin-main{padding:5px 0;min-width:0}
.admin-topbar{margin-bottom:26px;align-items:center}
.admin-topbar>div:first-child>span{font-size:12px;letter-spacing:1.7px}
.admin-topbar h1{font-size:34px;letter-spacing:-.8px;margin:8px 0;color:#143b5d}
.admin-topbar p{font-size:15px;color:#8095a8}
.admin-top-actions{display:flex;align-items:center;gap:12px}
.admin-notify{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid #e0eaf3;color:#087dcc;font-size:22px;box-shadow:0 5px 15px rgba(22,62,96,.04)}
.admin-top-user{border-radius:12px;padding:8px 13px}
.admin-top-user span{width:34px;height:34px;font-size:14px}
.admin-top-user b{font-size:13px}
.admin-stat-grid{gap:16px;margin-bottom:20px}
.admin-stat-grid article{border:1px solid #e1eaf2;border-radius:17px;padding:20px;box-shadow:0 7px 22px rgba(26,68,103,.035);transition:transform .2s,box-shadow .2s}
.admin-stat-grid article:hover{transform:translateY(-3px);box-shadow:0 13px 26px rgba(26,68,103,.08)}
.stat-icon{width:44px;height:44px;border-radius:13px;font-size:23px;margin-bottom:15px}
.admin-stat-grid small,.admin-stat-grid em{font-size:12px}
.admin-stat-grid b{font-size:29px;margin:6px 0}
.admin-revenue-banner{border-radius:17px;padding:24px 28px;margin-bottom:20px;box-shadow:0 12px 25px rgba(8,125,204,.13)}
.admin-revenue-banner small{font-size:12px;letter-spacing:1.4px}
.admin-revenue-banner h2{font-size:32px}
.admin-revenue-banner p{font-size:14px}
.admin-panel{border:1px solid #e0e9f1;border-radius:17px;padding:22px;margin-bottom:18px;box-shadow:0 7px 22px rgba(26,68,103,.035)}
.admin-panel-head h2{font-size:19px;color:#163f60}
.admin-panel-head p{font-size:13px}
.admin-panel-head>a{font-size:13px}
.admin-table{min-width:620px}
.admin-table th{padding:13px 11px;font-size:12px}
.admin-table td{padding:14px 11px;font-size:13px}
.admin-table td b{font-size:13px}
.admin-table td small{font-size:12px}
.admin-status{font-size:12px;padding:6px 10px}
.admin-user-row{padding:13px 0}
.admin-user-row>span{width:36px;height:36px;font-size:14px}
.admin-user-row b{font-size:13px}
.admin-user-row small{font-size:12px}
.admin-quick-links{gap:14px}
.admin-quick-links a{border-radius:13px;padding:16px;font-size:13px;box-shadow:0 5px 15px rgba(26,68,103,.03)}
.auth-form-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.auth-form-meta a{font-size:13px;font-weight:800;color:#087dcc;text-decoration:none}
.auth-reset-card{max-width:480px}
.auth-reset-card .auth-logo{display:block;text-align:center;margin-bottom:22px}
.auth-reset-card .auth-logo img{max-width:205px;max-height:65px;object-fit:contain}
.auth-reset-card h1{font-size:27px;font-weight:900;color:#143f65;margin:8px 0}
.auth-reset-card>p{color:#71879b;font-size:15px;line-height:1.7}
.auth-reset-card label{display:block;font-size:14px;font-weight:800;color:#31516e;margin:14px 0 7px}
.auth-reset-card .form-control{height:46px;border:1px solid #dce8f2;border-radius:10px}
@media(max-width:1100px){.admin-shell{grid-template-columns:215px minmax(0,1fr);padding:20px;gap:18px}.admin-topbar h1{font-size:28px}}
@media(max-width:700px){.admin-shell{grid-template-columns:1fr;padding:12px}.admin-sidebar{height:auto;min-height:0;position:static;border-radius:15px;padding:15px}.admin-main{padding:0}.admin-topbar h1{font-size:25px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-top-user{display:flex}.admin-notify{display:none}}

@media(min-width:701px){
 .admin-shell{padding:0;gap:0;grid-template-columns:260px minmax(0,1fr)}
 .admin-sidebar{border-radius:0;min-height:100vh;height:100vh}
 .admin-main{padding:34px 32px 55px}
}
@media(max-width:700px){.admin-shell{padding:12px}.admin-sidebar{border-radius:15px}}

.admin-dashboard-insights{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);gap:16px;margin-bottom:18px}
.admin-dashboard-insights .admin-panel{margin:0}
.admin-chart-icon{width:38px;height:38px;border-radius:12px;background:#eaf5ff;color:#087dcc;display:grid;place-items:center;font-size:21px}
.admin-bars{height:205px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;border-bottom:1px solid #e5edf4;padding:10px 4px 0}
.admin-bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}
.admin-bar-track{height:145px;width:100%;display:flex;align-items:flex-end;justify-content:center}
.admin-bar-track span{display:block;width:min(34px,70%);min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#22b8ed,#087dcc);box-shadow:0 5px 12px rgba(8,125,204,.16)}
.admin-bar-col small{font-size:12px;color:#8297a9}
.admin-bar-col b{font-size:12px;color:#42617c;white-space:nowrap}
.admin-revenue-total{margin-top:13px;color:#7f93a5;font-size:13px}
.admin-revenue-total strong{color:#087dcc;font-size:18px;margin-left:6px}
.admin-status-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf2f6;color:#536f88;font-size:14px}
.admin-status-row b{margin-left:auto;color:#183f60;font-size:15px}
.admin-status-row .dot{width:9px;height:9px;border-radius:50%;background:#dca13c}
.dot-confirmed{background:#4e7fc8!important}.dot-shipping{background:#36a7c7!important}.dot-completed{background:#37a477!important}.dot-cancelled{background:#d66b6b!important}
.admin-stock-row{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #edf2f6;font-size:12px;color:#42617c}
.admin-stock-row>span{color:#087dcc}.admin-stock-row b{font-size:12px;flex:1}.admin-stock-row em{font-style:normal;color:#c75c4c;font-size:12px;white-space:nowrap}
@media(max-width:1050px){.admin-dashboard-insights{grid-template-columns:1fr}}
@media(max-width:700px){.admin-bars{gap:5px}.admin-bar-col b{font-size:12px}.admin-dashboard-insights{gap:10px}}


/* Stage 12.1 – purchase actions and voucher operations */
.product-card .product-buy-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 12px}
.product-card .product-buy-actions button{min-height:36px;border-radius:8px;font-size:13px;font-weight:800;white-space:nowrap}
.product-card .product-buy-actions .btn-buy-now{background:#087dcc;border:1px solid #087dcc;color:#fff}
.product-card .product-buy-actions .btn-add-cart{background:#eef8ff;border:1px solid #b9def7;color:#087dcc}
.product-card .product-buy-actions button:hover{filter:brightness(.96);transform:translateY(-1px)}
.detail-add-cart{display:flex;gap:10px;flex-wrap:wrap}
.detail-add-cart button{min-height:46px;padding:0 22px;border-radius:10px;font-weight:850}
.product-empty-market{display:flex;align-items:center;gap:18px;background:#fff;border:1px dashed #c9dfef;border-radius:16px;padding:25px}
.product-empty-icon{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;background:#eaf6ff;border-radius:15px;font-size:28px}
.product-empty-market h3{font-size:19px;color:#174567;font-weight:900;margin:0 0 5px}
.product-empty-market p{font-size:14px;color:#7890a5;margin:0}
.product-empty-market .btn{margin-left:auto;white-space:nowrap;font-size:13px;font-weight:800}
.voucher-admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.voucher-admin-form label{display:block;font-size:13px;font-weight:850;color:#355773}
.voucher-admin-form .form-control,.voucher-admin-form .form-select{margin-top:6px;min-height:41px;border:1px solid #dce8f2;border-radius:9px;font-size:13px;box-shadow:none}
.voucher-form-actions{grid-column:1/-1;display:flex;gap:9px;padding-top:4px}
.voucher-form-actions .btn{font-size:13px;font-weight:850;border-radius:9px;padding:10px 18px}
.voucher-code{display:inline-block;background:#eaf6ff;color:#087dcc!important;padding:6px 9px;border-radius:7px;letter-spacing:.5px}
.voucher-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.voucher-actions form{margin:0}
.voucher-actions .admin-table-action{display:inline-block;text-decoration:none;cursor:pointer}
.voucher-actions .danger{background:#fff0f0;color:#c75a5a}
@media(max-width:900px){.voucher-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.voucher-admin-form{grid-template-columns:1fr}.product-empty-market{align-items:flex-start;flex-direction:column}.product-empty-market .btn{margin-left:0}.product-card .product-buy-actions{grid-template-columns:1fr}.detail-add-cart{display:grid}.detail-add-cart button{width:100%}}


/* Stage 12.2: fixed admin navigation + accessible voucher actions */
@media (min-width: 701px) {
  .admin-shell {
    display: block !important;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .admin-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 260px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1050;
    border-radius: 0 !important;
    overscroll-behavior: contain;
  }
  .admin-main {
    margin-left: 260px !important;
    min-width: 0;
    padding: 34px 32px 55px !important;
  }
}
.voucher-admin-table {
  min-width: 980px;
}
.voucher-admin-table th:last-child,
.voucher-admin-table td:last-child {
  width: 205px;
  min-width: 205px;
}
.voucher-actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  min-width: 185px;
}
.voucher-actions form {
  display: inline-flex;
  flex: 0 0 auto;
  margin: 0 !important;
}
.voucher-actions .admin-table-action,
.admin-table .admin-table-action {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 36px;
  padding: 8px 12px !important;
  border: 1px solid #d4e8f7;
  border-radius: 8px;
  background: #eaf6ff;
  color: #087dcc;
  font-size: 14px !important;
  line-height: 1.2;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.voucher-actions .admin-table-action:hover,
.admin-table .admin-table-action:hover {
  background: #d9efff;
  box-shadow: 0 3px 10px rgba(8,125,204,.12);
  transform: translateY(-1px);
}
.voucher-actions .admin-table-action.danger,
.admin-table .admin-table-action.danger {
  color: #c43f4b;
  background: #fff0f1;
  border-color: #f5d4d7;
}
.voucher-actions .admin-table-action.danger:hover {
  background: #ffe1e4;
}
@media (max-width: 700px) {
  .admin-shell { display: grid !important; }
  .admin-sidebar {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .admin-main { margin-left: 0 !important; padding: 0 !important; }
  .voucher-admin-table { min-width: 900px; }
  .voucher-actions { gap: 6px !important; }
  .voucher-actions .admin-table-action { min-width: 54px; min-height: 34px; }
}


/* Account detail and admin user actions */
.admin-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-user-actions form{margin:0}
.admin-user-actions .admin-table-action{min-height:38px;padding:9px 13px!important}
.admin-view-action{background:#087dcc!important;color:#fff!important;border-color:#087dcc!important}
.user-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.user-detail-avatar{width:76px;height:76px;border-radius:20px;background:#e5f4ff;color:#087dcc;display:grid;place-items:center;font-size:30px;font-weight:900;overflow:hidden;flex:0 0 76px}
.user-detail-avatar img{width:100%;height:100%;object-fit:cover}
.user-detail-main{flex:1;min-width:0}.user-detail-main h2{margin:0 0 5px;color:#174567;font-size:24px}.user-detail-main p{margin:0;color:#718ba2;font-size:15px}
.user-detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.user-detail-tags span,.user-detail-default{font-size:13px;font-weight:800;padding:6px 9px;border-radius:20px;background:#edf4fa;color:#52718b}.user-detail-tags .good,.user-detail-default{background:#e5f8ef;color:#15935f}
.user-detail-created{display:grid;gap:5px;text-align:right}.user-detail-created small,.user-detail-fields small{color:#8096aa;font-size:13px}.user-detail-created b{color:#174567;font-size:15px}
.user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.user-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:4px 2px 8px}.user-detail-fields div{display:grid;gap:5px;min-width:0}.user-detail-fields b{font-size:15px;color:#234b69;overflow-wrap:anywhere}.user-detail-fields .wide{grid-column:1/-1}
.user-detail-list{display:grid;gap:10px}.user-detail-list article{padding:13px 15px;border:1px solid #e4edf5;border-radius:11px}.user-detail-list article b{font-size:15px;color:#244d6c}.user-detail-list article p{margin:6px 0 0;color:#718ba2;font-size:14px}
@media(max-width:800px){.user-detail-grid{grid-template-columns:1fr}.user-detail-hero{align-items:flex-start;flex-wrap:wrap}.user-detail-created{text-align:left;width:100%}}


/* Dashboard stat cards: whole card is a navigation target */
.admin-stat-grid > a.admin-stat-card-link {
  min-height:150px;
  box-sizing:border-box;
  width:100%;
}
.admin-stat-grid > a.admin-stat-card-link .stat-icon { flex:0 0 auto; }
.admin-stat-grid > a.admin-stat-card-link small { margin-top:2px; }
.admin-stat-grid > a.admin-stat-card-link b { margin:5px 0 2px; }
@media(max-width:700px) {
  .admin-stat-grid > a.admin-stat-card-link { min-height:132px; padding:12px; }
}


/* ===== Dashboard stat cards: restore polished card presentation ===== */
.admin-main .admin-stat-grid {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:18px !important;
  margin:0 0 24px !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
  box-sizing:border-box !important;
  min-width:0 !important;
  min-height:190px !important;
  width:100% !important;
  padding:21px 21px 18px !important;
  background:#fff !important;
  border:1px solid #dce9f4 !important;
  border-radius:17px !important;
  box-shadow:0 7px 22px rgba(26,68,103,.055) !important;
  color:#173f63 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link:hover {
  transform:translateY(-4px) !important;
  border-color:#8fcdf2 !important;
  box-shadow:0 14px 30px rgba(8,125,204,.13) !important;
  color:#173f63 !important;
  text-decoration:none !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link:active {
  transform:translateY(-1px) !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link:focus-visible {
  outline:3px solid rgba(8,125,204,.35) !important;
  outline-offset:3px !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link .stat-icon {
  display:grid !important;
  place-items:center !important;
  flex:0 0 52px !important;
  width:52px !important;
  height:52px !important;
  margin:0 0 17px !important;
  border-radius:15px !important;
  font-size:25px !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link small {
  display:block !important;
  margin:0 0 3px !important;
  color:#7d91a4 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link b {
  display:block !important;
  margin:3px 0 5px !important;
  color:#173f63 !important;
  font-size:34px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  text-decoration:none !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link em {
  display:block !important;
  margin-top:auto !important;
  padding-top:10px !important;
  color:#087dcc !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-style:normal !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.admin-main .admin-stat-grid > a.admin-stat-card-link:hover em {
  text-decoration:underline !important;
}
@media(max-width:1250px) {
  .admin-main .admin-stat-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .admin-main .admin-stat-grid > a.admin-stat-card-link {
    min-height:175px !important;
  }
}
@media(max-width:700px) {
  .admin-main .admin-stat-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:11px !important;
  }
  .admin-main .admin-stat-grid > a.admin-stat-card-link {
    min-height:155px !important;
    padding:15px !important;
  }
  .admin-main .admin-stat-grid > a.admin-stat-card-link .stat-icon {
    flex-basis:42px !important;
    width:42px !important;
    height:42px !important;
    margin-bottom:12px !important;
  }
  .admin-main .admin-stat-grid > a.admin-stat-card-link b {
    font-size:27px !important;
  }
}
@media(max-width:420px) {
  .admin-main .admin-stat-grid {
    grid-template-columns:1fr !important;
  }
  .admin-main .admin-stat-grid > a.admin-stat-card-link {
    min-height:130px !important;
  }
}


/* ============================================================
   CHỢ ONLINE — APPROVED PREMIUM ADMIN DASHBOARD DESIGN
   Dark navy navigation + airy blue workspace + analytics cards
   ============================================================ */
.admin-workspace-main { background:#f3f7fd !important; min-height:100vh; padding:0 !important; }
body:has(.admin-dashboard-shell) { background:#f3f7fd; overflow-x:hidden; }
body:has(.admin-dashboard-shell) .site-footer { display:none !important; }
.admin-dashboard-shell {
  display:grid !important;
  grid-template-columns:302px minmax(0,1fr) !important;
  gap:0 !important;
  width:100% !important;
  max-width:none !important;
  min-height:100vh;
  margin:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
}
.admin-dashboard-shell > .admin-sidebar {
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  width:302px !important;
  max-width:302px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:0 !important;
  padding:22px 17px 20px !important;
  background:linear-gradient(180deg,#0b355d 0%,#123f6a 52%,#0e3458 100%) !important;
  box-shadow:8px 0 28px rgba(20,57,91,.08);
  color:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  z-index:5;
}
.admin-dashboard-shell > .admin-sidebar .admin-brand {
  gap:12px !important;
  align-items:center !important;
  padding:4px 8px 23px !important;
  margin-bottom:17px !important;
  border-bottom:1px solid rgba(224,240,255,.17);
}
.admin-dashboard-shell > .admin-sidebar .admin-brand > span {
  width:54px !important; height:54px !important; flex:0 0 54px !important;
  border-radius:16px !important; background:#eaf5ff !important;
  color:#087dcc !important; font-size:25px !important;
}
.admin-dashboard-shell > .admin-sidebar .admin-brand b {
  color:#fff !important; font-size:23px !important; font-weight:900 !important;
  letter-spacing:-.5px;
}
.admin-dashboard-shell > .admin-sidebar .admin-brand small {
  margin-left:auto !important; font-size:12px !important; padding:6px 8px !important;
  background:#1b5b8b !important; color:#c8e8ff !important; border-radius:6px !important;
}
.admin-dashboard-shell > .admin-sidebar .admin-side-label {
  padding:14px 12px 10px !important;
  color:#8fb7d7 !important; font-size:13px !important;
  font-weight:850 !important; letter-spacing:1.7px !important;
}
.admin-dashboard-shell > .admin-sidebar > a:not(.admin-brand),
.admin-dashboard-shell > .admin-sidebar .admin-side-bottom > a {
  min-height:49px !important; margin:3px 0 !important; padding:12px 13px !important;
  gap:13px !important; border-radius:11px !important;
  color:#deefff !important; font-size:16px !important; font-weight:750 !important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.admin-dashboard-shell > .admin-sidebar > a:not(.admin-brand) span,
.admin-dashboard-shell > .admin-sidebar .admin-side-bottom > a span,
.admin-dashboard-shell > .admin-sidebar .admin-side-bottom button span {
  color:inherit !important; font-size:16px !important; line-height:1.25 !important;
}
.admin-dashboard-shell > .admin-sidebar > a.active,
.admin-dashboard-shell > .admin-sidebar > a:hover:not(.admin-brand) {
  background:linear-gradient(110deg,#087dcc,#1aa7ea) !important;
  color:#fff !important; box-shadow:0 8px 20px rgba(0,148,220,.18);
  transform:translateX(2px);
}
.admin-dashboard-shell > .admin-sidebar .admin-side-bottom {
  margin-top:auto !important; border-top:1px solid rgba(224,240,255,.17) !important;
  padding-top:15px !important;
}
.admin-dashboard-shell > .admin-sidebar .admin-side-bottom button {
  padding:12px 13px !important; font-size:15px !important;
  border-radius:9px !important;
}
.admin-dashboard-main {
  min-width:0 !important; width:100% !important;
  padding:34px clamp(22px,2.6vw,44px) 48px !important;
  box-sizing:border-box !important;
  background:linear-gradient(145deg,#f7faff 0%,#eef5fc 100%) !important;
}
.co-admin-heading {
  display:flex; align-items:center; justify-content:space-between;
  gap:22px; margin:0 0 27px;
}
.co-admin-kicker {
  display:block; color:#087dcc; font-size:15px; font-weight:950;
  letter-spacing:2.2px; margin-bottom:9px;
}
.co-admin-heading h1 {
  color:#112f50; font-size:clamp(29px,2.5vw,43px); line-height:1.12;
  font-weight:950; letter-spacing:-1.3px; margin:0 0 9px;
}
.co-admin-heading p { color:#7e96ad; font-size:19px; margin:0; }
.co-admin-heading-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.co-notification-button {
  position:relative; display:grid; place-items:center; width:58px; height:58px;
  border:1px solid #e0ebf7; border-radius:18px; background:#fff; color:#087dcc;
  text-decoration:none; font-size:25px; box-shadow:0 5px 18px rgba(30,75,115,.045);
}
.co-notification-button i { position:absolute; right:12px; top:10px; width:9px; height:9px; background:#ef4444; border:2px solid #fff; border-radius:50%; }
.co-admin-profile {
  min-height:58px; display:flex; align-items:center; gap:11px;
  padding:8px 16px; border:1px solid #e0ebf7; border-radius:18px;
  background:#fff; color:#203f5e; box-shadow:0 5px 18px rgba(30,75,115,.045);
}
.co-admin-profile span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#e6f3ff; color:#087dcc; font-size:18px; font-weight:950; }
.co-admin-profile b { font-size:16px; white-space:nowrap; }
.co-admin-profile small { color:#738da5; font-size:18px; margin-left:4px; }
.co-admin-stat-grid {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  gap:15px; margin:0 0 25px; align-items:stretch;
}
.co-admin-stat-card {
  --accent:#1687dc; --soft:#e2f1ff;
  position:relative; isolation:isolate; overflow:hidden;
  min-width:0; min-height:220px; padding:20px 19px 16px;
  display:flex; flex-direction:column; align-items:flex-start;
  border:1px solid #e1eaf5; border-radius:21px;
  background:linear-gradient(145deg,#fff 0%,#fff 58%,var(--soft) 160%);
  color:#122f50; text-decoration:none !important;
  box-shadow:0 8px 24px rgba(35,78,118,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.co-admin-stat-card::after {
  content:""; position:absolute; z-index:-1; width:155px; height:155px;
  right:-72px; bottom:-80px; border-radius:50%; background:var(--soft); opacity:.8;
}
.co-admin-stat-card:hover {
  transform:translateY(-5px); border-color:color-mix(in srgb,var(--accent) 38%,white);
  box-shadow:0 16px 30px rgba(30,77,120,.12); color:#122f50;
}
.co-admin-stat-card:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 35%,white); outline-offset:3px; }
.co-stat-blue { --accent:#1687dc; --soft:#dceeff; }
.co-stat-purple { --accent:#8754ec; --soft:#eee5ff; }
.co-stat-orange { --accent:#f08a28; --soft:#fff0dc; }
.co-stat-green { --accent:#12a56a; --soft:#ddf8ec; }
.co-stat-pink { --accent:#e64f9b; --soft:#ffe5f1; }
.co-stat-icon {
  display:grid; place-items:center; width:57px; height:57px; flex:0 0 57px;
  margin-bottom:14px; border-radius:18px; background:var(--soft);
  color:var(--accent); font-size:27px; font-weight:900;
}
.co-stat-label { color:#71869b; font-size:16px; font-weight:700; margin-bottom:4px; }
.co-admin-stat-card strong {
  color:#102f52; font-size:39px; line-height:1.12; font-weight:950;
  letter-spacing:-.7px; margin:0 0 6px;
}
.co-stat-trend { color:#7d93a8; font-size:13px; line-height:1.35; }
.co-stat-link {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  width:100%; margin-top:auto; padding-top:13px; color:var(--accent);
  font-size:14px; font-weight:900;
}
.co-stat-link b { font-size:22px; line-height:1; }
.co-admin-analytics-grid {
  display:grid; grid-template-columns:minmax(0,1.38fr) minmax(400px,.95fr);
  gap:17px; align-items:stretch; margin-bottom:18px;
}
.co-admin-panel {
  min-width:0; padding:23px 23px 20px; border:1px solid #dfeaf5;
  border-radius:21px; background:#fff;
  box-shadow:0 8px 25px rgba(35,78,118,.05);
}
.co-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:17px; }
.co-panel-title-wrap { display:flex; align-items:center; gap:13px; min-width:0; }
.co-panel-icon {
  width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center;
  border-radius:15px; background:#e8f4ff; color:#087dcc; font-size:25px; font-weight:900;
}
.co-panel-icon.blue { background:#e7f3ff; color:#087dcc; }
.co-panel-heading h2 { color:#163a5d; font-size:25px; font-weight:950; letter-spacing:-.4px; margin:0 0 4px; }
.co-panel-heading p { color:#8599ad; font-size:15px; margin:0; }
.co-period-pill {
  display:inline-flex; align-items:center; padding:10px 13px; border:1px solid #dce9f6;
  border-radius:30px; color:#3b5b79; background:#fff; font-size:14px; font-weight:800; white-space:nowrap;
  box-shadow:0 3px 10px rgba(25,70,110,.04);
}
.co-revenue-chart { width:100%; }
.co-revenue-chart svg { display:block; width:100%; height:auto; overflow:visible; }
.co-chart-gridline { stroke:#e8eff7; stroke-width:1.1; }
.co-chart-y-label,.co-chart-x-label { fill:#71869c; font-size:13px; font-weight:650; }
.co-chart-point { fill:#1769ef; stroke:#fff; stroke-width:2.5; }
.co-chart-empty { fill:#9aabbb; font-size:16px; }
.co-revenue-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:9px; }
.co-summary-chip {
  display:flex; align-items:center; gap:10px; min-width:0; padding:12px;
  border-radius:15px; background:#f5f9fe;
}
.co-summary-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:13px; font-size:22px; font-weight:900; }
.co-summary-icon.gold { background:#fff2d9; color:#d58a13; }
.co-summary-icon.mint { background:#e5f8ed; color:#12a56a; }
.co-summary-icon.rose { background:#ffe8f1; color:#df4d91; }
.co-summary-chip small { display:block; color:#7e93a7; font-size:13px; margin-bottom:3px; }
.co-summary-chip b { display:block; color:#14385b; font-size:18px; font-weight:950; overflow-wrap:anywhere; }
.co-panel-more { color:#087dcc; text-decoration:none; font-size:14px; font-weight:850; white-space:nowrap; }
.co-panel-more:hover { color:#075d9b; text-decoration:underline; }
.co-donut-layout { display:grid; grid-template-columns:minmax(175px,.9fr) minmax(0,1.1fr); align-items:center; gap:10px; min-height:300px; }
.co-donut-wrap { width:min(100%,230px); margin:0 auto; }
.co-donut-wrap svg { display:block; width:100%; height:auto; }
.co-donut-total { fill:#153a5e; font-size:28px; font-weight:950; }
.co-donut-caption { fill:#70869b; font-size:14px; font-weight:750; }
.co-donut-legend { min-width:0; }
.co-donut-legend-row {
  display:grid; grid-template-columns:13px minmax(0,1fr) auto; align-items:center; gap:10px;
  padding:14px 0; border-bottom:1px solid #edf2f7;
}
.co-donut-legend-row:last-child { border-bottom:0; }
.co-donut-legend-row>span { width:12px; height:12px; border-radius:50%; }
.co-donut-legend-row label { min-width:0; color:#385672; font-size:15px; font-weight:700; }
.co-donut-legend-row b { color:#183b5e; font-size:16px; font-weight:950; }
.co-admin-lower-grid {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.85fr);
  gap:17px; align-items:start; margin-bottom:2px;
}
.co-admin-lower-grid .co-admin-panel { height:100%; }
.co-modern-table { min-width:570px; }
.co-modern-table th { padding:13px 12px !important; color:#7f93a8 !important; background:#f4f8fd !important; font-size:13px !important; }
.co-modern-table td { padding:14px 12px !important; font-size:14px !important; }
.co-modern-table td b { font-size:14px !important; }
.co-modern-table td small { font-size:12px !important; }
.co-recent-user { display:flex; align-items:center; gap:11px; padding:13px 0; border-bottom:1px solid #edf2f7; }
.co-recent-user>span { display:grid; place-items:center; width:39px; height:39px; flex:0 0 39px; border-radius:50%; background:#e7f3ff; color:#087dcc; font-size:16px; font-weight:900; }
.co-recent-user>div { flex:1; min-width:0; }
.co-recent-user b { display:block; color:#244966; font-size:14px; }
.co-recent-user small { display:block; color:#8a9caf; font-size:12px; overflow-wrap:anywhere; }
.co-recent-user em { padding:5px 8px; border-radius:20px; background:#edf7ff; color:#087dcc; font-size:12px; font-style:normal; }
.co-stock-row { display:flex; align-items:center; gap:11px; padding:13px 0; border-bottom:1px solid #edf2f7; }
.co-stock-row>span { color:#087dcc; font-size:19px; }
.co-stock-row b { flex:1; min-width:0; color:#355773; font-size:14px; }
.co-stock-row em { color:#d18b26; background:#fff5e3; padding:5px 8px; border-radius:20px; font-size:12px; font-style:normal; white-space:nowrap; }
.co-stock-empty { padding:28px 12px; text-align:center; color:#159568; font-size:15px; font-weight:750; }
.co-admin-quick-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:17px; }
.co-admin-quick-links a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border:1px solid #dfebf6; border-radius:14px; background:#fff; color:#315572; font-size:14px; font-weight:850; text-decoration:none; }
.co-admin-quick-links a:hover { border-color:#9acdf0; color:#087dcc; box-shadow:0 6px 18px rgba(8,125,204,.07); }
.co-admin-quick-links b { padding:4px 9px; border-radius:20px; background:#e8f4ff; color:#087dcc; }
@media(max-width:1450px) {
  .admin-dashboard-shell { grid-template-columns:270px minmax(0,1fr) !important; }
  .admin-dashboard-shell > .admin-sidebar { width:270px !important; max-width:270px !important; }
  .co-admin-stat-grid { gap:11px; }
  .co-admin-stat-card { min-height:205px; padding:17px 15px 14px; }
  .co-admin-stat-card strong { font-size:34px; }
  .co-admin-analytics-grid { grid-template-columns:minmax(0,1.2fr) minmax(350px,.9fr); }
}
@media(max-width:1120px) {
  .admin-dashboard-shell { grid-template-columns:235px minmax(0,1fr) !important; }
  .admin-dashboard-shell > .admin-sidebar { width:235px !important; max-width:235px !important; }
  .admin-dashboard-main { padding:25px 20px 36px !important; }
  .co-admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .co-admin-analytics-grid { grid-template-columns:1fr; }
  .co-donut-layout { min-height:230px; }
}
@media(max-width:760px) {
  .admin-dashboard-shell { display:block !important; }
  .admin-dashboard-shell > .admin-sidebar {
    position:relative !important; width:100% !important; max-width:none !important;
    height:auto !important; min-height:0 !important; border-radius:0 !important;
  }
  .admin-dashboard-main { padding:22px 14px 30px !important; }
  .co-admin-heading { align-items:flex-start; }
  .co-admin-heading h1 { font-size:29px; }
  .co-admin-heading p { font-size:15px; }
  .co-admin-heading-actions { gap:7px; }
  .co-notification-button { width:43px; height:43px; border-radius:13px; }
  .co-admin-profile { min-height:43px; padding:5px 8px; gap:6px; }
  .co-admin-profile span { width:31px; height:31px; font-size:14px; }
  .co-admin-profile b { font-size:12px; }
  .co-admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .co-admin-stat-card { min-height:172px; padding:14px; border-radius:15px; }
  .co-stat-icon { width:43px; height:43px; flex-basis:43px; margin-bottom:10px; border-radius:13px; font-size:22px; }
  .co-admin-stat-card strong { font-size:29px; }
  .co-stat-label { font-size:14px; }
  .co-stat-link { font-size:12px; }
  .co-admin-panel { padding:17px 14px; border-radius:16px; }
  .co-panel-heading h2 { font-size:20px; }
  .co-panel-heading p { font-size:13px; }
  .co-panel-icon { width:39px; height:39px; flex-basis:39px; border-radius:12px; }
  .co-donut-layout { grid-template-columns:1fr; }
  .co-donut-wrap { max-width:190px; }
  .co-donut-legend-row { padding:10px 0; }
  .co-admin-lower-grid { grid-template-columns:1fr; }
  .co-revenue-summary { grid-template-columns:1fr; }
  .co-admin-quick-links { grid-template-columns:1fr; }
}
@media(max-width:430px) {
  .co-admin-heading { display:block; }
  .co-admin-heading-actions { margin-top:15px; }
  .co-admin-stat-grid { grid-template-columns:1fr 1fr; }
  .co-admin-stat-card { min-height:160px; padding:12px; }
  .co-admin-stat-card strong { font-size:25px; }
  .co-stat-link { font-size:12px; }
  .co-period-pill { display:none; }
}


/* Stage 22: trust & safety appeals and customer support inbox */
.admin-lock-reason-input {display:block;width:160px;min-width:130px;margin:4px 0;padding:7px 8px;border:1px solid #e7c8c8;border-radius:7px;background:#fffafa;color:#715b5b;font-size:12px}
.admin-danger-action {background:#fff0f0!important;border-color:#f2d0d0!important;color:#b84952!important}
.admin-user-restriction {border-color:#f0dada!important;background:#fffafa!important}
.admin-user-restriction p {color:#8d4f54;font-size:13px;line-height:1.7}
.admin-appeal-list,.admin-chat-list {display:grid;gap:12px}
.admin-appeal-card {padding:16px;border:1px solid #e3edf5;border-radius:13px;background:#fff}
.admin-appeal-head {display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-appeal-head>div {display:grid;gap:4px}
.admin-appeal-head b {color:#24496a;font-size:14px}
.admin-appeal-head small {color:#8a9eae;font-size:12px}
.admin-appeal-reason,.admin-appeal-message {margin-top:12px;padding:11px 12px;border-radius:9px;background:#fff8f0}
.admin-appeal-message {background:#f6faff}
.admin-appeal-reason small,.admin-appeal-message small {color:#8b9faf;font-size:12px;font-weight:950;letter-spacing:1px}
.admin-appeal-reason p,.admin-appeal-message p {margin:5px 0 0;color:#55728a;font-size:12px;line-height:1.65;white-space:pre-line}
.admin-appeal-response {margin-top:10px;padding:10px;border-left:3px solid #087dcc;background:#f2f9ff}
.admin-appeal-response b {color:#087dcc;font-size:12px}
.admin-appeal-response p {margin:5px 0 0;color:#5e7c93;font-size:12px;white-space:pre-line}
.admin-appeal-review-form {display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid #eaf0f5}
.admin-appeal-review-form label {display:grid;gap:5px;color:#315473;font-size:12px;font-weight:900}
.admin-appeal-review-form textarea,.admin-chat-reply textarea {width:100%;padding:10px 11px;border:1px solid #d8e6f1;border-radius:8px;color:#315473;font-size:12px;resize:vertical}
.admin-appeal-review-form>div {display:flex;gap:8px;flex-wrap:wrap}
.admin-appeal-review-form button,.admin-chat-reply button {min-height:34px;padding:0 12px;border:0;border-radius:8px;background:#087dcc;color:#fff;font-size:12px;font-weight:900}
.admin-appeal-review-form button.reject {background:#fff0f0;color:#b94b55;border:1px solid #f0d1d1}
.admin-appeal-review-form button.approve {background:#e9f8f0;color:#16835e;border:1px solid #c9ead8}
.admin-chat-row {display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e4edf5;border-radius:11px;color:#315777;text-decoration:none;transition:border-color .15s}
.admin-chat-row:hover {border-color:#aad7f0;background:#f9fcff}
.admin-chat-avatar {display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:#e8f5ff;font-size:21px}
.admin-chat-copy {display:grid;gap:3px;min-width:0;flex:1}
.admin-chat-copy b {color:#244b6b;font-size:12px}
.admin-chat-copy small {overflow:hidden;color:#8298aa;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.admin-chat-row em {display:grid;place-items:center;min-width:19px;height:19px;border-radius:20px;background:#e74d5a;color:#fff;font-size:12px;font-style:normal;font-weight:900}
.admin-chat-row strong {color:#087dcc;font-size:12px;white-space:nowrap}
.admin-chat-detail-panel {padding:18px}
.admin-chat-transcript {display:flex;flex-direction:column;gap:10px;max-height:600px;overflow-y:auto;padding:15px;border:1px solid #e7eef5;border-radius:11px;background:#f7fbff}
.admin-chat-message {display:grid;gap:4px;align-self:flex-start;max-width:78%}
.admin-chat-message.admin-message-mine {align-self:flex-end}
.admin-chat-message small {color:#879cad;font-size:12px}
.admin-chat-message div {padding:10px 12px;border:1px solid #e1eaf2;border-radius:10px 10px 10px 2px;background:#fff;color:#45627a;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.admin-chat-message.admin-message-mine div {border-color:#087dcc;background:#087dcc;color:#fff}
.admin-chat-message.admin-message-ai div {background:#edf8ff;border-color:#cfe8f7}
.admin-chat-message time {color:#9aaab7;font-size:12px}
.admin-chat-reply {display:grid;gap:8px;margin-top:12px}
.admin-chat-reply button {justify-self:end;min-height:39px;padding:0 17px;font-size:12px}
@media(max-width:700px) {
 .admin-appeal-head {flex-direction:column}
 .admin-appeal-review-form>div {flex-direction:column}
 .admin-appeal-review-form button {width:100%}
 .admin-chat-message {max-width:93%}
}

.admin-chat-system-note time{color:#9aaab7;font-size:12px;font-weight:400}
