/* Functional extensions reuse the approved route A tokens and alignment. */
.skip{position:absolute;left:20px;top:-80px;padding:12px;background:white;color:var(--blue);z-index:3}.skip:focus{top:12px}.boot{padding:40px}.service-notice{display:flex;align-items:center;justify-content:space-between;gap:16px}.service-notice button{background:transparent;border:0;padding:4px 12px;white-space:nowrap;font-size:17px}.page-feedback{margin:24px 40px 0;border-left:3px solid var(--sunrise);padding:12px 16px;background:#fff9ea}.week-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.week-controls button{font-size:18px;padding:8px 12px}.day-tasks{margin:24px 0}.task-item{margin:12px 0;padding:12px 8px;border:1px solid var(--grey);border-radius:4px;overflow-wrap:anywhere;background:white}.task-top{display:flex;align-items:flex-start;gap:8px}.task-top input{width:22px;min-width:22px;min-height:22px;height:22px;margin:9px 0;accent-color:var(--blue);cursor:pointer}.task-title{font-family:MrEaves;font-size:21px;text-align:left;min-height:44px;padding:8px 0;border:0;background:transparent;overflow-wrap:anywhere;max-width:100%;line-height:1.2}.task-meta{font-size:17px;color:var(--muted);margin:8px 0 0}.task-feedback{font-size:17px;margin-top:8px;color:var(--blue)}.task-feedback:empty{display:none}.completed .task-title{text-decoration:line-through;color:var(--muted)}.extra-buckets{display:flex;gap:24px;justify-content:space-between;border-bottom:1px solid var(--grey);padding:22px 0}.bucket{flex:1;min-width:0}.bucket:not(:has(.task-item)){display:flex;align-items:baseline;gap:8px}.bucket h2{font-family:MrEaves;font-size:21px;font-weight:400;line-height:1.35}.bucket p{margin:0;font-size:18px}.project-item{border-top:2px solid var(--ink);padding:24px 0;margin-bottom:24px;max-width:780px}.project-item>button{margin-top:20px}.pending{margin:24px 40px;padding:24px;border:1px solid var(--sunrise)}.pending h2{font-size:28px}.pending-item{border-top:1px solid var(--grey);margin-top:20px;padding-top:16px}.pending-item button{margin:12px 0}.pending-item .state:empty{display:none}.login .state,.login form{margin-top:24px}.login input{font-family:MrEaves}.login h1{font-size:42px}.day .num,.day .name{display:block}button:disabled{cursor:default}.task-title:disabled{opacity:1}.week-controls button[aria-pressed=true]{background:var(--sand)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:700px){.service-notice{padding:8px 20px;align-items:flex-start;font-size:16px}.service-notice button{font-size:16px}.page-feedback{margin:20px 20px 0}.week-controls{justify-content:flex-start;margin-top:16px}.week-controls button{padding:8px 10px;font-size:17px}.extra-buckets{gap:16px;flex-wrap:wrap}.bucket{flex:1 1 140px}.bucket:not(:has(.task-item)){display:block}.bucket h2{font-size:20px}.bucket p{font-size:17px}.pending{margin:20px;padding:20px}.day-tasks{margin:20px 0}.task-item{padding:12px}.task-title{font-size:23px}.login h1{font-size:38px}}

.task-title{min-width:0;flex:1}.project-item{overflow-wrap:anywhere}

/* Account extension: same Ocean axes, type, spacing and flat ruled surfaces. */
.account-section{max-width:780px;border-top:2px solid var(--ink);padding:24px 0;margin-top:24px}.account-section h2{font-size:30px}.account-section>p{margin:12px 0}.account-section input{max-width:100%}.account-section .state:empty,#account-state:empty{display:none}.person-row{padding:20px 0;border-top:1px solid var(--grey);overflow-wrap:anywhere}.person-name h3{font-family:MrEaves;font-size:24px;font-weight:400;margin:0}.person-name p{margin:4px 0 12px}.person-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.person-controls select{width:auto;min-width:120px;font-size:18px;margin:0}.person-controls button,.project-people-button{font-size:18px;padding:8px 12px}.project-people-button{margin-left:8px}.task-assignee{font-size:17px;line-height:1.25;margin-top:8px;color:var(--blue);overflow-wrap:anywhere}.check-label{display:flex;align-items:center;gap:12px}.check-label input{width:22px;min-width:22px}.account-section .row{flex-wrap:wrap}.account-section .row button{white-space:normal}.person-row .state:empty{display:none}#access-link{font-size:17px}#roster-form{border-top:1px solid var(--grey);margin-top:20px;padding-top:20px}
@media(max-width:700px){.utility{flex-wrap:wrap}.utility button{padding:8px 12px}.person-controls{display:grid;grid-template-columns:1fr 1fr}.person-controls button{grid-column:1/-1;text-align:left}.person-controls select{min-width:0;width:100%}.account-section .heading{gap:16px}.project-people-button{margin-left:0;display:block}.account-section h2{font-size:30px}}

/* Meeting extension stays on the approved Ocean alignment and flat surfaces. */
.meeting-dialog{width:min(780px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.meeting-dialog h3{font-family:MrEaves;font-size:26px;margin-top:24px}.meeting-dialog details{margin:20px 0;border-top:1px solid var(--grey);padding-top:16px}.meeting-dialog summary{min-height:44px;cursor:pointer}.meeting-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:MrEaves;font-size:19px;line-height:1.5}.meeting-dialog textarea{font-family:MrEaves;font-size:21px;line-height:1.4;width:100%;max-width:100%;padding:12px;border:1px solid var(--ink);resize:vertical}.meeting-dialog form{margin:20px 0}.meeting-dialog .row{flex-wrap:wrap;gap:8px}.meeting-item,.review-action,.local-recording{border-top:1px solid var(--grey);padding:20px 0;overflow-wrap:anywhere}.review-action .check-label{align-items:flex-start}.review-action input:not([type=checkbox]),.review-action select{width:100%;min-width:0}.meeting-dialog .state:empty{display:none}#transcript-reviewed{min-width:22px;width:22px}#meeting-review-save{white-space:normal;margin-top:20px}#budget-limit{max-width:280px}
.meeting-dialog textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Managed onboarding extends approved Ocean A components. */
.welcome-page{max-width:780px;margin:0 auto;padding:40px}.welcome-page>h1{margin-top:20px}.welcome-page section{border-top:1px solid var(--grey);padding:24px 0;margin-top:24px}.welcome-page .privacy-copy{font-size:19px}.welcome-page form{margin-top:24px}.welcome-page input:not([type=checkbox]),.welcome-page select{display:block;width:100%;min-height:44px;padding:12px;font:inherit;margin:8px 0 20px;border:1px solid var(--ink);border-radius:4px}.welcome-page iframe{display:block;width:100%;height:420px;border:1px solid var(--grey);margin:24px 0}.button-link{display:inline-flex;min-height:44px;align-items:center;padding:9px 18px;border-radius:4px;text-decoration:none}.button-link.primary{background:var(--blue);color:white}.welcome-page .row{display:flex;gap:12px;flex-wrap:wrap}.welcome-page .check-label{align-items:flex-start;margin:20px 0}.invitation-item{border-top:1px solid var(--grey);padding:20px 0;overflow-wrap:anywhere}.invitation-item h3{font-family:MrEaves;font-size:24px}#managed-onboarding form{margin:24px 0}#managed-onboarding details{margin:20px 0}#managed-onboarding summary,.login summary{min-height:44px;cursor:pointer}.welcome-page [role=status]{overflow-wrap:anywhere}.welcome-page a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:700px){.welcome-page{padding:24px 20px}.welcome-page h1{font-size:38px}.welcome-page iframe{height:460px}.welcome-page .row>*{width:100%}}

.setup-link{color:var(--blue);display:inline-flex;min-height:44px;align-items:center}.setup-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

.connection-status{font-weight:bold;color:#11488f}.person-row .connection-status{font-size:1rem}#listen-model-slot iframe{width:100%;height:220px;border:1px solid #ededed;background:white}#device-listen-panel{margin-block:20px;padding-block:16px;border-block:1px solid #ededed}.local-recording textarea{width:100%;margin-block:12px;min-height:150px}.local-recording .row{gap:8px}.local-recording{margin-block:20px;padding-block:16px;border-bottom:1px solid #ededed}

.address-notice{margin:0;padding:12px 20px;background:#EDEDED;color:#3E3E3A;font-size:16px;text-align:center;line-height:1.35}.address-notice a{color:#11488F;text-decoration:underline}.address-notice a:focus-visible{outline:3px solid #11488F;outline-offset:3px}

/* Three-step onboarding: existing Ocean A type, edges and plain surfaces. */
.welcome-brand{display:flex;align-items:center;gap:20px}.welcome-brand .title{font-size:30px}.onboarding>h1{font-size:42px;margin-top:32px}.welcome-intro{margin-top:12px;color:var(--muted)}.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:32px 0 24px;padding:0;border-bottom:1px solid var(--grey);gap:16px}.onboarding-steps li{font-size:17px;display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:3px solid transparent}.onboarding-steps li[aria-current=step]{border-color:var(--sunrise);font-family:Brandon;color:var(--blue)}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;font:18px MrEaves}.onboarding-steps [aria-current=step] .step-number{background:var(--blue);border-color:var(--blue);color:white}.step-done .step-number{background:var(--grey)}.onboarding section{margin-top:24px}.onboarding section>.eyebrow{margin:0 0 12px}.onboarding h2{font-size:32px}.welcome-status{font-size:19px;color:var(--blue);margin-top:16px}.welcome-status:empty{display:none}.onboarding details{margin-top:20px;border-top:1px solid var(--grey);padding-top:12px;font-size:18px}.onboarding summary{color:var(--blue);min-height:44px;cursor:pointer;text-decoration:underline}.onboarding summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.onboarding #welcome-finish{margin-top:24px}.onboarding .welcome-back{margin-top:32px;font-size:18px}.onboarding iframe{height:220px;margin:20px 0}.onboarding h2:focus{outline:none}.onboarding .privacy-copy{font-size:18px}
@media(max-width:700px){.onboarding>h1{font-size:36px}.onboarding-steps{gap:8px;margin-top:24px}.onboarding-steps li{font-size:16px}.onboarding iframe{height:220px}.onboarding .welcome-brand .logo{width:56px;height:60px}.onboarding .welcome-brand .title{font-size:28px}}

.onboarding>section{border-top:0;margin-top:0;padding-top:8px}
