.teacher-attendance-tabs{display:flex;gap:4px;border-bottom:1px solid #d8d0ef;margin:0 0 20px}.teacher-attendance-tabs button{border:1px solid #d8d0ef;border-bottom:0;background:#fff;color:#332151;border-radius:8px 8px 0 0;padding:12px 24px;font:inherit;font-weight:750;cursor:pointer}.teacher-attendance-tabs button[aria-pressed=true]{color:#603bcc;box-shadow:inset 0 -3px #704adb;background:#f8f5ff}
.makeup-planner{color:#211247;min-width:0}.makeup-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.makeup-title h2{font-size:27px;margin:0}.makeup-title p{color:#625570;margin:8px 0 0}.makeup-title>span{font-size:12px;color:#6f4965}.makeup-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.makeup-toolbar input,.makeup-toolbar select,.makeup-detail input,.makeup-detail select,.makeup-detail textarea{border:1px solid #cfc5e1;background:#fff;color:#2a194b;font:inherit;border-radius:8px;padding:10px;min-width:0;max-width:100%}.makeup-toolbar>input{flex:1;min-width:150px}.makeup-toolbar>select{max-width:220px}.makeup-week{display:flex;align-items:center;gap:5px}.makeup-week label{display:flex;align-items:center;gap:7px;font-size:12px}.makeup-toolbar .teacher-button{min-height:39px;padding:8px 11px}.makeup-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px}.makeup-table-wrap{overflow:auto;border:1px solid #cfc5e1;border-radius:10px;background:#fff;max-height:70vh}.makeup-table{border-collapse:separate;border-spacing:0;width:100%;min-width:870px;table-layout:fixed}.makeup-table th,.makeup-table td{border-right:1px solid #ded6ea;border-bottom:1px solid #ded6ea;padding:10px 6px;vertical-align:middle;text-align:center}.makeup-table th:last-child,.makeup-table td:last-child{border-right:0}.makeup-table tr:last-child>*{border-bottom:0}.makeup-table thead th{position:sticky;top:0;z-index:3;background:#f8f6fd;font-size:13px;height:65px}.makeup-table thead th span{display:block;margin-top:5px}.makeup-table thead th.is-today{background:#eee7ff;color:#5326bd}.makeup-table th:first-child{position:sticky;left:0;width:200px;text-align:left;padding:13px 12px;background:#fff;z-index:2}.makeup-table thead th:first-child{z-index:4;background:#f8f6fd;font-size:12px}.makeup-table tbody th b{display:block;font-size:14px}.makeup-table tbody th small{display:block;color:#574963;font-size:11px;line-height:1.45;margin-top:4px;font-weight:500}.makeup-missed{display:block;font-size:11px;color:#a33246;margin-top:6px;font-weight:550}.makeup-table td{height:104px}.makeup-table td.is-selected{box-shadow:inset 0 0 0 2px #7550d3;background:#f8f5ff}.makeup-slot{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:9px 3px;margin:3px 0;border:1px solid #b7adca;border-radius:6px;background:#fff;color:#2c2040;font:inherit;cursor:pointer}.makeup-slot b{font-size:11px;white-space:nowrap;font-weight:650}.makeup-slot span{font-size:10px}.makeup-slot small{font-size:9px}.makeup-slot.is-discussing,.makeup-badge.is-discussing{color:#895000;border-color:#dfa33c;background:#fff4cf}.makeup-slot.is-agreed,.makeup-badge.is-agreed{color:#23613b;border-color:#7bab86;background:#e9f5e9}.makeup-slot.is-declined,.makeup-badge.is-declined{color:#9a263a;border-color:#dd8a98;background:#fff0f2}.makeup-slot.is-completed,.makeup-badge.is-completed{color:#245d9c;border-color:#91b2d9;background:#edf5ff}.makeup-slot.is-cancelled,.makeup-badge.is-cancelled{color:#615c69;border-color:#bbb7c1;background:#f1f0f3}.makeup-slot.is-history{border-style:dashed}.makeup-add{height:33px;min-width:34px;background:transparent;border:1px solid transparent;border-radius:6px;color:#7145cb;font-size:23px;cursor:pointer}.makeup-add:hover,.makeup-add:focus-visible{border-color:#cfc1ea;background:#f3edff}.makeup-add.has-slots{height:22px;font-size:17px}.makeup-dash{color:#9a91ab}.makeup-detail{padding:20px;background:#fff;border:1px solid #cfc5e1;border-radius:10px;min-width:0;position:sticky;top:18px}.makeup-detail h2{font-size:21px;margin:0 0 8px}.makeup-detail h3{font-size:17px;margin:15px 0}.makeup-detail p{font-size:13px;line-height:1.5}.makeup-detail header{padding-bottom:12px;border-bottom:1px solid #e0d8ed}.makeup-detail header p{color:#655875;margin:0}.makeup-selected-time{display:flex;flex-direction:column;align-items:start;gap:13px;margin:22px 0}.makeup-selected-time>b{font-size:14px}.makeup-selected-time strong{font-size:22px}.makeup-selected-time>span:last-child{font-size:12px}.makeup-badge{display:inline-flex;align-items:center;border:1px solid #b7adca;border-radius:5px;padding:5px 7px;font-size:11px;color:#322344;background:#fff;white-space:nowrap}.makeup-actions{display:grid;gap:10px}.makeup-actions .teacher-button{width:100%;justify-content:center;white-space:normal;font-size:12px;min-height:42px}.makeup-actions small,.makeup-helper{color:#645774;font-size:11px;line-height:1.5}.makeup-parent{padding-top:10px;border-top:1px solid #e2dbed}.makeup-detail-footer{padding-top:20px}.makeup-detail-footer button{font-size:12px}.makeup-detail form{display:grid;gap:13px}.makeup-detail label{display:grid;gap:6px;font-size:12px;font-weight:650}.makeup-detail label>*{width:100%;font-size:13px}.makeup-time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.makeup-history{border-top:1px solid #e5deee;padding-top:13px;margin-top:16px;font-size:12px}.makeup-history summary{cursor:pointer;color:#513778}.makeup-history button{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 0;border:0;background:none;color:#392451;font:inherit;text-align:left;cursor:pointer}.makeup-detail-empty{padding:50px 0;text-align:center;color:#635571}.makeup-detail-empty>span{font-size:40px;color:#8568ba}.makeup-info{background:#eff5fc;color:#315374;padding:10px;border-radius:7px}.makeup-note{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8f6fb;padding:10px}.makeup-legend{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:18px}.makeup-legend>span:last-child{margin-left:auto;color:#6a587f;font-size:11px}.makeup-empty,.makeup-loading{padding:35px!important;color:#695a7b;text-align:center}.makeup-error{padding:13px;background:#fff0f1;border:1px solid #de9aa4;border-radius:8px;color:#882737;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.makeup-planner button:disabled{opacity:.5;cursor:not-allowed}.makeup-planner button:focus-visible{outline:3px solid #ac94e2;outline-offset:2px}.makeup-error .teacher-button{font-size:11px}
.makeup-appointments{display:grid;gap:9px}.makeup-appointments h3{margin:0 0 8px}.makeup-appointments button{display:flex;flex-wrap:wrap;gap:12px;text-align:left}.makeup-table{min-width:800px}.makeup-table th:first-child{width:180px}
@media(min-width:1500px){.makeup-layout{grid-template-columns:minmax(0,1fr) 310px}.makeup-table{min-width:880px}.makeup-slot b{font-size:12px}.makeup-slot span{font-size:11px}}
@media(max-width:1100px){.makeup-layout{grid-template-columns:minmax(0,1fr) 250px}.makeup-detail{padding:15px}}
@media(max-width:900px){.makeup-layout{grid-template-columns:minmax(0,1fr)}.makeup-detail{position:static}.makeup-title{display:block}.makeup-title>span{display:block;margin-top:10px}.makeup-table-wrap{max-height:60vh}.makeup-toolbar>select{flex:1;max-width:100%}.makeup-legend>span:last-child{width:100%;margin:0}.makeup-error{display:block}.makeup-error button{margin-top:10px}}
@media(max-width:500px){.makeup-title h2{font-size:22px}.makeup-title p{font-size:13px}.makeup-week{width:100%;justify-content:space-between}.makeup-week label span{display:none}.makeup-week input{max-width:145px;padding:8px}.makeup-toolbar>input{width:100%;flex-basis:100%}.makeup-table th:first-child{width:160px}.makeup-table{min-width:800px}.makeup-table tbody th b{font-size:12px}.makeup-toolbar>select{font-size:12px;min-width:0}.makeup-detail{scroll-margin-top:10px}.teacher-attendance-tabs button{padding:11px 19px}}

.makeup-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.makeup-title-actions>span{font-size:12px;color:#6f4965}.makeup-guide-button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid #8a67df;border-radius:8px;background:#fff;color:#4e2dae;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.makeup-guide-button>span{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#704adb;color:#fff;font-size:13px}.makeup-guide-button:hover{background:#f5f0ff}.makeup-help-button{display:inline-grid!important;place-items:center;flex:0 0 auto;width:23px!important;height:23px;min-width:23px!important;min-height:23px!important;padding:0!important;border:1px solid #8c72c7;border-radius:50%;background:#fff;color:#5b37bd;font-family:inherit!important;font-size:13px!important;font-weight:700!important;line-height:1!important;cursor:pointer}.makeup-help-button:hover{background:#f2ecff}.makeup-heading-help{display:flex!important;align-items:center;justify-content:space-between;gap:6px;margin:0!important}.makeup-control-help{display:flex;align-items:center;gap:6px;max-width:250px;flex:0 1 220px}.makeup-control-help select{width:100%}.makeup-status-help{display:inline-flex;align-items:center;gap:7px}.makeup-action-help{position:relative}.makeup-action-help .makeup-help-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.12);color:#fff;z-index:1}.makeup-action-help .teacher-button{padding-right:42px}.makeup-action-help .teacher-button:disabled+.makeup-help-button{border-color:#8c72c7;background:#fff;color:#5b37bd}

.makeup-help-popover{position:fixed;z-index:14000;box-sizing:border-box;padding:18px 42px 17px 18px;border:1px solid #bca8e8;border-radius:12px;background:#fff;color:#251442;box-shadow:0 16px 45px rgba(34,18,73,.23);font-family:inherit}.makeup-help-popover:before{content:"";position:absolute;top:-7px;left:calc(50% - 7px);width:13px;height:13px;border-left:1px solid #bca8e8;border-top:1px solid #bca8e8;background:#fff;transform:rotate(45deg)}.makeup-help-popover.is-above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.makeup-help-popover h3{margin:0 0 8px;color:#3c2085;font-size:16px;line-height:1.3}.makeup-help-popover p{margin:0 0 10px;font-size:13px;line-height:1.5}.makeup-help-popover small{display:block;color:#6b5d79;font-size:12px;line-height:1.45}.makeup-help-close,.makeup-tour-close{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;background:transparent;color:#5c4779;font-family:inherit;font-size:22px;font-weight:400;line-height:1;cursor:pointer}

.makeup-tour-spotlight{position:fixed;z-index:15000;box-sizing:border-box;border:3px solid #7b4fe5;border-radius:12px;background:transparent;box-shadow:0 0 0 9999px rgba(28,17,54,.58),0 0 0 6px rgba(255,255,255,.9);pointer-events:none;transition:left .16s ease,top .16s ease,width .16s ease,height .16s ease}.makeup-tour-card{position:fixed;z-index:15001;box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:23px;border:1px solid #bca8e8;border-radius:14px;background:#fff;color:#251442;box-shadow:0 18px 56px rgba(24,11,54,.34);font-family:inherit}.makeup-tour-card>small{display:block;margin-bottom:8px;color:#6941d2;font-size:11px;font-weight:800;letter-spacing:.06em}.makeup-tour-card h2{margin:0 0 10px;padding-right:24px;font-size:21px;line-height:1.25}.makeup-tour-card p{margin:0;font-size:14px;line-height:1.55;color:#4f4261}.makeup-tour-progress{display:flex;gap:7px;margin:20px 0 15px}.makeup-tour-progress i{width:8px;height:8px;border:1px solid #9a84cf;border-radius:50%;background:#fff}.makeup-tour-progress i.is-current{border-color:#6740d5;background:#6740d5}.makeup-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.makeup-tour-actions button{min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:8px;background:#fff;color:#6244aa;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.makeup-tour-actions button.is-primary{border-color:#6c43d6;background:#6c43d6;color:#fff}.makeup-tour-actions button:hover{background:#f3edff}.makeup-tour-actions button.is-primary:hover{background:#5732bd}.makeup-tour-card:before{content:"";position:absolute;width:15px;height:15px;background:#fff;transform:rotate(45deg)}.makeup-tour-card[data-side=below]:before{top:-8px;left:calc(50% - 8px);border-left:1px solid #bca8e8;border-top:1px solid #bca8e8}.makeup-tour-card[data-side=above]:before{bottom:-8px;left:calc(50% - 8px);border-right:1px solid #bca8e8;border-bottom:1px solid #bca8e8}.makeup-tour-card[data-side=left]:before{right:-8px;top:calc(50% - 8px);border-right:1px solid #bca8e8;border-top:1px solid #bca8e8}.makeup-tour-card[data-side=right]:before{left:-8px;top:calc(50% - 8px);border-left:1px solid #bca8e8;border-bottom:1px solid #bca8e8}

@media(max-width:900px){.makeup-title-actions{justify-content:flex-start;margin-top:12px}.makeup-control-help{flex:1 1 180px;max-width:none}.makeup-toolbar>.makeup-control-help select{font-size:12px;min-width:0}}
@media(max-width:500px){.makeup-guide-button{width:100%;justify-content:center}.makeup-title-actions>span{width:100%}.makeup-help-popover{padding:16px 40px 15px 16px}.makeup-tour-card{padding:20px}.makeup-tour-card h2{font-size:19px}.makeup-tour-card p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.makeup-tour-spotlight{transition:none}}
.makeup-help-popover button:focus-visible,.makeup-tour-card button:focus-visible{outline:3px solid #ac94e2;outline-offset:2px}

.makeup-invitation-preview{border:1px solid #c6b7e5;background:#f8f5ff;border-radius:10px;padding:13px;margin:14px 0;color:#35264d}.makeup-invitation-preview h4{font-size:13px;color:#35264d;margin:0 0 9px}.makeup-invitation-preview p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;margin:0;color:#35264d;font-weight:400}.makeup-invitation-preview small{display:block;font-size:12px;line-height:1.5;color:#544361;margin-top:10px}.makeup-invitation-buttons{display:grid;gap:9px}.makeup-invitation-buttons .teacher-button{white-space:normal;line-height:1.4;width:100%;font-size:13px}.makeup-invitation-sent{font-size:13px;color:#225438;background:#edf7ef;padding:11px;border:1px solid #97bb9e;border-radius:8px;line-height:1.5}.makeup-invitation-buttons .teacher-button:disabled{cursor:default}

.makeup-invitation-buttons .teacher-button:not(.is-soft),.makeup-actions [data-mp-action="send"]{background:#6136cf;color:#fff;border-color:#6136cf}.makeup-invitation-buttons .teacher-button:not(.is-soft):hover,.makeup-actions [data-mp-action="send"]:hover{background:#5129b6}

.makeup-conflict-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:24px;border:1px solid #b6a3d4;border-radius:16px;background:#fff;color:#2a194b;font-family:inherit;box-shadow:0 20px 70px #21124740;overflow:auto;overflow-wrap:anywhere}.makeup-conflict-dialog::backdrop{background:#21124799}.makeup-conflict-dialog header>span{font-size:12px;font-weight:750;color:#62428d}.makeup-conflict-dialog h2{margin:8px 0 12px;font-size:24px;line-height:1.25;color:#2a194b}.makeup-conflict-dialog p{font-size:14px;line-height:1.55;color:#493958}.makeup-conflict-appointment{display:grid;gap:4px;padding:12px;background:#f5f1fc;border-radius:9px}.makeup-conflict-dialog ul{display:grid;gap:9px;margin:16px 0;padding:0;list-style:none}.makeup-conflict-dialog li{display:grid;gap:5px;padding:12px;border:1px solid #dec59a;border-radius:9px;background:#fff9ed;font-size:14px;color:#432f19}.makeup-conflict-dialog li small{font-size:12px;line-height:1.4;color:#624922}.makeup-conflict-dialog .makeup-conflict-note{font-size:13px;padding:12px;border-left:3px solid #8058bb;background:#f8f5fc}.makeup-conflict-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.makeup-conflict-dialog button{min-height:44px;border:1px solid #8f75b8;border-radius:8px;padding:10px 13px;background:#fff;color:#50327d;font:inherit;font-size:13px;line-height:1.4;font-weight:700;cursor:pointer}.makeup-conflict-dialog [data-mp-conflict-confirm]{background:#6136cf;border-color:#6136cf;color:#fff}.makeup-conflict-dialog [data-mp-conflict-confirm]:hover{background:#5129b6}.makeup-conflict-dialog button:focus-visible{outline:3px solid #7847cd;outline-offset:3px}@media(max-width:500px){.makeup-conflict-dialog{padding:18px}.makeup-conflict-dialog h2{font-size:21px}.makeup-conflict-dialog footer{flex-direction:column}.makeup-conflict-dialog button{width:100%}}

.makeup-balance{display:grid;gap:6px;margin:14px 0;padding:12px;border:1px solid #cbbde0;border-radius:8px;background:#f7f3fc;color:#36224f;font-size:13px}.makeup-balance strong{color:#593184}.makeup-completion-form{padding:12px;margin:16px 0;border:2px solid #7653aa;border-radius:9px;background:#faf7ff;color:#342149}.makeup-detail .makeup-completion-check{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}.makeup-detail .makeup-completion-check input{width:18px;height:18px;flex:0 0 18px;margin:1px 0}.makeup-completion-form>div{display:grid;gap:8px}.makeup-completion-form button{white-space:normal;min-height:44px;width:100%;font-size:12px;justify-content:center}.makeup-journal-info{display:block;margin:6px 0;color:#4d316e;font-size:12px;line-height:1.4}

.makeup-completion-form .teacher-button:not(.is-soft){background:#6136cf;color:#fff;border-color:#6136cf}.makeup-completion-form .teacher-button:not(.is-soft):hover{background:#5129b6}

.makeup-record-button{display:block;margin-top:8px;max-width:100%;white-space:normal!important;font-size:12px!important;line-height:1.4!important;min-height:40px}.makeup-detail [data-mp-record-form] details{margin:12px 0}.makeup-detail [data-mp-record-form] summary{color:#4d316e;cursor:pointer;font-size:13px;line-height:1.5}.makeup-detail [data-mp-record-form] [data-mp-record-remaining]{color:#342149;line-height:1.5}
