/* Fluid workspace and login, with contained scrolling for wide data. */
.fama-app { --page-gutter: clamp(12px, 1.6vw, 32px); }
.fama-app :is(.crm-layout,.login-layout,.fama-footer-main) { width:100%; max-width:none; margin-inline:0; }
.fama-app :is(.fama-topbar,.fama-masthead,.crm-layout,.login-layout,.fama-footer-main,.fama-footer-bottom) { padding-inline:var(--page-gutter); }
.fama-app .crm-layout { gap:clamp(16px,1.6vw,28px); grid-template-columns:220px minmax(0,1fr); }
.fama-app.modules-collapsed .crm-layout { grid-template-columns:minmax(0,1fr); }
.fama-app :is(.workspace,.panel,.record,.two-columns>*,.detail-grid>*,.metrics>*,.login-layout>*,.fama-footer-main>*) { min-width:0; }
.fama-app .workspace { width:100%; max-width:none; }
.fama-app .crm-module-nav { display:flex; flex-direction:column; overflow:visible; margin-top:0; }
.fama-app .crm-module-nav a { white-space:normal; }
.fama-app :is(.heading,.panel-title,.row,.inline-form,.pagination) { flex-wrap:wrap; }
.fama-app :is(.heading>div,.row>*,.movement>div,.fama-account-link) { min-width:0; overflow-wrap:anywhere; }
.fama-app .metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fama-app .metrics strong { overflow-wrap:anywhere; font-size:clamp(22px,1.8vw,30px); }
.fama-app .two-columns { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
.fama-app .detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); overflow-wrap:anywhere; }
.fama-app :is(.table-wrap,.pipeline) { max-width:100%; overscroll-behavior-inline:contain; }
.fama-app .table-wrap { overflow-x:auto; }
.fama-app td { overflow-wrap:anywhere; }
.fama-app .avatar { flex-shrink:0; }
.fama-app .search-bar { flex-wrap:wrap; }
.fama-app .search-bar input { flex:1 1 200px; min-width:0; max-width:none; }
.fama-app .inline-form>:is(input,select,label) { flex:1 1 180px; min-width:0; }
.fama-app dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; }
.fama-app .login-layout { gap:clamp(20px,3vw,64px); grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); margin-block:clamp(24px,3vw,48px); }
.fama-app .login-card { max-width:none; width:100%; padding:clamp(24px,3vw,48px); }
.fama-app .login-intro { min-height:clamp(360px,34vw,560px); padding:clamp(24px,4vw,72px); }
.fama-app .login-intro h1 { color:#fff; font-size:clamp(32px,3.4vw,64px); }
.fama-app .login-intro p { max-width:52ch; }
.fama-app .fama-topbar nav { min-width:0; margin-top:0; }
.fama-app .fama-masthead { flex-wrap:wrap; gap:16px; }
.fama-app .fama-masthead-actions { min-width:0; gap:clamp(6px,1vw,20px); }
@media(max-width:1200px) {
 .fama-app .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fama-app .two-columns { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1023px) {
 .fama-app .crm-layout { display:block; }
 .fama-app .crm-layout aside { width:min(290px,88vw); }
 .fama-app .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fama-app .login-layout { grid-template-columns:minmax(0,1fr); }
 .fama-app .login-intro { min-height:260px; }
}
@media(max-width:700px) {
 .fama-app .fama-topbar nav { width:100%; justify-content:space-between; }
 .fama-app .fama-topbar .fama-portal-link { padding-inline:4px; letter-spacing:0; font-size:9px; }
 .fama-app .fama-account-link { margin-left:0; }
 .fama-app .fama-masthead { flex-wrap:nowrap; }
 .fama-app .fama-brand { width:104px; }
 .fama-app .fama-cart { padding-inline:10px; }
 .fama-app .fama-cart>span { display:none; }
 .fama-app .crm-layout .sidebar-foot { display:block; }
 .fama-app .crm-layout .sidebar-foot small { display:block; }
 .fama-app .detail-grid { grid-template-columns:minmax(0,1fr); }
 .fama-app .movement { flex-wrap:wrap; }
 .fama-app .movement>div { flex:1 1 140px; }
 .fama-app .panel-title { align-items:flex-start; }
 .fama-app .login-intro { min-height:240px; }
 .fama-app .fama-footer-bottom span { display:block; }
 .fama-app .fama-bottom-bar { margin-top:0; }
 .fama-app .fama-bottom-bar :is(a,button) { min-width:0; flex:1; padding-inline:3px; }
}
@media(max-width:380px) {
 .fama-app .metrics,.fama-app .fama-footer-main,.fama-app .quote-line { grid-template-columns:minmax(0,1fr); }
}
@media print {
 .fama-app .crm-layout,.fama-app .workspace { width:100%; padding:0; }
 .fama-app .table-wrap { overflow:visible; }
}
