/* Career Alternatives — Student area (Material Design 3) */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --md-primary:#2563eb;--md-on-primary:#fff;
  --md-primary-container:#dde6ff;--md-on-primary-container:#0b2050;
  --md-surface:#fbfbfe;--md-surface-1:#f2f3fb;--md-surface-2:#eaecf7;--md-surface-3:#e3e6f4;
  --md-surface-variant:#e2e4ef;--md-outline:#c4c7d2;--md-outline-2:#e3e5ee;
  --md-on-surface:#1a1c20;--md-on-surface-variant:#45474f;
  --md-secondary:#565e71;--md-tertiary:#7a5900;--md-error:#ba1a1a;
  --md-r:16px;--md-r-sm:12px;--md-r-xl:28px;
  --md-e1:0 1px 2px rgba(0,0,0,.06),0 1px 3px 1px rgba(0,0,0,.08);
  --md-e2:0 1px 2px rgba(0,0,0,.06),0 2px 6px 2px rgba(0,0,0,.1);
  --md-e3:0 4px 8px 3px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.1);
  --ff:'Roboto',system-ui,sans-serif;
}
body{font-family:var(--ff);background:var(--md-surface-1);color:var(--md-on-surface);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.material-symbols-rounded{font-variation-settings:'opsz' 24,'wght' 400,'FILL' 0,'GRAD' 0}

/* ===== buttons ===== */
.md-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:var(--ff);font-weight:500;font-size:14px;letter-spacing:.1px;height:40px;padding:0 24px;border-radius:20px;transition:box-shadow .2s,background .2s,filter .2s}
.md-btn .material-symbols-rounded{font-size:18px}
.md-btn-filled{background:var(--md-primary);color:var(--md-on-primary);box-shadow:var(--md-e1)}
.md-btn-filled:hover{box-shadow:var(--md-e2);filter:brightness(1.05)}
.md-btn-tonal{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.md-btn-tonal:hover{box-shadow:var(--md-e1)}
.md-btn-text{background:none;color:var(--md-primary);padding:0 12px}
.md-btn-text:hover{background:rgba(37,99,235,.08)}
.md-btn-outline{background:none;color:var(--md-primary);border:1px solid var(--md-outline)}
.md-btn-outline:hover{background:rgba(37,99,235,.06)}
.md-iconbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:none;background:none;cursor:pointer;color:var(--md-on-surface-variant);transition:background .2s}
.md-iconbtn:hover{background:rgba(0,0,0,.06)}

