.suite-form{font:14px/1.5 var(--admin-font);color:var(--admin-text);min-width:0}
.suite-form *{box-sizing:border-box}
.suite-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.suite-form-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--admin-text-2);min-width:0}.suite-form-field :is(input,textarea,select){color:var(--admin-text)}
.suite-form-wide{grid-column:1/-1}
.suite-form-field[hidden]{display:none}
.suite-form-field :is(input,textarea,select){width:100%;min-height:var(--admin-control);padding:9px 12px;border:1px solid var(--admin-line);border-radius:var(--admin-radius);background:var(--admin-panel);color:var(--admin-text);font:500 14px/1.5 var(--admin-font)}
.suite-form-field textarea{resize:vertical;min-height:96px}
.suite-form-field [aria-invalid=true]{border-color:var(--admin-danger)}
.suite-form-field :disabled{opacity:.6}
.suite-form-help{color:var(--admin-muted);font-size:13px;font-weight:500}
.suite-form-error{color:var(--admin-danger);font-size:12px;min-height:0;overflow-wrap:anywhere}
.suite-form-error:empty,.suite-form-help:empty{display:none}
.suite-form-feedback{min-height:22px;margin:16px 0 8px;color:var(--admin-muted);overflow-wrap:anywhere}
.suite-form-feedback[data-phase=error],.suite-form-feedback[data-phase=invalid]{color:var(--admin-danger)}
.suite-form-feedback[data-phase=saved]{color:var(--admin-success)}
.suite-form-actions{display:flex;flex-wrap:wrap;gap:10px}
.suite-form :focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}
.suite-form-dialog h2{margin:0 0 12px}.suite-form-dialog p{margin:0 0 20px}
@media(max-width:800px){.suite-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(forced-colors:active){.suite-form :focus-visible{outline-color:Highlight}.suite-form-field [aria-invalid=true]{outline:2px solid Mark}}

.suite-server-form .suite-form-error{display:block;margin-top:5px}
.suite-server-form [aria-invalid=true]{border-color:var(--admin-danger)!important}
.suite-server-form :is(input,select,textarea)[aria-invalid=true]:is(:hover,:focus){outline-color:var(--admin-danger)!important}
.suite-server-form [data-form-actions]{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--admin-panel);border-top:1px solid var(--admin-line-soft);padding:12px 0;margin-top:18px}
.suite-server-form [data-form-actions] .suite-form-feedback{flex:1 1 220px;margin:0;min-height:20px;font:13px/1.5 var(--admin-font)}
.suite-server-form[aria-busy=true]{cursor:progress}
.suite-server-form textarea{resize:vertical}
@media(max-width:800px){.suite-server-form>.grid{grid-template-columns:minmax(0,1fr)!important}.suite-server-form [data-form-actions] .suite-form-feedback{flex-basis:100%}}

/* Native choice and file controls extend the existing field owner. */
.suite-form-field.suite-form-choice{display:grid;grid-template-columns:22px minmax(0,1fr);align-content:start;align-items:center;gap:6px 10px;padding-top:6px}.suite-form-choice>span{grid-column:2;grid-row:1}.suite-form-field.suite-form-choice>input{grid-column:1;grid-row:1;width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--admin-accent);cursor:pointer}.suite-form-choice>small{grid-column:2}.suite-form-field.suite-form-switch{grid-template-columns:36px minmax(0,1fr)}.suite-form-field.suite-form-switch>input{appearance:none;width:36px;height:20px;border:0;border-radius:20px;background:var(--admin-line-strong);position:relative}.suite-form-switch>input::before{content:'';position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgb(0 0 0 / .25)}.suite-form-switch>input:checked{background:var(--admin-brand)}.suite-form-switch>input:checked::before{left:18px}.suite-form-field [readonly]{background:var(--admin-panel-2)}
.suite-file-picker{font:14px/1.5 var(--admin-font);color:var(--admin-text);min-width:0}.suite-file-picker *{box-sizing:border-box}.suite-file-drop{padding:24px;border:1.5px dashed var(--admin-line-strong);border-radius:var(--admin-panel-radius);background:var(--admin-panel-2)}.suite-file-drop[data-drag=true]{border-color:var(--admin-accent);background:var(--admin-active)}.suite-file-drop[data-disabled=true]{opacity:.6}.suite-file-input{width:100%;max-width:100%;font:inherit;color:inherit}.suite-file-input::file-selector-button{background:var(--admin-panel);font-weight:600;border:1px solid var(--admin-line);border-radius:var(--admin-radius);color:var(--admin-text);padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer}.suite-file-input::file-selector-button:hover{border-color:var(--admin-accent)}.suite-file-list{margin:12px 0;padding:0;list-style:none}.suite-file-list li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--admin-line);padding:10px 0}.suite-file-list li>span{flex:1;overflow-wrap:anywhere;min-width:0}.suite-file-list li>.suite-button{flex:none}.suite-file-picker progress{width:100%;height:6px;accent-color:var(--admin-accent)}.suite-file-picker [hidden]{display:none}.suite-file-picker :focus-visible{outline:1px solid var(--admin-accent);outline-offset:2px}
@media(max-width:800px){.suite-file-list li{flex-wrap:wrap}.suite-file-list li>span{flex-basis:100%}.suite-file-drop{padding:14px}}
@media(forced-colors:active){.suite-form-field.suite-form-switch>input{appearance:auto}.suite-form-switch>input::before{display:none}}
.suite-form-choice input:focus-visible{outline:1px solid var(--admin-accent);outline-offset:2px}
.suite-file-picker .suite-file-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden}.suite-file-drop>.suite-button{margin-top:10px}
/* Password reveal sits inside the field, not as a full-width button under it. */
.suite-password{position:relative;display:block}
.suite-form-field .suite-password>input{padding-right:150px}
.suite-password>.suite-password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);min-height:32px;padding:4px 10px;border:0;background:transparent;color:var(--admin-accent);font-size:13px}
.suite-password>.suite-password-toggle:hover{background:var(--admin-hover);color:var(--admin-accent-hover)}
.suite-password>.suite-password-toggle:active{transform:translateY(-50%)}
