/* HWF_VISUAL_LOCK_V1 — owner-approved visual authority.
   Source: approved composite; this stylesheet changes presentation only.
   Canvas, proportions, typography hierarchy, children-as-rows Week, and
   child-banded Day follow the locked reference. No canonical data writes. */

body:has(#check.hwf-lock-active.active){background:#f7f6f1;color:#091928}
body:has(#check.hwf-lock-active.active) .app{
  max-width:1280px;margin:0 auto;min-height:100vh;padding:0 27px 46px;
  background:#fff;border:0;border-radius:0;box-shadow:none;overflow:visible
}
body:has(#check.hwf-lock-active.active) .app>header,
body:has(#check.hwf-lock-active.active) .app>.progress,
body:has(#check.hwf-lock-active.active) .app>main>.progress,
body:has(#check.hwf-lock-active.active) #scenarioBanner,
body:has(#check.hwf-lock-active.active) #planContext{display:none!important}
#check.hwf-lock-active{max-width:none;width:100%;margin:0;padding:0}
#check.hwf-lock-active>:not(#hwfVisualLockRoot){display:none!important}
#hwfVisualLockRoot{--hwf-ink:#091928;--hwf-deep:#083b43;--hwf-teal:#259b91;--hwf-line:#e5e7e5;--hwf-muted:#637282;--hwf-warm:#f7f6f1;color:var(--hwf-ink);font-family:"Segoe UI",Inter,Arial,sans-serif;font-size:15px;line-height:1.42;max-width:100%}
#hwfVisualLockRoot *{box-sizing:border-box}
#hwfVisualLockRoot button,#hwfVisualLockRoot select{font:inherit}
#hwfVisualLockRoot button{box-shadow:none;transform:none;min-height:0;border-radius:9px;transition:background-color .14s,border-color .14s}
#hwfVisualLockRoot button:focus-visible,#hwfVisualLockRoot select:focus-visible{outline:3px solid rgba(35,139,132,.3);outline-offset:2px}
#hwfVisualLockRoot button:disabled{opacity:.38;cursor:not-allowed}
#hwfVisualLockRoot svg{width:19px;height:19px;flex:0 0 auto;vertical-align:middle}
#hwfVisualLockRoot h1,#hwfVisualLockRoot h2,#hwfVisualLockRoot h3{font-family:Georgia,"Times New Roman",serif;color:#091928;font-weight:700;letter-spacing:-.035em}
#hwfVisualLockRoot h1{font-size:clamp(2.35rem,4vw,3.65rem);line-height:1.08;margin:0 0 .45rem}
#hwfVisualLockRoot h2{font-size:clamp(1.24rem,1.8vw,1.7rem);line-height:1.18;margin:0}
#hwfVisualLockRoot p{margin:0}
.hwf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hwf-topbar{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--hwf-line);margin:0 -3px 24px;padding:0 4px}
.hwf-wordmark{display:flex;align-items:center;gap:12px;flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:bold;letter-spacing:-.04em;line-height:1.02;color:#0c2232}
.hwf-mark{height:35px;display:flex;align-items:flex-end;gap:4px}
.hwf-mark i{display:block;width:9px;border-radius:1px 1px 0 0;background:#6b9f9f}
.hwf-mark i:nth-child(1){height:17px;background:#6c969d}
.hwf-mark i:nth-child(2){height:23px;background:#579f9f}
.hwf-mark i:nth-child(3){height:29px;background:#329a9a}
.hwf-mark i:nth-child(4){height:35px;background:#117b82}
.hwf-nav{display:flex;align-items:center;justify-content:center;gap:25px;flex:1;min-width:0}
#hwfVisualLockRoot .hwf-nav-tab,#hwfVisualLockRoot .hwf-nav-action{position:relative;border:0;background:none;padding:11px 0;border-radius:0;color:#43515f;font-size:14px;white-space:nowrap;font-weight:530}
#hwfVisualLockRoot .hwf-nav-tab:hover,#hwfVisualLockRoot .hwf-nav-action:hover{color:var(--hwf-deep);background:none}
#hwfVisualLockRoot .hwf-nav-tab.is-current{color:#081e2d;font-weight:800}
#hwfVisualLockRoot .hwf-nav-tab.is-current:after{content:"";height:3px;background:#092b40;position:absolute;left:0;right:0;bottom:2px;border-radius:2px}
.hwf-top-actions{display:flex;align-items:center;gap:12px}
#hwfVisualLockRoot .hwf-icon-button{border:0;background:#fff;padding:8px;color:#3d5e70;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px}
#hwfVisualLockRoot .hwf-icon-button:hover{background:#f1f5f4}
.hwf-avatar{width:34px;height:34px;display:grid;place-items:center;background:#f1f0eb;border-radius:50%;font-size:12px;color:#33424f;font-weight:800}
.hwf-scenario-note{border-radius:8px;background:#fff3e7;color:#7d5223;padding:9px 14px;display:flex;align-items:center;gap:9px;font-size:13px;margin:10px 0 18px}
.hwf-scenario-note svg{width:16px!important;height:16px!important}
.hwf-screen{padding:9px 1px 0;animation:hwf-reveal .12s ease}
@keyframes hwf-reveal{from{opacity:.7}to{opacity:1}}
.hwf-title{margin:5px 0 28px}
.hwf-title p{color:#54677b;font-size:18px;margin-top:5px}
.hwf-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center;margin-bottom:25px}
.hwf-metric{display:flex;align-items:center;gap:10px;min-width:0}
.hwf-metric-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#0d7277;background:#e4f8f5}
.hwf-metric-icon.is-warm{color:#b46b42;background:#fff0e6}
.hwf-metric-icon svg{width:21px!important;height:21px!important}
.hwf-metric strong{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.2;color:#091928;display:block;white-space:nowrap}
.hwf-metric small{display:block;font-size:13px;color:#596879;white-space:normal}
.hwf-fit-card{border:1px solid #e0e6e3;border-radius:14px;padding:23px 23px 20px;background:#fff;box-shadow:0 1px 2px rgba(18,42,40,.025);margin-bottom:17px}
.hwf-fit-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.hwf-fit-heading h2{font-size:clamp(1.55rem,2.2vw,2.1rem)!important}
.hwf-fit-result{display:flex;align-items:center;gap:13px;min-width:0}
.hwf-fit-result>strong{font-size:18px;line-height:1.15;color:#0f2735;text-align:right;font-weight:800}
.hwf-fit-state{border-radius:20px;background:#edf0f0;color:#5c6774;font-size:12px;font-weight:800;padding:8px 12px;white-space:nowrap}
.hwf-fit-state.is-positive{background:#dff5f1;color:#17675c}
.hwf-fit-state.is-risk{background:#fff0e7;color:#a05b31}
.hwf-fit-strip{margin:17px 0 11px;background:#e2e7ec;height:14px;border-radius:30px;overflow:hidden}
.hwf-fit-strip span{display:block;height:100%;border-radius:30px;background:#208f87;transition:width .2s ease}
.hwf-fit-risk .hwf-fit-strip span{background:#df9a73}
.hwf-fit-card p{font-size:15px;color:#58697a}
.hwf-drivers{padding:20px 22px 23px;border:1px solid #e4e9e8;border-radius:14px;background:#fff;margin-bottom:31px}
.hwf-drivers h2{font-size:22px!important;margin-bottom:15px!important}
.hwf-driver-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e8eceb;padding-top:17px}
.hwf-driver{display:flex;gap:11px;padding:1px 12px 1px 0;min-width:0}
.hwf-driver+.hwf-driver{border-left:1px solid #eaeded;padding-left:13px}
.hwf-driver-icon{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#4b9c99}
.hwf-driver-icon svg{width:16px!important;height:16px!important}
.hwf-driver.warn .hwf-driver-icon{background:#e59b45}
.hwf-driver.neutral .hwf-driver-icon{background:#478dba}
.hwf-driver strong{font-size:13px;color:#172b37;font-weight:800;display:block;line-height:1.35}
.hwf-driver p{font-size:12px;line-height:1.42;color:#5c6c7b;margin-top:3px!important}
.hwf-review-glance{margin:0 0 27px}
.hwf-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px}
.hwf-section-head h2{display:flex;align-items:center;gap:7px}
#hwfVisualLockRoot .hwf-text-button{border:0;background:transparent;color:#103f53;padding:5px 0;font-size:13px;display:inline-flex;align-items:center;gap:6px;font-weight:800;white-space:nowrap}
#hwfVisualLockRoot .hwf-text-button:hover{color:#138c85;background:transparent}
.hwf-text-button svg{width:16px!important;height:16px!important}
.hwf-mini-grid{display:grid;grid-template-columns:104px repeat(var(--hwf-day-count),minmax(0,1fr));border:1px solid #e0e7e4;border-radius:10px;overflow:hidden;background:#fff}
.hwf-mini-corner{border-bottom:1px solid #e7ebea}
.hwf-mini-day{border-left:1px solid #e7ebea;border-bottom:1px solid #e7ebea;min-width:0;text-align:center;padding:9px 3px;font-size:12px}
.hwf-mini-day strong{font-weight:800}
.hwf-mini-child{display:flex;align-items:center;gap:7px;padding:14px 7px;background:#fff;border-top:1px solid #e9ecea;min-width:0}
.hwf-child-dot{height:28px;width:28px;flex:0 0 28px;border-radius:50%;background:var(--hwf-child-accent);display:inline-block}
.hwf-mini-child .hwf-child-dot{width:24px;height:24px;flex-basis:24px}
.hwf-mini-child>span:last-child{min-width:0}
.hwf-mini-child strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis}
.hwf-mini-child small{display:block;font-size:11px;color:#617287}
.hwf-mini-cell{min-height:88px;border-top:1px solid #e9ecea;border-left:1px solid #e9ecea;padding:5px 4px;min-width:0}
.hwf-mini-entry{background:var(--hwf-child-soft);border-radius:7px;padding:8px 6px;margin:0 0 4px;min-width:0}
.hwf-mini-entry strong{font-weight:700;font-size:12px;display:block;overflow-wrap:anywhere}
.hwf-mini-entry small{font-size:11px;color:#475b6b;display:block;margin-top:3px}
.hwf-unplaced{padding:16px 14px;border-radius:12px;background:#fcf9f4;margin:0 0 26px}
.hwf-unplaced .hwf-section-head{margin-bottom:11px}
.hwf-unplaced h2{font-size:19px!important}
.hwf-mini-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff0dc;color:#aa6835}
.hwf-mini-icon svg{width:17px!important;height:17px!important}
.hwf-count-badge{border-radius:99px;padding:3px 8px;background:#eeeae3;font:800 12px "Segoe UI",Arial,sans-serif;letter-spacing:0}
.hwf-unplaced-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hwf-tiny-session{display:flex;align-items:center;gap:10px;border:1px solid #f0eeee;background:#fff;border-radius:10px;padding:11px 10px;min-width:0}
.hwf-dot{width:22px;height:22px;flex:0 0 22px;background:var(--hwf-child-accent);border-radius:50%}
.hwf-tiny-session>div{min-width:0}
.hwf-tiny-session strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hwf-tiny-session small{display:block;color:#637487;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hwf-empty-inline{color:#75818a;font-size:13px;padding:5px 2px!important}
.hwf-bottom-actions{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin:28px 0 5px}
#hwfVisualLockRoot .hwf-primary{background:#073f46;color:#fff;border:1px solid #073f46;font:700 17px Georgia,"Times New Roman",serif;min-height:57px;padding:15px 22px;display:flex;align-items:center;justify-content:center;gap:19px}
#hwfVisualLockRoot .hwf-primary:hover{background:#145b5b}
#hwfVisualLockRoot .hwf-secondary{background:#fff;color:#102b3a;border:1px solid #d7e0e0;min-height:57px;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:13px;font:700 17px Georgia,"Times New Roman",serif}
#hwfVisualLockRoot .hwf-secondary:hover{background:#f9fbfa}
.hwf-page-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:3px 0 26px;flex-wrap:wrap}
.hwf-page-top h1{font-size:clamp(2rem,3vw,2.8rem)!important;margin:0!important}
.hwf-page-top p{font-size:14px;color:#607286;margin-top:7px!important}
.hwf-select-wrap{display:inline-flex;align-items:center;position:relative;min-width:180px;flex:0 0 auto}
.hwf-select-wrap select{appearance:none;width:100%;border:1px solid #dce3e7;border-radius:8px;min-height:40px;background:#fff;color:#263c49;padding:8px 34px 8px 12px;font-size:13px}
.hwf-select-wrap svg{position:absolute;right:11px;width:15px!important;height:15px!important;pointer-events:none;color:#526b7c}
.hwf-view-switch{display:flex;border:1px solid #d9e1e7;border-radius:10px;overflow:hidden}
#hwfVisualLockRoot .hwf-view-switch button{border:0;background:#fff;border-radius:0;padding:10px 19px;font-size:13px;color:#3e5363}
#hwfVisualLockRoot .hwf-view-switch button+button{border-left:1px solid #e8edef}
#hwfVisualLockRoot .hwf-view-switch button.is-current{background:#0c454c;color:#fff}
.hwf-week-board{display:grid;grid-template-columns:164px repeat(var(--hwf-day-count),minmax(0,1fr));border:1px solid #e1e7e6;border-radius:12px;overflow:hidden;background:#fff}
.hwf-week-corner,.hwf-week-day{min-height:57px;border-bottom:1px solid #e2e8e6}
.hwf-week-day{display:grid;place-items:center;border-left:1px solid #e7ecea;font-weight:800;color:#283949;font-size:13px;padding:10px 3px}
.hwf-week-child{padding:0;min-height:175px;border-top:1px solid #e5ebe9;display:flex;align-items:center}
.hwf-week-child .hwf-child-band{display:flex;align-items:flex-start;flex-direction:column;gap:5px;background:transparent;padding:12px}
.hwf-week-child .hwf-child-band .hwf-child-dot{width:30px;height:30px;flex-basis:30px}
.hwf-week-child .hwf-child-band>strong{font-size:19px}
.hwf-week-child .hwf-child-progress{width:70px;flex:auto;height:8px}
.hwf-week-child .hwf-child-counter{font-size:12px;background:transparent;padding:0}
.hwf-week-child .hwf-child-band small{display:none}
.hwf-week-cell{min-height:175px;border-top:1px solid #e5ebe9;border-left:1px solid #e7ecea;padding:11px 5px;min-width:0}
.hwf-week-session{position:relative;border-radius:10px;background:var(--hwf-child-soft);padding:12px 9px;margin-bottom:8px;min-width:0}
.hwf-week-session>strong{font-size:13px;display:block;font-weight:800;overflow-wrap:anywhere}
.hwf-week-session>small{font-size:12px;color:#526171;display:block;margin:3px 0 10px}
.hwf-state-chip{display:inline-flex;border-radius:9px;padding:3px 7px;background:rgba(255,255,255,.6);color:#4b616b;font-size:11px;font-weight:750}
.hwf-parent-icon{display:block;position:absolute;bottom:7px;right:8px;color:#34687a}
.hwf-parent-icon svg{width:14px!important;height:14px!important}
.hwf-child-band{display:flex;align-items:center;gap:12px;background:var(--hwf-child-soft);border-radius:12px;padding:12px 16px;min-width:0}
.hwf-child-band>strong{font:700 21px Georgia,"Times New Roman",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hwf-child-progress{height:9px;background:rgba(9,44,44,.12);border-radius:20px;overflow:hidden;flex:1;max-width:210px;min-width:30px;margin:0 10px}
.hwf-child-progress>span{display:block;background:var(--hwf-child-accent);height:100%;border-radius:20px}
.hwf-child-counter{font-weight:750;background:rgba(255,255,255,.5);padding:6px 9px;border-radius:10px;white-space:nowrap}
.hwf-child-band small{font-size:11px;color:#647588;margin-left:-8px}
.hwf-legend{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;color:#425260;font-size:12px;margin:31px auto}
.hwf-legend span{display:inline-flex;align-items:center;gap:7px}
.hwf-legend svg{width:17px!important;height:17px!important}
.hwf-legend-dot{width:13px;height:13px;border-radius:50%;background:#57b7ac}
.hwf-legend-dot.is-flex{background:#efa66a}
.hwf-legend-dot.is-protected{background:#a486cf}
.hwf-week-compact{display:none}
.hwf-day-controls{display:flex;align-items:center;gap:13px}
.hwf-day-controls>strong{white-space:nowrap;color:#273a4b}
#hwfVisualLockRoot .hwf-today-button{border:1px solid #d9e4e6;background:#fff;color:#273b4a;min-height:40px;padding:8px 13px;margin-left:6px;font-size:13px}
.hwf-day-filter{margin:-13px 0 15px}
.hwf-day-child{margin:12px 0 25px}
.hwf-day-child .hwf-child-band{min-height:56px}
.hwf-day-child .hwf-child-progress{max-width:230px}
.hwf-anytime{margin:5px 0 17px;border:1px solid #e4e8eb;border-radius:11px;overflow:hidden;padding:5px 15px 10px}
.hwf-anytime-head{display:flex;align-items:center;justify-content:space-between;padding:7px 0 8px}
.hwf-anytime-head>span{font-weight:800;font-size:13px;display:flex;align-items:center;gap:8px}
.hwf-anytime-head svg{width:16px!important;height:16px!important;color:#657c90}
.hwf-anytime-head small{font-weight:400;color:#687a89;margin-left:4px}
.hwf-anytime-row{display:flex;align-items:center;gap:10px;margin:0 0 0 22px;border-bottom:1px solid #edf0f1;padding:7px 2px;font-size:14px}
.hwf-anytime-row:last-child{border-bottom:0}
.hwf-anytime-dot{width:14px;height:14px;border:1.5px solid #657c91;border-radius:50%;flex:0 0 14px}
.hwf-anytime-row strong{font-size:13px;font-weight:650;flex:1}
.hwf-anytime-row>span:last-child{font-size:13px;color:#506980}
.hwf-anytime-empty{font-size:12px;color:#88949f;padding:3px 2px 6px 23px}
.hwf-timeline{display:grid;gap:8px}
.hwf-timeline-row{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:stretch;gap:9px;min-height:65px}
.hwf-timeline-row>time{border-right:1px solid #d7e4e9;padding:8px 9px 0 0;font-size:12px;color:#596b7e;text-align:right;white-space:nowrap}
.hwf-day-session{display:flex;align-items:center;gap:15px;background:var(--hwf-child-soft);border-radius:10px;padding:13px 19px 13px 15px;min-width:0}
.hwf-day-icon{color:#127f82;flex:0 0 27px}
.hwf-day-icon svg{width:24px!important;height:24px!important}
.hwf-day-session>div{min-width:0;flex:1}
.hwf-day-session strong{display:block;font-size:14px;font-weight:800}
.hwf-day-session small{display:block;color:#5c7385;font-size:12px;margin-top:3px}
.hwf-day-duration{font-size:13px;white-space:nowrap;font-weight:750;color:#344a58}
.hwf-nav-action.is-current{font-weight:800!important;color:#081e2d!important}
.hwf-nav-action.is-current:after{content:"";height:3px;background:#092b40;position:absolute;left:0;right:0;bottom:2px;border-radius:2px}
.hwf-change-intro{border:1px solid #e2e9e6;border-radius:14px;background:#fbfdfc;padding:20px 22px;display:flex;align-items:center;gap:17px;margin:18px 0 24px}
.hwf-change-intro .hwf-mini-icon{width:42px;height:42px;flex:0 0 42px;color:#0c7978;background:#e1f6f2}
.hwf-change-intro>div{flex:1;min-width:0}
.hwf-change-intro h2{font-size:22px!important;margin:0 0 6px!important}
.hwf-change-intro p{font-size:14px;color:#5c6f7d;line-height:1.5}
#hwfVisualLockRoot .hwf-change-intro .hwf-primary{font-size:15px;min-height:43px;white-space:nowrap;flex:0 0 auto}
#check.hwf-lock-active.hwf-lock-change>details.canonical-session-tools:not(#hwfVisualLockRoot),
#check.hwf-lock-active.hwf-lock-change>#livingProposalPanel:not(#hwfVisualLockRoot):not([hidden]){
  display:block!important;
  max-width:100%;margin:14px 1px 20px;border:1px solid #e2e9e6;border-radius:14px;
  padding:17px 20px;background:#fff;box-shadow:none
}
#check.hwf-lock-active.hwf-lock-change>details.canonical-session-tools>summary{font:700 21px Georgia,"Times New Roman",serif;color:#091928;padding:0 0 12px;cursor:pointer}
#check.hwf-lock-active.hwf-lock-change>details.canonical-session-tools .week-glance-head p{color:#586b7a;font-size:13px;line-height:1.45;margin:0 0 12px}
#check.hwf-lock-active.hwf-lock-change .day-glance-card{border-color:#e3ece8;background:#fff}
#check.hwf-lock-active.hwf-lock-change .day-glance-item{color:#172b38}
#check.hwf-lock-active.hwf-lock-change>#livingProposalPanel h2{margin:0 0 10px;font:700 21px Georgia,"Times New Roman",serif;color:#091928}
#check.hwf-lock-active.hwf-lock-change>#livingProposalPanel p{color:#5c6f7d;font-size:13px}
#check.hwf-lock-active.hwf-lock-change>#livingProposalPanel button.primary,
#check.hwf-lock-active.hwf-lock-change>details.canonical-session-tools button.primary{background:#0c444a;color:#fff;border-color:#0c444a}
@media(max-width:700px){
  .hwf-change-intro{padding:15px;align-items:flex-start;flex-wrap:wrap}
  #hwfVisualLockRoot .hwf-change-intro .hwf-primary{width:100%}
  #check.hwf-lock-active.hwf-lock-change>details.canonical-session-tools:not(#hwfVisualLockRoot),
  #check.hwf-lock-active.hwf-lock-change>#livingProposalPanel:not(#hwfVisualLockRoot):not([hidden]){padding:13px 12px}
}
.hwf-week-compact-child{border:1px solid #e8ebe8;border-radius:12px;overflow:hidden;margin-top:11px}
.hwf-week-compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
.hwf-day-switch{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
#hwfVisualLockRoot .hwf-day-pill{padding:9px 13px;font-size:12px;color:#566a77;border:1px solid #dae4e5;background:#fff}
#hwfVisualLockRoot .hwf-day-pill.is-current{background:#103f49;color:#fff;border-color:#103f49}
@media(max-width:1060px){
  .hwf-nav{gap:14px}
  .hwf-wordmark{font-size:19px}
  .hwf-mark{height:29px}
  .hwf-mark i:nth-child(4){height:29px}
  .hwf-mark i:nth-child(3){height:24px}
  .hwf-mark i:nth-child(2){height:20px}
  .hwf-mark i:nth-child(1){height:15px}
  .hwf-week-board{grid-template-columns:120px repeat(var(--hwf-day-count),minmax(0,1fr))}
  .hwf-week-session{padding:9px 5px}
  .hwf-week-session>strong{font-size:12px}
  .hwf-mini-grid{grid-template-columns:86px repeat(var(--hwf-day-count),minmax(0,1fr))}
  .hwf-mini-child{padding:7px 4px}
  .hwf-mini-child .hwf-child-dot{width:18px;height:18px;flex-basis:18px}
}
@media(max-width:900px){
  body:has(#check.hwf-lock-active.active) .app{padding:0 18px 36px}
  .hwf-week-board{display:none}
  .hwf-week-compact{display:block}
  .hwf-week-compact-child .hwf-child-band{border-radius:0}
  .hwf-week-compact-child .hwf-child-dot{width:25px;height:25px;flex-basis:25px}
  .hwf-mini-grid{grid-template-columns:95px repeat(var(--hwf-day-count),minmax(0,1fr))}
}
@media(max-width:700px){
  .hwf-topbar{height:auto;min-height:70px;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:21px;padding:13px 0 0}
  .hwf-wordmark{font-size:17px}
  .hwf-mark{gap:3px}
  .hwf-mark i{width:7px}
  .hwf-nav{order:3;flex:1 0 100%;justify-content:space-between;gap:4px;border-top:1px solid #edf0ef;padding:3px 1px 0}
  #hwfVisualLockRoot .hwf-nav-tab,#hwfVisualLockRoot .hwf-nav-action{font-size:12px;padding:10px 2px}
  .hwf-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 9px}
  .hwf-metric strong{font-size:21px}
  .hwf-fit-card{padding:17px 15px}
  .hwf-fit-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .hwf-fit-result>strong{font-size:15px}
  .hwf-fit-state{font-size:11px}
  .hwf-drivers{padding:15px}
  .hwf-driver-list{grid-template-columns:1fr;gap:14px}
  .hwf-driver+.hwf-driver{border-left:0;border-top:1px solid #e8eeed;padding:13px 0 0}
  .hwf-mini-grid{grid-template-columns:1fr!important;display:block;border:0;background:transparent}
  .hwf-mini-corner,.hwf-mini-day{display:none}
  .hwf-mini-child{background:#fff;border:1px solid #e9ecea;border-radius:10px 10px 0 0;padding:9px 12px}
  .hwf-mini-cell{display:inline-flex;flex-direction:column;align-items:flex-start;vertical-align:top;width:calc(100% / var(--hwf-day-count));min-height:58px;border:1px solid #e9ecea;padding:5px 3px}
  .hwf-mini-cell::before{content:attr(data-day-label);display:block;width:100%;margin-bottom:3px;color:#667a85;font-size:10px;font-weight:700;text-align:center}
  .hwf-mini-cell:empty:after{content:"—";font-size:12px;color:#c8d0cc}
  .hwf-mini-entry{width:100%;padding:5px 3px}
  .hwf-mini-entry strong{font-size:10px}
  .hwf-mini-entry small{font-size:10px}
  .hwf-unplaced-items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hwf-bottom-actions{grid-template-columns:1fr}
  .hwf-page-top{margin-bottom:20px}
  .hwf-page-top h1{flex:1 0 100%}
  .hwf-day-controls{gap:6px}
  .hwf-day-controls>strong{font-size:13px}
  .hwf-day-child .hwf-child-band{gap:7px;padding:10px}
  .hwf-child-band>strong{font-size:19px}
  .hwf-child-progress{margin:0 3px;min-width:15px}
  .hwf-child-counter{padding:4px 6px;font-size:12px}
  .hwf-timeline-row{grid-template-columns:53px minmax(0,1fr);gap:6px}
  .hwf-day-session{gap:8px;padding:10px 9px}
  .hwf-day-session small{font-size:11px}
  .hwf-day-icon{flex-basis:20px}
  .hwf-day-icon svg{width:18px!important;height:18px!important}
  .hwf-week-compact-list{grid-template-columns:1fr}
}
@media(max-width:380px){
  body:has(#check.hwf-lock-active.active) .app{padding:0 10px 22px}
  #hwfVisualLockRoot h1{font-size:2.1rem}
  .hwf-nav{gap:2px}
  #hwfVisualLockRoot .hwf-nav-tab,#hwfVisualLockRoot .hwf-nav-action{font-size:11px}
  .hwf-unplaced-items{grid-template-columns:1fr}
  .hwf-fit-result{flex-wrap:wrap}
  .hwf-day-duration{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .hwf-screen{animation:none}
  .hwf-fit-strip span{transition:none}
}
