/* v2.27 — final responsive layer, after themes and CRM styles. */
/* Natural login height: short screens can scroll instead of compressing the form. */
.auth-page{min-height:100vh;min-height:100dvh;padding:clamp(12px,2.4vw,32px);align-items:center}
.auth-wrapper{width:100%;max-width:1240px;min-width:0}
.auth-card{min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-left{min-height:0;padding:clamp(24px,3vw,42px);gap:28px}
.auth-left .brand-badge{width:fit-content;max-width:100%;white-space:normal;line-height:1.5}
.auth-left .hero h1{font-size:calc(clamp(30px,3.2vw,46px) * var(--business-font-scale,1));margin:24px 0;line-height:1.12}
.auth-left .hero p{margin:0;max-width:100%;line-height:1.65}
.auth-left .hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.auth-left .hero-metrics>div{min-width:0;padding:14px 10px;overflow-wrap:anywhere}
.auth-left .hero-footer{padding:16px 18px}
.auth-right{min-width:0;min-height:0;padding:clamp(22px,3vw,44px)}
.login-box{min-width:0;max-width:460px;width:100%;padding:clamp(24px,2.6vw,36px)}
.login-logo{width:min(220px,75%);max-width:100%;height:auto;max-height:100px;object-fit:contain;margin:0 auto 22px}
.login-box h2{font-size:calc(clamp(25px,2.2vw,31px) * var(--business-font-scale,1));line-height:1.2;overflow-wrap:anywhere}
.login-box>p{line-height:1.55;margin-bottom:22px}
.login-box .input-icon{min-width:0}
.login-box .input-icon input{min-width:0;min-height:48px;font-size:calc(16px * var(--business-font-scale,1))}
.login-box .input-icon>i{flex-shrink:0}
.login-box>.btn{white-space:normal;min-height:48px;margin-top:20px}
.login-box .secure-note{line-height:1.5;overflow-wrap:anywhere}
.login-box .form-error:empty{min-height:0;margin-top:0}
.main,.content-wrapper,.content-panel,.crm-view,.top-title,.top-actions{min-width:0}
.content-panel{max-width:100%}
.crm-view :is(.crm-hero,.crm-toolbar,.crm-directory-toolbar,.crm-period-controls,.crm-widget-toolbar){min-width:0;max-width:100%;flex-wrap:wrap}
.crm-view :is(.crm-hero,.crm-widget-toolbar)>div{min-width:0}
.crm-view :is(.crm-actions,.crm-widget-popup-actions){flex-wrap:wrap}
.crm-view :is(.crm-toolbar input,.crm-toolbar select){min-width:0;max-width:100%}
.crm-directory-scroll,.crm-list-scroll,.crm-horizontal-main,.crm-config-table-wrap,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.crm-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.crm-dialog :is(.crm-dialog-head,.crm-dialog-body,.crm-form-grid,.crm-profile-main,.crm-management-pane){min-width:0}
.crm-dialog .crm-dialog-head{gap:12px}
.crm-dialog .crm-dialog-head h3{min-width:0;overflow-wrap:anywhere}
.crm-dialog .crm-dialog-head>button{flex-shrink:0}
.crm-dialog :is(input,select,textarea){min-width:0;max-width:100%}
.crm-dialog :is(.crm-deal-tabs,.crm-tabs){max-width:100%;overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain}
.crm-dialog :is(.crm-deal-tabs,.crm-tabs)>button{flex-shrink:0}
.crm-dialog .crm-form-footer{flex-wrap:wrap;gap:10px}
@media(max-width:1050px){
 .auth-card{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
 .auth-left{padding:26px;gap:24px}
 .auth-right{padding:24px}
 .auth-left .hero-metrics{grid-template-columns:minmax(0,1fr)}
 .auth-left .hero-metrics>div{padding:10px 14px}
 .auth-left .hero-metrics small{margin-top:3px}
 .crm-dialog .crm-management-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:800px){
 .auth-page{padding:20px 16px}
 .auth-wrapper{max-width:540px}
 .auth-card{display:block;border-radius:22px}
 .auth-left{display:none}
 .auth-right{min-height:0;padding:clamp(12px,4vw,26px)}
 .login-box{max-width:none;padding:clamp(22px,5vw,34px)}
 .login-logo{max-height:90px}
 .crm-hero{padding:22px 18px;gap:16px}
 .crm-hero h2{font-size:calc(clamp(24px,5vw,32px) * var(--business-font-scale,1));overflow-wrap:anywhere}
 .crm-widget-toolbar>div:last-child,.crm-hero>.crm-actions{width:100%;justify-content:flex-start}
 .crm-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .crm-toolbar input{grid-column:1/-1;width:100%}
 .crm-toolbar select{width:100%;max-width:none}
 .crm-period-controls{gap:10px}
 .crm-period-controls>*{max-width:100%}
 .crm-month-picker{min-width:0}
 .crm-dialog .crm-profile-layout{grid-template-columns:minmax(0,1fr)}
 .crm-dialog .crm-profile-cover{flex-wrap:wrap;gap:14px}
 .crm-dialog .crm-profile-cover>div{min-width:0;overflow-wrap:anywhere}
 .crm-dialog .crm-profile-cover .crm-actions{margin-left:0;flex-wrap:wrap}
}
@media(max-width:600px){
 .sidebar{width:min(300px,calc(100vw - 48px));min-width:0}
 .topbar,.top-actions{min-width:0;max-width:100%}
 .top-actions{flex-wrap:wrap}
 .context-button{min-width:0;overflow:hidden}
 .context-button :is(b,small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .crm-view :is(.crm-btn,.crm-icon-button),.crm-dialog :is(.crm-btn,.crm-icon-button){min-height:44px}
 .crm-view .crm-icon-button,.crm-dialog .crm-icon-button{min-width:44px}
 .crm-dialog,#crmDialog.crm-opportunity-edit-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px;margin:auto}
 .crm-dialog .crm-dialog-body{padding:16px}
 .crm-dialog .crm-dialog-head{padding:14px 16px}
 .crm-dialog :is(.crm-form-grid,.crm-edit-section>div,.crm-field-section-grid,.crm-detail-grid,.crm-contact-grid,.crm-quick-grid){grid-template-columns:minmax(0,1fr)}
 .crm-dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:calc(16px * var(--business-font-scale,1))}
 .crm-dialog .crm-form-footer{position:static;padding:14px 0 calc(8px + env(safe-area-inset-bottom));margin-top:18px}
 .crm-dialog .crm-form-footer>button{flex:1 1 120px}
 .crm-dialog .crm-edit-section{padding:16px}
 .crm-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .crm-directory-filters label,.crm-directory-search{min-width:0}
 .crm-directory-kpis,.crm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .crm-directory-kpis article,.crm-kpis article{min-width:0;overflow-wrap:anywhere}
 .crm-contacts-intro{flex-wrap:wrap;gap:14px}
 .crm-contacts-intro .crm-actions{margin-left:0}
 .crm-widget-catalog-grid{grid-template-columns:minmax(0,1fr)}
 .crm-quick-account-fields{grid-template-columns:minmax(0,1fr)}
 .crm-person-top>div{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:380px){
 .auth-page{padding:12px 8px}
 .auth-right{padding:10px}
 .login-box{padding:22px 16px;border-radius:18px}
 .login-box h2{font-size:calc(25px * var(--business-font-scale,1))}
 .crm-toolbar,.crm-directory-filters,.crm-directory-kpis,.crm-kpis{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:760px) and (min-width:801px){
 .auth-page{padding:18px}
 .auth-left{gap:20px;padding:26px}
 .auth-left .hero h1{margin:18px 0}
 .auth-right{padding:24px}
 .login-box{padding:24px 28px}
 .login-logo{max-height:76px;margin-bottom:16px}
 .login-box>p{margin-bottom:16px}
}
