.timeline{display:flex;flex-direction:column;gap:24px}.week-block>h3{margin:0 0 9px 2px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:21px;padding:15px 16px;box-shadow:0 4px 18px rgba(17,24,39,.025);width:100%;text-align:left}.day-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.day-card-head strong{font-size:15px}.day-date{font-size:13px;font-weight:850;color:var(--navy);white-space:nowrap}.day-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.summary-chip{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:11px;color:#495568;background:#faf9f6}.summary-chip.modified{border-color:#d8c5a3;background:#fffaf1;color:#765b2a}.summary-chip.done{border-color:#bcdac8;background:var(--green-soft);color:var(--green)}.back-button{display:inline-flex;align-items:center;gap:4px;padding:4px 0 10px}.back-button svg{width:18px}.day-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:6px}.day-page-head h1{font-size:31px}.day-toolbar{min-height:30px}.tiny-button{width:34px;height:34px;border:0;background:#f4f2ed;border-radius:10px;display:grid;place-items:center;color:var(--navy)}.tiny-button svg{width:17px}.planner-divider{margin:24px 0 10px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.planner-divider:after{content:"";height:1px;background:var(--line);flex:1}.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:calc(72px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);background:rgba(250,249,246,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:center;overflow:hidden}.bottom-nav button{width:min(20%,145px);height:56px;border:0;background:transparent;border-radius:14px;color:#7c8490;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottom-nav button svg{width:21px;height:21px;stroke-width:1.8}.bottom-nav button small{font-size:10px;font-weight:750}.bottom-nav button.active{color:var(--navy);background:#ece9e2}.menu-list{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}.menu-list button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;min-height:72px;padding:14px 15px;display:grid;grid-template-columns:32px 1fr 18px;gap:12px;align-items:center;text-align:left}.menu-list button:last-child{border-bottom:0}.menu-list svg{width:20px;color:var(--navy)}.menu-list strong{display:block}.menu-list small{display:block;color:var(--muted);margin-top:3px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.metric-card strong{display:block;font-family:Georgia,serif;font-size:28px}.metric-card span{font-size:12px;color:var(--muted)}.trend-panel{height:150px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;gap:7px;align-items:flex-end}.trend-bar{flex:1;min-height:3px;border-radius:5px 5px 0 0;background:#b9c7d2}.trend-bar.high{background:#c99386}.empty{border:1px dashed #d9d5cc;border-radius:18px;padding:20px;text-align:center;color:var(--muted);font-size:13px;background:rgba(255,255,255,.45)}.hidden{display:none!important}
dialog{border:0;background:transparent;padding:0;width:min(760px,100%);max-width:100%;max-height:94dvh}dialog::backdrop{background:rgba(13,27,42,.42);backdrop-filter:blur(2px)}.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);max-width:100%;max-height:92dvh;overflow:auto;background:#fbfaf7;border-radius:26px 26px 0 0;padding:22px var(--gutter) calc(28px + env(safe-area-inset-bottom));box-shadow:0 -16px 50px rgba(13,27,42,.13)}.sheet-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;position:sticky;top:-22px;background:#fbfaf7;padding:10px 0 13px;z-index:3}.sheet-head h2{font-family:Georgia,serif;font-size:29px;line-height:1.08;margin:5px 0}.sheet-head p{margin:0;color:var(--muted);font-size:13px}.form-stack{display:grid;gap:14px}.form-stack label{font-size:13px;font-weight:750;color:#394657}.form-stack label>span{float:right;color:var(--muted);font-weight:500}.form-stack input,.form-stack select,.form-stack textarea{display:block;width:100%;max-width:100%;margin-top:6px;border:1px solid #d8d3ca;background:#fff;border-radius:13px;min-height:48px;padding:11px 12px;color:var(--ink);font-size:16px}.form-stack textarea{min-height:88px;resize:vertical}.form-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.primary-button,.secondary-button{border:0;border-radius:14px;min-height:50px;padding:12px;font-weight:850}.primary-button{background:var(--navy);color:#fff}.secondary-button{background:#ebe8e1;color:var(--navy)}.danger-link{border:0;background:transparent;color:var(--red);font-weight:800;padding:12px}.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin:10px 0}.info-card h3{margin:0 0 5px;font-size:16px}.info-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.demo-link{display:inline-flex;margin-top:10px;text-decoration:none;color:var(--navy);font-weight:800;font-size:12px;border-bottom:1px solid #c9c0b2;padding-bottom:2px}
@media(min-width:650px){:root{--gutter:24px}.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:26px;max-height:86dvh}.sheet-head{top:-22px}.surgery-hero{padding:30px}.hero-date{font-size:38px}}

