/* Option 1 shell. Existing admin forms, IDs, API calls and save handlers remain in platform-admin-script.js. */
:root{color-scheme:light;--bg:#f6f9fe;--panel:#fff;--line:#e3ebf6;--text:#192a43;--soft:#6d809b;--blue:#146be9;--cyan:#146be9;--green:#087e58;--red:#d33d4b}
body{background:var(--bg);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}
button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #3789ef;outline-offset:2px}
.login{background:#fff;box-shadow:0 18px 55px #173d6514;border-radius:14px}
.login h1{color:#0b62d8}.login p{line-height:1.6}
.login label{margin-top:12px}
.login input{height:44px}
.login .btn{width:100%;margin-top:12px}
#app.wrap{display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"header header" "domains domains" "subnav subnav" "main sidebar";grid-template-rows:62px 74px 46px minmax(0,1fr);gap:0;align-items:start;max-width:1600px;margin:0 auto}
.shell-header{grid-area:header;background:#fff;border-bottom:1px solid #e7eef8;display:flex;align-items:center;gap:28px;padding:0 24px;position:sticky;top:0;z-index:70}
.shell-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.shell-brand strong{font-size:23px;letter-spacing:-.5px;color:#0b61d9}.shell-brand span{color:#60728c;font-size:14px}
.shell-search{position:relative;width:min(500px,42vw);height:39px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #dfe8f5;border-radius:9px;background:#f6f9fd;color:#6781a4}.shell-search>span{font-size:22px;line-height:1}
.shell-search input{border:0;background:transparent;color:#192a43;font-size:13px;min-height:0;height:100%;padding:0;outline:0}
.shell-search-results{position:absolute;top:43px;left:0;right:0;padding:6px;background:#fff;border:1px solid #dce7f5;border-radius:9px;box-shadow:0 18px 44px #12386429;max-height:340px;overflow:auto;z-index:100}
.shell-search-results button{height:37px;width:100%;background:transparent;border:0;border-radius:6px;text-align:left;padding:0 12px;color:#1d385b;display:flex;justify-content:space-between;align-items:center;font-weight:600}.shell-search-results button:hover{background:#edf5ff}.shell-search-results small{font-weight:400;color:#7890aa}
.shell-search-results .shell-customer-search-action{background:#eef5ff;color:#095fcf}.shell-search-results .shell-customer-search-action small{color:#4778b7}.shell-search-section-title{padding:10px 12px 5px;margin-top:5px;border-top:1px solid #e8eef7;color:#7a8ba4;font-size:11px;font-weight:700}
.shell-header-note{margin-left:auto;color:#71819b;font-size:12px}.shell-menu{display:none}
.shell-domains{grid-area:domains;display:flex;align-items:stretch;gap:3px;padding:0 20px;background:#fff;border-bottom:1px solid #e7eef8;position:sticky;top:62px;z-index:60;min-width:0;overflow-x:auto;scrollbar-width:thin}
.shell-domains button{flex:1 0 auto;max-width:194px;min-width:138px;border:0;border-bottom:3px solid transparent;background:#fff;color:#29496f;text-align:left;padding:0 14px;display:flex;align-items:center;gap:10px}.shell-domains button:hover{background:#f6f9ff}.shell-domains button.active{color:#0864dd;background:#f4f8ff;border-bottom-color:#1c71eb}
.shell-domain-icon{font-size:22px;line-height:1;color:#116de8}.shell-domain-label{display:grid;gap:3px}.shell-domain-label b{font-size:13px}.shell-domain-label small{color:#7d8da6;font-size:11px}
.shell-subnav{grid-area:subnav;min-width:0;display:flex;align-items:center;gap:7px;padding:0 22px;height:46px;background:#fff;border-bottom:1px solid #e4ecf7;overflow-x:auto;scrollbar-width:thin}.shell-subnav strong{font-size:12px;color:#6580a0;white-space:nowrap;padding-right:12px;margin-right:3px;border-right:1px solid #dce6f3}.shell-subnav button{height:30px;flex:none;padding:0 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#476480;font-size:12px;font-weight:700;white-space:nowrap}.shell-subnav button:hover{background:#f1f7ff;color:#1266dc}.shell-subnav button.active{border-color:#cce1ff;background:#eaf3ff;color:#0a61d7}
#app>aside{grid-area:sidebar;background:#fff;border:1px solid var(--line);border-radius:11px;margin:14px 18px 20px 0;padding:13px 11px;position:sticky;top:151px;max-height:calc(100vh - 165px);overflow:auto;min-width:0;box-shadow:0 2px 10px #1c427009}
#app>aside .brand{margin:0 0 10px;padding:0 7px 12px;border-bottom:1px solid #e9eff8}.brand h1{font-size:14px;color:#234569;margin:0}.brand small{font-size:11px}
#app>aside nav{display:block;padding:0;max-height:none}
.shell-nav-group{border-bottom:1px solid #edf1f7;padding:6px 0}.shell-nav-group:last-child{border-bottom:0}
.shell-nav-heading{color:#1c4f93;font-size:12px;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding:6px 7px}.shell-nav-heading small{font-size:11px;font-weight:400;color:#7b8da4}
.shell-nav-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
#app>aside nav button{height:32px;min-height:32px;background:transparent;border:0;border-radius:6px;color:#546b88;font-size:11px;text-align:left;padding:0 7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
#app>aside nav button:hover{background:#f3f8ff;color:#1466d8}#app>aside nav button.active{background:#eaf3ff;color:#0b63d4}
#app main{grid-area:main;min-width:0;padding:14px 15px 24px 22px;display:block}
#app main>.top{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 18px;margin-bottom:12px;box-shadow:0 2px 10px #1c427009;align-items:center}
#app main>.top h1{font-size:21px;color:#152b49;margin:0 0 5px}#app main>.top p{font-size:12px;margin:0;line-height:1.5}
#app main>.top .btn{min-width:108px}
.shell-shortcuts{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}.shell-shortcuts button{height:38px;padding:0 13px;border:1px solid #dce8f7;background:#fff;border-radius:7px;color:#245789;font-size:12px;font-weight:700;cursor:pointer}.shell-shortcuts button:hover{background:#eaf3ff;border-color:#bdd8fb}
.btn{border-radius:7px;background:#f2f6fc;border:1px solid #dce5f0;color:#24517d;box-shadow:none;transition:background .15s,border-color .15s}.btn:hover{background:#eaf3ff;border-color:#bdd8fa}.btn.primary{background:#146be9;border-color:#146be9;color:#fff}.btn.primary:hover{background:#075bcf}.btn.green{background:#0c875e;border-color:#0c875e;color:#fff}.btn.red{background:#d84b56;border-color:#d84b56;color:#fff}
.card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 10px #1c427009;overflow:hidden}.card h3{border-bottom:1px solid #e8eef7;color:#1c385b;background:#fff}.body{overflow-x:auto}
.page{display:grid;gap:13px}.grid,.grid3{gap:12px}
label{color:#3d5574;font-size:12px}input,textarea,select{border-color:#d5e1ef;background:#fff;color:#1e314b;border-radius:7px}input::placeholder,textarea::placeholder{color:#9aa9bb}textarea{line-height:1.6}
th,td{border-bottom-color:#e8eef7;color:#2d4362}th{color:#45678e;background:#f4f7fc}table{font-size:12px}.table-scroll{border:1px solid #e4ebf5;border-radius:7px;overflow:auto}.table-scroll table{min-width:640px}.table-scroll tr:hover td{background:#fbfdff}
.status{background:#eef6ff;border-color:#d7e8fb;color:#28517d}.ok,.good{color:#087d56}.bad{color:#d2404c}.muted{color:#7889a0}
.shell-pager{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:10px;font-size:12px;color:#6f8199}.shell-pager button{height:30px;min-width:31px;background:#fff;color:#456486;border:1px solid #dce6f3;border-radius:6px}.shell-pager button.active{background:#146be9;color:#fff;border-color:#146be9}.shell-pager button:disabled{opacity:.45;cursor:default}.shell-pager span{margin-right:auto}
@media(max-width:980px){
  #app.wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "domains" "subnav" "main";grid-template-rows:58px 58px 43px minmax(0,1fr)}
  .shell-header{height:58px;padding:0 13px;gap:11px}.shell-brand strong{font-size:18px}.shell-brand span,.shell-header-note{display:none}.shell-search{flex:1;width:auto;height:36px}.shell-menu{display:block;border:0;background:#fff;color:#1768d7;font-size:13px;font-weight:800;white-space:nowrap}
  .shell-domains{top:58px;height:58px;padding:0 5px}.shell-domains button{min-width:100px;max-width:none;justify-content:center;text-align:center;padding:0 5px;gap:2px;flex-direction:column}.shell-domain-icon{font-size:17px}.shell-domain-label b{font-size:10px}.shell-domain-label small{display:none}
  .shell-subnav{height:43px;padding:0 11px;gap:5px}.shell-subnav strong{display:none}.shell-subnav button{height:29px;padding:0 10px;font-size:11px}
  #app>aside{display:none;position:fixed;z-index:80;top:58px;right:0;bottom:0;width:min(330px,90vw);max-height:none;margin:0;border-radius:0;padding:13px;box-shadow:-18px 0 40px #183b6638;background:#fff}
  #app>aside.nav-open{display:block}#app>aside .mobile-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf6;padding-bottom:10px;margin-bottom:8px}#app>aside .mobile-bar strong{color:#1f3d62}#app>aside .mobile-bar small{display:none}
  #app>aside nav{display:block;overflow:auto;max-height:calc(100vh - 135px)}
  #app main{padding:10px 11px 28px}#app main>.top{padding:12px;margin-bottom:9px}#app main>.top h1{font-size:18px}#app main>.top p{display:none}
  .shell-shortcuts{gap:6px;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.shell-shortcuts button{white-space:nowrap;flex:none}
  .grid,.grid3{grid-template-columns:1fr}.card h3{font-size:14px}.body{padding:12px}
  input,textarea,select{background:#fff;color:#1e314b;font-size:16px}.btn{min-height:40px}
  table{min-width:640px}.status{top:117px}
}
@media(max-width:520px){#app main>.top{display:flex}#app main>.top .btn{min-width:80px;padding:8px;font-size:12px}.shell-search input{font-size:12px}}
#pages #memberAdminCard{scroll-margin-top:150px}
#pages #userManager{scroll-margin-top:150px}
#pages #memberAdminCard .member-admin-row{background:#fff;border:1px solid #d9e5f2;box-shadow:0 2px 8px #1c427009;color:#1d334e}
#pages #memberAdminCard .member-admin-row[hidden]{display:none!important}
#pages #memberAdminCard .member-admin-field>strong{color:#315a8b}
#pages #memberAdminCard .member-admin-row .muted{color:#6e819a}
#pages #memberAdminCard .member-admin-actions-wrap{border-top-color:#e1eaf4}
#pages #memberAdminCard .member-admin-row input,#pages #memberAdminCard .member-admin-row select{background:#fff;border-color:#d6e3f2;color:#1d334e}
.shell-member-toolbar{display:grid;gap:11px;padding:15px 16px;border-bottom:1px solid #e4ecf7;background:#fbfdff}
.shell-member-search{height:40px;display:flex;align-items:center;gap:8px;max-width:430px;border:1px solid #d4e2f3;border-radius:7px;padding:0 11px;color:#6583a7;background:#fff}
.shell-member-search input{border:0;outline:0;min-height:0;width:100%;padding:0;color:#1c344f;background:transparent;font-size:13px}
.shell-member-filters{display:flex;gap:7px;flex-wrap:wrap}.shell-member-filter{height:34px;padding:0 12px;border:1px solid #d7e5f5;border-radius:7px;background:#fff;color:#385b81;font-size:12px;font-weight:700}.shell-member-filter:hover{background:#eff6ff}.shell-member-filter.active{background:#146be9;border-color:#146be9;color:#fff}
.shell-member-options{display:flex;gap:12px;flex-wrap:wrap}.shell-member-options label{display:flex;align-items:center;gap:7px;color:#5b708b;font-size:11px;font-weight:700}.shell-member-options select{width:auto;height:29px;min-height:29px;padding:2px 8px;font-size:11px;border-color:#d7e5f5}
.shell-member-help{margin:0;color:#798aa1;font-size:11px;line-height:1.5}.shell-member-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:12px 16px;border-top:1px solid #e5edf6;color:#637a95;font-size:12px}.shell-member-pager span{margin-right:auto}.shell-member-pager button,.shell-member-pager select{height:32px;min-height:32px;width:auto;padding:0 10px;border:1px solid #d5e3f3;border-radius:6px;background:#fff;color:#2d5c92;font-size:12px}.shell-member-pager button:disabled{opacity:.45}.shell-member-empty{padding:28px;text-align:center;color:#7285a0}
@media(max-width:980px){.shell-member-toolbar{padding:12px}.shell-member-search{max-width:none}.shell-member-pager{padding:11px 12px;flex-wrap:wrap}.shell-member-pager span{flex-basis:100%}.shell-member-filter{min-height:35px}.shell-member-options select{font-size:12px}}

/* Match the remaining legacy panels to the light admin theme. */
#pages .pay-kpi{background:#fff!important;border-color:#dbe6f3!important;color:#37516e!important;box-shadow:0 2px 8px #1c427009}
#pages .pay-kpi b{color:#1668d8!important}
#pages .pay-kpi b.bad{color:#cf3d4c!important}
#pages .pay-kpi b.good{color:#087e58!important}
#pages .pay-note{background:#fff9e8!important;border-color:#e8d6a8!important;color:#735315!important}
#pages .pay-product-editor,#pages .pay-field-group{background:#fff!important;border-color:#dbe6f3!important;color:#213b59!important}
#pages .pay-product-editor summary,#pages .pay-field-group h4{color:#1767ce!important}
#pages .pay-product-editor summary:after{color:#087e58!important}
#pages article[style*="background:#101821"]{background:#fff!important;border-color:#dbe6f3!important;color:#233e5d!important;box-shadow:0 2px 8px #1c427009}
#pages div[style*="background:#0b121a"]{background:#f5f9ff!important;color:#274362!important;border:1px solid #e2ebf6}
#pages article[style*="background:#101821"] details summary{color:#1668d8!important}

/* Feedback needs the full column width; its table stays readable at smaller widths. */
#pages .admin-messages-grid{grid-template-columns:minmax(0,1fr)}
#pages .admin-messages-grid>.card{min-width:0}
#pages .admin-feedback-card .body{overflow-x:auto}
#pages .admin-feedback-card table{min-width:940px;table-layout:fixed}
#pages .admin-feedback-card th:nth-child(1),#pages .admin-feedback-card td:nth-child(1){width:150px}
#pages .admin-feedback-card th:nth-child(2),#pages .admin-feedback-card td:nth-child(2){width:430px;overflow-wrap:anywhere;white-space:normal}
#pages .admin-feedback-card th:nth-child(3),#pages .admin-feedback-card td:nth-child(3){width:70px}
#pages .admin-feedback-card th:nth-child(4),#pages .admin-feedback-card td:nth-child(4){width:185px}
#pages .admin-feedback-card th:nth-child(5),#pages .admin-feedback-card td:nth-child(5){width:105px}
#pages .admin-feedback-card textarea{min-width:155px;min-height:86px}

/* The original shared button height cut the template cards down to 40px. */
#pages .admin-tutorial-template-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;align-items:stretch}
#pages .admin-tutorial-template-grid>[data-pt-template]{height:auto!important;min-height:215px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;overflow:visible;line-height:1.35}
#pages .admin-tutorial-template-grid>[data-pt-template] img{flex:0 0 130px;max-width:100%}
#pages .admin-tutorial-template-grid>[data-pt-template] strong,#pages .admin-tutorial-template-grid>[data-pt-template] small{display:block;overflow-wrap:anywhere}

/* One member's history and account summary. */
#pages #userManager{scroll-margin-top:150px}
#pages #userManager>.body{grid-template-columns:minmax(0,1fr);min-width:0}
#pages #userManager>.body>*{min-width:0;max-width:100%}
#pages #memberAdminCard .member-admin-actions{grid-template-columns:repeat(4,minmax(105px,160px));gap:8px}
#pages #userManager .um-summary{background:#f8fbff;border:1px solid #e1ebf7;border-radius:10px;padding:18px;margin-top:16px}
#pages #userManager .um-summary-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:15px}
#pages #userManager .um-summary-heading>div{display:grid;gap:5px}
#pages #userManager .um-summary-heading strong{font-size:19px;color:#18365a}
#pages #userManager .um-summary-heading span{font-size:12px;color:#687f9b}
#pages #userManager .um-summary-heading>span{white-space:nowrap;font-weight:700}
#pages #userManager .um-summary-heading>span.good{color:#087e58}
#pages #userManager .um-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
#pages #userManager .um-facts>div{display:grid;gap:5px;min-width:0;border-bottom:1px solid #e3ebf5;padding-bottom:10px}
#pages #userManager .um-facts span,#pages #userManager .um-metrics span{color:#6a819d;font-size:11px}
#pages #userManager .um-facts b{font-size:12px;overflow-wrap:anywhere;color:#213d5c}
#pages #userManager .um-facts small{font-size:11px;color:#7088a3}
#pages #userManager .um-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#pages #userManager .um-metrics>div{display:grid;align-content:start;gap:6px;min-width:0;padding:12px;border:1px solid #dfe9f5;border-radius:8px;background:#fff}
#pages #userManager .um-metrics b{font-size:18px;line-height:1.2;color:#1768d9;overflow-wrap:anywhere}
#pages #userManager .um-metrics small{font-size:10px;color:#7a8ca3}
#pages #userManager .um-metrics-note{color:#7185a0;font-size:11px;line-height:1.6;margin:12px 0 0}
#pages #userManager .um-section{border-top-color:#e1eaf5}
#pages #userManager .um-section summary{padding:10px 12px;border:1px solid #dce8f6;border-radius:7px;background:#f5f9ff;color:#24588f;font-weight:700}
#pages #userManager .um-section[open]>summary{border-radius:7px 7px 0 0}
#pages #userManager .um-message-fields{display:grid;gap:11px;padding:15px;border:1px solid #dce8f6;border-top:0;border-radius:0 0 7px 7px;max-width:680px}
#pages #userManager .um-message-fields label{display:grid;gap:6px}
#pages #userManager .um-message-fields textarea{min-height:100px}
#pages #userManager .um-message-fields .btn{justify-self:start}
#pages #userManager .um-edit-panel>.grid{padding:14px;border:1px solid #dce8f6;border-top:0;border-radius:0 0 7px 7px}
#pages #userManager .um-history .table-scroll{margin:12px 0}
#pages #userManager .um-history table{min-width:700px}
#pages #userManager .um-history .quick-actions{align-items:center;gap:9px;flex-wrap:wrap}
@media(max-width:1100px){#pages #memberAdminCard .member-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){#pages #userManager .um-facts{grid-template-columns:repeat(2,minmax(0,1fr))}#pages #userManager .um-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#pages #memberAdminCard .member-admin-actions{grid-template-columns:1fr}#pages #userManager .um-summary{padding:12px}#pages #userManager .um-summary-heading{display:grid}#pages #userManager .um-facts{grid-template-columns:1fr 1fr;gap:8px}#pages #userManager .um-metrics{grid-template-columns:1fr 1fr}}

