/* Readable form text prevents iOS focus zoom, while pinch zoom stays available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
.dialog input,.dialog textarea,.dialog select,.login-card input,.focus-card textarea,.search,.toolbar select,.week-picker input,.week-picker select,.glass-select-trigger{font-size:16px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
.task-title{border:0;background:none;text-align:left;padding:0;font-family:inherit}
button:disabled{cursor:wait;opacity:.65}
body.overlay-open{position:fixed;top:var(--locked-scroll,0);left:0;right:0;width:100%;overflow:hidden}
.dialog h2:focus{outline:none}
.dialog{max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
.dialog label,.field-grid>*{min-width:0}
.sidebar-close,.menu-backdrop,.board-swipe-hint{display:none}
.marketing-board:focus-visible{outline:2px solid #9675bd;outline-offset:4px;border-radius:16px}
.task-title,.task-meta,.capture-text,.project-name,.subtitle{overflow-wrap:anywhere}
@media(max-width:760px){
  html{scrollbar-gutter:auto}
  body{background-attachment:scroll}
  .shell{margin:0;min-height:100dvh;border:0;border-radius:0;overflow:clip}
  .main{width:100%;min-width:0}
  .mobilebar{display:flex;position:sticky;top:0;z-index:3;height:auto;min-height:60px;padding:calc(6px + env(safe-area-inset-top)) 16px 6px;gap:10px;border-bottom:1px solid #ffffffcc;background:#f5f1fbe8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:15px}
  .mobilebar button{width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px;font-size:21px;margin-left:-6px}
  .mobilebar button:active{background:#e9e0f5}
  .mobile-logo{width:28px;height:28px}
  .content,.marketing-content{padding:24px 16px calc(32px + env(safe-area-inset-bottom));max-width:100%}
  .eyebrow{font-size:10px;margin-bottom:12px;line-height:1.5}
  .page-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px}
  .page-head>div{min-width:0;flex:1 1 180px}.page-head h1{font-size:28px;line-height:1.15;margin-bottom:9px;letter-spacing:-.8px}
  .subtitle,.marketing-content .subtitle{font-size:14px;line-height:1.55;color:#71697e}
  .page-head .primary-button{margin:0;min-height:44px;font-size:13px;padding:11px 14px}
  .primary-button,.secondary-button{min-height:44px;font-size:14px;white-space:normal;line-height:1.4}
  .toolbar{gap:12px;margin:18px 0;width:100%}.toolbar input,.toolbar select,.search{width:100%;min-width:0;max-width:100%;min-height:46px}
  .search{padding:12px 14px}.sort-hint{font-size:12px;line-height:1.5}
  .sidebar{position:fixed;z-index:8;top:0;left:0;bottom:0;width:min(310px,calc(100vw - 44px));height:100dvh;padding:calc(26px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;transform:translateX(-105%);background:linear-gradient(155deg,#f4f7fc,#eee7f5);box-shadow:16px 0 50px #41305224;border-right:1px solid #ffffffcc;transition:transform .2s ease}
  .sidebar.open{transform:translateX(0)}.brand{font-size:20px;padding:0 40px 30px 8px}.brand-logo{width:34px;height:34px}
  .sidebar-close{display:grid;place-items:center;position:absolute;top:calc(20px + env(safe-area-inset-top));right:12px;width:44px;height:44px;border:1px solid #fff9;background:#ffffff80;border-radius:50%;font-size:25px;color:#655775}
  .navigation{gap:4px}.navigation a{min-height:46px;font-size:15px}.sidebar-bottom{margin-top:22px}.sidebar-bottom p{font-size:13px}.sidebar-bottom .text-button{min-height:44px}
  .menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:7;border:0;background:#32283f45;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
  .marketing-summary{width:100%;padding:13px 12px;font-size:12px;gap:0;margin:0 0 18px;justify-content:space-between}.marketing-summary span+span{margin-left:8px;padding-left:10px}
  .marketing-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:4px;padding:5px;overflow:visible;border-radius:16px}.marketing-tabs button{min-height:44px;padding:10px 8px;font-size:13px;white-space:normal}
  .marketing-content .toolbar{align-items:stretch;flex-direction:column;gap:10px}
  .board-swipe-hint{display:flex;align-items:center;justify-content:space-between;margin:14px 2px 10px;font-size:12px;color:#82718e}.board-swipe-hint span{font-size:20px;line-height:1}
  .marketing-board{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;padding:0 0 16px;max-width:100%;align-items:flex-start}
  .marketing-board .board-column{display:block;flex:0 0 calc(100% - 28px);max-width:350px;min-width:0;min-height:255px;padding:15px 11px 11px;scroll-snap-align:start}
  .marketing-board .board-column h2{font-size:14px;margin:0 5px 13px;min-height:40px;padding-bottom:11px}.column-count{width:28px;height:28px;font-size:12px}
  .marketing-card{width:100%;min-height:0;padding:18px 16px;gap:15px;margin-bottom:12px}.marketing-card strong{font-size:16px;line-height:1.45}.marketing-card .category-chip,.marketing-card .kind-chip{font-size:11px;padding:5px 8px}.marketing-card small,.marketing-card .badge{font-size:12px}.marketing-card .badge{padding:5px 8px}.marketing-tags{gap:7px}
  .board:not(.marketing-board){display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:12px}.board:not(.marketing-board) .board-column{flex:0 0 calc(100% - 18px);scroll-snap-align:start}.board-task:not(.marketing-card) strong{font-size:15px}
  .marketing-source{font-size:12px;line-height:1.6;margin-top:20px}
  .marketing-table-wrap{overflow:visible;border:0;border-radius:0}.marketing-table{display:block;background:none}.marketing-table thead{display:none}.marketing-table tbody{display:grid;gap:14px}.marketing-table tr{display:block;border:1px solid #e5daef;border-radius:17px;padding:12px 15px;background:#ffffffb0}.marketing-table td{display:grid;grid-template-columns:95px minmax(0,1fr);gap:9px;min-width:0!important;max-width:none!important;padding:9px 0;font-size:13px;border-bottom:1px solid #eee8f4;overflow-wrap:anywhere}.marketing-table td:before{content:attr(data-label);color:#867891;font-size:12px}.marketing-table td:first-child{display:block;padding:6px 0 13px;font-size:16px;font-weight:600}.marketing-table td:first-child:before{display:none}.marketing-table td:last-child{border:0}.table-title{width:100%;min-height:44px}.date-button{min-height:44px;white-space:normal}
  .stats{gap:8px;margin:18px 0 24px}.stat{padding:14px 10px;border-radius:15px}.stat-number{font-size:25px}.stat-label{font-size:12px;line-height:1.4}
  .section-title{font-size:11px;letter-spacing:.06em;line-height:1.5;margin:24px 0 12px}.list{border-radius:17px}
  .task-row,.task-row:has(.restore-button){display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 9px;padding:14px 12px}.task-check{width:44px;height:44px;border:0;border-radius:12px;margin:0;background:linear-gradient(#f8f4fc,#f8f4fc);position:relative;color:transparent!important}.task-check:before{content:'';position:absolute;inset:11px;border:1.5px solid #baaacb;border-radius:6px;background:#fff}.task-check.done{background:#efe7f7}.task-check.done:before{content:'✓';display:grid;place-items:center;background:#9071b7;color:white;border-color:#9071b7;font-size:15px}.task-check:hover{background:#e9e0f4}.task-main,.task-row:has(.restore-button) .task-main{min-width:0;padding-top:3px}.task-title{font-size:15px;line-height:1.5}.task-meta{font-size:12px;line-height:1.5;gap:5px 9px}.task-row>.badge{grid-column:2;justify-self:start;font-size:11px;padding:4px 7px}.task-row .task-actions,.task-row:has(.restore-button) .task-actions{grid-column:2;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%}.small-action{min-width:44px;min-height:44px;border:1px solid #ebe3f2;background:#f7f3fb;border-radius:10px;font-size:17px}.restore-button{min-height:44px;font-size:13px;padding:9px 13px}
  .project-grid,.weekly-cards{grid-template-columns:1fr}.project-card{padding:20px}.project-name{font-size:17px}.project-meta{font-size:13px;line-height:1.5}.document-list{padding:12px}.document-link{padding:12px 5px;min-height:60px}.document-link strong{font-size:15px}.document-link small{font-size:12px;line-height:1.5}.document-list>.secondary-button{width:100%}
  .note-card,.capture{font-size:14px;line-height:1.6;padding:17px}.capture-top{flex-wrap:wrap;font-size:12px;line-height:1.5}.capture-text{font-size:14px}.empty{padding:24px 18px;font-size:14px;line-height:1.6}.empty strong{font-size:16px}
  .week-picker{display:grid;grid-template-columns:1fr;gap:12px}.week-picker label{display:grid;gap:8px;font-size:13px}.week-picker input,.week-picker select{width:100%;min-height:48px}.weekly-cards .text-button{font-size:13px;min-height:44px}.focus-card{padding:18px}.focus-card textarea{font-size:16px;line-height:1.6;padding:13px}.focus-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.focus-actions span{font-size:13px}.focus-actions button{width:100%}
  .dialog,.dialog.small,.document-dialog{position:fixed;inset:auto;top:calc(var(--visible-top,0px) + 8px + env(safe-area-inset-top));left:8px;margin:0;width:calc(100vw - 16px);max-width:none;height:auto;max-height:calc(var(--visible-height,100dvh) - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:24px;padding:0;overflow:auto;overscroll-behavior:contain;scroll-padding:84px 0 86px}
  .dialog form{padding:0 18px;gap:18px;margin:0;min-width:0}
  .dialog-top{position:sticky;top:0;z-index:2;padding:16px 18px 14px;margin:0 -18px;background:#f6f3fbe8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #ffffffc4;gap:12px}.dialog h2{font-size:19px;line-height:1.3;letter-spacing:-.35px}.dialog .icon-button{width:44px;height:44px;flex:none;font-size:26px}.dialog label{font-size:13px;line-height:1.5;gap:8px}.field-grid{grid-template-columns:1fr;gap:18px;align-items:start}
  .dialog input,.dialog textarea,.dialog select,.glass-select-trigger{font-size:16px;line-height:1.5;padding:12px 13px;min-height:48px;width:100%;max-width:100%;min-width:0}.dialog textarea,.document-dialog textarea{min-height:120px;resize:vertical}.document-dialog textarea[name=body]{min-height:230px}.dialog input[type=date]{min-width:0;appearance:none;-webkit-appearance:none;display:block}.dialog input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}
  .dialog-actions{position:sticky;bottom:-1px;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin:4px -18px 0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #ffffffd9;background:#f6f3fbef;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dialog-actions button{flex:1;min-height:48px;font-size:14px;padding:12px;white-space:normal}
  .glass-select-menu{border-radius:17px;padding:6px}.glass-select-menu button{min-height:48px;font-size:15px;padding:12px 13px 12px 34px;line-height:1.5}.glass-select-menu button[aria-selected=true]:before{left:12px}
  #toast{z-index:10;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:14px;line-height:1.5;padding:14px;max-height:35dvh;overflow:auto}#toast button{min-height:44px;font-size:14px}#toast a{font-size:13px;min-height:36px;padding-top:8px}
  .login-body{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom))}.login-card{width:min(420px,100%);padding:28px 24px}.login-card input{font-size:16px;min-height:50px}.login-card label{font-size:14px}.login-card p{font-size:14px}.login-card .primary-button{min-height:48px;font-size:16px}
}
@media(hover:none){.marketing-card:hover{transform:none;box-shadow:inset 0 1px 0 #fff5}.marketing-card:active{filter:brightness(.98)}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

@media(max-width:760px){
  .marketing-content{padding-top:18px}.marketing-content>.eyebrow{display:none}.marketing-content .page-head{margin-bottom:16px}.marketing-content .sort-hint{display:none}.marketing-content .toolbar{margin:12px 0}.marketing-content .marketing-summary{margin-bottom:12px}.task-title{min-height:44px;width:100%}
}

.dialog .check-field input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:#865bbd;width:22px;height:22px;min-height:22px;flex:0 0 22px;padding:0;margin:2px 0 0;box-shadow:none}
@media(max-width:760px){
  .sidebar{width:min(290px,calc(100vw - 44px))}.brand{padding-bottom:22px}.navigation a{min-height:44px;padding:10px 12px;font-size:14px}.nav-more summary{min-height:44px;font-size:12px}.nav-more .navigation a{font-size:13px}.sidebar-bottom{margin-top:auto;padding-top:18px}.sidebar-bottom .text-button{min-height:44px}
  .task-check.done{background:#e4f2e9}.task-check.done:before{background:#53a07b;border-color:#53a07b}.rules-grid{grid-template-columns:1fr;gap:14px}.rule-card{padding:18px}.rule-card label{font-size:15px}.rule-card textarea{font-size:16px}.rules-status{padding:16px}.rules-save{bottom:calc(10px + env(safe-area-inset-bottom));padding:13px;flex-direction:column;align-items:stretch;gap:10px}.rules-save button{width:100%}.review-note{font-size:12px;margin-top:0;gap:10px}.dialog label.check-field{padding:13px;min-height:64px}
}
