/* KNN LAB V5 — fixed upright smartphone and responsive portal. */
html,body{max-width:100%;overflow-x:hidden}
.landing-main.v4-home{width:min(1340px,calc(100% - 56px));grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(22px,4vw,65px);padding:35px 0 45px}
.v4-home .landing-copy{min-width:0}
.v4-home .landing-copy h1{font-size:clamp(35px,3.9vw,62px);line-height:1.16;overflow-wrap:anywhere}
.phone-scene{min-width:0;width:100%;padding:15px 0;overflow:visible}
.phone-device,.v4-home .phone-device,.v4-auth-screen .phone-device{transform:none!important;rotate:0deg!important;perspective:none!important;width:min(390px,100%);max-width:100%;margin:0 auto;border:8px solid #193d36;border-radius:48px;padding:13px;background:#101e1c;box-shadow:0 28px 68px rgba(0,0,0,.33),0 0 0 2px #5d8980}
.phone-screen{height:auto;min-height:550px;padding:40px clamp(16px,4vw,27px) 26px;border-radius:33px}
.phone-screen .auth-form input{height:46px;min-width:0}
.phone-screen .auth-form button{min-height:49px}
.phone-screen .notice{margin-bottom:13px}
.captcha-row{display:grid;grid-template-columns:minmax(118px,1fr) minmax(90px,.8fr);gap:10px;align-items:stretch;margin-top:6px}
.captcha-challenge{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 12px;border-radius:11px;border:1px dashed #78b8a5;background:#e7f6f0;color:#075a44;font-size:18px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.auth-form .captcha-row input{margin:0;min-height:46px;width:100%;text-align:center;font-size:17px}
.captcha-help{margin:4px 0 11px!important;font-size:11px!important;color:#738d84!important}
.admin-login-panel .captcha-row{margin-bottom:18px}
.admin-login-panel .captcha-row input{min-height:46px}
.v4-auth-layout{max-width:1100px;width:100%}
@media(max-width:1024px){
 .landing-main.v4-home{grid-template-columns:1fr;gap:14px;width:min(740px,calc(100% - 34px));padding:18px 0 32px}
 .v4-home .landing-copy{text-align:center;order:2}
 .v4-home .landing-copy h1{font-size:clamp(30px,5vw,46px)}
 .v4-home .landing-copy p{margin-left:auto;margin-right:auto}
 .v4-home .mini-points{justify-content:center;flex-wrap:wrap}
 .v4-home .phone-scene{order:1}
 .landing-nav{width:calc(100% - 34px)}
}
@media(max-width:600px){
 .landing-nav{padding:17px 0}
 .landing-main.v4-home{width:calc(100% - 24px);padding:5px 0 20px}
 .phone-scene{padding:4px 0}
 .phone-device,.v4-home .phone-device,.v4-auth-screen .phone-device{width:min(390px,100%);border-radius:37px;border-width:6px;padding:8px}
 .phone-device:after{display:none}
 .phone-speaker{top:4px}
 .phone-screen{padding:35px 17px 19px;min-height:unset;border-radius:27px}
 .phone-screen h2{font-size:23px}
 .v4-home .landing-copy h1{font-size:clamp(28px,7.5vw,36px)}
 .v4-home .landing-copy p{font-size:14px}
 .v4-home .mini-points{gap:8px}
 .v4-home .mini-points span{font-size:11px}
 .v4-auth-screen{padding:12px}
 .admin-login-page{padding:13px}
 .admin-login-panel{padding:26px 20px}
 .captcha-row{grid-template-columns:1fr 1fr;gap:8px}
 .captcha-challenge{font-size:16px}
 .workspace{padding:14px}
 .panel{padding:17px 14px}
 .stats,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .scroll table{min-width:650px}
}
@media(max-width:360px){.captcha-row{grid-template-columns:1fr}.phone-screen{padding:31px 12px 16px}.stats,.metrics{grid-template-columns:1fr}}
