/* One visual language for the whole client workspace. Palette values remain account-owned. */
@font-face{font-family:Inter;src:url('fonts/Inter-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/Inter-SemiBold.ttf') format('truetype');font-weight:500 900;font-style:normal;font-display:swap}
:root{--bg:#f8f9fb;--surface:#fff;--surface-soft:#f8f8f7;--ink:#0d111b;--muted:#637087;--border:#e9edf3;--border-strong:#d2d8e3;--main:#ffbf2e;--main-hi:#ffca50;--accent-soft:#f3e5d2;--gold-ink:#956b21;--accent-ink:#211b0e;--paper:var(--surface,#fff);--line:var(--border,#e9edf3);--text:var(--ink,#0d111b);--gold:var(--gold-ink,#956b21);--accent:var(--main,#ffbf2e);--control-border:color-mix(in srgb,var(--muted,#637087) 75%,var(--surface,#fff));--page-radius:16px;--field-radius:11px;--focus-ring:var(--gold-ink,#956b21)}
body{font-family:Inter,Arial,sans-serif;font-synthesis:none}
button,input,select,textarea{font-family:inherit;font-synthesis:none}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,a{overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
::selection{background:var(--accent-soft);color:var(--ink)}
.field{min-width:0}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border-color:var(--control-border);border-radius:var(--field-radius);font-size:16px;line-height:1.5;min-height:48px;background:var(--surface);color:var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
.field>label,.formgrid .field>label{font-size:14px;font-weight:600;line-height:1.5;color:var(--ink)}
.formgrid{gap:20px 18px;align-items:start}
.formgrid>.field.wide,.formgrid>fieldset.wide,.formgrid>details.wide{grid-column:1/-1}
.field textarea{min-height:112px;resize:vertical}
.field .hint,.hint,.note{line-height:1.6}
input[type=checkbox],input[type=radio]{accent-color:var(--gold-ink);min-width:18px;min-height:18px;flex-shrink:0}
input:disabled,select:disabled,textarea:disabled{opacity:.75;cursor:not-allowed}
.btn{line-height:1.4;white-space:normal}
.btn.secondary,.btn.neutral,.mini{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}
.btn.secondary:hover,.btn.neutral:hover,.mini:hover{background:var(--surface-soft)}
.btn.danger{color:var(--red,#9d3440);border-color:var(--red,#9d3440);background:var(--red-bg,#fff2f2)}
.text-link,.training-link,.plan-open{color:var(--gold-ink)}
.training-link{color:var(--muted);text-underline-offset:3px}
.text-link:hover,.training-link:hover{text-decoration:underline;text-underline-offset:4px}
.tiny-action,.export-link,.plain{min-height:44px;line-height:1.45}
.card-tabs button{color:var(--muted);background:var(--surface);border-color:var(--border)}
.card-tabs button[aria-pressed=true]{color:var(--ink);background:var(--accent-soft);border-color:var(--gold-ink);box-shadow:inset 0 -3px var(--main)}
.card-tabs button[aria-pressed=true] .icon{color:var(--gold-ink)}
/* Dialogs have a stable heading, a single scrolling content region, and ordinary flowing actions. */
.overlay{padding:24px;align-items:center;overscroll-behavior:contain;background:color-mix(in srgb,var(--ink) 30%,transparent)}
.modal{width:min(800px,100%);max-height:calc(100dvh - 48px);border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #15223626;display:flex;flex-direction:column;overflow:hidden}
.modal-header{flex:none;min-height:76px;padding:20px 26px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:18px}
.modal-header h2{font-size:23px;line-height:1.35;letter-spacing:-.5px;overflow-wrap:anywhere}
.modal-header .x{width:44px;height:44px;min-width:44px;min-height:44px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.modal-body{padding:26px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;scroll-padding-block:16px}
.modal-body>p:first-child{margin-top:0}
.modal-body>h3,.modal-body>h4{margin-top:24px}
.modal-body :is(h3,h4){line-height:1.4;letter-spacing:-.3px}
.modal-body :is(.field,.hint,.note){overflow-wrap:anywhere}
.formfooter,.practice-form-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);gap:12px;background:transparent;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.formfooter>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center;max-width:100%}
.formfooter .btn,.practice-form-footer .btn{min-height:48px}
.save-state{font-size:12px;line-height:1.5;color:var(--muted);padding-top:12px;margin:0}
.save-state.error,.form-error{color:var(--red,#9d3440)}
.draft-banner{border:1px solid var(--gold-ink);border-radius:12px;padding:16px;background:var(--accent-soft);color:var(--ink);margin-bottom:20px}
.draft-banner p{margin-top:0}.draft-banner .inline-actions{margin-bottom:0}
.confirm-overlay{padding:20px}.confirm-box{border-radius:20px;background:var(--surface);color:var(--ink);border:1px solid var(--border);line-height:1.6}
.history-card{padding:18px 0;border-color:var(--border)}
.modal-body .subsection{border-color:var(--border)}
/* Long editors keep optional detail separate without removing their controls. */
.design-disclosure{border:1px solid var(--border);border-radius:12px;margin:20px 0;background:var(--surface)}
.design-disclosure>summary{padding:16px 18px;min-height:52px;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);line-height:1.5}
.design-disclosure[open]>summary{border-bottom:1px solid var(--border)}
.design-disclosure>.formgrid,.design-disclosure>.contact-context{margin:0;padding:18px;border:0;border-radius:0}
.message-overview{margin:0 0 20px;padding:14px 16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px}
.message-overview .contact-compact{margin:0}
.message-overview .contact-home-primary{gap:12px}
.message-overview .contact-home-primary .tiny-action{min-height:44px}
.message-editor-field textarea{font-size:17px;line-height:1.7;min-height:220px}
.message-prepare{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 12px;flex-wrap:wrap}
.message-prepare p{margin:0;color:var(--muted);font-size:13px;max-width:44ch}
.course-plan-guide{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:16px}
.plan-step-edit{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:16px;border:1px solid var(--border);border-radius:14px;padding:20px;margin:0}
.plan-step-edit legend{padding:0 8px;font-size:14px;font-weight:600;color:var(--muted)}
.plan-step-edit .field:first-of-type,.plan-step-edit .field:last-child{grid-column:1/-1}
.course-checklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:14px;margin:0}
.course-checklist-item .update-check{margin:0;min-height:44px;grid-column:auto;font-size:14px}
/* The course belongs to the same workspace, including speech, handouts and reflections. */
.practice-page{gap:28px}
.practice-intro{padding:28px 30px;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:var(--page-radius);background:var(--surface);box-shadow:var(--shadow)}
.practice-intro h2{font:600 28px/1.25 Inter,Arial,sans-serif;letter-spacing:-.8px;max-width:30ch;margin:8px 0 14px;color:var(--ink)}
.practice-intro>p:not(.practice-eyebrow):not(.hint){max-width:66ch;font-size:16px;line-height:1.65;color:var(--muted)}
.practice-eyebrow{text-transform:none;letter-spacing:0;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
.practice-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.practice-quick-actions .btn{font-size:14px;min-height:46px}
.practice-utilities{margin:16px 0 4px;border-top:1px solid var(--border);padding-top:14px}
.practice-utilities>summary{cursor:pointer;min-height:44px;line-height:1.5;font-weight:600;font-size:14px;color:var(--muted)}
.practice-utilities .practice-actions{margin:10px 0 0}
.practice-week{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:22px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center}
.practice-week h3{font-weight:600;font-size:18px}.practice-week p{grid-column:1;margin:0;font-size:14px;color:var(--muted)}.practice-week>.btn{grid-column:2;grid-row:1/3}
.practice-material-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:none}
.practice-material-card h3{font:600 20px/1.35 Inter,Arial,sans-serif;letter-spacing:-.5px}
.practice-material-card p:not(.practice-eyebrow){font-size:14px;line-height:1.65}
.practice-material-card button{width:100%;min-height:46px;font-size:14px}
.practice-day{border-color:var(--border);background:var(--surface);border-radius:14px;margin:12px 0}
.practice-day>summary{padding:20px 24px;align-items:center;gap:16px;min-height:76px}
.practice-day>summary span{font-size:13px;color:var(--gold-ink);min-width:50px}
.practice-day>summary strong{font:600 18px/1.4 Inter,Arial,sans-serif;letter-spacing:-.3px}
.practice-lesson{grid-template-columns:minmax(0,1fr) 208px;padding:22px 24px;gap:20px;border-color:var(--border)}
.practice-lesson small{font-size:11px;color:var(--muted)}.practice-lesson h3{font-size:17px;margin:7px 0}.practice-lesson p{font-size:14px;margin:7px 0 0}
.practice-lesson-actions{align-items:stretch;gap:8px}
.practice-lesson-actions>.btn{width:100%;font-size:13px;min-height:44px}
.practice-lesson-more{font-size:13px;width:100%;color:var(--muted)}.practice-lesson-more>summary{cursor:pointer;min-height:44px;padding:10px 0}.practice-lesson-more .btn{width:100%;margin:4px 0;min-height:44px;font-size:13px}
.practice-source{background:var(--surface-soft);border:1px solid var(--border);border-left:3px solid var(--main);border-radius:12px;padding:22px}
.practice-source blockquote,.practice-dialogue blockquote,.workflow-source blockquote{font:400 17px/1.7 Inter,Arial,sans-serif;color:var(--ink);letter-spacing:-.1px}
.practice-dialogue{border-color:var(--border);padding:24px 0}.practice-dialogue h3{font-size:19px}.practice-dialogue h4{font-size:17px}
.practice-checklist,.practice-week-stat{background:var(--surface-soft);border-color:var(--border);border-radius:12px;padding:18px}
.practice-compact{border-color:var(--border);gap:20px;padding:18px 0}.practice-compact p{font-size:14px;line-height:1.7}.practice-compact h4{margin:0;font-size:17px}
.practice-step{background:var(--surface);border-color:var(--border);padding:22px;border-radius:14px;gap:18px}
.practice-step legend{font:600 17px/1.4 Inter,Arial,sans-serif;color:var(--ink)}
.practice-review-option{border-color:var(--border);border-radius:12px;padding:18px;min-height:56px}
.practice-handout,.practice-certificate{background:var(--surface);color:var(--ink);border-color:var(--border-strong);border-radius:14px;padding:30px}
.practice-handout>h2,.practice-certificate h2{font:600 28px/1.3 Inter,Arial,sans-serif;letter-spacing:-.8px}
.practice-handout h3,.practice-certificate h3{font:600 20px/1.4 Inter,Arial,sans-serif}
.practice-certificate-name{font:600 24px/1.4 Inter,Arial,sans-serif;border-color:var(--border)}
.practice-handout li,.practice-handout footer,.practice-certificate footer{border-color:var(--border)}
.practice-handout small,.practice-handout li>span,.practice-certificate-dates small{font-size:12px;color:var(--muted);letter-spacing:0}
.practice-handout li:before{color:var(--gold-ink)}
/* Meeting preparation, the live ritual, and its guest-facing projection. */
.workflow-lead{border-color:var(--border);gap:20px;padding:18px 0}
.workflow-person,.workflow-preparation{border-color:var(--border);border-radius:14px;background:var(--surface);padding:22px}
.workflow-person-head h3{font-size:21px;letter-spacing:-.5px}.workflow-person-head p{font-size:14px}
.workflow-facts{gap:20px 24px;margin:22px 0}.workflow-fact dt{font-size:13px;margin-bottom:6px}.workflow-fact dd{font-size:15px;line-height:1.6;color:var(--ink)}
.workflow-preparation h3{font-size:19px}.workflow-preparation h4{font-size:16px}
.workflow-tools,.workflow-person details,.workflow-undo{border-top:1px solid var(--border);padding-top:8px}
.workflow-tools>summary,.workflow-person details>summary,.workflow-undo>summary,.workflow-source>summary{min-height:44px;line-height:1.5;cursor:pointer}
.workflow-tool-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}
.workflow-tool-list>.btn{justify-content:flex-start;min-height:48px;font-size:14px}
.workflow-ritual{gap:30px}.workflow-current h2{font-size:clamp(28px,3vw,36px);letter-spacing:-.8px}.workflow-current>p{font-size:18px;line-height:1.7}
.workflow-source{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:12px 18px}
.workflow-plan{border-color:var(--border);padding-left:24px}.workflow-plan li{font-size:14px;line-height:1.5}.workflow-plan li[aria-current]{color:var(--ink);font-weight:600;background:var(--accent-soft);border-radius:8px}
.workflow-step-edit,.workflow-meeting-windows fieldset{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:20px}
.workflow-step-edit legend,.workflow-meeting-windows legend{font-size:14px;font-weight:600;line-height:1.5;color:var(--muted)}
.workflow-packing-item{gap:12px;padding:16px 0;border-color:var(--border)}
.workflow-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:22px}
.workflow-projection{background:var(--surface);color:var(--ink)}.workflow-projection-bar{border-color:var(--border);background:var(--surface);padding:14px 24px}
.workflow-projection-content{max-width:900px;padding:44px 36px 64px}
.workflow-projection-content h1{font:600 clamp(30px,5vw,48px)/1.2 Inter,Arial,sans-serif;letter-spacing:-1px;max-width:24ch}
.workflow-projection-content h2{font:600 24px/1.4 Inter,Arial,sans-serif;letter-spacing:-.5px}.workflow-projection-content li,.workflow-handout-text{font-size:19px;line-height:1.8}
/* Owner pages use the same tokens and controls, with labelled mobile records. */
.owner-workspace{color:var(--ink);background:var(--bg);font:400 16px/1.5 Inter,Arial,sans-serif}
.owner-workspace .brand{font-size:26px;font-weight:600;line-height:1.3}
.owner-workspace .main{max-width:1380px;padding:32px 36px}
.owner-workspace .page-header h1{font-size:38px;line-height:1.2;letter-spacing:-1px}
.owner-workspace .panel,.owner-workspace .table-container,.owner-workspace .recent-people{border-radius:16px;border-color:var(--border);background:var(--surface);box-shadow:var(--shadow)}
.owner-workspace .panel-head{padding-block:0;margin-bottom:20px}
.owner-workspace .navigation a{min-height:50px;font-size:15px}
.owner-workspace .navigation a[aria-current=page]{background:var(--accent-soft);color:var(--ink)}
.owner-workspace .metrics{border-color:var(--border);background:var(--surface);border-radius:16px}
.owner-workspace .metric{border-color:var(--border)}
.owner-workspace .metric span,.owner-workspace .page-header p{font-size:14px;line-height:1.6}
.owner-workspace .btn{min-height:46px;font-size:14px;border-radius:11px}
.owner-workspace .plain{min-height:44px;color:var(--muted);font-size:14px}
.owner-workspace .fields{gap:20px}.owner-workspace .field label{font-size:14px}
.owner-workspace .notice{background:var(--surface-soft);color:var(--ink);border:1px solid var(--border);border-radius:12px}
.owner-workspace .notice.error{color:var(--red,#9d3440);background:var(--red-bg,#fff2f2)}
.owner-workspace dialog{max-height:calc(100dvh - 48px);overflow:auto;border-radius:20px;scroll-padding:20px}
.owner-workspace .dialog-top{padding:22px 26px 0}.owner-workspace .dialog-body{padding:24px 26px}
.owner-workspace .dialog-top button{width:44px;height:44px;flex-shrink:0;border-radius:50%}
.owner-workspace .dialog-body p{font-size:15px;line-height:1.7}
.owner-workspace .table-container th{background:var(--surface-soft);color:var(--muted);font-size:13px}
.owner-workspace .table-container td{font-size:14px;color:var(--ink);border-color:var(--border);background:var(--surface)}
.owner-workspace .badge,.owner-workspace .group-tag{white-space:normal;line-height:1.4}
.owner-workspace .owner-mobile-toggle{display:none}
/* Public form: no workspace navigation or private information. */
.practice-public{margin:0;background:var(--bg,#f8f9fb);color:var(--ink,#0d111b);font:400 16px/1.65 Inter,Arial,sans-serif;padding:36px 20px}
.practice-public main{max-width:680px;margin:0 auto;padding:36px;background:var(--surface,#fff);border:1px solid var(--border,#e9edf3);border-radius:20px;box-shadow:0 8px 40px #15223608}
.practice-public h1{font:600 34px/1.2 Inter,Arial,sans-serif;letter-spacing:-1px;margin:12px 0 20px}
.practice-public main>p:not(.practice-eyebrow){font-size:15px;color:var(--muted,#637087);line-height:1.7;max-width:60ch}
.practice-public form{gap:22px;margin-top:28px}
.practice-public label{font-weight:600;font-size:14px;gap:8px}
.practice-public input,.practice-public select,.practice-public textarea{font:400 16px/1.5 Inter,Arial,sans-serif;border:1px solid var(--control-border,#8a94a5);border-radius:11px;min-height:48px;padding:12px;color:var(--ink);background:var(--surface)}
.practice-public button{font:600 16px/1.5 Inter,Arial,sans-serif;border-radius:11px;min-height:50px;background:var(--main,#ffbf2e);color:var(--accent-ink,#211b0e);padding:12px 20px}
.practice-public button:disabled{opacity:.65}
#practice-public-status:not(:empty){border:1px solid var(--border);padding:16px;border-radius:12px;background:var(--surface-soft);color:var(--ink);font-size:15px}
/* Paper stays white when printed, independently of a consultant's chosen theme. */
.design-document{font:400 16px/1.65 Inter,Arial,sans-serif;background:#f8f9fb;color:#151922;margin:0;padding:24px;overflow-wrap:anywhere;max-width:none;border:0}
.design-document main{box-sizing:border-box;max-width:780px;margin:24px auto;background:white;padding:44px;border:1px solid #e0e4ec;border-radius:16px}
.design-document header{padding:22px 0 24px;border-top:3px solid #ffbf2e;border-bottom:1px solid #e0e4ec}
.design-document h1{font:600 34px/1.2 Inter,Arial,sans-serif;letter-spacing:-1px;margin:12px 0 20px}
.design-document h2{font:600 21px/1.4 Inter,Arial,sans-serif;letter-spacing:-.4px}
.design-document :is(.eyebrow,small,.step){font:400 12px/1.6 Inter,Arial,sans-serif;letter-spacing:0;color:#637087}
.design-document li{border-color:#e0e4ec}.design-document li:before{color:#785700;border-color:#d2b979}
.design-document footer{border-color:#e0e4ec;padding-top:22px;margin-top:28px}
.design-document .client{font:600 26px/1.4 Inter,Arial,sans-serif;border-color:#e0e4ec}
.design-document .print-controls{max-width:780px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 auto;font-size:14px}
.design-document .print-controls button{min-height:48px;padding:12px 18px;border:1px solid #8a94a5;border-radius:11px;background:white;color:#151922;font-weight:600}
.design-document .print-controls a{color:#637087;text-underline-offset:4px}
@media(max-width:900px){.tiny-action,.export-link{min-height:44px}.focus-copy .contact-home-inline .tiny-action{min-height:44px}.focus-copy .contact-home-inline .hint{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.topbar-bell{min-width:44px!important;min-height:44px!important;width:44px!important}}
@media(max-width:700px){
 .overlay{padding:0;align-items:stretch}.modal,.modal:has([data-client-history]){width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0;display:flex;overflow:hidden}
 .modal-header{min-height:72px;padding:14px 18px;position:static}.modal-header h2{font-size:21px;line-height:1.4;letter-spacing:-.45px;max-width:calc(100% - 58px)}
 .modal-body{padding:22px 18px max(28px,env(safe-area-inset-bottom));overflow:auto;flex:1;min-height:0}
 .modal:has([data-client-history]) .modal-body{padding-inline:18px}.modal:has([data-client-history]) .modal-header h2{max-width:none}
 .formgrid{grid-template-columns:minmax(0,1fr);gap:20px}.formgrid>.wide,.formgrid>.field.wide,.formgrid>fieldset.wide{grid-column:1}
 .formfooter{align-items:stretch;gap:12px}.formfooter>div:last-child,.formfooter>.inline-actions{width:100%;display:flex;flex-wrap:wrap}.formfooter .btn{flex:1;min-width:120px}.formfooter>.btn[type=submit]{width:100%;flex:auto}
 .practice-form-footer{display:block}.practice-form-footer>.btn{width:100%}
 .message-editor-field textarea{min-height:240px;font-size:16px}.message-overview{padding:12px 14px}.message-prepare{gap:10px}.message-prepare .btn{width:100%}
 .design-disclosure{margin-block:16px}.design-disclosure>summary{padding:15px 14px;font-size:14px}.design-disclosure>.formgrid,.design-disclosure>.contact-context{padding:16px 14px}
 .plan-step-edit{grid-template-columns:minmax(0,1fr);padding:18px 14px}.course-checklist-item{grid-template-columns:minmax(0,1fr);padding:14px}
 .practice-intro{padding:22px}.practice-intro h2{font-size:25px}.practice-intro>p:not(.practice-eyebrow):not(.hint){font-size:15px}
 .practice-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.practice-quick-actions>.btn:first-child{grid-column:1/-1}.practice-quick-actions>.btn{font-size:13px;padding:10px 9px}
 .practice-week{padding:20px;grid-template-columns:1fr;gap:10px}.practice-week>.btn{grid-column:1;grid-row:auto;justify-self:start}.practice-week h3{font-size:18px}
 .practice-material-grid{grid-template-columns:1fr;gap:12px}.practice-material-card{padding:22px}.practice-material-card h3{font-size:20px}
 .practice-day>summary{flex-direction:row;padding:18px;gap:12px;align-items:flex-start}.practice-day>summary strong{font-size:16px}.practice-day>summary span{min-width:44px}
 .practice-lesson{grid-template-columns:1fr;padding:20px 18px;gap:14px}.practice-lesson-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.practice-lesson-more{grid-column:1/-1}
 .practice-source{padding:18px}.practice-source blockquote,.practice-dialogue blockquote{font-size:16px}.practice-handout,.practice-certificate{padding:22px}.practice-handout>h2,.practice-certificate h2{font-size:25px}
 .practice-step{padding:18px 14px}.practice-step legend{font-size:16px}
 .workflow-person,.workflow-preparation{padding:18px}.workflow-person-head h3{font-size:20px}.workflow-tool-list{grid-template-columns:1fr}.workflow-current>p{font-size:17px}
 .workflow-step-edit,.workflow-meeting-windows fieldset{padding:18px 14px}.workflow-projection-content{padding:28px 22px 48px}.workflow-projection-content h2{font-size:22px}.workflow-projection-content li,.workflow-handout-text{font-size:17px}
 .workflow-hub-row{flex-wrap:wrap}.workflow-hub-row .btn{max-width:none;min-height:44px;font-size:13px}
 .owner-workspace .sidebar{padding:18px;border:0}.owner-workspace .brand{font-size:23px}.owner-workspace .brand-mark{height:40px;width:40px}.owner-workspace .topbar{padding:12px 18px;min-height:56px}
 .owner-workspace .main{padding:24px 18px 40px}.owner-workspace .page-header h1{font-size:30px}.owner-workspace .page-header p{font-size:14px}
 .owner-workspace .owner-mobile-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;margin:18px 0 0;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:11px;color:var(--ink);font:600 14px/1.5 Inter,Arial,sans-serif}
 .owner-workspace .owner-mobile-toggle:after{content:'⌄';font-size:20px}.owner-workspace .owner-mobile-toggle[aria-expanded=true]:after{content:'⌃'}
 .owner-workspace .navigation{display:none;overflow:visible;margin-top:12px;padding:0;gap:4px}.owner-workspace .owner-mobile-toggle[aria-expanded=true]+.navigation{display:grid;grid-template-columns:1fr 1fr}
 .owner-workspace .navigation a{min-height:48px;padding:10px 12px;font-size:13px}.owner-workspace .navigation a svg{width:19px;height:19px;flex-shrink:0}
 .owner-workspace .table-container{overflow:visible;background:transparent;border:0;box-shadow:none;border-radius:0}
 .owner-workspace .table-container table,.owner-workspace .table-container tbody{display:block;width:100%}
 .owner-workspace .table-container thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .owner-workspace .table-container tbody tr{display:block;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 16px;margin-bottom:12px}
 .owner-workspace .table-container tbody td{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--border);font-size:14px;overflow-wrap:anywhere;min-width:0}
 .owner-workspace .table-container tbody td:before{content:attr(data-label);font-size:12px;line-height:1.6;color:var(--muted);font-weight:400}.owner-workspace .table-container tbody td:last-child{border-bottom:0}
 .owner-workspace .table-container td[colspan]{display:block}.owner-workspace .table-container td[colspan]:before{display:none}.owner-workspace .table-actions{min-width:0}.owner-workspace .table-actions .btn{min-height:44px;font-size:13px}
 .owner-workspace .filters .field{min-width:140px}.owner-workspace .dialog-top{padding:18px 18px 0}.owner-workspace .dialog-body{padding:22px 18px}.owner-workspace dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .practice-public{padding:18px 12px}.practice-public main{margin:0;padding:26px 20px;border-radius:18px}.practice-public h1{font-size:29px}.practice-public button{width:100%;justify-self:stretch}
 .design-document{padding:16px 12px}.design-document main{padding:26px 22px;margin:16px 0;border-radius:14px}.design-document h1{font-size:29px}.design-document .print-controls{display:grid;gap:12px}.design-document .dates{grid-template-columns:1fr}
}
@media(max-width:360px){.modal-body{padding-inline:14px}.modal-header{padding-inline:14px}.practice-intro{padding:20px}.practice-lesson-actions{grid-template-columns:1fr}.practice-lesson-more{grid-column:1}.owner-workspace .main{padding-inline:14px}.owner-workspace .table-container tbody td{grid-template-columns:1fr;gap:5px}.owner-workspace .filters .field{min-width:100%;flex-basis:100%}}
@media(max-height:560px){.overlay{padding:8px}.modal,.modal:has([data-client-history]){max-height:calc(100dvh - 16px);height:auto}.modal-header{min-height:60px;padding-block:10px}.modal-body{overflow:auto}.formfooter{position:static}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white!important;color:#151922!important}#shell:has(+ #modal-root .modal){display:none!important}.overlay{position:static!important;background:none!important;padding:0!important;display:block!important}.modal{display:block!important;position:static!important;width:100%!important;max-height:none!important;height:auto!important;overflow:visible!important;box-shadow:none!important;border:0!important}.modal-body{overflow:visible!important;max-height:none!important;padding:0!important}.modal-header,.formfooter,.practice-actions,.practice-form-footer,.print-controls,.save-state,.draft-banner{display:none!important}.design-document{padding:0;background:white}.design-document main{max-width:none;margin:0;padding:0;border:0;border-radius:0}.practice-handout,.practice-certificate{background:white;color:#151922;border:0;padding:0;border-radius:0}.practice-handout li,.design-document li{break-inside:avoid}body:has(.workflow-projection) #shell,body:has(.workflow-projection) #modal-root{display:none!important}.workflow-projection{position:static!important;overflow:visible!important}.workflow-projection-bar{display:none!important}}

#message-form .field:has([name=message]) textarea{font-size:17px;line-height:1.7;min-height:240px}
.practice-lesson-actions>.btn:not(.secondary){background:var(--accent-soft);border-color:var(--border);color:var(--ink)}
.confirm-overlay>[role=alertdialog]{max-width:480px;width:100%;padding:26px;border-radius:20px;background:var(--surface);color:var(--ink);border:1px solid var(--border);box-shadow:0 20px 70px #15223633}
.confirm-overlay>[role=alertdialog] h2{font-size:23px;line-height:1.4;letter-spacing:-.5px;margin:0 0 12px}.confirm-overlay>[role=alertdialog] p{font-size:16px;line-height:1.65}.confirm-overlay>[role=alertdialog] .inline-actions{margin:22px 0 0}
.focus-detail-link,.plan-open{min-width:44px;min-height:44px}.contact-weekdays label{min-height:44px}
.practice-public .public-action{display:inline-flex;align-items:center;justify-content:center;background:var(--main,#ffbf2e);color:var(--accent-ink,#211b0e);min-height:48px;border-radius:11px;padding:12px 20px;margin-top:18px;font-size:16px;font-weight:600;text-decoration:none}
@media(max-width:700px){.focus-copy .contact-home-inline{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);width:100%}.focus-bottom{margin-top:4px}.confirm-overlay>[role=alertdialog]{padding:22px}.confirm-overlay>[role=alertdialog] .inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}}

.agenda-panel .plan-row,.agenda-panel .plan-row:is(:first-child,:last-child){grid-template-columns:60px minmax(170px,.95fr) minmax(0,1.1fr) 44px}.agenda-panel .plan-open{width:44px;min-width:44px;transform:none}.focus-detail-link{right:0}.focus-content h2{max-width:calc(100% - 52px)}
.owner-cell-value{min-width:0;overflow-wrap:anywhere}.owner-cell-value>.group-tag{display:inline-block}.owner-cell-value>.muted{display:block}
@media(max-width:600px){.agenda-panel .plan-row,.agenda-panel .plan-row:is(:first-child,:last-child){grid-template-columns:43px minmax(0,1fr) 44px}.agenda-panel .plan-open{grid-column:3;grid-row:1/3}}

@media print{
 :root,body,[data-palette],.workflow-projection{--ink:#151922!important;--text:#151922!important;--muted:#556174!important;--surface:#fff!important;--surface-soft:#fff!important;--paper:#fff!important;--border:#cbd2dc!important;--line:#cbd2dc!important;--gold-ink:#785700!important;--accent:#785700!important;--gold:#785700!important;background:#fff!important;color:#151922!important}
 .practice-handout,.practice-certificate,.workflow-projection,.workflow-projection-content{background:#fff!important;color:#151922!important}
}
.owner-workspace .badge,.owner-workspace .group-tag{background:var(--surface-soft);color:var(--muted);border:1px solid var(--border)}
.owner-workspace .badge.active,.owner-workspace .badge.used,.owner-workspace .notice.good{background:var(--green-bg,#edf6ef);color:var(--green,#256441)}
.owner-workspace .badge.suspended,.owner-workspace .badge.error,.owner-workspace .badge.revoked,.owner-workspace .notice.error,.owner-workspace .btn.danger{background:var(--red-bg,#fff0f0);color:var(--red,#a3313d);border-color:color-mix(in srgb,var(--red,#a3313d) 45%,var(--surface))}
.owner-workspace .badge.expired,.owner-workspace .badge.pending,.owner-workspace .notice.warning{background:var(--accent-soft);color:var(--gold-ink)}
.owner-workspace .notice{background:var(--surface-soft);color:var(--ink)}

html{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}html::-webkit-scrollbar{display:block;width:8px;height:8px}html::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}
.message-overview .contact-home-primary{flex-wrap:wrap;align-items:flex-start}.message-overview .contact-home-primary .tiny-action{flex-shrink:0;white-space:nowrap;font-size:13px}.message-overview .contact-home-primary>span{flex:1;min-width:150px}
.overlay{z-index:70}
@media(max-width:700px){.overlay{backdrop-filter:none}.modal:has([data-client-history]) .modal-body{padding-bottom:max(28px,env(safe-area-inset-bottom))}}
.workflow-weekdays label{min-height:44px;padding:10px 6px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border-strong);border-radius:8px}.workflow-weekdays label:has(input:checked){background:var(--accent-soft);border-color:var(--gold-ink)}
