:root{--hw-page-bg: #FBF3E4;--hw-card-bg: #FFFDF8;--hw-info-box-bg: #F3EAD8;--hw-note-box-bg: #F7F1E4;--hw-header-bg: #C4483B;--hw-header-dot: rgba(255, 253, 248, .22);--hw-header-text: #FFF6EC;--hw-header-text-muted: rgba(255, 246, 236, .85);--hw-header-icon-border: rgba(255, 246, 236, .4);--hw-header-icon-bg: rgba(255, 246, 236, .14);--hw-text-primary: #33291F;--hw-text-secondary: #6E6154;--hw-text-muted: #8B7F76;--hw-text-faint: #B5A899;--hw-text-completed: #A2968A;--hw-red: #C4483B;--hw-red-hover: #9E3629;--hw-red-outline-text: #A93C2E;--hw-red-outline-border: rgba(196, 72, 59, .4);--hw-red-outline-bg: #FBEDE9;--hw-red-tag-bg: #F6DCD6;--hw-red-tag-text: #A93C2E;--hw-progress-border: #C4483B;--hw-progress-dot: #A8CE92;--hw-green: #4F7A42;--hw-green-bg: #E4EEDC;--hw-green-text: #4F7A42;--hw-logo-dot: #7FA86A;--hw-border-subtle: rgba(120, 100, 80, .14);--hw-border-medium: rgba(120, 100, 80, .22);--hw-border-strong: rgba(120, 100, 80, .24);--hw-border-dashed: rgba(120, 100, 80, .32);--hw-active-card-shadow: 0 2px 10px rgba(169, 60, 46, .1);--hw-radius-lg: 22px;--hw-radius-md: 16px;--hw-radius-sm: 12px;--hw-font: "Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;--hw-shell-inset: clamp(16px, 4vw, 24px)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;min-width:0;background:var(--hw-page-bg);color:var(--hw-text-primary);font-family:var(--hw-font);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}button,input,select,textarea{font-family:inherit}#root{min-height:100vh;width:100%;min-width:0}.hw-screen{min-height:100vh;min-height:100svh;width:100%;min-width:0;box-sizing:border-box;background:var(--hw-page-bg);display:flex;flex-direction:column}@media (min-width: 481px){.hw-screen{max-width:480px;margin:0 auto}}.hw-header{background:var(--hw-header-bg);background-image:radial-gradient(var(--hw-header-dot) 2px,transparent 2.1px);background-size:17px 17px;padding:max(12px,env(safe-area-inset-top)) var(--hw-shell-inset) 26px;border-radius:0 0 28px 28px;flex:none;width:100%;box-sizing:border-box}.hw-header__brand{display:flex;align-items:center;gap:8px}.hw-header__logo-dot{width:9px;height:9px;border-radius:50%;background:var(--hw-logo-dot);flex:none}.hw-header__brand-name{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--hw-header-text)}.hw-header__menu-button{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--hw-header-icon-border);background:var(--hw-header-icon-bg);display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.hw-header__menu-dots{display:flex;flex-direction:column;gap:3px}.hw-header__menu-dots span{width:3px;height:3px;border-radius:50%;background:var(--hw-header-text)}.hw-header__title{font-size:26px;font-weight:700;color:var(--hw-header-text);letter-spacing:-.02em;margin-top:10px;line-height:1.35;word-break:keep-all}.hw-btn{height:54px;border-radius:16px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;border:none;width:100%;transition:opacity .15s ease}.hw-btn:disabled{opacity:.55;cursor:not-allowed}.hw-btn--primary{background:var(--hw-red);color:var(--hw-header-text)}.hw-btn--primary:not(:disabled):active{background:var(--hw-red-hover)}.hw-btn--outline{height:52px;background:transparent;color:var(--hw-red-outline-text);border:1.5px solid var(--hw-red-outline-border)}.hw-btn--ghost{background:transparent;color:var(--hw-text-secondary);border:1px solid var(--hw-border-medium)}.hw-btn--green{background:var(--hw-green);color:#f6fbf1}.hw-field{display:flex;flex-direction:column;gap:7px}.hw-field__label{font-size:13px;font-weight:700;color:var(--hw-text-secondary)}.hw-field__input,.hw-field__select,.hw-field__textarea{height:54px;border-radius:15px;border:1px solid var(--hw-border-medium);background:var(--hw-card-bg);padding:0 16px;font-size:16px;font-family:inherit;color:var(--hw-text-primary);width:100%}.hw-field__input::placeholder,.hw-field__textarea::placeholder{color:var(--hw-text-faint)}.hw-field__textarea{height:auto;min-height:96px;padding:14px 16px;resize:vertical;line-height:1.5}.hw-field__error{font-size:12px;font-weight:600;color:var(--hw-red-outline-text)}.hw-card{background:var(--hw-card-bg);border-radius:var(--hw-radius-lg);border:1px solid var(--hw-border-subtle);padding:16px}.hw-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:6px}.hw-info-box{display:flex;gap:10px;align-items:flex-start;background:var(--hw-info-box-bg);border:1px solid var(--hw-border-subtle);border-radius:15px;padding:14px}.hw-info-box__icon{width:18px;height:18px;border-radius:50%;background:var(--hw-green-bg);color:var(--hw-green-text);font-size:11px;font-weight:700;display:grid;place-items:center;flex:none;margin-top:1px}.hw-info-box__text{font-size:13px;line-height:1.6;color:var(--hw-text-secondary)}.hw-subheader{display:flex;align-items:center;gap:12px;padding:max(14px,env(safe-area-inset-top)) var(--hw-shell-inset) 14px;background:var(--hw-page-bg);flex:none;width:100%;box-sizing:border-box}.hw-subheader__back{width:36px;height:36px;border-radius:50%;border:1px solid var(--hw-border-medium);background:var(--hw-card-bg);color:var(--hw-text-primary);display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1;flex:none;padding:0}.hw-subheader__title{font-size:18px;font-weight:700;color:var(--hw-text-primary)}.hw-form-error{background:var(--hw-red-outline-bg);border:1px solid var(--hw-red-outline-border);color:var(--hw-red-outline-text);border-radius:13px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5}.student-login__hero{padding-bottom:34px}.student-login__hero .hw-header__title{font-size:26px;margin-top:44px}.student-login__form{padding:26px var(--hw-shell-inset) 0;display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box}.student-login__submit{margin-top:8px}.student-login__recover-highlight{color:var(--hw-green-text)}.student-login__footer{margin-top:auto;padding:20px var(--hw-shell-inset) max(20px,env(safe-area-inset-bottom));text-align:center;font-size:11px;color:var(--hw-text-faint);width:100%;box-sizing:border-box}.student-login__footer a{color:inherit;text-decoration:underline}.student-signup__form{padding:4px var(--hw-shell-inset) max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box}.student-signup__submit{margin-top:8px}.student-signup__teacher-status{margin:-4px 0 0;font-size:13px;font-weight:600;color:var(--hw-text-muted)}.student-signup__teacher-status--ok{color:var(--hw-green-text)}.student-signup__teacher-status--error{color:var(--hw-red-outline-text)}.student-signup__footer{margin:20px 0 0;padding:0 var(--hw-shell-inset) max(20px,env(safe-area-inset-bottom));text-align:center;font-size:11px}.student-signup__footer a{color:var(--hw-text-faint);text-decoration:underline}.student-home-header{padding-bottom:26px}.active-homework-card{border-radius:var(--hw-radius-lg);background:var(--hw-card-bg);border:2px solid var(--hw-progress-border);padding:17px;box-shadow:var(--hw-active-card-shadow)}.active-homework-card__top{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.active-homework-card__badge{background:var(--hw-red);color:var(--hw-header-text)}.active-homework-card__badge-dot{width:6px;height:6px;border-radius:50%;background:var(--hw-progress-dot)}.active-homework-card__elapsed{margin-left:auto;font-size:13px;font-weight:600;color:var(--hw-text-muted)}.active-homework-card__elapsed--clock{font-variant-numeric:tabular-nums;letter-spacing:.02em}.homework-card__subject{font-size:12px;font-weight:600;color:var(--hw-text-muted);margin-bottom:4px}.homework-card__content{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.01em;color:var(--hw-text-primary);word-break:keep-all}.homework-card__due{font-size:13px;font-weight:500;color:var(--hw-text-secondary);margin-top:6px}.homework-card__due--overdue{color:var(--hw-red-outline-text)}.homework-card__due-faint{color:var(--hw-text-faint)}.homework-card__actions{display:flex;gap:10px;margin-top:16px}.homework-card__edit-btn{padding:0 12px;border:none;background:transparent;color:var(--hw-text-faint);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;flex:none}.homework-card__edit-btn:disabled{opacity:.5;cursor:not-allowed}.active-homework-card__pause-btn,.active-homework-card__complete-btn{flex:1;height:48px;border-radius:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}.active-homework-card__pause-btn{border:1px solid var(--hw-red-outline-border);background:var(--hw-red-outline-bg);color:var(--hw-red-outline-text)}.active-homework-card__complete-btn{border:none;background:var(--hw-red);color:var(--hw-header-text)}.active-homework-card__pause-btn:disabled,.active-homework-card__complete-btn:disabled{opacity:.55;cursor:not-allowed}.todo-homework-card{background:var(--hw-card-bg);border-radius:20px;padding:16px;border:1px solid var(--hw-border-subtle)}.todo-homework-card--overdue{border-color:#c4483b57}.todo-homework-card--due-today{border-left:3px solid var(--hw-red)}.todo-homework-card__top{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.todo-homework-card__badge--overdue{background:var(--hw-red-tag-bg);color:var(--hw-red-tag-text)}.todo-homework-card__badge--paused{background:var(--hw-green-bg);color:var(--hw-green-text)}.hw-badge--due-today{background:transparent;border:1px solid var(--hw-red-outline-border);color:var(--hw-red-outline-text)}.todo-homework-card .homework-card__content{font-size:17px}.todo-homework-card .homework-card__actions{margin-top:14px}.todo-homework-card__primary-btn{flex:1;height:46px;border:none;background:var(--hw-red);color:var(--hw-header-text);border-radius:13px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}.todo-homework-card__primary-btn--resume{background:var(--hw-green);color:#f6fbf1}.todo-homework-card__primary-btn:disabled,.todo-homework-card__secondary-btn:disabled{opacity:.55;cursor:not-allowed}.todo-homework-card__secondary-btn{width:96px;height:46px;border:1px solid var(--hw-border-strong);background:transparent;color:var(--hw-text-secondary);border-radius:13px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;flex:none}.completed-homework-card{display:flex;align-items:center;gap:12px;background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:16px;padding:14px}.completed-homework-card__check{width:22px;height:22px;border-radius:50%;background:var(--hw-green-bg);color:var(--hw-green-text);font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}.completed-homework-card__body{flex:1;min-width:0}.completed-homework-card__subject{font-size:11px;font-weight:600;color:var(--hw-text-completed)}.completed-homework-card__content{font-size:14px;font-weight:600;color:var(--hw-text-secondary);line-height:1.4;word-break:keep-all}.completed-homework-card__meta{font-size:12px;color:var(--hw-text-completed);margin-top:2px}.completed-homework-card .homework-card__edit-btn{height:44px}.completed-homework-card__cancel-btn{height:44px;padding:0 12px;border:1px solid var(--hw-border-medium);background:transparent;color:var(--hw-text-muted);border-radius:12px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;flex:none}.completed-homework-card__cancel-btn:disabled{opacity:.55;cursor:not-allowed}.empty-homework-state{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:var(--hw-radius-lg);padding:34px 20px;text-align:center}.empty-homework-state__dots{display:flex;justify-content:center;gap:7px;margin-bottom:16px}.empty-homework-state__dot{width:8px;height:8px;border-radius:50%}.empty-homework-state__dot--red-1{background:#c4483b59}.empty-homework-state__dot--red-2{background:#c4483b38}.empty-homework-state__dot--green{background:#4f7a424d}.empty-homework-state__title{font-size:17px;font-weight:700;color:var(--hw-text-primary)}.empty-homework-state__desc{font-size:13px;line-height:1.6;color:var(--hw-text-muted);margin-top:8px}.add-personal-homework-btn{width:100%;height:50px;border:1px dashed var(--hw-border-dashed);background:transparent;color:var(--hw-text-muted);border-radius:15px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer}.add-personal-homework-btn:active{background:#7864500f}.student-home__content{padding:22px var(--hw-shell-inset) 8px;flex:1;width:100%;box-sizing:border-box}.student-home__push-banner-wrap{padding:16px var(--hw-shell-inset) 0}.student-home__push-banner-actions{display:flex;gap:12px;margin-top:8px}.student-home__push-banner-enable{background:transparent;border:none;padding:0;font:inherit;font-weight:700;color:var(--hw-green-text);cursor:pointer}.student-home__push-banner-dismiss{background:transparent;border:none;padding:0;font:inherit;color:var(--hw-text-faint);cursor:pointer}.student-home__section{margin-bottom:26px}.student-home__section--completed{padding-top:20px;border-top:1px solid var(--hw-border-subtle)}.student-home__section-title{font-size:14px;font-weight:700;color:var(--hw-text-secondary);margin:0 0 12px}.student-home__section-title--muted{color:var(--hw-text-muted)}.student-home__section-count{color:var(--hw-text-faint)}.student-home__card-list{display:flex;flex-direction:column;gap:12px}.student-home__section--completed .student-home__card-list{gap:10px}.student-home__footer{padding:8px var(--hw-shell-inset) max(24px,env(safe-area-inset-bottom));flex:none;display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}.student-home__push-settings-link{width:100%;background:transparent;border:none;padding:4px 0;font-size:13px;font-weight:700;font-family:inherit;color:var(--hw-text-faint);cursor:pointer}.add-personal-homework__form{padding:4px var(--hw-shell-inset) max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box}.add-personal-homework__submit{margin-top:8px}.add-personal-homework__edit-actions{margin-top:8px;display:flex;gap:10px}.add-personal-homework__edit-actions .hw-btn--outline{flex:1}.add-personal-homework__edit-actions .hw-btn--primary{flex:2}.add-personal-homework__locked-notice{margin:0 var(--hw-shell-inset) 14px}.modal-shell__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#33291f66;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:0}.modal-shell__card{width:100%;max-width:480px;background:var(--hw-card-bg);border-radius:24px 24px 0 0;padding:24px 20px max(24px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #33291f2e;animation:modal-shell-rise .18s ease-out}@keyframes modal-shell-rise{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 480px){.modal-shell__overlay{align-items:center}.modal-shell__card{border-radius:var(--hw-radius-lg);max-width:380px}}.modal-shell__title{font-size:18px;font-weight:700;color:var(--hw-text-primary);margin:0 0 14px}.modal-shell__body{display:flex;flex-direction:column;gap:12px}.modal-shell__actions{display:flex;gap:10px;margin-top:20px}.modal-shell__actions .hw-btn{height:50px;font-size:15px}.cancel-complete-modal__desc,.delete-personal-homework-modal__desc{margin:0;font-size:14px;line-height:1.6;color:var(--hw-text-secondary)}.extend-due-date-modal__quick-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.extend-due-date-modal__quick-option{height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--hw-border-medium);background:var(--hw-card-bg);color:var(--hw-text-secondary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.extend-due-date-modal__quick-option--active{background:var(--hw-red);border-color:var(--hw-red);color:var(--hw-header-text)}.extend-due-date-modal__quick-option:disabled{opacity:.55;cursor:not-allowed}.extend-due-date-modal__custom{margin:0}.push-settings-modal__desc{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--hw-text-secondary)}.push-settings-modal__status{margin:0 0 10px;font-size:15px;font-weight:700}.push-settings-modal__status--on{color:var(--hw-green-text)}.push-settings-modal__status--off{color:var(--hw-text-muted)}.ptr-container{display:flex;flex-direction:column;width:100%;min-width:0}.ptr-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .15s ease-out;flex:none}.ptr-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--hw-red-tag-bg);border-top-color:var(--hw-red)}.ptr-spinner--ready{border-top-color:var(--hw-green)}.ptr-spinner--spinning{animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.account-menu-sheet__item{width:100%;height:50px;background:var(--hw-page-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:0 16px;font-size:15px;font-weight:700;font-family:inherit;color:var(--hw-text-primary);text-align:left;cursor:pointer}.account-menu-sheet__item+.account-menu-sheet__item{margin-top:8px}.password-confirm-modal__desc{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--hw-text-secondary)}.withdraw-account-modal__desc{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--hw-text-secondary)}.withdraw-account-modal__confirm{color:var(--hw-red-outline-text)}.student-profile-edit__form{padding:4px var(--hw-shell-inset) max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box}.student-profile-edit__actions{display:flex;gap:10px;margin-top:8px}.student-profile-edit__actions .hw-btn--outline{flex:1}.student-profile-edit__actions .hw-btn--primary{flex:2}.student-profile-edit__success{margin:0;font-size:13px;font-weight:700;color:var(--hw-green-text)}.guardian-pending{align-items:center;justify-content:center;padding:var(--hw-shell-inset)}.guardian-pending__card{max-width:340px;text-align:center;background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:var(--hw-radius-lg);padding:32px 24px}.guardian-pending__title{font-size:18px;font-weight:800;color:var(--hw-text-primary);margin:0 0 14px}.guardian-pending__desc{font-size:14px;line-height:1.6;color:var(--hw-text-secondary);margin:0 0 8px}.guardian-pending__desc--muted{color:var(--hw-text-muted);font-size:13px}.teacher-class-complete-modal__input{max-width:140px}.teacher-class-complete-modal__desc{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--hw-text-secondary)}.teacher-school-complete-modal__desc{margin:0;font-size:13px;line-height:1.6;color:var(--hw-text-secondary)}.manual-push-modal__options{display:flex;flex-direction:column;gap:10px}.manual-push-modal__option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:56px;padding:0 16px;border-radius:14px;border:1px solid var(--hw-border-medium);background:var(--hw-card-bg);font-family:inherit;cursor:pointer;text-align:left}.manual-push-modal__option:hover{border-color:var(--hw-red-outline-border)}.manual-push-modal__option-label{font-size:15px;font-weight:700;color:var(--hw-text-primary)}.manual-push-modal__option-count{font-size:13px;font-weight:600;color:var(--hw-text-muted);flex:none}.manual-push-modal__preview{font-size:16px;font-weight:600;line-height:1.6;color:var(--hw-text-primary);background:var(--hw-red-outline-bg);border-radius:14px;padding:16px;margin:0;white-space:pre-line}.manual-push-modal__notice{font-size:14px;line-height:1.6;color:var(--hw-text-secondary);margin:0}.manual-push-modal__notice--success{color:var(--hw-green-text)}.manual-push-modal__notice--error{color:var(--hw-red-outline-text)}.guardian-invite-modal__notice{font-size:14px;line-height:1.6;color:var(--hw-text-secondary);margin:0}.guardian-invite-modal__notice--error{color:var(--hw-red-outline-text)}.guardian-invite-modal__desc{font-size:13.5px;line-height:1.6;color:var(--hw-text-secondary);margin:0 0 12px}.guardian-invite-modal__link-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:var(--hw-radius-sm);border:1px solid var(--hw-border-medium);background:var(--hw-page-bg);font-size:12.5px;color:var(--hw-text-primary);margin-bottom:10px}.guardian-invite-modal__copy{width:auto;height:38px;min-width:0;padding:0 16px}.guardian-invite-modal__expiry{margin:12px 0 0;font-size:12.5px;color:var(--hw-text-muted)}.guardian-invite-modal__note{margin:4px 0 0;font-size:12px;color:var(--hw-text-faint)}.tw-screen{min-height:100vh;background:var(--hw-page-bg);display:flex;flex-direction:column}.tw-topbar{background:var(--hw-header-bg);background-image:radial-gradient(var(--hw-header-dot) 2px,transparent 2.1px);background-size:17px 17px;padding:16px 24px;display:flex;align-items:center;gap:10px;flex:none}.tw-topbar__logo-dot{width:9px;height:9px;border-radius:50%;background:var(--hw-logo-dot);flex:none}.tw-topbar__title{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--hw-header-text)}.tw-topbar__spacer{flex:1}.tw-topbar__logout{background:transparent;border:1px solid var(--hw-header-icon-border);color:var(--hw-header-text);border-radius:10px;padding:7px 14px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.tw-content{flex:1;max-width:720px;width:100%;margin:0 auto;padding:28px 24px 60px;box-sizing:border-box}.tw-content--narrow{max-width:460px}.tw-page-title{font-size:22px;font-weight:700;color:var(--hw-text-primary);margin:0 0 6px}.tw-page-subtitle{font-size:14px;color:var(--hw-text-muted);margin:0 0 24px}.tw-back-link{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--hw-text-secondary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;padding:0;margin-bottom:16px}.tw-student-list{display:flex;flex-direction:column;gap:10px}.tw-student-row{display:flex;align-items:center;gap:12px;background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:16px;padding:16px 18px;cursor:pointer;text-align:left;font-family:inherit;width:100%}.tw-student-row:hover{border-color:var(--hw-border-medium)}.tw-student-row__main{flex:1 1 auto;min-width:0}.tw-student-row__name{font-size:16px;font-weight:700;color:var(--hw-text-primary)}.tw-student-row__meta{font-size:13px;color:var(--hw-text-muted);margin-top:2px}.tw-student-row__arrow{margin-left:auto;color:var(--hw-text-faint);font-size:18px}.tw-student-row__stat{flex:0 0 auto;text-align:right;white-space:nowrap}.tw-student-row__stat-label{font-size:10px;color:var(--hw-text-faint)}.tw-student-row__stat-value{font-size:15px;font-weight:700;color:var(--hw-text-secondary);margin-top:2px}.tw-student-row__summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tw-student-row__summary--empty{font-size:12px;color:var(--hw-text-faint)}.tw-summary-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.tw-summary-pill--open{background:var(--hw-border-subtle);color:var(--hw-text-secondary)}.tw-summary-pill--today{background:var(--hw-red-outline-bg);color:var(--hw-red-outline-text)}.tw-summary-pill--overdue{background:var(--hw-red-tag-bg);color:var(--hw-red-tag-text)}.tw-teacher-push-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:12px 16px;margin-bottom:16px}.tw-teacher-push-banner__text{font-size:13px;color:var(--hw-text-secondary);flex:1;min-width:200px}.tw-connect-student{background:var(--hw-info-box-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:12px 16px;margin-top:20px}.tw-connect-student__form{display:flex;gap:8px}.tw-connect-student__input{flex:1 1 auto;min-width:0}.tw-connect-student__submit{flex:0 0 22%;min-width:64px;padding-left:0;padding-right:0;white-space:nowrap}.tw-connect-student__result{margin-top:12px;padding-top:12px;border-top:1px solid var(--hw-border-subtle)}.tw-connect-student__result-name{font-size:14px;font-weight:700;color:var(--hw-text-primary);margin:0 0 6px}.tw-connect-student__result-notice{font-size:13px;color:var(--hw-text-secondary);margin:0 0 10px}.tw-connect-student__actions{display:flex;justify-content:flex-end;gap:8px}.tw-empty{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:18px;padding:32px 20px;text-align:center;color:var(--hw-text-muted);font-size:14px;line-height:1.6}.tw-student-header{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:18px;padding:18px 20px;margin-bottom:24px}.tw-student-header__name{font-size:18px;font-weight:700;color:var(--hw-text-primary)}.tw-student-header__meta{font-size:13px;color:var(--hw-text-muted);margin-top:4px}.tw-student-header__password-link{margin-top:10px;background:transparent;border:none;padding:0;font-size:13px;font-weight:700;font-family:inherit;color:var(--hw-text-secondary);cursor:pointer;text-decoration:underline}.tw-student-header__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tw-student-header__actions .tw-student-header__password-link{margin-top:0}.tw-student-header__push-btn{margin-top:10px;height:30px;padding:0 12px;border-radius:10px;border:1px solid var(--hw-red-outline-border);background:var(--hw-red-outline-bg);color:var(--hw-red-outline-text);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.tw-student-header__push-btn:disabled{opacity:.55;cursor:not-allowed}.tw-form-card{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:18px;padding:20px;margin-bottom:28px}.tw-insight-card{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:14px 16px;margin-bottom:20px}.tw-insight-card__title{font-size:12px;font-weight:700;color:var(--hw-text-faint);margin:0 0 6px}.tw-insight-card__body{font-size:14px;line-height:1.5;color:var(--hw-text-secondary);margin:0}.tw-overdue-group{background:var(--hw-red-outline-bg);border:1px solid var(--hw-red-outline-border);border-radius:18px;padding:16px;margin-bottom:24px}.tw-overdue-group__title{margin:0 0 12px;display:flex;align-items:center;gap:8px}.tw-overdue-group__count{font-size:12px;font-weight:700;color:var(--hw-red-outline-text);background:var(--hw-red-tag-bg);border-radius:999px;padding:2px 9px}.tw-field-lock-hint{font-size:13px;color:var(--hw-text-muted);margin:0 0 4px}.tw-form-card__title{font-size:15px;font-weight:700;color:var(--hw-text-primary);margin:0 0 16px}.tw-form-grid{display:flex;flex-direction:column;gap:14px}.tw-quick-options{display:flex;flex-wrap:wrap;gap:8px}.tw-quick-option{height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--hw-border-medium);background:var(--hw-page-bg);color:var(--hw-text-secondary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.tw-quick-option--active{background:var(--hw-red);border-color:var(--hw-red);color:var(--hw-header-text)}.tw-submit-row{display:flex;align-items:center;gap:12px;margin-top:4px}.tw-submit-row .hw-btn{width:auto;min-width:140px;height:46px}.teacher-profile-edit__actions{display:flex;gap:10px;margin-top:4px}.teacher-profile-edit__actions .hw-btn--outline{flex:1}.teacher-profile-edit__actions .hw-btn--primary{flex:2}.tw-success-text{font-size:13px;font-weight:700;color:var(--hw-green-text)}.tw-homework-list{display:flex;flex-direction:column;gap:10px}.tw-homework-row{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:14px 16px}.tw-homework-row__top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tw-homework-row__subject{font-size:12px;font-weight:700;color:var(--hw-text-muted)}.tw-homework-row__content{font-size:15px;font-weight:600;color:var(--hw-text-primary)}.tw-homework-row__meta{font-size:12px;color:var(--hw-text-muted);margin-top:4px}.tw-action-row{display:flex;align-items:center;gap:clamp(4px,5.4545vw - 11.4545px,12px);margin-top:10px}.tw-action-row .hw-btn{flex:0 0 auto;width:auto;min-width:0;height:clamp(32px,3.6364vw + 20.3636px,36px);padding:0 clamp(6px,7.2727vw - 17.2727px,14px);font-size:clamp(12px,3.6364vw + .3636px,16px);white-space:nowrap}.tw-status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;margin-left:auto}.tw-status-badge--pending{background:var(--hw-border-subtle);color:var(--hw-text-secondary)}.tw-status-badge--running{background:var(--hw-red);color:var(--hw-header-text)}.tw-status-badge--paused,.tw-status-badge--completed{background:var(--hw-green-bg);color:var(--hw-green-text)}.tw-status-badge--overdue{background:var(--hw-red-tag-bg);color:var(--hw-red-tag-text);margin-left:0}.tw-back-link--inline{margin-bottom:10px}.tw-approval-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}.tw-approval-badge--pending{background:var(--hw-border-subtle);color:var(--hw-text-secondary)}.tw-approval-badge--approved{background:var(--hw-green-bg);color:var(--hw-green-text)}.tw-approval-badge--rejected{background:var(--hw-red-tag-bg);color:var(--hw-red-tag-text)}.tw-application-row{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:14px;padding:14px 16px}.tw-application-row__top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tw-application-row__name{font-size:15px;font-weight:700;color:var(--hw-text-primary)}.tw-application-row__meta{font-size:12px;color:var(--hw-text-muted);margin-top:4px;line-height:1.6}.admin-force-delete-modal__summary{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:var(--hw-bg-secondary, #f6f1ea)}.admin-force-delete-modal__summary div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}.admin-force-delete-modal__summary dt{color:var(--hw-text-secondary)}.admin-force-delete-modal__summary dd{margin:0;font-weight:600;text-align:right}.admin-force-delete-modal__desc{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--hw-text-secondary)}.admin-force-delete-modal__desc--strong{color:var(--hw-red-outline-text);font-weight:700;margin-bottom:14px}.admin-force-delete-modal__confirm{color:var(--hw-red-outline-text)}.privacy-page__header{padding:var(--hw-shell-inset) var(--hw-shell-inset) 0}.privacy-page__back{background:none;border:none;padding:0;font-size:14px;color:var(--hw-text-secondary);cursor:pointer;font-family:inherit}.privacy-page__title{margin:14px 0 4px;font-size:22px;font-weight:800;color:var(--hw-text-primary)}.privacy-page__effective{margin:0 0 8px;font-size:13px;color:var(--hw-text-muted)}.privacy-page__content{flex:1;padding:4px var(--hw-shell-inset) 40px}.privacy-page__intro{font-size:14px;line-height:1.7;color:var(--hw-text-secondary);margin:8px 0 20px}.privacy-page__section{margin-bottom:26px}.privacy-page__section h2{font-size:16px;font-weight:800;color:var(--hw-text-primary);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--hw-border-subtle)}.privacy-page__section h3{font-size:14px;font-weight:700;color:var(--hw-text-primary);margin:16px 0 8px}.privacy-page__section p{font-size:13.5px;line-height:1.7;color:var(--hw-text-secondary);margin:0 0 10px}.privacy-page__section ul{margin:0 0 10px;padding-left:18px}.privacy-page__section li{font-size:13.5px;line-height:1.7;color:var(--hw-text-secondary);margin-bottom:6px}.privacy-page__note{font-size:12.5px!important;color:var(--hw-text-faint)!important}.privacy-page__table-wrap{overflow-x:auto;margin-bottom:10px;border-radius:var(--hw-radius-sm);border:1px solid var(--hw-border-subtle)}.privacy-page__table{width:100%;border-collapse:collapse;background:var(--hw-card-bg);font-size:12.5px}.privacy-page__table th,.privacy-page__table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hw-border-subtle);vertical-align:top;line-height:1.5}.privacy-page__table th{color:var(--hw-text-primary);font-weight:700;white-space:nowrap;background:var(--hw-info-box-bg)}.privacy-page__table td{color:var(--hw-text-secondary)}.privacy-page__table tbody tr:last-child th,.privacy-page__table tbody tr:last-child td{border-bottom:none}.guardian-consent-page{padding:var(--hw-shell-inset)}.guardian-consent-page__notice{margin:auto;text-align:center;font-size:14px;line-height:1.7;color:var(--hw-text-secondary)}.guardian-consent-page__card{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:var(--hw-radius-lg);padding:24px 20px;margin-top:12px}.guardian-consent-page__title{font-size:19px;font-weight:800;color:var(--hw-text-primary);margin:0 0 12px}.guardian-consent-page__desc{font-size:14px;line-height:1.7;color:var(--hw-text-secondary);margin:0 0 10px}.guardian-consent-page__notice-box{background:var(--hw-info-box-bg);border-radius:var(--hw-radius-sm);padding:14px 16px;margin:14px 0 20px}.guardian-consent-page__notice-item{font-size:13px;line-height:1.7;color:var(--hw-text-secondary);margin:0 0 6px}.guardian-consent-page__notice-item:last-child{margin-bottom:0}.guardian-consent-page__form{display:flex;flex-direction:column;gap:14px}.guardian-consent-page__confirm-text{font-size:13px;line-height:1.6;color:var(--hw-text-primary);font-weight:600;margin:4px 0 0}.guardian-consent-page__parent-link{display:inline-block;margin:8px 0;padding:12px 18px;border-radius:var(--hw-radius-sm);background:var(--hw-red);color:var(--hw-header-text);font-weight:700;font-size:14px;text-decoration:none;word-break:break-all}.guardian-consent-page__note{font-size:12px;color:var(--hw-text-faint);margin-top:10px}.guardian-parent-page{padding:var(--hw-shell-inset)}.guardian-parent-page__notice{margin:auto;text-align:center;font-size:14px;line-height:1.7;color:var(--hw-text-secondary)}.guardian-parent-page__card{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:var(--hw-radius-lg);padding:24px 20px;margin-top:12px}.guardian-parent-page__title{font-size:18px;font-weight:800;color:var(--hw-text-primary);margin:0 0 4px}.guardian-parent-page__subtitle{font-size:13px;color:var(--hw-text-muted);margin:0 0 18px}.guardian-parent-page__stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.guardian-parent-page__stat{background:var(--hw-info-box-bg);border-radius:var(--hw-radius-sm);padding:14px;text-align:center}.guardian-parent-page__stat-label{font-size:12px;color:var(--hw-text-muted);margin-bottom:6px}.guardian-parent-page__stat-value{font-size:20px;font-weight:800;color:var(--hw-text-primary)}.guardian-parent-page__personal-note{font-size:12.5px;line-height:1.6;color:var(--hw-text-secondary);margin:0 0 12px}.guardian-parent-page__footer-note{font-size:12px;color:var(--hw-text-faint);margin:0}.guardian-parent-page__section-title{font-size:15px;font-weight:700;color:var(--hw-text-primary);margin:24px 0 10px}.guardian-parent-page__filter{display:flex;gap:8px;margin-bottom:12px}.guardian-parent-page__filter-btn{flex:1;border:1px solid var(--hw-border-medium);background:var(--hw-card-bg);color:var(--hw-text-secondary);border-radius:999px;padding:8px 0;font-size:13px;font-weight:600;cursor:pointer}.guardian-parent-page__filter-btn--active{background:var(--hw-red);border-color:var(--hw-red);color:var(--hw-header-text)}.guardian-parent-page__hw-list{display:flex;flex-direction:column;gap:8px}.guardian-parent-page__hw-card{background:var(--hw-card-bg);border:1px solid var(--hw-border-subtle);border-radius:var(--hw-radius-sm);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.guardian-parent-page__hw-main{min-width:0}.guardian-parent-page__hw-subject{font-size:13px;font-weight:700;color:var(--hw-text-primary);margin:0 0 2px}.guardian-parent-page__hw-content{font-size:12.5px;color:var(--hw-text-secondary);margin:0;overflow-wrap:break-word}.guardian-parent-page__hw-status{flex-shrink:0;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.guardian-parent-page__hw-status--done{background:var(--hw-green-bg);color:var(--hw-green-text)}.guardian-parent-page__hw-status--class{background:var(--hw-note-box-bg);color:var(--hw-text-secondary)}.guardian-parent-page__hw-status--incomplete{background:var(--hw-red-outline-bg);color:var(--hw-red-outline-text)}
