@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');
:root{
  --bg:#f7f7f4;
  --surface:#ffffff;
  --surface-soft:#fbfbf9;
  --surface-muted:#f3f3ef;
  --text:#111111;
  --text-soft:#5d6b7e;
  --muted:#7f8792;
  --line:#deded9;
  --line-soft:#ecece7;
  --gold:#f1ad17;
  --gold-strong:#e3a10a;
  --gold-soft:#fff8e8;
  --green:#2bb878;
  --green-soft:#edf9f2;
  --red:#e45858;
  --red-soft:#fff0f0;
  --purple-soft:#f5efff;
  --sidebar:254px;
  --radius-lg:22px;
  --radius:16px;
  --radius-sm:12px;
  --shadow:0 8px 28px rgba(30,35,40,.045);
  --shadow-soft:0 3px 14px rgba(30,35,40,.035);
  --font:'Be Vietnam Pro', Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;font-family:var(--font)!important;font-synthesis:none}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)!important;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;font-family:var(--font)!important}
button{cursor:pointer}

/* shell */
.admin-app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);height:100vh;height:100dvh;background:#fff;border-right:1px solid var(--line-soft);padding:20px 12px 12px;display:flex;flex-direction:column;overflow:hidden;z-index:100}
.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;padding:2px 4px 18px}
.admin-brand,.admin-brand:visited,.admin-brand:hover,.admin-brand:active{color:#161616!important;text-decoration:none!important}
.admin-brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{display:block;font-size:19px;line-height:1;font-weight:800;letter-spacing:-.6px;white-space:nowrap;color:#101010!important}
.brand-copy strong span{color:var(--gold)!important}
.brand-copy small{display:block;margin-top:5px;color:#8d8d88;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:1.3px;font-weight:700}
.sidebar-close{display:none;color:#73777d;font-size:26px;line-height:1;cursor:pointer}
.admin-nav{display:grid;align-content:start;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 10px;margin:0 -4px 0 0;-webkit-overflow-scrolling:touch}
.nav-label{padding:10px 12px 8px;color:#6e7781;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.nav-label-spaced{margin-top:20px}
.admin-nav a{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 12px;border:1px solid transparent;border-radius:14px;color:#1c252d!important;font-weight:500;transition:.18s ease}
.admin-nav a:hover{background:#f7f7f4;border-color:#edede8;color:#111!important;transform:none}
.admin-nav a.active{position:relative;background:#f1f1ee;border-color:#ecece7;color:#111!important;font-weight:600}
.admin-nav a.active::before{content:"";position:absolute;left:-1px;top:7px;bottom:7px;width:3px;border-radius:99px;background:var(--gold)}
.nav-icon{width:18px;text-align:center;color:#6f7881;font-size:13px;line-height:1;flex:none}
.admin-nav a.active .nav-icon,.admin-nav a:hover .nav-icon{color:#2a3037}
.sidebar-bottom{flex:0 0 auto;margin-top:0;padding:10px 4px 0;border-top:1px solid var(--line-soft);background:var(--surface)}
.back-site{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-bottom:10px;border-radius:12px;color:#26313a!important;font-weight:500}
.back-site:hover{background:#f6f6f2}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid var(--line-soft);margin:0 0 0;padding-top:14px}
.sidebar-user>div:nth-child(2){min-width:0;flex:1}
.sidebar-user strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#151515!important;font-weight:700}
.sidebar-user small{display:block;color:#92979d;font-size:10px;margin-top:1px}
.sidebar-user>a{color:#6f747a!important;font-size:18px}
.avatar{width:36px;height:36px;border-radius:11px;background:#171717;color:#f7b51d;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none}
.avatar.small{width:32px;height:32px;border-radius:10px;font-size:11px}
.sidebar-toggle{display:none}
.sidebar-scrim{display:none}

/* header / content */
.admin-main{grid-column:2;min-width:0}
.admin-top{min-height:158px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:28px clamp(22px,4vw,42px) 30px;position:relative;z-index:10}
.top-left{display:flex;align-items:flex-start;gap:12px;min-width:0}
.menu-button{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;place-items:center;font-size:18px;cursor:pointer}
.eyebrow{font-size:10px;line-height:1;text-transform:uppercase;color:#546474;font-weight:800;letter-spacing:1.7px}
.admin-top h1{margin:10px 0 0;color:#0d1116;font-size:30px;line-height:1.05;font-weight:760;letter-spacing:-1.1px}
.top-actions{display:flex;align-items:center;gap:8px}
.top-site{height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#4b5055!important;font-weight:600;box-shadow:var(--shadow-soft)}
.top-site:hover{border-color:#d6c08a;background:#fffdf7;color:#111!important}
.admin-content{width:min(1480px,100%);margin:0 auto;padding:28px clamp(18px,4vw,44px) 56px}
.muted{color:var(--text-soft);font-size:12px}
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.toolbar p{margin:4px 0 0}

/* flash */
.flash{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:18px;border:1px solid;border-radius:14px;font-size:12px;font-weight:600;background:#fff}
.flash-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.flash.success{color:#248d65;border-color:#cfe9dc;background:var(--green-soft)}
.flash.error{color:#c64e4e;border-color:#f0d1d1;background:var(--red-soft)}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 15px;border:1px solid var(--gold);border-radius:12px;background:var(--gold);color:#17120a!important;font-size:13px;font-weight:700;box-shadow:none;transition:.18s ease}
.button:hover{background:#f6bc2d;border-color:#f6bc2d;transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button.small{min-height:34px;padding:0 12px;border-radius:10px;font-size:12px}
.button.ghost{background:#fff;border-color:var(--line);color:#22272c!important}
.button.ghost:hover{background:#f8f8f5;border-color:#cfcfca}
.button.danger-button{background:var(--red);border-color:var(--red);color:#fff!important}

/* dashboard stats */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.stat{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.stat:after{content:"";position:absolute;right:-34px;bottom:-36px;width:100px;height:100px;border-radius:50%;background:#f4f4f1}
.stat span{position:relative;z-index:1;display:block;color:#66717c;font-size:11px;font-weight:600}
.stat strong{position:relative;z-index:1;display:block;margin-top:8px;font-size:28px;line-height:1;font-weight:720;letter-spacing:-.8px;color:#111}

/* panels */
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}
.panel-head{min-height:68px;padding:16px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}
.panel-head h2{margin:0;color:#14171a;font-size:16px;line-height:1.2;font-weight:700;letter-spacing:-.2px}
.table-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:650px}
th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line-soft);font-size:13px;vertical-align:middle;color:#1e242a}
th{color:#71808e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:#fff}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:#fbfbf8}
tr:last-child td{border-bottom:0}
.actions{white-space:nowrap}
.actions a{display:inline-flex;align-items:center;justify-content:center;height:35px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:#374047!important;font-size:11px;font-weight:650;margin-left:6px;background:#fff;transition:.15s ease}
.actions a:first-child{margin-left:0}
.actions a:hover{border-color:#d9c68f;background:#fffdf6;color:#171717!important}
.actions .danger{color:var(--red)!important;border-color:#f0d4d4}
.actions .danger:hover{background:var(--red-soft);border-color:#e6bdbd}
.table-status{font-weight:700}
.table-status.available{color:#26a974}
.table-status.sold{color:var(--red)}

/* forms */
.form-panel form,.account-editor-form{padding:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-grid>label,.editor-grid>label,.form-panel label{display:flex;flex-direction:column;gap:8px;color:#27323a;font-size:12px;font-weight:600}
.form-panel label .muted{margin-top:-3px}
input[type="text"],input[type="number"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input:not([type]),select,textarea{width:100%;min-height:44px;padding:0 13px;border:1px solid #d8d9d5;border-radius:12px;background:#fff;color:#1e252b;outline:none;box-shadow:none;transition:border-color .16s,box-shadow .16s,background .16s}
textarea{min-height:110px;padding-top:11px;padding-bottom:11px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#cda84b;box-shadow:0 0 0 3px rgba(241,173,23,.12);background:#fffdfa}
input[type="file"]{width:100%;min-height:52px;padding:7px 10px;border:1px dashed #d5d6d2;border-radius:14px;background:#fafaf7;color:#58636d}
input[type="file"]::file-selector-button{margin-right:10px;border:0;border-radius:9px;padding:8px 11px;background:#f0f0eb;color:#20262b;font:600 12px var(--font);cursor:pointer}
.check,.inline-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:9px!important;font-weight:600!important}
.check input[type="checkbox"],.inline-check input[type="checkbox"]{appearance:none;width:18px;height:18px;border:1px solid #c8cbc6;border-radius:6px;background:#fff;display:grid;place-items:center;position:relative;cursor:pointer}
.check input[type="checkbox"]:checked,.inline-check input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold)}
.check input[type="checkbox"]:checked::after,.inline-check input[type="checkbox"]:checked::after{content:"✓";font-size:12px;font-weight:800;color:#17120a;line-height:1}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}

/* account editor */
.account-editor{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}
.editor-intro{padding:24px 24px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.editor-kicker{color:#6d7882;font-size:10px;font-weight:800;letter-spacing:1.6px}
.editor-intro h2{margin:7px 0 4px;font-size:24px;line-height:1.1;font-weight:730;letter-spacing:-.7px}
.editor-intro p{margin:0;color:var(--text-soft);font-size:12px}
.editor-id{padding:7px 10px;border:1px solid var(--line);border-radius:10px;color:#626a72;background:#fafaf7;font-size:11px;font-weight:700}
.editor-section{padding:22px 24px;border-bottom:1px solid var(--line-soft)}
.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}
.section-number{width:30px;height:30px;border:1px solid #e8dfc5;border-radius:9px;background:var(--gold-soft);color:#987014;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
.section-heading h3{margin:1px 0 3px;font-size:15px;font-weight:700}
.section-heading p{margin:0;color:var(--text-soft);font-size:12px}
.editor-grid{display:grid;gap:18px}
.editor-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.editor-span-2{grid-column:span 2}
.upload-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.upload-card{position:relative;display:flex;align-items:center;gap:12px;min-height:102px;padding:16px;border:1px dashed #d7d8d4;border-radius:16px;background:#fafaf8;cursor:pointer;transition:.18s ease}
.upload-card:hover{border-color:#ccb269;background:#fffdf8}
.upload-card.upload-primary{background:#fffaf0;border-color:#eed696}
.upload-card input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0;background:transparent}
.upload-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#efefeb;color:#65717c;font-size:10px;font-weight:800;flex:none}
.upload-primary .upload-icon{background:var(--gold);color:#17120a}
.upload-card strong{display:block;font-size:13px;font-weight:700;color:#1b232a}
.upload-card small{display:block;margin-top:4px;color:#76818b;font-size:11px}
.current-gallery{margin-top:18px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fbfbf8}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.gallery-heading strong{display:block;font-size:13px;font-weight:700}
.gallery-heading span{display:block;margin-top:2px;color:#7b858d;font-size:11px}
.gallery-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gallery-group-title{margin-bottom:9px;color:#69737c;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}
.current-image-list{display:flex;flex-wrap:wrap;gap:10px}
.current-image-item{position:relative;width:128px;aspect-ratio:4/3;border:1px solid #dcded9;border-radius:12px;overflow:hidden;background:#fff}
.current-image-item img{width:100%;height:100%;display:block;object-fit:cover}
.image-remove{position:absolute;right:6px;top:6px;width:26px;height:26px;border:1px solid rgba(255,255,255,.8);border-radius:8px;background:rgba(255,255,255,.95);color:#c94b4b;font-size:16px;line-height:1;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.image-remove:hover{background:#fff0f0;border-color:#edc4c4}
.gallery-empty{margin-top:16px;padding:15px;border:1px dashed #d6d8d4;border-radius:14px;color:#818a91;background:#fafaf8;font-size:12px;text-align:center}
.editor-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;background:#fcfcfa;position:sticky;bottom:0;z-index:5}

/* delete modal */
.image-delete-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px}
.image-delete-modal[hidden]{display:none}
.image-delete-backdrop{position:absolute;inset:0;background:rgba(17,20,24,.4);backdrop-filter:blur(4px)}
.image-delete-dialog{position:relative;width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 24px 80px rgba(12,15,19,.2);text-align:center}
.image-delete-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin:0 auto 12px;background:var(--red-soft);color:var(--red);font-size:25px;font-weight:500}
.image-delete-dialog h3{margin:0;font-size:18px;font-weight:720}
.image-delete-dialog p{margin:8px 0 0;color:#6d7882;font-size:12px}
.image-delete-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}
.image-delete-hint{margin-top:12px;color:#9aa0a6;font-size:10px}

/* login */
.admin-login{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.login-card h1{margin:0 0 6px;font-size:27px;font-weight:750;letter-spacing:-.8px}
.login-card p{margin:0;color:var(--text-soft);font-size:12px}

/* responsive */
@media (max-width:1180px){
  .admin-sidebar{width:230px}
  .admin-main{margin-left:0}
  .admin-app{grid-template-columns:230px minmax(0,1fr)}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editor-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editor-span-2{grid-column:span 2}
}
@media (max-width:860px){
  :root{--sidebar:248px}
  .admin-app{display:block}
  .admin-sidebar{transform:translateX(-102%);transition:transform .2s ease;box-shadow:12px 0 36px rgba(0,0,0,.08)}
  .sidebar-toggle:checked~.admin-sidebar{transform:translateX(0)}
  .sidebar-scrim{position:fixed;inset:0;background:rgba(15,18,22,.28);z-index:90}
  .sidebar-toggle:checked~.sidebar-scrim{display:block}
  .sidebar-close{display:block}
  .admin-main{margin-left:0}
  .admin-top{min-height:112px;padding:20px 18px}
  .menu-button{display:grid}
  .admin-content{padding:22px 16px 40px}
}
@media (max-width:680px){
  .admin-top{align-items:flex-start;gap:14px}
  .admin-top h1{font-size:25px}
  .eyebrow{font-size:9px;letter-spacing:1.4px}
  .top-site{min-width:40px;width:40px;padding:0;justify-content:center}
  .top-site span{display:none}
  .toolbar{align-items:stretch;flex-direction:column;gap:12px}
  .toolbar .button{width:100%}
  .stat-grid{grid-template-columns:1fr}
  .form-grid,.editor-grid-3,.upload-cards,.gallery-groups{grid-template-columns:1fr}
  .editor-span-2{grid-column:auto}
  .editor-intro{padding:20px 18px 17px}
  .editor-section{padding:18px}
  .editor-actions{padding:14px 18px;flex-direction:column-reverse}
  .editor-actions .button{width:100%}
  .form-panel form{padding:18px}
  .panel-head{padding:14px 16px;min-height:58px}
  th,td{padding:12px 14px}
  .current-image-item{width:112px}
}
@media (max-width:420px){
  .admin-top h1{font-size:23px}
  .admin-content{padding:18px 12px 32px}
  .admin-top{padding:18px 12px}
  .panel,.account-editor{border-radius:16px}
  .stat{padding:18px}
  .current-image-item{width:100px}
}

/* precise UI refinements */
.nav-icon svg{width:15px;height:15px;display:block;margin:auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-icon{display:grid;place-items:center;height:18px}
.sidebar-logout{width:32px;height:32px;border:0;border-radius:10px;background:#fff1f1;color:#d95050;display:grid;place-items:center;font-size:17px;font-weight:650;cursor:pointer;transition:.18s ease;flex:none}
.sidebar-logout:hover{background:#ffe1e1;color:#bb3636;transform:none}
.logout-modal,.twofa-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.logout-modal[hidden],.twofa-modal[hidden]{display:none}
.logout-backdrop,.twofa-backdrop{position:absolute;inset:0;background:rgba(16,20,24,.32);backdrop-filter:blur(3px)}
.logout-dialog,.twofa-dialog{position:relative;width:min(100%,470px);background:#fff;border:1px solid #e4e4df;border-radius:20px;box-shadow:0 24px 70px rgba(30,35,40,.16);padding:26px}
.logout-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff0f0;color:#d95050;font-size:20px;margin-bottom:14px}
.logout-dialog h3,.twofa-dialog h3{margin:0;color:#111;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.35px}
.logout-dialog p,.modal-help{margin:9px 0 0;color:#697581;font-size:13px;line-height:1.6}
.logout-actions,.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
.security-panel{overflow:visible}
.security-panel .panel-head{align-items:flex-start}
.security-status{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}
.security-status>span{width:7px;height:7px;border-radius:50%;background:currentColor}
.security-status.is-on{color:#2c9567;background:#edf9f2;border:1px solid #cbe8da}
.security-status.is-off{color:#8a939b;background:#f5f5f2;border:1px solid #e8e8e2}
.security-body{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 20px}
.security-copy{min-width:0}
.security-copy>strong{display:block;font-size:14px;font-weight:700;color:#161a1e}
.security-copy>p{margin:6px 0 0;color:#6b7883;font-size:12px;line-height:1.6;max-width:720px}
.security-meta{display:inline-block;margin-top:9px;color:#818b94;font-size:11px}
.security-meta b{color:#31383e;font-weight:650}
.security-actions{display:flex;gap:9px;flex:none}
.danger-outline{color:#c94b4b!important;border-color:#efcaca!important;background:#fff!important}
.danger-outline:hover{background:#fff4f4!important;border-color:#e7b6b6!important;color:#b43d3d!important}
.twofa-dialog{width:min(100%,620px);padding:30px}
.modal-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border:1px solid var(--line-soft);border-radius:10px;background:#fff;color:#737c85;font-size:20px;display:grid;place-items:center;cursor:pointer}
.modal-close:hover{background:#f7f7f4;color:#20252a}
.modal-kicker{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#697784;text-transform:uppercase;margin-bottom:9px}
.twofa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}
.twofa-grid-one{grid-template-columns:1fr}
.twofa-grid label{font-size:11px;font-weight:650;color:#4b5863}
.twofa-grid input[type="password"],.twofa-grid input[type="text"]{width:100%;min-height:48px;padding:0 14px;border:1px solid #d8d9d5;border-radius:13px;background:#fff;color:#1e252b;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
.twofa-grid input[type="password"]:focus,.twofa-grid input[type="text"]:focus{border-color:#cda84b;box-shadow:0 0 0 3px rgba(241,173,23,.12);background:#fffdfa}
.twofa-grid input{margin-top:7px}
.twofa-input{font-size:22px!important;letter-spacing:7px;text-align:center;font-weight:700}
.auth-step-card{max-width:470px}
.auth-step-help{font-size:13px;line-height:1.7;color:#6c7782;margin:0 0 20px}
.auth-step-help strong{color:#1d242a;font-weight:650}
.auth-back{display:inline-flex;margin-top:16px;font-size:12px;color:#707a83!important}
@media (max-width:760px){
  .security-body{align-items:stretch;flex-direction:column}
  .security-actions{width:100%}
  .security-actions .button{flex:1}
  .twofa-grid{grid-template-columns:1fr}
  .logout-dialog,.twofa-dialog{padding:22px;border-radius:18px}
  .logout-actions,.modal-actions{flex-direction:column-reverse}
  .logout-actions .button,.modal-actions .button{width:100%}
}
.sidebar-logout-card{width:100%;min-width:0;min-height:56px;appearance:none;text-align:left;border:1px solid #f0cfcf;background:#fff8f8!important;border-radius:14px;color:#b93e3e!important;display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:9px 10px;cursor:pointer;transition:.18s ease;overflow:hidden;line-height:1.2}
.sidebar-logout-card:hover{border-color:#e9b4b4;background:#fff1f1!important;color:#a93636!important;transform:none}
.sidebar-logout-card .avatar{background:#fff0f0;color:#c64747}
.sidebar-logout-card .logout-card-copy{min-width:0;display:block;overflow:hidden}
.sidebar-logout-card .logout-card-copy strong{display:block;color:#b63d3d!important;font-size:12px;font-weight:700}
.sidebar-logout-card .logout-card-copy small{display:block;color:#a07878;font-size:10px;margin-top:1px}
.logout-card-arrow{font-size:17px;color:#c94b4b;line-height:1;justify-self:end}

/* auth / 2FA polish */
.login-page,.auth-page{min-height:100vh;margin:0;background:var(--bg);color:var(--text);display:grid;place-items:center;padding:24px}
.login-card,.auth-card{width:min(100%,480px);background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 70px rgba(25,30,36,.08);padding:30px}
.login-card form,.auth-form{display:grid;gap:16px;margin-top:20px}
.login-card label,.auth-form label{display:grid;gap:8px;color:#28343e;font-size:12px;font-weight:650}
.login-card input[type="text"],.login-card input[type="password"],.login-card input[type="email"],.auth-form input[type="text"],.auth-form input[type="password"]{width:100%;min-height:48px;padding:0 14px;border:1px solid #d8d9d5;border-radius:13px;background:#fff;color:#1e252b;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
.login-card input:focus,.auth-form input:focus{border-color:#cda84b;box-shadow:0 0 0 3px rgba(241,173,23,.12);background:#fffdfa}
.login-card .button,.auth-form .button{width:100%;min-height:48px}
.login-note{margin-top:16px!important;line-height:1.6}
.auth-shell{width:100%;display:grid;place-items:center}
.auth-card{max-width:520px}
.auth-brand{display:flex;align-items:center;width:max-content;color:#161616!important;text-decoration:none!important;margin-bottom:26px}
.auth-kicker{font-size:10px;line-height:1;text-transform:uppercase;color:#6c7884;font-weight:800;letter-spacing:1.8px;margin-bottom:10px}
.auth-heading h1{margin:0;color:#101316;font-size:30px;line-height:1.1;font-weight:760;letter-spacing:-1px}
.auth-heading p{margin:10px 0 0;color:var(--text-soft);font-size:13px;line-height:1.7}
.auth-heading p strong{color:#20262b;font-weight:700}
.auth-form{margin-top:24px}
.auth-form label{font-size:12px}
.twofa-input{min-height:64px!important;padding:0 18px!important;border-radius:15px!important;font-size:28px!important;line-height:1!important;letter-spacing:.52em!important;text-align:center!important;font-weight:750!important;background:#fff!important}
.twofa-input::placeholder{color:transparent!important;opacity:0!important}
.auth-submit{margin-top:4px}
.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.auth-footer span{color:#90979e;font-size:10px;line-height:1.4;text-align:right}
.auth-back{display:inline-flex;color:#6f7983!important;font-size:12px;font-weight:600}
.auth-back:hover{color:#20262b!important}
@media (max-width:560px){
  .login-page,.auth-page{padding:14px}
  .login-card,.auth-card{border-radius:20px;padding:22px}
  .auth-heading h1,.login-card h1{font-size:26px}
  .auth-footer{align-items:flex-start;flex-direction:column-reverse}
  .auth-footer span{text-align:left}
}
.file-input-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;opacity:0!important;pointer-events:none!important}
.upload-copy{min-width:0;flex:1}.upload-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.upload-select-button{flex:none;border:1px solid #dfdfda;background:#fff;border-radius:10px;padding:9px 12px;font:inherit;font-size:12px;font-weight:650;color:#273039;cursor:pointer}.upload-select-button:hover{border-color:#d8ad3e;background:#fffaf0}.upload-card.has-files{border-color:#d8b34d;background:#fffdf4}.upload-card:focus-within{outline:2px solid rgba(241,170,0,.24);outline-offset:2px}
@media(max-width:680px){.upload-select-button{padding:10px 12px}.upload-copy small{white-space:normal}}

/* Live image previews while selecting files */
.live-upload-gallery{margin-top:18px;padding-top:2px}
.live-upload-gallery[hidden]{display:none}
.live-upload-heading{margin-bottom:10px}
.live-upload-gallery .gallery-group[hidden]{display:none}
.live-image-item{animation:liveThumbIn .18s ease-out}
.live-image-remove{cursor:pointer}
@keyframes liveThumbIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media (max-width: 720px){
  .live-upload-gallery .current-image-item{width:96px}
}

/* Password & account code sorting controls */
.password-panel{margin-top:16px}.password-grid{align-items:start}.password-grid label{min-width:0}.password-grid .muted{display:block;margin-top:7px;font-size:12px}.toolbar-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.sort-control{display:flex;align-items:center;gap:8px;margin:0}.sort-control label{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.sort-control select{height:42px;min-width:175px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);padding:0 34px 0 12px;outline:none;font:600 13px/1 'Be Vietnam Pro',Arial,sans-serif}.sort-control select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,174,0,.12)}
@media(max-width:1100px){.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.toolbar-actions{width:100%;align-items:stretch}.sort-control{width:100%;justify-content:space-between}.sort-control select{flex:1;min-width:0}.toolbar-actions>.button{width:100%;justify-content:center}.password-grid{grid-template-columns:1fr!important}}

/* Password & account code sorting controls */
.password-panel{margin-top:16px}.password-grid{align-items:start}.password-grid label{min-width:0}.password-grid .muted{display:block;margin-top:7px;font-size:12px}.toolbar-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.sort-control{display:flex;align-items:center;gap:8px;margin:0}.sort-control label{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.sort-control select{height:42px;min-width:175px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);padding:0 34px 0 12px;outline:none;font:600 13px/1 'Be Vietnam Pro',Arial,sans-serif}.sort-control select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,174,0,.12)}
@media(max-width:760px){.toolbar-actions{width:100%;align-items:stretch}.sort-control{width:100%;justify-content:space-between}.sort-control select{flex:1;min-width:0}.toolbar-actions>.button{width:100%;justify-content:center}.password-grid{grid-template-columns:1fr!important}}

/* Admin login final refresh */
.login-page{
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  padding:28px 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(241,173,23,.09), transparent 36%),
    var(--bg);
  color:var(--text);
}
.login-shell{width:100%;display:grid;place-items:center}
.login-card{
  width:min(430px,100%);
  background:#fff;
  border:1px solid #e5e7e2;
  border-radius:24px;
  box-shadow:0 24px 80px rgba(22,28,34,.09);
  padding:32px;
}
.login-header{display:block;margin-bottom:28px}
.login-kicker{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:1.6px;color:#89919a;font-weight:700;margin-bottom:5px}
.login-brand-name{font-size:18px;line-height:1.1;font-weight:700;color:#171b1f;letter-spacing:-.25px}
.login-intro h1{margin:0;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.7px;color:#111417}
.login-intro p{margin:8px 0 0;color:#7c858e;font-size:13px;line-height:1.65}
.login-form{display:grid;gap:15px;margin-top:24px}
.login-form label{display:grid;gap:7px;color:#39424b;font-size:12px;font-weight:650}
.login-form input{
  width:100%;box-sizing:border-box;min-height:48px;padding:0 14px;
  border:1px solid #d9ddd9;border-radius:13px;background:#fff;color:#1a1e22;
  outline:none;font:inherit;font-size:14px;font-weight:500;transition:border-color .16s,box-shadow .16s,background .16s
}
.login-form input:focus{border-color:#d8aa48;box-shadow:0 0 0 4px rgba(241,173,23,.11);background:#fffdf8}
.login-submit{width:100%;min-height:48px;margin-top:2px;border-radius:13px!important;font-size:13px!important;font-weight:700!important}
.login-note{margin:19px 0 0!important;padding-top:17px;border-top:1px solid #eceeea;color:#89919a;font-size:12px!important;line-height:1.6!important;text-align:center}
.login-note a{color:#ae7b00!important;text-decoration:none!important;font-weight:700}
.login-note a:hover{text-decoration:underline!important}
@media (max-width:520px){
  .login-page{padding:16px 12px}
  .login-card{padding:24px 20px;border-radius:20px}
  .login-intro h1{font-size:25px}
}

/* Mobile-first hardening: keep the admin viewport stable and scroll wide content inside itself. */
html,body{max-width:100%;overflow-x:hidden}
.admin-app,.admin-main,.admin-content{min-width:0;max-width:100%}
.panel{min-width:0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin}
.table-scroll table{min-width:650px;width:100%}
.password-panel .form-grid{align-items:start}
.password-panel .form-actions{justify-content:flex-end}
@media (max-width:1100px){
  .password-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .admin-top{position:sticky;top:0;z-index:20}
  .admin-content{padding-bottom:84px;overflow:visible}
  .panel-head{flex-wrap:wrap}
  .panel-head > *{min-width:0}
  .password-panel .form-grid{grid-template-columns:1fr!important;gap:14px}
  .password-panel .form-actions{padding-top:4px}
  .password-panel .form-actions .button{width:100%}
  .security-body{padding:18px 16px}
  .toolbar-actions,.security-actions{flex-wrap:wrap}
  .actions{white-space:normal}
  .actions a{margin:4px 4px 0 0}
  .twofa-dialog{width:min(100%,520px);max-height:calc(100vh - 28px);overflow:auto;-webkit-overflow-scrolling:touch}
  .logout-dialog{max-height:calc(100vh - 28px);overflow:auto}
  .form-panel form,.account-editor-form{padding:16px}
}
@media (max-width:520px){
  .admin-top{min-height:96px;padding:16px 12px}
  .admin-content{padding:16px 12px 72px}
  .panel{margin-bottom:14px}
  .panel-head{padding:13px 14px}
  .panel-head h2{font-size:15px}
  th,td{padding:11px 12px;font-size:12px}
  th{font-size:9px;letter-spacing:.8px}
  .table-scroll{border-radius:0}
  .table-scroll table{min-width:620px}
  .password-panel .panel-head p{max-width:100%}
}

/* v8: requested status, dashboard, SEO and bulk-management additions. */
.table-status.reserved{color:#a56b00}.table-status.hidden{color:#7b8288}
.editor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.dashboard-mini{padding:18px 20px}.dashboard-mini span{display:block;color:var(--muted);font-size:12px;font-weight:700}.dashboard-mini strong{display:block;margin-top:6px;font-size:28px;line-height:1;color:var(--text)}
.dashboard-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-list{display:grid;padding:4px 16px 14px}.dashboard-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.dashboard-list>a:last-child{border-bottom:0}.dashboard-list span{display:grid;gap:3px}.dashboard-list small{color:var(--muted)}.dashboard-list em{font-style:normal;font-size:12px;color:var(--muted);text-align:right}.dashboard-list>.muted{padding:12px 2px}
.bulk-form{margin:0}.bulk-panel-head{align-items:flex-start}.bulk-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(0,0,0,.015)}.bulk-toolbar select{width:auto;min-width:165px;height:40px}.bulk-toolbar [data-bulk-game][hidden]{display:none}.bulk-count{margin-left:auto;color:var(--muted);font-size:12px;font-weight:700}.check-col{width:42px;text-align:center}.check-col input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--gold)}
.log-table td:last-child{min-width:280px;white-space:normal}.log-table td:first-child{white-space:nowrap}
@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-recent-grid{grid-template-columns:1fr}}
@media(max-width:860px){.editor-grid-2{grid-template-columns:1fr}.dashboard-today-grid{grid-template-columns:1fr}.bulk-toolbar{align-items:stretch}.bulk-toolbar select,.bulk-toolbar .button{flex:1 1 180px}.bulk-count{width:100%;margin-left:0}}
@media(max-width:680px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-toolbar{padding:10px 12px}.bulk-toolbar select,.bulk-toolbar .button{width:100%;flex-basis:100%}}

/* v9: password settings layout refinement only. */
.password-panel > form{
  padding:22px 24px 24px;
}
.password-panel .password-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 20px;
  align-items:start;
}
.password-panel .password-grid > label{
  min-width:0;
  gap:8px;
}
.password-panel .password-grid input{
  min-height:46px;
}
.password-panel .password-grid .muted{
  margin-top:0;
  line-height:1.45;
}
.password-panel .form-actions{
  margin-top:22px;
  padding-top:18px;
  justify-content:flex-end;
}
.password-panel .form-actions .button{
  min-width:132px;
}
@media(max-width:760px){
  .password-panel > form{padding:18px 16px 20px}
  .password-panel .password-grid{grid-template-columns:1fr!important;gap:14px}
  .password-panel .form-actions{margin-top:18px;padding-top:16px}
  .password-panel .form-actions .button{width:100%;min-width:0}
}

/* v11: destructive actions are POST forms with CSRF while keeping the existing table UI. */
.actions form{display:inline-flex;margin-left:6px;vertical-align:middle}.actions .action-button{display:inline-flex;align-items:center;justify-content:center;height:35px;padding:0 11px;border:1px solid #f0d4d4;border-radius:10px;background:#fff;color:var(--red);font-size:11px;font-weight:650;font-family:inherit;line-height:1;cursor:pointer;transition:.15s ease}.actions .action-button:hover{background:var(--red-soft);border-color:#e6bdbd}.actions form:first-child{margin-left:0}@media(max-width:860px){.actions form{margin:4px 4px 0 0}}

.standalone-delete-form{display:none}.actions>button.action-button{margin-left:6px}

/* v16: complete Admin light/dark theme and convenient theme controls. */
:root[data-theme=dark]{
  --bg:#100f0e;
  --surface:#181715;
  --surface-soft:#1f1e1b;
  --surface-muted:#25241f;
  --text:#f4f3ed;
  --text-soft:#b6b4aa;
  --muted:#92948d;
  --line:#38352e;
  --line-soft:#2b2a26;
  --gold:#f2b31d;
  --gold-strong:#ffc037;
  --gold-soft:#2b2617;
  --green:#45c58a;
  --green-soft:#14271f;
  --red:#f06b6b;
  --red-soft:#301b1b;
  --purple-soft:#251f31;
  --shadow:0 10px 34px rgba(0,0,0,.22);
  --shadow-soft:0 4px 18px rgba(0,0,0,.16);
}

/* theme controls */
.admin-theme-icon{display:grid;place-items:center;width:17px;height:17px;flex:none}
.admin-theme-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-theme-icon .theme-sun{display:none}
:root[data-theme=dark] .admin-theme-icon .theme-moon{display:none}
:root[data-theme=dark] .admin-theme-icon .theme-sun{display:block}
.top-theme,.sidebar-theme,.auth-theme-toggle{appearance:none;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.top-theme{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);font-size:12px;font-weight:650;box-shadow:var(--shadow-soft)}
.top-theme:hover{border-color:color-mix(in srgb,var(--gold) 48%,var(--line));color:var(--gold);transform:translateY(-1px)}
.sidebar-theme{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:0 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font-size:12px;font-weight:600;text-align:left}
.sidebar-theme:hover{background:var(--surface-muted);border-color:var(--line)}
.sidebar-theme [data-admin-theme-label]::before{content:"Giao diện ";color:var(--muted);font-weight:500}
.auth-theme-toggle{position:fixed;z-index:20;right:22px;top:22px;min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);font-size:12px;font-weight:650;box-shadow:var(--shadow-soft);backdrop-filter:blur(12px)}
.auth-theme-toggle:hover{border-color:color-mix(in srgb,var(--gold) 48%,var(--line));color:var(--gold)}

/* dark shell/navigation */
:root[data-theme=dark] body{background:var(--bg);color:var(--text)}
:root[data-theme=dark] .admin-sidebar{background:var(--surface);border-color:var(--line-soft)}
:root[data-theme=dark] .admin-brand,:root[data-theme=dark] .admin-brand:visited,:root[data-theme=dark] .admin-brand:hover,:root[data-theme=dark] .admin-brand:active{color:var(--text)!important}
:root[data-theme=dark] .brand-copy strong{color:var(--text)!important}
:root[data-theme=dark] .brand-copy small,:root[data-theme=dark] .nav-label{color:var(--muted)}
:root[data-theme=dark] .admin-nav a{color:#d9d9d3!important}
:root[data-theme=dark] .admin-nav a:hover{background:var(--surface-muted);border-color:var(--line);color:#fff!important}
:root[data-theme=dark] .admin-nav a.active{background:#25241f;border-color:#313229;color:#fff!important}
:root[data-theme=dark] .nav-icon{color:#989b94}
:root[data-theme=dark] .admin-nav a.active .nav-icon,:root[data-theme=dark] .admin-nav a:hover .nav-icon{color:#f2f1eb}
:root[data-theme=dark] .back-site{color:#d7d7d0!important}
:root[data-theme=dark] .back-site:hover{background:var(--surface-muted)}
:root[data-theme=dark] .sidebar-user{border-color:var(--line-soft)}
:root[data-theme=dark] .sidebar-user strong{color:var(--text)!important}
:root[data-theme=dark] .sidebar-user small{color:var(--muted)}
:root[data-theme=dark] .avatar{background:#292823;color:var(--gold)}
:root[data-theme=dark] .admin-top{background:color-mix(in srgb,var(--bg) 94%,transparent);border-color:var(--line);backdrop-filter:blur(16px)}
:root[data-theme=dark] .admin-top h1{color:var(--text)}
:root[data-theme=dark] .eyebrow{color:#a7aa9f}
:root[data-theme=dark] .menu-button,:root[data-theme=dark] .top-site{background:var(--surface);border-color:var(--line);color:#d3d3cd!important}
:root[data-theme=dark] .top-site:hover{background:var(--surface-muted);border-color:#5b5132;color:#fff!important}

/* dark cards/tables/forms */
:root[data-theme=dark] .stat,:root[data-theme=dark] .panel,:root[data-theme=dark] .panel-head,:root[data-theme=dark] .account-editor{background:var(--surface);border-color:var(--line)}
:root[data-theme=dark] .stat:after{background:#22211e}
:root[data-theme=dark] .stat span{color:var(--muted)}
:root[data-theme=dark] .stat strong,:root[data-theme=dark] .panel-head h2{color:var(--text)}
:root[data-theme=dark] table th{background:var(--surface);color:#9fa39a}
:root[data-theme=dark] table td{color:#dddcd6;border-color:var(--line-soft)}
:root[data-theme=dark] tbody tr:hover{background:var(--surface-soft)}
:root[data-theme=dark] .actions a{background:var(--surface-soft);border-color:var(--line);color:#d7d7d1!important}
:root[data-theme=dark] .actions a:hover{background:var(--gold-soft);border-color:#6a5c31;color:#fff!important}
:root[data-theme=dark] .actions .action-button{background:var(--surface-soft);border-color:#623d3d;color:var(--red)}
:root[data-theme=dark] .actions .action-button:hover{background:var(--red-soft);border-color:#805050}
:root[data-theme=dark] .button.ghost{background:var(--surface-soft);border-color:var(--line);color:var(--text)!important}
:root[data-theme=dark] .button.ghost:hover{background:var(--surface-muted);border-color:#4a4b43}
:root[data-theme=dark] .form-grid>label,:root[data-theme=dark] .editor-grid>label,:root[data-theme=dark] .form-panel label{color:#d9d8d2}
:root[data-theme=dark] input[type="text"],:root[data-theme=dark] input[type="number"],:root[data-theme=dark] input[type="tel"],:root[data-theme=dark] input[type="url"],:root[data-theme=dark] input[type="email"],:root[data-theme=dark] input[type="password"],:root[data-theme=dark] input:not([type]),:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-soft);border-color:var(--line);color:var(--text);color-scheme:dark}
:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#777a72}
:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] textarea:focus{background:#22211e;border-color:#9b7a2c;box-shadow:0 0 0 3px rgba(242,179,29,.11)}
:root[data-theme=dark] .check input[type="checkbox"],:root[data-theme=dark] .inline-check input[type="checkbox"]{background:var(--surface-soft);border-color:#515249}
:root[data-theme=dark] .editor-intro,:root[data-theme=dark] .editor-section{border-color:var(--line-soft)}
:root[data-theme=dark] .editor-kicker,:root[data-theme=dark] .editor-intro p,:root[data-theme=dark] .section-heading p{color:var(--muted)}
:root[data-theme=dark] .editor-id{background:var(--surface-soft);border-color:var(--line);color:#b7b8b0}
:root[data-theme=dark] .section-number{background:var(--gold-soft);border-color:#564a2b;color:#e6b841}
:root[data-theme=dark] .upload-card,:root[data-theme=dark] .current-gallery,:root[data-theme=dark] .gallery-empty{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}
:root[data-theme=dark] .upload-card:hover{background:#25231d;border-color:#715d2e}
:root[data-theme=dark] .upload-card.upload-primary,:root[data-theme=dark] .upload-card.has-files{background:#272317;border-color:#69572c}
:root[data-theme=dark] .upload-icon{background:#2b2a26;color:#a5a79f}
:root[data-theme=dark] .upload-card strong,:root[data-theme=dark] .gallery-heading strong{color:var(--text)}
:root[data-theme=dark] .upload-select-button{background:var(--surface-muted);border-color:var(--line);color:var(--text)}
:root[data-theme=dark] .upload-select-button:hover{background:var(--gold-soft);border-color:#705e32}
:root[data-theme=dark] .current-image-item{background:#121210;border-color:var(--line)}
:root[data-theme=dark] .editor-actions{background:#161512;border-color:var(--line-soft)}
:root[data-theme=dark] .bulk-toolbar{background:rgba(255,255,255,.018);border-color:var(--line)}

/* settings shop notice */
.settings-shop-panel{margin-top:8px;background:color-mix(in srgb,var(--gold) 7%,var(--surface));border-color:color-mix(in srgb,var(--gold) 34%,var(--line))}
.settings-shop-panel__inner{padding:16px 18px}
.settings-shop-panel__inner strong{color:var(--text)}
.settings-shop-panel__inner .muted{margin:7px 0 0;color:var(--text-soft)}
:root[data-theme=dark] .settings-shop-panel{background:color-mix(in srgb,var(--gold) 6%,var(--surface));border-color:color-mix(in srgb,var(--gold) 30%,var(--line))}

/* dark security/modals */
:root[data-theme=dark] .logout-dialog,:root[data-theme=dark] .twofa-dialog,:root[data-theme=dark] .image-delete-dialog{background:var(--surface);border-color:var(--line);box-shadow:0 24px 80px rgba(0,0,0,.42)}
:root[data-theme=dark] .logout-dialog h3,:root[data-theme=dark] .twofa-dialog h3,:root[data-theme=dark] .image-delete-dialog h3{color:var(--text)}
:root[data-theme=dark] .logout-dialog p,:root[data-theme=dark] .modal-help,:root[data-theme=dark] .image-delete-dialog p{color:var(--muted)}
:root[data-theme=dark] .modal-close{background:var(--surface-soft);border-color:var(--line);color:#aaa9a2}
:root[data-theme=dark] .modal-close:hover{background:var(--surface-muted);color:#fff}
:root[data-theme=dark] .security-status.is-on{background:var(--green-soft);border-color:#28523f;color:var(--green)}
:root[data-theme=dark] .security-status.is-off{background:var(--surface-muted);border-color:var(--line);color:#a1a39c}
:root[data-theme=dark] .security-copy>strong,:root[data-theme=dark] .security-meta b{color:var(--text)}
:root[data-theme=dark] .security-copy>p,:root[data-theme=dark] .security-meta{color:var(--muted)}
:root[data-theme=dark] .danger-outline{background:var(--surface-soft)!important;border-color:#633d3d!important;color:#ef7777!important}
:root[data-theme=dark] .danger-outline:hover{background:var(--red-soft)!important;border-color:#805050!important;color:#ff8c8c!important}
:root[data-theme=dark] .twofa-grid label{color:#c9c9c2}
:root[data-theme=dark] .twofa-grid input[type="password"],:root[data-theme=dark] .twofa-grid input[type="text"]{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
:root[data-theme=dark] .twofa-grid input[type="password"]:focus,:root[data-theme=dark] .twofa-grid input[type="text"]:focus{background:#22211e;border-color:#9b7a2c}
:root[data-theme=dark] .sidebar-logout-card{background:#271919!important;border-color:#543434;color:#ef7777!important}
:root[data-theme=dark] .sidebar-logout-card:hover{background:#321d1d!important;border-color:#704141;color:#ff8a8a!important}
:root[data-theme=dark] .sidebar-logout-card .avatar{background:#351e1e;color:#ef7777}
:root[data-theme=dark] .sidebar-logout-card .logout-card-copy strong{color:#ef7777!important}
:root[data-theme=dark] .sidebar-logout-card .logout-card-copy small{color:#b58e8e}

/* dark auth/login/2FA */
:root[data-theme=dark] .login-page,:root[data-theme=dark] .auth-page{background:radial-gradient(circle at 50% 0%,rgba(242,179,29,.08),transparent 38%),var(--bg)}
:root[data-theme=dark] .login-card,:root[data-theme=dark] .auth-card{background:color-mix(in srgb,var(--surface) 96%,transparent);border-color:var(--line);box-shadow:0 24px 80px rgba(0,0,0,.32)}
:root[data-theme=dark] .login-brand-name,:root[data-theme=dark] .login-intro h1,:root[data-theme=dark] .auth-heading h1,:root[data-theme=dark] .auth-heading p strong,:root[data-theme=dark] .auth-brand{color:var(--text)!important}
:root[data-theme=dark] .login-kicker,:root[data-theme=dark] .auth-kicker,:root[data-theme=dark] .login-intro p{color:var(--muted)}
:root[data-theme=dark] .login-form label,:root[data-theme=dark] .login-card label,:root[data-theme=dark] .auth-form label{color:#d6d5cf}
:root[data-theme=dark] .login-form input,:root[data-theme=dark] .login-card input[type="text"],:root[data-theme=dark] .login-card input[type="password"],:root[data-theme=dark] .login-card input[type="email"],:root[data-theme=dark] .auth-form input[type="text"],:root[data-theme=dark] .auth-form input[type="password"]{background:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--text)!important}
:root[data-theme=dark] .login-form input:focus,:root[data-theme=dark] .login-card input:focus,:root[data-theme=dark] .auth-form input:focus{background:#22211e!important;border-color:#9b7a2c!important;box-shadow:0 0 0 4px rgba(242,179,29,.10)!important}
:root[data-theme=dark] .twofa-input{background:var(--surface-soft)!important;color:var(--text)!important}
:root[data-theme=dark] .login-note,:root[data-theme=dark] .auth-footer{border-color:var(--line-soft)}
:root[data-theme=dark] .auth-back{color:#aaa9a2!important}
:root[data-theme=dark] .auth-back:hover{color:#fff!important}

@media(max-width:680px){
  .top-theme{width:40px;padding:0}
  .top-theme [data-admin-theme-label]{display:none}
  .auth-theme-toggle{right:12px;top:12px;min-width:40px;padding:0 10px}
  .auth-theme-toggle [data-admin-theme-label]{display:none}
}

/* v18 - collaborators */
.collaborator-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 7%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--gold) 26%,var(--line))}
.collaborator-welcome h2,.collaborator-detail-head h2{margin:5px 0 6px;font-size:22px;line-height:1.15;color:var(--text)}
.collaborator-welcome p{margin:0;max-width:760px}
.collaborator-kicker{display:block;color:var(--gold-strong);font-size:10px;line-height:1;font-weight:800;letter-spacing:1.5px}
.collaborator-detail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:2px 0 18px;padding:4px 2px}
.collaborator-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.collaborator-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:20px;align-items:start}
.collaborator-detail-grid>.panel{margin-bottom:20px}
.collaborator-security-card{overflow:hidden}
.collaborator-security-list{display:grid;padding:6px 20px}
.collaborator-security-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.collaborator-security-list>div:last-child{border-bottom:0}
.collaborator-security-list span{color:var(--text-soft);font-size:12px}
.collaborator-security-list strong{font-size:12px;color:var(--text);text-align:right;word-break:break-word}
.collaborator-security-actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 20px;border-top:1px solid var(--line-soft)}
.collaborator-security-actions form{margin:0}
.collaborator-danger-zone{border-color:color-mix(in srgb,var(--red) 42%,var(--line))}
.collaborator-danger-zone .panel-head{background:color-mix(in srgb,var(--red) 5%,var(--surface))}
.collaborator-danger-zone form{padding:20px}
.collaborator-danger-zone label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650;color:var(--text)}
.collaborator-create-panel .editor-span-2{grid-column:span 2}
.collaborator-active-check{align-self:end;min-height:44px}
.collaborator-filter-panel form{padding:18px 20px}
.collaborator-log-filter{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end}
.collaborator-log-filter label{display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:11px;font-weight:700}
.collaborator-log-filter input[type="date"]{width:100%;min-height:44px;padding:0 13px;border:1px solid #d8d9d5;border-radius:12px;background:var(--surface);color:var(--text);outline:none}
.collaborator-filter-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}
.inline-action-form{display:inline-flex;margin-left:6px}
.table-sub{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}
.owner-cell{display:grid;gap:2px}.owner-cell strong{font-size:12px}.owner-cell small{color:var(--muted);font-size:10px}
.account-list-controls{flex-wrap:wrap}
.account-list-controls label{white-space:nowrap}
.bulk-toolbar [data-bulk-owner][hidden]{display:none}
:root[data-theme=dark] .collaborator-welcome{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 6%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--gold) 24%,var(--line))}
:root[data-theme=dark] .collaborator-danger-zone .panel-head{background:color-mix(in srgb,var(--red) 7%,var(--surface))}
:root[data-theme=dark] .collaborator-log-filter input[type="date"]{background:var(--surface-soft);border-color:var(--line);color:var(--text);color-scheme:dark}

@media(max-width:1250px){.collaborator-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collaborator-log-filter{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:900px){.collaborator-detail-grid{grid-template-columns:1fr}.collaborator-welcome{align-items:flex-start;flex-direction:column}.collaborator-log-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.account-list-controls{width:100%}}
@media(max-width:680px){.collaborator-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collaborator-detail-head{align-items:flex-start;flex-direction:column}.collaborator-log-filter{grid-template-columns:1fr}.collaborator-filter-actions{justify-content:stretch}.collaborator-filter-actions .button{flex:1}.collaborator-create-panel .editor-span-2{grid-column:auto}.collaborator-security-actions{display:grid}.collaborator-security-actions form,.collaborator-security-actions .button{width:100%}.collaborator-welcome .button{width:100%}.inline-action-form{margin:5px 4px 0 0}}

/* v20: neutral light/dark contrast. Green is reserved for semantic success/tick states only. */
:root{
  --bg:#f4f4f2;
  --surface:#ffffff;
  --surface-soft:#f7f7f5;
  --surface-muted:#ececea;
  --text:#171716;
  --text-soft:#5f5d58;
  --muted:#7a7770;
  --line:#d9d7d1;
  --line-soft:#e9e7e2;
  --surface-elevated:#fbfaf8;
  --surface-strong:#efeeea;
  --shadow:0 10px 32px rgba(25,24,21,.06);
  --shadow-soft:0 4px 16px rgba(25,24,21,.045);
}
:root[data-theme=dark]{
  --bg:#0d0d0c;
  --surface:#171715;
  --surface-soft:#1f1f1c;
  --surface-muted:#292824;
  --text:#f6f4ee;
  --text-soft:#c7c2b8;
  --muted:#9f9a90;
  --line:#3a3731;
  --line-soft:#2b2925;
  --surface-elevated:#1b1b18;
  --surface-strong:#24231f;
  --gold-soft:#2b2517;
  --green-soft:#14271f;
  --red-soft:#321c1c;
  --shadow:0 12px 38px rgba(0,0,0,.32);
  --shadow-soft:0 5px 20px rgba(0,0,0,.23);
}

/* Explicit visual layers keep nested dark surfaces readable instead of black-on-black. */
.admin-sidebar{background:var(--surface);border-color:var(--line)}
.admin-top{background:color-mix(in srgb,var(--bg) 94%,transparent);border-color:var(--line)}
.panel,.account-editor,.stat{background:var(--surface);border-color:var(--line)}
.panel-head,.editor-intro{background:var(--surface-elevated);border-color:var(--line-soft)}
.dashboard-mini,.current-gallery,.upload-card,.gallery-empty{border-color:var(--line)}
table th{background:var(--surface-elevated);border-color:var(--line-soft)}
table td{border-color:var(--line-soft)}
tbody tr:hover{background:var(--surface-soft)}
.dashboard-list>a:hover{background:var(--surface-soft);border-radius:10px;padding-left:10px;padding-right:10px}
.editor-actions{background:var(--surface-elevated);border-color:var(--line-soft)}
.bulk-toolbar{background:var(--surface-elevated);border-color:var(--line)}
.security-body{background:var(--surface)}

input[type="text"],input[type="number"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input:not([type]),select,textarea,
.sort-control select,.collaborator-log-filter input[type="date"]{
  background:var(--surface-soft);border-color:var(--line);color:var(--text)
}
input:focus,select:focus,textarea:focus,.sort-control select:focus,.collaborator-log-filter input[type="date"]:focus{
  background:var(--surface);border-color:color-mix(in srgb,var(--gold) 62%,var(--line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent)
}
input:disabled,select:disabled,textarea:disabled{
  background:var(--surface-strong)!important;color:var(--muted)!important;border-color:var(--line)!important;opacity:1;cursor:not-allowed
}
.button:disabled{opacity:.58;cursor:not-allowed;transform:none!important;box-shadow:none!important}

:root[data-theme=dark] .admin-nav a.active{background:var(--surface-muted);border-color:var(--line);color:var(--text)!important}
:root[data-theme=dark] .stat:after{background:var(--surface-muted)}
:root[data-theme=dark] .current-image-item{background:var(--surface-elevated);border-color:var(--line)}
:root[data-theme=dark] .upload-card:hover{background:var(--surface-muted);border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}
:root[data-theme=dark] .upload-card.upload-primary,
:root[data-theme=dark] .upload-card.has-files{background:color-mix(in srgb,var(--gold) 9%,var(--surface-soft));border-color:color-mix(in srgb,var(--gold) 42%,var(--line))}
:root[data-theme=dark] .editor-actions{background:var(--surface-elevated)}
:root[data-theme=dark] .bulk-toolbar{background:var(--surface-elevated)}
:root[data-theme=dark] .login-card,:root[data-theme=dark] .auth-card{background:var(--surface);border-color:var(--line)}
:root[data-theme=dark] .logout-dialog,:root[data-theme=dark] .twofa-dialog,:root[data-theme=dark] .image-delete-dialog{background:var(--surface-elevated)}
:root[data-theme=dark] .settings-shop-panel{background:color-mix(in srgb,var(--gold) 8%,var(--surface-elevated));border-color:color-mix(in srgb,var(--gold) 36%,var(--line))}
:root[data-theme=dark] .collaborator-danger-zone .panel-head{background:color-mix(in srgb,var(--red) 9%,var(--surface-elevated))}
:root[data-theme=dark] .collaborator-welcome{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 9%,var(--surface-elevated)),var(--surface));border-color:color-mix(in srgb,var(--gold) 30%,var(--line))}
:root[data-theme=dark] .security-status.is-off{background:var(--surface-muted);border-color:var(--line);color:var(--text-soft)}

/* Collaborator self-service security page. */
.ctv-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ctv-settings-grid>.panel{margin-bottom:0}
.ctv-settings-card{overflow:hidden}
.ctv-security-form{padding:22px 24px 24px}
.ctv-security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.ctv-security-grid>label{display:flex;flex-direction:column;gap:8px;color:var(--text);font-size:12px;font-weight:650;min-width:0}
.ctv-security-grid .muted{margin-top:-2px;line-height:1.45}
.ctv-twofa-field{font-variant-numeric:tabular-nums;letter-spacing:.18em;font-weight:750}
.ctv-security-lock{margin:0 0 16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--line));border-radius:12px;background:var(--red-soft);color:var(--red);font-size:12px;font-weight:700;line-height:1.5}
.ctv-settings-card .form-actions{margin-top:20px}

@media(max-width:1080px){.ctv-settings-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .ctv-security-form{padding:18px 16px 20px}
  .ctv-security-grid{grid-template-columns:1fr;gap:14px}
  .ctv-settings-card .form-actions .button{width:100%}
}

/* v21: checkpass/IP lock, security alerts and locked collaborator notice. */
.locked-account-card{max-width:620px}
.locked-account-icon{width:58px;height:58px;margin:8px 0 14px;border-radius:18px;display:grid;place-items:center;background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 42%,var(--line));color:var(--red);font-size:27px;font-weight:850}
.locked-account-contact{margin:18px 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--gold) 7%,var(--surface-soft));display:grid;gap:4px}
.locked-account-contact>span{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.locked-account-contact>strong{font-size:18px;color:var(--text)}
.locked-account-contact>p{margin:2px 0 0;color:var(--text-soft);font-size:12px;line-height:1.55}

.security-warning-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:22px}
.security-warning-backdrop{position:absolute;inset:0;background:rgba(8,8,8,.62);backdrop-filter:blur(5px)}
.security-warning-dialog{position:relative;width:min(100%,680px);max-height:calc(100vh - 44px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 28px 90px rgba(0,0,0,.32)}
.security-warning-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 46%,var(--line));color:var(--red);font-size:24px;font-weight:850;margin-bottom:14px}
.security-warning-kicker{font-size:10px;font-weight:850;letter-spacing:1.6px;color:var(--red);text-transform:uppercase}
.security-warning-dialog h2{margin:7px 0 9px;color:var(--text);font-size:24px;line-height:1.15;letter-spacing:-.5px}
.security-warning-dialog>p{margin:0;color:var(--text-soft);font-size:13px;line-height:1.65}
.security-warning-events{display:grid;gap:8px;margin:18px 0}
.security-warning-events>div{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.security-warning-events span{font-size:10px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}
.security-warning-events strong{justify-self:end;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px}
.security-warning-events small{grid-column:1/-1;color:var(--muted);font-size:10px}
.security-warning-advice{padding:15px 16px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--gold) 6%,var(--surface-soft))}
.security-warning-advice>strong{display:block;color:var(--text);font-size:12px;margin-bottom:7px}
.security-warning-advice ul{margin:0 0 9px;padding-left:18px;color:var(--text-soft);font-size:12px;line-height:1.65}
.security-warning-advice a{color:var(--gold-strong)!important;font-size:12px;font-weight:750}
.security-warning-dialog form{margin-top:18px;display:grid;gap:13px}
.security-warning-check{display:flex;align-items:flex-start;gap:9px;color:var(--text);font-size:12px;font-weight:650;line-height:1.5;cursor:pointer}
.security-warning-check input{margin-top:3px;flex:none}
.security-warning-dialog form .button{justify-self:end;min-width:120px}

.security-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.security-overview-grid>.panel{margin-bottom:0}
.security-log-filter{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(190px,1fr) auto;gap:12px;align-items:end}
.security-log-filter label{display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:11px;font-weight:700}
.security-event{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);font-size:10px;font-weight:750;white-space:nowrap}
.security-event.ip_locked{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 36%,var(--line))}
.security-event.wrong_password{color:#a46b00;background:color-mix(in srgb,var(--gold) 10%,var(--surface-soft));border-color:color-mix(in srgb,var(--gold) 32%,var(--line))}
.security-event.blocked_attempt{color:var(--text-soft);background:var(--surface-muted)}
.security-user-agent{max-width:330px;min-width:240px;white-space:normal;word-break:break-word;color:var(--text-soft);font-size:11px}
td code{padding:3px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--text);font-size:11px}

:root[data-theme=dark] .locked-account-contact{background:color-mix(in srgb,var(--gold) 7%,var(--surface-elevated))}
:root[data-theme=dark] .security-warning-dialog{background:var(--surface-elevated);border-color:var(--line);box-shadow:0 28px 100px rgba(0,0,0,.55)}
:root[data-theme=dark] .security-warning-events>div{background:var(--surface-soft)}
:root[data-theme=dark] .security-warning-advice{background:color-mix(in srgb,var(--gold) 7%,var(--surface-soft))}

@media(max-width:900px){
  .security-overview-grid{grid-template-columns:1fr 1fr}
  .security-log-filter{grid-template-columns:1fr 1fr}
  .security-log-filter .collaborator-filter-actions{grid-column:1/-1}
}
@media(max-width:680px){
  .security-warning-modal{padding:12px}
  .security-warning-dialog{padding:20px 16px;border-radius:18px;max-height:calc(100vh - 24px)}
  .security-warning-dialog h2{font-size:20px}
  .security-warning-events>div{grid-template-columns:1fr}
  .security-warning-events strong{justify-self:start}
  .security-warning-dialog form .button{width:100%;justify-self:stretch}
  .security-overview-grid,.security-log-filter{grid-template-columns:1fr}
  .security-log-filter .collaborator-filter-actions{grid-column:auto}
  .security-user-agent{min-width:190px}
  .locked-account-card .auth-submit{width:100%}
}

/* v27: Item/Vật phẩm admin module. */
.check-setting{display:flex!important;flex-direction:column;gap:8px}.check-setting-row{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:12px;font-weight:650;color:var(--text)}.check-setting-row input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--gold)}.item-editor-panel .item-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-current-images{border-top:1px solid var(--line);padding-bottom:18px}.item-admin-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px 18px 0}.item-admin-image{min-width:0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.item-admin-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--surface-muted)}.item-admin-image small{display:block;margin:7px 0 5px;color:var(--muted);font-size:10px;font-weight:700}.item-admin-image form{margin:0}.item-admin-image .action-button{width:100%;justify-content:center}.item-filter-panel form{padding:16px 18px}.item-stat-grid{margin:0;padding:16px 18px 0;grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-item-list{padding:12px 18px 18px}.table-status.out_of_stock{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red);border-color:color-mix(in srgb,var(--red) 28%,var(--line))}
@media(max-width:1180px){.item-admin-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.item-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.item-admin-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.item-editor-panel .item-form-grid{grid-template-columns:1fr}}
@media(max-width:680px){.item-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px 0}.item-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px 0}.dashboard-item-list{padding:10px 14px 14px}}

/* v28: grouped admin information architecture + module management polish. */
.nav-section{display:grid;gap:4px;padding:7px 0 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.nav-section:last-child{border-bottom:0}.nav-section-dashboard{padding-top:0}.nav-section .nav-label{padding:8px 12px 5px;margin:0}.admin-nav{gap:0}.admin-nav .nav-primary{font-weight:750}
.module-toolbar{align-items:center}.module-toolbar>div:first-child{min-width:0}.module-kicker{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid color-mix(in srgb,var(--gold) 36%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--gold) 7%,var(--surface));color:var(--gold-strong);font-size:9px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase}.module-toolbar .muted{max-width:760px;line-height:1.55}.panel-subtitle{display:block;margin:5px 0 0;line-height:1.5}.panel-foot-note{padding:12px 18px;border-top:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);font-size:11px;line-height:1.55}.row-muted{opacity:.68}.row-muted:hover{opacity:1}.table-link-note{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--gold) 6%,var(--surface-soft));color:var(--gold-strong)!important;font-size:10px;font-weight:750}.module-editor{border-color:color-mix(in srgb,var(--gold) 30%,var(--line));box-shadow:0 14px 38px rgba(0,0,0,.035)}
.module-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.module-stat{padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 8px 26px rgba(0,0,0,.025)}.module-stat span{display:block;color:var(--text-soft);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.7px}.module-stat strong{display:block;margin-top:7px;color:var(--text);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.dashboard-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dashboard-module-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text)!important;box-shadow:0 8px 26px rgba(0,0,0,.025);transition:.16s ease}.dashboard-module-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 38%,var(--line));box-shadow:0 12px 30px rgba(0,0,0,.045)}.dashboard-module-card strong{margin-top:11px;font-size:14px;line-height:1.2}.dashboard-module-card small{margin-top:6px;color:var(--text-soft);font-size:11px;line-height:1.45}
:root[data-theme=dark] .module-kicker{background:color-mix(in srgb,var(--gold) 8%,var(--surface-elevated))}:root[data-theme=dark] .panel-foot-note,:root[data-theme=dark] .table-link-note{background:var(--surface-soft)}:root[data-theme=dark] .module-stat,:root[data-theme=dark] .dashboard-module-card{background:var(--surface-elevated)}
@media(max-width:1180px){.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.module-stat-grid{grid-template-columns:1fr 1fr}.module-toolbar .toolbar-actions{display:grid;grid-template-columns:1fr;gap:8px}.module-toolbar .toolbar-actions>.button{width:100%}.dashboard-module-grid{grid-template-columns:1fr 1fr}.nav-section{padding:5px 0 7px}}@media(max-width:520px){.module-stat-grid,.dashboard-module-grid{grid-template-columns:1fr}.module-stat{padding:14px 16px}.dashboard-module-card{padding:15px 16px}.panel-foot-note{padding:11px 14px}}


/* v29: explicit form guidance for required seller contact and automatic SEO. */
.field-help,.field-required{display:inline-block;margin-left:4px;font-size:10px;line-height:1.3;font-weight:700;vertical-align:baseline}.field-help{color:var(--muted);font-weight:600}.field-required{color:var(--red)}

/* v30: validation feedback, direct game-image upload and focused CTV management. */
form[data-validate-form].was-validated label input:invalid,
form[data-validate-form].was-validated label select:invalid,
form[data-validate-form].was-validated label textarea:invalid,
label.field-invalid input,label.field-invalid select,label.field-invalid textarea{border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 10%,transparent)!important}
label.field-invalid>span:first-child,label.field-invalid{color:var(--red)}
.field-error-text{display:block;margin-top:6px;color:var(--red)!important;font-size:10px!important;font-weight:700!important;line-height:1.45}
.game-image-current{display:flex;align-items:center;gap:12px;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.game-image-current img{width:84px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.game-image-current span{color:var(--text-soft);font-size:10px;line-height:1.45}
.collaborator-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.collaborator-overview-card{padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 8px 26px rgba(0,0,0,.025)}
.collaborator-overview-card span{display:block;color:var(--text-soft);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.7px}
.collaborator-overview-card strong{display:block;margin-top:7px;color:var(--text);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.collaborator-manager-filter{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,.7fr) auto;gap:12px;align-items:end;padding:16px 18px}
.collaborator-manager-filter label{display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:11px;font-weight:700}
.collaborator-manager-filter .collaborator-filter-actions{grid-column:auto;justify-content:flex-end}
.collaborator-detail-section{margin-bottom:18px}
.collaborator-detail-section>.panel{margin-bottom:0}
.collaborator-detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}
.collaborator-detail-tabs a{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-soft)!important;font-size:11px;font-weight:750}
.collaborator-detail-tabs a:hover{border-color:color-mix(in srgb,var(--gold) 38%,var(--line));color:var(--gold-strong)!important}
:root[data-theme=dark] .collaborator-overview-card,:root[data-theme=dark] .collaborator-detail-tabs a{background:var(--surface-elevated)}
@media(max-width:1000px){.collaborator-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collaborator-manager-filter{grid-template-columns:1fr 1fr}.collaborator-manager-filter .collaborator-filter-actions{grid-column:1/-1}}
@media(max-width:620px){.collaborator-overview-grid,.collaborator-manager-filter{grid-template-columns:1fr}.collaborator-manager-filter .collaborator-filter-actions{grid-column:auto;justify-content:stretch}.collaborator-manager-filter .button{flex:1}.game-image-current{align-items:flex-start}}


/* v31: Community manager */
.community-manager-filter{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(180px,.65fr) auto;gap:12px;align-items:end}
.community-manager-filter>label{display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:11px;font-weight:700}
.community-manager-filter .collaborator-filter-actions{grid-column:auto;align-self:end;justify-content:flex-end}
.community-title-cell{display:flex;align-items:center;gap:11px;min-width:240px}
.community-title-cell>span:last-child{min-width:0;display:block}
.community-title-cell strong{display:block;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px}
.community-title-cell small{display:block;max-width:380px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);font-size:10px}
.community-admin-thumb{width:42px;height:42px;flex:0 0 42px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--gold-strong);font-size:15px;font-weight:850}
.community-admin-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.community-admin-thumb.is-letter{background:color-mix(in srgb,var(--gold) 8%,var(--surface-soft));border-color:color-mix(in srgb,var(--gold) 32%,var(--line))}
.community-link-cell{display:block;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gold-strong)!important;font-size:10.5px;font-weight:650}
.community-actions{min-width:190px}.community-actions .inline-action-form{display:inline-flex;margin:0 0 0 4px}
.community-image-editor{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:16px;align-items:stretch}
.community-upload-card{position:relative;min-height:94px;display:flex!important;flex-direction:row!important;align-items:center;gap:13px!important;padding:16px;border:1px dashed var(--line);border-radius:15px;background:var(--surface-soft);cursor:pointer;transition:.18s ease}
.community-upload-card:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:color-mix(in srgb,var(--gold) 5%,var(--surface-soft))}
.community-upload-card input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.community-upload-card>span{position:relative;pointer-events:none}.community-upload-card .field-error-text{position:absolute;left:16px;bottom:7px}
.community-current-image{display:flex;align-items:center;gap:13px;min-height:94px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.community-current-image img{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}
.community-current-image strong{display:block;margin-bottom:7px;color:var(--text);font-size:11px}.community-current-image .inline-check{font-size:10.5px!important;color:var(--text-soft)!important}
.community-publish-row{display:grid;grid-template-columns:minmax(220px,420px) 1fr;align-items:center}
.community-migration-copy{padding:22px}.community-migration-copy strong{display:block;color:var(--text);font-size:14px}.community-migration-copy p{max-width:720px;margin:7px 0 0;color:var(--text-soft);font-size:12px;line-height:1.65}.community-migration-copy code{padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--gold-strong)}
:root[data-theme=dark] .community-upload-card,:root[data-theme=dark] .community-current-image{background:var(--surface-soft)}
@media(max-width:900px){.community-manager-filter{grid-template-columns:1fr 1fr}.community-manager-filter .collaborator-filter-actions{grid-column:1/-1}.community-image-editor{grid-template-columns:1fr}}
@media(max-width:620px){.community-manager-filter{grid-template-columns:1fr}.community-manager-filter .collaborator-filter-actions{grid-column:auto;justify-content:stretch}.community-manager-filter .button{flex:1}.community-title-cell{min-width:210px}.community-actions{min-width:175px}.community-publish-row{grid-template-columns:1fr}.community-current-image img{width:62px;height:62px;flex-basis:62px}}


/* v32: independently scrollable Admin/CTV sidebar. */
.admin-nav{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent}
.admin-nav::-webkit-scrollbar{width:6px}
.admin-nav::-webkit-scrollbar-track{background:transparent}
.admin-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 30%,transparent);border-radius:999px}
.admin-nav::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 48%,transparent)}
.admin-nav a{scroll-margin-block:14px}
.sidebar-bottom .sidebar-theme{margin-bottom:4px}
.sidebar-bottom .back-site{margin-bottom:6px}
.sidebar-bottom .sidebar-logout-card{margin-top:2px}
@media(max-height:760px) and (min-width:901px){
  .admin-sidebar{padding-top:14px;padding-bottom:10px}
  .sidebar-top{padding-bottom:12px}
  .admin-nav a{min-height:42px;border-radius:12px}
  .nav-section{padding-top:4px;padding-bottom:6px}
  .nav-section .nav-label{padding-top:6px;padding-bottom:4px}
  .sidebar-theme{min-height:38px}
  .back-site{padding-top:8px;padding-bottom:8px}
  .sidebar-logout-card{padding:8px}
}
@media(max-width:900px){
  .admin-sidebar{height:100vh;height:100dvh;padding:16px 12px 12px}
  .sidebar-top{padding-bottom:14px}
  .admin-nav{padding-bottom:12px}
}


/* v34 · loading, transitions, button feedback and Admin/CTV toasts */
html.js::before{content:"";position:fixed;z-index:99999;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),#ffd15b);box-shadow:0 0 12px color-mix(in srgb,var(--gold) 42%,transparent);transform:scaleX(0);transform-origin:left center;opacity:0;pointer-events:none}
html.js.is-page-booting::before{opacity:1;animation:adminProgressBoot 1.15s cubic-bezier(.2,.75,.25,1) forwards}
html.js.is-page-leaving::before{opacity:1;animation:adminProgressLeave .16s ease-out forwards}
html.js.is-page-ready::before{transform:scaleX(1);opacity:0;transition:transform .14s ease,opacity .2s ease .07s}
@keyframes adminProgressBoot{0%{transform:scaleX(.04)}55%{transform:scaleX(.58)}100%{transform:scaleX(.82)}}
@keyframes adminProgressLeave{0%{transform:scaleX(.12)}100%{transform:scaleX(.92)}}
html.js.is-page-ready .admin-content,html.js.is-page-ready :is(.login-card,.auth-card){animation:adminPageEnter .2s cubic-bezier(.2,.7,.25,1) both}
html.js.is-page-leaving body{opacity:.5;transition:opacity .11s ease;pointer-events:none}
@keyframes adminPageEnter{from{opacity:.58;transform:translateY(4px)}to{opacity:1;transform:none}}

.ui-btn-loading{position:relative!important;pointer-events:none!important;cursor:wait!important;opacity:.84!important;transform:none!important}
.ui-btn-loading .ui-btn-spinner{width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:adminUiSpin .62s linear infinite}
@keyframes adminUiSpin{to{transform:rotate(360deg)}}

.admin-toast-stack{position:fixed;z-index:460;top:18px;right:18px;width:min(390px,calc(100vw - 32px));display:grid;gap:9px;pointer-events:none}
.admin-toast{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:12px 11px 12px 12px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 16px 45px rgba(20,24,28,.13);backdrop-filter:blur(14px);pointer-events:auto;animation:adminToastIn .22s cubic-bezier(.2,.75,.25,1) both}
.admin-toast.success{border-color:color-mix(in srgb,var(--green) 32%,var(--line));background:color-mix(in srgb,var(--green-soft) 76%,var(--surface))}
.admin-toast.error{border-color:color-mix(in srgb,var(--red) 30%,var(--line));background:color-mix(in srgb,var(--red-soft) 76%,var(--surface))}
.admin-toast-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:900;background:var(--surface);border:1px solid var(--line)}
.admin-toast.success .admin-toast-icon{color:var(--green)}.admin-toast.error .admin-toast-icon{color:var(--red)}
.admin-toast-copy{min-width:0;color:var(--text);font-size:12px;font-weight:650;line-height:1.45}
.admin-toast-close{width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:18px;line-height:1;display:grid;place-items:center;padding:0}.admin-toast-close:hover{background:color-mix(in srgb,var(--line) 45%,transparent);color:var(--text)}
.admin-toast.is-hiding{animation:adminToastOut .18s ease forwards}
@keyframes adminToastIn{from{opacity:0;transform:translate3d(14px,-4px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes adminToastOut{to{opacity:0;transform:translate3d(10px,-4px,0) scale(.985)}}

@media (max-width:760px){html.js::before{height:2px}.admin-toast-stack{top:10px;right:10px;width:calc(100vw - 20px)}.admin-toast{border-radius:13px}.admin-toast-copy{font-size:11.5px}}
@media (prefers-reduced-motion:reduce){html.js::before,html.js.is-page-booting::before,html.js.is-page-leaving::before,html.js.is-page-ready .admin-content,html.js.is-page-ready :is(.login-card,.auth-card),html.js.is-page-leaving body,.admin-toast,.admin-toast.is-hiding{animation:none!important;transition:none!important;transform:none!important}.ui-btn-loading .ui-btn-spinner{animation-duration:1.2s}}

/* v35 seller profiles & reviews */
.seller-admin-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.seller-admin-editor{scroll-margin-top:90px}.seller-admin-preview{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;background:var(--soft)}.seller-admin-preview>img,.seller-admin-preview>span{width:54px;height:54px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:#e5b51d;font-weight:900;color:#19140a}.seller-admin-preview>div{display:grid;gap:3px}.seller-admin-preview small{color:var(--muted)}.seller-review-filter{display:grid;grid-template-columns:2fr 1fr 1.2fr auto;gap:12px;align-items:end}.seller-review-filter label{display:grid;gap:6px}.seller-review-admin-list{display:grid;gap:12px}.seller-review-admin-card{display:grid;gap:14px}.seller-review-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.seller-review-admin-head>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seller-review-admin-head time{font-size:.76rem;color:var(--muted)}.seller-review-admin-main{display:grid;grid-template-columns:220px 1fr;gap:18px}.seller-review-admin-main>div{display:grid;align-content:start;gap:5px}.seller-review-admin-main small{color:var(--muted)}.seller-review-admin-main p{margin:0;line-height:1.6}.admin-review-stars{color:#d79f00;letter-spacing:.05em}.seller-review-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.seller-review-admin-actions form{margin:0}@media(max-width:900px){.seller-review-filter{grid-template-columns:1fr 1fr}.seller-review-admin-main{grid-template-columns:1fr}.seller-admin-status-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.seller-review-filter{grid-template-columns:1fr}.seller-admin-status-grid{grid-template-columns:1fr}.seller-review-admin-head{align-items:flex-start;flex-direction:column}.seller-review-admin-actions .button{width:100%}.seller-review-admin-actions form{flex:1 1 46%}}

/* v36: seller profile completeness + required public information. */
.seller-admin-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.seller-profile-warning{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--gold) 7%,var(--surface-soft));font-size:12px;line-height:1.55}
.seller-profile-warning strong{color:var(--text)}
.seller-profile-warning span{color:var(--text-soft)}
.seller-admin-completeness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.seller-admin-completeness>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.seller-admin-completeness span{font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seller-admin-completeness strong{font-size:13px;color:var(--text)}
.seller-profile-form-grid>label>.muted{margin-top:1px;line-height:1.45}
.seller-profile-table-status{display:inline-grid;gap:1px;min-width:56px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.seller-profile-table-status b{font-size:11px;color:var(--text)}
.seller-profile-table-status small{font-size:9px;color:var(--muted)}
.seller-profile-table-status.is-complete{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--surface-soft))}
.seller-profile-table-status.is-incomplete{border-color:color-mix(in srgb,var(--gold) 35%,var(--line));background:color-mix(in srgb,var(--gold) 6%,var(--surface-soft))}
:root[data-theme=dark] .seller-profile-warning{background:color-mix(in srgb,var(--gold) 7%,var(--surface-elevated))}
@media(max-width:980px){.seller-admin-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.seller-admin-completeness{grid-template-columns:1fr}.seller-profile-warning{display:grid;gap:3px}}
@media(max-width:620px){.seller-admin-status-grid{grid-template-columns:1fr}.seller-profile-form-grid{grid-template-columns:1fr}.seller-profile-form-grid .editor-span-2{grid-column:auto}}

/* v38 · Seller profile management hub */
.seller-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.seller-manager-tabs>a{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:.16s ease}
.seller-manager-tabs>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}
.seller-manager-tabs>a.active{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));background:color-mix(in srgb,var(--gold) 8%,var(--surface))}
.seller-manager-tabs span{font-weight:800}.seller-manager-tabs b{margin-left:auto;font-size:17px}.seller-manager-tabs em{font-style:normal;font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--gold) 14%,var(--surface-soft));color:var(--text-soft)}
.seller-profile-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.seller-profile-manager-filter{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) auto;gap:12px;align-items:end}.seller-profile-manager-filter label{display:grid;gap:6px}
.seller-profile-admin-list{display:grid;gap:12px}.seller-profile-admin-card{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(300px,1fr);gap:14px 22px;align-items:center}
.seller-profile-admin-identity{display:flex;align-items:center;gap:12px;min-width:0}.seller-profile-admin-avatar{width:58px;height:58px;border-radius:16px;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--gold) 18%,var(--surface-soft));font-weight:900}.seller-profile-admin-avatar img{width:100%;height:100%;object-fit:cover}.seller-profile-admin-identity>div{min-width:0}.seller-profile-admin-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seller-profile-admin-identity small{display:block;margin-top:3px;color:var(--muted)}.seller-profile-admin-identity p{margin:5px 0 0;color:var(--text-soft);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px}
.seller-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid var(--line);font-size:9px;font-weight:800;letter-spacing:.03em}.seller-state-approved{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--surface-soft))}.seller-state-pending{border-color:color-mix(in srgb,var(--gold) 50%,var(--line));background:color-mix(in srgb,var(--gold) 9%,var(--surface-soft))}.seller-state-hidden,.seller-state-draft{color:var(--muted);background:var(--surface-soft)}
.seller-profile-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.seller-profile-admin-metrics>div{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.seller-profile-admin-metrics span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.seller-profile-admin-metrics strong{font-size:12px}
.seller-profile-admin-warning{grid-column:1/-1;padding:9px 11px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--gold) 6%,var(--surface-soft));font-size:11px;line-height:1.5;color:var(--text-soft)}.seller-profile-admin-warning.is-ready{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--green) 5%,var(--surface-soft))}
.seller-profile-admin-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:2px}.seller-profile-admin-actions form{margin:0}
@media(max-width:1100px){.seller-profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.seller-profile-admin-card{grid-template-columns:1fr}.seller-profile-admin-actions,.seller-profile-admin-warning{grid-column:auto}}
@media(max-width:760px){.seller-profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-manager-filter{grid-template-columns:1fr}.seller-profile-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-manager-tabs{grid-template-columns:1fr}.seller-manager-tabs>a{min-height:50px}}
@media(max-width:520px){.seller-profile-stat-grid{grid-template-columns:1fr}.seller-profile-admin-card{padding:14px}.seller-profile-admin-identity{align-items:flex-start}.seller-profile-admin-avatar{width:50px;height:50px;border-radius:14px}.seller-profile-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-admin-actions{display:grid;grid-template-columns:1fr 1fr}.seller-profile-admin-actions .button,.seller-profile-admin-actions form{width:100%}.seller-profile-admin-actions form .button{width:100%}}

/* v39 · standalone seller profile manager */
.seller-manager-page{width:min(1380px,100%);margin:0 auto}
.seller-manager-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft)}
.seller-manager-hero h2{margin:5px 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.35px}.seller-manager-hero p{margin:0;max-width:760px;color:var(--text-soft);font-size:12.5px;line-height:1.6}
.seller-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}
.seller-manager-tabs>a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label count" "label badge";align-items:center;gap:4px 14px;min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft);transition:border-color .16s ease,transform .16s ease,background .16s ease}
.seller-manager-tabs>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 48%,var(--line))}.seller-manager-tabs>a.active{border-color:color-mix(in srgb,var(--gold) 62%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 8%,var(--surface)),var(--surface))}
.seller-manager-tabs>a>span{grid-area:label;display:grid;gap:3px;font-size:14px;font-weight:850}.seller-manager-tabs>a>span small{font-size:9px;letter-spacing:.13em;color:var(--muted)}.seller-manager-tabs>a>b{grid-area:count;justify-self:end;font-size:23px;line-height:1}.seller-manager-tabs>a>em{grid-area:badge;justify-self:end;margin:0;font-style:normal;font-size:9px;font-weight:850;padding:4px 7px;border-radius:999px;background:var(--gold-soft);color:#8a6200;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line))}
.seller-profile-stat-grid,.seller-review-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.seller-review-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.seller-manager-stat{display:grid;gap:4px;min-height:92px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-soft)}.seller-manager-stat span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.seller-manager-stat strong{font-size:24px;line-height:1.1}.seller-manager-stat small{font-size:10px;color:var(--text-soft)}.seller-manager-stat.is-pending{border-color:color-mix(in srgb,var(--gold) 46%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 7%,var(--surface)),var(--surface))}.seller-manager-stat.is-public{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--green) 5%,var(--surface)),var(--surface))}
.seller-manager-filter-panel{margin-bottom:16px;padding:15px}.seller-profile-manager-filter{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,.8fr) auto;gap:12px;align-items:end}.seller-profile-manager-filter label,.seller-review-filter label{display:grid;gap:6px}.seller-profile-manager-filter label>span,.seller-review-filter label>span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.seller-profile-admin-list{display:grid;gap:12px}.seller-profile-admin-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);gap:14px 20px;align-items:center;padding:17px 18px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-soft)}
.seller-profile-admin-primary{display:grid;gap:10px;min-width:0}.seller-profile-admin-identity{display:flex;align-items:center;gap:13px;min-width:0}.seller-profile-admin-avatar{width:58px;height:58px;border-radius:16px;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,var(--gold-soft),var(--surface-muted));border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));font-weight:900;color:var(--text)}.seller-profile-admin-avatar img{width:100%;height:100%;object-fit:cover}.seller-profile-admin-identity>div{min-width:0}.seller-profile-admin-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.seller-profile-admin-name strong{font-size:14px}.seller-profile-admin-identity small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}.seller-profile-admin-identity p{margin:5px 0 0;font-size:11.5px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}
.seller-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid var(--line);font-size:9px;font-weight:850;letter-spacing:.02em}.seller-state-approved{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:var(--green-soft);color:#1b754b}.seller-state-pending{border-color:color-mix(in srgb,var(--gold) 50%,var(--line));background:var(--gold-soft);color:#825b00}.seller-state-hidden,.seller-state-draft{color:var(--muted);background:var(--surface-muted)}
.seller-profile-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.seller-profile-progress i{height:6px;border-radius:999px;background:var(--surface-muted);overflow:hidden;border:1px solid var(--line-soft)}.seller-profile-progress i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-strong))}.seller-profile-progress span{font-size:9px;font-weight:800;color:var(--muted)}
.seller-profile-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.seller-profile-admin-metrics>div{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.seller-profile-admin-metrics span{font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.seller-profile-admin-metrics strong{font-size:12px}
.seller-profile-admin-warning{grid-column:1/-1;padding:9px 11px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:11px;background:var(--gold-soft);font-size:11px;line-height:1.5;color:var(--text-soft)}.seller-profile-admin-warning.is-ready{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:var(--green-soft)}
.seller-profile-admin-actions{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:1px}.seller-profile-admin-actions form{margin:0}
.seller-manager-empty{display:grid;justify-items:start;gap:6px;padding:22px}.seller-manager-empty strong{font-size:14px}.seller-manager-empty span{color:var(--muted);font-size:12px}
.seller-profile-detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.seller-profile-detail-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.seller-admin-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;margin-bottom:12px}.seller-admin-profile-avatar{width:82px;height:82px;border-radius:22px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-soft),var(--surface-muted));border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));font-size:24px;font-weight:900}.seller-admin-profile-avatar img{width:100%;height:100%;object-fit:cover}.seller-admin-profile-copy{min-width:0}.seller-admin-profile-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seller-admin-profile-name h2{margin:0;font-size:21px}.seller-admin-profile-copy>p{margin:6px 0 0;max-width:760px;color:var(--text-soft);font-size:12px;line-height:1.55}.seller-admin-profile-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:var(--muted)}.seller-admin-profile-score{min-width:145px;display:grid;gap:5px;text-align:right}.seller-admin-profile-score span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.seller-admin-profile-score strong{font-size:24px}.seller-admin-profile-score i{height:7px;border-radius:999px;background:var(--surface-muted);overflow:hidden;border:1px solid var(--line-soft)}.seller-admin-profile-score i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-strong))}
.seller-profile-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.seller-profile-detail-metrics>div{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.seller-profile-detail-metrics span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.seller-profile-detail-metrics strong{font-size:16px}
.seller-manager-alert{display:grid;gap:3px;margin-bottom:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:12px;background:var(--gold-soft);font-size:11px}.seller-manager-alert span{color:var(--text-soft)}.seller-manager-alert.is-ready{border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:var(--green-soft)}
.seller-profile-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px;align-items:start}.seller-profile-edit-card{padding:18px}.seller-profile-control-card{position:sticky;top:86px;display:grid;gap:16px;padding:18px}.seller-profile-control-card h3{margin:5px 0 6px;font-size:18px}.seller-profile-control-card p{margin:0;color:var(--text-soft);font-size:11px;line-height:1.55}.seller-profile-control-list{display:grid;gap:7px}.seller-profile-control-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:10px}.seller-profile-control-list span{color:var(--muted)}.seller-profile-control-actions{display:grid;gap:8px}.seller-profile-control-actions form,.seller-profile-control-actions .button{width:100%}.seller-remove-avatar{align-self:end}
.seller-review-stat-grid{margin-bottom:16px}.seller-review-filter{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(150px,.7fr) minmax(190px,.8fr) auto;gap:12px;align-items:end}.seller-review-admin-list{display:grid;gap:12px}.seller-review-admin-card{display:grid;gap:13px;padding:17px 18px;background:var(--surface);box-shadow:var(--shadow-soft)}.seller-review-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.seller-review-admin-head>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.seller-review-admin-head time{font-size:10px;color:var(--muted)}.seller-review-admin-main{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px}.seller-review-admin-main>div{display:grid;align-content:start;gap:4px}.seller-review-admin-main small{color:var(--muted);font-size:10px}.seller-review-admin-main p{margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);line-height:1.6;font-size:12px}.admin-review-stars{color:#d79f00;letter-spacing:.05em}.seller-review-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.seller-review-admin-actions form{margin:0}
:root[data-theme=dark] .seller-manager-tabs>a>em,:root[data-theme=dark] .seller-manager-page :is(input,select,textarea){min-width:0}
@media(max-width:1180px){.seller-profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.seller-profile-admin-card{grid-template-columns:1fr}.seller-profile-admin-warning,.seller-profile-admin-actions{grid-column:auto}.seller-profile-detail-layout{grid-template-columns:1fr}.seller-profile-control-card{position:static}.seller-review-filter{grid-template-columns:1fr 1fr}.seller-review-filter .collaborator-filter-actions{grid-column:1/-1}}
@media(max-width:820px){.seller-manager-hero{align-items:flex-start;flex-direction:column;padding:18px}.seller-manager-hero .button{width:100%}.seller-profile-stat-grid,.seller-review-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-manager-filter{grid-template-columns:1fr}.seller-profile-manager-filter .collaborator-filter-actions{display:grid;grid-template-columns:1fr 1fr}.seller-admin-profile-hero{grid-template-columns:auto 1fr}.seller-admin-profile-score{grid-column:1/-1;width:100%;text-align:left}.seller-profile-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-review-admin-main{grid-template-columns:1fr}.seller-review-filter{grid-template-columns:1fr}.seller-review-filter .collaborator-filter-actions{grid-column:auto}.seller-profile-detail-toolbar{align-items:stretch;flex-direction:column}.seller-profile-detail-toolbar>.button,.seller-profile-detail-toolbar>div .button{flex:1}.seller-profile-detail-toolbar>div{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:560px){.seller-manager-tabs{grid-template-columns:1fr}.seller-manager-tabs>a{min-height:64px}.seller-profile-stat-grid,.seller-review-stat-grid{grid-template-columns:1fr 1fr}.seller-manager-stat{min-height:82px;padding:13px}.seller-manager-stat strong{font-size:21px}.seller-manager-stat small{font-size:9px}.seller-profile-admin-card{padding:14px}.seller-profile-admin-identity{align-items:flex-start}.seller-profile-admin-avatar{width:50px;height:50px;border-radius:14px}.seller-profile-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-admin-actions{display:grid;grid-template-columns:1fr 1fr}.seller-profile-admin-actions .button,.seller-profile-admin-actions form,.seller-profile-admin-actions form .button{width:100%}.seller-admin-profile-hero{grid-template-columns:1fr;padding:16px}.seller-admin-profile-avatar{width:72px;height:72px}.seller-profile-detail-metrics{grid-template-columns:1fr 1fr}.seller-profile-edit-card,.seller-profile-control-card{padding:14px}.seller-profile-form-grid{grid-template-columns:1fr}.seller-profile-form-grid .editor-span-2{grid-column:auto}.seller-profile-detail-toolbar>div{grid-template-columns:1fr}.seller-review-admin-card{padding:14px}.seller-review-admin-head{align-items:flex-start;flex-direction:column}.seller-review-admin-actions{display:grid;grid-template-columns:1fr 1fr}.seller-review-admin-actions form,.seller-review-admin-actions .button,.seller-review-admin-actions form .button{width:100%}}
@media(max-width:390px){.seller-profile-stat-grid,.seller-review-stat-grid{grid-template-columns:1fr}.seller-profile-detail-metrics{grid-template-columns:1fr}.seller-profile-admin-actions,.seller-review-admin-actions{grid-template-columns:1fr}.seller-profile-manager-filter .collaborator-filter-actions{grid-template-columns:1fr}.seller-profile-admin-identity p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* v40 · Admin seller profile parity + seller metrics cleanup */
.seller-manager-role{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--text-soft);font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.seller-manager-role.is-admin{border-color:color-mix(in srgb,var(--gold) 50%,var(--line));background:var(--gold-soft);color:#805900}
.seller-profile-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.seller-profile-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
:root[data-theme=dark] .seller-manager-role.is-admin{color:#f1cf70}
@media(max-width:820px){.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:1fr}}

/* v41 · seller insurance + persistent numbering */
.seller-admin-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.seller-profile-admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.seller-profile-detail-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.seller-profile-admin-metrics>div:first-child,.seller-profile-detail-metrics>div:nth-child(2){border-color:color-mix(in srgb,var(--gold) 38%,var(--line));background:var(--gold-soft)}
.seller-profile-admin-metrics>div:first-child strong,.seller-profile-detail-metrics>div:nth-child(2) strong{color:#825b00}
:root[data-theme=dark] .seller-profile-admin-metrics>div:first-child strong,:root[data-theme=dark] .seller-profile-detail-metrics>div:nth-child(2) strong{color:#f1cf70}
@media(max-width:1180px){.seller-profile-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.seller-admin-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.seller-admin-status-grid,.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:1fr}}

/* v42 · login route back-to-home control */
.auth-home-link{
  position:fixed;
  z-index:21;
  left:22px;
  top:22px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px 0 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface) 90%,transparent);
  color:var(--text)!important;
  font-size:12px;
  font-weight:650;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(12px);
  transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.auth-home-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}
.auth-home-link:hover,.auth-home-link:focus-visible{border-color:color-mix(in srgb,var(--gold) 48%,var(--line));color:var(--gold)!important;transform:translateY(-1px)}
.auth-home-link:hover svg,.auth-home-link:focus-visible svg{color:var(--gold)}
:root[data-theme=dark] .auth-home-link{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--line);color:var(--text)!important}
@media(max-width:680px){
  .auth-home-link{left:12px;top:12px;min-height:40px;padding:0 10px;font-size:11.5px}
}
@media(max-width:380px){
  .auth-home-link span{display:none}
  .auth-home-link{width:40px;justify-content:center;padding:0}
}
@media(prefers-reduced-motion:reduce){.auth-home-link{transition:none!important;transform:none!important}}


/* v43 · stable login home button + text-only sidebar wordmark */
.admin-brand--wordmark{gap:0;max-width:100%;padding-left:2px}
.admin-brand--wordmark .brand-copy{max-width:100%}
.admin-brand--wordmark .brand-copy strong{font-size:19px;overflow:hidden;text-overflow:ellipsis}
.auth-home-link .auth-home-label{display:inline!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;white-space:nowrap}
@media(max-width:380px){
  .auth-home-link{width:auto;min-width:0;justify-content:flex-start;padding:0 10px}
  .auth-home-link .auth-home-label{display:inline!important}
}


/* v44 · stable logout control on Admin/CTV sidebar */
.sidebar-bottom .sidebar-logout-card{margin:2px 0 0;border-top:1px solid #f0cfcf;padding-top:9px}
.sidebar-logout-card .avatar{width:36px;height:36px}
@media(max-width:860px){
  .sidebar-bottom{padding-bottom:max(2px,env(safe-area-inset-bottom))}
  .sidebar-logout-card{min-height:54px;grid-template-columns:34px minmax(0,1fr) 18px;padding:8px 9px}
  .sidebar-logout-card .avatar{width:34px;height:34px;border-radius:10px}
  .sidebar-logout-card .logout-card-copy strong{font-size:11.5px}
  .sidebar-logout-card .logout-card-copy small{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-height:700px){
  .sidebar-logout-card{min-height:48px;grid-template-columns:30px minmax(0,1fr) 18px;padding:6px 8px}
  .sidebar-logout-card .avatar{width:30px;height:30px}
  .sidebar-logout-card .logout-card-copy small{display:none}
}

/* v48 · GDV insurance metadata */
.seller-admin-status-grid .stat small,.seller-profile-detail-metrics>div small,.seller-profile-admin-metrics>div small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}


/* v56 · GDV read-only profile + simplified manager */
.seller-manager-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.seller-profile-readonly-card{padding:18px}
.seller-profile-readonly-stats{margin-bottom:12px}
.seller-profile-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seller-profile-readonly-grid>div{display:grid;gap:5px;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.seller-profile-readonly-grid>div>span{font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seller-profile-readonly-grid>div>strong{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.seller-profile-readonly-grid>div>small{font-size:9.5px;line-height:1.4;color:var(--muted)}
.seller-profile-readonly-wide{grid-column:1/-1}
@media(max-width:920px){.seller-manager-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.seller-manager-overview-grid,.seller-profile-readonly-grid{grid-template-columns:1fr}.seller-profile-readonly-wide{grid-column:auto}.seller-profile-readonly-card{padding:14px}}

/* v57 · CTV partial GDV profile editor */
.seller-profile-ctv-editor{margin-bottom:16px}
.seller-profile-ctv-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.seller-profile-ctv-form-grid>label:first-child{min-width:0}
@media(max-width:980px){.seller-profile-ctv-form-grid{grid-template-columns:1fr 1fr}.seller-profile-ctv-form-grid>label:first-child{grid-column:1/-1}}
@media(max-width:620px){.seller-profile-ctv-form-grid{grid-template-columns:1fr}.seller-profile-ctv-form-grid>label:first-child{grid-column:auto}}


/* v60 · configurable GDV rank thresholds */
.seller-rank-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.seller-rank-stat{display:grid;align-content:start;gap:7px;min-height:118px;padding:16px}
.seller-rank-stat>span:not(.seller-rank-pill){font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.seller-rank-stat>strong{font:800 24px/1.15 'Be Vietnam Pro',Arial,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.seller-rank-stat>small{font-size:9.5px;color:var(--muted)}
.seller-rank-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:24px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap}
.seller-rank-pill.rank-unranked{color:#626872;background:#f6f7f8;border-color:#d7dbe0}
.seller-rank-pill.rank-silver{color:#34373d;background:#f5f6f8;border-color:#c9cdd4}
.seller-rank-pill.rank-gold{color:#8c5300;background:#fff4c9;border-color:#f0c341}
.seller-rank-pill.rank-diamond{color:#394b9f;background:#eef0ff;border-color:#bcc5ff}
.seller-rank-settings-panel{padding:0;overflow:hidden}
.seller-rank-settings-panel>.panel-head{padding:18px 20px;border-bottom:1px solid var(--line)}
.seller-rank-form{display:grid;gap:0;padding:0 20px 20px}
.seller-rank-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.seller-rank-row>div:first-child{display:grid;justify-items:start;gap:7px;min-width:0}
.seller-rank-row>div:first-child>strong{font-size:13px}
.seller-rank-row>div:first-child>small{max-width:620px;color:var(--muted);font-size:10px;line-height:1.55}
.seller-rank-row label{display:grid;gap:7px;margin:0}
.seller-rank-row label>span,.seller-rank-derived>span{font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.seller-rank-row label input{width:100%;min-height:44px}
.seller-rank-row label>small{font-size:9.5px;color:var(--muted)}
.seller-rank-derived{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.seller-rank-derived>strong{font-size:13px}
.seller-rank-summary{display:grid;grid-template-columns:auto auto 1fr;gap:22px;align-items:center;margin:0 0 16px;padding:14px 16px}
.seller-rank-summary>div{display:grid;gap:3px;min-width:130px}
.seller-rank-summary>div span{font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seller-rank-summary>div strong{font:800 16px/1.2 'Be Vietnam Pro',Arial,sans-serif}
.seller-rank-summary>p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.5;text-align:right}
.seller-rank-rule-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.seller-rank-rule-preview>div{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.seller-rank-rule-preview span{font-size:9px;font-weight:850;text-transform:uppercase;color:var(--muted)}
.seller-rank-rule-preview strong{font-size:11px;line-height:1.45}
.seller-rank-form>.form-actions{margin-top:16px;padding-top:0;border-top:0}
.seller-rank-note{margin-top:14px;padding:15px 17px}
.seller-rank-note strong{display:block;margin-bottom:5px;font-size:12px}
.seller-rank-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
:root[data-theme=dark] .seller-rank-pill.rank-unranked{color:#c6cad0;background:#24272c;border-color:#494e56}
:root[data-theme=dark] .seller-rank-pill.rank-silver{color:#e5e7eb;background:#25282e;border-color:#555b65}
:root[data-theme=dark] .seller-rank-pill.rank-gold{color:#ffd86a;background:#3a300e;border-color:#7c641b}
:root[data-theme=dark] .seller-rank-pill.rank-diamond{color:#d4d8ff;background:#25294a;border-color:#535c91}
@media(max-width:1100px){.seller-rank-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.seller-rank-summary{grid-template-columns:1fr 1fr}.seller-rank-summary>p{grid-column:1/-1;text-align:left}}
@media(max-width:760px){.seller-rank-row{grid-template-columns:1fr;gap:12px}.seller-rank-rule-preview{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.seller-rank-overview{grid-template-columns:1fr}.seller-rank-summary{grid-template-columns:1fr;gap:10px}.seller-rank-summary>p{grid-column:auto}.seller-rank-rule-preview{grid-template-columns:1fr}.seller-rank-settings-panel>.panel-head{padding:15px}.seller-rank-form{padding:0 15px 15px}.seller-rank-row{padding:15px 0}.seller-rank-stat{min-height:0}}

/* v75 · rank-based listing limits + polished seller join date */
.seller-rank-row{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
.seller-rank-controls{display:grid;gap:12px;min-width:0}
.seller-rank-limit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seller-rank-limit-grid label{min-width:0;padding:11px 12px;border:1px solid var(--line-soft);border-radius:13px;background:var(--surface-soft)}
input.seller-date-input[type="date"]{width:100%;min-height:46px;padding:0 13px;border:1px solid #d8d9d5;border-radius:12px;background:var(--surface);color:var(--text);outline:none;box-shadow:none;font-weight:600;color-scheme:light;transition:border-color .16s,box-shadow .16s,background .16s}
input.seller-date-input[type="date"]::-webkit-calendar-picker-indicator{width:18px;height:18px;padding:7px;cursor:pointer;opacity:.62;border-radius:8px}
input.seller-date-input[type="date"]:hover::-webkit-calendar-picker-indicator{background:var(--surface-muted);opacity:.9}
:root[data-theme=dark] input.seller-date-input[type="date"]{background:var(--surface-soft);border-color:var(--line);color:var(--text);color-scheme:dark}
:root[data-theme=dark] .seller-rank-limit-grid label{background:var(--surface-soft);border-color:var(--line)}
@media(max-width:760px){.seller-rank-row{grid-template-columns:1fr}.seller-rank-limit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.seller-rank-limit-grid{grid-template-columns:1fr}}

/* v80 · Admin/CTV mobile polish */
@media(max-width:680px){
  html,body{max-width:100%;overflow-x:clip}
  .admin-top{min-height:92px;padding:15px 12px;align-items:center}
  .top-left{gap:9px;min-width:0}
  .admin-top h1{margin-top:7px;font-size:22px;line-height:1.12;overflow-wrap:anywhere}
  .menu-button{width:38px;height:38px;flex:0 0 38px}
  .top-actions{gap:6px;flex-shrink:0}
  .top-site{width:38px;min-width:38px;height:38px;border-radius:11px}
  .admin-content{padding:16px 10px 32px}
  .toolbar{gap:9px;margin-bottom:14px}
  .toolbar .button{min-height:42px}
  .panel,.account-editor{margin-bottom:14px;border-radius:15px}
  .panel-head{min-height:54px;padding:12px 13px}
  .panel-head h2{font-size:14px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{min-width:0;padding:14px;border-radius:14px}
  .stat strong{font-size:22px;overflow-wrap:anywhere}
  .stat span{font-size:9.5px}
  .form-panel form,.editor-section{padding:14px}
  .editor-intro{padding:16px 14px 14px}
  .editor-intro h2{font-size:20px}
  .section-heading{gap:9px;margin-bottom:14px}
  .section-heading p{font-size:10px}
  .form-grid,.editor-grid-3,.upload-cards,.gallery-groups{gap:12px}
  label{min-width:0}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px;max-width:100%}
  input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),select{min-height:44px}
  textarea{min-height:100px}
  input[type="file"]{max-width:100%;font-size:13px}
  input[type="file"]::file-selector-button{padding:8px 9px;font-size:11px}
  .form-actions,.editor-actions{gap:7px;padding:12px 14px}
  .form-actions .button,.editor-actions .button{min-height:42px}
  .table-scroll{margin-inline:0;max-width:100%;border-radius:0;overscroll-behavior-x:contain}
  table{min-width:620px}
  th,td{padding:11px 12px;font-size:11px}
  .actions a,.actions button{min-height:34px}
  .seller-profile-stat-grid,.seller-review-stat-grid,.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .seller-manager-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .seller-manager-stat{min-height:78px;padding:12px}
  .seller-manager-tabs>a{min-height:52px}
  .seller-review-admin-actions,.seller-profile-admin-actions{gap:7px}
  .seller-rank-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seller-rank-settings-panel>.panel-head{padding:13px}
  .seller-rank-form{padding:0 13px 13px}
  .seller-rank-row{padding:13px 0}
  .seller-rank-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seller-rank-limit-grid label{padding:9px}
  .auth-card,.login-card{border-radius:18px;padding:20px}
  .auth-home-link{left:10px;top:10px}
}

@media(max-width:420px){
  .admin-content{padding-inline:8px}
  .admin-top{padding-inline:9px}
  .admin-top h1{font-size:20px}
  .stat-grid{gap:7px}
  .stat{padding:12px}.stat strong{font-size:20px}
  .panel,.account-editor{border-radius:13px}
  .seller-profile-stat-grid,.seller-review-stat-grid,.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .seller-manager-overview-grid,.seller-rank-overview{grid-template-columns:1fr}
  .seller-rank-limit-grid{grid-template-columns:1fr}
  .seller-profile-admin-actions,.seller-review-admin-actions{grid-template-columns:1fr 1fr!important}
}

@media(max-width:350px){
  .stat-grid,.seller-profile-stat-grid,.seller-review-stat-grid,.seller-profile-admin-metrics,.seller-profile-detail-metrics{grid-template-columns:1fr!important}
  .seller-profile-admin-actions,.seller-review-admin-actions{grid-template-columns:1fr!important}
}

/* v163 · Responsive Admin/CTV motion without artificial navigation delay. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:admin163PageOut .13s ease both}
::view-transition-new(root){animation:admin163PageIn .18s cubic-bezier(.2,.75,.25,1) both}
@keyframes admin163PageOut{to{opacity:.88}}
@keyframes admin163PageIn{from{opacity:.8;transform:translateY(3px)}to{opacity:1;transform:none}}
html.js.is-page-booting::before{opacity:0;animation:admin163Progress .9s cubic-bezier(.2,.75,.25,1) .18s both}
html.js.is-page-ready .admin-content,html.js.is-page-ready :is(.login-card,.auth-card){animation:none}
html.js.is-page-leaving body{opacity:1;transition:none;pointer-events:none}
@keyframes admin163Progress{0%{opacity:0;transform:scaleX(.04)}2%{opacity:1}100%{opacity:1;transform:scaleX(.82)}}

.logout-modal:not([hidden]) .logout-backdrop,.twofa-modal:not([hidden]) .twofa-backdrop,.security-warning-modal .security-warning-backdrop{animation:admin163ModalFadeIn .18s ease both}
.logout-modal:not([hidden]) .logout-dialog,.twofa-modal:not([hidden]) .twofa-dialog,.security-warning-modal .security-warning-dialog{animation:admin163ModalCardIn .22s cubic-bezier(.2,.78,.25,1) both}
.logout-modal.is-closing .logout-backdrop,.twofa-modal.is-closing .twofa-backdrop{animation:admin163ModalFadeOut .16s ease both}
.logout-modal.is-closing .logout-dialog,.twofa-modal.is-closing .twofa-dialog{animation:admin163ModalCardOut .16s ease both}
@keyframes admin163ModalFadeIn{from{opacity:0}to{opacity:1}}
@keyframes admin163ModalFadeOut{to{opacity:0}}
@keyframes admin163ModalCardIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
@keyframes admin163ModalCardOut{to{opacity:0;transform:translateY(5px) scale(.99)}}

html.is-theme-changing body,html.is-theme-changing :is(.admin-sidebar,.admin-top,.admin-main,.admin-content,.panel,.account-editor,.stat,.login-card,.auth-card,.logout-dialog,.twofa-dialog){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root),html.js.is-page-booting::before,.logout-modal :is(.logout-backdrop,.logout-dialog),.twofa-modal :is(.twofa-backdrop,.twofa-dialog),.security-warning-modal :is(.security-warning-backdrop,.security-warning-dialog){animation:none!important}
  html.is-theme-changing body,html.is-theme-changing :is(.admin-sidebar,.admin-top,.admin-main,.admin-content,.panel,.account-editor,.stat,.login-card,.auth-card,.logout-dialog,.twofa-dialog){transition:none!important}
}
