*{box-sizing:border-box}
:root{--bg:#070b17;--surface:#11182a;--surface-soft:#18213a;--border:rgba(255,255,255,.1);--text:#f7f8ff;--muted:#9ca8c7;--primary:#7c5cff;--primary-hover:#927cff;--danger:#f05268;--success:#31c48d}
html{min-height:100%;background:var(--bg);font-size:17px}
body{min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(124,92,255,.2),transparent 35%),radial-gradient(circle at bottom right,rgba(40,190,255,.12),transparent 30%),var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border);background:rgba(7,11,23,.82);backdrop-filter:blur(18px)}
.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.15rem;font-weight:800;text-decoration:none}.nav-links{display:flex;align-items:center;gap:18px}.nav-links>a:not(.btn){color:var(--muted);text-decoration:none}
.main-content{min-height:calc(100vh - 145px);padding-block:38px}.hero{min-height:620px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}
.hero h1,.auth-heading h1,.dashboard-topbar h1{margin:8px 0 14px;font-size:clamp(2rem,5vw,4.3rem);line-height:1.05}.hero p,.auth-heading p,.dashboard-topbar p,.panel-heading p{color:var(--muted)}
.eyebrow{color:#aa98ff;font-size:.78rem;font-weight:800;letter-spacing:.16em}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-card,.auth-card,.panel,.stat-card{border:1px solid var(--border);background:linear-gradient(145deg,rgba(24,33,58,.92),rgba(13,19,34,.95));box-shadow:0 24px 80px rgba(0,0,0,.25)}
.hero-card{padding:24px;border-radius:28px}.mock-stat{padding:20px;border-radius:18px;background:rgba(255,255,255,.045)}.mock-stat+.mock-stat{margin-top:12px}.mock-stat span,.stat-card span,.details-grid span{display:block;color:var(--muted);font-size:.92rem}.mock-stat strong{display:block;margin-top:6px;font-size:1.8rem}.status-online{color:var(--success)}
.btn{display:inline-flex;min-height:46px;padding:0 20px;align-items:center;justify-content:center;border:0;border-radius:12px;color:#fff;font:inherit;font-weight:750;text-decoration:none;cursor:pointer;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{border:1px solid var(--border);background:rgba(255,255,255,.06)}.btn-danger{background:var(--danger)}.btn-small{min-height:38px;padding-inline:14px;border-radius:10px;font-size:.92rem}.btn-block{width:100%}
.auth-layout{min-height:650px;display:grid;place-items:center}.auth-card{width:min(520px,100%);padding:clamp(24px,5vw,42px);border-radius:26px}.auth-heading{margin-bottom:28px;text-align:center}.auth-heading h1{font-size:2.4rem}
.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:7px;font-weight:700}.form-group small,.field-help{display:block;margin-top:6px;color:var(--muted)}
input,textarea,select{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--border);border-radius:11px;outline:none;color:var(--text);background:rgba(255,255,255,.055);font:inherit}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(124,92,255,.14)}
.auth-switch{margin:22px 0 0;color:var(--muted);text-align:center}.auth-switch a{color:#b9aaff;font-weight:700}
.alert{margin-bottom:20px;padding:14px 16px;border:1px solid;border-radius:12px;transition:opacity .4s ease,transform .4s ease}.alert-success{border-color:rgba(49,196,141,.35);color:#a7f3d0;background:rgba(49,196,141,.12)}.alert-danger{border-color:rgba(240,82,104,.35);color:#fecdd3;background:rgba(240,82,104,.12)}.alert-hide{opacity:0;transform:translateY(-8px)}.error-list{margin:0;padding-left:22px}
.dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.dashboard-sidebar{position:sticky;top:96px;min-height:calc(100vh - 130px);padding:18px;border:1px solid var(--border);border-radius:20px;background:rgba(13,19,34,.9)}
.sidebar-user{display:flex;align-items:center;gap:12px;padding:8px 6px 20px;border-bottom:1px solid var(--border)}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user span{color:var(--muted);font-size:.86rem}.avatar-box,.avatar-preview{display:grid;place-items:center;overflow:hidden;background:var(--primary);font-weight:900}.avatar-box{width:44px;height:44px;flex:0 0 44px;border-radius:13px}.avatar-box img,.avatar-preview img{width:100%;height:100%;object-fit:cover}
.sidebar-nav{display:grid;gap:7px;padding-block:18px}.sidebar-nav a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 13px;border-radius:11px;color:var(--muted);text-decoration:none}.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:rgba(124,92,255,.18)}.sidebar-nav a.disabled{opacity:.55;cursor:not-allowed}.sidebar-nav small{font-size:.72rem}
.sidebar-footer{display:grid;gap:9px;margin-top:auto}.sidebar-toggle{display:none;margin-bottom:16px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;color:#fff;background:rgba(255,255,255,.06);font:inherit}
.dashboard-main{min-width:0}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.dashboard-topbar h1{font-size:clamp(2rem,4vw,3.2rem)}.dashboard-topbar p{margin:0}.status-pill{padding:9px 13px;border-radius:999px;font-size:.88rem;font-weight:800}.status-pill.online{color:#a7f3d0;background:rgba(49,196,141,.14)}.status-pill.offline{color:#fecdd3;background:rgba(240,82,104,.14)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{padding:20px;border-radius:18px}.stat-card strong{display:block;margin:8px 0;font-size:1.9rem}.stat-card small{color:var(--muted)}
.dashboard-grid,.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.panel{padding:24px;border-radius:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading h2{margin:0}.panel-heading p{margin:4px 0 0}
.copy-row{display:flex;gap:10px}.copy-row input{min-width:0}.quick-actions{display:grid;gap:12px}.quick-action{display:block;padding:15px;border:1px solid var(--border);border-radius:14px;text-decoration:none;background:rgba(255,255,255,.035)}.quick-action:hover{border-color:rgba(124,92,255,.55)}.quick-action strong,.quick-action span{display:block}.quick-action span{color:var(--muted);font-size:.88rem}
.empty-state{padding:34px 16px;text-align:center}.empty-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:rgba(124,92,255,.16);font-size:1.6rem}.empty-state h3{margin:0}.empty-state p{margin:6px 0 0;color:var(--muted)}
.form-panel{padding:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-width{grid-column:1/-1}.form-actions,.sticky-save{display:flex;justify-content:flex-end;margin-top:16px}.profile-editor{display:flex;align-items:center;gap:18px;margin-bottom:24px}.avatar-preview{width:96px;height:96px;flex:0 0 96px;border-radius:24px;font-size:2rem}.hidden-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.color-field{display:grid;grid-template-columns:56px 1fr;gap:10px}.color-field input[type=color]{padding:5px}.switch-row{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03)}.switch-row input{width:20px;min-height:20px;margin-top:3px}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--muted)}.sticky-save{position:sticky;bottom:16px;padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(7,11,23,.9);backdrop-filter:blur(14px)}
.site-footer{padding:22px 0;border-top:1px solid var(--border);color:var(--muted);text-align:center}.site-footer p{margin:0}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.hero{min-height:auto;grid-template-columns:1fr;gap:32px}.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{display:none;position:relative;top:0;min-height:0}.dashboard-sidebar.sidebar-open{display:block}.sidebar-toggle{display:inline-flex}.dashboard-grid,.settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.nav-wrap{min-height:64px}.nav-links{gap:10px}.nav-links>a:not(.btn){display:none}.main-content{padding-block:24px}.stats-grid,.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.dashboard-topbar{align-items:flex-start;flex-direction:column}.copy-row,.profile-editor{align-items:stretch;flex-direction:column}.copy-row .btn{width:100%}.profile-editor{align-items:flex-start}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}}

