/* Focused layout fixes for responsive portal forms and authentication. */
.password-control{position:relative;display:block;min-width:0;width:100%}
.password-control>.input{width:100%;padding-right:48px!important}
.password-control__toggle{position:absolute;right:5px;top:50%;z-index:2;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:var(--text-400)}
.password-control__toggle:hover,.password-control__toggle.is-revealed{color:var(--accent);background:var(--surface-2)}
.password-control__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;align-items:start}
.settings-fields .settings-field--wide{grid-column:1/-1}
.settings-fields .field,.settings-fields .input,.settings-fields .select,.settings-fields .textarea{min-width:0}
.settings-fields .label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 12px;line-height:1.45}
.settings-field__key{max-width:100%;color:var(--text-500);font:600 .7rem/1.4 var(--font-mono);overflow-wrap:anywhere;text-align:right}
.field,.form-grid>*,.form-row>*,.phone-field>*{min-width:0}
.input,.select,.textarea{max-width:100%;min-width:0}
body.auth{min-height:100svh;align-items:center;padding:clamp(16px,3vw,36px)}
.auth-grid{width:min(1080px,100%);grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr)}
.auth-aside,.auth-form-side{min-width:0}
.auth-form-side{max-height:min(900px,calc(100svh - 48px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.auth-form-side{background:linear-gradient(160deg,var(--card-deep-1),var(--card-deep-2));}
.auth-form-side .field{width:100%}
.auth-form-side .input{min-height:48px}
.auth-steps{width:100%}
html.js-off .auth-step{display:flex}
html.js-off [data-auth-next]{display:none}
html.js-off .step-panel{display:block}
html.js-off [data-wizard-next],
html.js-off [data-wizard-back]{display:none!important}
html.js-off .wizard__nav [data-wizard-submit]{display:inline-flex!important}
.auth-theme{position:absolute;top:18px;right:20px;z-index:4}
[data-theme="light"] .auth-form-side{background:linear-gradient(160deg,#fff,#f6f8fd);}
[data-theme="light"] .auth-grid{background:#fff;border-color:rgba(15,23,42,.12);box-shadow:0 30px 90px -46px rgba(15,23,42,.42)}
/* Light theme controls use a soft inset surface, never a stark white slab. */
[data-theme="light"] .field,
[data-theme="light"] .field > label,
[data-theme="light"] .field > .label { background: transparent; }
[data-theme="light"] .input,
[data-theme="light"] .select,
[data-theme="light"] .textarea,
[data-theme="light"] input[type="date"],
[data-theme="light"] input[type="datetime-local"],
[data-theme="light"] input[type="time"],
[data-theme="light"] input[type="number"],
[data-theme="light"] input[type="search"] {
  background-color: #f1f4f8;
  border-color: #d7dee8;
  color: #162235;
  box-shadow: inset 0 1px 2px rgba(26, 43, 68, .035);
}
[data-theme="light"] .input:hover,
[data-theme="light"] .select:hover,
[data-theme="light"] .textarea:hover { background-color: #edf1f6; border-color: #bdc9d8; }
[data-theme="light"] .input:focus,
[data-theme="light"] .select:focus,
[data-theme="light"] .textarea:focus,
[data-theme="light"] input[type="date"]:focus,
[data-theme="light"] input[type="datetime-local"]:focus,
[data-theme="light"] input[type="time"]:focus,
[data-theme="light"] input[type="number"]:focus,
[data-theme="light"] input[type="search"]:focus {
  background-color: #e9eef5;
  border-color: color-mix(in srgb, var(--accent) 55%, #aab7c9);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent), inset 0 1px 2px rgba(26,43,68,.025);
}
[data-theme="light"] .input::placeholder,
[data-theme="light"] .textarea::placeholder { color: #748197; opacity: 1; }
.auth-form-side .auth-steps,.auth-form-side .demo-accounts,.demo-chip{min-width:0}
.demo-chip code{min-width:0;overflow-wrap:anywhere}
@media(max-width:860px){.auth-grid{grid-template-columns:minmax(0,1fr);width:min(560px,100%)}.auth-aside{display:none}.auth-form-side{max-height:calc(100svh - 32px);padding:clamp(24px,7vw,38px)}}

/* Public contact section and shared narrow-screen guardrails. */
.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}
.contact-layout>*{min-width:0}
.contact-layout .card strong{overflow-wrap:anywhere}

@media(max-width:1100px){
  .contact-layout{grid-template-columns:minmax(0,1fr)}
  .contact-layout>[data-reveal]{width:100%}
}

@media(max-width:720px){
  .wa-float{left:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:50px;height:50px;padding:0;justify-content:center;background:#087c57;border-color:rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(0,0,0,.24);z-index:120}
  .wa-float>span.wa-float__icon{display:grid;width:36px;height:36px;background:transparent;color:#fff}
  .wa-float__icon svg{width:24px;height:24px}
  .wa-float>span:not(.wa-float__icon){display:none}
  .to-top{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:120}
  .mobile-menu__panel{height:100%;height:100dvh;padding:calc(16px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .mobile-menu__links{padding-bottom:8px}
  .mobile-menu__foot{margin-top:auto}
  .app-shell,.app-main,.app-content,.panel,.card,.content-grid>*{min-width:0}
  .app-shell,.app-main{width:100%;max-width:100%;overflow-x:clip}
  .app-content{padding:16px 14px calc(32px + env(safe-area-inset-bottom))}
  .topbar{gap:9px;padding:8px 12px;min-height:58px}
  .topbar__toggle{flex:none}
  .crumbs{flex:1;overflow:hidden}
  .topbar__actions{gap:5px}
  .topbar__actions>.icon-btn,.topbar__actions>.dropdown>.icon-btn{width:36px;height:36px}
  .table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .page-head{align-items:flex-start;gap:12px}
  .page-head__actions{width:100%;flex-wrap:wrap}
  .toolbar,.toolbar form{max-width:100%;flex-wrap:wrap}
  .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain}
  .tabs>*{flex:none}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .form-grid .span-2{grid-column:1/-1}
  .panel__head,.panel__foot{gap:10px;flex-wrap:wrap}
  .panel__head>*{min-width:0}
  .dropdown__panel{max-width:calc(100vw - 24px)}
}

@media(max-width:560px){
  .contact-layout{gap:24px!important}
  .contact-layout>.card{padding:20px!important}
  .contact-layout .form-grid{grid-template-columns:minmax(0,1fr)}
  .contact-layout .form-grid .span-2{grid-column:1}
  .contact-layout .textarea{min-height:140px}
  .contact-layout h2{font-size:clamp(1.8rem,8vw,2.5rem);line-height:1.1}
  .contact-layout .lead{font-size:1rem;line-height:1.65}
  .contact-layout .card.row{align-items:flex-start;max-width:100%}
  .contact-layout .card.row>span:last-child{min-width:0;overflow-wrap:anywhere}
  .nav{gap:8px}
  .nav__inner{gap:8px}
  .nav__actions{gap:6px;flex:none}
  .nav__login{width:38px;height:38px;justify-content:center;padding:8px}
  .brand{gap:8px}
  .brand__text{min-width:0}
  .app-content{padding-inline:12px}
  .page-head__actions>.btn{flex:1 1 auto}
  .pipeline{grid-template-columns:minmax(0,1fr)}
  body.auth{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));}
  .auth-grid{width:100%;margin:8px 0;border-radius:20px}
  .auth-form-side{padding:64px 18px 22px;min-height:calc(100svh - 36px)}
}

@media(max-width:420px){
  .nav__login{display:none}
  .nav .brand__tag{letter-spacing:.14em}
  .nav .brand__name{font-size:.98rem}
  .theme-toggle{padding:2px}
  .topbar{gap:7px;padding-inline:9px}
  .topbar__actions{gap:3px}
  .topbar__actions>.icon-btn,.topbar__actions>.dropdown>.icon-btn{width:34px;height:34px}
  .topbar__toggle{width:36px;height:36px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi{padding:12px}
  .kpi__value{font-size:1.25rem}
  .auth-form-side{padding-inline:15px}
}
