/* All application overlays live in the hardware LCD, never the browser top layer. */
.main-lcd { isolation: isolate; }
.main-lcd .lcd-dialog-layer { position: absolute; inset: 0; z-index: 100; padding: 4px; display: flex; align-items: stretch; background: rgba(8,10,16,.97); overflow: hidden; border-radius: inherit; }
.main-lcd .lcd-dialog-layer[hidden] { display: none; }
.main-lcd .lcd-dialog-layer > dialog { position: relative; inset: auto; margin: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; box-sizing: border-box; color: var(--lcd-text); background: #171d24; border: 1px solid var(--accent); border-radius: 5px; padding: 5px; overflow: hidden; }
.main-lcd .lcd-dialog-layer > dialog:not([open]) { display: none; }
.main-lcd .lcd-dialog-layer > dialog[open] { display: flex; flex-direction: column; gap: 4px; }
.lcd-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 4px; flex: 0 0 auto; }
.lcd-dialog-header h2 { flex: 1; min-width: 0; }
.lcd-dialog-header button { flex: 0 0 auto; }
.lcd-dialog-body { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 6px; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.lcd-dialog-intro { min-width: 0; overflow-y: auto; padding-right: 5px; border-right: 1px solid rgb(255 255 255 / .14); }
.lcd-dialog-body > form { min-width: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.main-lcd .lcd-dialog-layer [hidden] { display: none !important; }
.main-lcd .lcd-dialog-layer :is(input,button,select,textarea):focus-visible { outline: 1px solid var(--accent2); outline-offset: 1px; }
.main-lcd .lcd-dialog-layer * { scrollbar-width: thin; scrollbar-color: var(--accent) transparent; overscroll-behavior: contain; }
.main-lcd .lcd-confirm-dialog h2 { color: var(--accent); font: 700 10px/1.25 'Inter',sans-serif; flex: 0 0 auto; }
.main-lcd .lcd-confirm-dialog p { color: #d5dbe1; font: 8px/1.5 'Inter',sans-serif; overflow-wrap: anywhere; flex: 1; min-height: 0; overflow: auto; }
.lcd-confirm-actions { display: flex; justify-content: flex-end; gap: 5px; flex: 0 0 auto; }
.lcd-confirm-actions button { background: #202731; color: var(--accent); border: 1px solid var(--accent); border-radius: 3px; padding: 3px 8px; font: 8px/1.3 'Inter',sans-serif; cursor: pointer; }
/* Long names, errors and small screens must scroll within their existing panels. */
.main-lcd :is(.track-download-dialog,.track-replace-dialog,.app-payment-dialog,.voice-create-dialog) { min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; overflow: hidden; box-sizing: border-box; }
.main-lcd :is(.track-download-panel,.track-replace-panel,.app-payment-panel,.voice-create-panel) { min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
.main-lcd .auth-form-side { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.lcd-status-toast { display: none !important; }
