/* Shared Web frame. A page's primary content scrolls; header and actions stay in context. */
.web-visit-content{display:contents}
/* These forms also own a bounded content area on phones. Ordinary mobile lists keep document scroll. */
#page-root:has(.web-extended-form){--web-scroll-surface:content}
@media(min-width:601px){
 body:not(.web-login){height:100dvh;min-height:0;overflow:hidden}
 body:not(.web-login) .web-main{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}
 body:not(.web-login) :is(.web-topbar,.web-preview-notice,.web-page-controls){flex:none}
 body:not(.web-login) #page-root{flex:1 1 0;min-height:0;height:auto;overflow:auto;overscroll-behavior:contain}
 body:not(.web-login) .web-workflow-guide{flex:none;max-height:120px;overflow:auto}
 body:not(.web-login) #page-root [data-web-page-scroll]{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
 body:not(.web-login):is([data-route=tasks],[data-route=workbench]) #page-root{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
 body:not(.web-login)[data-route=tasks] #page-root>.fde-note{flex:none;margin:8px 16px 0;font-size:12px}
 body:not(.web-login) #page-root .web-task-workspace{display:flex;flex-direction:column;flex:1 1 0;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:12px 16px}
 body:not(.web-login) #page-root .web-task-heading{flex:none;padding-bottom:8px}
 body:not(.web-login) #page-root .web-task-heading h1{font-size:20px;line-height:28px}
 body:not(.web-login) #page-root .web-task-heading p{margin-top:4px;font-size:12px}
 body:not(.web-login) #page-root .web-task-controls{position:static;flex:none;min-height:44px}
 body:not(.web-login) #page-root .web-task-list-note{flex:none;padding:8px 0}
 body:not(.web-login) #page-root .web-task-results-scroll{display:block;flex:1 1 0;min-height:0;height:0;overflow:auto;padding-right:2px}
 body:not(.web-login) #page-root .web-task-group{padding-top:12px}
 body:not(.web-login) #page-root .web-task-row{min-height:68px;gap:12px;padding:10px 12px}
 body:not(.web-login)[data-route=workbench] #page-root .workbench{display:flex;flex-direction:column;flex:1 1 0;width:100%;max-width:none;min-height:0;height:100%;margin:0;padding:12px 16px}
 body:not(.web-login)[data-route=workbench] #page-root .page-head{flex:none;margin:0 0 8px;padding:0;min-height:36px}
 body:not(.web-login)[data-route=workbench] #page-root .page-head .title{font-size:20px;line-height:28px}
 body:not(.web-login)[data-route=workbench] #page-root .page-head .eyebrow{font-size:12px;margin-top:2px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-card{flex:none;margin:0;padding:10px 12px;border-radius:8px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-title{font-size:14px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-metrics{margin-top:8px;gap:8px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-value{font-size:22px;line-height:28px;margin-top:0}
 body:not(.web-login)[data-route=workbench] #page-root .quarter-filter-summary{padding:6px 0;margin-top:6px;gap:6px 12px}
 body:not(.web-login)[data-route=workbench] #page-root .quarter-filter-summary .quarter-filter-foot{flex-basis:auto;margin:0 0 0 auto;font-size:12px}
 body:not(.web-login)[data-route=workbench] #page-root .web-opportunity-results{display:flex;flex-direction:column;flex:1 1 0;min-height:0;margin-top:12px;border-radius:8px;overflow:hidden}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-tools{flex:none;position:relative;max-height:48%;overflow:auto;scrollbar-width:thin;border-radius:0}
 body:not(.web-login)[data-route=workbench] #page-root .web-opportunity-list-heading{padding:8px 12px 0}
 body:not(.web-login)[data-route=workbench] #page-root .web-opportunity-list-title{font-size:14px}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-filter{padding:8px 12px}
 body:not(.web-login)[data-route=workbench] #page-root .web-opportunity-results-scroll{flex:1 1 0;min-height:0;height:0;overflow:auto}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-list{padding:0 12px 12px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-search{height:32px;min-height:32px;margin-top:8px;padding:0 10px;font-size:13px}
 body:not(.web-login)[data-route=workbench] #page-root :is(.opportunity-order-note,.quarter-filter-foot,.web-list-condition,.web-list-conditions-label){font-size:12px}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-card{margin-top:8px;padding:12px;box-shadow:none;border-radius:8px}
}
@media(min-width:601px) and (max-width:900px){
 body:not(.web-login) .web-main{padding-bottom:66px}
 body:not(.web-login):is([data-route=opportunity-create],[data-route=management-task-create]) #page-root{overflow:hidden;padding:12px 16px;scrollbar-gutter:auto}
 body:not(.web-login) #page-root>.web-workflow:is(.task-page,.page-shell){display:flex;flex-direction:column;gap:0;width:100%;height:100%;min-height:0;padding:0;margin:0}
 body:not(.web-login) #page-root .web-workflow>.web-workflow-scroll{flex:1 1 0;min-height:0;overflow:auto;padding:0 2px 12px 0}
 body:not(.web-login) #page-root .web-workflow>:is(.opportunity-create-hero,.task-hero){flex:none;padding-bottom:8px}
 body:not(.web-login) #page-root .web-workflow .hero-title{font-size:20px;line-height:28px}
 body:not(.web-login) #page-root .web-workflow>:is(.footer,.bottom-bar){position:static;flex:none;margin:0;min-height:48px;padding:8px 0 0;background:transparent}
 body:not(.web-login) #page-root .web-workflow.web-task-create .description-card textarea{height:160px;min-height:120px}
 body:not(.web-login)[data-route=visit-entry] #page-root{overflow:hidden;scrollbar-gutter:auto}
 body:not(.web-login)[data-route=visit-entry] #page-root :is(.entry-navigation,.web-entry-navigation-space){display:none}
 body:not(.web-login)[data-route=visit-entry] #page-root .web-visit-workspace{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0;height:100%;padding:12px 16px!important;margin:0;background:transparent}
 body:not(.web-login)[data-route=visit-entry] #page-root .entry-hero{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:0;margin:0;background:transparent;color:var(--ui-ink);border:0;box-shadow:none;border-radius:0}
 body:not(.web-login)[data-route=visit-entry] #page-root .entry-hero:before,body:not(.web-login)[data-route=visit-entry] #page-root .entry-hero:after{display:none}
 body:not(.web-login)[data-route=visit-entry] #page-root .entry-title{font-size:20px;line-height:28px;color:var(--ui-ink)}
 body:not(.web-login)[data-route=visit-entry] #page-root :is(.entry-eyebrow,.entry-navigation-space,.entry-navigation){display:none}
 body:not(.web-login)[data-route=visit-entry] #page-root .entry-subtitle{font-size:12px;color:var(--ui-secondary);margin-top:2px}
 body:not(.web-login)[data-route=visit-entry] #page-root .process-card{display:none}
 body:not(.web-login)[data-route=visit-entry] #page-root .web-visit-content{grid-column:1/-1;display:block;min-height:0;overflow:auto;padding-right:2px}
 body:not(.web-login)[data-route=visit-entry] #page-root .web-visit-content>:is(.customer-picker-card,.web-visit-editor){display:block;margin:0 0 12px}
 body:not(.web-login)[data-route=visit-entry] #page-root :is(.customer-picker-card,.note-card,.capture-card){padding:12px;border-radius:8px;margin:0 0 12px}
 body:not(.web-login)[data-route=visit-entry] #page-root :is(.customer-results,.fde-choice-list){max-height:150px;overflow:auto}
 body:not(.web-login)[data-route=visit-entry] #page-root .note-input{height:200px;min-height:150px;font-size:14px}
 body:not(.web-login)[data-route=visit-entry] #page-root .safe-tip{grid-column:1;grid-row:3;padding:0;margin:0;font-size:12px;line-height:20px}
 body:not(.web-login)[data-route=visit-entry] #page-root .submit-button{grid-column:2;grid-row:3;align-self:center;position:static;margin:0;width:auto;min-width:140px;height:36px;padding:0 12px;line-height:34px;font-size:14px}
}
/* Preview re-entry is a mode choice; enterprise credentials only appear in live mode. */
.web-preview-entry[hidden]{display:none}
.web-login[data-mode=preview] #page-root,.web-login[data-mode=preview] .auth-preview-entry{display:none!important}
.web-login[data-mode=preview] .web-auth-form-heading{display:block!important}
.web-preview-entry{grid-column:2;grid-row:2;min-width:0;color:var(--ui-ink)}
.web-preview-entry p{font-size:13px;line-height:1.7;color:var(--ui-muted);margin:0 0 20px}
.web-preview-entry label{display:block;font-size:13px;margin-bottom:8px}
.web-preview-entry select{display:block;width:100%;height:40px;margin-bottom:16px;padding:0 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-ink);font:inherit;box-sizing:border-box}
.web-preview-enter-button{display:block;width:100%;min-height:40px;border:0;border-radius:var(--ui-radius-control);background:var(--ui-primary);color:var(--ui-surface);font-size:14px;font-weight:600}
.web-preview-live-button{display:block;width:100%;min-height:40px;margin-top:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-primary);font-size:14px}
@media(max-width:900px){
 .web-login[data-mode=preview] .web-auth-form-heading{padding:28px 24px 0}
 .web-login[data-mode=preview] .web-auth-form-heading h2{font-size:23px;margin:8px 0}
 .web-login[data-mode=preview] .web-auth-form-heading>p{font-size:13px;line-height:1.6}
 .web-preview-entry{padding:16px 24px}
}
/* Sign-in uses a compact form; notices and saved-account lists may still extend naturally. */
@media(min-width:601px){
 .web-login #page-root .form-area{margin-top:0}
 .web-login #page-root .field-group{margin-bottom:12px}
 .web-login #page-root .agreement{margin:10px 0}
 .web-login #page-root .security-note{margin-top:10px}
 .web-login .web-auth-footer{margin-top:12px}
 .web-login .auth-preview-entry{margin-top:12px;padding-top:12px}
}
@media(min-width:901px){
 .web-login .web-main{grid-template-rows:auto auto auto;align-content:center;padding-top:108px;padding-bottom:24px}
 .web-login .web-auth-form-heading{margin-bottom:18px}
 .web-login .web-auth-intro{padding-bottom:0}
}
@media(min-width:901px) and (max-height:720px){
 .web-login .web-main{padding-top:94px;padding-bottom:16px;align-content:start}
 .web-login .web-authbar{top:22px}
 .web-login .web-authbar .web-brand{width:245px}
 .web-login .web-auth-form-heading{margin-bottom:12px}
 .web-login .web-auth-form-heading h2{font-size:23px;margin:4px 0}
 .web-login .web-auth-intro h1{font-size:32px;margin:16px 0}
 .web-login #page-root .field-group{margin-bottom:8px}
 .web-login #page-root .agreement{margin:6px 0}
 .web-login .web-auth-footer{margin-top:8px}
 .web-login .auth-preview-entry{margin-top:8px;padding-top:8px}
}
@media(min-width:601px) and (max-width:900px){
 .web-login .web-main{min-height:100dvh;max-width:560px;margin:0 auto}
 .web-login #page-root .product-hero{padding:18px 24px 10px!important}
 .web-login #page-root .welcome-copy{margin-top:0}
 .web-login #page-root .welcome-title{font-size:23px}
 .web-login #page-root .welcome-subtitle{margin-top:6px}
 .web-login #page-root .login-content{padding:6px 24px}
 .web-login #page-root .login-panel{padding:16px}
 .web-login .web-auth-footer{padding:0 24px 16px}
}
@media(min-width:601px){
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-order-note{margin:8px 0 4px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-quarter-heading{margin:4px 0;padding:4px 6px;min-height:28px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-quarter-heading>text{font-size:14px;line-height:20px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-quarter-group{gap:0;margin-bottom:8px}
}
@media(min-width:901px) and (max-height:720px){
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-metric{display:flex;align-items:baseline;gap:8px}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-summary-value{font-size:20px;line-height:26px}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,29%);gap:8px}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-filter-line{grid-column:1;grid-row:1;min-width:0;align-self:start}
 body:not(.web-login)[data-route=workbench] #page-root .opportunity-search{grid-column:2;grid-row:1;margin:0;height:36px;align-self:start}
 body:not(.web-login)[data-route=workbench] #page-root .workbench-opportunity-filter>:is(.quarter-filter,.workbench-stage-panel,.web-list-conditions){grid-column:1/-1}
}
