/* Shared form language. Loaded after vendor CSS; no data or workflow behaviour. */
body { --mids-ink:#19344d; --mids-muted:#52677a; --mids-line:#cbd8e3; --mids-focus:#0066cc; }
.mids-app-page-heading { margin-bottom:18px; }
.mids-app-page-title { font-size:clamp(1.5rem,2.3vw,2rem); line-height:1.2; letter-spacing:-.025em; }
.mids-app-page-subtitle { color:var(--mids-muted); max-width:75ch; margin-top:6px; line-height:1.5; }
.mids-app-content { min-width:0; color:var(--mids-ink); }
.mids-app-content > :is(.container,.container-fluid) { max-width:none; padding:0!important; margin:0; }
.mids-app-content :is(.mids-dashboard-panel,.card) { border:1px solid #dce5ec; border-radius:12px; box-shadow:0 2px 8px #173b5710; }
.mids-app-content :is(.mids-dashboard-panel-body,.card-body) { padding:20px; }
.mids-app-content .card.card-body { padding:20px; }
.mids-app-content .card::after { display:none; }
.mids-app-content .mids-form-surface { padding:0; border:0; background:transparent; }
.mids-app-content :is(h2,h3,legend) { color:var(--mids-ink); line-height:1.35; }
.mids-app-content h2 { font-size:1.2rem; }
.mids-app-content h3 { font-size:1.05rem; }
:is(.mids-app-content,.mids-login-page) form { min-width:0; }
:is(.mids-app-content,.mids-login-page) label { font-size:.9rem; line-height:1.45; font-weight:600; color:var(--mids-ink); }
:is(.mids-app-content,.mids-login-page) .form-label { display:block; margin:0 0 6px; }
:is(.mids-app-content,.mids-login-page) label:has(> :is(.form-control,.form-select)) { display:block; }
:is(.mids-app-content,.mids-login-page) label > :is(.form-control,.form-select) { margin-top:6px; }
:is(.mids-app-content,.mids-login-page) :is(.form-control,.form-select) { min-width:0; max-width:100%; min-height:42px; height:auto; border:1px solid var(--mids-line); border-radius:7px; background-color:#fff; color:#172f45; padding:9px 12px; font-size:1rem; line-height:1.4; box-shadow:none; }
:is(.mids-app-content,.mids-login-page) .form-select { padding-right:36px; }
:is(.mids-app-content,.mids-login-page) textarea.form-control { resize:vertical; min-height:100px; }
:is(.mids-app-content,.mids-login-page) input[type=color] { max-width:100px; padding:4px; }
:is(.mids-app-content,.mids-login-page) input[type=file] { padding:7px; overflow:hidden; }
:is(.mids-app-content,.mids-login-page) :is(.form-control,.form-select):focus { border-color:var(--mids-focus); outline:3px solid #0066cc25; outline-offset:1px; box-shadow:none; }
:is(.mids-app-content,.mids-login-page) :is(input,select,textarea):disabled { background-color:#edf2f6; color:#556779; opacity:1; cursor:not-allowed; }
:is(.mids-app-content,.mids-login-page) input[readonly] { background-color:#f3f7fa; }
:is(.mids-app-content,.mids-login-page) :is(.form-text,small,.text-muted) { color:var(--mids-muted)!important; line-height:1.5; }
:is(.mids-app-content,.mids-login-page) fieldset { min-width:0; margin-bottom:18px; }
:is(.mids-app-content,.mids-login-page) fieldset.border { padding:18px!important; background:#fff; border-color:#dce5ec!important; border-radius:10px!important; }
:is(.mids-app-content,.mids-login-page) legend { float:none; width:auto; font-size:1.05rem; font-weight:650; padding:0 5px; margin:0 0 10px; }
/* Native choices: one visible control, with its full label clickable. */
:is(.mids-app-content,.mids-login-page) input:is([type=checkbox],[type=radio]):not(.btn-check) { appearance:auto!important; position:static!important; opacity:1!important; clip:auto!important; transform:none!important; width:18px!important; height:18px!important; min-height:18px; margin:3px 8px 3px 0!important; vertical-align:middle; accent-color:#0066cc; flex:0 0 18px; }
:is(.mids-app-content,.mids-login-page) label:has(> input:is([type=checkbox],[type=radio])) { display:flex; align-items:flex-start; gap:2px; margin:8px 0; font-weight:500; }
:is(.mids-app-content,.mids-login-page) .form-check { padding-left:0; min-height:28px; margin-bottom:8px; }
:is(.mids-app-content,.mids-login-page) .form-check-input:not(.btn-check) { float:none; }
:is(.mids-app-content,.mids-login-page) input:is([type=checkbox],[type=radio]):not(.btn-check) + label { padding-left:0!important; height:auto!important; line-height:1.5!important; }
:is(.mids-app-content,.mids-login-page) input:is([type=checkbox],[type=radio]):not(.btn-check) + label::before,
:is(.mids-app-content,.mids-login-page) input:is([type=checkbox],[type=radio]):not(.btn-check) + label::after { display:none!important; }
:is(.mids-app-content,.mids-login-page) .btn { border-radius:7px; min-height:42px; padding:9px 16px; font-size:.9rem; line-height:1.5; font-weight:600; white-space:normal; }
:is(.mids-app-content,.mids-login-page) .btn:focus-visible, .mids-app-content summary:focus-visible { outline:3px solid #0066cc; outline-offset:3px; }
:is(.mids-app-content,.mids-login-page) .btn-primary { background:#075caa; border-color:#075caa; color:white; }
:is(.mids-app-content,.mids-login-page) .btn-primary:hover { background:#034981; border-color:#034981; }
:is(.mids-app-content,.mids-login-page) .btn-outline-secondary { color:#344f67; border-color:#a7bacb; background:white; }
:is(.mids-app-content,.mids-login-page) .btn-outline-secondary:hover { background:#edf3f8; }
:is(.mids-app-content,.mids-login-page) .alert { border:1px solid; border-left-width:4px; border-radius:8px; padding:14px 16px; margin-bottom:16px; line-height:1.5; overflow-wrap:anywhere; }
:is(.mids-app-content,.mids-login-page) .alert::before { display:none!important; }
:is(.mids-app-content,.mids-login-page) .alert-info { color:#164b70; background:#edf6fc; border-color:#bdd9ed; }
:is(.mids-app-content,.mids-login-page) .alert-warning { color:#553c08; background:#fff5d9; border-color:#dbbc67; }
:is(.mids-app-content,.mids-login-page) .alert-danger { color:#802d30; background:#fff0f0; border-color:#e3b2b4; }
:is(.mids-app-content,.mids-login-page) .alert-success { color:#205f43; background:#eef8f2; border-color:#b0d6c1; }
:is(.mids-app-content,.mids-login-page) .badge.bg-warning { color:#553c08!important; background:#fff0c2!important; }
.mids-app-content .mids-guide { border:1px solid #d7e2ec; border-radius:8px; background:#f6f9fc; padding:12px 16px; margin:0 0 16px; }
.mids-app-content .mids-guide > summary { cursor:pointer; font-weight:600; color:#23577f; }
.mids-app-content .mids-guide[open] > summary { margin-bottom:12px; }
.mids-app-content .mids-guide :is(p,li) { line-height:1.55; max-width:85ch; }
.mids-app-content .mids-guide > :last-child { margin-bottom:0; }
.mids-app-content .mids-section-nav { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:12px; border-bottom:1px solid #dce5ec; margin-bottom:18px; }
.mids-section-nav a { color:#345875; text-decoration:none; border-radius:7px; padding:9px 13px; font-weight:600; font-size:.9rem; }
.mids-section-nav a[aria-current=page] { background:#e7f1fb; color:#064f91; }
.mids-section-nav a:hover { background:#f0f5fa; }
.mids-app-content .mids-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.mids-field-grid > * { min-width:0; }
.mids-field-grid > .mids-field-wide { grid-column:1/-1; }
.mids-app-content .mids-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:16px; margin-top:16px; border-top:1px solid #e0e7ee; }
.mids-app-content .mids-form-actions .btn { margin:0!important; }
.mids-app-content .mids-form-intro { color:var(--mids-muted); margin-bottom:18px; max-width:80ch; }
.mids-app-content :is(code,pre) { overflow-wrap:anywhere; white-space:pre-wrap; }
.mids-app-content [hidden] { display:none!important; }
.mids-app-content .mids-smtp-wizard .mids-dashboard-panel-body { padding:16px; }
.mids-app-content .mids-smtp-wizard .form-control,.mids-app-content .mids-smtp-wizard .form-select { min-height:40px; padding:8px 10px; }
.mids-login-page .mids-login-card { box-shadow:0 8px 32px #173b5712; border-radius:14px; }
@media(max-width:767px) {
 .mids-app-content :is(.mids-dashboard-panel-body,.card-body),.mids-app-content .card.card-body { padding:16px; }
 .mids-app-content .mids-field-grid { grid-template-columns:minmax(0,1fr); }
 .mids-app-content .mids-field-grid > * { grid-column:1; }
 :is(.mids-app-content,.mids-login-page) .btn { min-height:44px; }
 .mids-app-content form.d-flex { flex-wrap:wrap; }
 .mids-app-content form.d-flex > .form-control { flex:1 1 180px; }
 .mids-app-content .table-responsive { max-width:100%; }
 .mids-app-content fieldset.border { padding:14px!important; }
 .mids-app-content .mids-smtp-wizard .mids-dashboard-panel-body { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { :is(.mids-app-content,.mids-login-page) * { scroll-behavior:auto!important; transition:none!important; } }

/* Compact grids use gap once, never combined with utility margins. */
.mids-app-content .mids-field-grid > label { margin-bottom:0!important; }
.mids-app-content .mids-field-grid > div > :is(.form-control,.form-select) { margin-bottom:0!important; }
.mids-app-content .mids-field-grid + fieldset { margin-top:20px; }
.mids-app-content .mids-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; }
.mids-app-content .mids-choice-grid > label { margin:4px 0; }
@media(max-width:575px) { .mids-app-content .mids-choice-grid { grid-template-columns:minmax(0,1fr); } }

:is(.mids-app-content,.mids-login-page) :is(.form-control,.form-select).is-invalid,
:is(.mids-app-content,.mids-login-page) [aria-invalid=true] { border-color:#b42d38; }
:is(.mids-app-content,.mids-login-page) .invalid-feedback { color:#992431; font-size:.875rem; }
.mids-login-page > main { box-sizing:border-box; width:calc(100% - 32px); }

/* On phones the brand introduces the task without taking the first screen. */
@media(max-width:991px) {
 .mids-login-page > .row { align-content:start; }
 .mids-login-page .mids-login-brand-column { min-height:0!important; padding-top:0; padding-bottom:0; }
 .mids-login-page .mids-login-brand-column > .container { padding:18px 20px!important; }
 .mids-login-page .mids-login-brand-content { display:grid; grid-template-columns:54px minmax(0,1fr); gap:4px 14px; max-width:560px; }
 .mids-login-page .mids-login-tricolore { display:none; }
 .mids-login-page .mids-login-logo-area { grid-row:1/4; margin:0!important; align-self:center; }
 .mids-login-page .mids-login-logo-area img { width:54px; height:auto; }
 .mids-login-page .mids-login-brand-title { font-size:1.125rem; margin:0; line-height:1.3; }
 .mids-login-page .mids-login-brand-subtitle,.mids-login-page .mids-login-brand-text { font-size:.8rem!important; margin:0!important; line-height:1.45; }
 .mids-login-page .mids-login-form-column > div { padding:16px!important; }
 .mids-login-page .mids-login-card { margin:0; }
 .mids-login-page .mids-login-card .card-body { padding:20px; }
}

/* Native dropdown affordance survives legacy background resets and compact forms. */
select:not([multiple]):not([size]), select:not([multiple])[size="1"] {
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%232b5579' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m5 7 5 5 5-5'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important; background-position:right 12px center!important; background-size:20px 20px!important;
    padding-right:44px!important; cursor:pointer;
    border:1px solid #aabed0; border-radius:7px;
}
select:not([multiple]):not([size]):hover:not(:disabled),select:not([multiple])[size="1"]:hover:not(:disabled) { border-color:#477ca7; }
select:focus-visible { outline:3px solid #0066cc40; outline-offset:2px; }
select:disabled { cursor:not-allowed!important; }
select[multiple],select[size]:not([size="1"]) { background-image:none!important; padding-right:12px!important; }
@media(forced-colors:active) { select:not([multiple]):not([size]),select:not([multiple])[size="1"] { appearance:auto; background-image:none!important; padding-right:12px!important; } }

/* Card descriptions inherit their selected/hover state instead of global muted text. */
.mids-app-content .mids-config-tabs .mids-config-tab :is(small,.form-text,.text-muted,.mids-config-tab-title) {
    color: inherit !important;
    opacity: 1;
}
