/* Approved service and storage page layout. Existing handlers own every operation. */
#app:has(#set-main){--settings-page-space:18px;--settings-page-gap:12px;--settings-page-font:var(--lm-app-font-control,14px);--settings-page-small:var(--lm-app-font-small,12px);--settings-page-display:25px;--settings-page-radius:var(--lm-app-radius-small,8px);--settings-page-control:44px;--settings-page-side:16px;--settings-page-border:1px;--settings-page-title:var(--lm-app-font-section,16px);--settings-page-empty-space:80px;--settings-page-input:var(--t-input,#edf1f3);--settings-page-selected:var(--lm-app-selected,#e4ecef);--settings-page-danger:var(--lm-app-danger,#b86f75)}
#app:has(#set-main) #app-bar{grid-template-rows:minmax(0,1fr)}
#app:has(#set-main) #app-back{grid-column:1;grid-row:1;align-self:center}
#app:has(#set-main) #app-title{grid-column:2;grid-row:1;align-self:center}
#app:has(#set-main) #app-header-plus{grid-column:3;grid-row:1;align-self:center;justify-self:center;position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none}
#app .settings-page-intro{text-align:left;padding:var(--settings-page-gap) 0 calc(var(--settings-page-space)*1.5);border-bottom:var(--settings-page-border) solid var(--settings-line);margin-bottom:var(--settings-page-space)}
#app .settings-page-eyebrow{font-size:var(--settings-page-small);color:var(--settings-muted)}
#app .settings-page-intro h2{font-size:var(--settings-page-display);font-weight:500;line-height:1.6;margin:var(--settings-page-gap) 0 0;color:var(--settings-text)}
#app .voice-model-section{padding:var(--settings-page-gap) var(--settings-page-side);margin:0;background:transparent;border:0;border-radius:0;box-shadow:none}
#app .voice-model-row{display:flex;align-items:center;gap:var(--settings-page-gap);padding:var(--settings-page-gap) var(--settings-page-side);border:var(--settings-page-border) solid var(--settings-line);border-radius:var(--settings-radius);background:var(--settings-paper);color:var(--settings-text)}
#app .voice-model-title{flex:1;min-width:0;font-size:var(--settings-page-font);font-weight:500;line-height:1.6}
#app .voice-model-row .stt-picker-label{flex:0 1 auto;max-width:50%;min-width:0;font-size:var(--settings-page-small);color:var(--settings-muted);white-space:normal;overflow-wrap:anywhere;line-height:1.6}
#app .settings-disclosure{display:block;width:var(--settings-arrow-size);height:var(--settings-arrow-size);flex:none;color:var(--settings-muted);background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
#app .tts-wrap{padding:0}
#app .tts-wrap .api-list-area{padding:var(--settings-page-gap) var(--settings-page-side)}
#app .tts-wrap .api-card{border:var(--settings-page-border) solid var(--settings-line);border-radius:var(--settings-radius);box-shadow:none;background:var(--settings-paper);color:var(--settings-text)}
#app .tts-wrap .api-card .aurl,#app .tts-wrap .api-card .ainfo{color:var(--settings-muted);overflow-wrap:anywhere;white-space:normal}
#app .tts-wrap .api-empty{padding-top:var(--settings-page-empty-space);color:var(--settings-muted)}
#app .tts-wrap .api-empty svg{stroke:currentColor}
#app:has(#ttsModalBg.show) #app-bar{display:none}
#app #ttsModalBg .api-modal-header,#app #apiModalBg .api-modal-header{display:grid;grid-template-columns:var(--settings-hit) minmax(0,1fr) var(--settings-hit);align-items:center;height:calc(var(--settings-header-height) + var(--lm-safe-top,0px));padding:var(--lm-safe-top,0px) max(var(--settings-header-edge),var(--lm-safe-right,0px)) 0 max(var(--settings-header-edge),var(--lm-safe-left,0px));box-sizing:border-box;background:var(--settings-page);border-color:var(--settings-line);flex-shrink:0}
#app #ttsModalBg .api-modal-header>*{width:auto;min-width:0;text-align:center;margin:0}
#app #ttsModalBg .api-modal-back,#app #apiModalBg .api-modal-back{display:grid;place-items:center;width:var(--settings-hit);height:var(--settings-hit);padding:0;color:var(--settings-text)}
#app #ttsModalBg .api-modal-title{font-size:var(--settings-title-font);color:var(--settings-text)}
#app #ttsModalBg .api-modal-content{padding:var(--settings-page-side)}
#app #ttsModalBg .afg input,#app #ttsModalBg .tts-sel,#app #ttsModalBg .tts-picker-btn{color:var(--settings-text);border-color:var(--settings-line);background:var(--settings-paper)}
#app #ttsModalBg .afg label{color:var(--settings-muted)}
#app #ttsModalBg .abtn{color:var(--settings-text);background:var(--settings-page-selected);border-radius:var(--settings-radius)}
#app #ttsModalBg #ttsDelBtn{color:var(--settings-page-danger)}
#app .lm-backup,#app .lm-data-manager{height:100%;overflow-y:auto;padding:var(--settings-page-space);background:var(--settings-page);color:var(--settings-text)}
#app .lm-backup .lm-b-card,#app .lm-data-manager .lm-b-card{border:0;border-bottom:var(--settings-page-border) solid var(--settings-line);border-radius:0;background:transparent;box-shadow:none;padding:0 0 var(--settings-page-space);margin:0 0 var(--settings-page-space)}
#app .lm-backup .lm-b-card:last-child,#app .lm-data-manager .lm-b-card:last-child{border-bottom:0}
#app .lm-b-card .lm-b-title{font-size:var(--settings-page-title);color:var(--settings-text);margin-bottom:var(--settings-page-gap)}
#app .lm-b-card .lm-b-sub,#app .lm-b-card .lm-b-progress{font-size:var(--settings-page-small);line-height:1.7;color:var(--settings-muted)}
#app .lm-b-card .lm-b-note{background:var(--settings-page-input);border-color:var(--settings-line);border-radius:var(--settings-page-radius);font-size:var(--settings-page-small);color:var(--settings-muted);padding:var(--settings-page-gap);margin-top:var(--settings-page-gap)}
#app .lm-b-card .lm-b-btn{min-height:var(--settings-page-control);padding:var(--settings-page-gap) var(--settings-page-side);background:var(--settings-page-selected);color:var(--settings-text);border:var(--settings-page-border) solid var(--settings-line);border-radius:var(--settings-page-radius);font-size:var(--settings-page-font);line-height:1.4}
#app .lm-data-manager .lm-b-btn.danger{color:var(--settings-page-danger)}
#app .lm-data-manager .lm-sent-actions{gap:var(--settings-page-gap)}
#app .lm-data-manager .lm-sent-image{background:var(--settings-page-input);border-color:var(--settings-line)}

#app #lmMaskAdd[hidden]{display:none}
#app #ttsModalBg .tts-picker-btn svg{width:var(--settings-arrow-size);height:var(--settings-arrow-size);color:var(--settings-muted);stroke:currentColor}