/* ===== LOGIN ===== */
.md-login{min-height:100vh;display:grid;place-items:center;padding:24px;
  background:radial-gradient(60% 50% at 80% 0%,#dde6ff 0%,transparent 60%),radial-gradient(55% 42% at 0% 100%,#ffe6d2 0%,transparent 60%),var(--md-surface-1)}
.md-login-card{width:100%;max-width:410px;background:var(--md-surface);border-radius:var(--md-r-xl);box-shadow:var(--md-e3);padding:40px 36px}
.md-login-logo{height:38px;margin-bottom:24px}
.md-login-card h1{font-size:24px;font-weight:500;letter-spacing:0;margin-bottom:6px}
.md-login-sub{font-size:14px;color:var(--md-on-surface-variant);margin-bottom:28px}
.md-field{position:relative;display:flex;align-items:center;margin-bottom:16px}
.md-field .material-symbols-rounded{position:absolute;left:16px;font-size:22px;color:var(--md-on-surface-variant);pointer-events:none}
.md-field input{width:100%;height:56px;border:1px solid var(--md-outline);border-radius:var(--md-r-sm);background:var(--md-surface);padding:0 16px 0 50px;font-family:var(--ff);font-size:15px;color:var(--md-on-surface);outline:none;transition:border-color .15s,box-shadow .15s}
.md-field input:focus{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary)}
.md-link{display:inline-block;font-size:13px;color:var(--md-primary);font-weight:500;margin:2px 2px 22px}
.md-login-card .md-btn-filled{width:100%;height:48px;border-radius:24px;font-size:15px}
.md-login-foot{text-align:center;font-size:13.5px;color:var(--md-on-surface-variant);margin-top:24px}
.md-login-foot a{color:var(--md-primary);font-weight:500}

/* ===== DASHBOARD SHELL ===== */
.md-dash{min-height:100vh}
.md-appbar{position:fixed;top:0;left:0;right:0;height:64px;z-index:30;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--md-surface);border-bottom:1px solid var(--md-outline-2)}
.md-appbar .md-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:500;margin-left:4px}
.md-appbar .md-brand img{height:36px}
.md-appbar .spacer{flex:1}
.md-avatar{width:38px;height:38px;border-radius:50%;background:var(--md-primary);color:#fff;display:grid;place-items:center;font-weight:600;font-size:15px;flex:none}
.md-drawer{position:fixed;top:64px;bottom:0;left:0;width:280px;z-index:25;background:var(--md-surface);border-right:1px solid var(--md-outline-2);padding:14px 12px;overflow-y:auto;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.md-drawer-head{display:flex;align-items:center;gap:12px;padding:10px 14px 18px}
.md-drawer-head .md-avatar{width:46px;height:46px;font-size:17px;flex:none}
.md-dh-text{min-width:0}
.md-dh-text b{display:block;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-dh-text span{display:block;font-size:12.5px;color:var(--md-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-avatar.sm{width:34px;height:34px;font-size:14px}
.md-avatar.lg{width:60px;height:60px;font-size:22px}
.md-nav-item{display:flex;align-items:center;gap:14px;height:52px;padding:0 16px;border-radius:26px;font-size:14px;font-weight:500;color:var(--md-on-surface-variant);cursor:pointer;transition:background .18s,color .18s}
.md-nav-item .material-symbols-rounded{font-size:23px}
.md-nav-item:hover{background:var(--md-surface-2)}
.md-nav-item.active{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.md-nav-item.active .material-symbols-rounded{font-variation-settings:'FILL' 1}
.md-nav-divider{height:1px;background:var(--md-outline-2);margin:12px 16px}
.md-scrim{position:fixed;inset:0;z-index:24;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.2s}
.md-main{margin-left:280px;margin-top:64px;padding:32px clamp(18px,4vw,44px) 60px}

/* ===== sections ===== */
.md-section{display:none;animation:mdfade .3s ease}
.md-section.active{display:block}
@keyframes mdfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.md-welcome{margin-bottom:28px}
.md-welcome h1{font-size:clamp(24px,3.2vw,30px);font-weight:500;letter-spacing:0}
.md-welcome p{font-size:14.5px;color:var(--md-on-surface-variant);margin-top:4px}
.md-h2{font-size:20px;font-weight:500;margin:0 0 18px}
.md-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}

/* stat tiles */
.md-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:34px}
@media(max-width:900px){.md-stats{grid-template-columns:1fr 1fr}}
.md-stat{background:var(--md-surface);border-radius:var(--md-r);padding:22px;box-shadow:var(--md-e1)}
.md-stat-ic{width:44px;height:44px;border-radius:12px;background:var(--md-primary-container);color:var(--md-on-primary-container);display:grid;place-items:center;margin-bottom:14px}
.md-stat-ic .material-symbols-rounded{font-size:24px}
.md-stat b{font-size:28px;font-weight:500;letter-spacing:-.5px}
.md-stat span{display:block;font-size:13px;color:var(--md-on-surface-variant);margin-top:2px}

/* item cards */
.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}
.md-card{background:var(--md-surface);border-radius:var(--md-r);box-shadow:var(--md-e1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.md-card:hover{box-shadow:var(--md-e2)}
.md-card-banner{height:120px;background:linear-gradient(135deg,#2563eb,#4f46e5);position:relative;display:grid;place-items:center;color:#fff}
.md-card-banner.g2{background:linear-gradient(135deg,#1b3a8f,#2f6bf0)}
.md-card-banner.g3{background:linear-gradient(135deg,#ea580c,#f97316)}
.md-card-banner.g4{background:linear-gradient(135deg,#4f46e5,#2563eb)}
.md-card-banner .material-symbols-rounded{font-size:46px;opacity:.92}
.md-chip{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--md-on-surface);font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px;letter-spacing:.2px}
.md-card-body{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.md-card-body h4{font-size:16px;font-weight:600;margin-bottom:4px}
.md-card-body .md-sub{font-size:13px;color:var(--md-on-surface-variant);margin-bottom:14px}
.md-progress{height:6px;border-radius:99px;background:var(--md-surface-3);overflow:hidden;margin-bottom:8px}
.md-progress i{display:block;height:100%;border-radius:99px;background:var(--md-primary)}
.md-card-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--md-on-surface-variant);margin-bottom:14px}
.md-card-meta .material-symbols-rounded{font-size:16px}
.md-card-actions{display:flex;gap:8px;margin-top:auto}
.md-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:8px}
.md-tag.ok{background:#dff3e6;color:#0a7d43}.md-tag.warn{background:#fdeccd;color:#8a5a00}.md-tag.info{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.md-card-body .md-tag{align-self:flex-start;margin-bottom:14px}
.md-card-body .md-tag .material-symbols-rounded{font-size:14px}

/* colored bg */
.md-dash{background:linear-gradient(180deg,#eef1fc 0%,var(--md-surface-1) 320px)}
.md-main{position:relative}

/* hero banner */
.md-hero{display:flex;align-items:center;gap:20px;background:linear-gradient(115deg,#1b3a8f 0%,#2563eb 45%,#f97316 130%);color:#fff;border-radius:var(--md-r-xl);padding:30px 34px;margin-bottom:28px;box-shadow:0 10px 30px -12px rgba(37,99,235,.55);overflow:hidden}
.md-hero-tx{flex:1;min-width:0}
.md-hero h1{font-size:clamp(22px,3vw,28px);font-weight:500;letter-spacing:0}
.md-hero p{font-size:14.5px;opacity:.92;margin:6px 0 18px}
.md-hero-ic{font-size:96px!important;opacity:.22}
.md-btn-white{background:#fff;color:var(--md-primary);box-shadow:var(--md-e1)}
.md-btn-white:hover{box-shadow:var(--md-e2);filter:brightness(1.02)}
@media(max-width:620px){.md-hero-ic{display:none}}

/* colored stat icons */
.md-stat-ic.g2{background:#dbe6ff;color:#1b3a8f}
.md-stat-ic.g3{background:#ffe6d2;color:#c2410c}
.md-stat-ic.g4{background:#e0e3ff;color:#4338ca}

/* two-column overview */
.md-cols{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
@media(max-width:1100px){.md-cols{grid-template-columns:1fr}}
.md-aside{background:var(--md-surface);border-radius:var(--md-r);box-shadow:var(--md-e1);padding:22px}
.md-aside .md-h2{font-size:16px;margin-bottom:14px}

/* lists */
.md-list{display:flex;flex-direction:column;gap:6px}
.md-li{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:12px}
.md-li-ic{width:38px;height:38px;border-radius:10px;background:var(--md-primary-container);color:var(--md-on-primary-container);display:grid;place-items:center;flex:none}
.md-li-ic .material-symbols-rounded{font-size:20px}
.md-li-ic.warn{background:#fde7cf;color:#9a5b00}.md-li-ic.ok{background:#d7f3e4;color:#0a7d43}
.md-li b{display:block;font-size:13.5px;font-weight:600}
.md-li span{font-size:12px;color:var(--md-on-surface-variant)}
.md-li.rec{cursor:pointer;background:var(--md-surface-1);transition:background .18s}
.md-li.rec:hover{background:var(--md-surface-2)}
.md-li.rec>div{flex:1}
.md-li.rec>.material-symbols-rounded{color:var(--md-on-surface-variant)}

/* orders table */
.md-table-card{background:var(--md-surface);border-radius:var(--md-r);box-shadow:var(--md-e1);overflow:hidden}
.md-tr{display:grid;grid-template-columns:2.4fr 1fr .8fr 1fr auto;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--md-outline-2);font-size:14px}
.md-tr:last-child{border-bottom:none}
.md-tr-head{background:var(--md-surface-1);font-size:12px;font-weight:600;color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.4px}
.md-tr b{display:block;font-size:14px}
.md-tr span{font-size:12px;color:var(--md-on-surface-variant)}
.md-billbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:18px;border:1px solid var(--md-outline);background:none;cursor:pointer;font-family:var(--ff);font-size:13px;font-weight:500;color:var(--md-primary);transition:background .18s}
.md-billbtn:hover{background:rgba(37,99,235,.07)}
.md-billbtn .material-symbols-rounded{font-size:18px}
@media(max-width:680px){.md-tr{grid-template-columns:1.6fr 1fr auto;}.md-tr>*:nth-child(2),.md-tr>*:nth-child(4){display:none}.md-billbtn span:not(.material-symbols-rounded){display:none}.md-billbtn{padding:0;width:34px;justify-content:center;border-radius:50%}}

/* profile */
.md-profile{background:var(--md-surface);border-radius:var(--md-r);box-shadow:var(--md-e1);overflow:hidden}
.md-prof-head{display:flex;align-items:center;gap:18px;padding:26px 28px 22px;border-bottom:1px solid var(--md-outline-2)}
.md-avatar.xl{width:84px;height:84px;font-size:30px;flex:none}
.md-prof-id{flex:1;min-width:0}
.md-prof-id b{display:block;font-size:20px;font-weight:600}
.md-prof-id>span{font-size:13px;color:var(--md-on-surface-variant)}
.md-prof-head .md-btn-outline{margin-bottom:8px;flex:none}
.md-prof-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.md-pchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:5px 11px;border-radius:99px;background:var(--md-surface-2);color:var(--md-on-surface-variant)}
.md-pchip .material-symbols-rounded{font-size:16px}
.md-pchip.ok{background:#dff3e6;color:#0a7d43}
.md-prof-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--md-outline-2);border:1px solid var(--md-outline-2);border-radius:var(--md-r-sm);overflow:hidden;margin:22px 28px 4px}
.md-prof-stats>div{background:var(--md-surface);text-align:center;padding:14px 8px}
.md-prof-stats b{display:block;font-size:22px;font-weight:600;color:var(--md-primary)}
.md-prof-stats span{font-size:12px;color:var(--md-on-surface-variant)}
.md-form{padding:18px 28px 28px}
.md-form-title{font-size:15px;font-weight:600;margin-bottom:16px}
.md-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.md-form-grid{grid-template-columns:1fr}.md-prof-stats{grid-template-columns:1fr 1fr}.md-prof-head{flex-wrap:wrap}}
.md-input{display:block}
.md-input.full{grid-column:1/-1}
.md-input span{display:block;font-size:12.5px;font-weight:500;color:var(--md-on-surface-variant);margin-bottom:6px}
.md-input input{width:100%;height:52px;border:1px solid var(--md-outline);border-radius:var(--md-r-sm);background:var(--md-surface);padding:0 16px;font-family:var(--ff);font-size:15px;color:var(--md-on-surface);outline:none;transition:border-color .15s,box-shadow .15s}
.md-input input:focus{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary)}
.md-form-actions{display:flex;gap:8px;margin-top:22px}

/* notifications */
.md-notif-wrap{position:relative}
.md-badge{position:absolute;top:5px;right:6px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#ea580c;color:#fff;font-size:10.5px;font-weight:700;font-style:normal;display:grid;place-items:center;border:2px solid var(--md-surface)}
.md-notif{position:absolute;top:52px;right:-6px;width:360px;max-width:90vw;background:var(--md-surface);border-radius:var(--md-r);box-shadow:var(--md-e3);border:1px solid var(--md-outline-2);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s;z-index:40}
.md-notif.open{opacity:1;visibility:visible;transform:none}
.md-notif-head{display:flex;align-items:center;justify-content:space-between;padding:14px 8px 14px 18px;border-bottom:1px solid var(--md-outline-2)}
.md-notif-head b{font-size:15px;font-weight:600}
.md-notif-list{max-height:62vh;overflow-y:auto;padding:6px}
.md-notif-i{display:flex;gap:12px;padding:12px;border-radius:12px;position:relative}
.md-notif-i:hover{background:var(--md-surface-1)}
.md-notif-i .md-li-ic{width:36px;height:36px}
.md-notif-i b{display:block;font-size:13.5px;font-weight:600;margin-bottom:2px}
.md-notif-i span{display:block;font-size:12.5px;color:var(--md-on-surface-variant);line-height:1.4}
.md-notif-i em{display:block;font-size:11px;color:var(--md-muted,#8a92a8);font-style:normal;margin-top:4px}
.md-notif-i.unread{background:rgba(37,99,235,.05)}
.md-notif-i.unread::after{content:"";position:absolute;top:14px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--md-primary)}
@media(max-width:1000px){.md-notif{position:fixed;top:60px;right:8px;left:8px;width:auto}}

/* snackbar */
.md-snack{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:60;background:#2b2c31;color:#f4f4f6;font-size:14px;padding:14px 20px;border-radius:10px;box-shadow:var(--md-e3);max-width:90vw;opacity:0;transition:transform .3s cubic-bezier(.2,.7,.3,1),opacity .3s}
.md-snack.show{transform:translate(-50%,0);opacity:1}

@media(max-width:1000px){
  .md-drawer{transform:translateX(-100%);box-shadow:var(--md-e3)}
  .md-drawer.open{transform:none}
  .md-scrim.show{opacity:1;visibility:visible}
  .md-main{margin-left:0}
}

/* ================= AI PLATFORM DASHBOARD (Part B) ================= */
/* appbar plan pill */
.md-plan-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;background:var(--md-primary-container);color:var(--md-on-primary-container);font-size:13px;font-weight:600;cursor:pointer;margin-right:4px}
.md-plan-pill .material-symbols-rounded{font-size:18px}
@media(max-width:560px){.md-plan-pill{display:none}}

/* panel + sub chip */
.md-panel{background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:var(--md-r);padding:22px clamp(18px,3vw,26px);box-shadow:var(--md-e1)}
.md-subch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--md-on-surface-variant);background:var(--md-surface-1);padding:6px 12px;border-radius:999px}
.md-subch .material-symbols-rounded{font-size:16px;color:var(--md-tertiary)}

/* career roadmap stepper */
.rmap{display:flex;gap:8px;margin-top:18px}
.rmap-step{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}
.rmap-step::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:3px;background:var(--md-surface-2);z-index:0}
.rmap-step:first-child::before{display:none}
.rmap-step.done::before,.rmap-step.current::before{background:var(--md-primary)}
.rmap-dot{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant)}
.rmap-dot .material-symbols-rounded{font-size:22px}
.rmap-step.done .rmap-dot{background:var(--md-primary);color:#fff}
.rmap-step.current .rmap-dot{background:#fff;color:var(--md-primary);box-shadow:0 0 0 3px var(--md-primary)}
.rmap-step b{font-size:13.5px;margin-top:6px}
.rmap-step small{font-size:11.5px;color:var(--md-on-surface-variant)}
@media(max-width:620px){.rmap{overflow-x:auto;padding-bottom:6px}.rmap-step{min-width:84px}}

/* quick tiles */
.qtiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:14px}
@media(max-width:1100px){.qtiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.qtiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.qtiles{grid-template-columns:1fr}}
.qtile{text-align:left;background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:var(--md-r);padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:box-shadow .2s,transform .2s;font-family:var(--ff)}
.qtile:hover{box-shadow:var(--md-e2);transform:translateY(-3px)}
.qtile b{font-size:14.5px;margin-top:8px;color:var(--md-on-surface)}
.qtile>span:not(.qt-ic){font-size:12.5px;color:var(--md-on-surface-variant)}
.qt-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff}
.qt-ic .material-symbols-rounded{font-size:24px}
.qt-ic.g1{background:linear-gradient(135deg,#2563eb,#4f46e5)}
.qt-ic.g2{background:linear-gradient(135deg,#f97316,#ea580c)}
.qt-ic.g3{background:linear-gradient(135deg,#0ea5b7,#2563eb)}
.qt-ic.g4{background:linear-gradient(135deg,#7c3aed,#4f46e5)}
.qt-ic.g5{background:linear-gradient(135deg,#64748b,#475569)}
.qt-lock{display:inline-flex;align-items:center;gap:4px;color:var(--md-tertiary);font-weight:600}
.qt-lock .material-symbols-rounded{font-size:15px}

/* weekly task */
.wtask{background:linear-gradient(150deg,#eef3ff,#fff);border:1px solid var(--md-outline-2);border-radius:var(--md-r);padding:24px;box-shadow:var(--md-e1)}
.wtask-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--md-primary);background:#fff;padding:6px 12px;border-radius:999px;border:1px solid var(--md-outline-2)}
.wtask-tag .material-symbols-rounded{font-size:16px}
.wtask h3{font-size:19px;font-weight:600;margin:14px 0 8px;letter-spacing:0}
.wtask p{font-size:14px;color:var(--md-on-surface-variant);line-height:1.6;margin-bottom:18px}
.wtask-actions{display:flex;gap:10px;flex-wrap:wrap}

/* AI coach chat */
.chatwrap{background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:var(--md-r);box-shadow:var(--md-e1);overflow:hidden;max-width:860px}
.chat-feed{padding:22px;display:flex;flex-direction:column;gap:14px;max-height:56vh;min-height:300px;overflow-y:auto}
.chat-day{align-self:center;font-size:11.5px;color:var(--md-on-surface-variant);background:var(--md-surface-1);padding:4px 12px;border-radius:999px}
.chat-msg{display:flex;gap:10px;max-width:82%}
.chat-msg.me{align-self:flex-end;flex-direction:row-reverse}
.chat-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;display:grid;place-items:center;flex:none}
.chat-av .material-symbols-rounded{font-size:19px}
.chat-bubble{padding:12px 15px;border-radius:16px;font-size:14px;line-height:1.55}
.chat-msg.bot .chat-bubble{background:var(--md-surface-1);color:var(--md-on-surface);border-bottom-left-radius:5px}
.chat-msg.me .chat-bubble{background:var(--md-primary);color:#fff;border-bottom-right-radius:5px}
.chat-input{display:flex;gap:10px;padding:14px;border-top:1px solid var(--md-outline-2)}
.chat-input input{flex:1;height:46px;border:1px solid var(--md-outline);border-radius:23px;padding:0 18px;font-family:var(--ff);font-size:14.5px;outline:none;background:var(--md-surface)}
.chat-input input:focus{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary)}
.chat-input .md-btn{width:46px;padding:0;border-radius:50%}
.chat-meter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--md-surface-1);font-size:12.5px;color:var(--md-on-surface-variant);flex-wrap:wrap}
.chat-meter span{display:inline-flex;align-items:center;gap:6px}
.chat-meter .material-symbols-rounded{font-size:16px;color:var(--md-tertiary)}

/* AI report */
.rep{background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:var(--md-r);box-shadow:var(--md-e1);padding:clamp(20px,3vw,32px);max-width:900px}
.rep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--md-outline-2);padding-bottom:18px}
.rep-kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--md-primary)}
.rep-kicker .material-symbols-rounded{font-size:16px}
.rep-head h2{font-size:22px;font-weight:600;margin-top:6px;letter-spacing:0}
.rep-block{padding:18px 0;border-bottom:1px solid var(--md-outline-2)}
.rep-block:last-child{border-bottom:none}
.rep-block>h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:10px;letter-spacing:0}
.rep-block>h3 .material-symbols-rounded{font-size:20px;color:var(--md-primary)}
.rep-block p{font-size:14px;color:var(--md-on-surface-variant);line-height:1.65;margin-bottom:8px}
.rep-matches{display:flex;flex-direction:column;gap:10px}
.rep-match{display:flex;align-items:center;gap:14px;background:var(--md-surface-1);border-radius:12px;padding:12px 14px}
.rep-pct{font-size:17px;font-weight:700;color:var(--md-primary);min-width:46px}
.rep-match b{font-size:14.5px}
.rep-match span{display:block;font-size:12.5px;color:var(--md-on-surface-variant)}
.rep-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media(max-width:640px){.rep-cols{grid-template-columns:1fr}}
.rep-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.rep-list li{position:relative;padding-left:24px;font-size:14px;color:var(--md-on-surface-variant)}
.rep-list li::before{position:absolute;left:0;top:0;font-weight:700}
.rep-list.ok li::before{content:"\2713";color:#0a7d43}
.rep-list.gap li::before{content:"\2192";color:var(--md-tertiary)}
.rep-steps{padding-left:20px;display:flex;flex-direction:column;gap:8px}
.rep-steps li{font-size:14px;color:var(--md-on-surface-variant);line-height:1.5}

/* subscription plans */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1000px){.plans{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.plans{grid-template-columns:1fr}}
.plan{position:relative;background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:var(--md-r);padding:26px 20px 22px;display:flex;flex-direction:column;box-shadow:var(--md-e1)}
.plan.current{border-color:var(--md-primary);box-shadow:0 0 0 1px var(--md-primary),var(--md-e1)}
.plan.hot{border-color:var(--md-tertiary)}
.plan-badge{position:absolute;top:-11px;left:20px;background:var(--md-primary);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}
.plan-badge.alt{background:var(--md-tertiary)}
.plan-name{font-size:13px;font-weight:700;color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.05em}
.plan-price{font-size:30px;font-weight:700;margin:6px 0 16px;letter-spacing:-.01em}
.plan-price small{font-size:14px;font-weight:500;color:var(--md-on-surface-variant)}
.plan-feat{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px;flex:1}
.plan-feat li{position:relative;padding-left:24px;font-size:13.5px;color:var(--md-on-surface-variant)}
.plan-feat li::before{content:"\2713";position:absolute;left:0;color:var(--md-primary);font-weight:700}
.plan .md-btn{width:100%}
.plans-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--md-on-surface-variant);margin-top:18px}
.plans-note .material-symbols-rounded{font-size:18px;color:var(--md-tertiary)}
.locked-card{opacity:.97}
/* full-width chat + report */
.chatwrap{max-width:none}
.rep{max-width:none}
/* detailed report extras */
.rep-meta{font-size:12.5px;color:var(--md-on-surface-variant);margin-top:6px;max-width:640px;line-height:1.5}
.rep-note{font-size:13px;color:var(--md-on-surface-variant);margin-top:12px;background:var(--md-surface-1);padding:10px 14px;border-radius:10px}
.rep-bars{display:flex;flex-direction:column;gap:11px;margin-top:4px}
.rep-bar{display:grid;grid-template-columns:118px 1fr 44px;align-items:center;gap:12px}
.rep-bar .rb-lbl{font-size:13px;font-weight:500}
.rep-bar .rb-track{height:9px;border-radius:6px;background:var(--md-surface-2);overflow:hidden}
.rep-bar .rb-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#2563eb,#4f46e5)}
.rep-bar .rb-val{font-size:12.5px;font-weight:700;color:var(--md-primary);text-align:right}
@media(max-width:560px){.rep-bar{grid-template-columns:92px 1fr 38px;gap:9px}}
.rep-match-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.rep-mtag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid var(--md-outline-2);color:var(--md-on-surface-variant)}
.rep-prio{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;margin-left:6px}
.rep-prio.hi{background:#fde8e8;color:#b91c1c}
.rep-prio.md{background:#fff0db;color:#b45309}
.rep-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
@media(max-width:560px){.rep-values{grid-template-columns:1fr}}
.rep-val{display:flex;gap:10px;align-items:flex-start;background:var(--md-surface-1);border-radius:12px;padding:12px 14px}
.rep-val .material-symbols-rounded{font-size:20px;color:var(--md-primary);flex:none;margin-top:1px}
.rep-val b{font-size:13.5px;display:block;margin-bottom:1px}
.rep-val span{font-size:12.5px;color:var(--md-on-surface-variant);line-height:1.45}
.rep-plan{display:flex;flex-direction:column;margin-top:6px}
.rep-phase{position:relative;padding:0 0 18px 24px;border-left:2px solid var(--md-surface-2)}
.rep-phase:last-child{padding-bottom:0}
.rep-phase::before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--md-primary);border:2px solid var(--md-surface)}
.rep-phase em{font-size:11px;color:var(--md-primary);font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.03em}
.rep-phase b{font-size:14px;display:block;margin:2px 0 3px}
.rep-phase span{font-size:13px;color:var(--md-on-surface-variant);line-height:1.5}
/* fix: keep career-match meta pills inline (override .rep-match span{display:block}) */
.rep-match .rep-match-meta{display:flex;flex-wrap:wrap;gap:6px}
.rep-match .rep-match-meta .rep-mtag{display:inline-flex;align-items:center;width:auto}

/* login — password eye toggle */
.md-field.pw input{padding-right:48px}
.md-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:none;cursor:pointer;color:var(--md-on-surface-variant);display:grid;place-items:center;border-radius:50%;transition:background .18s}
.md-eye:hover{background:rgba(0,0,0,.06)}
.md-eye .material-symbols-rounded{font-size:21px;left:10px}
/* center eye toggle vertically (robust) */
.md-field.pw{position:relative}
.md-eye{top:0;bottom:0;margin:auto 0;transform:none}

/* ===== career roadmap — detailed vertical timeline ===== */
.rmv-lead{font-size:14px;color:var(--md-on-surface-variant);margin:8px 0 22px;line-height:1.55}
.rmv{display:flex;flex-direction:column}
.rmv-step{display:grid;grid-template-columns:44px 1fr;gap:16px;position:relative;padding-bottom:22px}
.rmv-step:last-child{padding-bottom:0}
.rmv-step::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:var(--md-surface-2)}
.rmv-step:last-child::before{display:none}
.rmv-step.done::before{background:var(--md-primary)}
.rmv-dot{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant)}
.rmv-dot .material-symbols-rounded{font-size:22px}
.rmv-step.done .rmv-dot{background:var(--md-primary);color:#fff}
.rmv-step.current .rmv-dot{background:#fff;color:var(--md-primary);box-shadow:0 0 0 3px var(--md-primary)}
.rmv-c{padding-top:3px;min-width:0}
.rmv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.rmv-top b{font-size:15.5px;font-weight:700}
.rmv-badge{font-size:11px;font-weight:800;letter-spacing:.02em;padding:3px 10px;border-radius:999px}
.rmv-badge.done{color:#0a7d43;background:#ddf3e6}
.rmv-badge.now{color:#fff;background:var(--md-primary)}
.rmv-badge.next{color:var(--md-tertiary);background:#fff0db}
.rmv-badge.goal{color:var(--md-on-surface-variant);background:var(--md-surface-2)}
.rmv-c p{font-size:13.8px;color:var(--md-on-surface-variant);line-height:1.6;margin-bottom:8px}
.rmv-link{padding-left:0;padding-right:0;height:auto;min-height:0}
.rmv-link.md-btn-filled{padding:0 16px;height:38px}
.rmv-step.current .rmv-c{background:linear-gradient(180deg,#eef3ff,#fbfcff);border:1px solid #d9e4ff;border-radius:12px;padding:14px 16px;margin-top:-4px}
.rmv-step.next .rmv-c{opacity:.92}

/* ===== career roadmap — timeline tabs ===== */
.rmt-track{display:flex;gap:0;margin:20px 0 22px}
.rmt-step{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-family:var(--ff);padding:0 4px 11px;text-align:center}
.rmt-step::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:3px;background:var(--md-surface-2);z-index:0}
.rmt-step:first-child::before{display:none}
.rmt-step.done::before,.rmt-step.current::before{background:var(--md-primary)}
.rmt-dot{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant);transition:box-shadow .2s}
.rmt-dot .material-symbols-rounded{font-size:22px}
.rmt-step.done .rmt-dot{background:var(--md-primary);color:#fff}
.rmt-step.current .rmt-dot{background:#fff;color:var(--md-primary);box-shadow:0 0 0 3px var(--md-primary)}
.rmt-lbl{font-size:13px;font-weight:700;color:var(--md-on-surface)}
.rmt-st{font-size:11px;color:var(--md-on-surface-variant)}
.rmt-step.active .rmt-lbl{color:var(--md-primary)}
.rmt-step.active::after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:3px;border-radius:3px;background:var(--md-primary)}
@media(max-width:620px){.rmt-st{display:none}.rmt-lbl{font-size:11px}.rmt-dot{width:40px;height:40px}.rmt-step::before{top:19px}}
.rmt-body{border-top:1px solid var(--md-outline-2);padding-top:20px}
.rmt-panel{display:none}
.rmt-panel.active{display:block;animation:rmtFade .25s ease}
@keyframes rmtFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.rmt-ph{display:flex;align-items:center;gap:14px;margin-bottom:13px}
.rmt-ph-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant);flex:none}
.rmt-ph-ic .material-symbols-rounded{font-size:25px}
.rmt-ph-ic.done{background:#ddf3e6;color:#0a7d43}
.rmt-ph-ic.now{background:var(--md-primary);color:#fff}
.rmt-ph h3{font-size:19px;font-weight:600;letter-spacing:0;margin-top:4px}
.rmt-badge{display:inline-block;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px}
.rmt-badge.done{color:#0a7d43;background:#ddf3e6}
.rmt-badge.now{color:#fff;background:var(--md-primary)}
.rmt-badge.next{color:var(--md-tertiary);background:#fff0db}
.rmt-badge.goal{color:var(--md-on-surface-variant);background:var(--md-surface-2)}
.rmt-panel p{font-size:14.2px;color:var(--md-on-surface-variant);line-height:1.65;margin-bottom:16px;max-width:680px}

/* roadmap tabs — minimal active (no underline) */
.rmt-step.active::after{display:none}
.rmt-step.active .rmt-lbl{color:var(--md-primary)}
.rmt-step.active .rmt-st{color:var(--md-primary);font-weight:600}

/* elaborated done-stage result view */
.res-grid{display:grid;grid-template-columns:230px 1fr;gap:20px;margin:6px 0 20px}
@media(max-width:680px){.res-grid{grid-template-columns:1fr}}
.res-code{background:linear-gradient(150deg,var(--md-primary),#4f46e5);color:#fff;border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;text-align:center}
.res-code>span{font-size:12px;opacity:.9;font-weight:600}
.res-code-big{font-size:38px;font-weight:800;letter-spacing:.06em;line-height:1}
.res-code-sub{font-size:12.5px;opacity:.95}
.res-bars{display:flex;flex-direction:column;gap:11px;justify-content:center}
.res-bar{display:grid;grid-template-columns:108px 1fr 40px;align-items:center;gap:10px}
.rb-l{font-size:12.5px;font-weight:500;color:var(--md-on-surface)}
.rb-t{height:8px;border-radius:5px;background:var(--md-surface-2);overflow:hidden}
.rb-f{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--md-primary),#4f46e5)}
.res-bar b{font-size:12px;font-weight:700;color:var(--md-primary);text-align:right}
.res-h{font-size:13px;font-weight:700;color:var(--md-on-surface);margin:4px 0 11px}
.res-ans{margin-bottom:18px;border:1px solid var(--md-outline-2);border-radius:12px;overflow:hidden}
.res-ans-row{display:flex;justify-content:space-between;gap:14px;padding:11px 15px;font-size:13.5px;border-bottom:1px solid var(--md-outline-2)}
.res-ans-row:last-child{border-bottom:none}
.res-ans-row span{color:var(--md-on-surface-variant)}
.res-ans-row b{color:var(--md-primary);font-weight:700;white-space:nowrap}
.res-matches{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.res-m{display:flex;align-items:center;gap:14px;background:var(--md-surface-1);border-radius:10px;padding:11px 15px}
.res-m b{font-size:15px;font-weight:800;color:var(--md-primary);min-width:44px}
.res-m span{font-size:14px;font-weight:500}
.res-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.res-tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--md-surface-1);color:var(--md-on-surface)}
.res-tag .material-symbols-rounded{font-size:15px}
.res-tag.ok{background:#ddf3e6;color:#0a7d43}
.res-tag.gap{background:#fff0db;color:var(--md-tertiary)}

/* ===== multi-page extras ===== */
.md-back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--md-primary);margin-bottom:14px}
.md-back .material-symbols-rounded{font-size:19px}
.md-panel + .md-panel{margin-top:18px}
.md-note{font-size:14px;color:var(--md-on-surface-variant);line-height:1.6;margin-top:14px;max-width:700px}
.dcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:760px){.dcard-grid{grid-template-columns:1fr}}
.dcard{display:flex;align-items:center;gap:14px;background:var(--md-surface);border:1px solid var(--md-outline-2);border-radius:14px;padding:13px 15px}
.dcard-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant);flex:none}
.dcard-ic .material-symbols-rounded{font-size:23px}
.dcard-ic.ok{background:#ddf3e6;color:#0a7d43}
.dcard-b{flex:1;min-width:0}
.dcard-b b{display:block;font-size:14.5px}
.dcard-b span{font-size:12.5px;color:var(--md-on-surface-variant)}
.dcard .md-btn{flex:none}
.md-empty{text-align:center;padding:32px 20px;border:1px dashed var(--md-outline);border-radius:var(--md-r);margin-top:18px;color:var(--md-on-surface-variant)}
.md-empty .material-symbols-rounded{font-size:34px;color:var(--md-primary)}
.md-empty p{font-size:14px;margin:10px 0 16px}

/* ===== overview — career journey (visual) ===== */
.md-sec-head.mt{margin-top:30px}
.md-sec-head.mt .md-h2{
  margin-bottom:0
}
.md-h2.mt{margin-top:30px}
.jrn-track{display:flex;gap:0;margin:18px 0 20px}
.jrn-step{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0}
.jrn-step::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:3px;background:var(--md-surface-2);z-index:0}
.jrn-step:first-child::before{display:none}
.jrn-step.done::before,.jrn-step.now::before{background:var(--md-primary)}
.jrn-dot{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--md-surface-2);color:var(--md-on-surface-variant)}
.jrn-dot .material-symbols-rounded{font-size:22px}
.jrn-step.done .jrn-dot{background:var(--md-primary);color:#fff}
.jrn-step.now .jrn-dot{background:#fff;color:var(--md-primary);box-shadow:0 0 0 3px var(--md-primary)}
.jrn-lbl{font-size:13px;font-weight:700;color:var(--md-on-surface);margin-top:3px}
.jrn-st{font-size:11px;color:var(--md-on-surface-variant)}
.jrn-step.now .jrn-lbl{color:var(--md-primary)}
@media(max-width:620px){.jrn-st{display:none}.jrn-lbl{font-size:11px}.jrn-dot{width:38px;height:38px}.jrn-step::before{top:18px}}
.jrn-now{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#eef3ff,#f7f9ff);border:1px solid #dbe4ff;border-radius:16px;padding:18px 20px;flex-wrap:wrap}
.jrn-now-ic{width:48px;height:48px;border-radius:14px;background:var(--md-primary);color:#fff;display:grid;place-items:center;flex:none}
.jrn-now-ic .material-symbols-rounded{font-size:25px}
.jrn-now-tx{flex:1;min-width:220px}
.jrn-now-tx .jn-k{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--md-primary)}
.jrn-now-tx b{display:block;font-size:15.5px;margin:3px 0 3px;line-height:1.3}
.jrn-now-tx>span{font-size:13.5px;color:var(--md-on-surface-variant);line-height:1.5}
.jrn-now .md-btn{flex:none}
/* add-another card */
.md-card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;border:1.5px dashed var(--md-outline);background:none;box-shadow:none;color:var(--md-on-surface-variant);padding:24px;min-height:150px;transition:border-color .2s,background .2s}
.md-card-add:hover{border-color:var(--md-primary);background:rgba(37,99,235,.04)}
.md-card-add .material-symbols-rounded{font-size:32px;color:var(--md-primary)}
.md-card-add b{font-size:14.5px;color:var(--md-on-surface);margin-top:4px}
.md-card-add span{font-size:12.5px}

/* ===== flipbook (book reader) ===== */
.fb-wrap{perspective:2400px;perspective-origin:50% 38%}
.flipbook{position:relative;width:560px;height:400px;transform-style:preserve-3d;transform-origin:top center;transform:translateX(var(--fb-x,0)) scale(var(--fb-s,1));transition:transform .9s cubic-bezier(.32,.06,.32,1)}
.flipbook.closed{--fb-x:-140px}
.flipbook.ended{--fb-x:140px}
@media(max-width:620px){.fb-wrap{height:248px}.flipbook{--fb-s:.6}}
@media(max-width:400px){.flipbook{--fb-s:.46}}
.fb-base{position:absolute;top:0;left:0;width:280px;height:100%;background:#efeadf;border-radius:9px 2px 2px 9px;box-shadow:inset -16px 0 28px -16px rgba(0,0,0,.32);transition:opacity .55s ease}
.flipbook.closed .fb-base,.flipbook.ended .fb-base{opacity:0}
.fb-page{position:absolute;top:0;left:280px;width:280px;height:100%;transform-origin:left center;transition:transform 1s cubic-bezier(.32,.06,.32,1);transform-style:preserve-3d;cursor:pointer}
.fb-page.flipped{transform:rotateY(-180deg)}
.fb-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:2px 10px 10px 2px;overflow:hidden;background:#fff;box-shadow:6px 8px 28px -12px rgba(17,26,62,.36)}
.fb-back{transform:rotateY(180deg);background:#fff;border-radius:10px 2px 2px 10px}
.fb-wm{display:grid;place-items:center;height:100%;font-family:'Roboto',sans-serif;font-weight:800;font-size:15px;color:rgba(17,26,62,.12);letter-spacing:.04em;text-align:center}
.fb-cover{background:linear-gradient(150deg,#1b3a8f 0%,#2563eb 58%,#4f46e5 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:32px 26px;text-align:center}
.fb-cv-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;opacity:.85}
.fb-cv-mid h3{color:#fff;font-size:23px;line-height:1.22}
.fb-cv-rule{display:block;width:46px;height:3px;background:rgba(255,255,255,.65);margin:14px auto;border-radius:2px}
.fb-cv-by{font-size:13px;opacity:.85}
.fb-cv-foot{display:inline-flex;align-items:center;gap:6px;font-size:12px;opacity:.85;justify-content:center}
.fb-cv-foot .material-symbols-rounded{font-size:16px}
.fb-pg{padding:28px 26px;display:flex;flex-direction:column;height:100%;position:relative}
.fb-pg-tag{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8;font-weight:700;margin-bottom:10px}
.fb-pg h4{font-size:19px;line-height:1.25;margin-bottom:14px;color:#111a3e}
.fb-pg p{font-size:13.5px;color:#4a5568;line-height:1.6;margin-bottom:10px}
.fb-toc{list-style:none;display:grid;gap:11px}
.fb-toc li{display:flex;gap:12px;align-items:center;font-size:13.6px;font-weight:600;color:#111a3e;border-bottom:1px dashed #e3e6f4;padding-bottom:9px}
.fb-toc li span{font-family:'Roboto',sans-serif;font-weight:800;color:#2563eb;font-size:12.5px}
.fb-list{list-style:none;display:grid;gap:14px}
.fb-list li{display:flex;gap:11px;align-items:center;font-size:13.8px;font-weight:600;color:#111a3e}
.fb-list li .material-symbols-rounded{font-size:20px;color:#2563eb}
.fb-pno{position:absolute;bottom:16px;right:22px;font-size:11px;color:#8a90a2;font-weight:700}
.fb-end{align-items:center;justify-content:center;text-align:center;gap:4px}
.fb-end .material-symbols-rounded{font-size:42px;color:#2563eb;margin-bottom:8px}
.fb-ctrl{display:flex;align-items:center;gap:18px}
.fb-nav{width:46px;height:46px;border-radius:50%;border:1.5px solid #e3e6f4;background:#fff;display:grid;place-items:center;cursor:pointer;color:#1d4ed8;transition:border-color .18s,background .18s}
.fb-nav:hover:not(:disabled){border-color:#2563eb;background:#eaf1ff}
.fb-nav:disabled{opacity:.4;cursor:default}
.fb-ind{font-size:13.5px;font-weight:700;color:#111a3e;min-width:90px;text-align:center}

/* flipbook — corner curl hint on hover */
.fb-front::after{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-style:solid;border-width:0;border-color:transparent;transition:border-width .25s ease;pointer-events:none}
.fb-page:hover .fb-front::after{border-width:0 0 44px 44px;border-color:transparent transparent #cfe0ff transparent;filter:drop-shadow(-3px -3px 6px rgba(17,26,62,.28))}
.fb-cover.fb-front::after{}
.fb-page:hover .fb-cover.fb-front::after{border-color:transparent transparent rgba(255,255,255,.55) transparent}

.fb-bc-ic{display:block;font-size:40px;color:#fff;margin-bottom:12px}

/* book thickness — page-stack fore-edge so it reads as a real book */
.fb-cover.fb-front{box-shadow:6px 8px 26px -12px rgba(17,26,62,.36),4px 0 0 -1px #e6edf8,8px 0 0 -2px #d7e1f1,11px 0 0 -3px #c9d6ec}
.fb-backcover{box-shadow:-6px 8px 26px -12px rgba(17,26,62,.36),-4px 0 0 -1px #e6edf8,-8px 0 0 -2px #d7e1f1,-11px 0 0 -3px #c9d6ec}

/* back cover — muted tone (distinct from vivid front) */
.fb-backcover{background:linear-gradient(150deg,#2f3346 0%,#454c66 100%)}
.fb-backcover .fb-cv-kicker,.fb-backcover .fb-cv-by{opacity:.7}
.fb-backcover .fb-cv-rule{background:rgba(255,255,255,.4)}

/* ===== book reader (flipbook) modal ===== */
.mdl{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(11,16,38,.6);opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s}
.mdl.open{opacity:1;visibility:visible}
.mdl-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:none;background:#f2f3fb;color:#111a3e;display:grid;place-items:center;cursor:pointer;transition:background .18s;z-index:3}
.mdl-close:hover{background:#e6e9f5}
.bk-mdl-card{background:#fff;border-radius:24px;max-width:680px;width:100%;max-height:94vh;overflow:hidden;padding:28px 24px 22px;position:relative;box-shadow:0 30px 60px -20px rgba(11,16,38,.5);display:flex;flex-direction:column;align-items:center;gap:16px;transform:translateY(16px) scale(.98);transition:transform .26s cubic-bezier(.2,.7,.3,1)}
.bk-mdl.open .bk-mdl-card{transform:none}
.bk-mdl-title{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1d4ed8;text-align:center;padding:0 40px}
.bk-mdl .fb-wrap{margin-top:4px}
@media(max-width:620px){.bk-mdl .fb-wrap{height:248px}}

/* transactions — white table header + page head + upgrade stat */
.md-table-card .md-tr-head{background:#fff;color:var(--md-on-surface-variant)}
.md-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.md-pagehead h1{font-size:26px;font-weight:500;letter-spacing:0;margin-bottom:4px}
.md-pagehead p{font-size:14px;color:var(--md-on-surface-variant)}
.md-stat-link{display:block;transition:box-shadow .2s,transform .2s}
.md-stat-link:hover{box-shadow:var(--md-e2);transform:translateY(-3px)}
.md-stat-link span .material-symbols-rounded{font-size:15px;vertical-align:-2px;color:var(--md-primary)}
/* transactions — 3-up stats (not 4) */
.md-stats-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.md-stats-3{grid-template-columns:1fr}}

/* appbar user chip */
.md-userchip{display:flex;align-items:center;gap:10px}
.md-uc-tx{display:flex;flex-direction:column;line-height:1.18}
.md-uc-tx b{font-size:13.5px;font-weight:600;color:var(--md-on-surface)}
.md-uc-tx span{font-size:11.5px;color:var(--md-on-surface-variant)}
@media(max-width:560px){.md-uc-tx{display:none}}

/* ===== AI coach — richer chat ===== */
.coach-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.coach-ava{width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 10px 22px -12px rgba(37,99,235,.7)}
.coach-ava .material-symbols-rounded{font-size:26px}
.coach-id{flex:1;min-width:0}
.coach-id b{display:block;font-size:18px;font-weight:600}
.coach-status{font-size:12.5px;color:var(--md-on-surface-variant);display:inline-flex;align-items:center;gap:6px}
.coach-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block}
.coach-plan{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--md-primary);background:#eaf1ff;padding:7px 12px;border-radius:999px;flex:none}
.coach-plan .material-symbols-rounded{font-size:16px}
.chat-feed{min-height:360px}
.chat-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 0}
.chat-chip{font-family:var(--ff);font-size:12.8px;font-weight:500;color:var(--md-primary);background:#eef3ff;border:1px solid #dbe4ff;border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .18s}
.chat-chip:hover{background:#e0e9ff}
.chat-attach{width:44px;height:46px;border:none;background:none;cursor:pointer;color:var(--md-on-surface-variant);display:grid;place-items:center;border-radius:50%;flex:none;transition:background .18s}
.chat-attach:hover{background:rgba(0,0,0,.06)}
.chat-attach .material-symbols-rounded{font-size:22px}
.chat-send{width:46px;padding:0;border-radius:50%;flex:none}
.chat-typing .chat-bubble{display:flex;gap:5px;align-items:center;padding:15px 16px}
.chat-typing .chat-bubble i{width:7px;height:7px;border-radius:50%;background:var(--md-on-surface-variant);display:block;animation:ctyp 1s infinite}
.chat-typing .chat-bubble i:nth-child(2){animation-delay:.15s}
.chat-typing .chat-bubble i:nth-child(3){animation-delay:.3s}
@keyframes ctyp{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
/* chat input fixes — circular send + gap below suggestions */
.chat-input{align-items:center}
.chat-send{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;flex:none}
.chat-suggest{padding:14px 16px 16px}
.coach-head{flex-wrap:wrap}
.coach-up .material-symbols-rounded{font-size:18px}
/* coach avatars use the logo */
.coach-ava{background:#fff;border:1px solid var(--md-outline-2);box-shadow:none;padding:7px}
.coach-ava img{width:100%;height:100%;object-fit:contain}
.chat-av{background:#fff;border:1px solid var(--md-outline-2);padding:4px}
.chat-av img{width:100%;height:100%;object-fit:contain}
/* plan pill upgrade affordance */
.md-pp-up{margin-left:7px;padding-left:9px;border-left:1px solid rgba(11,32,80,.18);font-weight:700;color:var(--md-primary)}
.md-plan-pill:hover .md-pp-up{text-decoration:underline}
