/* One chrome system. Desktop rail, compact tablet rail, phone drawer + quick navigation. */
:root{--tw-shell-height:56px;--tw-shell-rail:184px;--tw-shell-bottom:0px}
html body .tw-app-shell{position:fixed;inset:0 0 auto;height:var(--tw-shell-height);box-sizing:border-box;z-index:var(--tw-ui-shell-z);background:var(--tw-ui-surface);color:var(--tw-ui-text);border-bottom:1px solid var(--tw-ui-line);display:flex;align-items:center;padding:0 16px;gap:16px;box-shadow:none;font-family:var(--tw-ui-font)}
.tw-app-brand{display:flex;align-items:center;gap:9px;width:calc(var(--tw-shell-rail) - 16px);flex:none;white-space:nowrap;font-size:18px;letter-spacing:-.035em}
.tw-app-brand b{font-weight:700}.tw-app-brand b span{color:var(--tw-ui-accent)}
.tw-app-navicon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}
.tw-app-navicon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;fill:none}
.tw-shell-context{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.tw-app-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
html body .tw-app-iconbtn{width:40px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--tw-ui-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:600 20px var(--tw-ui-font);padding:0}
.tw-app-iconbtn:hover{background:var(--tw-ui-selected);color:var(--tw-ui-accent)}
html body .tw-app-nav{position:fixed;inset:var(--tw-shell-height) auto var(--tw-shell-bottom) 0;box-sizing:border-box;width:var(--tw-shell-rail);display:flex;flex-direction:column;gap:4px;align-items:stretch;padding:18px 12px;background:var(--tw-ui-surface);border-right:1px solid var(--tw-ui-line);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
html body .tw-app-nav button{box-sizing:border-box;min-height:48px;margin:0;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:var(--tw-ui-muted);display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;font:600 14px/1.2 var(--tw-ui-font);cursor:pointer;white-space:nowrap;touch-action:manipulation;box-shadow:none}
html body .tw-app-nav button.is-active{color:var(--tw-ui-accent);background:var(--tw-ui-selected);box-shadow:none}
html body .tw-app-nav button:hover{color:var(--tw-ui-text);background:var(--tw-ui-bg)}
.tw-app-nav button:last-child{margin-top:auto}
.tw-app-nav button:focus-visible,.tw-app-iconbtn:focus-visible{outline:3px solid var(--tw-ui-accent);outline-offset:-3px}
.tw-shell-screen{position:fixed;inset:var(--tw-shell-height) 0 var(--tw-shell-bottom) var(--tw-shell-rail);box-sizing:border-box;z-index:2500;overflow:auto;overscroll-behavior:contain;background:var(--tw-ui-bg);color:var(--tw-ui-text);padding:40px clamp(24px,4vw,64px);font-family:var(--tw-ui-font)}
.tw-shell-screen[hidden]{display:none}
.tw-shell-screen>header h1{font-size:32px;font-weight:650;letter-spacing:-.035em;margin:0 0 8px;line-height:1.2}
.tw-shell-screen>header p{font-size:15px;color:var(--tw-ui-muted);margin:0 0 28px;line-height:1.5}
.tw-shell-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tw-ui-card{box-sizing:border-box;border:1px solid var(--tw-ui-line);border-radius:var(--tw-ui-panel-radius);padding:24px;background:var(--tw-ui-surface);color:var(--tw-ui-text);font-family:var(--tw-ui-font);display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;min-height:132px;touch-action:manipulation}
.tw-ui-card strong{font-size:18px;font-weight:650;letter-spacing:-.015em}.tw-ui-card span{font-size:14px;line-height:1.5;color:var(--tw-ui-muted)}
.tw-ui-card:hover{border-color:var(--tw-ui-accent);background:var(--tw-ui-selected)}
.tw-shell-row{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;min-height:52px;border:0;border-bottom:1px solid var(--tw-ui-line);background:transparent;color:var(--tw-ui-text);font:500 15px/1.5 var(--tw-ui-font);text-align:left;padding:12px 0}
button.tw-shell-row{cursor:pointer}.tw-shell-row:last-child{border-bottom:0}.tw-shell-row label{flex:1}.tw-shell-row input{width:22px;height:22px;accent-color:var(--tw-ui-accent)}.tw-shell-row.is-complete label{text-decoration:line-through;color:var(--tw-ui-muted)}
html body #twPBModal,html body #twPinboardModal,html body #twTimelineModal{left:var(--tw-shell-rail)!important;top:var(--tw-shell-height)!important;bottom:var(--tw-shell-bottom)!important}
html body #twBoard49Modal{left:var(--tw-shell-rail)!important;top:var(--tw-shell-height)!important;bottom:var(--tw-shell-bottom)!important;width:auto!important}
html body .tw-workspace-head{display:flex!important;padding:20px 28px!important;background:var(--tw-ui-surface)!important;color:var(--tw-ui-text)!important;border-bottom:1px solid var(--tw-ui-line)}
html body .tw-workspace-content{padding-top:18px!important;background:var(--tw-ui-bg)!important}
.tw-workspace-title{font-size:24px!important;letter-spacing:-.025em;font-weight:650!important;color:var(--tw-ui-text)!important}
.tw-workspace-subtitle{color:var(--tw-ui-muted)!important;font-size:14px!important;line-height:1.5}
html body .tw-plan-subjects{background:var(--tw-ui-surface)!important;border-color:var(--tw-ui-line)!important}
html body .tw-plan-subject-row{min-height:48px;border-radius:10px!important;font-size:14px!important;font-weight:600!important;padding:12px 16px!important}
.tw-plan-subject-row.active{background:var(--tw-ui-selected)!important;color:var(--tw-ui-accent)!important}
html body #twAppQuickMenu,html body #twAppMore{display:none!important}
.tw-shell-bottom,.tw-shell-scrim,html body .tw-shell-menubtn{display:none}
@media(min-width:701px){body:not(.tw-section-board) #twAppNavLessonPlanV575{display:none!important}}
@media(max-width:1100px) and (min-width:701px){:root{--tw-shell-rail:88px}.tw-app-brand{width:auto}.tw-app-brand b{font-size:16px}html body .tw-app-nav{padding:14px 6px}html body .tw-app-nav button{flex-direction:column;justify-content:center;gap:5px;padding:10px 2px;font-size:10px;min-height:62px}.tw-app-nav button span:last-child{max-width:80px;white-space:normal;text-align:center}.tw-shell-screen{padding:32px 24px}}
@media(max-width:700px){
 :root{--tw-shell-rail:0px;--tw-shell-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
 html body .tw-app-shell{padding:0 10px;gap:8px}.tw-app-brand{width:auto;font-size:17px}.tw-app-brand>.tw-app-navicon{display:none}.tw-shell-context{margin-left:auto;font-size:12px}.tw-shell-context button{display:none}
 html body .tw-shell-menubtn{display:inline-flex}.tw-app-actions{margin-left:0}.tw-app-actions #twAppPersonalizeV559,.tw-app-actions #twAppNavLessonPlanV575,.tw-app-actions #twAppNavBoardV559{display:none!important}.tw-app-actions{gap:0}
 html body .tw-app-nav{display:none;width:min(280px,86vw);padding:16px;bottom:0;box-shadow:var(--tw-ui-shadow)}
 html body.tw-nav-open .tw-app-nav{display:flex}.tw-shell-scrim{position:fixed;inset:var(--tw-shell-height) 0 0;background:rgba(16,26,39,.4);z-index:3050}.tw-nav-open .tw-shell-scrim{display:block}
 .tw-shell-bottom{position:fixed;inset:auto 0 0;height:var(--tw-shell-bottom);box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,0px);z-index:3100;display:grid;grid-template-columns:repeat(4,1fr);background:var(--tw-ui-surface);border-top:1px solid var(--tw-ui-line)}
 .tw-shell-bottom button{min-height:60px;border:0;background:transparent;color:var(--tw-ui-muted);font:600 13px var(--tw-ui-font);cursor:pointer;touch-action:manipulation}.tw-shell-bottom button.is-active{color:var(--tw-ui-accent);background:var(--tw-ui-selected)}
 .tw-shell-screen{padding:28px 18px}.tw-shell-screen>header h1{font-size:28px}.tw-shell-cards{grid-template-columns:1fr;gap:12px}.tw-ui-card{min-height:110px;padding:20px}
 html body .tw-workspace-head{padding:16px!important}.tw-workspace-title{font-size:21px!important}.tw-workspace-subtitle{font-size:13px!important}
 body.tw-section-board .tw-shell-bottom{display:none}:root:has(body.tw-section-board){--tw-shell-bottom:0px}
}
@media print{html body .tw-app-shell,.tw-shell-bottom,.tw-shell-screen,.tw-shell-scrim{display:none!important}}

.tw-shell-sync{font:600 12px var(--tw-ui-font);color:var(--tw-ui-muted);white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--tw-ui-bg)}.tw-shell-sync[data-state=saving]{color:#986312}.tw-shell-sync[data-state=offline]{color:#986312}@media(max-width:900px){.tw-shell-sync{display:none}}

/* Hierarchical back is dispatched by the shell using the planner's existing view contract. */
html body .tw-workspace-head-actions #twPBBackBtn{display:none!important}

/* Personalization and minimized chrome share the same route owner and navigation DOM. */
html body .tw-app-shell{height:var(--tw-shell-height)!important;background:var(--tw-v559-chrome-bg,var(--tw-ui-surface));color:var(--tw-v560-chrome-fg,var(--tw-ui-text))}
html body .tw-app-shell .tw-app-iconbtn{color:var(--tw-v560-chrome-muted,var(--tw-ui-muted))}
html body.tw-appshell-floating .tw-app-shell{display:none!important}
html body #twUiFloatMenuPanel .tw-app-nav{position:static;display:flex;width:100%;height:auto;padding:4px;border:0;box-shadow:none;background:var(--tw-ui-surface)}
html body #twUiFloatMenuPanel .tw-app-nav button{flex-direction:row;justify-content:flex-start;min-height:48px;font-size:14px;padding:10px 14px}
html body #twUiFloatMenuPanel{background:var(--tw-ui-surface);padding:10px;max-height:calc(100dvh - 24px);overflow:auto}
html body #twUiFloatMenuPanel>.tw-ui-button{width:100%;margin-top:8px}

/* Home account action remains visible without the team panel or cloud. */
.tw-home-account{display:flex;justify-content:flex-end;margin:0 0 20px;gap:12px}
.tw-home-account .tw-ui-button{min-height:48px;margin:0}
