@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{color:#12254a;font-synthesis:none;background:#fff;font-family:Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}.app-shell{background:#fff;min-height:100vh;display:flex}.rail{background:#fff;border-right:1px solid #e3eaf6;flex-direction:column;flex-shrink:0;width:128px;padding:27px 11px 18px;display:flex}.brand-mark{color:#125bea;letter-spacing:-.08em;white-space:nowrap;align-items:center;gap:8px;padding:0 8px 27px;font-size:20px;font-weight:700;display:flex}.brand-mark svg{stroke-width:2.5px}.rail nav{gap:8px;display:grid}.rail-item,.rail-help{color:#385071;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-items:center;gap:5px;width:100%;padding:10px 4px;font:500 12px inherit;display:grid}.rail-item.active{color:#075ae8;background:#edf5ff;position:relative}.rail-item.active:before{content:"";background:#1467ee;border-radius:0 5px 5px 0;width:4px;height:30px;position:absolute;top:14px;left:-11px}.rail-item svg,.rail-help svg{stroke-width:2px}.rail-help{margin-top:auto}.workspace{flex:1;min-width:0}.app-header{border-bottom:1px solid #e7edf6;justify-content:center;align-items:center;height:100px;padding:0 36px;display:flex}.teams-notice{color:#17325c;background:#f7fbff;border:1px solid #b9d1ff;border-radius:9px;align-items:center;gap:12px;padding:11px 16px;font-size:14px;font-weight:500;display:flex}.teams-notice svg{color:#1263e8}.teams-notice button{color:#6b7c98;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:5px;display:grid}.header-tools{gap:8px;display:flex;position:absolute;right:36px}.account-select{color:#20385e;background:#fff;border:1px solid #cfdced;border-radius:9px;align-items:center;gap:9px;padding:12px 14px;font:500 14px inherit;display:flex}.mobile-menu{display:none}.workspace-main{padding:0 18px 36px}.context-bar{border-bottom:1px solid #e7edf6;align-items:center;gap:18px;min-height:78px;display:flex}.student-field{align-items:center;gap:10px;display:flex}.student-field label{color:#6c7d98;font-size:12px}.student-field button{color:#1b3156;background:0 0;border:0;justify-content:space-between;align-items:center;min-width:155px;padding:8px 0;font:600 15px inherit;display:flex}.role-toggle{background:#f0f4f9;border-radius:8px;gap:2px;padding:3px;display:flex}.role-toggle button{color:#61718b;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font:600 11px inherit}.role-toggle button.active{color:#0a61e7;background:#fff;box-shadow:0 1px 4px #d7e1f0}.teams-link{color:#1553b7;cursor:pointer;background:#fff;border:1px solid #c3d6fb;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:8px 11px;font:600 12px inherit;display:flex}.subject-tabs{border-bottom:1px solid #dae4f1;align-items:end;gap:21px;height:57px;display:flex}.subject-tabs button{color:#2f4363;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;height:56px;padding:0 17px;font:600 16px inherit;display:flex}.subject-tabs button.active{color:#075be5;background:#f7fbff;border-bottom-color:#1365ed}.content-layout{grid-template-columns:minmax(660px,1fr) 342px;min-height:745px;display:grid}.calendar-area{border-right:1px solid #e0e8f3;padding:28px 18px 26px 0}.calendar-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:51px;display:grid}.calendar-toolbar h1{letter-spacing:.03em;color:#102b58;margin:0;font-size:29px}.calendar-toolbar>button,.month-control button{color:#153968;cursor:pointer;background:#fff;border:1px solid #d5e0ef;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.calendar-toolbar>button{justify-self:end}.month-control{gap:10px;display:flex}.month-control .today-button{width:auto;padding:0 14px;font:600 13px inherit}.legend{color:#315072;justify-content:center;gap:19px;padding:0 0 20px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend-regular svg{color:#1463e9}.legend-adjusting svg{color:#ff7043}.legend-makeup svg{color:#19923b}.legend-pending svg{color:#6d7788}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{border:1px solid #dce5f1;border-bottom:0}.weekday-row span{text-align:center;color:#3e506b;border-right:1px solid #dce5f1;padding:10px 0;font-size:13px;font-weight:600}.weekday-row span:last-child{color:#e95151;border-right:0}.weekday-row span:nth-child(6){color:#075be5}.calendar-grid{border-left:1px solid #dce5f1}.calendar-day{background:#fff;border-bottom:1px solid #dce5f1;border-right:1px solid #dce5f1;min-height:123px;padding:9px 8px}.calendar-day.outside{background:#fbfcfe}.date-number{color:#253b61;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.outside .date-number{color:#9daaba}.saturday .date-number{color:#075be5}.sunday .date-number{color:#e95151}.lesson{text-align:left;cursor:pointer;background:#fff;border:1px solid;border-radius:7px;grid-template-columns:14px 1fr;align-items:center;column-gap:4px;width:100%;margin:0 0 5px;padding:6px 5px;font:600 10px/1.22 inherit;transition:box-shadow .16s,transform .16s;display:grid}.lesson:hover,.lesson.is-selected{transform:translateY(-1px);box-shadow:0 0 0 2px #0c64ed33}.lesson svg{stroke-width:2.2px;grid-row:span 2}.lesson span{white-space:nowrap}.lesson small{font-size:9px;font-weight:600}.status-regular{color:#0f5cd9;background:#fff;border-color:#80b0ff}.status-adjusting{color:#e75527;background:#fffdfc;border-color:#ff9a7e}.status-makeup{color:#12823a;background:#fdfffd;border-color:#74c98c}.status-pending{color:#657083;background:#fff;border-color:#a9b1bf}.detail-panel{background:#fff;padding:28px 22px}.selected-date{letter-spacing:-.04em;margin-bottom:20px;font-size:21px;font-weight:700}.detail-card{border:1px solid;border-radius:10px;padding:20px}.detail-time{align-items:center;gap:12px;margin-bottom:17px;display:flex}.detail-time b{letter-spacing:-.04em;font-size:22px}.detail-card>span{color:#fff;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:600;display:inline-block}.detail-card.status-regular{background:#f6faff;border-color:#96bdfd}.detail-card.status-regular>span{background:#0d63e7}.detail-card.status-adjusting{background:#fff9f7;border-color:#ffaf96}.detail-card.status-adjusting>span{background:#f1663b}.detail-card.status-makeup{background:#f6fcf7;border-color:#91d5a1}.detail-card.status-makeup>span{background:#208d42}.detail-card.status-pending{background:#fbfcfd;border-color:#c7ced8}.detail-card.status-pending>span{background:#667286}.detail-card dl{gap:11px;margin:20px 0 0;display:grid}.detail-card dl div{grid-template-columns:54px 1fr;gap:4px;font-size:12px;display:grid}.detail-card dt{color:#6a7a92}.detail-card dd{color:#1e3457;margin:0;font-weight:600}.remaining{text-align:center;border-bottom:1px solid #e4ebf3;padding:23px 0 20px}.remaining span{color:#657692;font-size:12px;display:block}.remaining b{color:#0a62e9;letter-spacing:-.06em;font-size:34px}.remaining b small{margin-left:4px;font-size:13px}.remaining p{color:#8794a8;margin:0;font-size:11px}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;min-height:48px;padding:0 16px;font:600 14px inherit}.primary-button{color:#fff;background:#0d61e8;border:1px solid #075be7;box-shadow:0 3px 8px #0957d629}.secondary-button{color:#154488;background:#fff;border:1px solid #bfcfe8}.action-button{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:18px;display:flex}.timezone{color:#7d8ba0;text-align:center;margin:21px 0;font-size:11px;line-height:1.6}.toast{z-index:10;color:#fff;background:#102d5a;border-radius:9px;align-items:center;gap:9px;max-width:min(620px,100vw - 32px);padding:13px 16px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #0c25584a}.toast button{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:5px;display:grid}.modal-backdrop{z-index:20;background:#0b1f455c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.adjustment-sheet{background:#fff;border-radius:15px;width:min(760px,100%);padding:27px;box-shadow:0 25px 80px #0b1f4566}.adjustment-sheet header{border-bottom:1px solid #e5ebf4;justify-content:space-between;align-items:start;padding-bottom:19px;display:flex}.adjustment-sheet header p{color:#6a7b95;margin:0 0 5px;font-size:12px}.adjustment-sheet header h2{letter-spacing:-.04em;margin:0;font-size:21px}.adjustment-sheet header>button{color:#566980;cursor:pointer;background:0 0;border:0}.source-lesson{color:#d5532a;background:#fff7f4;border-radius:8px;align-items:center;gap:10px;margin:19px 0;padding:13px;display:flex}.source-lesson div{gap:3px;display:grid}.source-lesson b{font-size:13px}.source-lesson span{color:#9a6c5c;font-size:11px}.slot-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.slot-columns h3{margin:0 0 9px;font-size:13px}.slot-columns input{color:#263b5d;border:1px solid #cad7e8;border-radius:7px;width:100%;margin-bottom:8px;padding:10px;font:13px inherit}.slot-add{color:#0c61e8;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:3px 0;font:600 12px inherit;display:flex}.overlap-box{background:#effaf6;border:1px solid #a6dac6;border-radius:9px;margin:22px 0;padding:15px}.overlap-box span{color:#40766a;font-size:12px;display:block}.overlap-box b{color:#0f8462;margin:4px 0 12px;font-size:20px;display:block}.overlap-box div{gap:8px;display:flex}.time-option{color:#247d63;cursor:pointer;background:#fff;border:1px solid #81c7ae;border-radius:6px;padding:8px 11px;font:600 12px inherit}.time-option.selected{color:#fff;background:#0b8965;border-color:#0a805d}.save-check{color:#455a7a;align-items:center;gap:8px;font-size:12px;display:flex}.save-check input{accent-color:#0b62e8}.adjustment-sheet footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.adjustment-sheet footer .primary-button{min-width:160px}.adjustment-sheet footer .secondary-button{min-width:94px}@media (width<=1050px){.rail{width:74px;padding-inline:8px}.brand-mark{padding-left:15px}.brand-mark span,.rail-item span,.rail-help span{display:none}.rail-item{padding:12px}.rail-item.active:before{left:-8px}.content-layout{grid-template-columns:minmax(560px,1fr) 300px}.calendar-day{min-height:110px;padding:7px 5px}.lesson{font-size:9px}.lesson small{font-size:8px}.detail-panel{padding:25px 16px}.app-header{padding-inline:22px}.header-tools{right:22px}}@media (width<=820px){.rail{display:none}.app-header{justify-content:flex-start;height:65px}.teams-notice{padding:8px 10px;font-size:11px}.header-tools{right:15px}.account-select span{display:none}.account-select{padding:9px}.mobile-menu{color:#1a3964;background:0 0;border:0;place-items:center;display:grid}.workspace-main{padding-inline:14px}.context-bar{gap:10px;min-height:65px}.student-field button{min-width:110px;font-size:13px}.role-toggle{display:none}.content-layout{display:block}.calendar-area{border-right:0;padding-right:0}.detail-panel{border-top:1px solid #e0e8f3;padding:22px 4px}.legend{white-space:nowrap;justify-content:flex-start;gap:10px;overflow:auto}.calendar-day{min-height:91px;padding:5px 3px}.lesson{border-radius:5px;grid-template-columns:11px 1fr;padding:4px 2px;font-size:8px}.lesson svg{width:11px}.lesson small{display:none}.weekday-row span{font-size:11px}.calendar-toolbar h1{font-size:22px}.subject-tabs{gap:0}.subject-tabs button{padding:0 13px;font-size:14px}.teams-link{padding:8px;font-size:0}.teams-link svg{margin:0}.selected-date{font-size:19px}.detail-card{padding:16px}.remaining{padding:18px 0}.adjustment-sheet{max-height:calc(100vh - 28px);padding:20px;overflow:auto}.slot-columns{grid-template-columns:1fr}.modal-backdrop{padding:14px}}@media (width<=440px){.teams-notice{max-width:250px}.teams-notice span{line-height:1.35}.student-field label{display:none}.student-field button{min-width:100px}.calendar-toolbar{grid-template-columns:1fr auto 1fr}.month-control{gap:4px}.month-control .today-button{display:none}.legend{font-size:10px}.calendar-day{min-height:75px}.date-number{margin-bottom:4px;font-size:11px}.lesson{margin-bottom:3px}.calendar-toolbar h1{font-size:19px}.subject-tabs button{padding:0 8px;font-size:13px}.subject-tabs svg{display:none}}.student-select{color:#1b3156;background:#fff;border:1px solid #cfdced;border-radius:7px;min-width:155px;padding:8px 30px 8px 10px;font:600 15px inherit}.student-name{color:#1b3156;min-width:155px;font-size:15px;font-weight:600}@media (width<=820px){.student-select,.student-name{min-width:110px;font-size:13px}}@media (width<=440px){.student-select,.student-name{min-width:100px}}.login-page{background:linear-gradient(140deg,#f5f9ff,#fff 58%,#f0f8ff);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce7f7;border-radius:18px;width:min(440px,100%);padding:42px;box-shadow:0 18px 55px #174d9b16}.login-logo{color:#0a60e8;letter-spacing:-.06em;align-items:center;gap:9px;font-size:22px;font-weight:700;display:flex}.login-card h1{letter-spacing:-.06em;margin:28px 0 13px;font-size:27px;line-height:1.35}.login-card>p{color:#61738f;font-size:14px;line-height:1.85}.google-button{color:#18365f;cursor:pointer;background:#fff;border:1px solid #b7c9e5;border-radius:9px;width:100%;margin:22px 0 12px;padding:13px;font:600 14px inherit;box-shadow:0 2px 7px #173c7e12}.google-button:disabled{opacity:.65;cursor:wait}.login-card small{color:#8290a4;font-size:11px;line-height:1.6;display:block}.login-error{color:#cf3f3f!important;font-size:12px!important}.login-notice{color:#58708e;border-top:1px solid #e6edf6;align-items:flex-start;gap:7px;margin-top:24px;padding-top:17px;font-size:11px;line-height:1.6;display:flex}.loading-message{color:#4e6689;font-size:14px}.invite-label{color:#405878;gap:7px;margin-top:20px;font-size:12px;font-weight:600;display:grid}.invite-label input{color:#17365f;letter-spacing:.07em;text-transform:uppercase;border:1px solid #b9cce6;border-radius:8px;width:100%;padding:13px;font:500 16px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.invite-label input:focus{border-color:#0b63eb;outline:2px solid #82b6ff}.empty-detail{text-align:center;color:#6b7f9b;align-content:center;justify-items:center;gap:10px;display:grid}.empty-detail svg{color:#78a7ed}.empty-detail h2{color:#24446f;margin:0;font-size:17px}.empty-detail p{max-width:220px;margin:0;font-size:12px;line-height:1.75}.teams-dialog{text-align:center;background:#fff;border-radius:15px;width:min(490px,100%);padding:34px;position:relative;box-shadow:0 25px 80px #0b1f4566}.teams-dialog>svg{color:#0a61e8}.teams-dialog>p{color:#667b99;margin:13px 0 3px;font-size:12px}.teams-dialog h2{color:#17355f;letter-spacing:-.05em;margin:0;font-size:24px}.dialog-close{color:#687c97;cursor:pointer;background:0 0;border:0;position:absolute;top:15px;right:15px}.notification-preview{text-align:left;color:#405878;white-space:pre-wrap;background:#f7faff;border:1px solid #d6e3f3;border-radius:8px;margin:19px 0;padding:13px;font-size:12px;line-height:1.75}.teams-dialog .primary-button{justify-content:center;align-items:center;gap:7px;width:100%;display:flex}.dialog-text-button{color:#2863b5;cursor:pointer;background:0 0;border:0;padding:13px;font:600 12px inherit}.teams-dialog small{color:#8190a4;font-size:10px;line-height:1.7;display:block}.dialog-error{color:#d44b4b!important;margin:0 0 10px!important;font-size:11px!important}.dialog-error button{color:#0a61e8;cursor:pointer;background:0 0;border:0;margin-left:7px;font:600 11px inherit;text-decoration:underline}.teams-launch-options{grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;display:grid}.teams-launch-options .primary-button,.teams-launch-options .secondary-button{justify-content:center;align-items:center;gap:6px;width:100%;font-size:12px;display:flex}@media (width<=480px){.teams-launch-options{grid-template-columns:1fr}}.management-page{color:#17345e;background:#f7faff;min-height:100vh}.management-header{background:#fff;border-bottom:1px solid #e1eaf6;justify-content:space-between;align-items:center;min-height:110px;padding:23px 6vw;display:flex}.management-header h1{letter-spacing:-.06em;margin:7px 0 0;font-size:26px}.back-link{color:#3163a7;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;font:600 12px inherit;display:flex}.management-layout{grid-template-columns:230px minmax(0,790px);gap:23px;max-width:1100px;margin:0 auto;padding:34px 24px;display:grid}.student-list{background:#fff;border:1px solid #dce7f5;border-radius:12px;height:max-content;padding:13px}.list-title{justify-content:space-between;align-items:center;padding:5px 5px 10px;font-size:14px;display:flex}.list-title button{color:#1264e9;cursor:pointer;background:0 0;border:0}.student-list>button{text-align:left;color:#344e76;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:3px;width:100%;padding:11px;font:600 13px inherit;display:grid}.student-list>button small{color:#8292aa;font-size:10px;font-weight:500}.student-list>button.selected{color:#0c62e6;background:#eaf3ff}.management-content{gap:17px;display:grid}.management-heading{justify-content:space-between;align-items:end;display:flex}.management-heading p{color:#7385a0;margin:0;font-size:12px}.management-heading h2{letter-spacing:-.05em;margin:4px 0 0;font-size:24px}.outline-mini{color:#1755aa;cursor:pointer;background:#fff;border:1px solid #b9cce7;border-radius:7px;padding:8px 10px;font:600 12px inherit}.manage-tabs{border-bottom:1px solid #dce6f3;align-items:center;gap:9px;display:flex}.manage-tabs button{color:#586d8c;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 13px;font:600 13px inherit}.manage-tabs button.active{color:#0b61e9;border-bottom-color:#0b61e9}.manage-tabs button:last-child{color:#0b61e9;align-items:center;gap:4px;margin-left:auto;display:flex}.form-section{background:#fff;border:1px solid #dce7f5;border-radius:11px;padding:20px}.form-section h3{margin:0 0 5px;font-size:15px}.form-section p{color:#7889a2;margin:0;font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.form-grid label,.rule-row label{color:#61738f;gap:6px;font-size:11px;font-weight:600;display:grid}.form-grid input,.form-grid select,.rule-row input,.rule-row select{color:#19375f;background:#fff;border:1px solid #c7d6e9;border-radius:7px;width:100%;padding:10px;font:13px inherit}.section-row{justify-content:space-between;align-items:start;display:flex}.rule-row{background:#f6f9fd;border-radius:8px;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:16px;padding:14px;display:grid}.rule-duration{color:#54708e;white-space:nowrap;padding:10px 4px;font-size:12px}.contract-grid{grid-template-columns:1fr 1fr 1.25fr}.count-preview{border-left:1px solid #e1e9f3;align-content:center;gap:2px;padding-left:13px;display:grid}.count-preview span,.count-preview small{color:#7587a0;font-size:10px}.count-preview b{color:#0b62e8;font-size:18px}.carryover{justify-content:space-between;align-items:center;display:flex}.management-page+.toast{z-index:30}.availability-editor{border:1px solid #dbe5f2;border-radius:9px;margin:18px 0;padding:15px}.availability-editor h3,.read-only-slots h3{margin:0 0 6px;font-size:14px}.availability-editor>p,.read-only-slots p{color:#657692;margin:0 0 12px;font-size:12px}.availability-row{grid-template-columns:1.3fr 1fr 14px 1fr 30px;align-items:center;gap:7px;margin:7px 0;display:grid}.availability-row input{border:1px solid #cad7e8;border-radius:7px;width:100%;min-width:0;padding:8px;font:12px inherit}.availability-row button{color:#c34a37;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.availability-save{min-height:38px;margin:12px 0 0}.read-only-slots{background:#f7f9fc;border-radius:8px;margin:16px 0;padding:13px}.read-only-slots span{color:#435b80;background:#fff;border-radius:5px;margin:3px 6px 3px 0;padding:5px 7px;font-size:12px;display:inline-block}.overlap-box p{color:#40766a;margin:8px 0 0;font-size:12px;line-height:1.6}.confirm-makeup{width:100%;margin-top:-5px}.save-confirm{background:#fffffff5;border-radius:15px;align-content:center;justify-items:start;gap:14px;padding:34px;display:grid;position:absolute;inset:0;box-shadow:0 0 0 1px #d7e1ef}.save-confirm p{color:#17355f;margin:0;font-size:19px;font-weight:700}.save-confirm small{color:#586b86;line-height:1.7}.save-confirm>div{justify-self:end;gap:8px;display:flex}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=720px){.management-header{padding:18px 20px}.management-layout{grid-template-columns:1fr;padding:20px 14px}.student-list{gap:5px;display:flex;overflow:auto}.list-title{min-width:70px}.student-list>button{min-width:130px}.form-grid,.contract-grid,.rule-row{grid-template-columns:1fr}.management-heading h2{font-size:21px}.carryover{align-items:start;gap:14px}.management-header .primary-button{min-height:42px;font-size:12px}}.empty-student-list{color:#718096;margin:20px 12px;font-size:.84rem;line-height:1.7}.pending-lesson-list{gap:9px;margin-top:15px;display:grid}.pending-lesson-row{background:#f9fbfe;border:1px solid #dce6f3;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.pending-lesson-row span{gap:3px;display:grid}.pending-lesson-row b{color:#243f68;font-size:13px}.pending-lesson-row small{color:#71839d;font-size:11px}@media (width<=560px){.pending-lesson-row{flex-direction:column;align-items:stretch}.pending-lesson-row button{width:100%}}.carryover-alert{color:#694814;background:#fffaf0;border:1px solid #f0c77b;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 0;padding:13px 16px;display:flex}.carryover-alert>div:first-child{gap:3px;display:grid}.carryover-alert b{font-size:14px}.carryover-alert span{color:#826638;font-size:11px}.carryover-alert>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}@media (width<=620px){.carryover-alert{flex-direction:column;align-items:stretch}.carryover-alert>div:last-child{justify-content:stretch}.carryover-alert button{flex:1}}.lesson{grid-template-columns:14px minmax(0,1fr);overflow:hidden}.lesson span,.lesson small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=820px){.lesson{grid-template-columns:11px minmax(0,1fr)}}.status-noLesson{color:#657083;background:#f7f8fa;border-color:#a9b1bf}.detail-card.status-noLesson{background:#f7f8fa;border-color:#c7ced8}.detail-card.status-noLesson>span{background:#667286}.notification-history-button{color:#294d7e;cursor:pointer;background:#fff;border:1px solid #cbd9ec;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font:600 12px inherit;display:flex}.notification-history{background:#fff;border-radius:14px;width:min(680px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 25px 80px #0b1f4566}.notification-history header{border-bottom:1px solid #e4ebf4;justify-content:space-between;align-items:start;padding-bottom:16px;display:flex}.notification-history header p{color:#6b7c96;margin:0 0 4px;font-size:12px}.notification-history h2{margin:0}.notification-history header button{color:#566980;cursor:pointer;background:0 0;border:0}.notification-history-list{gap:10px;margin-top:16px;display:grid}.notification-history article{border:1px solid #dae4f1;border-radius:9px;gap:8px;padding:13px;display:grid}.notification-history article>div{justify-content:space-between;gap:10px;display:flex}.notification-history time,.notification-history small{color:#74859f;font-size:11px}.notification-history article p{color:#263d61;white-space:pre-wrap;margin:0;font-size:12px}.notification-history article button{justify-self:end}.empty-history{color:#6b7c96;padding:18px 0}.mobile-nav{display:none}@media (width<=820px){.notification-history-button,.calendar-unlink{display:none}.app-header{position:relative}.mobile-nav{z-index:12;background:#fff;border:1px solid #d7e2f1;border-radius:10px;min-width:170px;padding:7px;display:grid;position:absolute;top:58px;right:14px;box-shadow:0 12px 30px #1737652e}.mobile-nav button{color:#294566;text-align:left;background:#fff;border:0;border-radius:7px;align-items:center;gap:8px;padding:10px;font:600 13px inherit;display:flex}.mobile-nav button:hover{background:#f0f6ff}.notification-history{padding:19px}.notification-history article>div{flex-direction:column;align-items:start}}.calendar-toolbar button:disabled{cursor:not-allowed;opacity:.38}.deadline-notice{color:#8c5814;background:#fff9ef;border:1px solid #f2c58c;border-radius:8px;align-items:flex-start;gap:8px;margin-top:18px;padding:12px;font-size:12px;line-height:1.6;display:flex}.deadline-notice svg{flex:none;margin-top:1px}.teams-agreed-check{color:#294c7c;background:#f7faff;border:1px solid #b9cce7;border-radius:8px;align-items:center;gap:8px;margin-top:18px;padding:12px;font-size:12px;font-weight:600;display:flex}.teams-agreed-check input{accent-color:#0b62e8}.calendar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.calendar-actions .teams-link{margin-left:0}.calendar-unlink,.sync-retry{color:#526985;cursor:pointer;background:#fff;border:1px solid #c7d6e9;border-radius:8px;padding:8px 10px;font:600 11px inherit}.sync-retry{color:#9a5b0d;background:#fff9ef;border-color:#e4aa60;align-items:center;gap:5px;display:flex}@media (width<=820px){.calendar-unlink{display:none}.sync-retry{max-width:190px;line-height:1.35}.calendar-actions{gap:5px}}@media (width<=560px){.sync-retry{padding:8px;font-size:0}.sync-retry svg{width:16px}.calendar-actions{margin-left:auto}}.danger-button{color:#ae392c;border-color:#e2aaa2}.outcome-dialog{background:#fff;border-radius:16px;width:min(680px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 25px 80px #0b1f4566}.outcome-dialog>header{border-bottom:1px solid #e4ebf4;justify-content:space-between;align-items:flex-start;padding:24px 26px 18px;display:flex}.outcome-dialog>header p{color:#687b98;margin:0 0 4px;font-size:12px}.outcome-dialog>header h2{color:#17345e;margin:0;font-size:23px}.outcome-dialog>header button{color:#687c97;cursor:pointer;background:0 0;border:0}.outcome-lesson{color:#294263;background:#f6f9fd;justify-content:space-between;gap:12px;padding:14px 26px;font-size:13px;display:flex}.outcome-lesson span{color:#657995}.outcome-form{padding:20px 26px 24px}.outcome-form fieldset{border:0;margin:0;padding:0}.outcome-form legend{color:#263d60;margin-bottom:10px;font-size:13px;font-weight:700}.outcome-options{grid-template-columns:1fr 1fr;gap:9px;display:grid}.outcome-option{cursor:pointer;border:1px solid #cfdaea;border-radius:9px;align-items:flex-start;gap:9px;min-height:74px;padding:12px;display:flex}.outcome-option:has(input:checked){background:#f3f8ff;border-color:#1767e9;box-shadow:0 0 0 1px #1767e9}.outcome-option input{accent-color:#0d61e8;margin-top:3px}.outcome-option span{gap:4px;display:grid}.outcome-option b{color:#1d365b;font-size:12px}.outcome-option small{color:#72829a;font-size:10px;line-height:1.55}.outcome-effect{color:#1e579d;background:#eef6ff;border-radius:8px;gap:4px;margin:14px 0;padding:12px 14px;display:grid}.outcome-effect span{font-size:10px;font-weight:700}.outcome-effect b{font-size:12px}.outcome-agreement{color:#77551d;background:#fffaf0;border:1px solid #f0c680;border-radius:8px;align-items:center;gap:8px;margin:13px 0;padding:12px;font-size:12px;font-weight:700;display:flex}.outcome-agreement input{accent-color:#0d61e8}.outcome-memo{color:#3d526f;gap:7px;font-size:12px;font-weight:700;display:grid}.outcome-memo textarea{resize:vertical;color:#263c5d;border:1px solid #cbd8e9;border-radius:8px;padding:10px;font:12px inherit}.outcome-error{color:#c83f3f;margin:10px 0 0;font-size:12px}.outcome-form footer{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.outcome-form footer .primary-button{min-width:190px}@media (width<=620px){.outcome-dialog>header,.outcome-form{padding-left:18px;padding-right:18px}.outcome-lesson{padding-left:18px;padding-right:18px;display:grid}.outcome-options{grid-template-columns:1fr}.outcome-form footer{grid-template-columns:1fr;display:grid}.outcome-form footer .primary-button{grid-row:1;min-width:0}.outcome-form footer .secondary-button{grid-row:2}}.invitation-section{gap:14px;display:grid}.invitation-actions{flex-wrap:wrap;gap:10px;display:flex}.invitation-code{background:#f4f8ff;border:1px solid #bfd5ff;border-radius:12px;gap:8px;padding:14px;display:grid}.invitation-code span{color:#50617a;font-size:13px}.invitation-code strong{letter-spacing:.12em;font-size:24px}.invitation-code .primary-button{justify-self:start}
