/* Shared controls/surfaces extracted from 4.2 in original relative order. */
.primary,.secondary {min-height:40px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:600;line-height:1.4}
.primary {background:var(--teal);color:#fff}
html[data-theme="dark"] .primary {color:#081310}
.primary:hover {transform:none;box-shadow:none;filter:brightness(1.06)}
.secondary {background:var(--surface-2);border:1px solid var(--line)}
.primary.danger {background:var(--danger);color:#fff}
html[data-theme="dark"] .primary.danger {color:#081310}
.secondary.danger {background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}
button:disabled {cursor:not-allowed;opacity:.55;filter:none}
input:not([type="checkbox"]):not([type="radio"]),select,textarea {min-width:0;max-width:100%;border-radius:10px;border-color:var(--line);color:var(--ink)}
textarea {font:inherit;line-height:1.5}
input[type="checkbox"],input[type="radio"] {accent-color:var(--teal);flex-shrink:0}
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline:2px solid var(--teal);outline-offset:3px}
.panel,.metric-grid article,.demo-metrics article,.knowledge-card,.platform-v30-card {border-radius:var(--ui-radius);border-color:var(--line);box-shadow:none}
.demo-table-scroll,.desk-table-wrap {max-width:100%;overflow:auto;overscroll-behavior-x:contain;border-color:var(--line);border-radius:12px}
.demo-table,.desk-table {line-height:1.45;font-size:13px}
.demo-table :is(th,td),.desk-table :is(th,td) {padding:10px 12px;border-color:var(--line)}
.demo-table th,.desk-table th,.table-head {background:var(--surface-2);font-size:11px;font-weight:600;letter-spacing:.04em}
.demo-table td,.desk-table td {vertical-align:middle}
.badge,.demo-status {font-weight:600;line-height:1.35}
.settings-grid {gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-grid>*,.modal-card label {min-width:0}
.modal-card label {line-height:1.4}
.modal-card {border:1px solid var(--line);border-radius:18px;gap:14px;padding:20px;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
.modal-card.compact-form {max-width:680px}
.modal-head h2,.desk-detail-head h2 {font-size:22px;line-height:1.3;overflow-wrap:anywhere}
.modal-actions {flex-wrap:wrap;gap:8px}
.modal-head>button,.knowledge-reader-head>button,.desk-detail-head>button {min-width:40px;min-height:40px;flex-shrink:0}

.ui-button:not(.icon-button) {display:inline-flex;align-items:center;justify-content:center;gap:7px}
.ui-button .ui-icon {width:18px;height:18px;flex-shrink:0}
.ui-field {display:grid;gap:6px;min-width:0;font-size:13px}
.ui-field>span {line-height:1.4}
.ui-field input:not([type="checkbox"]),.ui-field select,.ui-field textarea {width:100%}
.ui-field small {display:block;font-weight:400;color:var(--muted);margin-top:4px}
.ui-field.switch-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
[aria-invalid="true"] {border-color:var(--danger)!important}
.ui-dialog {width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.ui-menu {position:fixed;z-index:10030;display:grid;gap:2px;width:230px;max-width:calc(100vw - 16px);overflow:auto;padding:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overscroll-behavior:contain}
.ui-menu button {width:100%;min-height:40px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:start;white-space:normal;font:inherit;font-size:13px}
.ui-menu button:hover {background:var(--ui-soft)}
@media(max-width:780px) {.ui-dialog {width:100%;max-height:calc(100dvh - 16px)}.ui-button,.ui-menu button {min-height:44px}.ui-field input,.ui-field select,.ui-field textarea {font-size:16px}}
