.ovc-form,.ovc-dashboard{max-width:980px;margin:20px auto}.ovc-form input:not([type=checkbox]):not([type=radio]),.ovc-form select,.ovc-form textarea{width:100%;max-width:620px;padding:10px;box-sizing:border-box}.ovc-form textarea{min-height:110px}.ovc-form fieldset{margin:18px 0;padding:15px}.ovc-form button,.ovc-button{display:inline-block;background:#2271b1;color:#fff!important;border:0;padding:11px 18px;text-decoration:none;border-radius:4px;cursor:pointer}.ovc-form small{display:block;margin-top:12px}.ovc-notice{padding:14px 16px;background:#eef7ee;border-left:4px solid #2e7d32;margin:15px 0}.ovc-card{border:1px solid #ddd;border-radius:6px;padding:20px;margin:20px 0;background:#fff}.ovc-student-list{padding-left:20px}.ovc-calendar{border:1px solid #ddd;border-radius:6px;overflow:hidden;margin:20px 0}.ovc-calendar-head{display:flex;justify-content:space-between;padding:14px 18px;background:#f6f7f7}.ovc-calendar-head a{margin-left:10px}.ovc-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.ovc-calendar-grid>div{border-right:1px solid #eee;border-bottom:1px solid #eee;min-height:70px;padding:7px;box-sizing:border-box}.ovc-weekdays>div{min-height:auto;background:#f6f7f7;font-weight:600}.ovc-day.empty{background:#fafafa}.ovc-class{font-size:12px;margin-top:6px;padding:5px;background:#eef5ff;border-radius:3px}.ovc-class a{font-weight:600}.ovc-message-card{border-left:4px solid #2271b1}@media(max-width:700px){.ovc-calendar-grid>div{min-height:55px;padding:4px;font-size:12px}.ovc-class{font-size:10px}}
.ovc-form{max-width:980px}.ovc-modern-form{background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06);box-sizing:border-box}.ovc-form-header{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #edf0f2}.ovc-form-header h2{margin:8px 0 8px;font-size:28px;line-height:1.2}.ovc-form-header p{margin:0;color:#68737d}.ovc-form-badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eef7f1;color:#19733e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ovc-modern-form h3{margin:25px 0 14px;font-size:19px}.ovc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ovc-form-grid>p{margin:0}.ovc-field-full{grid-column:1/-1}.ovc-modern-form label{font-weight:600;color:#27313a}.ovc-modern-form input:not([type=checkbox]):not([type=radio]),.ovc-modern-form select,.ovc-modern-form textarea{width:100%;max-width:none;margin-top:7px;border:1px solid #d5dbe0;border-radius:7px;background:#fff;padding:11px 12px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.ovc-modern-form input:not([type=checkbox]):not([type=radio]):focus,.ovc-modern-form select:focus,.ovc-modern-form textarea:focus{border-color:#2271b1;box-shadow:0 0 0 3px rgba(34,113,177,.1);outline:0}.ovc-modern-form textarea{min-height:120px;resize:vertical}.ovc-checkbox-field>span{display:block;font-weight:600;margin-bottom:8px}.ovc-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ovc-checkbox-grid label{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid #e1e5e8;border-radius:7px;background:#fafbfc;font-weight:500}.ovc-checkbox-grid input{margin-top:3px}.ovc-form-footer{margin-top:24px;padding-top:20px;border-top:1px solid #edf0f2}.ovc-terms{display:flex!important;gap:8px;align-items:flex-start;margin-bottom:18px}.ovc-terms input{margin-top:3px}.ovc-modern-form button,.ovc-modern-form .ovc-secondary-button{display:inline-block;border:0;border-radius:7px;padding:12px 18px;background:#2271b1;color:#fff!important;text-decoration:none;font-weight:600;cursor:pointer}.ovc-secondary-button{margin-left:8px;background:#f0f2f4!important;color:#27313a!important}.ovc-notice-error{background:#fff0f0;border-left-color:#b32d2e}.ovc-login-card{max-width:560px;margin:30px auto;background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.ovc-login-card form p{margin:0 0 16px}.ovc-login-card .login-remember{display:flex;gap:8px;align-items:center}.ovc-login-card input[type=text],.ovc-login-card input[type=password]{width:100%;box-sizing:border-box;padding:11px;border:1px solid #d5dbe0;border-radius:7px}.ovc-login-card input[type=submit]{padding:11px 18px;border:0;border-radius:7px;background:#2271b1;color:#fff;font-weight:600}.ovc-dashboard>.ovc-button{margin-bottom:12px}
@media(max-width:700px){.ovc-modern-form{padding:18px}.ovc-form-grid{grid-template-columns:1fr}.ovc-field-full{grid-column:auto}.ovc-checkbox-grid{grid-template-columns:1fr}.ovc-form-header h2{font-size:23px}.ovc-secondary-button{margin:10px 0 0;display:block!important;text-align:center}}

/* v1.4.0 front-end authentication and profile UI */
.ovc-login-form input[type=email],.ovc-login-form input[type=password],.ovc-login-form input[type=text],.ovc-login-card input[type=email],.ovc-login-card input[type=password]{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d5dbe0;border-radius:8px;background:#fff}
.ovc-login-form button{width:100%;margin-top:4px}
.ovc-login-options{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px}.ovc-login-options label{font-weight:500}.ovc-login-options a,.ovc-auth-links a{font-weight:600}.ovc-auth-links{text-align:center;margin:20px 0 0}
.ovc-profile-card{max-width:980px;margin:20px auto;background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.ovc-profile-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid #edf0f2}.ovc-profile-head h2{margin:8px 0 0;font-size:28px}.ovc-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#edf0f2;margin-top:22px;border:1px solid #edf0f2;border-radius:9px;overflow:hidden}.ovc-profile-grid>div{background:#fff;padding:15px 16px;min-height:55px;box-sizing:border-box}.ovc-profile-grid span{display:block;color:#68737d;font-size:12px;font-weight:600;margin-bottom:5px}.ovc-profile-grid strong{font-weight:600;color:#27313a}.ovc-profile-actions{display:flex;align-items:center;gap:10px;margin-top:22px}.ovc-logout-link{display:inline-block;padding:10px 16px;border-radius:7px;color:#b32d2e!important;background:#fff0f0;text-decoration:none;font-weight:600}.ovc-profile-head .ovc-button{white-space:nowrap}
@media(max-width:700px){.ovc-profile-card{padding:18px}.ovc-profile-head{align-items:flex-start;flex-direction:column}.ovc-profile-grid{grid-template-columns:1fr}.ovc-profile-actions{flex-direction:column;align-items:stretch}.ovc-profile-actions .ovc-button,.ovc-profile-actions .ovc-logout-link{text-align:center}.ovc-login-options{align-items:flex-start;flex-direction:column}}
