:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0b1220;background-color:#f6f8fc;--bg: #f6f8fc;--bg2: #eef3ff;--card: #ffffff;--text: #0b1220;--muted: #64748b;--border: rgba(15, 23, 42, .1);--shadow: 0 18px 40px rgba(15, 23, 42, .08);--shadow-sm: 0 8px 22px rgba(15, 23, 42, .08);--primary: #2563eb;--primary-2: #1d4ed8;--ring: rgba(37, 99, 235, .2);--danger: #b91c1c;--danger-bg: #fff1f2;--danger-border: rgba(244, 63, 94, .25);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(1200px 600px at 20% -10%,var(--bg2),transparent 55%),radial-gradient(900px 500px at 110% 10%,rgba(37,99,235,.12),transparent 55%),linear-gradient(180deg,var(--bg),#f8fafc 80%);color:var(--text)}html,#root{overflow-x:hidden}button{border-radius:8px;border:1px solid var(--border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--card);cursor:pointer;transition:transform .05s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}button:hover{border-color:#2563eb59;box-shadow:0 6px 14px #2563eb1a}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}*{box-sizing:border-box}.appShell{min-height:100vh;display:grid;grid-template-rows:56px 1fr}.appBody{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 56px)}.appBody>*{min-width:0}.appBody>:nth-child(2){overflow-x:hidden}.sidebar{padding:14px 12px;border-right:1px solid var(--border);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navGroupTitle{font-size:12px;color:#0f172a8c;font-weight:700;padding:10px 10px 6px;letter-spacing:.6px}.navItem{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:#0f172acc;text-decoration:none;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.navIcon{width:16px;height:16px;opacity:.9}.navItem:hover{background:#2563eb0f;border-color:#2563eb1f}.navItemActive{background:#2563eb1a;border-color:#2563eb38;color:#0f172aeb}.navGroupButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:12px;color:#0f172acc;background:transparent;border:1px solid transparent;cursor:pointer}.navGroupButton:hover{background:#2563eb0f;border-color:#2563eb1f}.navGroupLeft{display:flex;align-items:center;gap:10px}.navCaret{transition:transform .15s ease;opacity:.8}.navCaretOpen{transform:rotate(180deg)}.navSub{padding-left:40px;display:grid;gap:4px;margin:6px 0 10px}.navSubItem{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;border-radius:12px;color:#0f172ab8;text-decoration:none;border:1px solid transparent}.navSubItem:hover{background:#2563eb0d;border-color:#2563eb1a}.navSubItemActive{background:#2563eb1a;border-color:#2563eb33;color:#0f172ae6}.contentWrap{padding:18px;overflow-x:hidden}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);letter-spacing:.2px}.topbarRight{display:flex;align-items:center;gap:12px}.userButton{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:14px;border:1px solid var(--border);background:#ffffffbf;cursor:pointer}.avatar{width:32px;height:32px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#c7d2fe,#2563eb8c);display:grid;place-items:center;color:#0b1220;font-weight:900;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.userMeta{display:grid;text-align:left;line-height:1.2}.userName{font-size:13px;font-weight:800;color:#0f172aeb}.userRole{font-size:12px;color:#0f172a8c}.menu{position:absolute;top:54px;right:16px;min-width:180px;background:#ffffffeb;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);padding:6px}.menuItem{width:100%;text-align:left;padding:10px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer}.menuItem:hover{background:#2563eb0f;border-color:#2563eb1a}.brandDot{width:10px;height:10px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#93c5fd,var(--primary));box-shadow:0 6px 14px #2563eb40}.container{width:min(1100px,calc(100vw - 32px));margin:24px auto}.card{background:#ffffffdb;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm)}.muted{color:var(--muted)}.btnPrimary{background:linear-gradient(180deg,#2f6cff,var(--primary));color:#fff;border:1px solid rgba(37,99,235,.55);box-shadow:0 12px 22px #2563eb33}.btnPrimary:hover{border-color:#1d4ed8bf}.btnGhost{background:transparent;border:1px solid var(--border)}.form{display:grid;gap:12px}.field{display:grid;gap:6px;text-align:left}.label{font-size:14px;color:#0f172ab3}.input{width:100%;border:1px solid var(--border);background:#ffffffeb;border-radius:12px;padding:11px 12px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:#2563eb8c;box-shadow:0 0 0 4px var(--ring)}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.row3,.row4{display:grid;gap:10px;align-items:start}.row3{grid-template-columns:repeat(3,minmax(0,1fr))}.row4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:980px){.row4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.row3,.row4{grid-template-columns:1fr}}.chk{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#0f172ac7}.alertError{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);padding:10px 12px;border-radius:12px}.authPage{min-height:calc(100vh - 56px);display:grid;place-items:center;padding:28px 16px}.authCard{width:min(520px,100%);background:#ffffffe0;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.authHeader{padding:18px 18px 14px;border-bottom:1px solid rgba(15,23,42,.06);background:radial-gradient(600px 160px at 15% 0%,rgba(37,99,235,.18),transparent 55%),linear-gradient(180deg,#fffffff2,#fffc);text-align:center}.authTitle{display:flex;align-items:center;gap:10px;justify-content:center;font-size:22px;font-weight:800;margin:0}.authBody{padding:22px}.btnFull{width:100%;padding:.8em 1.2em;border-radius:12px;font-size:15px}.checkboxRow{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.checkboxRow input{width:16px;height:16px}.switchRow{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.switch{position:relative;width:44px;height:24px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a1a;cursor:pointer;flex:0 0 auto}.switchOn{background:#fbbf24f2;border-color:#f59e0bc7}.switchThumb{position:absolute;top:50%;left:2px;width:20px;height:20px;border-radius:999px;transform:translateY(-50%);background:#fffffff5;box-shadow:0 8px 18px #0f172a24;transition:left .15s ease}.switchOn .switchThumb{left:22px}.switch:disabled,.switchDisabled{opacity:.55;cursor:not-allowed}.pageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pageTitleRow{display:flex;align-items:center;gap:10px}.backArrowBtn{width:34px;height:34px;padding:0;border-radius:12px;display:grid;place-items:center;border:1px solid var(--border);background:#ffffffeb}.backArrowBtn:hover{background:#2563eb0f}.pageTitle{font-weight:900;font-size:18px}.pageHeaderRight{display:flex;gap:10px;align-items:center}.toolbar{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;overflow-x:visible;min-width:0}.inputSm{padding:10px;border-radius:12px;font-size:14px;width:150px}.toolbar .keywordInput{width:420px}.btnSm{padding:.55em 1em;border-radius:12px;font-size:14px}.cfgTabs{display:flex;gap:10px;border-bottom:1px solid var(--border);padding-bottom:10px}.cfgTab{border:1px solid transparent;background:transparent;padding:10px 12px;border-radius:12px;font-weight:900;color:#0f172a99;cursor:pointer}.cfgTab:hover{background:#2563eb0f;border-color:#2563eb1a;color:#0f172ac7}.cfgTabActive{background:#2563eb1a;border-color:#2563eb2e;color:#0f172aeb;box-shadow:0 10px 22px #2563eb1a}.h5PlatformCfgPage .pageTitleRow{padding:6px 0}.h5PlatformCfgPage .pageTitle{font-size:20px;line-height:1.2}.h5PlatformCfgPage .cfgTabs{padding-bottom:14px;margin-top:6px}.h5PlatformCfgPage .cfgTab{padding:12px 16px;border-radius:14px;font-weight:950}.h5PlatformToolbar{align-items:center}.h5PlatformCfgPage .tbl{min-width:980px}.h5PlatformCfgPage .platTitleCol{width:300px;min-width:300px;max-width:300px}.h5PlatformCfgPage .platTitleText{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h4Title,.h3Title{margin:0;font-weight:1000;font-size:18px}.h5CfgPage .label{font-size:15px;font-weight:950;color:#0f172ad1}.logoRow{display:flex;gap:14px;align-items:flex-start}.uploadCard{width:160px;height:160px;border-radius:14px;border:2px dashed rgba(15,23,42,.18);background:#ffffffb8;display:grid;place-items:center;cursor:pointer;overflow:hidden}.uploadCard:hover{border-color:#2563eb47;box-shadow:0 14px 28px #2563eb1a}.uploadCardHas{border-style:solid;border-color:#0f172a1a}.uploadImg{width:100%;height:100%;object-fit:cover;display:block}.uploadEmpty{display:grid;gap:8px;justify-items:center}.uploadPlus{width:44px;height:44px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#ffffffdb;display:grid;place-items:center;font-weight:900;font-size:22px;color:#0f172ab3}.bannerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}.bannerCard{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#ffffffc7;box-shadow:0 14px 30px #0206170a}.bannerImgWrap{display:block;width:100%;height:132px;position:relative;cursor:pointer;background:#0206170a}.bannerImgWrapBusy{opacity:.75;pointer-events:none}.bannerImg{width:100%;height:100%;object-fit:cover;display:block}.bannerImgEmpty{width:100%;height:100%;display:grid;place-items:center;color:#0f172a8c;font-weight:900}.bannerImgHint{position:absolute;right:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:#ffffffdb;border:1px solid rgba(15,23,42,.1);color:#0f172ab8;font-size:12px;font-weight:900}.bannerMeta{padding:12px;display:grid;gap:10px}.bannerLinkInput{border-radius:12px}.bannerMetaRow{display:flex;align-items:center;gap:10px}.bannerSortInput{width:110px}.bannerDelBtn{margin-left:auto}.bannerUploadCard{border-radius:14px;border:2px dashed rgba(15,23,42,.18);background:#ffffffb8;height:206px;display:grid;place-items:center;cursor:pointer;overflow:hidden}.bannerUploadCard:hover{border-color:#2563eb47;box-shadow:0 14px 28px #2563eb1a}.tableWrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:14px;background:#ffffffbf;scrollbar-gutter:stable both-edges;max-width:100%}.tbl{width:100%;border-collapse:separate;border-spacing:0;min-width:1900px}.tbl th,.tbl td{padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left;font-size:13px;white-space:nowrap}.tbl th.opCol,.tbl td.opCol,.tbl th.opColSm,.tbl td.opColSm{position:sticky;right:0;width:1px;min-width:0}.tbl thead th.opCol,.tbl thead th.opColSm{z-index:6;background:#f8fafc;box-shadow:-14px 0 22px #0f172a0f}.tbl tbody td.opCol,.tbl tbody td.opColSm{z-index:5;background:#fff;border-left:1px solid rgba(15,23,42,.08);box-shadow:-14px 0 22px #0f172a0a}.opActions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}.opSwitch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:800;font-size:12px}.opSwitch input{position:absolute;opacity:0;pointer-events:none}.opTrack{width:42px;height:24px;border-radius:999px;background:#ef4444d9;border:1px solid rgba(239,68,68,.55);padding:2px;display:flex;align-items:center;transition:background .15s ease,border-color .15s ease}.opThumb{width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 8px 16px #0f172a1f;transform:translate(0);transition:transform .15s ease}.opSwitchOn .opTrack{background:#fbbf24f2;border-color:#f59e0b8c}.opSwitchOn .opThumb{transform:translate(18px)}.opSwitchText{color:#0f172acc}.opLink{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff;cursor:pointer;font-size:12px;font-weight:800}.opIcon{width:14px;height:14px}.opLink:disabled{opacity:.55;cursor:not-allowed}.opEdit{color:#1d4ed8;background:#2563eb14;border-color:#2563eb38}.opAsset{color:#047857;background:#10b9811a;border-color:#10b98140}.opDelete{color:#b91c1c;background:#f871711a;border-color:#f8717147}.opApprove{color:#047857;background:#10b9811a;border-color:#10b98140}.opReject{color:#b45309;background:#fbbf241f;border-color:#f59e0b47}.opEnable{color:#047857;background:#10b9811a;border-color:#10b98140}.opDisable{color:#92400e;background:#fbbf241f;border-color:#f59e0b47}.opClaim{color:#6d28d9;background:#a78bfa24;border-color:#a78bfa4d}.tbl tbody tr:hover td.opCol,.tbl tbody tr:hover td.opColSm{background:#fff}.tbl thead th{position:sticky;top:0;z-index:1;background:#f8fafceb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;letter-spacing:.3px;color:#0f172ab3;font-weight:800}.tbl tbody tr:hover td{background:#2563eb0a}.tblEmpty{padding:28px 10px;text-align:center!important;color:#0f172a8c}.mono{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:700}.badgeOk{background:#10b9811a;border-color:#10b98140;color:#059669f2}.badgeOff{background:#f871711a;border-color:#f8717140;color:#b91c1cf2}.tblAvatar{width:28px;height:28px;border-radius:999px;overflow:hidden;background:radial-gradient(circle at 30% 30%,#c7d2fe,#2563eb8c);display:grid;place-items:center;border:1px solid rgba(15,23,42,.1)}.tblAvatar img{width:100%;height:100%;object-fit:cover}.tblAvatarText{font-weight:900;font-size:12px;color:#0b1220}.pager{margin-top:14px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.modalOverlay{position:fixed;inset:0;background:#02061759;display:grid;place-items:center;padding:18px;z-index:50}.modalCard{width:min(560px,100%);background:#ffffffeb;border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;max-height:calc(100vh - 36px);display:flex;flex-direction:column}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid rgba(15,23,42,.08);background:radial-gradient(600px 160px at 15% 0%,rgba(37,99,235,.18),transparent 55%),linear-gradient(180deg,#fffffff2,#ffffffd9)}.modalTitle{font-weight:900}.modalBody{padding:16px;overflow:auto;flex:1}.modalTabs{display:flex;gap:8px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:10px;margin-bottom:12px;position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.modalTab{border:1px solid transparent;background:transparent;padding:9px 12px;border-radius:12px;font-weight:900;color:#0f172a99;cursor:pointer;-webkit-user-select:none;user-select:none}.modalTab:hover{background:#2563eb0f;border-color:#2563eb1f;color:#0f172acc}.modalTabActive{background:#2563eb1a;border-color:#2563eb33;color:#0f172aeb}.modalFooterBar{position:sticky;bottom:0;padding-top:12px;margin-top:12px;background:#ffffffeb;border-top:1px solid rgba(15,23,42,.08);z-index:2}.richEditor{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#ffffffeb}.richToolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffffeb}.richBody{min-height:220px;padding:12px;outline:none;line-height:1.6}.richBody img{max-width:100%;height:auto;border-radius:12px;border:1px solid rgba(148,163,184,.35)}
