/* AirPro administration: shared self-contained line icons and centred service tiles.
   Scoped to the two settings menus; does not restyle transport/log controls. */
.settings-icon{width:22px;height:22px;display:block;flex:none;pointer-events:none}
#serviceLauncherButton{display:grid;place-items:center}
#serviceLauncherButton .settings-icon{width:22px;height:22px}
#serviceLauncherDialog,#settingsMenuDialog{
  width:min(1080px,calc(100vw - 40px));max-width:1080px;max-height:calc(100dvh - 48px);
  border:1px solid #35414d;border-radius:16px;padding:0;background:#10161c;color:#eef3f7;
  box-shadow:0 24px 90px #000a;overflow:hidden;
}
#serviceLauncherDialog::backdrop,#settingsMenuDialog::backdrop{background:#03080dd4;backdrop-filter:blur(5px)}
#serviceLauncherDialog>form,#settingsMenuDialog>form{margin:0;padding:0;display:flex;flex-direction:column;max-height:calc(100dvh - 50px);min-height:0}
#serviceLauncherDialog .settings-menu-heading,#settingsMenuDialog .settings-menu-heading{
  flex:0 0 auto;display:flex;align-items:center;gap:18px;margin:0;padding:23px 28px 21px;
  border-bottom:1px solid #2a343e;background:#161e26;
}
#serviceLauncherDialog .settings-menu-heading small,#settingsMenuDialog .settings-menu-heading small{color:#f3687b;font-size:9px;font-weight:800;letter-spacing:1.7px}
#serviceLauncherDialog .settings-menu-heading h2,#settingsMenuDialog .settings-menu-heading h2{margin:5px 0 4px;font-size:23px;font-weight:700;letter-spacing:-.5px}
#serviceLauncherDialog .settings-menu-heading p,#settingsMenuDialog .settings-menu-heading p{margin:0;color:#99a7b4;font-size:12px;line-height:1.5}
#serviceLauncherDialog .dialog-close,#settingsMenuDialog .dialog-close{
  display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;margin:0 0 0 auto;padding:0;
  border:1px solid #35414d;border-radius:9px;color:#bac5cf;background:#1c2630;cursor:pointer;
}
#serviceLauncherDialog .dialog-close:hover,#settingsMenuDialog .dialog-close:hover{background:#2a3642;color:#fff}
#serviceLauncherDialog .service-launcher-grid,#settingsMenuDialog .settings-menu-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 26px 26px;margin:0;
  min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#415263 #11171e;
}
#serviceLauncherDialog .service-launcher-grid button,#settingsMenuDialog .settings-menu-grid button{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
  width:100%;min-width:0;min-height:148px;margin:0;padding:18px 12px 15px;border:1px solid #2d3945;
  border-radius:11px;background:#171f28;color:#dfe7ed;text-align:center;white-space:normal;
  font:inherit;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;
}
#serviceLauncherDialog .service-launcher-grid button:hover,#settingsMenuDialog .settings-menu-grid button:hover{
  background:#202b36;border-color:#6d4854;transform:none;box-shadow:0 4px 12px #0002;
}
#settingsMenuDialog .settings-menu-grid button.active{border-color:#be4153;background:#2b1d26;box-shadow:inset 0 0 0 1px #ce53662b}
#serviceLauncherDialog .settings-menu-icon,#settingsMenuDialog .settings-menu-icon{
  display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;margin:0 0 12px;border-radius:12px;
  color:#ef8795;background:#242631;border:1px solid #3c3440;
}
#serviceLauncherDialog .settings-menu-icon .settings-icon,#settingsMenuDialog .settings-menu-icon .settings-icon{width:25px;height:25px}
#serviceLauncherDialog .service-launcher-grid button b,#settingsMenuDialog .settings-menu-grid button b{
  display:block;max-width:100%;font-size:12px;line-height:1.45;font-weight:650;letter-spacing:0;margin:0;
}
#serviceLauncherDialog .settings-menu-description,#settingsMenuDialog .settings-menu-description{
  display:block;color:#96a5b4;font-size:10px;line-height:1.5;max-width:190px;margin:5px 0 0;
}
#serviceLauncherDialog button:focus-visible,#settingsMenuDialog button:focus-visible,
.settings-page .settings-topbar button:focus-visible,.settings-page .settings-home:focus-visible{
  outline:2px solid #7dc7ed;outline-offset:3px;
}
#serviceLauncherDialog button[hidden],#settingsMenuDialog button[hidden],
.settings-page .settings-topbar [hidden],.settings-page .settings-content[hidden]{display:none!important}
/* A compact header remains available even for a direct ?view= link/popup. */
.settings-page .settings-topbar,body.settings-page.standalone-settings .settings-topbar{
  display:flex!important;align-items:center;flex:0 0 auto;flex-wrap:wrap;gap:14px;min-height:88px;height:auto;
  padding:17px 24px;background:#141c24;border-bottom:1px solid #303b46;
}
.settings-page .settings-page-title{flex:1 1 220px;min-width:0}
.settings-page .settings-page-title h1{font-size:21px;line-height:1.25;letter-spacing:-.35px;margin:5px 0 0}
.settings-page .settings-page-title small{font-size:9px;letter-spacing:1.6px;color:#8d9bab}
.settings-page .settings-home{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #35414d;border-radius:9px;color:#bac8d4;background:#1b2530;text-decoration:none}
.settings-page .settings-home:hover{background:#2a3642;color:#fff}
.settings-page .settings-topbar-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;margin-left:auto}
.settings-page .settings-topbar-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:8px;font-size:11px;padding:8px 11px;white-space:nowrap}
.settings-page .settings-topbar-actions .settings-icon{width:17px;height:17px}
.settings-page #settingsMenuButton{border-color:#72505b;color:#f3c9d0;background:#2c202a}
.settings-page .settings-content{padding:24px;scrollbar-width:thin;scrollbar-color:#415263 #0c1014}
.settings-page .settings-workspace{height:100dvh}
.settings-page .settings-intro{gap:24px}
.settings-page .settings-intro p{font-size:12px;max-width:780px}
.settings-page .settings-intro h2{font-size:18px}
.settings-page .organisation-settings-card,.settings-page .user-preferences-card{border-radius:10px;padding:18px;margin-bottom:18px}
.settings-page .organisation-settings-card p,.settings-page .user-preferences-card p{font-size:11px;line-height:1.5}
.settings-page .user-preferences-card label,.settings-page .organisation-settings-card label{font-size:9px}
.settings-page #voiceRetentionForm{grid-template-columns:minmax(260px,1.5fr) minmax(160px,1fr) 150px auto}
.settings-page #voiceRetentionForm>p{grid-column:1/-1}
.settings-page #voiceRetentionForm select{width:100%;min-width:0;display:block;margin-top:6px;border:1px solid #3a4653;border-radius:4px;background:#0d1116;color:#fff;padding:9px}
@media(max-width:1050px){
  .settings-page .organisation-settings-card,.settings-page #voiceRetentionForm{grid-template-columns:1fr 1fr}
  .settings-page .organisation-settings-card>div{grid-column:1/-1}
}
@media(max-width:820px){
  #serviceLauncherDialog .service-launcher-grid,#settingsMenuDialog .settings-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px;gap:10px}
  .settings-page .settings-topbar-actions{width:100%;margin:0}
}
@media(max-width:560px){
  #serviceLauncherDialog,#settingsMenuDialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:12px}
  #serviceLauncherDialog>form,#settingsMenuDialog>form{max-height:calc(100dvh - 26px)}
  #serviceLauncherDialog .settings-menu-heading,#settingsMenuDialog .settings-menu-heading{padding:17px;gap:10px}
  #serviceLauncherDialog .settings-menu-heading h2,#settingsMenuDialog .settings-menu-heading h2{font-size:21px}
  #serviceLauncherDialog .settings-menu-heading p,#settingsMenuDialog .settings-menu-heading p{font-size:11px;max-width:245px}
  #serviceLauncherDialog .service-launcher-grid,#settingsMenuDialog .settings-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}
  #serviceLauncherDialog .service-launcher-grid button,#settingsMenuDialog .settings-menu-grid button{min-height:150px;padding:16px 9px 13px}
  #serviceLauncherDialog .service-launcher-grid button b,#settingsMenuDialog .settings-menu-grid button b{font-size:11px}
  .settings-page .settings-topbar{padding:13px;gap:10px;min-height:82px}
  .settings-page .settings-page-title{flex-basis:210px}
  .settings-page .settings-page-title h1{font-size:19px}
  .settings-page .settings-topbar-actions{gap:6px}
  .settings-page .settings-topbar-actions button{min-height:36px;font-size:10px;padding:7px 9px;gap:5px}
  .settings-page .settings-content{padding:14px}
  .settings-page .organisation-settings-card,.settings-page .user-preferences-card,.settings-page #voiceRetentionForm{grid-template-columns:minmax(0,1fr);padding:15px}
  .settings-page .organisation-settings-card>div,.settings-page .user-preferences-card>div:first-child,.settings-page .user-preferences-card>p{grid-column:auto}
  .settings-page .summary-cards article{padding:9px}
  .settings-page .settings-intro p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  #serviceLauncherDialog .service-launcher-grid button,#settingsMenuDialog .settings-menu-grid button{transition:none}
}

/* The existing wrapped mobile toolbar retained a 72px flex-basis and covered
   its Settings button with Deck A. Let its real row height keep it reachable. */
@media(max-width:800px){
  .studio-page .topbar{flex:0 0 auto;height:auto;min-height:72px}
}

/* AirPro 2.168: keep session controls in the Settings heading, not a footer. */
#serviceLauncherDialog .settings-menu-heading-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
#serviceLauncherDialog .settings-menu-heading-actions .dialog-close{margin:0}
#serviceLauncherDialog .settings-menu-logout{height:38px;min-width:72px;margin:0;padding:0 12px;border:1px solid #793341;border-radius:9px;background:#35171d;color:#ff9aaa;font:700 10px Inter,"Segoe UI",sans-serif;cursor:pointer}
#serviceLauncherDialog .settings-menu-logout:hover{background:#4a1d26;border-color:#a84859;color:#fff}
@media(max-width:560px){#serviceLauncherDialog .settings-menu-heading-actions{gap:6px}#serviceLauncherDialog .settings-menu-logout{min-width:60px;padding:0 9px}}
