/* KNN LAB V7.3 — login phone only + admin responsive stable shell */
*,*:before,*:after{box-sizing:border-box}
html,body{max-width:100%;margin:0}
.v73-student-login{min-height:100vh;background:radial-gradient(ellipse at 18% 16%,#0c856b 0%,#084a3e 43%,#031e1b 100%);}
.v73-login-only{min-height:calc(100vh - 62px);display:flex;align-items:center;justify-content:center;padding:35px 16px 18px}
.v73-phone-stage{width:100%;max-width:440px;display:flex;align-items:center;justify-content:center}
.v73-phone-stage .phone-scene{width:100%;display:block;margin:0!important;padding:4px!important}
.v73-phone-stage .phone-device{width:min(390px,100%);margin:0 auto;transform:none!important}
.v73-phone-stage .phone-screen{min-height:0;padding-bottom:23px}
.v73-brand-img{width:100%;height:100%;object-fit:contain;display:block;max-width:100%;border-radius:inherit}
.v73-login-footer{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:#c2e5d9}
/* Admin login: phone only, no marketing intro */
body.v6-login .v6-login-shell{min-height:100vh;padding:24px 12px;background:radial-gradient(circle at 30% 10%,#09644f,#062e28 50%,#021916 100%)}
body.v6-login .v6-login-layout{width:100%;display:flex;align-items:center;justify-content:center}
body.v6-login .v6-phone-scene{width:100%;max-width:450px;justify-content:center}
body.v6-login .v6-phone{transform:none!important}
/* Stable desktop: fixed sidebar fills viewport; main area owns scrolling */
body.v6-admin{background:#f1f6f4}
body.v6-admin .app-frame.v6-frame{display:block!important;width:100%!important;min-height:100vh!important;max-width:none!important}
body.v6-admin .app-frame.v6-frame>.sidebar.v6-sidebar{position:fixed!important;z-index:35!important;left:0;top:0;bottom:0;width:260px!important;height:100vh!important;max-height:none!important;overflow-y:auto;display:flex!important;flex-direction:column!important;background:#07332b!important}
body.v6-admin .v73-side-bottom{margin-top:auto;padding:18px 16px 24px;border-top:1px solid rgba(255,255,255,.15)}
body.v6-admin .v73-side-bottom form{margin:0}
body.v6-admin .v73-logout-button{width:100%;min-height:46px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.28);border-radius:12px;color:#fff;font:inherit;font-weight:750;cursor:pointer}
body.v6-admin .v73-logout-button:hover{background:#126d55}
body.v6-admin .app-frame.v6-frame>.app-main{display:flex!important;flex-direction:column!important;min-height:100vh!important;width:auto!important;max-width:none!important;margin-left:260px!important;overflow:visible!important;min-width:0!important}
body.v6-admin .topbar.v6-topbar{flex:0 0 auto;min-width:0}
body.v6-admin .workspace.v6-workspace{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;width:100%!important;max-width:1560px!important;min-width:0!important;margin:0 auto!important;padding:22px 28px!important}
body.v6-admin .workspace.v6-workspace .v6-footer{width:100%!important;margin-top:auto!important;padding:22px 6px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;flex-wrap:wrap;min-height:72px}
body.v6-admin .stats.v6-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
body.v6-admin .v61-overview-grid{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(260px,.9fr)!important;gap:16px!important}
body.v6-admin .panel,body.v6-admin .hero{max-width:100%;min-width:0}
body.v6-admin .scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.v6-admin .v7-user-table{min-width:1020px}
/* Admin settings page */
.v73-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.v73-settings-panel{min-width:0}.v73-settings-panel h2{margin-top:0}
.v73-settings-form{display:grid;gap:14px;margin-top:16px}
.v73-settings-form>label,.v73-settings-form .v73-double label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:750;color:#1d5144;min-width:0}
.v73-settings-form input:not([type=checkbox]),.v73-settings-form textarea,.v73-settings-form select{width:100%;min-height:46px;border-radius:12px;padding:10px 12px;border:1px solid #cddfd8;background:#fbfefd;font:inherit;min-width:0}
.v73-settings-form input[type=file]{padding:10px}
.v73-settings-form input:focus,.v73-settings-form textarea:focus,.v73-settings-form select:focus{outline:2px solid #57bfa0}
.v73-double{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:14px}
.v73-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;padding:12px;border:1px solid #cde9dc;border-radius:12px;background:#f0f9f4}
.v73-check input{width:20px;height:20px}
.v73-save-button,.v73-outline-button{border:0;border-radius:12px;min-height:47px;background:#078467;color:white;font-weight:800;cursor:pointer;padding:12px 15px}
.v73-outline-button{background:#e5f5ed;color:#056a4d;border:1px solid #bedecb}
.v73-test-form{padding-top:18px;border-top:1px solid #dbe9e2}
/* OTP verification */
.v73-otp-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b6956,#021f1a);font-family:Inter,Arial,sans-serif;color:#113d31;padding:20px}
.v73-otp-card{width:min(100%,440px);background:white;padding:34px;border-radius:25px;box-shadow:0 25px 60px #0004}
.v73-otp-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#daf5e7;color:#0b7956;font-size:27px}
.v73-otp-card h1{font-size:26px}.v73-otp-card p{color:#516c62;line-height:1.6}
.v73-otp-card form{margin-top:17px}.v73-otp-card label{display:grid;gap:9px;font-weight:750}
.v73-otp-card input{height:54px;border:1px solid #bdd8cb;border-radius:12px;padding:10px;font:inherit;font-size:22px;letter-spacing:4px;width:100%}
.v73-otp-card button{border:0;background:#0a8666;color:#fff;padding:14px;border-radius:12px;width:100%;font:inherit;font-weight:750;cursor:pointer}
.v73-otp-card button.outline{background:#e5f4ed;color:#12674e}.v73-otp-card a{display:block;text-align:center;margin-top:16px;color:#086e52}
.v73-otp-error{background:#fff1ed;padding:12px;border-radius:9px;color:#8c302d!important}.v73-otp-success{background:#e8f8ec;padding:12px;border-radius:9px;color:#096547!important}
.v73-email-row{display:flex;align-items:end;gap:12px;min-width:0}.v73-email-row .v72-field{flex:1}.v73-email-row small{color:#416f63;font-size:12px;padding-bottom:8px}
@media(max-width:1250px){body.v6-admin .stats.v6-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.v6-admin .v61-overview-grid, .v73-settings-grid{grid-template-columns:1fr!important}}
@media(max-width:920px){
 body.v6-admin .app-frame.v6-frame>.sidebar.v6-sidebar{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;display:block!important}
 body.v6-admin .app-frame.v6-frame>.app-main{margin-left:0!important;width:100%!important;min-height:calc(100vh - 150px)!important}
 body.v6-admin .sidebar .side-nav{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:8px 12px 14px}
 body.v6-admin .sidebar .side-nav a{flex:0 0 auto;white-space:nowrap}
 body.v6-admin .sidebar .side-label{display:none}
 body.v6-admin .v73-side-bottom{padding:8px 15px 15px}
 body.v6-admin .v73-logout-button{max-width:180px}
}
@media(max-width:600px){
 .v73-login-only{padding:10px 9px;min-height:calc(100vh - 65px)}.v73-login-footer{padding:12px;flex-direction:column;text-align:center;gap:4px}
 body.v6-admin .workspace.v6-workspace{padding:14px!important}
 body.v6-admin .stats.v6-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.v6-admin .workspace.v6-workspace .v6-footer{flex-direction:column;gap:4px;text-align:center}
 body.v6-admin .topbar.v6-topbar{padding:14px}
 .v73-double{grid-template-columns:1fr}
 .v73-email-row{flex-direction:column;align-items:stretch}
}
@media(max-width:390px){body.v6-admin .stats.v6-stats{grid-template-columns:1fr!important}}
