/* Narrow-screen adaptation; existing desktop structure is unchanged. */
.login-start{max-width:440px;margin:auto;padding:30px;line-height:1.8}.login-start button{padding:12px 20px;border:1px solid #b8ccc4;border-radius:6px;color:#2b6f70}
@media(max-width:760px){
 html,body{width:100%;overflow-x:hidden}#app{height:100dvh;padding-top:calc(42px + env(safe-area-inset-top));position:relative}
 #account-entry{top:calc(6px + env(safe-area-inset-top));right:12px;min-height:32px;max-width:135px}
 #sync-entry{top:calc(6px + env(safe-area-inset-top))!important;left:12px;right:auto!important;max-width:calc(100vw - 165px);min-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .sidebar{position:fixed;top:calc(42px + env(safe-area-inset-top));bottom:0;padding-top:16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));max-width:85vw;z-index:25}
 .sidebar .brand{padding-bottom:14px}.sidebar .navrow,.sidebar .group-toggle{min-height:42px}.sidebar .more{opacity:1;padding:8px}.sidebar .count{display:none}
 .main,.weekly{padding:20px 14px calc(12px + env(safe-area-inset-bottom));min-height:0}.header{margin-bottom:20px}.mobilemenu{min-width:40px;min-height:40px}
 .detail,.weekly + .detail{position:fixed;inset:calc(42px + env(safe-area-inset-top)) 0 0;width:100%;max-width:none;padding:18px 20px calc(12px + env(safe-area-inset-bottom));z-index:26}
 .detailbody{overscroll-behavior:contain}.task{gap:9px;padding:10px;min-height:62px}.task .grip{display:none}.check{width:25px;height:25px}.task-delete{opacity:.65;min-width:28px;min-height:36px}.sun{padding:7px}
 input,textarea,select,.adder input,.stepadd input,.property input,.property select,#account-dialog input,#quick-note input{font-size:16px!important}
 .adder{min-height:48px}.adder button{min-width:36px;min-height:40px}.heading h1{font-size:25px}
 dialog,#practice-modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);overflow:auto;padding:20px}
 .week-navigation{gap:8px;flex-wrap:wrap}.week-range{font-size:12px}.week-filters{gap:8px;flex-wrap:wrap}.week-filters label{min-width:0;max-width:100%}.week-filters select{max-width:220px}.review-header{margin-bottom:12px}.week-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.week-table{min-width:850px}.week-table .period-heading{position:sticky;left:0;z-index:1;background:#fafbf9;width:80px}.week-summary{flex-wrap:wrap}
 .practice-mobilebar{padding:6px 14px}.practice-shell{padding:18px 16px 40px}.practice-header{gap:8px;flex-wrap:wrap}.practice-embedded{min-height:100%}.practice-page input{font-size:16px!important}
}
