/* SENARO — display-only layout refinements. No APIs, behavior or form fields changed. */
html{ -webkit-text-size-adjust:100%; }
body[class^="sec-"]{ min-width:0; }
body[class^="sec-"] img,body[class^="sec-"] video{ max-width:100%; }
body[class^="sec-"] button,body[class^="sec-"] input,body[class^="sec-"] select,body[class^="sec-"] textarea{box-sizing:border-box;max-width:100%;}
body[class^="sec-"] button,body[class^="sec-"] .btn,body[class^="sec-"] a.btn{line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere;}
body[class^="sec-"] :is(h1,h2,h3,p,small,strong,span,label){overflow-wrap:break-word;}
body[class^="sec-"] :is(.card,.wrap,.grid,.field,.hero,.main-content,.container,.right,.panel,.details,.top,.content-box){min-width:0;}
body[class^="sec-"] :is(input,textarea,select,button,a):focus-visible{outline:3px solid #65b9ff;outline-offset:2px;}
body[class^="sec-"] :is(button,.btn){touch-action:manipulation;}

/* Teacher review screen: real full-width segmented buttons, readable form, no horizontal scroll. */
.sec-review .top{padding-inline:max(16px,calc((100vw - 860px)/2));min-height:68px;height:auto;}
.sec-review .top a{min-width:0;line-height:1.25;min-height:68px;}
.sec-review .top img{flex:none;}
.sec-review .wrap{width:min(100%,860px);}
.sec-review .hero{grid-template-columns:88px minmax(0,1fr);}
.sec-review .hero>div:last-child{min-width:0;}
.sec-review .hero h1{line-height:1.16;overflow-wrap:anywhere;}
.sec-review .intro h2{line-height:1.2;}
.sec-review .type-switch{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.sec-review .type-switch>div{min-width:0;display:flex;position:relative;}
.sec-review .type-switch label{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;line-height:1.3;gap:6px;overflow-wrap:anywhere;transition:background .16s ease,border-color .16s ease;}
.sec-review .type-switch input{display:block!important;position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none;}
.sec-review .type-switch input:focus-visible+label{outline:3px solid #8cc6fb;outline-offset:3px;}
.sec-review .grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
.sec-review .grid>.grid{min-width:0;}
.sec-review .field{min-width:0;line-height:1.45;}
.sec-review .field input,.sec-review .field textarea,.sec-review .field select{min-height:46px;font-size:16px;line-height:1.45;}
.sec-review .field textarea{min-height:138px;}
.sec-review input[type=date]{min-width:0;}
.sec-review .stars{align-items:center;min-height:54px;max-width:100%;}
.sec-review .stars label{display:inline-flex;align-items:center;justify-content:center;min-width:0;width:clamp(39px,8.2vw,53px);height:52px;font-size:clamp(33px,8vw,42px);}
.sec-review .stars input{display:block!important;position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none;}
.sec-review .stars input:focus-visible+label{outline:2px solid #67b8ff;outline-offset:1px;border-radius:8px;}
.sec-review form>label:has(input[type=checkbox]){align-items:flex-start!important;}
.sec-review input[type=checkbox]{width:19px!important;min-width:19px;min-height:19px;margin-top:2px!important;flex:0 0 auto;accent-color:#0759a8;}
.sec-review .btn{min-height:47px;gap:8px;}
.sec-review .submit{min-height:52px;}
.sec-review .verified-note{max-width:70ch;margin-inline:auto;}

/* Public class registration and student review carousel */
.sec-registration .hero{grid-template-columns:104px minmax(0,1fr) auto;}
.sec-registration .hero .avatar{flex-shrink:0;}
.sec-registration .hero-main,.sec-registration .fee{min-width:0;}
.sec-registration .teacher-link{max-width:100%;overflow-wrap:anywhere;white-space:normal;}
.sec-registration .review-summary{flex-wrap:wrap;}
.sec-registration .free-banner{flex-wrap:wrap;}
.sec-registration .section-nav{display:flex;flex-wrap:wrap;align-items:stretch;}
.sec-registration .nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:43px;}
.sec-registration .grid,.sec-registration .about-grid,.sec-registration .prep-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.sec-registration :is(input,select,textarea){font-size:16px;min-height:44px;}
.sec-registration input[type=checkbox],.sec-registration input[type=radio]{min-height:unset;}
.sec-registration .actions{align-items:stretch;flex-wrap:wrap;}
.sec-registration .actions .btn,.sec-registration .cta-row .btn{min-height:46px;}
.sec-registration .class-summary{grid-template-columns:repeat(4,minmax(0,1fr));}
.sec-registration .review-card{max-width:calc(100vw - 36px);}
.sec-registration .review-track:focus-within{animation-play-state:paused;}
.sec-registration .studentid{max-width:100%;overflow-wrap:anywhere;white-space:normal;font-size:clamp(17px,4.5vw,24px);}

/* Marketing landing page & class cards */
.sec-home .container,.sec-seminars .container,.sec-privacy .container{min-width:0;}
.sec-home .nav,.sec-home .hero-grid,.sec-home .hero-grid>*,.sec-home .split>*,.sec-home .class-showcase-grid>*{min-width:0;}
.sec-home .class-showcase-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));}
.sec-home .public-class-card{min-width:0;}
.sec-home .class-card-cover{min-width:0;}
.sec-home .cover-copy{min-width:0;flex:1 1 auto;}
.sec-home .class-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.sec-home .hero-actions .btn,.sec-home .nav-actions .btn{min-height:46px;}
.sec-home .showcase-heading-row{flex-wrap:wrap;}
.sec-home .registration-cta>a{min-width:0;}
.sec-home .seminar-body{min-width:0;}
.sec-home .seminar-meta{grid-template-columns:repeat(2,minmax(0,1fr));}

/* Seminar, privacy and Mathematics-50 marketing pages */
.sec-seminars .seminar-grid,.sec-seminars .sem-card,.sec-privacy .policy-card{min-width:0;}
.sec-seminars .sem-content,.sec-privacy .policy-section,.sec-math50 .form-card{min-width:0;}
.sec-seminars .sem-btn,.sec-privacy .btn-header-register,.sec-math50 .submit-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;}
.sec-math50 .page-wrapper,.sec-math50 .container,.sec-math50 .row,.sec-math50 .form-card{max-width:100%;min-width:0;}
.sec-math50 :is(input,select,textarea){min-width:0;max-width:100%;}

