@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,Noto Sans KR,sans-serif;color:#222335;background:#f7f7fa;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:330px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b5b1f6;outline-offset:2px}.shell{display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #eaeaf1;width:250px;flex:0 0 250px;display:flex;flex-direction:column;padding:32px 17px 20px;min-height:100vh}.logo{display:flex;align-items:center;gap:12px;padding:3px 10px 58px}.logo-glyph{height:44px;width:44px;flex:none;background:#6559da;border-radius:14px;display:grid;place-items:center;color:#fff;box-shadow:0 8px 16px #615bd830}.logo strong{font-size:16px;display:block;letter-spacing:-.9px;white-space:nowrap}.logo strong span{font-weight:600}.logo small{display:block;color:#aaa9ba;font-size:9px;letter-spacing:2.1px;margin-top:3px;font-weight:800}.side-content{flex:1}.sidebar-label{display:block;padding:0 14px 16px;font-weight:800;font-size:10px;color:#a7a6b4;letter-spacing:1.3px}.side-nav{border:0;background:transparent;color:#838396;padding:13px 16px;width:100%;display:flex;align-items:center;gap:13px;border-radius:12px;margin-bottom:6px;text-align:left;font-size:13px;font-weight:800}.side-nav.active{background:#efedff;color:#5f54d2}.side-nav:hover{background:#f4f3fc}.side-arrow{margin-left:auto}.side-bottom{display:grid;gap:15px}.side-tip{background:#f4f1ff;border-radius:16px;padding:19px 18px;color:#6053b3;position:relative;overflow:hidden}.side-tip:after{content:"✳";color:#dfdafd;font-size:70px;position:absolute;right:-2px;top:23px}.side-tip span{display:flex;gap:7px;align-items:center;font-size:9px;font-weight:900;letter-spacing:1px}.side-tip p{margin:10px 0 0;font-size:21px;font-weight:800;line-height:1.2;letter-spacing:-.8px}.user-tile{display:flex;align-items:center;border-top:1px solid #eeedf3;padding:17px 2px 0;gap:9px}.user-avatar,.top-avatar{width:37px;height:37px;border-radius:50%;background:#dad5ff;color:#5b51bd;display:grid;place-items:center;font-weight:900;font-size:13px}.user-tile div{min-width:0;flex:1}.user-tile strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-tile small{font-size:10px;color:#a3a3b2}.logout{background:transparent;border:0;color:#9a9aac;padding:5px}.workspace{min-width:0;flex:1;display:flex;flex-direction:column}.app-top{height:72px;background:#fff;border-bottom:1px solid #ebebf1;padding:0 44px;display:flex;align-items:center;justify-content:space-between}.path-text{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#adadba;display:flex;align-items:center;gap:9px}.top-right{display:flex;align-items:center;gap:18px;color:#7c7b8f;font-size:12px;font-weight:750}.top-today{display:flex;align-items:center;gap:8px}.top-avatar{width:32px;height:32px;font-size:11px}.mobile-brand{display:none}.preview-flag{color:#7167ce;font-size:10px;background:#f0efff;border:1px solid #e6e2ff;border-radius:6px;padding:7px 9px;letter-spacing:.8px;font-weight:900}.content{width:100%;max-width:1540px;margin:0 auto;padding:43px 44px 50px;flex:1}.overline{display:block;font-size:10px;font-weight:900;letter-spacing:2.2px;color:#8376da}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-title h1{font-size:31px;letter-spacing:-1.4px;margin:8px 0 9px;font-weight:900;line-height:1.32}.page-title p{font-size:13px;color:#9291a2;margin:0;line-height:1.7}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:#6357d7;padding:13px 18px;border:1px solid #6357d7;border-radius:10px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 6px 11px #4a3ccb1a}.primary-btn:hover{background:#5143c5}.demo-toolbar{background:#fff;padding:10px 12px 10px 17px;border:1px solid #ebebf1;border-radius:13px;display:flex;justify-content:space-between;align-items:center;margin-bottom:19px;gap:9px;font-size:12px;color:#454459;font-weight:800}.demo-toolbar>div:first-child{display:flex;align-items:center;gap:9px}.demo-toolbar small{font-size:10px;color:#a1a0ac;font-weight:500}.live-dot{background:#4fba9a;width:8px;height:8px;border-radius:50%}.demo-options{display:flex;gap:3px;background:#f5f5f9;padding:4px;border-radius:9px}.demo-options button{border:0;background:transparent;border-radius:7px;font-size:11px;padding:8px 12px;color:#a1a0ae;font-weight:800;white-space:nowrap}.demo-options button.active{background:#fff;color:#5d52cb;box-shadow:0 1px 6px #13132b16}.summary-strip{display:flex;gap:0;background:#fff;border:1px solid #eaeaf2;border-radius:16px;margin-bottom:21px;overflow:hidden;min-height:104px;box-shadow:0 5px 20px #20204905}.summary-cell{flex:1;display:flex;gap:13px;align-items:center;padding:23px 22px;border-right:1px solid #efeff5}.summary-cell:last-child{border-right:0}.summary-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:13px}.summary-icon.purple{background:#f0ecff;color:#7666dc}.summary-icon.blue{background:#eaf3ff;color:#5c8ce8}.summary-icon.mint{background:#eaf8f1;color:#39a57c}.summary-icon.coral{background:#fff1eb;color:#f29e76}.summary-cell small{font-size:11px;color:#a2a0af;display:block;margin-bottom:6px;font-weight:650}.summary-cell strong{font-size:26px;letter-spacing:-.6px;font-weight:900;line-height:1}.summary-cell em{font-size:12px;margin-left:4px;font-style:normal;color:#8a8998}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.84fr);align-items:start;gap:21px}.card{background:#fff;border:1px solid #eaeaf2;border-radius:17px;box-shadow:0 7px 24px #28285208}.calendar-card{padding:28px 27px 24px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.calendar-head h2{font-size:24px;letter-spacing:-1px;margin:7px 0 0;font-weight:900}.calendar-actions{display:flex;gap:7px;align-items:center}.nav-square{height:33px;width:33px;display:grid;place-items:center;color:#6c6b80;background:#fff;border:1px solid #eae9f0;border-radius:8px}.nav-square:hover,.subtle-button:hover{background:#f3f1ff;color:#6357d7}.today-btn{border:1px solid #eae9f0;background:#fff;color:#78768b;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-names{text-align:center;border-bottom:1px solid #efeff4;padding-bottom:13px;margin-bottom:9px;color:#9695a5;font-size:11px;font-weight:850}.week-names .weekend{color:#b6a7ab}.date-grid{row-gap:8px}.date-cell{height:72px;border:1px solid transparent;background:transparent;border-radius:11px;display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:center;color:#44445a;position:relative}.date-cell:hover{background:#f7f5ff}.date-cell.selected{border:1.5px solid #7567e3;background:#f3f0ff;color:#584cc9}.date-cell.is-today .date-number{background:#655bd4;border-radius:50%;color:#fff;min-width:27px;height:27px;display:grid;place-items:center}.date-number{font-size:12px;font-weight:850;height:27px;min-width:27px;display:grid;place-items:center}.date-indicator{height:19px;min-width:24px;padding:2px 6px;font-size:10px;font-weight:850;display:flex;align-items:center;justify-content:center;border-radius:6px}.date-done{color:#22986e;background:#e6f7ee}.date-pending{color:#9772d1;background:#f1ebff}.date-late{color:#da795c;background:#fff0eb}.calendar-empty{min-height:72px}.calendar-legend{display:flex;align-items:center;gap:17px;flex-wrap:wrap;border-top:1px solid #f1f0f5;margin-top:17px;padding-top:20px;font-size:10px;color:#9c9aa9;font-weight:700}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-done{background:#60c398}.dot-pending{background:#aa92e0}.dot-late{background:#ed9c82}.legend-ring{border:1px solid #796fe2;width:11px;height:11px;border-radius:3px}.day-panel{padding:0;overflow:hidden;min-height:434px}.day-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:27px 26px 23px;border-bottom:1px solid #f0f0f5}.day-panel-header h2{font-size:24px;letter-spacing:-.8px;margin:8px 0 6px;font-weight:900}.year-short{font-weight:600;font-size:11px;color:#bab8c6;margin-left:4px}.day-panel-header p{font-size:11px;color:#a4a2b0;margin:0}.small-add{display:flex;gap:5px;align-items:center;background:#f0eeff;color:#6557d1;border:0;border-radius:9px;padding:9px 10px;white-space:nowrap;font-size:10px;font-weight:850}.roster-list{padding:7px 14px 15px;max-height:645px;overflow:auto}.roster-item{border-bottom:1px solid #f3f2f6}.roster-item:last-child{border-bottom:0}.roster-main{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:12px 8px;border:0;background:transparent;min-height:68px}.roster-main:hover{background:#faf9ff}.roster-avatar{width:38px;height:38px;flex:none;background:#f1edff;color:#7a6cd3;border-radius:12px;font-size:11px;font-weight:850;display:grid;place-items:center}.roster-item:nth-child(3n+2) .roster-avatar{background:#ecf3ff;color:#6590cd}.roster-item:nth-child(3n+3) .roster-avatar{background:#fcefeb;color:#d98c75}.roster-copy{flex:1;min-width:0}.roster-copy strong{font-size:12px;display:block;margin-bottom:4px}.roster-copy small{font-size:10px;color:#a8a6b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.state-badge{font-size:10px;padding:6px 8px;display:inline-flex;gap:5px;align-items:center;border-radius:6px;font-weight:850;white-space:nowrap}.state-complete{color:#26996d;background:#e9f8ef}.state-waiting{color:#c48f59;background:#fff5e8}.roster-main>svg:last-child{color:#bdbcc8;transition:transform .2s}.flip{transform:rotate(180deg)}.roster-expanded{padding:0 13px 17px 59px}.task-preview p{display:flex;align-items:center;gap:7px;font-size:11px;margin:7px 0;color:#79788b}.task-preview p svg{color:#8c80d8}.submitted-meta{font-size:11px;color:#9897a6}.student-note{font-size:11px}.delete-text{background:transparent;border:0;display:flex;align-items:center;gap:5px;color:#be6972;margin-top:12px;font-size:10px;font-weight:700;padding:0}.blank-state{text-align:center;padding:63px 15px 67px}.blank-illustration{border-radius:17px;background:#f5f3ff;color:#8d7ed7;width:57px;height:57px;display:grid;place-items:center;margin:0 auto 15px}.blank-state h3{font-size:14px;margin:0 0 7px}.blank-state p{font-size:11px;color:#a8a6b3;margin:0;line-height:1.7}.bottom-note{font-size:11px;color:#9f9dac;display:flex;align-items:center;gap:7px;margin-top:19px}.bottom-note svg{color:#8879d8}.workspace footer{padding:15px 44px 23px;display:flex;justify-content:space-between;color:#b0aeba;font-size:10px}.family-summary{display:flex;align-items:center;gap:16px;padding:22px 26px;flex:1}.family-summary strong{display:block;font-size:16px;letter-spacing:-.4px;margin:5px 0}.family-summary p{font-size:11px;color:#a4a1b2;margin:0}.child-picker{font-size:10px;color:#aaa7b9;margin:18px;display:flex;align-items:center;gap:5px}.child-picker select{padding:8px;border-radius:8px;border:1px solid #ebeaf4;background:#fff;min-width:90px;max-width:135px}.family-assignments{padding:17px}.homework-detail+.homework-detail{border-top:1px solid #ededf5;padding-top:20px;margin-top:22px}.homework-detail{position:relative}.homework-heading{padding:3px 96px 16px 0}.hw-mini{font-size:9px;font-weight:900;letter-spacing:1.5px;color:#9585dd}.homework-heading h3{font-size:16px;margin:8px 0;font-weight:900;letter-spacing:-.45px}.homework-heading p{color:#a3a0af;font-size:11px;margin:0;line-height:1.6}.homework-detail>.state-badge{position:absolute;right:0;top:0}.todo-card{border:1px solid #eeeef5;background:#fafafe;border-radius:12px;padding:16px;margin-bottom:17px}.todo-header{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:900;letter-spacing:.8px;color:#a6a3b1;margin-bottom:13px}.todo-row{display:flex;gap:10px;align-items:center;position:relative;padding:11px 2px;font-size:11px;color:#464457;border-top:1px solid #f0eff6;cursor:pointer;line-height:1.5}.todo-row input{position:absolute;opacity:0;pointer-events:none}.todo-check{height:19px;width:19px;border:1.5px solid #d7d5e5;border-radius:5px;flex:none;display:grid;place-items:center;color:#fff}.todo-checked .todo-check{background:#6c5ddb;border-color:#6c5ddb}.todo-checked>span:last-child{color:#a7a3b1;text-decoration:line-through}.upload-panel{margin:15px 0}.section-label{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:12px}.section-label svg{color:#8275d7}.section-label span{margin-left:auto;color:#b4b1bf;font-size:10px}.upload-options{display:flex;gap:9px}.upload-options button{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;min-height:110px;gap:6px;color:#8376d7;border:1.5px dashed #dcd6f8;background:#fbfaff;border-radius:11px}.upload-options button:hover{background:#f2efff}.upload-options button span{font-size:11px;font-weight:850;color:#5f58a5}.upload-options button small{font-size:9px;color:#aeabc0}.visually-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.photo-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.photo-chips span{display:flex;align-items:center;gap:5px;font-size:10px;color:#7266af;background:#f3f0ff;padding:6px 8px;border-radius:6px;max-width:100%}.photo-chips button{border:0;background:none;padding:0;color:#9c92ba;display:flex}.proof-photos{display:flex;gap:8px;flex-wrap:wrap}.proof-placeholder,.proof-photo{border-radius:10px;background:#eef5f0;min-width:112px;min-height:75px;max-width:140px;color:#43936c;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;overflow:hidden}.proof-photo img{object-fit:cover;width:100%;height:100px}.extra-note{display:block;font-size:11px;color:#6a677b;font-weight:750;margin:17px 0 13px}.extra-note textarea,.editor-form input,.editor-form select,.editor-form textarea,.login-panel input{width:100%;border:1px solid #e6e5ee;border-radius:9px;background:#fff;padding:12px;font-size:12px;outline:none;color:#343349;min-width:0}.extra-note textarea{margin-top:8px;resize:vertical}.submit-full{width:100%;min-height:46px}.success-note{padding:12px;border-radius:9px;background:#eaf7f1;color:#35956e;font-size:11px;font-weight:750;display:flex;align-items:center;gap:8px}.management-card{padding:32px}.mg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.mg-head h2{margin:7px 0;font-size:23px}.mg-head p{color:#a7a4b3;font-size:12px;margin:0}.searchbox{display:flex;gap:8px;align-items:center;border:1px solid #eeedf3;border-radius:9px;padding:10px 12px;max-width:370px;margin-bottom:20px;color:#aca9bb}.searchbox input{border:0;outline:0;flex:1;font-size:12px}.student-table-head,.student-table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:12px 17px}.student-table-head{background:#faf9fd;color:#a2a0b1;font-size:11px;font-weight:850;border-radius:8px}.student-table-row{border-bottom:1px solid #f1f0f5;font-size:12px;color:#8a879a;min-height:66px}.student-name{display:flex;align-items:center;gap:9px}.student-name strong{color:#3b394b;font-size:12px}.initial-avatar{background:#eeecff;color:#7d71d3;font-size:10px;border-radius:9px;width:33px;height:33px;display:grid;place-items:center}.contact-status{font-size:11px;color:#7e71ce}.soft-badge{display:flex;align-items:center;gap:6px;background:#f5f3ff;color:#7769d5;padding:9px 10px;border-radius:8px;font-size:11px;font-weight:750}.reminder-flow{padding:8px 0}.reminder-step{display:flex;gap:20px;align-items:center;padding:19px 3px;border-bottom:1px solid #f0eff4}.time-chip{background:#f3f1ff;color:#7466d4;font-size:15px;font-weight:900;border-radius:8px;padding:11px;min-width:75px;text-align:center}.reminder-step strong{font-size:13px}.reminder-step p{font-size:12px;color:#aaa7b5;line-height:1.8;margin:5px 0 0}.privacy-note{display:flex;gap:10px;align-items:flex-start;background:#faf9ff;border-radius:10px;padding:16px;margin-top:24px;color:#8074ca}.privacy-note p{font-size:11px;line-height:1.8;color:#8c889e;margin:0}.modal-screen{z-index:50;position:fixed;top:0;right:0;bottom:0;left:0;background:#16152496;display:grid;place-items:center;padding:20px}.modal-card{width:min(680px,100%);max-height:min(92vh,860px);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 30px 90px #1e1a4152}.modal-title{display:flex;align-items:center;justify-content:space-between;padding:27px 30px 20px;border-bottom:1px solid #f0eef5}.modal-title h2{font-size:23px;margin:7px 0 0;letter-spacing:-.7px}.round-icon{border:0;background:#f5f5f9;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#918e9e}.round-icon.mini{width:30px;height:30px}.editor-form{padding:23px 30px 28px}.form-row{display:grid;grid-template-columns:1fr 1.4fr;gap:13px}.editor-form label{display:block;font-size:11px;font-weight:800;color:#615e73;margin-bottom:15px}.editor-form label>input:not([type=checkbox]),.editor-form label>select,.editor-form label>textarea{margin-top:8px}.form-block{margin-top:9px;margin-bottom:19px}.block-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.block-head strong{font-size:12px}.block-head small{font-size:10px;margin-left:7px;color:#998ad4}.hint{font-size:10px;color:#aaa8b8}.text-button{background:transparent;color:#7165d5;border:0;font-size:11px;font-weight:900;display:inline-flex;align-items:center;gap:5px;padding:4px}.student-pills{display:flex;flex-wrap:wrap;gap:7px;padding:14px;border:1px solid #eeeeF5;border-radius:11px}.student-pill{display:flex!important;align-items:center;gap:5px;border-radius:7px;border:1px solid #eeedf5;color:#9390a1!important;padding:8px 10px;font-size:11px!important;font-weight:800!important;margin:0!important;cursor:pointer}.student-pill input{display:none}.student-pill.chosen{background:#f2efff;border-color:#cfc6fa;color:#6554cd!important}.task-edit-list{display:flex;flex-direction:column;gap:8px}.task-edit-row{display:flex;align-items:center;gap:9px}.row-count{font-size:10px;color:#aca8bd;font-weight:900}.task-edit-row input{flex:1}.add-task{margin:12px 0 0}.full-field{display:block}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;border-top:1px solid #efedf5}.form-footer>span{display:flex;gap:6px;align-items:center;font-size:10px;color:#a5a2b1}.form-footer>div{display:flex;gap:8px}.secondary-btn{border:1px solid #e8e6f1;background:#fff;color:#76728c;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:800}.editor-form .checkbox-line{display:flex;gap:8px;align-items:center;font-size:11px;color:#79758d}.checkbox-line input{width:15px;height:15px}.toast{position:fixed;bottom:22px;right:22px;background:#2f3153;color:#fff;padding:13px 15px;border-radius:10px;z-index:80;box-shadow:0 8px 26px #16152542;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750}.toast button{background:transparent;border:0;color:#fff;display:flex}.setup-lock{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px}.setup-lock svg{color:#6558d3}.setup-lock h1{margin:0}.setup-lock p{color:#aaa7b5}.login-wrap{width:min(970px,95vw);min-height:530px;margin:8vh auto;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 80px #3e3e6d18}.login-image{background:#6559d8;color:#fff;padding:65px 46px;display:flex;flex-direction:column;justify-content:center}.login-image .overline{color:#cac6ff;margin-top:20px}.login-image h1{font-size:45px;line-height:1.14;letter-spacing:-2px;margin:22px 0}.login-image h1 em{font-weight:500;font-style:normal;color:#d6d0ff}.login-image p{font-size:13px;color:#dcd7ff}.login-mark{background:#ffffff24;padding:15px;border-radius:15px;align-self:flex-start}.login-panel{padding:60px 45px;display:flex;flex-direction:column;justify-content:center}.login-panel h2{font-size:28px;margin:12px 0}.login-panel p{font-size:12px;color:#a19fad;margin-bottom:22px}.login-panel label{font-size:12px;font-weight:800;margin:18px 0 12px}.login-panel label input{margin-top:9px}.switch-row{display:flex;border-radius:10px;background:#f6f5fa;padding:4px;gap:3px}.switch-row button{flex:1;border:0;border-radius:7px;background:transparent;padding:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:#9291a0;font-size:12px;font-weight:800}.switch-row button.on{background:#fff;color:#655ad8;box-shadow:0 1px 7px #13132b16}.login-panel .login-foot{display:flex;justify-content:center;gap:6px;color:#b3b0bd;margin-top:14px;font-size:10px}.login-panel .error-note{color:#cf6273;margin:0}.loading-state{padding:85px;color:#a3a0b5;text-align:center;font-size:13px}@media(max-width:1150px){.sidebar{width:218px;flex-basis:218px}.logo{padding-left:5px}.logo strong{font-size:14px}.content{padding:33px 24px 42px}.app-top{padding:0 24px}.summary-cell{padding:18px 12px;gap:8px}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.84fr);gap:14px}.calendar-card{padding:24px 17px 21px}.day-panel-header{padding:24px 18px 19px}.date-cell,.calendar-empty{height:61px;min-height:61px}.roster-list{padding:7px 10px}}@media(max-width:850px){.sidebar{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:900;color:#6359cd;letter-spacing:-.3px}.path-text{display:none}.app-top{height:60px}.calendar-layout{grid-template-columns:1fr}.day-panel{min-height:250px}.roster-list{max-height:none}.calendar-card{padding:24px}.date-cell,.calendar-empty{height:67px;min-height:67px}.content{padding:28px 20px 40px}.page-title h1{font-size:27px}.top-today{display:none}.workspace footer{padding:20px}}@media(max-width:560px){.content{padding:23px 12px 32px}.app-top{padding:0 15px}.top-right{gap:7px}.preview-flag{font-size:8px;padding:6px}.page-title{margin-bottom:19px}.page-title h1{font-size:25px;margin:7px 0}.page-title p{font-size:11px;line-height:1.6}.page-title .title-add{font-size:10px;padding:10px;gap:4px}.demo-toolbar{flex-direction:column;align-items:stretch;gap:10px;font-size:10px}.demo-toolbar>div:first-child{flex-wrap:wrap}.demo-options{width:100%}.demo-options button{flex:1}.summary-strip{display:grid;grid-template-columns:1fr 1fr;min-height:unset}.summary-cell{padding:15px 12px;border-right:1px solid #f0eff5;border-bottom:1px solid #f0eff5}.summary-icon{width:36px;height:36px;flex-basis:36px;border-radius:10px}.summary-cell small{font-size:9px}.summary-cell strong{font-size:21px}.family-summary{padding:19px 15px}.family-summary strong{font-size:13px}.family-summary p{font-size:10px;line-height:1.6}.summary-strip:has(.family-summary){display:flex;flex-direction:column}.child-picker{margin:0 17px 14px}.calendar-card{padding:20px 13px 18px}.calendar-head{margin-bottom:18px}.calendar-head h2{font-size:20px}.calendar-actions{gap:4px}.today-btn{padding:6px 9px}.nav-square{height:30px;width:30px}.week-names{font-size:10px}.date-grid{row-gap:3px}.date-cell,.calendar-empty{min-height:55px;height:55px}.date-number{font-size:11px}.date-indicator{font-size:9px;height:17px}.calendar-legend{gap:10px;font-size:9px;padding-top:15px}.day-panel-header{padding:22px 18px 17px}.day-panel-header h2{font-size:20px}.roster-main{gap:9px}.roster-avatar{width:32px;height:32px}.roster-copy strong{font-size:11px}.roster-copy small{font-size:9px}.family-assignments{padding:12px}.workspace footer{padding:13px 16px;font-size:9px}.management-card{padding:16px}.mg-head{align-items:start}.mg-head h2{font-size:20px}.student-table-head,.student-table-row{grid-template-columns:1.3fr 1fr .7fr;gap:6px;padding:12px 8px}.student-table-head span:last-child,.student-table-row>span:last-child{display:none}.student-table-row,.student-name strong{font-size:10px}.modal-screen{padding:6px}.modal-card{max-height:96vh;border-radius:15px}.modal-title{padding:20px 16px 16px}.editor-form{padding:20px 15px}.form-row{grid-template-columns:1fr;gap:0}.student-pills{padding:10px}.form-footer{flex-direction:column;align-items:stretch}.form-footer>div{justify-content:flex-end}.login-wrap{width:100%;min-height:100vh;margin:0;display:flex;flex-direction:column;border-radius:0}.login-image{padding:38px 30px}.login-image h1{font-size:32px;margin:12px 0}.login-panel{padding:35px 25px}}.mobile-menu{display:none}@media(max-width:850px){.mobile-menu{display:flex;overflow-x:auto;gap:5px;border-bottom:1px solid #ebe9f4;background:#fff;padding:8px 13px}.mobile-menu button{border:0;background:transparent;color:#9996a8;padding:9px 12px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;border-radius:8px}.mobile-menu button.active{color:#6459d1;background:#f1eeff}}.student-add{background:#f0edff;color:#6455c7!important}.family-student-source{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:7px 8px 0;padding:11px 12px;border-radius:10px;background:#f6f3ff;font-size:11px;color:#6659be;font-weight:800}.family-student-source span,.family-student-source button{display:inline-flex;gap:5px;align-items:center}.family-student-source button{border:1px solid #e0dafe;border-radius:7px;background:#fff;color:#6357c5;font-size:11px;font-weight:800;padding:7px 9px}.student-editor{padding:0 28px 26px}.student-flow-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:19px 0;border-bottom:1px solid #f0eef6}.mini-step{background:#f7f6fb;color:#938faa;text-align:center;padding:11px 6px;border-radius:10px;font-size:10px;font-weight:800}.mini-step.selected{background:#edeaff;color:#6356c0}.scan-panel{padding:22px 0 16px}.scan-intro{display:flex;align-items:center;gap:12px}.scan-icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;color:#6659d2;background:#f0ecff;border-radius:13px}.scan-intro h3,.scan-section-head h3{font-size:16px;letter-spacing:-.4px;margin:0 0 5px}.scan-intro p,.scan-section-head p{font-size:11px;line-height:1.7;color:#9290a4;margin:0}.scan-consent{display:flex;gap:8px;margin:18px 0!important;color:#7f7b8c!important;font-weight:500!important;font-size:11px!important;line-height:1.6}.scan-consent input{width:16px;height:16px;flex:none;margin-top:2px}.scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-actions button{display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid #dedaf2;color:#6255c4;border-radius:12px;padding:14px 8px;font-size:12px;font-weight:800}.scan-actions button:hover{background:#f5f2ff}.scan-selected{font-size:11px;display:flex;align-items:center;gap:8px;padding:9px 2px;color:#8983a4}.scan-preview{display:block;max-height:180px;max-width:100%;border-radius:12px;object-fit:contain;margin:7px auto}.demo-fill{margin-top:12px;border:0;border-radius:9px;background:#f1efff;color:#6658cb;padding:11px 13px;font-weight:850;font-size:11px;display:inline-flex;gap:8px;align-items:center}.scan-edit-section{border-top:1px solid #f0eef5;padding-top:20px}.scan-section-head{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:20px}.scan-section-head h3{display:flex;gap:7px;align-items:center}.edit-hint{font-size:10px;background:#efecff;color:#6759cd;padding:7px 9px;border-radius:7px;white-space:nowrap;font-weight:850}.scan-task-list{margin-top:4px;display:flex;flex-direction:column;gap:8px}.scan-task-row{display:flex;gap:9px;align-items:center}.scan-task-number{font-size:11px;color:#a6a1b2;font-weight:800;flex:0 0 18px}.scan-task-row input{flex:1;min-width:0;border:1px solid #e6e3ec;border-radius:9px;padding:12px;font-size:12px;color:#3b3950}.scan-task-row button{border:0;background:#f6f5fa;color:#a5a0b0;border-radius:8px;display:grid;place-items:center;padding:8px}.scan-add{border:0;background:transparent;color:#6559cd;font-size:11px;font-weight:850;margin:12px 0 20px;display:flex;gap:6px;align-items:center}.scan-note{font-size:11px;color:#6a6676;font-weight:850;display:block}.scan-note textarea{margin-top:7px;display:block;width:100%;border:1px solid #e6e3ec;border-radius:9px;padding:12px;resize:vertical}.scan-message{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.7;border-radius:9px;padding:12px;margin-top:14px}.scan-error{color:#ae6259;background:#fff1ee}.scan-success{color:#3c8d74;background:#ecf8f1}.student-editor-footer{border-top:1px solid #f0eef5;padding-top:18px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:13px}.student-editor-footer p{display:block;margin:0;color:#908a9b;font-size:10px;line-height:1.7}.student-editor-footer p svg{vertical-align:middle;color:#877bd8}.student-editor-footer>div{display:flex;gap:8px}.loading-spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:560px){.student-editor{padding:0 14px 20px}.student-flow-head{padding:12px 0}.mini-step{font-size:9px;padding:9px 2px}.scan-panel{padding:16px 0}.scan-intro h3,.scan-section-head h3{font-size:14px}.scan-intro p{font-size:10px}.scan-consent{font-size:10px!important}.scan-actions button{font-size:11px;padding:13px 4px}.student-editor-footer{flex-direction:column;align-items:stretch}.student-editor-footer>div{justify-content:flex-end}.student-editor-footer .primary-btn,.scan-task-row input{font-size:11px}.scan-section-head p{font-size:10px}}.missing-homework-note{display:flex;gap:10px;align-items:flex-start;background:#fff8ed;border:1px solid #f6dfae;color:#79541e;border-radius:14px;padding:12px 14px;margin:12px 0;font-size:13px;line-height:1.5}.missing-homework-note svg{flex-shrink:0;margin-top:1px}.push-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#f0f1fd;border:1px solid #dfe0f4;border-radius:18px;padding:16px 20px;margin:0 0 16px}.push-panel-title{display:flex;align-items:center;gap:12px;color:#35375e}.push-panel-title div{display:flex;flex-direction:column;gap:3px}.push-panel-title strong{font-size:15px}.push-panel-title small,.push-hint{font-size:12px;color:#626787}.push-choices{display:flex;gap:8px;flex-wrap:wrap}.push-choices button{border:1px solid #bbbdda;background:#fff;color:#333459;font-weight:600;padding:9px 11px;border-radius:9px;font-size:12px;cursor:pointer}.push-choices button:disabled{opacity:.55;cursor:not-allowed}.push-choices .push-off{background:transparent;border-color:transparent;text-decoration:underline}.push-hint{width:100%;margin:0}@media(max-width:650px){.push-panel{padding:14px}.push-choices{width:100%}.push-choices button{flex:1;min-width:120px}}
