
*{box-sizing:border-box}
:root{
  --blue:#17458f;--blue-dark:#0d2e64;--gold:#f7a81b;--red:#d91f26;
  --ink:#172033;--muted:#677386;--bg:#eef3f8;--card:#fff;--line:#dbe4ee;
  --success:#1f8a5b;
}
body{margin:0;background:var(--bg);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink)}
button,a,input,textarea{font:inherit}
button{cursor:pointer}
.phone-shell{max-width:520px;margin:0 auto;min-height:100vh;background:#f8fafc;position:relative;padding-bottom:86px;box-shadow:0 0 35px rgba(19,47,81,.12)}
.app-header{background:linear-gradient(145deg,var(--blue),var(--blue-dark));color:#fff;padding:calc(22px + env(safe-area-inset-top)) 20px 22px;display:flex;justify-content:space-between;align-items:center}
.app-header h1{margin:2px 0;font-size:28px;letter-spacing:-.5px}
.app-header p{margin:0;opacity:.86;font-size:14px}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:800}
.avatar{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:var(--gold);color:#fff;font-weight:900}
main{padding:16px}
.screen{display:none}.screen.active{display:block}
.hero-card{background:linear-gradient(135deg,#fff,#edf4ff);border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 25px rgba(18,54,93,.08)}
.hero-card h2{font-size:25px;margin:7px 0 2px}.hero-card p{margin:0;color:var(--muted)}
.pill{display:inline-block;background:#e8f0fb;color:var(--blue);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.hero-badge{width:70px;height:70px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-size:38px}
.progress-card,.mentor-card,.settings-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:14px;box-shadow:0 7px 20px rgba(19,47,81,.06)}
.progress-top,.screen-heading,.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.progress-card h3,.mentor-card h3,.settings-card h3{margin:3px 0 0}.progress-card p{color:var(--muted);font-size:14px;line-height:1.4}
.progress-track{height:12px;background:#e8edf3;border-radius:999px;overflow:hidden;margin-top:14px}
#progressFill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--blue));transition:.3s}
.primary,.secondary{border:0;border-radius:12px;padding:13px 16px;font-weight:800}
.primary{background:var(--blue);color:#fff}.secondary{background:#e9eff6;color:var(--blue)}
.wide{width:100%}.section-title{font-size:17px;margin:22px 2px 11px}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.quick-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:800;box-shadow:0 5px 14px rgba(18,54,93,.05)}
.quick-icon,.resource-icon{width:36px;height:36px;border-radius:10px;background:#e8f0fb;color:var(--blue);display:grid;place-items:center;font-weight:900}
.mentor-card{display:flex;justify-content:space-between;align-items:center}.mentor-card p{margin:3px 0;color:var(--muted);font-size:14px}
.event-card,.project-card,.task-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:11px;box-shadow:0 5px 15px rgba(18,54,93,.05)}
.event-card{display:flex;gap:13px;align-items:flex-start}.date-tile{min-width:54px;border-radius:12px;background:#e9f0fb;color:var(--blue);text-align:center;padding:8px 5px;font-weight:900}.date-tile small{display:block;font-size:11px}
.event-card h4,.project-card h4,.task-card h3{margin:0 0 5px}.event-card p,.project-card p,.task-card p,.screen-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.screen-heading h2{font-size:27px;margin:4px 0}.mini-progress{background:var(--gold);color:#fff;border-radius:999px;padding:9px 12px;font-weight:900}
.screen-copy{margin-bottom:14px}
.task-card{display:grid;grid-template-columns:42px 1fr 36px;gap:12px;align-items:start}
.task-num{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px}
.task-card.done{border-color:#9cc8b4;background:#f5fbf8}.task-card.done .task-num{background:var(--success)}
.task-check{width:30px;height:30px;accent-color:var(--blue);margin-top:4px}
.task-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.task-links a{background:#edf3fb;color:var(--blue);text-decoration:none;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:800}
.segmented{background:#e8edf4;border-radius:12px;padding:4px;display:grid;grid-template-columns:1fr 1fr;margin:8px 0 14px}.segment{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:800;color:var(--muted)}.segment.active{background:#fff;color:var(--blue);box-shadow:0 2px 7px rgba(0,0,0,.08)}
.project-card .project-meta{display:flex;justify-content:space-between;margin-top:12px;align-items:center}.status{font-size:12px;font-weight:800;color:var(--success)}
.resource-list{display:grid;gap:10px}.resource-row{display:grid;grid-template-columns:42px 1fr 20px;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;color:var(--ink);text-decoration:none}.resource-row small{display:block;color:var(--muted);margin-top:3px;line-height:1.3}
.toggle-row{display:flex;justify-content:space-between;align-items:center;margin:13px 0 18px}.toggle-row small{display:block;color:var(--muted);margin-top:4px}.toggle-row input{width:22px;height:22px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:20}.nav-item{border:0;background:transparent;color:var(--muted);display:grid;gap:3px;place-items:center}.nav-item span{font-size:21px}.nav-item small{font-size:11px}.nav-item.active{color:var(--blue);font-weight:900}
dialog{border:0;border-radius:20px;padding:0;width:min(440px,92vw);box-shadow:0 25px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(5,20,40,.55)}
.dialog-card{padding:20px}.dialog-card h2{margin:0}.icon-btn{border:0;background:#edf2f7;border-radius:50%;width:36px;height:36px;font-size:24px}
.dialog-card label{display:block;font-weight:800;font-size:13px;margin-top:13px}.dialog-card input,.dialog-card textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #bcc9d6;border-radius:10px}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#15233a;color:#fff;padding:11px 16px;border-radius:999px;font-weight:700;z-index:50}
@media(max-width:380px){.quick-grid{grid-template-columns:1fr}.task-card{grid-template-columns:36px 1fr 30px}.app-header h1{font-size:25px}}
