/* Shared interaction states. The approved porcelain composition stays in elegant.css. */
:root{--error:#a33746;--error-soft:#fff0f1;--success:#35674c;--success-soft:#edf7ef}
:root[data-theme=dark]{--error:#ffadb5;--error-soft:#47272e;--success:#a4d3b4;--success-soft:#213c30}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
button:disabled,input:disabled,select:disabled{opacity:.6;cursor:wait}
.modal-body,.panel-body,.client-tab-body{overflow-wrap:anywhere}
.modal-body>p,.panel-body>p{max-width:75ch}
.modal-body .formgrid{align-items:start}
.field input,.field select,.field textarea{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field textarea{line-height:1.6;min-height:100px}
.field input:invalid:not(:placeholder-shown):focus{border-color:var(--error)}
.notice.error,.notice.danger{background:var(--error-soft);color:var(--error);border-color:var(--error)}
.notice.success{background:var(--success-soft);color:var(--success);border-color:transparent}
.hint,.section-caption,.footnote{color:var(--muted);line-height:1.6}
.empty{border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface);color:var(--ink)}
.empty p{color:var(--muted);max-width:48ch;margin-inline:auto}
.modal-header{background:var(--surface);border-color:var(--border)}
.modal-header h2{font-size:21px;line-height:1.3;letter-spacing:-.5px}
.modal-body h3,.panel-body h3{letter-spacing:-.3px;line-height:1.4}
.toolbar,.inline-actions{gap:9px}
.modal-body .toolbar{flex-wrap:wrap}
.modal-body details,.panel-body details{border-color:var(--border)}
.modal-body details>summary,.panel-body details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;line-height:1.4}
.client-tab-body>.panel:first-child{margin-top:0}
.more-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.more-menu .navbtn{width:100%;min-height:50px;justify-content:flex-start;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.more-menu .navbtn.active{background:var(--accent-soft);color:var(--gold-ink)}
.more-utilities{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.extension-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;margin:14px 0}
.extension-section h3{margin:0 0 10px}
.extension-section .list:empty{display:none}
.settings-palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
table{border-collapse:collapse;color:var(--ink)}
th,td{border-color:var(--border)}
dialog{background:var(--surface);color:var(--ink);border-color:var(--border)}
@media(max-width:700px){
 .modal-body .formgrid{grid-template-columns:1fr}
 .modal-body .formgrid>.field,.modal-body .formgrid>fieldset{min-width:0;grid-column:1/-1}
 .modal-body input,.modal-body select,.modal-body textarea{font-size:16px}
 .modal-body .toolbar>.btn{flex:1 1 160px;white-space:normal;line-height:1.4}
 .modal-header h2{font-size:19px}
 .more-utilities{grid-template-columns:1fr}
 .extension-section{padding:14px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.mobile-nav,.sidebar,.workspace-topbar,.connection-bar,.toast,.modal-header .x,.toolbar button{display:none!important}.content{margin:0!important;padding:0!important}.modal-backdrop{position:static!important;background:white!important}.modal{box-shadow:none!important;border:0!important;max-height:none!important}.modal-body{overflow:visible!important}}

.profile-preparation{display:grid;gap:10px;margin:18px 0}.profile-preparation h3{font-size:19px}.profile-preparation article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.profile-preparation p{margin:4px 0 0}.meeting-time{color:var(--muted);font-size:14px;margin:8px 0 14px}.meeting-details{margin-top:14px;border-top:1px solid var(--border);padding-top:5px}.meeting-details>summary{font-size:13px;color:var(--muted)}.course-plan-guide>details{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);padding:10px 14px}.course-plan-guide section{padding:12px 0;border-bottom:1px solid var(--border)}.course-plan-guide h4{margin:0}.course-plan-guide p{line-height:1.6}.focus-copy .contact-compact{margin:10px 0;line-height:1.4}.focus-copy .contact-compact p{margin:3px 0}.focus-copy .contact-compact .tiny-action{padding:2px 0}

.contact-home-primary{display:flex;align-items:center;justify-content:space-between;gap:12px}.focus-copy .contact-home-inline .hint{margin:2px 0;font-size:12px}.focus-copy .contact-home-inline .tiny-action{flex:none;font-size:11px;min-height:20px;padding:0}.focus-copy .contact-home-inline{margin:8px 0}.contact-home-primary>span{min-width:0}@media(max-width:520px){.contact-home-primary{gap:8px;align-items:start}.contact-home-primary>span{font-size:13px}}

.workflow-screen .eyebrow,.workflow-ritual .eyebrow{display:block;margin:0;color:var(--muted);font-size:13px;line-height:1.5;letter-spacing:0}

:root[data-palette=graphite] #workspace-search-form{background:var(--surface);border-color:var(--border-strong)}
:root[data-palette=graphite] #workspace-search{background:transparent;color:var(--ink)}
:root[data-palette=graphite] #workspace-search::placeholder{color:var(--muted);opacity:1}
