:root{color-scheme:light;font-family:Be Vietnam Pro,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--ink: #172033;--muted: #5d687d;--line: #d9e2ef;--surface: #ffffff;--surface-soft: #f6f8fb;--teal: #0f766e;--blue: #2563eb;--coral: #d65f5f;--amber: #b7791f;--shadow: 0 12px 38px rgba(23, 32, 51, .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eef3f7;color:var(--ink);min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0f766e29,#2563eb24),radial-gradient(circle at top left,rgba(24,189,131,.22),transparent 34%),radial-gradient(circle at bottom right,rgba(37,99,235,.18),transparent 36%),#eef3f7}.login-card{width:min(100%,440px);display:grid;gap:22px;padding:24px;border:1px solid rgba(217,226,239,.9);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-brand{display:flex;align-items:center;gap:12px}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:18px}.login-brand small,.login-copy p{color:var(--muted)}.login-copy h1{margin:12px 0 8px;font-size:32px;line-height:1.15}.login-copy p{margin:0;line-height:1.6}.login-form{display:grid;gap:14px}.login-error{margin:0;padding:10px 12px;border:1px solid #f3b5b5;border-radius:8px;background:#fff3f3;color:#9a2f2f;font-size:14px;line-height:1.45}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,40px);border-bottom:1px solid rgba(217,226,239,.9);background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#e8f5f3;color:var(--teal)}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{color:var(--muted);font-size:12px}.topbar-actions,.hero-actions,.toolbar-buttons,.modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.visit-counter{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.visit-counter span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.icon-button,.toolbar-buttons button,.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;border:1px solid var(--line);padding:0 14px;font-weight:700;color:var(--ink);background:#fff;transition:transform .16s ease,border-color .16s ease,background .16s ease}.icon-button:hover,.toolbar-buttons button:hover,.secondary-button:hover,.primary-button:hover{transform:translateY(-1px);border-color:#a7b7cc}.primary-button{background:var(--teal);border-color:var(--teal);color:#fff}.secondary-button{background:#fef7ec;border-color:#edd4aa;color:#7a4b12}.hero-band{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(20px,4vw,48px);padding:clamp(26px,5vw,56px) clamp(16px,4vw,40px) 32px;background:linear-gradient(135deg,#0f766e1f,#2563eb1a),#fbfdff;border-bottom:1px solid var(--line)}.hero-copy{align-self:center}.eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;color:#0c5f58;background:#def4ef;font-size:13px;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{max-width:780px;margin:18px 0 16px;font-size:clamp(34px,5vw,60px);line-height:1.06;letter-spacing:0}.hero-copy p{max-width:680px;color:var(--muted);font-size:17px;line-height:1.7}.hero-visual{min-height:320px;border:1px solid rgba(15,118,110,.16);border-radius:8px;background:linear-gradient(180deg,#ffffffd9,#f6f8fbf2),repeating-linear-gradient(90deg,rgba(15,118,110,.08) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(37,99,235,.08) 0 1px,transparent 1px 64px);box-shadow:var(--shadow);padding:20px}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:100%}.visual-grid div{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:130px;padding:16px;border-radius:8px;border:1px solid var(--line);background:#fff}.visual-grid div:nth-child(1){color:var(--teal)}.visual-grid div:nth-child(2){color:var(--blue)}.visual-grid div:nth-child(3){color:var(--amber)}.visual-grid div:nth-child(4){color:var(--coral)}.visual-grid strong{color:var(--ink)}.visual-grid span{color:var(--muted);font-size:13px;line-height:1.45}.notice{margin:18px clamp(16px,4vw,40px) 0;padding:12px 14px;border:1px solid #c7d7ec;border-radius:8px;background:#fff;color:#29415f;line-height:1.55}.workspace{display:grid;grid-template-columns:minmax(290px,390px) minmax(0,1fr);gap:18px;padding:18px clamp(16px,4vw,40px) 40px}.profile-panel,.plan-panel,.settings-modal{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #1720330f}.profile-panel{align-self:start;display:grid;gap:14px;padding:18px}.section-heading{display:flex;align-items:flex-start;gap:10px}.section-heading>span{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:#edf7ff;color:var(--blue)}.section-heading h2,.plan-toolbar h2{margin:0 0 5px;font-size:20px}.section-heading p,.plan-toolbar p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}label{display:grid;gap:7px;color:#324057;font-size:14px;font-weight:700}input,select,textarea{width:100%;border:1px solid #c9d5e6;border-radius:8px;background:#fff;color:var(--ink);min-height:44px;padding:10px 12px}textarea{min-height:86px;resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}input[type=range]{padding:0}.plan-panel{overflow:hidden}.plan-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.progress-track{height:10px;background:#e8eef6}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));transition:width .3s ease}.empty-state{display:grid;place-items:center;text-align:center;gap:10px;min-height:430px;padding:28px;color:var(--muted)}.empty-state h3{color:var(--ink);margin-bottom:0}.empty-state p{max-width:560px;line-height:1.65}.plan-content{display:grid;gap:18px;padding:18px}.summary-band{padding:14px;border-left:5px solid var(--teal);border-radius:8px;background:#f2fbf8}.summary-band p{margin:8px 0 0;color:#29415f;line-height:1.65}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.milestone-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.milestone-card span{color:var(--blue);font-size:12px;font-weight:800}.milestone-card h3{margin:8px 0;font-size:15px}.milestone-card p,.milestone-card small{color:var(--muted);line-height:1.55}.month-list{display:grid;gap:18px}.month-section{display:grid;gap:10px}.month-section>h3{margin:0;font-size:18px}.task-list{display:grid;gap:10px}.task-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.check-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #aebbd0;border-radius:8px;background:#fff;color:#fff}.check-button.complete{border-color:var(--teal);background:var(--teal)}.task-titleline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.skill-badge{padding:3px 8px;border:1px solid;border-radius:8px;background:#fff}.task-row h4{margin:8px 0;font-size:16px;line-height:1.45}.task-row ul{margin:0 0 10px;padding-left:20px;color:#34425a;line-height:1.6}.task-metric,.task-medical{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.task-medical{margin-top:6px;color:#335b57}.author-section{padding:0 clamp(16px,4vw,40px) 46px}.author-heading{margin-bottom:14px}.author-heading h2{margin:0 0 6px;font-size:21px}.author-heading p{margin:0;color:var(--muted);font-size:14px}.author-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 28px #17203314}.author-cover{height:120px;background:linear-gradient(105deg,#18bd83,#1899b8 52%,#2764e6)}.author-profile{display:grid;justify-items:center;gap:6px;padding:0 18px 18px;text-align:center}.author-profile img{width:96px;height:96px;margin-top:-48px;border:5px solid #ffffff;border-radius:50%;box-shadow:0 10px 22px #1720332e;object-fit:cover}.author-profile h3{margin:4px 0 0;font-size:22px;line-height:1.3}.author-profile p{margin:0;color:var(--teal);font-size:14px;font-weight:800}.author-info-list{display:grid;gap:12px;width:min(100%,420px);margin:0 auto;padding:0 18px 18px}.author-info-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}.author-info-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}.author-info-icon.medical{background:#d9f9e9;color:var(--teal)}.author-info-icon.school{background:#e3f0ff;color:var(--blue)}.author-info-icon.address{background:#fff2c7;color:var(--amber)}.author-info-item small{display:block;margin-bottom:4px;color:#738096;font-size:11px;font-weight:800;line-height:1.2;text-transform:uppercase}.author-info-item strong{display:block;color:var(--ink);font-size:13px;line-height:1.35}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#17203373}.settings-modal{width:min(560px,100%);display:grid;gap:15px;padding:18px}.settings-note{margin:0;color:var(--muted);line-height:1.6;font-size:14px}.modal-actions{justify-content:flex-end}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.hero-band,.workspace{grid-template-columns:1fr}.profile-panel{position:static}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.topbar,.plan-toolbar{align-items:stretch;flex-direction:column}.topbar-actions,.toolbar-buttons{width:100%}.visit-counter{width:100%;overflow-x:auto;padding-bottom:2px}.icon-button,.toolbar-buttons button,.hero-actions button,.modal-actions button{flex:1 1 auto}.visual-grid,.milestone-grid{grid-template-columns:1fr}.hero-visual{min-height:auto}.task-row{grid-template-columns:1fr}}
