/* Scoped prompt tools; no changes to chart, trading, or authentication styles. */
.gpt-controls--panel { margin: 18px 0; padding: 16px 18px; border: 1px solid var(--gside-border); border-radius: 10px; background: var(--gside-surface); }
.gpt-controls__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.gpt-controls__heading strong { font-size: 13px; font-weight: 700; }
.gpt-controls__heading p { margin: 5px 0 0; color: var(--gside-muted); font-size: 11px; }
.gpt-controls__buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.gpt-controls--compact { margin-top: 7px; }
.gpt-controls--compact .gpt-controls__buttons { gap: 4px; }
.gpt-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; padding: 6px 10px; border: 1px solid var(--gside-border-strong); border-radius: 6px; background: var(--gside-surface); color: var(--gside-text); font: inherit; font-size: 11px; font-weight: 650; line-height: 1.4; cursor: pointer; }
.gpt-controls--compact .gpt-button { min-height: 27px; padding: 4px 7px; font-size: 10px; }
.gpt-button:hover { border-color: var(--gside-accent); background: var(--gside-surface-subtle); }
.gpt-button:focus-visible, .gpt-dialog__close:focus-visible, .gpt-toast__close:focus-visible { outline: 2px solid var(--gside-accent); outline-offset: 3px; }
.gpt-button--more { color: var(--gside-accent-dark); }
.gpt-button--primary { border-color: var(--gside-accent); background: var(--gside-accent); color: #fff; }
.gpt-button:disabled { cursor: not-allowed; opacity: .5; }
.gpt-controls__note { margin: 10px 0 0; color: var(--gside-muted); font-size: 11px; line-height: 1.55; }
.gpt-dialog { width: min(94vw, 620px); max-height: 88vh; max-height: 88dvh; padding: 0; overflow: hidden; border: 1px solid var(--gside-border-strong); border-radius: 12px; background: var(--gside-surface); color: var(--gside-text); }
.gpt-dialog::backdrop { background: rgba(16,32,49,.42); }
.gpt-dialog__header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 18px; border-bottom: 1px solid var(--gside-border); }
.gpt-dialog__header h2 { margin: 4px 0 0; font-size: 18px; line-height: 1.3; }
.gpt-dialog__header .app-kicker { font-size: 10px; }
.gpt-dialog__close, .gpt-toast__close { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 5px; background: transparent; color: var(--gside-muted); font-size: 22px; cursor: pointer; }
.gpt-dialog__body { max-height: calc(88vh - 105px); max-height: calc(88dvh - 105px); overflow-y: auto; padding: 16px 18px 20px; overscroll-behavior: contain; }
.gpt-dialog__body > .market-input { margin-top: 7px; }
.gpt-dialog__items { display: grid; gap: 6px; margin-top: 14px; }
.gpt-dialog__items .gpt-button { justify-content: space-between; min-height: 40px; text-align: left; padding: 9px 11px; font-size: 12px; }
.gpt-prompt-count { flex: none; color: var(--gside-muted); font-size: 10px; font-weight: 500; }
.gpt-dialog__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.gpt-copy-source { display: block; width: 100%; min-height: 230px; height: 44vh; resize: vertical; padding: 12px; border: 1px solid var(--gside-border-strong); border-radius: 7px; color: var(--gside-text); background: var(--gside-surface-subtle); font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.gpt-toast { position: fixed; z-index: 10000; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 10px; max-width: min(620px, calc(100vw - 40px)); padding: 10px 12px; border: 1px solid var(--gside-border-strong); border-radius: 9px; background: var(--gside-surface); color: var(--gside-text); font-size: 12px; line-height: 1.5; box-shadow: 0 4px 18px rgba(16,32,49,.09); }
.gpt-toast[hidden], .gpt-toast [hidden] { display: none !important; }
@media (max-width: 640px) { .gpt-controls__heading { flex-direction: column; gap: 7px; } .gpt-controls--panel { padding: 14px; } .gpt-dialog { width: calc(100vw - 20px); } .gpt-toast { right: 10px; bottom: 10px; max-width: calc(100vw - 20px); flex-wrap: wrap; } }
