.milestone-page-heading{padding-top:64px;padding-bottom:0}.milestone-page-heading h1{font-size:clamp(36px,4.1vw,58px);line-height:1.12;letter-spacing:-.045em;margin:0 0 18px}.milestone-page-heading p{font-size:17px;line-height:1.7;color:#536273;margin:0}.milestone-page-heading+div.section{padding-top:46px;padding-bottom:90px}.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:48px}.milestone-card{min-width:0}.milestone-photo{display:block;overflow:hidden;border-radius:3px;background:#edf1f4}.milestone-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.milestone-card-copy{padding:20px 0 0}.milestone-card h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 10px}.milestone-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.milestone-card p{font-size:15px;line-height:1.7;color:#42566a;margin:0 0 16px;overflow-wrap:anywhere}.milestone-card time,.milestone-detail time{display:block;color:#627184;font-size:13px;line-height:1.5}.milestone-empty{font-size:16px;line-height:1.8;color:#627184;padding:24px 0;margin:0}.milestone-home-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:38px}.milestone-home-heading h2{font-size:clamp(30px,3.3vw,44px);margin:0;line-height:1.15}.milestone-home-heading .plain-link{font-size:14px}.milestone-detail{max-width:900px;margin:auto}.milestone-detail>.plain-link{display:block;margin-bottom:30px}.milestone-detail>h1{font-size:clamp(34px,4vw,56px);overflow-wrap:anywhere;margin-top:15px}.milestone-detail figure{margin:28px 0}.milestone-detail img{width:100%;height:auto;border-radius:3px}.milestone-story{line-height:1.9;overflow-wrap:anywhere}.milestone-story p{font-size:16px}.milestone-context{font-size:13px;color:#536273;border-top:1px solid #dbe2e9;padding-top:20px}.milestone-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;border-top:1px solid #dbe2e9;padding:36px 0 0;margin-top:54px;align-items:center}.milestone-stats h2{font-size:28px;margin-bottom:8px}.milestone-stats p,.milestone-stats .eyebrow{color:#536273;font-size:11px;margin-bottom:0}.milestone-stats strong{display:block;font-size:34px;line-height:1.2}.milestone-stats span{font-size:13px}@media(max-width:760px){.milestone-page-heading{padding-top:40px}.milestone-page-heading p{font-size:15px}.milestone-page-heading+div.section{padding-top:32px;padding-bottom:55px}.milestone-grid{grid-template-columns:1fr;row-gap:36px}.milestone-card h3{font-size:22px}.milestone-home-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:28px}.milestone-stats{grid-template-columns:1fr 1fr}.milestone-stats>div:first-child{grid-column:1/-1}}
.content-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.content-heading h1{font-size:42px}.content-heading p{font-size:14px}.manager-status{padding:15px 20px;background:#edf5fb;border-radius:8px;color:#204e73;font-size:14px;min-height:54px}.manager-status:empty{padding:0;min-height:0}.manager-status.is-error{background:#fff0eb;color:#7b241b}.manager-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 35px}.manager-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:start}.manager-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.manager-list-heading h2{font-size:28px;margin:0}.manager-editor{border:1px solid #dbe2e9;border-radius:10px;padding:28px;background:#f7f9fb;max-width:780px;min-width:0}.manager-editor h2{font-size:30px}.manager-editor input,.manager-editor select,.manager-editor textarea{font-size:14px}.manager-editor label{font-size:13px}.manager-editor button{font-size:12px}.manager-small{margin-top:10px}.manager-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.manager-post-row{padding:20px;border:1px solid #dbe2e9;border-radius:8px;margin-bottom:12px;overflow-wrap:anywhere}.manager-post-row strong{display:block;font-size:16px}.manager-post-row p{font-size:11px;margin:7px 0 15px}.manager-post-row button{font-size:12px;margin-right:20px}.manager-photo{width:100%;height:auto;max-height:420px;object-fit:contain;margin-top:20px;background:#122235;border-radius:8px}.manager-photo[hidden]{display:none}.manager-check{display:flex;align-items:center;gap:10px}.manager-check input{width:20px;min-height:20px;flex:none}.manager-dialog{width:min(900px,calc(100% - 30px));max-height:90dvh;border:1px solid #bdccda;border-radius:12px;padding:25px;color:#122334}.manager-dialog::backdrop{background:#07121fa8}.manager-dialog>.button{margin-bottom:25px}.manager-editor input[type=range]{padding:0;accent-color:#195ec7;min-height:35px}.manager-editor input[type=file]{padding:10px}.milestone-section a:focus-visible,.manager-tabs button:focus-visible{outline:3px solid #195ec7;outline-offset:4px}@media(max-width:900px){.milestone-grid{grid-template-columns:1fr 1fr}.manager-layout{grid-template-columns:1fr}.content-heading{display:block}}@media(max-width:600px){.milestone-grid{grid-template-columns:1fr}.milestone-stats{grid-template-columns:1fr 1fr;padding:24px}.milestone-stats>div:first-child{grid-column:1/-1}.manager-editor{padding:22px}.manager-actions .button{flex:1;min-width:125px}.manager-editor .form-row{grid-template-columns:1fr}.content-heading h1{font-size:34px}.manager-dialog{padding:20px}}
.manager-session{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;margin-bottom:32px;border:1px solid #dbe2e9;border-radius:8px;background:#f7f9fb}.manager-session p{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.manager-session strong,.manager-session span{display:block}.manager-session span{color:#536273;font-size:12px}.manager-session a{white-space:nowrap;font-size:14px}@media(max-width:600px){.manager-session{align-items:flex-start;flex-direction:column;gap:12px}}

.crop-preview{display:block;position:relative;width:100%;padding:0;margin-top:20px;overflow:hidden;border:1px solid #c5d2de;border-radius:8px;background:#122235;cursor:pointer}.crop-preview[hidden]{display:none}.crop-preview img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}.crop-preview>span{position:absolute;bottom:14px;right:14px;background:#fff;color:#122334;border-radius:5px;padding:9px 13px;font-size:13px;box-shadow:0 2px 12px #0003}.crop-preview:focus-visible{outline:3px solid #195ec7;outline-offset:4px}.crop-dialog{max-width:800px}.crop-dialog h2{font-size:28px;margin-bottom:10px}.crop-dialog>p{font-size:14px;line-height:1.7}.crop-frame{position:relative;width:min(100%,calc(52dvh * var(--photo-ratio,1.5)));aspect-ratio:var(--photo-ratio,1.5);margin:20px auto;background:#122235;overflow:hidden;border-radius:4px;cursor:grab}.crop-frame.is-dragging{cursor:grabbing}.crop-frame canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none}.crop-frame canvas:focus-visible{outline:3px solid #a9d7ff;outline-offset:-3px}.crop-window{position:absolute;box-sizing:border-box;border:2px solid #fff;box-shadow:0 0 0 999px #07121f88;pointer-events:none}.crop-grid{position:absolute;inset:0;pointer-events:none}.crop-grid i{position:absolute;background:#ffffff66}.crop-grid i:nth-child(1),.crop-grid i:nth-child(2){top:0;bottom:0;width:1px;left:33.333%}.crop-grid i:nth-child(2){left:66.667%}.crop-grid i:nth-child(3),.crop-grid i:nth-child(4){left:0;right:0;height:1px;top:33.333%}.crop-grid i:nth-child(4){top:66.667%}.crop-zoom{display:flex;align-items:center;gap:15px;margin:18px 0}.crop-zoom label{font-size:14px;margin:0;white-space:nowrap}.crop-zoom input{flex:1;min-width:0;accent-color:#195ec7}.crop-zoom output{font-size:13px;min-width:45px;text-align:right}.crop-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.crop-actions>.plain-link{border:0;background:transparent;color:#193650;cursor:pointer;margin-right:auto;min-height:44px;padding:10px 4px;font-size:14px}.crop-actions .button{font-size:13px;padding:12px 18px;min-height:44px}.crop-dialog>.form-help{margin-bottom:0;font-size:12px}@media(max-width:600px){.crop-dialog{padding:20px}.crop-actions{gap:8px}.crop-actions .button{padding:12px 14px}.crop-preview>span{bottom:10px;right:10px}}
#remove-photo[hidden]{display:none}

.milestone-card .milestone-instructor,.milestone-detail .milestone-instructor{font-size:13px;line-height:1.6;color:#536273;margin:0 0 12px}
.manager-modal-open{overflow:hidden}
.manager-posts{max-width:1050px;margin-inline:auto}
.manager-posts .manager-list-heading{margin-bottom:24px}
.manager-posts #post-list{display:grid;gap:14px}
.manager-posts .manager-post-row{display:flex;align-items:center;gap:22px;padding:24px;margin:0;border:1px solid #dce4eb;border-radius:14px;background:#fff;box-shadow:0 3px 18px #12233405}
.manager-post-thumb{width:80px;height:80px;flex:none;object-fit:cover;border-radius:9px;background:#edf1f4}
.manager-post-copy{flex:1;min-width:0}
.manager-post-row .manager-post-copy strong{font-size:17px;font-weight:650;line-height:1.45;color:#122334}
.manager-post-row .manager-post-copy p{font-size:12px;color:#536273;margin:5px 0 10px;line-height:1.5}
.manager-post-state{display:inline-block;font-size:11px;font-weight:600;line-height:1.4;padding:4px 9px;border-radius:20px;background:#eef2f6;color:#4c6072}
.manager-post-state[data-state=published]{background:#e8f5ee;color:#246746}
.manager-post-state[data-state=draft]{background:#eaf2fc;color:#305b86}
.manager-post-actions{display:flex;align-items:center;gap:10px;flex:none}
.manager-post-row .manager-post-actions button{margin:0;min-height:40px;padding:9px 16px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}
.manager-edit-button{background:#f3f7fb;color:#173b5b;border:1px solid #cfdeea}
.manager-edit-button:hover{background:#e5eff8;border-color:#9abbd5}
.manager-archive-button{background:transparent;color:#536273;border:1px solid transparent}
.manager-archive-button:hover{background:#f1f4f7;color:#122334}
.manager-post-empty{padding:40px;border:1px dashed #c7d5e1;border-radius:14px;background:#f8fafc;font-size:15px;color:#536273;line-height:1.8;text-align:center;margin:0}
.manager-tabs button{border:1px solid #dce4eb;border-radius:9px;background:#f5f8fb;color:#455c70;padding:12px 19px;font-size:13px;font-weight:600;cursor:pointer;min-height:44px}
.manager-tabs button[aria-pressed=true]{background:#122334;border-color:#122334;color:#fff}
.post-editor-dialog{width:min(780px,calc(100vw - 48px));height:min(780px,calc(100dvh - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #d9e3ec;border-radius:18px;background:#fff;box-shadow:0 24px 90px #07121f40;overflow:hidden;color:#122334}
.post-editor-dialog[open]{display:flex;flex-direction:column}
.post-editor-dialog::backdrop{background:#07121f9c;backdrop-filter:blur(5px)}
.post-editor-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-bottom:1px solid #e5ebf1;flex:none}
.post-editor-header .eyebrow{font-size:10px;margin:0 0 6px;color:#536b81}
.post-editor-header h2{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:0}
.post-editor-header h2:focus{outline:none}
.post-editor-dialog .editor-close{display:grid;place-items:center;width:40px;height:40px;min-height:40px;flex:none;border:1px solid #dce4eb;border-radius:10px;background:#f6f8fa;color:#455c70;cursor:pointer}
.editor-close svg{width:20px;height:20px}
.post-editor-dialog #post-form{display:flex;flex-direction:column;flex:1;min-height:0}
.post-editor-fields{padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-gutter:stable}
.post-editor-dialog label{font-size:13px;font-weight:600;color:#263f54;margin-bottom:8px}
.post-editor-dialog input,.post-editor-dialog select,.post-editor-dialog textarea{font-size:14px;border:1px solid #c9d7e3;border-radius:8px;background:#fff;color:#122334;min-height:46px}
.post-editor-dialog textarea{min-height:150px;resize:vertical}
.post-editor-dialog .form-row{gap:18px}
.post-editor-dialog input:focus,.post-editor-dialog select:focus,.post-editor-dialog textarea:focus{outline:3px solid #195ec729;outline-offset:1px;border-color:#4f83b0}
.post-editor-dialog .plain-link{border:0;background:transparent;color:#285b85;padding:0;cursor:pointer;font-size:12px;font-weight:600;min-height:32px}
.post-editor-dialog .form-help{font-size:11px;line-height:1.7;color:#627184}
.post-editor-dialog .post-editor-status{flex:none;min-height:0;border-radius:8px;padding:10px 14px;margin:12px 28px 0;font-size:13px}
.post-editor-dialog .post-editor-status:empty{display:none}
.post-editor-footer{padding:18px 28px 16px;background:#f8fafc;border-top:1px solid #e5ebf1;flex:none}
.post-editor-footer .manager-actions{margin:0;gap:10px;align-items:center;flex-wrap:wrap}
.post-editor-footer .button{font-size:12px;border-radius:8px;padding:12px 17px;min-height:44px;cursor:pointer}
.post-editor-dialog .editor-cancel{margin-right:auto;background:transparent;border:1px solid transparent;border-radius:8px;min-height:44px;padding:10px 8px;color:#536273;font-size:13px;font-weight:600;cursor:pointer}
.post-editor-dialog .editor-cancel:hover,.post-editor-dialog .editor-close:hover{background:#eaf0f5;color:#122334}
.post-editor-footer .form-help{margin:12px 0 0;font-size:10px}
.manager-post-actions button:focus-visible,.editor-close:focus-visible,.editor-cancel:focus-visible,.post-editor-dialog button:focus-visible{outline:3px solid #195ec7;outline-offset:3px}
.post-editor-dialog button:disabled{opacity:.55;cursor:wait}
@media(prefers-reduced-motion:no-preference){.post-editor-dialog[open]{animation:post-editor-appear .18s ease-out}@keyframes post-editor-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:600px){.manager-posts .manager-post-row{flex-wrap:wrap;gap:16px;padding:20px}.manager-post-thumb{width:64px;height:64px}.manager-post-copy{min-width:160px}.manager-post-actions{width:100%;justify-content:flex-end;border-top:1px solid #e5ebf1;padding-top:14px}.manager-post-empty{padding:28px 22px}.post-editor-dialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.post-editor-header{padding:18px 20px}.post-editor-header h2{font-size:24px}.post-editor-fields{padding:22px 20px}.post-editor-footer{padding:14px 20px}.post-editor-footer .manager-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.post-editor-footer .manager-actions .button{width:100%;min-width:0;padding-inline:10px}.post-editor-dialog .editor-cancel{margin:0;text-align:center}.post-editor-dialog .post-editor-status{margin-inline:20px}.manager-tabs{gap:8px}.manager-tabs button{padding-inline:14px}}

.stats-preview{margin:24px 0;padding:22px;border:1px solid #d7e3ed;border-radius:12px;background:#fff}.stats-preview[hidden]{display:none}.stats-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.stats-preview-heading h3{font-size:17px;margin:0;line-height:1.35}.stats-preview-heading span{font-size:12px;color:#536b81}.stats-preview-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}.stats-preview-counts>div{min-width:0}.stats-preview-counts dt{font-size:11px;color:#536273;line-height:1.6}.stats-preview-counts dd{font-size:30px;font-weight:650;line-height:1.3;color:#122334;margin:6px 0 0}.stats-preview .form-help{font-size:11px;line-height:1.7;color:#536273;margin:18px 0 0}#stats-preview-validation[hidden]{display:none}#stats-preview-validation{color:#8b2920}@media(max-width:480px){.stats-preview{padding:18px}.stats-preview-counts{gap:12px}.stats-preview-counts dd{font-size:27px}.stats-preview-counts dt{min-height:36px}.stats-preview-heading{gap:12px}}
