/* Final responsive layer: phone, tablet and installed web app. Theme tokens stay authoritative. */
@media(max-width:1100px){
 .cabinet-app{--mobile-gap:16px}
 .cabinet-app #main-content{width:auto!important;box-sizing:border-box}
 .cabinet-app .topbar{background:var(--t-canvas,#f4f6fa)!important;align-items:center;isolation:auto}
 .cabinet-app .topbar .identity{display:flex!important;gap:0;flex:none}
 .cabinet-app .topbar .identity>div{display:none}
 .cabinet-app .topbar>.gmt-global-search{order:3;flex:1 0 100%;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}
 .cabinet-app .gmt-global-search input{min-width:0;width:100%;font-size:16px!important}
 .cabinet-app .topbar>.actions{margin-left:auto;align-items:center;gap:10px}
 .cabinet-app .mobile-menu-button,.cabinet-app .mobile-mail-back{background:var(--t-surface,#fff);color:var(--t-ink,#263651);border-color:var(--t-border,#dce1f2)}
 .cabinet-app :is(.profile-account-menu>nav,.notification-panel){background:var(--t-surface,#fff)!important;color:var(--t-ink,#263651)!important;border-color:var(--t-border,#dce1f2)}
 .cabinet-app .notification-panel{position:fixed!important;top:76px!important;left:auto!important;right:16px!important;width:min(420px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px)!important;overflow-y:auto;z-index:120}
 .cabinet-app .notification-panel :is(p,small,time,summary,a){font-size:14px!important;line-height:1.5}
 .cabinet-app .notification-panel button{min-height:44px;white-space:normal}
 .cabinet-app .profile-account-menu>nav{position:fixed;top:76px;right:16px;max-width:calc(100vw - 32px);z-index:121}
 .cabinet-app #main-content :is(.panel,.card,.event-shell,.client-directory,.case-directory-workspace,.invoice-directory,.admin-content,.analytics-dashboard,.studio-hero){min-width:0;box-sizing:border-box}
 .cabinet-app #main-content :is(.day-stat span,.day-stat small,.daily-action-tabs a,.case-directory-tabs a,.case-directory-views a,.directory-views a,.invoice-tab,.client-card-contact p,.case-file-meta,.client-card-footer,.case-card-footer,.invoice-directory-kicker,.studio-intro p){font-size:14px!important;line-height:1.5}
 .cabinet-app #main-content :is(.case-directory-tabs,.case-directory-views,.invoice-status-tabs,.daily-action-tabs,.directory-views){max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
 .cabinet-app #main-content :is(.case-directory-tabs,.case-directory-views,.invoice-status-tabs,.daily-action-tabs,.directory-views)>a{flex-shrink:0;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
 .cabinet-app #main-content :is(.business-card-grid,.case-file-grid,.theme-options){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cabinet-app #main-content :is(.day-overview,.analytics-kpis,.invoice-overview){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cabinet-app #main-content :is(.day-hero,.analytics-hero,.studio-hero){padding:28px 24px;gap:24px;flex-wrap:wrap}
 .cabinet-app #main-content :is(.day-hero-copy,.analytics-hero>div,.studio-hero>div){min-width:0;max-width:100%}
 .cabinet-app #main-content :is(.analytics-filters,.invoice-directory-filters,.case-directory-filters){display:flex;flex-wrap:wrap;gap:12px}
 .cabinet-app #main-content :is(.analytics-filters,.invoice-directory-filters,.case-directory-filters)>label{flex:1 1 180px;min-width:0;max-width:100%}
 .cabinet-app #main-content :is(.analytics-filters,.invoice-directory-filters,.case-directory-filters) :is(input,select){width:100%;min-width:0;box-sizing:border-box}
 .cabinet-app #main-content .event-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cabinet-app #main-content :is(.event-form-main,.personal-task-body){max-width:100%;padding:24px}
 .cabinet-app :is(.table-wrap,.mobile-table-scroll,.client-list-scroll,.case-list-scroll){min-width:0;max-width:100%;overscroll-behavior-x:contain}
 /* Tables retain tabular layout on tablets, with scroll limited to their container. */
 .cabinet-app .mobile-table-scroll:focus-visible{outline:2px solid var(--t-accent,#6550bb)}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) tr{background:var(--t-surface,#fff)!important;border-color:var(--t-border,#e1e7f0)!important}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td{color:var(--t-ink,#263651);border-color:var(--t-border,#e1e7f0)!important;box-sizing:border-box}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td::before{color:var(--t-muted,#65738b)!important;font-size:13px!important;line-height:1.5}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td{font-size:15px!important}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td a{overflow-wrap:anywhere}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) :is(button,.button){min-height:44px;min-width:44px}
 .cabinet-app #main-content :is(.client-business-list,.case-business-list,.invoice-business-table) .directory-person{min-width:0}
 .cabinet-app #main-content .client-card-contact a{overflow-wrap:anywhere}
 .cabinet-app #main-content :is(.client-card-actions,.case-card-footer,.client-list-actions,.case-list-actions){flex-wrap:wrap;gap:10px}
 .cabinet-app #main-content :is(.client-card-actions,.case-card-footer,.client-list-actions,.case-list-actions) a{min-height:44px;display:inline-flex;align-items:center}
 .cabinet-app #main-content .gmt-journey ol{display:flex;overflow-x:auto;gap:10px}
 .cabinet-app #main-content .gmt-journey li{flex:0 0 145px}
 .cabinet-app .gmt-undo{left:16px;right:16px;bottom:max(20px,env(safe-area-inset-bottom));max-width:520px;box-sizing:border-box;z-index:140}
 .cabinet-app .gmt-undo button{min-height:44px}
 .cabinet-app .gmt-assistant-panel{width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 110px);box-sizing:border-box}
 .cabinet-app .gmt-assistant-launch{max-width:calc(100vw - 24px)}
 .cabinet-app .studio-save{max-width:100%;box-sizing:border-box;flex-wrap:wrap;gap:12px}
 .mail-embedded :is(input,textarea,select){font-size:16px!important}
 .cabinet-app .mail-workspace{width:100%;min-width:0}
 .cabinet-app .mail-workspace-footer{position:static;clear:both;box-sizing:border-box;white-space:normal;line-height:1.6}
 .cabinet-app .mobile-mail-ready .mail-reading-pane{display:none!important}
 .cabinet-app .mobile-mail-ready.mobile-mail-reading .mail-reading-pane{display:block!important;min-height:360px;height:calc(100dvh - 170px)}
 .cabinet-app .mobile-mail-ready.mobile-mail-reading :is(.mail-list-pane,.mail-folder-pane){display:none!important}
 .cabinet-app .mail-row-subject{font-size:16px!important;line-height:1.45}
 .cabinet-app .mail-row-preview{font-size:14px!important;line-height:1.5}
 .cabinet-app .mail-folder-pane a{font-size:14px!important;min-height:44px;box-sizing:border-box}
 .cabinet-app .mail-folder-pane{box-sizing:border-box}
 .cabinet-app :is(input,textarea,select){scroll-margin-top:145px}
}
@media(min-width:701px) and (max-width:1100px){
 .cabinet-app #main-content :is(.directory-table.mobile-card-table,.mobile-record-table){display:table;min-width:760px!important;width:100%}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) thead{position:static!important;width:auto;height:auto;clip:auto;display:table-header-group;overflow:visible}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) tbody{display:table-row-group}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) tr{display:table-row;border:0;padding:0}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td{display:table-cell!important;width:auto!important;padding:18px 14px!important;border-radius:0}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td::before{display:none!important}
 .cabinet-app .directory-table-scroll{overflow-x:auto}
 .cabinet-app .topbar>.gmt-global-search{order:0;flex:1 1 240px;max-width:560px}
 .cabinet-app .topbar>.actions{flex:none}
}
@media(max-width:700px){
 .cabinet-app #main-content{padding-bottom:max(88px,calc(env(safe-area-inset-bottom) + 76px))!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
 .cabinet-app #main-content :is(.business-card-grid,.case-file-grid,.theme-options,.invoice-overview,.analytics-kpis,.admin-metrics,.event-form-grid){grid-template-columns:minmax(0,1fr)!important}
 .cabinet-app #main-content .event-wide{grid-column:1/-1}
 .cabinet-app #main-content :is(.analytics-hero,.studio-hero,.day-hero){padding:24px 20px;border-radius:20px}
 .cabinet-app #main-content :is(.analytics-hero h1,.studio-hero h1){font-size:clamp(28px,7vw,36px);line-height:1.2}
 .cabinet-app #main-content :is(.studio-art,.analytics-orbit){display:none}
 .cabinet-app #main-content :is(.day-overview){gap:10px!important}
 .cabinet-app #main-content .day-stat{padding:18px 14px!important}
 .cabinet-app #main-content :is(.client-directory .client-business-card,.case-directory-workspace .case-file-card){min-height:0;padding:22px 20px 0}
 .cabinet-app #main-content :is(.directory-heading,.invoice-directory-intro,.case-directory-intro){flex-wrap:wrap;align-items:flex-start;gap:16px}
 .cabinet-app #main-content :is(.directory-heading>.actions,.case-directory-create){width:100%;display:flex;flex-wrap:wrap;gap:10px}
 .cabinet-app #main-content :is(.directory-heading>.actions,.case-directory-create)>a{flex:1 1 160px;min-height:44px;white-space:normal;text-align:center}
 .cabinet-app #main-content :is(.invoice-directory-filters,.case-directory-filters,.analytics-filters){display:grid;grid-template-columns:minmax(0,1fr);padding:16px}
 .cabinet-app #main-content :is(.invoice-directory-filters,.case-directory-filters,.analytics-filters)>*{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
 .cabinet-app #main-content :is(.event-form-main,.personal-task-body){padding:20px 16px!important}
 .cabinet-app #main-content .event-actions{flex-wrap:wrap;gap:12px}
 .cabinet-app #main-content .event-actions button{width:100%;font-size:16px}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table){display:block;min-width:0!important;width:100%!important;border-collapse:separate}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) tbody{display:grid;gap:14px}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) tr{display:block;padding:16px!important;border:1px solid var(--t-border,#e1e7f0);border-radius:16px;box-sizing:border-box;width:100%}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td{display:grid!important;grid-template-columns:minmax(80px,.75fr) minmax(0,1.25fr);gap:8px;padding:10px 0!important;width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td:first-child,.cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td[colspan]{display:block!important}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td:first-child::before,.cabinet-app :is(.mobile-card-table,.mobile-record-table) td[colspan]::before{display:none}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td:last-child{border-bottom:0}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) td>*{min-width:0;max-width:100%}
 .cabinet-app :is(.mobile-card-table,.mobile-record-table) :is(.client-list-actions,.case-list-actions){display:flex;flex-wrap:wrap;justify-content:flex-start}
 .cabinet-app .calendar-grid:not(.week-grid):not(.day-grid){min-width:560px}
 .cabinet-app .calendar-scroll{overflow-x:auto}
 .cabinet-app .notification-panel{right:12px!important;left:12px!important;width:auto!important;max-width:calc(100vw - 24px)}
 .cabinet-app .gmt-assistant-launch{width:48px;min-width:48px;height:48px;padding:10px!important;border-radius:16px!important;justify-content:center}
 .cabinet-app .gmt-assistant-launch>span:not(.gmt-assistant-mark){display:none}
 .cabinet-app .gmt-assistant{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
 .cabinet-app .gmt-assistant-panel{right:0;bottom:60px;max-height:calc(100dvh - 100px)}
 .cabinet-app .gmt-tools{position:static;margin:16px 12px;display:flex;flex-wrap:wrap}
 .cabinet-app .gmt-undo{bottom:max(76px,calc(env(safe-area-inset-bottom) + 64px));right:12px;left:12px;max-width:none}
 .cabinet-app .studio-save{position:sticky;bottom:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 .cabinet-app .studio-save button{flex:1 1 140px;min-height:44px}
}
@media(max-width:370px){
 .cabinet-app #main-content .day-overview{grid-template-columns:1fr!important}
 .cabinet-app #main-content :is(.mobile-card-table,.mobile-record-table) td{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.cabinet-app :is(.mobile-backdrop,#sidebar){transition:none!important}}

@media(max-width:1100px){
 .client-portal{font-size:16px;line-height:1.6}
 .client-portal :is(button,.button,input,select){min-height:44px}
 .client-portal :is(input,select,textarea){font-size:16px!important;box-sizing:border-box}
 .client-portal :is(small,.muted){font-size:14px}
 .client-portal .gmt-assistant-panel{max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px)}
 .cabinet-app #main-content :is(.invoice-stat strong,.analytics-value){overflow-wrap:anywhere}
 .cabinet-app #main-content :is(.client-card-name,.case-record-link,.invoice-record-title){overflow-wrap:anywhere}
 .cabinet-app #main-content .theme-options{padding:0;margin:0;border:0;min-width:0}
 .cabinet-app #main-content .studio-save{max-width:100%;box-sizing:border-box;flex-wrap:wrap;gap:12px}
}

@media(max-width:700px){
 body.crm-auth{padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box}
 .crm-auth main{width:100%;box-sizing:border-box;margin:24px auto;padding:24px 20px;overflow-wrap:anywhere}
 .crm-auth h1{font-size:25px;line-height:1.3}
 .crm-auth :is(input,select,textarea){font-size:16px;max-width:100%;min-width:0;box-sizing:border-box;min-height:44px}
 .crm-auth button{min-height:44px;font-size:16px}
 .crm-auth button[type=submit]{width:100%}
}

/* Daily completion stays visible on phones, below the greeting. */
@media(max-width:700px){
 .cabinet-app #main-content .day-hero .day-progress{display:flex;align-items:center;justify-content:center;gap:20px;flex:1 0 100%;width:100%;min-width:0;padding:20px 0 0;border-top:1px solid #ffffff26;text-align:left;box-sizing:border-box}
 .cabinet-app #main-content .day-progress .day-progress-ring{display:block;flex:0 0 104px;width:104px;height:104px;margin:0;padding:5px;box-sizing:border-box}
 .cabinet-app #main-content .day-progress-ring>div{box-sizing:border-box}
 .cabinet-app #main-content .day-progress-ring strong{font-size:30px!important;color:#fff}
 .cabinet-app #main-content .day-progress-ring span{font-size:12px;color:#e3eaf3}
 .cabinet-app #main-content .day-progress>p{margin:0;white-space:normal;max-width:180px;font-size:14px!important;line-height:1.6;color:#e3eaf3}
 .cabinet-app #main-content .day-progress>p strong{color:#fff;font-size:20px;font-weight:650}
}
