/* ZOWA account dashboard — designed to match the streaming site's true-black UI. */
.account-view { min-height: calc(100vh - 74px); padding: 24px clamp(22px,3.4vw,72px) 90px; background: #000; }
.account-icon-defs { position:absolute; width:0; height:0; overflow:hidden; }
.account-icon, .account-arrow { display:inline-block; flex:none; width:21px; height:21px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.account-header { display:block; margin:0 0 21px; }
.account-header .eyebrow { color:#c4c4cc; font-size: .72rem; font-weight:700; letter-spacing:.21em; margin:0 0 10px; }
.account-header h2 { font-weight:690; font-size:clamp(2.35rem,3.05vw,3.55rem); letter-spacing:-.047em; line-height:1.1; margin:0 0 10px; }
.account-subtitle { color:#b2b3bb; font-size: clamp(.95rem, 1.08vw,1.08rem); margin:0; line-height:1.6; }
.account-dashboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 17px; align-items:stretch; }
.account-dashboard .account-panel { min-width:0; display:flex; flex-direction:column; gap:18px; min-height:0; padding:23px; background:linear-gradient(145deg,#101115,#0c0d10 87%); border:1px solid #24262d; border-radius:12px; box-shadow:none; }
.account-details-panel,.account-activity-panel,.account-security-panel { min-height:346px !important; }
.account-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; }
.account-card-heading h3 { font-size:1.13rem; font-weight:720; color:#f6f6f8; letter-spacing:-.023em; margin:0 0 11px; }
.account-card-heading p { color:#a2a3ac; font-size:.85rem; margin:0; line-height:1.45; }
.account-outline-button { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; padding:0 14px; min-height:40px; background:#111216; color:#fff; border:1px solid #30323b; border-radius:9px; font-size:.8rem; font-weight:650; transition:background .2s ease,border-color .2s ease; }
.account-outline-button:hover { background:#23252d; border-color:#6c6d75; }
.account-outline-button .account-icon { width:16px; height:16px; }
.account-identity { display:flex; align-items:center; gap:16px; padding:5px 0 18px; border-bottom:1px solid #272930; }
.account-avatar { display:grid; place-items:center; flex:none; width:71px; height:71px; border:2px solid #787f8c; border-radius:50%; background:linear-gradient(145deg,#555f70,#232833 66%,#181b23); box-shadow:inset 0 0 14px #0004; color:white; font-size:2rem; font-weight:490; }
.account-identity-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.account-identity-copy strong { font-weight:700; font-size:1.02rem; overflow-wrap:anywhere; }
.account-identity-copy span { font-size:.83rem; color:#adb0bb; overflow-wrap:anywhere; }
.account-facts { display:grid; gap:16px; margin:0; }
.account-facts>div { display:grid; align-items:center; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:10px; }
.account-facts dt { display:flex; align-items:center; gap:15px; min-width:0; color:#d5d5dd; font-size:.87rem; }
.account-facts dt .account-icon { width:19px; height:19px; }
.account-facts dd { margin:0; color:#dadbe1; font-size:.85rem; overflow-wrap:anywhere; }
.account-option-list { display:grid; gap:7px; }
.account-option { width:100%; min-width:0; display:flex; align-items:center; gap:15px; min-height:69px; padding:12px 13px; text-align:left; border:1px solid #303139; border-radius:10px; color:#f6f6f8; background:linear-gradient(115deg,#1c1e24,#16171c); transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.account-option:hover { transform:translateY(-1px); border-color:#636571; background:#24262d; }
.account-option:focus-visible,.account-outline-button:focus-visible,.account-dialog button:focus-visible { outline:2px solid #e8e8ee; outline-offset:3px; }
.account-option-icon { flex:none; display:grid; place-items:center; width:47px; height:47px; border-radius:10px; }
.account-option-icon .account-icon { width:25px; height:25px; stroke-width:2; }
.tint-red { background:#3b2125; color:#ff5863; }.tint-blue { background:#1d344b; color:#49a7f8; }.tint-purple { background:#352544; color:#be79ff; }.tint-slate { background:#2a2d36; color:#e3e5ed; }.tint-danger { background:#442020; color:#fb5959; }
.account-option-copy { display:grid; gap:5px; flex:1; min-width:0; }
.account-option-copy strong { font-size:.9rem; font-weight:650; line-height:1.2; }
.account-option-copy small { font-size:.77rem; line-height:1.35; color:#acadb7; }
.account-arrow { width:16px; height:16px; color:#d4d5dc; }
.account-option-value { flex:none; color:#c9cad4; font-size:.85rem; }
.account-option-danger { border-color:#8b2830; color:#ffb1b5; background:linear-gradient(95deg,#2b1519,#211418); margin-top:0; }
.account-option-danger:hover { background:#3a191d; border-color:#fb4a52; }
.account-option-danger .account-option-copy small { color:#f2abad; }
.account-danger-panel .account-option { margin-top:1px; }
.account-activity-panel #accountMessage { min-height:0; margin:0; font-size:.75rem; }
.account-dialog { width:min(520px,calc(100vw - 30px)); max-height:min(88vh,780px); overflow-y:auto; padding:27px; border-radius:15px; border:1px solid #353640; background:linear-gradient(150deg,#17181e,#0b0c0f); color:#f8f8fa; box-shadow:0 30px 110px #000b; }
.account-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(7px); }
.account-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:17px; }
.account-dialog-head .eyebrow { color:#9fa2af; font-size:.65rem; margin:0 0 7px; }
.account-dialog-head h3 { margin:0; font-size:1.45rem; letter-spacing:-.025em; }
.account-dialog-close { display:grid; place-items:center; flex:none; width:35px; height:35px; background:#21232a; color:#fff; border:1px solid #353740; border-radius:9px; }
.account-dialog-close:hover { background:#343741; }
.account-dialog-close .account-icon { width:17px; height:17px; }
.account-dialog-content { display:grid; gap:14px; color:#b4b5be; font-size:.89rem; line-height:1.6; }
.account-dialog-content p { margin:0 0 5px; }
.account-dialog-content .field,.account-dialog .account-form .field { display:grid; gap:8px; }
.account-dialog .account-form { display:grid; gap:16px; }
.account-dialog .account-form.hidden { display:none; }
.account-dialog .field span { color:#d6d6dd; font-size:.82rem; text-transform:none; }
.account-dialog input,.account-dialog select { min-height:45px; width:100%; border:1px solid #353641; border-radius:9px; background:#14151a; color:#f7f7fa; padding:0 13px; font-size:.9rem; }
.account-dialog input:focus,.account-dialog select:focus { border-color:#e1e1e5; }
.account-modal-primary,.account-modal-danger,.account-modal-secondary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:45px; padding:0 17px; border:1px solid transparent; border-radius:9px; font-weight:700; font-size:.88rem; }
.account-modal-primary { background:#fff; color:#080809; }.account-modal-primary:hover { background:#e4e4e9; }
.account-modal-danger { background:#ed354b; color:white; }.account-modal-danger:hover { background:#ff5063; }
.account-modal-secondary { background:#24262e; color:#eeeef3; border-color:#434550; }.account-modal-secondary:hover { background:#343641; }
.account-modal-actions { display:flex; gap:9px; flex-wrap:wrap; }
.account-dialog .form-message { min-height:0; font-size:.8rem; }
.account-records { display:grid; gap:9px; padding:0; margin:0; list-style:none; max-height:350px; overflow:auto; }
.account-records li { display:grid; gap:4px; padding:13px 14px; background:#1a1b22; border:1px solid #30323a; border-radius:8px; }
.account-records li strong { color:#fafafc; font-weight:650; }
.account-records li span { font-size:.77rem; color:#aaadb9; }
.account-dialog-note { font-size:.79rem; color:#aaaeb8; }
.account-radio { display:flex; align-items:center; gap:11px; padding:13px; border-radius:10px; background:#1a1b20; border:1px solid #30313a; }
.account-radio input { min-height:0; width:auto; margin:0; accent-color:#f5f5f7; }
.account-view.account-soft-theme { background:#08090c; }
.account-view.account-soft-theme .account-panel { background:linear-gradient(145deg,#1a1c21,#111319); }
@media (max-width:1120px) { .account-dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); } .account-security-panel { grid-column:1 / -1; } .account-security-panel .account-option-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .account-security-panel .account-option { min-height:86px; } }
@media (max-width:760px) { .account-view { padding:28px 17px 65px; } .account-header { margin-bottom:23px; } .account-header h2 { font-size:2.35rem; } .account-dashboard { grid-template-columns:1fr; gap:13px; } .account-dashboard .account-panel { padding:19px; } .account-details-panel,.account-activity-panel,.account-security-panel { min-height:0 !important; } .account-security-panel { grid-column:auto; } .account-security-panel .account-option-list { grid-template-columns:1fr; } .account-security-panel .account-option { min-height:70px; } .account-option { min-height:64px; } .account-option-icon { width:43px; height:43px; } .account-facts>div { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); } }
@media (max-width:410px) { .account-card-heading { gap:9px; } .account-outline-button { padding:0 9px; font-size:.72rem; } .account-option { gap:10px; padding:10px; } .account-option-copy small { font-size:.71rem; } .account-dialog { padding:20px; } }
@media (prefers-reduced-motion:reduce) { .account-option,.account-outline-button { transition:none; } }

/* ZOWA English/Khmer language switchers */
.cinegate-locale {
  color: #f3f3f6;
  background: #18191d;
  border: 1px solid #35363c;
  border-radius: 9px;
  padding: 7px 10px;
  min-width: 98px;
  max-width: 130px;
  font-size: .81rem;
  font-family: inherit;
  cursor: pointer;
}
.cinegate-locale:focus-visible { outline: 2px solid #fafafa; outline-offset: 3px; }
#authScreen .auth-language .cinegate-locale {
  color: #fff;
  background: rgba(15, 16, 21, .55);
  border: 1px solid rgba(255,255,255,.22);
}
.cinegate-locale option { color: #fff; background: #19191d; }
@media (max-width: 640px) {
  .cinegate-locale-top { min-width: 75px; max-width: 85px; padding: 5px 6px; font-size: .72rem; }
  #authScreen .auth-language .cinegate-locale { min-width: 77px; max-width: 89px; }
}
html[lang="km"] body { font-family: "Noto Sans Khmer", "Khmer OS", "Leelawadee UI", Inter, system-ui, sans-serif; }
html[lang="km"] .account-option-copy strong, html[lang="km"] .tab { letter-spacing: 0; }
