/* Shared controls and composition. Compact presentation lives in portal.css. */
:root {
 --control-height:36px;--control-radius:8px;--control-gap:8px;
 --focus:#176cba;--muted:#526774;--border:var(--line);--surface:var(--panel);--accent:var(--teal-dark);
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid var(--focus);outline-offset:2px;}
.button,.toolbar-button {min-height:var(--control-height);border-radius:var(--control-radius);font-size:13px;font-weight:650;line-height:1.35;padding:8px 12px;}
.toolbar-button {color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);}
.button[aria-busy=true] {cursor:progress;}
.button.ghost {border-color:transparent;}
.form-grid {align-items:start;}
.form-field {align-content:start;min-width:0;}
.form-field>.form-label,.form-field>span:first-child {font-size:13px;font-weight:650;color:var(--ink);}
.form-field :is(input,select,textarea),.workflow-editor :is(input,select,textarea) {width:100%;max-width:100%;min-width:0;min-height:var(--control-height);height:auto;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--panel);color:var(--ink);font:inherit;font-size:13px;}
.form-field input:not([type=checkbox]):not([type=radio]),.form-field select {height:var(--control-height);}
.form-field textarea {min-height:88px;resize:vertical;}
.form-field input:is([type=checkbox],[type=radio]),.workflow-editor input:is([type=checkbox],[type=radio]) {width:18px;height:18px;min-height:18px;min-width:18px;padding:0;margin:0;accent-color:var(--teal-dark);flex:0 0 18px;}
.ui-checkbox-field {grid-template-columns:18px minmax(0,1fr);align-items:center;padding-top:26px;gap:8px;}
.ui-checkbox-field .form-help {grid-column:2;}
.form-help {display:block;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400;margin:6px 0;overflow-wrap:anywhere;}
.ui-multiselect {border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--panel);min-width:0;font-size:13px;}
.ui-multiselect>summary {padding:8px 10px;min-height:var(--control-height);cursor:pointer;overflow-wrap:anywhere;}
.ui-multiselect-body {padding:10px;border-top:1px solid var(--line);}
.ui-multiselect-options {max-height:210px;overflow:auto;margin:8px 0;}
.ui-choice {display:flex;align-items:center;gap:9px;min-height:36px;padding:5px 3px;cursor:pointer;}
.ui-choice span {font-weight:400!important;font-size:13px!important;overflow-wrap:anywhere;}
.ui-choice input {width:18px;height:18px;flex:0 0 18px;accent-color:var(--teal-dark);}
.ui-callout {border-left:3px solid var(--teal);padding:12px 16px;background:var(--teal-soft);color:var(--ink-2);border-radius:4px;font-size:13px;line-height:1.6;}
.ui-callout.warning {border-color:var(--amber);background:#fff4df;color:#764410;}
.inline-confirm {width:100%;padding:12px;background:var(--soft);border-radius:var(--radius);}
.inline-confirm .button {margin-right:8px;}
.workflow-editor {min-width:0;}
.workflow-group,.workflow-action {background:var(--soft);border-color:var(--line);}
.workflow-group header select {max-width:100%;}
.workflow-editor .workflow-group>.button {margin-right:8px;}
.workflow-condition {align-items:start;}
.workflow-condition>.button {font-weight:400;}
.workflow-condition .ui-multiselect {width:100%;}
.workflow-action-value {align-items:start;}
.workflow-action header {flex-wrap:wrap;}
.workflow-action header select {flex:1 1 210px;}
.workflow-action header .button {font-size:12px;}
.sequence-wizard {min-width:0;}
.wizard-nav {display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px;}
.wizard-nav button {flex:1;}
.wizard-nav [aria-current=step] {background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 0 -3px var(--teal);}
.wizard-body>h3 {font-size:21px;margin-bottom:8px;}
.wizard-body>p {margin-bottom:20px;}
.wizard-body h4 {margin:16px 0 8px;}
.wizard-errors {padding:14px;background:#fff1f2;border:1px solid #dca5af;border-radius:8px;margin-bottom:16px;color:#862238;}
.wizard-errors .button {display:block;text-align:left;margin-top:8px;color:inherit;background:white;}
.wizard-footer {position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;align-items:center;gap:10px;background:var(--panel);padding:16px 0 8px;border-top:1px solid var(--line);margin-top:24px;}
.wizard-footer>span {margin-right:auto;}
.sequence-editor-section {border-top:1px solid var(--line);padding-top:20px;margin-top:24px;}
.sequence-path {padding:0;list-style:none;display:grid;gap:12px;}
.sequence-path-item {border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--panel);min-width:0;}
.sequence-step-toggle {display:block;width:100%;text-align:left;font-size:15px;}
.sequence-step-toggle::after {content:'Edit';float:right;font-size:12px;color:var(--teal-dark);margin-left:12px;}
.sequence-step-toggle[aria-expanded=true]::after {content:'Editing';}
.sequence-step-summary {font-size:13px;color:var(--muted);margin:4px 12px;overflow-wrap:anywhere;}
.sequence-step-editor {margin:16px 0 0;padding:16px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--soft);}
.sequence-step-editor>.form-grid,.sequence-step-editor>.workflow-controls {margin-bottom:16px;}
.sequence-step-editor>.button:last-child {margin-top:16px;}
.step-type-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.step-type-grid .button {text-align:left;padding:14px;white-space:normal;}
.step-type-grid small {display:block;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.5;}
.step-picker {padding:16px;background:var(--soft);border-radius:var(--radius);}
.step-picker>.button {margin-top:12px;}
.sequence-review-details {display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 16px;font-size:13px;}
.sequence-review-details dt {color:var(--muted);}.sequence-review-details dd{margin:0;overflow-wrap:anywhere;}
.sequence-review-list {padding-left:26px;}.sequence-review-list li{padding:12px 0;border-top:1px solid var(--line);}
.sequence-review-list li::marker {font-weight:700;color:var(--teal-dark);}.sequence-review-list p{margin:6px 0;font-size:13px;overflow-wrap:anywhere;}
.modal:has(.sequence-wizard) {width:min(940px,100%);display:flex;flex-direction:column;overflow:hidden;max-height:90vh;}
.modal:has(.sequence-wizard)>.modal-body{overflow:auto;min-height:0;}
.modal:has(.sequence-wizard)>header{flex-shrink:0;}
.modal:has(.sequence-wizard)>.modal-footer {display:none;}
.sequence-subform>.button {justify-self:start;align-self:end;}
.sequence-inline>button {flex-shrink:0;}
.sequence-management>header {display:flex;justify-content:space-between;gap:16px;align-items:start;}
.ticket-content-panel {display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;}
.detail-tabs [role=tab] {min-height:40px;}
.detail-tabs [aria-selected=true] {color:var(--teal-dark);}
.requester-trigger,.quick-edit>summary,.text-button,#sign-out-top {min-height:28px;}
.quick-edit>summary {font-size:12px;}
.field>span,.nav-heading {color:var(--muted);}
.back-to-conversation {display:none;}
.nav-icon svg {width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.toast {max-width:min(440px,calc(100vw - 24px));overflow-wrap:anywhere;}
.toasts {max-height:60vh;overflow:auto;}
@media(max-width:760px){
 .workflow-condition {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 .workflow-condition>:nth-child(3) {grid-column:1/-1;}
 .workflow-condition>.button {justify-self:start;}
 .workflow-group {padding:12px;}.workflow-group .workflow-group{margin-left:0;}
 .wizard-nav{gap:4px;}.wizard-nav .button{padding:8px 6px;}
 .step-type-grid{grid-template-columns:1fr;}.sequence-step-editor{padding:12px 0;}
 .wizard-footer{bottom:0;}.wizard-footer>span{display:none;}
 .ticket-content-panel{flex:none;overflow:visible;}
 .back-to-conversation{display:inline-block;}
}
@media(prefers-reduced-motion:reduce){.sequence-wizard *{scroll-behavior:auto;}}

.filter-group>input[type=search]{margin-top:10px;}
