/* Management interface; member pages retain their existing mobile layout. */
.app-shell.admin-shell { --green:#087f6b; max-width:none; min-height:100dvh; margin:0; border-radius:0; padding:88px 32px 48px 264px; background:#f3f5f8; color:#243346; font-family:Arial,"Microsoft YaHei",sans-serif; }
.admin-shell .topbar { position:absolute; top:0; left:232px; right:0; height:72px; padding:0 32px; border-bottom:1px solid #e4e9ef; background:white; color:#243346; }
.admin-shell .account-button { margin-left:auto; color:#243346; gap:12px; }
.admin-shell .header-actions { display:none; }
.admin-avatar { display:grid; place-items:center; width:38px; height:38px; background:#e5f4ef; border-radius:12px; color:#087d63; font-weight:700; }
.admin-user { text-align:left; }.admin-user strong { display:block; font-size:13px; }.admin-user small { display:block; color:#718094; margin-top:5px; font-size:11px; }
.admin-shell main { max-width:1500px; padding:0; margin:auto; }
.admin-shell .bottom-nav { position:fixed; left:0; top:0; bottom:0; transform:none; width:232px; max-width:232px; height:100dvh; box-sizing:border-box; padding:30px 16px; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; border:0; background:#122c32; box-shadow:none; color:#d2e5e3; }
.admin-brand { display:flex; gap:11px; align-items:center; font-size:17px; color:white; font-weight:600; padding:0 6px 30px; }.admin-brand small { display:block; font-size:10px; color:#91afad; font-weight:400; margin-top:8px; letter-spacing:2px; }.admin-logo { display:grid; place-items:center; width:37px; height:40px; border-radius:10px; background:#1caa88; color:white; font-size:20px; }
.admin-nav-label { color:#8da9a8; font-size:10px; padding:10px 15px; letter-spacing:2px; }
.admin-shell .nav-button { flex:none; flex-direction:row; justify-content:flex-start; gap:12px; padding:14px 16px; border-radius:8px; font-size:13px; color:#b4cac8; min-height:48px; }.admin-shell .nav-button>.ui-icon { width:19px; height:19px; color:#87ada8; }.admin-shell .nav-button.active { background:#1b514f; color:white; }.admin-shell .nav-button.active>.ui-icon { color:#5ae0b3; }.admin-shell .nav-button:hover { background:#20433f; }
.admin-shell .environment-label { margin:28px auto 0; color:#7b8797; font-size:11px; }
.admin-shell .page-heading { background:none; border-radius:0; padding:16px 0 24px; margin:0; display:flex; align-items:center; justify-content:space-between; gap:20px; }.admin-shell .page-heading h1 { font-size:28px; letter-spacing:-.7px; margin:8px 0; }.admin-shell .eyebrow { font-size:10px; letter-spacing:2px; color:#588b7d; }.admin-shell .subtitle { font-size:13px; margin:0; color:#778495; }.admin-shell .date { display:block; color:#8390a0; font-size:12px; white-space:nowrap; }
.admin-summary-strip { display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid #d6e8e2; background:#edf7f3; border-radius:10px; font-size:12px; color:#577569; margin-bottom:22px; }.admin-summary-strip strong { color:#26674f; }.admin-summary-strip .button { margin-left:auto; }.admin-indicator { width:7px; height:7px; border-radius:50%; background:#21956e; flex:none; }
.admin-shell .metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:24px; }.admin-shell .metric { padding:23px; border:1px solid #e5e9ed; border-radius:12px; box-shadow:0 3px 12px #24334603; }.admin-shell .metric-top { color:#6e7c8e; font-size:12px; }.admin-shell .metric-icon { color:#219577; background:#eff8f3; padding:8px; border-radius:10px; display:flex; }.admin-shell .metric-icon svg { width:19px;height:19px; }.admin-shell .metric-value { font-size:29px; color:#203c40; font-weight:600; margin:18px 0 10px; overflow-wrap:anywhere; }.admin-shell .metric-foot { color:#85919c; font-size:11px; }
.admin-shell .panel { border:1px solid #e3e8ed; border-radius:12px; box-shadow:0 3px 14px #213d4903; }.admin-shell .panel-header { padding:19px 22px; min-height:65px; }.admin-shell .panel-header h3 { font-size:15px; font-weight:600; color:#2d4151; }.admin-shell .panel-header>span { color:#7d8995; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(250px,1fr); gap:22px; align-items:start; }.admin-overview-grid>.panel { min-width:0; }.admin-check-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:20px 22px; font-size:12px; border-bottom:1px solid #edf1f4; }.admin-check-row span { color:#7b8895; }.admin-check-row strong { font-weight:500; color:#297c62; }.admin-check-row .admin-alert { color:#aa482c; }.admin-side-actions { display:grid; gap:10px; padding:20px 22px 0; }.admin-channel-note { padding:0 22px 18px; color:#7e8b97; font-size:11px; line-height:1.8; }
.admin-shell table { font-size:12px; }.admin-shell th { background:#f8fafb; color:#788899; font-size:11px; }.admin-shell th,.admin-shell td { padding:17px 20px; }.admin-shell tbody tr:hover { background:#fafcfb; }.admin-shell .badge { border-radius:20px; padding:6px 10px; }.admin-shell .button { min-height:38px; border-radius:7px; font-size:12px; }.admin-shell .button.primary { background:#11876d; border-color:#11876d; }.admin-shell .button.danger { color:#b44b3f; border-color:#edccc6; }
.admin-filter { display:flex; align-items:flex-end; gap:12px; padding:20px 22px; flex-wrap:wrap; background:#fcfdfd; }.admin-filter label { margin:0; color:#6b7c8c; }.admin-filter label:first-child { flex:1; min-width:200px; }.admin-filter label:nth-child(2) { min-width:160px; }.admin-filter input,.admin-filter select { margin-top:8px; height:42px; font-size:13px; }.admin-filter .button { height:42px; }
.admin-shell .content-panel { padding:28px; }.admin-shell .content-panel h2 { font-size:19px; }.admin-shell #language-form { max-width:600px; }.admin-shell .notice { background:#f0f7f4; }
.app-shell.admin-login-shell { max-width:none; margin:0; padding:0 24px 40px; min-height:100dvh; border-radius:0; background:radial-gradient(ellipse at 15% 20%,#205952,#102e35 65%); }.admin-login-shell .topbar { max-width:1100px; margin:auto; height:100px; }.admin-login-shell .header-actions,.admin-login-shell .bottom-nav { display:none; }.admin-login-shell main { max-width:460px; margin:10vh auto 0; padding:0; }.admin-login-shell .panel { padding:44px 36px; border:0; box-shadow:0 24px 90px #031d3860; }.admin-login-shell h1 { font-size:28px; margin:0 0 20px; }.admin-login-shell .button { width:100%; min-height:46px; margin-top:20px; }.admin-login-shell .environment-label { color:#9eb9b3; margin-top:28px; }
@media(max-width:1100px) { .admin-shell .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-overview-grid { grid-template-columns:1fr; }.app-shell.admin-shell { padding-right:22px; padding-left:254px; } }
@media(max-width:760px) { .app-shell.admin-shell { padding:0 14px 32px; }.admin-shell .topbar { position:static; margin:0 -14px; height:66px; padding:0 18px; }.admin-shell .bottom-nav { position:static; flex-direction:row; width:auto; max-width:none; height:auto; margin:0 0 18px; padding:10px 0; background:transparent; flex-wrap:wrap; gap:6px; }.admin-shell .admin-brand,.admin-shell .admin-nav-label { display:none; }.admin-shell { display:flex; flex-direction:column; }.admin-shell .topbar { order:0; }.admin-shell .bottom-nav { order:1; }.admin-shell main { order:2; width:100%; }.admin-shell .environment-label { order:3; }.admin-shell .nav-button { padding:10px 12px; min-height:42px; font-size:12px; color:#667986; background:white; }.admin-shell .nav-button.active { background:#176d60; }.admin-shell .nav-button>.ui-icon { width:16px; height:16px; }.admin-shell .page-heading { padding:8px 0 20px; }.admin-shell .page-heading h1 { font-size:25px; }.admin-shell .date { display:none; }.admin-summary-strip { flex-wrap:wrap; line-height:1.6; }.admin-summary-strip>span:not(.admin-indicator) { flex-basis:75%; }.admin-shell .metrics { gap:12px; }.admin-shell .metric { padding:16px; }.admin-shell .metric-value { font-size:23px; }.admin-filter label:first-child { min-width:100%; }.admin-filter label:nth-child(2) { flex:1; min-width:100px; }.admin-login-shell main { margin-top:5vh; } }
.admin-shell .panel { min-width:0; max-width:100%; }.admin-shell .content-panel p { overflow-wrap:anywhere; }
