/** * Preset Save Dialog — compact, polished design. * Follows SP token system; mirrors Directors Board aesthetic. */ @import "../tokens/_base.less"; .scrying-pool.preset-save-dialog { background: var(--sp-dialog-bg); color: var(--sp-text-primary); border: var(--sp-dialog-border); border-top: 2px solid var(--sp-accent); border-radius: var(--sp-dialog-radius); box-shadow: var(--sp-dialog-shadow); // ── Form wrapper ────────────────────────────────────────────────────────── .preset-save-dialog__form { display: flex; flex-direction: column; height: 100%; gap: 0; } // ── Header ──────────────────────────────────────────────────────────────── .preset-save-dialog__header { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px 10px; border-bottom: 1px solid var(--sp-border); background: rgba(255, 255, 255, 0.02); } .preset-save-dialog__header-icon { flex-shrink: 0; font-size: 16px; color: var(--sp-accent); margin-top: 1px; opacity: 0.9; } .preset-save-dialog__description { margin: 0; font-family: var(--font-primary, ui-sans-serif, system-ui, sans-serif); font-size: 12px; color: var(--sp-text-secondary); line-height: 1.45; } // ── Body ────────────────────────────────────────────────────────────────── .preset-save-dialog__body { padding: 16px; overflow-y: auto; flex: 1 1 auto; } .preset-save-dialog__field { display: flex; flex-direction: column; gap: 7px; } .preset-save-dialog__label { font-family: var(--font-primary, ui-sans-serif, system-ui, sans-serif); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--sp-text-muted); cursor: default; } .preset-save-dialog__input { width: 100%; font-family: var(--font-primary, ui-sans-serif, system-ui, sans-serif); font-size: 14px; padding: 9px 12px; border: 1px solid var(--sp-border); border-radius: var(--sp-btn-radius); background: var(--sp-control-bg, #1a1d20); color: var(--sp-text-primary); outline: none; transition: border-color 0.15s, box-shadow 0.15s; box-sizing: border-box; &:focus { border-color: var(--sp-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--sp-accent) 22%, transparent); } &::placeholder { color: var(--sp-text-muted); font-style: italic; font-size: 13px; } } // ── Footer ──────────────────────────────────────────────────────────────── .preset-save-dialog__footer { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 10px 16px; border-top: 1px solid rgba(255, 255, 255, 0.08); background: rgba(0, 0, 0, 0.15); flex-shrink: 0; border-radius: 0 0 var(--sp-dialog-radius) var(--sp-dialog-radius); } // Button styles — using shared SP tokens .preset-save-dialog__btn { display: inline-flex; align-items: center; gap: var(--sp-btn-gap, 6px); padding: var(--sp-btn-padding, 7px 14px); font-family: var(--font-primary, ui-sans-serif, system-ui, sans-serif); font-size: var(--sp-btn-font-size, 12px); font-weight: 600; border: 1px solid transparent; border-radius: var(--sp-btn-radius, 5px); cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s, opacity 0.15s; line-height: 1.2; i { font-size: 10px; pointer-events: none; } &--save { background: var(--sp-btn-primary-bg, var(--sp-accent)); color: var(--sp-btn-primary-text, #fff); letter-spacing: 0.02em; &:hover { background: var(--sp-btn-primary-hover, var(--sp-accent-hover)); } &:active { background: var(--sp-btn-primary-active, var(--sp-accent-active)); } i { opacity: 1; } } &--cancel { background: var(--sp-btn-secondary-bg, rgba(255,255,255,0.05)); color: var(--sp-btn-secondary-text, var(--sp-text-secondary)); border-color: var(--sp-btn-secondary-border, rgba(255,255,255,0.12)); font-weight: 500; &:hover { background: var(--sp-btn-secondary-hover-bg, rgba(255,255,255,0.1)); color: var(--sp-btn-secondary-hover-text, var(--sp-text-primary)); } } } }