/* Payment, OTP verification, join class, follow-up, post-class feedback */
.sec-join .c,.sec-payment .c{max-width:min(100%,680px);}
.sec-payment .classrow,.sec-payment .classrow>*{min-width:0;}
.sec-payment .classrow .state{white-space:normal;text-align:center;}
.sec-payment .details{grid-template-columns:repeat(2,minmax(0,1fr));}
.sec-payment .field input[type=file]{line-height:1.5;}
.sec-payment .wrap,.sec-join .wrap,.sec-feedback .wrap,.sec-followup .wrap{width:min(100%,860px);}
.sec-followup .grid,.sec-feedback .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.sec-feedback .stars{max-width:100%;}
.sec-join :is(input,select,textarea),.sec-payment :is(input,select,textarea),.sec-followup :is(input,select,textarea){font-size:16px;}
.sec-return .join-again{max-width:100%;}

/* Operational admin consoles: tablet wrap, form grids, action rows, stable modal */
.sec-admin-attendance .wrap,.sec-admin-templates .wrap{width:100%;}
.sec-admin-attendance .top,.sec-admin-templates .top{flex-wrap:wrap;}
.sec-admin-attendance .top>*,.sec-admin-templates .top>*{min-width:0;}
.sec-admin-attendance .stats{grid-template-columns:repeat(5,minmax(0,1fr));}
.sec-admin-attendance .filters,.sec-admin-attendance .grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.sec-admin-attendance .grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.sec-admin-attendance .actions,.sec-admin-templates .actions{align-items:center;gap:9px;flex-wrap:wrap;}
.sec-admin-attendance .tab,.sec-admin-templates .btn{min-height:40px;}
.sec-admin-attendance .tablewrap,.sec-admin-templates .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sec-admin-attendance .modal{max-height:100dvh;overflow-y:auto;align-items:safe center;}
.sec-admin-attendance .modalbox{max-height:calc(100dvh - 32px);overflow-y:auto;}
.sec-admin-templates .grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr);}
.sec-admin-templates .details{grid-template-columns:repeat(3,minmax(0,1fr));}
.sec-admin-templates .diag-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);}
.sec-admin-templates .wa-shell{max-width:100%;}
.sec-admin-templates .wa-chat{min-height:240px;overflow-wrap:anywhere;}

