/* Layout-only styling. All color properties resolve via the shared Control Theme Contract. */
.zst-modal{border:1px solid var(--zc-color-border);border-radius:var(--zc-radius-dialog);background:var(--zc-color-surface);color:var(--zc-color-text);box-shadow:0 24px 90px var(--zc-color-shadow);width:min(620px,calc(100vw - 24px));max-height:min(90vh,780px);padding:0;overflow-y:auto;overscroll-behavior:contain}
.zst-modal::backdrop{background:var(--zc-color-backdrop);backdrop-filter:blur(3px)}
.zst-form{padding:22px;display:flex;flex-direction:column;gap:18px}
.zst-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.zst-eyebrow{font-size:10px;letter-spacing:.13em;color:var(--zc-color-muted);font-weight:700}
.zst-head h2{font-size:21px;margin:5px 0 0;line-height:1.3;color:var(--zc-color-text)}
.zst-dismiss{font-size:24px;min-width:36px;min-height:36px;border:1px solid var(--zc-color-border);background:var(--zc-color-surface-muted);color:var(--zc-color-text);border-radius:9px;cursor:pointer}
.zst-dismiss:hover{background:var(--zc-color-input)}
.zst-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zst-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--zc-color-text);min-width:0}
.zst-field>span{font-weight:600}
.zst-field input,.zst-field select{width:100%;box-sizing:border-box;border-radius:var(--zc-radius-control);border:1px solid var(--zc-color-border);background:var(--zc-color-input);color:var(--zc-color-text);min-height:40px;padding:8px 10px;font:inherit}
.zst-field input:focus-visible,.zst-field select:focus-visible{outline:2px solid var(--zc-color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--zc-color-focus-soft)}
.zst-field input::placeholder{color:var(--zc-color-muted)}
.zst-field input:disabled,.zst-field select:disabled{opacity:.62}
.zst-field[hidden]{display:none}
.zst-note{font-size:12px;line-height:1.55;color:var(--zc-color-muted);margin:0;background:var(--zc-color-surface-muted);border:1px solid var(--zc-color-border);border-radius:10px;padding:12px}
.zst-state{margin:0;font-size:13px;line-height:1.5;min-height:0}
.zst-state:empty{display:none}
.zst-error{color:var(--zc-color-danger)}.zst-ok{color:var(--zc-color-success)}
.zst-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap}
.zst-actions button{padding:11px 16px;border-radius:var(--zc-radius-control);font-weight:650;cursor:pointer}
.zst-cancel{background:var(--zc-color-surface-muted);color:var(--zc-color-text);border:1px solid var(--zc-color-border)}
.zst-cancel:hover:not(:disabled){background:var(--zc-color-input)}
.zst-submit{background:var(--zc-color-accent);color:var(--zc-color-accent-contrast);border:1px solid var(--zc-color-accent)}
.zst-submit:hover:not(:disabled){background:var(--zc-color-accent-hover)}
.zst-actions button:focus-visible,.zst-dismiss:focus-visible{outline:2px solid var(--zc-color-focus);outline-offset:2px}
.zst-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:580px){.zst-grid{grid-template-columns:1fr}.zst-form{padding:16px}.zst-head h2{font-size:18px}}