.donation-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.status-pending{color:#fde68a;background:rgba(245,165,36,.14)}.status-approved{color:#a7f3d0;background:rgba(49,196,141,.14)}.status-rejected{color:#fecdd3;background:rgba(240,82,104,.14)}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-tabs a{padding:9px 13px;border:1px solid var(--border);border-radius:10px;color:var(--muted);text-decoration:none}.filter-tabs a.active{color:#fff;background:rgba(124,92,255,.18)}.donation-list{display:grid;gap:14px}.donation-card{padding:18px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03)}.donation-main{display:flex;justify-content:space-between;gap:20px}.donation-card h3{margin:10px 0 4px}.donation-card p,.donation-card small{color:var(--muted)}.slip-thumb{width:120px;height:95px;flex:0 0 120px;overflow:hidden;border-radius:12px}.slip-thumb img{width:100%;height:100%;object-fit:cover}.review-actions{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.donate-page-body{background:radial-gradient(circle at top,rgba(124,92,255,.22),transparent 35%),#070b17}.donate-page{width:min(1080px,calc(100% - 28px));margin:0 auto;padding:56px 0}.donate-profile{text-align:center;margin-bottom:30px}.donate-profile h1{font-size:clamp(2rem,6vw,3.6rem);margin:8px 0 14px}.donate-profile p{color:var(--muted)}.creator-name{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}.donate-avatar{width:92px;height:92px;display:grid;place-items:center;overflow:hidden;margin:0 auto 18px;border-radius:28px;background:var(--donate-accent,var(--primary));font-size:2rem;font-weight:900}.donate-avatar img{width:100%;height:100%;object-fit:cover}.donate-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.donate-card{padding:24px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,rgba(24,33,58,.92),rgba(13,19,34,.95))}.donate-primary{background:var(--donate-accent,var(--primary))}.amount-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.amount-presets button{min-height:42px;border:1px solid var(--border);border-radius:10px;color:#fff;background:rgba(255,255,255,.05);cursor:pointer}.payment-card{align-self:start;position:sticky;top:20px}.payment-box{position:relative;padding:16px;margin-bottom:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035)}.payment-box span,.payment-box strong,.payment-box small{display:block}.payment-box span,.payment-box small{color:var(--muted)}.payment-box strong{font-size:1.25rem;overflow-wrap:anywhere}.copy-link{position:absolute;top:12px;right:12px;border:0;color:#c4b8ff;background:none;cursor:pointer}.success-card{max-width:600px;margin:0 auto;text-align:center;padding:42px}.success-icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--donate-accent,var(--success));font-size:2rem}
@media(max-width:850px){.donate-layout{grid-template-columns:1fr}.payment-card{position:static}}@media(max-width:620px){.amount-presets{grid-template-columns:repeat(2,1fr)}.donation-main{flex-direction:column}.slip-thumb{width:100%;height:220px}.review-actions{flex-direction:column}}


/* EP86 R36 — Thai/English typography rendering fix across shared pages */
:root{
    --app-safe-font:var(--ui-font-family,system-ui),"Leelawadee UI",Tahoma,"Segoe UI",Arial,sans-serif;
}
html,body,button,input,select,textarea,optgroup{
    font-family:var(--app-safe-font);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}
body,button,input,select,textarea,optgroup{font-synthesis-weight:none}
button,input,select,textarea{font:inherit}


/* EP86 R153 — global readability scale */
body{font-size:1rem}
body :is(input,textarea,select,button,.btn){font-size:.94rem}
body small{font-size:.82rem}
@media(max-width:620px){html{font-size:16px}}

/* EP86 R153 — donation page small-text lift */
.donate-page-body .donation-sticker-section>p,
.donate-page-body .donation-alert-style-section>p,
.donate-page-body .payment-channel-selector>p{font-size:14px!important}
.donate-page-body .donation-sticker-card strong,
.donate-page-body .donation-alert-font-control label{font-size:13px!important}
.donate-page-body .donation-sticker-card small,
.donate-page-body .donation-alert-style-card small,
.donate-page-body .donation-alert-font-control small,
.donate-page-body .supporter-theme-platform-branding,
.donate-page-body .seasonal-public-banner :is(span,strong,em){font-size:12px!important}
.donate-page-body .donation-sticker-note{font-size:13px!important}