.timeline{gap:34px}
.week-block{display:flex;flex-direction:column;gap:14px}
.week-block>h3{margin:0 0 1px 3px}
.day-card{padding:18px 18px;border-radius:23px;box-shadow:0 7px 24px rgba(17,24,39,.03)}
.day-card-head strong{font-size:16px;color:var(--navy)}
.calendar-sessions{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.calendar-session{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;background:#faf9f6;border:1px solid #ebe7df;border-radius:15px}
.session-icon{width:32px;height:32px;border-radius:10px;background:#f0ede7;display:grid;place-items:center;color:var(--navy)}
.session-icon svg{width:18px;height:18px;stroke-width:1.7}
.session-copy{text-align:left}
.session-copy strong{display:block;font-size:13px;color:var(--ink);font-weight:800}
.session-copy small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}
.session-check{width:24px;height:24px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.session-check svg{width:14px}
.calendar-state{align-self:flex-start;margin-top:2px;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:#745b32;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.calendar-state.complete{background:var(--green-soft);color:var(--green)}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.overview-day{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;min-height:112px}
.overview-day span,.env-label,.taper-panel>span{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.12em}
.overview-day strong{display:block;margin-top:9px;font-size:15px}
.overview-day small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.taper-panel{margin-top:12px;background:var(--navy);color:#fff;border-radius:19px;padding:17px}
.taper-panel strong{display:block;margin-top:7px;font-family:Georgia,serif;font-size:22px;font-weight:500}
.taper-panel p{margin:7px 0 0;color:#d7e0e8;font-size:12.5px;line-height:1.5}
.rule-stack,.environment-cards{display:flex;flex-direction:column;gap:11px}
.rule-card{display:grid;grid-template-columns:12px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.rule-dot{width:10px;height:10px;border-radius:50%;margin-top:5px}
.rule-card.green .rule-dot{background:#3e8b66}.rule-card.amber .rule-dot{background:#bf8a28}.rule-card.red .rule-dot{background:#b45348}
.rule-card strong{font-size:17px}.rule-card small{display:block;margin-top:2px;color:var(--muted);font-weight:750}.rule-card p{margin:8px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}
.environment-card{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:19px;padding:17px;color:var(--ink)}
.environment-card.selected{border-color:#bda77f;box-shadow:inset 0 0 0 1px #d8c7a8}
.environment-card strong{display:block;margin-top:8px;font-size:17px}.environment-card p{margin:6px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}
@media(max-width:380px){.overview-grid{grid-template-columns:1fr}}

.routine-list{margin-top:14px;border-top:1px solid var(--line)}
.routine-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}
.routine-row:last-child{border-bottom:0;padding-bottom:0}
.routine-row span{font-size:13px;color:var(--ink);font-weight:750}
.routine-row strong{font-size:12px;color:var(--muted);font-weight:750;text-align:right;white-space:nowrap}

html[data-theme="dark"] .day-card,
html[data-theme="dark"] .planner-row,
html[data-theme="dark"] .menu-list,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .trend-panel,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .overview-day,
html[data-theme="dark"] .rule-card,
html[data-theme="dark"] .environment-card,
html[data-theme="dark"] .appearance-panel{background:var(--surface)}
html[data-theme="dark"] .calendar-session{background:#0d1824;border-color:var(--line)}
html[data-theme="dark"] .session-icon{background:#182635;color:#d8e5f1}
html[data-theme="dark"] .tiny-button{background:#1a2836;color:#e5edf5}
html[data-theme="dark"] .bottom-nav{background:rgba(8,17,27,.94);border-top-color:var(--line)}
html[data-theme="dark"] .bottom-nav button{color:#8795a5}
html[data-theme="dark"] .bottom-nav button.active{background:#172433;color:#f5f7f9}
html[data-theme="dark"] .menu-list button{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .menu-list svg{color:#d8e5f1}
html[data-theme="dark"] .empty{background:rgba(17,29,42,.7);border-color:#324255}
html[data-theme="dark"] dialog::backdrop{background:rgba(0,0,0,.62)}
html[data-theme="dark"] .sheet{background:#0d1824;color:var(--ink)}
html[data-theme="dark"] .close-button{background:#172433;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .secondary-button{background:#1a2836!important;color:#edf2f7!important;border-color:var(--line)!important}
html[data-theme="dark"] .environment-card.selected{border-color:#8f7650;box-shadow:inset 0 0 0 1px #8f7650}
html[data-theme="dark"] .taper-panel{background:#050c13}
html[data-theme="dark"] .routine-row{border-color:var(--line)}

html[data-theme="dark"] .day-card-head strong{color:#f3f5f7}
html[data-theme="dark"] .day-date{color:#c1a16a}
html[data-theme="dark"] .week-block>h3{color:#aab6c4}
html[data-theme="dark"] .session-copy strong{color:#f3f5f7}

.backup-picker{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:15px;margin-top:10px}
.backup-picker label{font-size:13px;font-weight:750;color:var(--ink)}
.backup-picker input[type="file"]{display:block;width:100%;margin-top:9px;font-size:14px;color:var(--muted)}
.backup-status{margin-top:10px;border-radius:17px;padding:15px}
.backup-ready{border:1px solid #bcdac8;background:var(--green-soft);color:var(--green)}
.backup-ready strong,.backup-ready span,.backup-ready small{display:block}
.backup-ready span{margin-top:4px;font-size:13px;font-weight:750}
.backup-ready small{margin-top:3px;font-size:11px;opacity:.8}
.backup-error{border:1px solid #e1b2ac;background:var(--red-soft);color:var(--red);font-size:13px}
#confirmRestoreBtn:disabled{opacity:.42;cursor:default}
html[data-theme="dark"] .backup-picker{background:var(--surface)}

.day-card-head{justify-content:flex-start;align-items:center}
.day-date-lockup{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;min-width:0}
.day-date-lockup>strong{font-size:16px}
.day-date-lockup>span[aria-hidden="true"]{color:var(--muted);font-size:14px;font-weight:800}
.day-date-lockup .day-date{font-size:12px;letter-spacing:.045em}
html[data-theme="dark"] .day-date-lockup>strong{color:#f3f5f7}
html[data-theme="dark"] .day-date-lockup .day-date{color:#c1a16a}

/* V5 clinical + UX audit remediation */
.form-stack label{color:var(--ink)}
.sheet-head h2{color:var(--ink)}
.sheet-head{background:#fbfaf7}
.actual-card{color:var(--ink)}
.actual-card:visited,.actual-card:link{color:var(--ink)}
.tiny-button{width:44px;height:44px}
.close-button,.icon-button{min-width:44px;min-height:44px}
.quiet-button,.text-button,.back-button{min-height:44px}
.day-card{padding:14px 15px;border-radius:20px}
.timeline{gap:24px}
.week-block{gap:10px}
.calendar-sessions{gap:7px;margin-top:11px}
.calendar-session{padding:9px 10px;border-radius:13px}
.calendar-session.optional{opacity:.88}
.history-date{margin:14px 2px 3px!important}
.progress-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px}
.progress-big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.progress-big strong{font-family:Georgia,serif;font-size:34px}
.progress-big span{font-size:13px;font-weight:800;color:var(--ink)}
.progress-panel>p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.summary-grid div{min-width:0}
.summary-grid strong,.summary-grid span{display:block}
.summary-grid strong{font-family:Georgia,serif;font-size:25px}
.summary-grid span{margin-top:2px;color:var(--muted);font-size:11.5px}
.trend-panel{height:178px;padding:16px 12px 12px;align-items:stretch}
.trend-item{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.trend-item .trend-bar{width:100%;flex:0 0 auto}
.trend-value{font-size:10px;font-weight:850;color:var(--muted)}
.trend-item small{font-size:9px;color:var(--muted)}
.previous-load{grid-column:1/-1;background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:11px 12px}
.previous-load span,.previous-load strong,.previous-load small{display:block}
.previous-load span{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.12em}
.previous-load strong{margin-top:4px;font-size:13px}
.previous-load small{margin-top:2px;color:var(--muted);font-size:10px}
.exercise-guide{padding:16px}
.guide-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.guide-row:first-of-type{margin-top:10px}
.guide-row>span{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.1em}
.guide-row p{margin:0!important}
.program-phase{background:var(--accent-soft);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px}
.program-phase span,.program-phase strong,.program-phase p{display:block}
.program-phase span{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.12em}
.program-phase strong{margin-top:5px;font-family:Georgia,serif;font-size:24px}
.program-phase p{margin:5px 0 0;color:var(--muted);font-size:12px}
.flare-actions{display:grid;gap:8px;margin-top:4px}
html[data-theme="dark"] .sheet-head{background:#0d1824}
html[data-theme="dark"] .sheet-head h2,
html[data-theme="dark"] .form-stack label{color:var(--ink)}
html[data-theme="dark"] .primary-button{background:#d0ad72;color:#08111b}
html[data-theme="dark"] .actual-card{color:var(--ink)}
html[data-theme="dark"] .progress-panel,
html[data-theme="dark"] .maintenance-strip{background:var(--surface)}
html[data-theme="dark"] .today-row-content{background:var(--bg)}
html[data-theme="dark"] .today-drag-handle{background:var(--surface);border-color:var(--line);color:#aab6c4}
@media(max-width:390px){
 .day-card{padding:13px}
 .calendar-session{grid-template-columns:32px minmax(0,1fr) auto}
 .summary-grid{gap:12px}
}

@media(max-width:649px){
 #sheetDialog{
   position:fixed;
   inset:0;
   width:100%;
   max-width:none;
   height:100%;
   max-height:none;
   margin:0;
   padding:0;
   background:var(--bg);
 }
 #sheetDialog::backdrop{background:var(--bg)}
 #sheetDialog .sheet{
   position:absolute;
   inset:0;
   left:0;
   bottom:auto;
   transform:none;
   width:100%;
   max-width:none;
   height:100%;
   max-height:none;
   border-radius:0;
   box-shadow:none;
   overflow-y:auto;
   overscroll-behavior:contain;
   -webkit-overflow-scrolling:touch;
   padding:0 var(--gutter) calc(32px + env(safe-area-inset-bottom));
   background:var(--bg);
 }
 #sheetDialog .sheet-head{
   top:0;
   margin:0 calc(-1 * var(--gutter));
   padding:calc(14px + env(safe-area-inset-top)) var(--gutter) 14px;
   background:var(--bg);
   border-bottom:1px solid var(--line);
 }
 #sheetDialog #sheetBody{padding-top:18px;padding-bottom:24px}
 #sheetDialog .close-button{flex:0 0 44px}
 html[data-theme="dark"] #sheetDialog,
 html[data-theme="dark"] #sheetDialog .sheet,
 html[data-theme="dark"] #sheetDialog .sheet-head{background:var(--bg)}
}

/* Calendar day planner — same interaction language as Today */
.day-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:12px}
.day-page-head h1{margin-bottom:2px}
.day-page-head p:empty{display:none}
.day-toolbar{min-height:0;margin-bottom:10px}
.day-plan-row{position:relative;display:block;overflow:hidden;border-radius:20px}
.day-row-content{position:relative;z-index:2;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:stretch;background:var(--bg);transition:transform .18s ease;touch-action:pan-y}
.day-drag-handle{width:44px;min-height:100%;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--muted);display:grid;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.day-drag-handle svg{width:19px;height:19px}
.day-plan-row .plan-card{height:100%;min-height:76px;padding:13px 14px}
.day-plan-row .plan-copy{min-width:0}
.day-plan-row .plan-copy strong{font-size:15px;white-space:normal}
.day-plan-row .plan-copy small{font-size:12px;line-height:1.25}
.day-plan-row.dragging{opacity:.72;outline:2px solid var(--accent);outline-offset:-2px}
.day-plan-row.dragging .day-row-content{transition:none}
.day-drag-active,.day-drag-active *{-webkit-user-select:none!important;user-select:none!important}
#dayPlan{gap:10px}
#dayPlan .swipe-delete{width:84px}
html[data-theme="dark"] .day-row-content{background:var(--bg)}
html[data-theme="dark"] .day-drag-handle{background:var(--surface);border-color:var(--line);color:#aab6c4}
@media(max-width:390px){
 .day-plan-row .plan-card{padding:12px}
 .day-plan-row .line-icon{width:38px;height:38px;flex-basis:38px}
}

/* Scroll indicators hidden throughout the app; scrolling remains functional where needed */
html,body,.sheet,.view,#sheetDialog{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.sheet::-webkit-scrollbar,.view::-webkit-scrollbar,#sheetDialog::-webkit-scrollbar{display:none;width:0;height:0}

/* Compact one-screen logging */
@media(max-width:649px){
 #sheetDialog:has(.activity-log-form) .sheet-head{
   padding-top:calc(8px + env(safe-area-inset-top));
   padding-bottom:9px;
 }
 #sheetDialog:has(.activity-log-form) .sheet-head .section-kicker{font-size:9px}
 #sheetDialog:has(.activity-log-form) .sheet-head h2{
   font-size:27px;
   line-height:1.01;
   margin:3px 0 2px;
   max-width:calc(100vw - 92px);
 }
 #sheetDialog:has(.activity-log-form) .sheet-head p{font-size:11.5px}
 #sheetDialog:has(.activity-log-form) #sheetBody{
   padding-top:10px;
   padding-bottom:calc(10px + env(safe-area-inset-bottom));
 }
 .activity-log-form{
   display:grid;
   grid-template-columns:minmax(0,1fr) minmax(0,1fr);
   gap:8px 10px;
   align-items:end;
 }
 .activity-log-form>label{font-size:11px;font-weight:800;line-height:1.2}
 .activity-log-form input,
 .activity-log-form select,
 .activity-log-form textarea{
   min-height:43px;
   margin-top:4px;
   padding:8px 10px;
   border-radius:11px;
   font-size:15px;
 }
 .activity-log-form textarea{min-height:52px;max-height:52px;resize:none}
 .activity-log-form>label:has(textarea),
 .activity-log-form>[id$="InstructorOtherWrap"],
 .activity-log-form>.previous-load,
 .activity-log-form>.form-actions,
 .activity-log-form>.primary-button{grid-column:1/-1}
 .activity-log-form .form-actions{gap:8px}
 .activity-log-form .primary-button,
 .activity-log-form .secondary-button{min-height:44px;padding:9px 10px}
 .activity-log-form .previous-load{padding:8px 10px;margin:0}
}

/* Per-day training location lives in Calendar day view */
.day-training-location{margin:8px 0 14px}
.day-training-location .section-kicker{display:block;margin:0 2px 8px}
.day-environment-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
.day-environment-selector button{min-height:42px}
@media(max-width:390px){
 .day-environment-selector button{font-size:12px;padding-left:5px;padding-right:5px}
}

/* MISHA visual identity — source photography only */
.visual-hero{position:relative;overflow:hidden;isolation:isolate}
.hero-implant-photo{position:absolute;z-index:0;right:-5%;top:0;width:68%;height:100%;object-fit:cover;object-position:center;opacity:.52;pointer-events:none}
.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0e2438 0%,#0e2438 42%,rgba(14,36,56,.84) 61%,rgba(14,36,56,.55) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2}
.visual-hero .hero-row{max-width:92%}
.visual-hero .hero-phase{max-width:70%}

.page-visual-heading{position:relative;overflow:hidden;isolation:isolate;min-height:112px;border:1px solid var(--line);border-radius:22px;padding:18px 20px;margin-bottom:20px;display:flex;align-items:flex-end}
.page-visual-heading>img{position:absolute;z-index:0;inset:0 0 0 auto;width:58%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.page-visual-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--surface) 0%,var(--surface) 42%,rgba(17,29,42,.82) 66%,rgba(17,29,42,.32) 100%);pointer-events:none}
.page-visual-copy{position:relative;z-index:2}
.page-visual-copy h1{margin:3px 0 0}
.calendar-visual>img{opacity:.38}
.progress-visual>img{opacity:.26;object-fit:cover;object-position:62% 50%}
html[data-theme="light"] .page-visual-shade{background:linear-gradient(90deg,#fff 0%,#fff 44%,rgba(255,255,255,.88) 68%,rgba(255,255,255,.38) 100%)}
html[data-theme="light"] .calendar-visual>img{opacity:.32}
html[data-theme="light"] .progress-visual>img{opacity:.22}

.misha-view{padding-bottom:calc(118px + env(safe-area-inset-bottom))}
.misha-heading{margin:8px 0 18px}
.misha-heading h1{font-family:Georgia,serif;font-size:42px;line-height:1;margin:6px 0 9px;letter-spacing:-.025em}
.misha-heading p{margin:0;max-width:34rem;color:var(--muted);font-size:13px;line-height:1.5}
.misha-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;gap:0;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);scrollbar-width:none}
.misha-carousel::-webkit-scrollbar{display:none}
.misha-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;padding-right:0}
.misha-image-frame{height:330px;background:#08111b;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.misha-image-frame img{display:block;width:100%;height:100%;object-fit:contain}
.misha-image-frame.model-frame img{object-fit:contain;object-position:center}
.misha-step{display:block;margin-top:16px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.14em}
.misha-slide h2{font-family:Georgia,serif;font-size:27px;line-height:1.06;margin:5px 0 8px}
.misha-slide p{margin:0;color:var(--ink);font-size:14px;line-height:1.5}
.misha-slide small{display:block;margin-top:6px;color:var(--muted);font-size:11.5px;line-height:1.45}
.misha-carousel-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:14px 0}
.misha-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center}
.misha-arrow svg{width:18px;height:18px}
.misha-dots{display:flex;justify-content:center;gap:7px}
.misha-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:var(--line-strong,#667789);opacity:.55;transition:width .18s ease,opacity .18s ease,border-radius .18s ease}
.misha-dots button.active{width:22px;border-radius:999px;background:var(--accent);opacity:1}
.misha-return{width:100%;margin-top:2px}
html[data-theme="light"] .misha-image-frame{background:#e8e6e0}

@media(max-width:390px){
 .hero-implant-photo{right:-12%;width:74%}
 .visual-hero .hero-phase{max-width:64%}
 .page-visual-heading{min-height:102px;padding:16px}
 .misha-image-frame{height:290px}
 .misha-heading h1{font-size:38px}
}

/* Preview 11 navigation + mast hotfix */
.bottom-nav{
 z-index:10000!important;
 pointer-events:auto!important;
 isolation:isolate;
}
.bottom-nav button{
 position:relative;
 z-index:2;
 pointer-events:auto!important;
 touch-action:manipulation;
 -webkit-tap-highlight-color:transparent;
}
.bottom-nav button *{pointer-events:none}
.app-shell,main,.view{position:relative;z-index:auto}
.misha-mast{
 position:relative;
 overflow:hidden;
 min-height:118px;
 margin:0 0 14px;
 border:1px solid var(--line);
 border-radius:26px;
 background:#0d1d2d;
 isolation:isolate;
}
.misha-mast>img{
 position:absolute;
 z-index:0;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:58% 52%;
 opacity:.78;
 pointer-events:none;
}
.misha-mast-shade{
 position:absolute;
 z-index:1;
 inset:0;
 background:linear-gradient(90deg,rgba(8,17,27,.96) 0%,rgba(8,17,27,.82) 42%,rgba(8,17,27,.30) 74%,rgba(8,17,27,.10) 100%);
 pointer-events:none;
}
.misha-mast-copy{
 position:relative;
 z-index:2;
 min-height:118px;
 max-width:62%;
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 padding:18px 20px;
}
.misha-mast-copy span{
 color:var(--accent);
 font-size:10px;
 font-weight:900;
 letter-spacing:.14em;
}
.misha-mast-copy strong{
 display:block;
 margin-top:5px;
 color:#fff;
 font-family:Georgia,serif;
 font-size:22px;
 line-height:1.05;
 font-weight:500;
}
html[data-theme="dark"] .hero-implant-photo{opacity:.72}
html[data-theme="dark"] .hero-shade{
 background:linear-gradient(90deg,#0e2438 0%,rgba(14,36,56,.94) 40%,rgba(14,36,56,.57) 61%,rgba(14,36,56,.20) 100%)
}
html[data-theme="dark"] .calendar-visual>img{opacity:.58}
html[data-theme="dark"] .progress-visual>img{opacity:.42}
html[data-theme="dark"] .page-visual-shade{
 background:linear-gradient(90deg,var(--surface) 0%,rgba(17,29,42,.96) 40%,rgba(17,29,42,.56) 68%,rgba(17,29,42,.16) 100%)
}
html[data-theme="light"] .misha-mast>img{opacity:.64}
html[data-theme="light"] .misha-mast-shade{
 background:linear-gradient(90deg,rgba(245,241,233,.98) 0%,rgba(245,241,233,.88) 43%,rgba(245,241,233,.34) 74%,rgba(245,241,233,.08) 100%)
}
html[data-theme="light"] .misha-mast-copy strong{color:var(--navy)}
@media(max-width:390px){
 .misha-mast{min-height:108px}
 .misha-mast-copy{min-height:108px;padding:16px;max-width:64%}
 .misha-mast-copy strong{font-size:20px}
}
