/* Shared finishing layer for workspace routes only. The marketing homepage does not load this file. */
:root{--ui-paper:#fbfaf7;--ui-ink:#171816;--ui-muted:#71716b;--ui-line:#e9e9e3;--ui-ease:cubic-bezier(.22,.61,.36,1)}
body[data-page=login],body[data-page=owner-login],body[data-page=admin],body:has(.legal-main){background:var(--ui-paper);color:var(--ui-ink);-webkit-font-smoothing:antialiased}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:2px solid #555;outline-offset:4px}
button,a.button-dark,a.button,input,select,textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--ui-ease)}
button:active:not(:disabled),a.button:active{transform:scale(.98)}
[data-status]:empty,#master-message:empty{display:none}
body[data-page=login] .google-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 18px;border:1px solid #deded7;border-radius:999px;background:#fff;color:#171816;font:500 14px "DM Sans",sans-serif;cursor:pointer;margin-top:24px}
body[data-page=login] .google-login:hover:not(:disabled){background:#f6f6f2}
body[data-page=login] .google-login:disabled{opacity:.6;cursor:wait}
body[data-page=login] .google-login img{width:20px;height:20px}
body[data-page=login] .login-divider{display:flex;align-items:center;gap:14px;margin:24px 0 0;color:#777;font-size:12px}
.login-divider::before,.login-divider::after{content:"";height:1px;background:#e9e9e3;flex:1}
body[data-page=login] #login-password{width:100%;background:#fff;border:1px solid #deded7;border-radius:10px;padding:14px 16px;font-size:16px;min-height:48px;box-shadow:none;color:#171816}
body[data-page=login] #login-password-field{margin-top:18px}
body[data-page=login] .login-mode{display:block;margin:20px auto 0;padding:8px 4px;min-height:40px;border:0;background:transparent;color:#62635c;font:400 13px "DM Sans",sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body[data-page=accept] .signin-note{margin-top:20px}
body[data-page=accept] #invite-form{margin-top:24px}
body[data-page=accept] #invite-password-fields label{display:block;font-size:13px;margin:18px 0 8px}
body[data-page=accept] #invite-password-fields label span{color:#74746c}
body[data-page=accept] #invite-password-fields input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid #deded7;border-radius:10px;background:#fff;color:#171816;font:16px "DM Sans",sans-serif}
body[data-page=accept] .password-help{font-size:12px;line-height:1.6;margin:14px 0 24px;color:#74746c}
body[data-page=accept] .password-skip{border:0;background:transparent;color:#555;font-size:13px;text-decoration:underline;margin-top:12px}
/* Access pages reuse the invitation's quiet two-column composition. */
body[data-page=login] .login-header{border:0;background:transparent;height:82px}
body[data-page=login] .wordmark img{width:140px;height:auto;display:block}
body[data-page=login] .login-back{font-size:13px;text-decoration:none}
body[data-page=login] .login-shell{width:min(100% - 64px,1064px);margin:auto;padding:72px 0;min-height:calc(100svh - 152px);grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:80px}
body[data-page=login] .login-context{padding:0;min-height:0;background:transparent;color:var(--ui-ink)}
body[data-page=login] .login-context h1{font-size:64px;line-height:1.03;letter-spacing:-.055em;max-width:480px}
body[data-page=login] .login-context>p:not(.login-kicker){font-size:16px;line-height:1.75;color:var(--ui-muted);max-width:380px;margin-top:28px}
body[data-page=login] .login-panel{padding:40px;background:#fff;border:1px solid var(--ui-line);border-radius:18px;box-shadow:none;min-width:0}
body[data-page=login] .login-panel h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px;font-weight:500}
body[data-page=login] .login-panel p{font-size:14px;line-height:1.7;color:var(--ui-muted)}
body[data-page=login] #login-form{margin-top:28px}
body[data-page=login] #login-form label{font-size:13px}
body[data-page=login] #login-email{background:#fff;border:1px solid #deded7;border-radius:10px;padding:14px 16px;font-size:16px;min-height:48px;box-shadow:none}
body[data-page=login] .button{border-radius:999px;min-height:48px;box-shadow:none;background:#111;color:#fff;justify-content:center}
body[data-page=login] .login-help{border-top:1px solid var(--ui-line);padding-top:24px;margin-top:28px;font-size:12px}
body[data-page=login] .login-footer{background:transparent;border-color:var(--ui-line);font-size:11px;color:var(--ui-muted)}
body[data-page=owner-login] main{max-width:470px;margin:7vh auto;padding:36px 30px 64px}
body[data-page=owner-login] main>img{width:140px;height:auto;margin-bottom:44px}
body[data-page=owner-login] h1{font-size:38px;line-height:1.12;letter-spacing:-.04em}
body[data-page=owner-login] input{font-size:16px;border-color:#deded7;padding:14px 16px;border-radius:10px}
body[data-page=owner-login] button{border-radius:999px;font-size:14px;min-height:48px;margin-top:26px}
body[data-page=owner-login] #owner-help{font-size:12px;margin-top:28px}
body[data-page=owner-login] #owner-copy{font-size:14px}
body[data-page=owner-login] label{font-size:13px}
/* Agency console: one refresh control, quieter chrome, unclipped dialogs. */
body[data-page=admin] .dashboard-nav{background:var(--ui-paper);border-color:var(--ui-line)}
body[data-page=admin] .master-heading{padding:20px 0 32px}
body[data-page=admin] .master-heading h1{margin:0;font-size:44px;letter-spacing:-.045em}
body[data-page=admin] .master-heading p{margin-top:16px}
body[data-page=admin] .access-status:empty{display:none}
body[data-page=admin] .realtime-state{display:none}
body[data-page=admin] .dashboard-nav .sync-status{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border:0;background:transparent;color:#71716b;border-radius:50%;position:relative}
.sync-status svg{width:19px;height:19px;display:block}
body[data-page=admin] .sync-status[data-state=error],body[data-page=admin] .sync-status[data-state=offline]{color:#9b4d35}
body[data-page=admin] .sync-status[data-state=error]::after,body[data-page=admin] .sync-status[data-state=offline]::after{content:'';position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:currentColor}
body[data-page=admin] .workspace-section>.section-head{margin-bottom:24px}
body[data-page=admin] .client-search input{border-radius:999px;min-height:46px;padding-left:18px;margin-top:0}
body[data-page=admin] .workspace-summary article{background:#fff}
body[data-page=admin] .client-row{border-color:var(--ui-line);border-radius:18px}
body[data-page=admin] .client-row .secondary{margin-right:8px;margin-bottom:8px}
body[data-page=admin] .create-workspace{background:#fff;border-color:var(--ui-line);border-radius:18px}
body[data-page=admin] .create-inner{padding:30px 32px}
body[data-page=admin] .create-inner>p{max-width:640px}
body[data-page=admin] .form-grid{gap:24px}
body[data-page=admin] .form-grid input,body[data-page=admin] .form-grid select,body[data-page=admin] .form-grid textarea{font-size:16px}
body[data-page=admin] dialog{max-height:calc(100svh - 48px);width:min(900px,calc(100vw - 48px));overflow:auto;overscroll-behavior:contain;border:1px solid var(--ui-line);border-radius:18px;padding:36px}
body[data-page=admin] dialog h2{padding-right:48px}
body[data-page=admin] dialog .dialog-close{float:right;position:relative;inset:auto;margin:0 0 20px 18px;font-size:12px;min-height:40px}
body[data-page=admin] #detail-terms{font-size:14px;line-height:1.8;max-width:650px;clear:both}
body[data-page=admin] .workspace-footnote{font-size:11px;padding-top:24px}
body[data-page=admin] #retell-health{font-size:13px;line-height:1.7}
body[data-page=admin] .master-tabs button{transition:color .2s,border-color .2s}
body[data-page=admin] .master-empty p{max-width:400px;line-height:1.7;margin-inline:auto}
/* Remaining views keep useful information, without decorative repetition. */
body[data-page=portal] .coverage-layout article{border-radius:18px;padding:30px;min-width:0}
body[data-page=portal] .coverage-layout h3{line-height:1.3;letter-spacing:-.025em}
body[data-page=portal] .coverage-layout li{line-height:1.8}
body[data-page=portal] .call-detail{max-height:calc(100svh - 48px);width:min(700px,calc(100vw - 40px));border:1px solid var(--ui-line);border-radius:18px;padding:36px;overflow:auto;overscroll-behavior:contain}
body[data-page=portal] .call-detail h2{padding-right:30px}
body[data-page=portal] .call-detail .privacy-note{margin-top:28px;line-height:1.7}
body[data-page=accept] .invite-steps li{padding-bottom:10px}
body[data-page=accept] .invite-footnote{max-width:330px;margin-inline:auto}
/* Reading pages: content untouched, typography and palette aligned. */
body:has(.legal-main) .legal-header,body:has(.legal-main) .legal-footer{border-color:var(--ui-line)}
.legal-header .wordmark img{width:140px;height:auto}
.legal-main{max-width:760px;padding-top:72px}
.legal-main h1{font-size:clamp(40px,6vw,64px);line-height:1.06;letter-spacing:-.045em}
.legal-main h2{font-size:24px;font-weight:500;letter-spacing:-.02em}
.legal-main section{border-color:var(--ui-line)}
.legal-main p,.legal-main li{font-size:15px;line-height:1.85}
dialog::backdrop{background:rgb(20 20 18 / .32)}
@keyframes surface-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes surface-fade{from{opacity:0}to{opacity:1}}
@keyframes sync-rotate{to{transform:rotate(360deg)}}
@media(hover:hover){body[data-page=admin] .sync-status:hover{color:#111;background:#eeeee8}button:not(:disabled):hover{filter:none}body[data-page=admin] .master-tabs button:hover{color:#111}}
@media(prefers-reduced-motion:no-preference){body[data-page=login] .login-context,body[data-page=login] .login-panel,body[data-page=owner-login] main,body[data-page=admin] .master-heading,.legal-main{animation:surface-enter .42s var(--ui-ease) both}body[data-page=login] .login-panel{animation-delay:65ms}[data-master-panel]:not([hidden]),dialog[open]{animation:surface-enter .28s var(--ui-ease) both}dialog[open]::backdrop{animation:surface-fade .2s ease both}.create-workspace[open]>.create-inner,.workspace-editor[open]>.edit-workspace-form{animation:surface-enter .25s var(--ui-ease) both}body[data-page=admin] .sync-status[data-state=refreshing] svg{animation:sync-rotate .8s linear infinite}}
@media(max-width:760px){body[data-page=login] .login-shell{width:calc(100% - 40px);grid-template-columns:1fr;gap:36px;padding:36px 0 56px;min-height:0}body[data-page=login] .login-context h1{font-size:46px}body[data-page=login] .login-context>p:not(.login-kicker){font-size:15px;margin-top:18px}body[data-page=login] .login-panel{padding:28px}body[data-page=login] .login-panel h2{font-size:28px}body[data-page=owner-login] main{margin:3vh auto;padding:30px 24px 56px}body[data-page=admin] .nav-end{gap:8px}body[data-page=admin] .master-heading h1{font-size:36px}body[data-page=admin] .create-inner{padding:24px}body[data-page=admin] dialog{padding:24px;width:calc(100vw - 28px)}body[data-page=portal] .coverage-layout article{padding:26px}body[data-page=portal] .call-detail{padding:26px}.legal-main{padding-top:48px}.legal-header{padding-inline:20px}.legal-header>a:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
