/* Layout only. Override colours/type in Cornerstone — every element has a class hook. */
.sm-form{display:grid;gap:.75em;max-width:26em}
.sm-label{font-weight:600}
.sm-input{font:inherit;letter-spacing:.14em;text-transform:uppercase;padding:.8em 1em;border:1px solid var(--sm-border,currentColor);border-radius:var(--sm-radius,4px);background:transparent;color:inherit;width:100%;box-sizing:border-box}
.sm-btn{font:inherit;font-weight:600;cursor:pointer;padding:.8em 1.4em;border:0;border-radius:var(--sm-radius,4px);background:var(--sm-btn-bg,#111);color:var(--sm-btn-fg,#fff);text-decoration:none;display:inline-block;text-align:center;line-height:1.2}
.sm-btn[disabled],.sm-btn.is-disabled{opacity:.45;pointer-events:none}
.sm-msg{margin:0;min-height:1.4em}
.sm-form.has-error .sm-msg{color:var(--sm-error,#b32d2e)}

.sm-files{list-style:none;margin:0;padding:0;display:grid;gap:.75em}
.sm-file{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1.25em;padding:1em 1.25em;border:1px solid var(--sm-border,rgba(127,127,127,.35));border-radius:var(--sm-radius,6px)}
.sm-file-name{font-weight:600;flex:1 1 14em;word-break:break-word}
.sm-file-meta{opacity:.7;font-size:.9em}
.sm-file.is-exhausted .sm-file-name{opacity:.55}
.sm-expiry{opacity:.7;font-size:.9em;margin:1.25em 0 0}
