/* Working surfaces: actions first, explanations second. */
[hidden]:not([hidden="until-found"]) { display: none !important; }
.main-content { min-width: 0; }
.main-content .help-panel { order: initial; }
.page-head { margin-bottom: 18px; gap: 14px; }
.page-head h1 { font-size: clamp(22px,2.4vw,30px); line-height: 1.18; }
.page-head .eyebrow { margin-bottom: 5px; }
.page-head p:not(.eyebrow) { margin-top: 7px; line-height: 1.45; }
.main-content input,.main-content select,.main-content textarea { min-width: 0; max-width: 100%; }
.main-content textarea { resize: vertical; }
.main-content .panel { min-width: 0; }
.main-content table th,.main-content table td { font-size:14px; line-height:1.5; }
.main-content [id] { scroll-margin-top: 18px; }
.main-content .table-tools { flex-wrap: wrap; }
.main-content .table-tools input[type="search"] { display: block; min-width: 140px; flex: 1; }
.main-content :focus-visible { outline: 3px solid #0879d8; outline-offset: 3px; }
.ux-section-links { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 7px; margin: 0 0 16px; padding-bottom: 5px; }
.ux-section-links a { flex-shrink: 0; max-width: 245px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-group-items a { font-size: 14px; min-height: 34px; line-height: 1.3; }
.nav-group-toggle { font-size: 14px; min-height: 43px; height: auto; padding-top: 8px; padding-bottom: 8px; }
.nav-search input { font-size: 14px; }
.nav-search [data-nav-clear] { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; padding:0; border:1px solid #63819b; border-radius:6px; color:#fff; background:#183c58; cursor:pointer; font-size:20px; }
.nav-search:has([data-nav-clear]:not([hidden])) kbd { display:none; }
.nav-search-empty { margin:0 16px 12px; padding:12px; border-radius:8px; background:#183c58; color:#e8f4ff; font-size:14px; line-height:1.5; }
.ux-search-empty { border:1px dashed #b6cce1; border-radius:10px; padding:18px; color:#4e647c; background:#f8fbff; font-size:14px; line-height:1.5; }
.ux-table-scroll-hint { margin:0; padding:8px 18px; background:#eef6ff; color:#245677; font-size:14px; }
.data-panel footer a[aria-disabled="true"] { opacity:.4; cursor:default; }
.credit-balance-hero,.notification-hero,.calendar-hero,.wa-command-hero { padding: 18px; }
.credit-balance-hero h2,.notification-hero h2,.calendar-hero h2,.wa-command-hero h2 { font-size: 24px; line-height: 1.2; }
.credit-balance-hero p,.notification-hero p,.calendar-hero p,.wa-command-hero p { line-height: 1.45; }
.credit-balance-hero { grid-template-columns: minmax(0,1fr) 155px; gap: 16px; }
.credit-trust-row { display: none; }
.notification-hero { grid-template-columns: minmax(0,1fr); }
.notification-hero h2 { font-size: 19px; }
.notification-hero p:not(.panel-kicker) { font-size: 14px; margin: 4px 0; }
.notification-center { gap: 14px; }
.notification-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; }
.notification-hero-stats span { flex: 1; }
[data-dashboard-page="google-calendar-contacts"] .calendar-connect-shell { display: flex; flex-direction: column; }
[data-dashboard-page="google-calendar-contacts"] .calendar-grid.contacts { order: -1; }
.notification-grid { align-items: start; }
.notification-center { display:flex; flex-direction:column; }
.notification-center>.notification-grid { order:-1; }
.notification-send-card label>span,.notification-filter-bar label>span { font-size:14px; }
.notification-send-card small { font-size:12px; }
.notification-send-card .form-feedback:empty { display:none; }
.credit-balance-meter { min-height:0; padding:14px; border-radius:14px; }
.credit-balance-copy>h2 { font-size:20px; margin:6px 0; }
.credit-balance-copy>p:not(.panel-kicker) { font-size:14px; margin:8px 0 0; }
.credit-workspace { gap:12px; }
.credit-reload-card { padding:18px; }
.credit-reload-card>header { margin-bottom:8px; }
.credit-reload-card form { gap:10px; }
.credit-amount-field>div { min-height:52px; }
.credit-amount-field>span { font-size:14px; }
.credit-quick-amounts button[aria-pressed="true"] { background:#096cb7; border-color:#096cb7; color:#fff; }
.notification-send-card textarea { height: 88px; min-height: 88px; }
.ux-section-links a { padding: 8px 12px; background: white; border: 1px solid var(--line); border-radius: 8px; color: #145482; font-size: 14px; }
.ux-section-links a:hover { background: #e8f3ff; }
.ux-form-shortcut { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.ux-form-shortcut button { min-height: 40px; }
.ux-search { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0; font-size: 14px; }
.ux-search input,.ux-table-tools select { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 9px 11px; }
.ux-search input { flex: 1; min-width: 150px; }
.ux-search output { color: var(--muted); }
.ux-device-settings { border-top: 1px solid var(--line); }
.ux-device-settings summary { cursor: pointer; color: #0768b1; font-size: 14px; font-weight: 700; padding: 13px 16px; }
.ux-device-settings[open] summary { background: #eef6ff; }
.gateway-device-management-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); align-items: start; }
.gateway-device-manager { min-width: 0; }
.gateway-device-manager .gateway-device-form { padding: 16px; }
.imap-box-list { max-height: 560px; overflow-y: auto; overscroll-behavior: contain; padding-right: 5px; scrollbar-width: thin; }
.imap-list-panel { min-width: 0; }
.imap-box-card { padding: 14px; }
.imap-box-card dl { margin: 8px 0; }
.calendar-grid,.calendar-grid.contacts { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); }
.calendar-grid>* { min-width: 0; }
.calendar-contact-card { overflow-wrap: anywhere; }
.ux-table-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 10px 18px; border-top: 1px solid var(--line); background: #f8fbff; font-size: 14px; }
.ux-table-tools span { color: var(--muted); }
.ux-table-tools label { display: flex; flex-direction: row; align-items: center; gap: 8px; margin: 0; }
.ux-sort { color: inherit; font: inherit; font-weight: 700; border: 0; padding: 8px 0; background: transparent; text-align: left; cursor: pointer; display: flex; gap: 7px; align-items: center; }
.ux-sort span { color: #0879d8; }
.ux-sort:focus-visible { outline-offset: 0; }
[data-activity-table] th[aria-sort] { white-space: nowrap; }
.ux-table-empty { text-align: center; padding: 20px !important; }
[data-sms-form] { gap: 12px; }
.message-composer [data-sms-form] label { margin: 0 0 10px; }
.message-composer [data-sms-form] .field-grid { margin-bottom: 10px; }
.message-composer [data-sms-form] .recipient-tabs { margin: 0 0 10px; }
.message-composer [data-sms-form] .form-actions { padding-top: 4px; margin-top: 6px; }
.message-composer [data-sms-form] .form-feedback:empty { display: none; }
.message-composer [data-sms-form] .field-grid label>small { display: none; }
.message-composer [data-sms-form] [data-recipient-numbers]>small { display: none; }
[data-sms-form] textarea[name="message"] { min-height: 100px; height: 100px; }
[data-sms-form] textarea[name="recipients"] { min-height: 64px; height: 68px; }
[data-sms-form] .composer-tools { flex-wrap: wrap; gap: 7px; }
[data-sms-form] .field-grid { gap: 12px; }
.main-content .form-actions { flex-wrap: wrap; }
@media(max-width:1100px) {
  .content-layout { grid-template-columns: minmax(0,1fr); }
  .content-layout>.help-panel { order: initial; margin-top: 16px; }
  .calendar-grid,.calendar-grid.contacts { grid-template-columns: minmax(0,1fr); }
  .main-content .calendar-hero { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:760px) {
  .main-content .data-panel>header { flex-direction:column; align-items:stretch; gap:12px; }
  .main-content .data-panel>header .table-tools { width:100%; }
  .credit-balance-hero { grid-template-columns: minmax(0,1fr); }
  .page-head h1 { font-size: 24px; }
  .ux-section-links { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .ux-section-links a { flex-shrink: 0; }
  .ux-form-shortcut button { width: 100%; }
  .ux-table-tools { align-items: flex-start; flex-direction: column; }
  .imap-box-list { max-height: 420px; }
  .main-content .table-tools input[type="search"] { width: 100%; }
}
/* Call records: one compact table, complete details on demand. */
.call-log-panel td { vertical-align:middle; }
.call-log-panel td strong { font-size:inherit; }
.call-log-number,.call-log-type { display:block; margin-top:4px; }
.call-log-number { font-variant-numeric:tabular-nums; }
.call-log-type { color:#536681; font-size:.8125rem; }
.call-log-panel .table-wrap { overflow-x:auto; }
.call-detail-dialog { width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:24px; border:1px solid #d8e3f1; border-radius:18px; color:#142944; background:#fff; box-shadow:0 22px 80px #102b4940; overflow:auto; }
.call-detail-dialog::backdrop { background:#09233d80; }
.call-detail-dialog>header { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.call-detail-dialog h2 { font-size:1.25rem; margin:0; }
.call-detail-dialog dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.call-detail-dialog dt { color:#536681; font-size:.875rem; margin-bottom:5px; }
.call-detail-dialog dd { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.call-detail-wide { grid-column:1/-1; }
.call-copy-label { display:grid; gap:7px; font-size:.875rem; }
.call-copy-label input { width:100%; box-sizing:border-box; padding:12px; font:inherit; font-size:1rem; border:1px solid #bdcfe3; border-radius:9px; background:#f7faff; color:#142944; }
.call-detail-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.call-detail-note,.call-copy-feedback { font-size:.875rem; line-height:1.5; color:#536681; }
.call-copy-feedback { min-height:1.5em; color:#165a42; }
@media(max-width:600px) { .call-detail-dialog { padding:18px; } .call-detail-dialog dl { gap:12px; } .call-log-panel header { align-items:stretch; } }
