/* Account pages: layout and components are scoped to avoid meeting-page collisions. */
.account-shell{font-size:14px;line-height:1.6;background:#f5f8fb}
.account-header{height:76px;flex:none;padding:0 max(24px,calc((100vw - 1280px)/2 + 28px))}
.account-header .top-end{gap:18px;min-width:0}
.account-header .brand{text-decoration:none;color:#142c3f}
.account-home-link{color:#526b7c;font-size:13px;text-decoration:none;white-space:nowrap}
.account-home-link:hover{color:#168b83}
.header-identity{display:flex;align-items:center;gap:9px;min-width:0}
.header-identity .account-name{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.account-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#dff2ee;color:#167b72;font-size:15px;font-weight:750;flex:none}
.account-layout{width:100%;max-width:1280px;margin:36px auto 60px;padding:0 28px;display:grid;grid-template-columns:205px minmax(0,1fr);gap:34px;align-items:start;flex:1}
.account-main{min-width:0;width:100%}
.account-nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:28px;padding:9px 0}
.nav-caption{font-size:11px;letter-spacing:1.2px;color:#95a2af;font-weight:700;margin:0 12px 12px}
.account-nav a,.account-nav button{display:flex;align-items:center;gap:11px;min-height:46px;padding:11px 14px;border:0;border-radius:10px;background:transparent;text-align:left;text-decoration:none;color:#65788c;font:inherit;font-size:14px;font-weight:600;white-space:nowrap}
.account-nav svg{width:19px;height:19px;flex:none}
.account-nav a:hover,.account-nav button:hover{background:#edf3f7;color:#17364b}
.account-nav a.active{background:#e0f2ed;color:#127f74}
.account-nav .nav-logout{margin-top:22px;border-top:1px solid #e3eaf0;border-radius:0;padding-top:20px;font-weight:400}
.account-page-heading{margin-bottom:25px}
.account-eyebrow{display:block;font-size:10px;letter-spacing:1.8px;font-weight:750;color:#8ca0af;margin-bottom:7px}
.account-page-heading h1{font-size:30px;letter-spacing:-.7px;margin:0;color:#142d41;line-height:1.3}
.account-page-heading p{margin:9px 0 0;font-size:14px;color:#7a8d9e}
.account-feedback{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #cbe6dc;background:#edf8f2;color:#267158;border-radius:10px;font-size:13px;margin-bottom:20px}
.account-feedback.is-error{background:#fff2f0;border-color:#f2d5d0;color:#a14037}
.account-inline-error{color:#a14037;font-size:13px;line-height:1.8}
.account-card{background:white;border:1px solid #e0e8ef;border-radius:16px;padding:26px;margin:0 0 22px;min-width:0;box-shadow:0 4px 16px #17354a03}
.card-heading{margin-bottom:20px}
.card-heading h2{font-size:17px;letter-spacing:-.25px;margin:0;color:#193449}
.card-heading p{margin:5px 0 0}
.account-muted{color:#8494a2;font-size:12px;line-height:1.8;margin:9px 0}
.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.account-metric{background:#fff;border:1px solid #e0e8ef;border-radius:14px;padding:21px 23px;min-width:0}
.metric-title{color:#718697;font-size:12px;display:block}
.account-metric strong{display:block;font-size:30px;line-height:1.4;letter-spacing:-.6px;color:#19354a;margin:8px 0 2px;overflow-wrap:anywhere}
.account-metric small{color:#96a4af;font-size:11px;display:block;line-height:1.7}
.account-metric.featured{background:#edf7f4;border-color:#d4e9e1}
.account-metric.featured strong{color:#187d72}
.account-overview-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:22px;align-items:stretch}
.account-overview-grid>.account-card{margin:0;display:flex;flex-direction:column}
.profile-identity{display:flex;align-items:center;gap:13px;margin-bottom:23px}
.profile-identity .account-avatar{width:46px;height:46px;font-size:21px;border-radius:14px}
.profile-identity strong{display:block;font-size:15px;overflow-wrap:anywhere}
.profile-identity small{font-size:12px;color:#8b9baa}
.account-field{display:flex;flex-direction:column;gap:8px;color:#4c6478;font-size:12px;font-weight:600;min-width:0}
.account-field>input,.account-card input,.account-card textarea,.account-card select{display:block;min-width:0;max-width:100%;padding:12px 14px;border:1px solid #d9e3ec;border-radius:9px;background:#fcfdfe;color:#1f3a50;font:inherit;font-size:14px;box-sizing:border-box;min-height:45px}
.account-field>input{width:100%;font-weight:400}
.account-field>input:focus{border-color:#46a99a;background:white}
.account-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.account-card button,.account-pagination button{min-height:40px;font-size:12px;padding:9px 15px;border:1px solid #dbe4ed;border-radius:8px;color:#405e76;background:white;line-height:1.5;cursor:pointer}
.account-card button:hover{background:#f2f7fa}
.account-card .account-primary,.account-main .account-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#178b80;border:1px solid #178b80;color:white;font-weight:650;padding:12px 18px;min-height:45px;border-radius:9px;text-decoration:none;font-size:13px;cursor:pointer}
.account-card .account-primary:hover,.account-main .account-primary:hover{background:#10796f;color:white}
.account-primary svg{width:17px;height:17px}
.account-secondary{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce6ed;border-radius:9px;padding:10px 15px;text-decoration:none;color:#426077;background:white;font-size:13px;font-weight:600}
.account-secondary svg{width:17px;height:17px}
.account-id-details{margin-top:22px;font-size:12px;color:#90a0ae}
.account-id-details summary{cursor:pointer;list-style-position:inside;color:#899bab}
.account-id-details p{font-family:ui-monospace,monospace;overflow-wrap:anywhere;font-size:11px;padding:9px 12px;background:#f6f8fb;border-radius:7px}
.entitlement-card{background:linear-gradient(135deg,#f0f8f4,#fff);position:relative;overflow:hidden}
.entitlement-card>svg{width:35px;height:35px;color:#218d7e;margin-bottom:16px}
.entitlement-card h2{font-size:19px;margin:0 0 8px}
.entitlement-card .account-primary{align-self:flex-start;margin-top:auto}
.entitlement-card .account-muted{margin:3px 0 24px}
.redeem-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px}
.redeem-card{padding:32px}
.redeem-card .account-field{margin:25px 0 17px}
.redeem-card input{letter-spacing:.3px;min-height:52px}
.redeem-card .account-primary{min-width:135px}
.redeem-illustration{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#e3f4ed;color:#178b80;margin-bottom:23px}
.redeem-illustration svg{width:29px;height:29px}
.redeem-rules{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.redeem-rules li{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:#6b8294;line-height:1.8}
.redeem-rules svg{width:17px;height:17px;margin-top:3px;color:#249b86;flex:none}
.entitlement-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#25866f;background:#edf7f1;border-radius:7px;padding:7px 11px;margin-top:20px}
.usage-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.usage-metrics .account-metric{margin:0}
.usage-notice{padding:13px 17px;border:1px solid #e9e4cb;background:#fffdf1;border-radius:9px;font-size:12px;color:#8c8055;line-height:1.8;margin-bottom:20px}
.usage-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.usage-tools h2{margin:0;font-size:17px}
.account-table-wrap{overflow:auto;max-height:560px;width:100%;border:1px solid #e6edf2;border-radius:10px}
.account-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.7}
.account-table th,.account-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #e9eef3;max-width:220px;overflow-wrap:anywhere}
.account-table th{position:sticky;top:0;background:#f7fafc;color:#788c9b;font-weight:500;white-space:nowrap}
.account-table tbody tr:last-child td{border-bottom:0}
.account-table td{color:#436078}
.account-table .account-empty{padding:35px;text-align:center;color:#94a5b2}
.account-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:18px;font-size:12px;color:#90a0ad}
.account-table td button{font-size:11px;min-height:32px;padding:6px 10px;margin:3px}
.account-billing-details{margin-top:20px;font-size:12px;color:#8295a4}
.account-billing-details summary{cursor:pointer;color:#658295}
.account-billing-details a{color:#478f84;overflow-wrap:anywhere}
.account-history{overflow-y:auto;display:grid;gap:12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b1c8cc transparent;padding-right:5px}
.account-history article{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e9f0;border-radius:11px;padding:17px 18px;background:#fff}
.account-history h3{font-size:14px;font-weight:650;margin:0 0 5px;overflow-wrap:anywhere;line-height:1.6}
.account-history small{color:#92a3b1;font-size:11px}
.history-item-info{min-width:0}
.history-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex-shrink:0}
.history-item-actions button{min-height:32px;font-size:11px;padding:7px 10px}
.history-item-actions .history-remove{color:#a07070;border-color:transparent;background:transparent}
.account-empty-state{text-align:center;padding:40px 16px;color:#95a7b3;font-size:13px}
.account-empty-state>svg{width:38px;height:38px;display:block;margin:0 auto 12px;color:#bacbd4}
.account-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.account-admin-tabs button{padding:9px 14px;border:1px solid #d9e5ed;background:white;color:#537187;border-radius:8px;cursor:pointer}
.account-admin-tabs button.active{color:#158274;background:#e6f5ef;border-color:#c5e6da}
.account-admin .account-card>label{margin-bottom:12px}
.account-admin .account-card>button{margin-right:10px;margin-bottom:16px}
.account-admin textarea{width:100%;height:150px;resize:vertical;font-family:ui-monospace,monospace;font-size:12px}
.account-loading{padding:25px;color:#91a3b1}
.auth-mode .account-layout{display:block;max-width:1160px;margin:58px auto;padding:0 28px}
.auth-mode .account-nav{display:none}
.auth-mode .account-main{width:100%}
.auth-mode .account-feedback{margin:0 0 18px}
.login-layout{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #dfe8ed;border-radius:22px;overflow:hidden;box-shadow:0 22px 70px #244c6110;min-height:565px}
.login-story{padding:47px 43px 38px;background:radial-gradient(ellipse at 20% 110%,#207b75 0,transparent 60%),#142f42;color:#fff;overflow:hidden;position:relative}
.login-kicker{font-size:10px;letter-spacing:2px;font-weight:750;color:#73dbbf}
.login-story h1{font-size:34px;line-height:1.5;letter-spacing:-1px;margin:17px 0 12px;max-width:340px}
.login-description{font-size:13px;color:#a9c2ca;line-height:1.9;max-width:320px;margin:0}
.login-orbit{height:148px;position:relative;margin:24px 0 20px;max-width:340px}
.login-orbit:before{content:'';position:absolute;width:215px;height:86px;border:1px solid #b4e1d32b;left:40px;top:25px;border-radius:50%;transform:rotate(-12deg)}
.orbit-person{position:absolute;display:grid;place-items:center;border-radius:50%;font-weight:650;box-shadow:0 8px 22px #061b2838}
.orbit-person.cn{width:62px;height:62px;left:8px;top:30px;color:#163f49;background:#d2e9e9;font-size:25px}
.orbit-person.en{width:56px;height:56px;left:236px;top:2px;background:#499080;color:#fff;font-size:17px}
.orbit-person.th{width:62px;height:62px;left:208px;top:87px;color:#315d62;background:#dbebdf;font-size:19px}
.orbit-center{position:absolute;left:90px;top:57px;padding:9px 17px;border-radius:20px;border:1px solid #ffffff25;background:#ffffff09;color:#c8eee1;letter-spacing:.3px;font-size:12px}
.login-benefits{display:grid;gap:12px;color:#c4dcd8;font-size:12px}
.login-benefits>div{display:flex;align-items:center;gap:9px}
.login-benefits svg{width:16px;height:16px;color:#70dcbb}
.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 35px;text-align:center;min-width:0}
.login-mark{display:grid;place-items:center;background:#173448;color:white;font-size:28px;font-weight:750;border-radius:15px;width:54px;height:54px;margin-bottom:24px;box-shadow:0 6px 20px #18374517}
.login-welcome{font-size:11px;color:#8699a8;letter-spacing:.5px}
.login-panel h2{font-size:22px;letter-spacing:-.5px;color:#163448;margin:10px 0 9px}
.login-panel>.account-muted{font-size:12px;margin:0;max-width:320px}
.google-signin{display:flex;justify-content:center;align-items:center;min-height:46px;margin:32px 0 20px;width:100%;max-width:320px}
.login-note{font-size:11px;color:#a1afba;line-height:1.9;max-width:275px}
@media(min-width:1600px){.account-layout{margin-top:46px}.auth-mode .account-layout{margin-top:75px}}
@media(max-width:1060px){.account-layout{grid-template-columns:175px minmax(0,1fr);gap:22px;padding:0 22px}.account-overview-grid,.redeem-grid{gap:16px}.account-card{padding:22px}.account-metric{padding:18px}.account-history article{align-items:flex-start;flex-direction:column;gap:10px}.history-item-actions{flex-shrink:1}.login-story{padding:40px 30px}.login-story h1{font-size:29px}.login-panel{padding:35px 25px}}
@media(max-width:800px){.account-layout{display:block;padding:0 20px;margin:20px auto 38px}.account-nav{position:static;display:flex;flex-direction:row;overflow:auto;gap:6px;padding:0 0 12px;margin-bottom:20px;scrollbar-width:thin}.account-nav a,.account-nav button{flex:none;min-height:40px;padding:9px 12px;font-size:12px;gap:7px}.account-nav svg{width:16px;height:16px}.nav-caption{display:none}.account-nav .nav-logout{margin:0;border:0;padding:9px 12px;border-radius:9px}.account-page-heading h1{font-size:26px}.account-overview-grid{grid-template-columns:1fr 1fr}.account-header{height:68px;padding:0 20px}.account-header .top-end{gap:12px}.header-identity .account-name{max-width:100px;font-size:12px}.account-home-link{display:none}.account-stats,.usage-metrics{gap:10px}.account-metric strong{font-size:25px}.metric-title{font-size:11px}.auth-mode .account-layout{margin:35px auto;padding:0 20px}.login-story{padding:35px 28px}.login-panel{padding:35px 24px}.login-orbit{transform:scale(.85);transform-origin:left center;margin-right:-45px}.login-story h1{font-size:27px}}
@media(max-width:600px){.account-header .brand{font-size:16px;gap:7px}.account-header .brand-icon{height:32px;width:32px;font-size:21px;border-radius:10px}.account-header .top-end{gap:9px}.header-identity .account-name{display:none}.header-identity .account-avatar{width:30px;height:30px}.account-layout{padding:0 15px;margin-top:16px}.account-nav{margin-bottom:16px}.account-page-heading{margin-bottom:19px}.account-page-heading h1{font-size:25px}.account-page-heading p{font-size:12px;line-height:1.8}.account-stats,.usage-metrics{grid-template-columns:1fr 1fr}.account-stats>.account-metric:last-child,.usage-metrics>.account-metric:last-child{grid-column:1/-1}.account-metric{padding:16px 18px}.account-metric strong{font-size:26px;margin-top:6px}.account-overview-grid,.redeem-grid{grid-template-columns:1fr}.account-card{padding:21px;margin-bottom:17px;border-radius:13px}.account-overview-grid>.account-card{margin:0}.account-form-row{grid-template-columns:minmax(0,1fr) auto;gap:9px}.account-form-row .account-primary{padding:12px 15px}.entitlement-card .account-primary{margin-top:4px}.account-table{min-width:650px}.account-table th,.account-table td{padding:11px 12px}.usage-tools{align-items:flex-start}.account-history article{padding:15px 13px}.history-item-actions{gap:5px}.history-item-actions button{padding:7px 9px}.account-admin-tabs{flex-wrap:nowrap;overflow:auto}.account-admin-tabs button{white-space:nowrap;flex:none;font-size:12px}.auth-mode .account-layout{margin:24px auto;padding:0 16px}.login-layout{grid-template-columns:1fr;min-height:0;border-radius:17px}.login-story{padding:27px 25px 25px}.login-story h1{font-size:27px;line-height:1.45;margin:12px 0 8px;max-width:none}.login-description{font-size:12px;max-width:none}.login-orbit{display:none}.login-benefits{display:none}.login-panel{padding:32px 23px 30px}.login-mark{width:44px;height:44px;border-radius:12px;font-size:25px;margin-bottom:17px}.login-panel h2{font-size:21px;line-height:1.5}.google-signin{margin:25px 0 14px}.login-note{margin:4px 0}.account-feedback{padding:11px 13px;font-size:12px}}


.account-header{flex-wrap:nowrap}.account-header .top-end{flex:0 1 auto}

/* Account dropdown and sidebar home entry. */
.header-identity{position:relative}
.account-menu-trigger{display:flex;align-items:center;gap:9px;min-height:44px;padding:4px 7px;border:1px solid transparent;border-radius:12px;background:transparent;color:#17364b;font:inherit;cursor:pointer}
.account-menu-trigger:hover,.account-menu-trigger[aria-expanded="true"]{background:#eaf4f1}
.account-menu-trigger:focus-visible,.account-menu-logout:focus-visible{outline:2px solid #168b83;outline-offset:3px}
.account-menu-caret{font-size:18px;line-height:1;color:#65788c;transition:transform .15s}
.account-menu-trigger[aria-expanded="true"] .account-menu-caret{transform:rotate(180deg)}
.account-user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:100;width:190px;padding:7px;background:#fff;border:1px solid #dce6ed;border-radius:12px;box-shadow:0 12px 32px #17364b20}
.account-user-menu[hidden]{display:none}
.account-menu-logout{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 13px;border:0;border-radius:8px;background:transparent;color:#526b7c;text-align:left;font:inherit;cursor:pointer}
.account-menu-logout:hover{background:#f3f7fa;color:#17364b}
.account-menu-logout svg{width:19px;height:19px;flex:none}
.account-nav .nav-home{margin-bottom:14px;border:1px solid #dce6ed;background:#fff;color:#17364b}
@media(max-width:800px){.account-nav .nav-home{margin-bottom:0;margin-right:7px}.auth-mode .account-home-link{display:inline}.account-user-menu{width:180px}}
@media(max-width:600px){.account-menu-trigger{gap:5px;padding:4px}.account-user-menu{width:170px}.auth-mode .account-home-link{font-size:12px}}

.account-loading-shell h1{margin:0 0 12px;font-size:28px;color:#142c3f}
.account-skeleton{height:210px;margin-top:25px;border:1px solid #dce6ed;border-radius:16px;background:linear-gradient(110deg,#edf3f7 25%,#f8fbfc 45%,#edf3f7 65%);background-size:220% 100%;animation:account-loading 1.8s linear infinite}
@keyframes account-loading{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.account-skeleton{animation:none}}
