/* Shared field contract. Feature files retain grid layout and specialized controls. */
:root {--ui-field-height:48px;--ui-field-radius:10px;--ui-field-border:#cbd6d2;--ui-field-bg:#fbfcfb;--ui-field-text:#182d33;--ui-field-label:#354d54;--ui-field-help:#61767b}
:is(.console-body .app-content,.auth-card) :is(
    input:not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=reset],[type=image]),
    select,textarea
) {
    box-sizing:border-box; min-width:0; max-width:100%; width:100%;
    border:1px solid var(--ui-field-border); border-radius:var(--ui-field-radius);
    background-color:var(--ui-field-bg); color:var(--ui-field-text);
    font-family:inherit; font-size:16px; line-height:1.5; font-weight:400;
    padding:10px 13px; min-height:var(--ui-field-height); height:var(--ui-field-height);
    outline:0; box-shadow:none;
}
:is(.console-body .app-content,.auth-card) textarea:not([hidden]) {height:auto;min-height:108px;resize:vertical}
.auth-card {color-scheme:light}
:is(.console-body .app-content,.auth-card) select:not([multiple],[size]) {
    appearance:none;-webkit-appearance:none;padding-inline-end:40px;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352676d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 13px center;background-size:16px;
}
[dir=rtl] :is(.console-body .app-content,.auth-card) select:not([multiple],[size]) {background-position:left 13px center}
:is(.console-body .app-content,.auth-card) select:is([multiple],[size]) {height:auto;min-height:120px;background-image:none}
:is(.console-body .app-content,.auth-card) :is(input,textarea)::placeholder {color:#738389;opacity:1}
:is(.console-body .app-content,.auth-card) :is(input,select,textarea):focus-visible {border-color:#4caa72;box-shadow:0 0 0 3px #4caa7226}
:is(.console-body .app-content,.auth-card) :is(input,select,textarea):disabled {background-color:#edf1ef;color:#6c7d78;cursor:not-allowed;opacity:1}
:is(.console-body .app-content,.auth-card) :is(input,textarea)[readonly] {background-color:#f0f4f2}
:is(.console-body .app-content,.auth-card) :is(input,select,textarea)[aria-invalid=true] {border-color:#b8544c}
:is(.console-body .app-content,.auth-card) :is(input,select,textarea):user-invalid {border-color:#b8544c}
:is(.console-body .app-content,.auth-card) input:is([type=checkbox],[type=radio]) {
    width:18px;height:18px;min-height:18px;max-width:none;flex:0 0 18px;padding:0;accent-color:#287447;vertical-align:middle;
}
:is(.console-body .app-content,.auth-card) :is(.console-form,.stack-form,.region-editor-form,.edge-form,.evidence-filter-grid,.event-filter-panel) label>span:first-child {
    font-size:14px;font-weight:600;line-height:1.5;color:var(--ui-field-label);letter-spacing:0;
}
:is(.console-body .app-content,.auth-card) :is(.console-form,.stack-form,.region-editor-form,.edge-form) small,
.console-body .app-content :is(.form-help,.form-note,.source-form-help,.source-method-note,.event-date-help) {
    font-size:13px;line-height:1.65;font-weight:400;color:var(--ui-field-help);letter-spacing:0;
}
.console-body .app-content :is(.evidence-filter-grid,.event-filter-panel,.region-editor-form) label {min-width:0;gap:8px}
/* A helper under one field must not vertically redistribute its sibling's label/input. */
:is(.console-body .app-content,.auth-card) :is(.console-form,.stack-form,.edge-form) label {align-content:start}
.console-body .app-content :is(.form-actions,.standalone-form-actions,.rule-save-actions) {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.console-body .app-content .form-actions {border-top:1px solid #dce5e0;padding-top:20px;margin-top:8px}
.console-body .app-content .form-actions>.button {min-height:48px;font-size:15px;border-radius:10px}
.console-body .app-content .button:disabled {opacity:.55;cursor:not-allowed}
/* Password reveal controls and search-within-a-field keep their existing layout. */
.console-body .app-content .evidence-search-main input {border:0;background:transparent}
.console-body .app-content .evidence-search-main:focus-within {border-color:#4caa72;box-shadow:0 0 0 3px #4caa7226}
.console-body .app-content .evidence-search-main input:focus-visible {box-shadow:none}
.console-body .app-content .channel-priority-form {display:block;margin-top:20px}
.channel-priority-row {display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:20px;align-items:center;padding:16px 0;border-top:1px solid #dce5e0}
.channel-priority-row strong {font-size:15px;overflow-wrap:anywhere}
.channel-priority-row p {font-size:13px;color:var(--ui-field-help);margin:6px 0;overflow-wrap:anywhere}
.channel-priority-row label {display:grid;gap:8px}
.channel-priority-actions>small {margin-inline-end:auto}
#channel-priorities {scroll-margin-top:24px}
@media(max-width:600px) {
    .channel-priority-row {grid-template-columns:minmax(0,1fr) 104px;gap:12px}
    .channel-priority-actions>small {flex-basis:100%}
    .console-body .app-content .form-actions>.button {flex:1 1 auto}
}
@media(forced-colors:active) {
    :is(.console-body .app-content,.auth-card) select:not([multiple],[size]) {appearance:auto;-webkit-appearance:auto;background-image:none}
    :is(.console-body .app-content,.auth-card) :is(input,select,textarea):focus-visible {outline:2px solid Highlight}
}