/* Zoom admin: do not restyle the Zoom SDK; adapt only SENARO's surrounding shell. */
.sec-admin-zoom .top{min-width:0;}
.sec-admin-zoom .top .field,.sec-admin-zoom .composer,.sec-admin-zoom .composer input{min-width:0;}
.sec-admin-zoom .person{grid-template-columns:minmax(0,1fr) auto auto;}
.sec-admin-zoom .media-toggle{min-height:36px;height:auto;}

/* Teacher portal: responsive dashboard with horizontal document-editor scrolling. */
.sec-teacher #mobile-blocker{display:none!important;}
.sec-teacher .main-content,.sec-teacher .login-card,.sec-teacher .card-panel{min-width:0;max-width:100%;}
.sec-teacher .data-grid,.sec-teacher .class-info-grid,.sec-teacher .grid-2{min-width:0;}
.sec-teacher .modern-table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sec-teacher .word-ui{max-width:100%;min-width:0;}
.sec-teacher .word-workspace{max-width:100%;overflow-x:auto;align-items:flex-start;}
.sec-teacher .word-workspace .paper-canvas{flex:0 0 auto;}

/* Tablet */
@media(max-width:1024px){
 .sec-home .registration-cta{grid-template-columns:minmax(0,1fr) auto;}
 .sec-admin-attendance .stats{grid-template-columns:repeat(3,minmax(0,1fr));}
 .sec-admin-attendance .filters,.sec-admin-attendance .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .sec-admin-templates .grid{grid-template-columns:1fr;}
 .sec-admin-templates .wa-shell{position:static;}
 .sec-teacher .main-content{max-width:100%;}
}
@media(max-width:780px){
 .sec-review .wrap,.sec-registration .wrap{margin-top:16px;margin-bottom:38px;padding-inline:14px;}
 .sec-review .hero{padding:18px;gap:14px;grid-template-columns:72px minmax(0,1fr);border-radius:20px;}
 .sec-review .teacher-photo{width:70px;height:70px;}
 .sec-review .hero h1{font-size:clamp(20px,5vw,25px);}
 .sec-review .card,.sec-registration .card{border-radius:18px;padding:20px;}
 .sec-review .grid,.sec-registration .grid,.sec-registration .about-grid,.sec-registration .prep-grid{grid-template-columns:1fr;}
 .sec-review .full,.sec-registration .full,.sec-registration .about-box.full{grid-column:1/-1;}
 .sec-registration .hero{grid-template-columns:80px minmax(0,1fr);gap:14px;}
 .sec-registration .avatar{width:78px;height:78px;}
 .sec-registration .fee{grid-column:1/-1;text-align:left;}
 .sec-registration .class-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
 .sec-registration .class-summary>div:nth-child(2){border-right:none;}
 .sec-registration .section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .sec-registration .section-nav .nav-btn{width:100%;}
 .sec-home .seminar-meta{grid-template-columns:1fr;}
 .sec-home .class-details-grid{grid-template-columns:1fr;}
 .sec-payment .details,.sec-followup .grid,.sec-feedback .grid{grid-template-columns:1fr;}
 .sec-admin-attendance .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
 .sec-admin-templates .details,.sec-admin-templates .diag-summary{grid-template-columns:1fr;}
 .sec-admin-templates .wa-chat{min-height:260px;}
 .sec-teacher .data-grid,.sec-teacher .class-info-grid,.sec-teacher .grid-2{grid-template-columns:1fr!important;}
 .sec-teacher .page-header{flex-wrap:wrap;gap:12px;}
 .sec-teacher .login-wrapper,.sec-teacher .main-area{max-width:100%;min-width:0;}
 .sec-teacher .paper-canvas{transform:none!important;margin-bottom:0!important;}
}
/* Compact mobile */
@media(max-width:560px){
 body:is(.sec-review,.sec-registration,.sec-feedback,.sec-followup,.sec-payment,.sec-join){font-size:14px;}
 .sec-review .top,.sec-registration .top{padding-inline:14px;min-height:62px;height:auto;}
 .sec-review .top a,.sec-registration .top a{min-height:62px;font-size:12px;line-height:1.2;}
 .sec-review .top img,.sec-registration .top img{width:36px;height:36px;}
 .sec-review .hero{grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px;}
 .sec-review .teacher-photo{width:58px;height:58px;border-radius:15px;}
 .sec-review .hero h1{font-size:19px;}
 .sec-review .hero p{font-size:12px;}
 .sec-review .card,.sec-registration .card{padding:17px;margin-top:13px;}
 .sec-review .intro h2{font-size:clamp(20px,5.5vw,24px);}
 .sec-review .intro p{font-size:13px;line-height:1.6;}
 .sec-review .type-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;}
 .sec-review .type-switch label{padding:11px 8px;min-height:53px;font-size:12px;border-radius:12px;}
 .sec-review .stars{justify-content:space-between;gap:1px;}
 .sec-review .stars label{width:20%;height:47px;font-size:clamp(29px,8vw,38px);}
 .sec-review .field{font-size:12px;}
 .sec-review .verified-note{font-size:11px;}
 .sec-registration .hero{grid-template-columns:62px minmax(0,1fr);}
 .sec-registration .avatar{width:62px;height:62px;border-width:2px;}
 .sec-registration .hero h1{font-size:clamp(18px,5.6vw,23px);}
 .sec-registration .fee strong{font-size:23px;}
 .sec-registration .review-summary{font-size:12px;}
 .sec-registration .section-head h2{font-size:23px;line-height:1.2;}
 .sec-registration .free-banner{align-items:flex-start;gap:9px;padding:13px;}
 .sec-registration .free-badge{white-space:normal;}
 .sec-registration .class-summary{grid-template-columns:1fr;}
 .sec-registration .class-summary>div{border-right:0!important;border-bottom:1px solid #d6e2ee;padding-bottom:8px;}
 .sec-registration .class-summary>div:last-child{border-bottom:0;}
 .sec-registration .actions{flex-direction:column;}
 .sec-registration .actions .btn,.sec-registration .cta-row .btn{width:100%;}
 .sec-home .container{width:min(100% - 28px,1180px);}
 .sec-home .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;}
 .sec-home .hero-actions .btn{width:100%;}
 .sec-home .class-showcase{padding-block:52px;}
 .sec-home .showcase-heading-row{gap:14px;}
 .sec-home .registration-cta{grid-template-columns:1fr;padding:20px;}
 .sec-home .registration-cta .btn{width:100%;}
 .sec-home .class-card-cover{gap:8px;padding:16px;}
 .sec-home .cover-copy .grade-pill,.sec-home .cover-copy .mode-pill{white-space:normal;text-align:center;padding:6px 8px;font-size:11px;}
 .sec-home .teacher-photo-wrap{width:78px;height:78px;flex-basis:78px;border-radius:16px;}
 .sec-home .card-bottom{display:grid;grid-template-columns:1fr;gap:12px;}
 .sec-home .register-class-btn{min-height:47px;}
 .sec-payment,.sec-followup{padding-inline:12px;}
 .sec-payment .classrow{grid-template-columns:22px minmax(0,1fr);align-items:start;}
 .sec-payment .classrow .state{grid-column:2;justify-self:start;}
 .sec-payment .card,.sec-followup .card{padding:16px;}
 .sec-join .c,.sec-join .wrap{padding-inline:12px;}
 .sec-feedback .card{padding:18px;}
 .sec-admin-attendance,.sec-admin-templates{padding:12px;}
 .sec-admin-attendance .top h1,.sec-admin-templates .top h1{font-size:21px;}
 .sec-admin-attendance .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .sec-admin-attendance .stat{padding:10px;}
 .sec-admin-attendance .stat strong{font-size:22px;}
 .sec-admin-attendance .filters,.sec-admin-attendance .grid,.sec-admin-attendance .grid.two{grid-template-columns:1fr;}
 .sec-admin-attendance .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 .sec-admin-attendance .tab{white-space:normal;}
 .sec-admin-attendance .actions .btn,.sec-admin-templates .actions .btn{flex:1 1 auto;}
 .sec-admin-attendance .modal{padding:10px;}
 .sec-admin-attendance .modalbox{width:100%;padding:14px;max-height:calc(100dvh - 20px);}
 .sec-admin-templates .card{padding:12px;}
 .sec-admin-templates .uploadbox{align-items:flex-start;}
 .sec-admin-templates .wa-head{height:auto;min-height:54px;}
 .sec-admin-zoom .top{grid-template-columns:minmax(0,1fr) auto;width:100%;}
 .sec-admin-zoom .top .btn{padding-inline:9px;font-size:12px;}
 .sec-admin-zoom .host-media-controls{right:6px;bottom:6px;left:6px;justify-content:center;gap:5px;}
 .sec-admin-zoom .media-toggle{padding:7px 8px;font-size:11px;}
 .sec-admin-zoom .composer{grid-template-columns:minmax(0,1fr) auto;}
 .sec-admin-zoom .composer button{padding-inline:9px;}
 .sec-teacher .main-content{padding-inline:12px!important;}
 .sec-teacher .login-card{padding:20px!important;}
 .sec-teacher .word-workspace{padding:12px;}
 .sec-teacher .page-header h1{font-size:clamp(20px,5.8vw,30px);}
}
@media(max-width:360px){
 .sec-review .hero{grid-template-columns:1fr;text-align:center;justify-items:center;}
 .sec-review .type-switch label{font-size:11px;padding-inline:5px;}
 .sec-registration .section-nav{grid-template-columns:1fr;}
 .sec-home .class-card-cover{flex-wrap:wrap;}
 .sec-admin-attendance .tabs{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
 body[class^="sec-"] :is(.btn,button,a,.public-class-card){transition-duration:.01ms!important;}
 .sec-registration .review-track{animation:none!important;}
}

/* Review form – standalone fieldset avoids invalid nested labels and keeps stars tap-friendly. */
.sec-review .rating-field{border:0;padding:0;margin:0;min-width:0;}
.sec-review .rating-field legend{padding:0;margin:0 0 8px;font-size:12px;font-weight:850;color:#40536a;}
.sec-review .required-star{color:#d43535;}
.sec-review .rating-status{margin-top:5px;font-size:12px;font-weight:650;color:#526d89;min-height:20px;}
.sec-review .experience-field{min-width:0;}
.sec-review .experience-field>label{display:block;margin-bottom:7px;}
.sec-review .experience-field textarea{display:block;box-sizing:border-box;width:100%;min-height:140px;max-width:100%;border:1px solid #cbd9e7;border-radius:12px;padding:12px 13px;font:inherit;font-size:16px;line-height:1.5;color:#122a45;background:#fff;resize:vertical;}
.sec-review .experience-field textarea:focus-visible{outline:2px solid #2d8ce7;outline-offset:1px;border-color:#2d8ce7;}
.sec-review .experience-hint{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#62778d;margin-top:7px;}
.sec-review .public-consent input{accent-color:#0759a8;}
.sec-review .stars{isolation:isolate;}
.sec-review .stars label{user-select:none;-webkit-user-select:none;touch-action:manipulation;}
.sec-review .stars input:checked~label{color:var(--gold);}
/* Review ticker remains smooth on touch screens. Hover pausing applies only to pointer devices. */
.sec-registration .review-group{min-width:0;}
.sec-registration .review-group .review-card{flex:0 0 auto;}
@media(hover:none), (pointer:coarse){.sec-registration .marquee-shell:hover .review-track{animation-play-state:running;}}
@media(prefers-reduced-motion:reduce){.sec-registration .marquee-shell{overflow-x:auto;mask-image:none;}.sec-registration .review-track{animation:none!important;}}
