.bell-wrap[data-v-38f183c6]{position:relative}.bell-btn[data-v-38f183c6]{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:.3rem .5rem;display:flex;position:relative}.bell-btn[data-v-38f183c6]:hover{background:#ffffff26}.bell-icon[data-v-38f183c6]{font-size:1.3rem}.badge[data-v-38f183c6]{color:#fff;background:#f44336;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:0;right:0}.dropdown[data-v-38f183c6]{background:var(--bg-card);border:1px solid var(--border-3);z-index:300;border-radius:8px;width:280px;max-height:400px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 4px 16px #00000026}.dropdown-header[data-v-38f183c6]{border-bottom:1px solid var(--border-3);color:var(--text-1);justify-content:space-between;align-items:center;padding:.6rem .8rem;font-size:.88rem;font-weight:600;display:flex}.close-btn[data-v-38f183c6]{cursor:pointer;color:var(--text-3);background:0 0;border:none;padding:0 .2rem;font-size:.9rem}.empty[data-v-38f183c6]{text-align:center;color:var(--text-3);padding:1rem;font-size:.85rem}.notif-item[data-v-38f183c6]{border-bottom:1px solid var(--border-2);cursor:pointer;padding:.6rem .8rem;transition:background .12s}.notif-item[data-v-38f183c6]:hover{background:var(--bg-hover,#0000000a)}.notif-row[data-v-38f183c6]{align-items:center;gap:.4rem;margin-bottom:.2rem;display:flex}.status-dot[data-v-38f183c6]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.pending[data-v-38f183c6]{background:#e65100}.status-dot.accepted[data-v-38f183c6]{background:#2e7d32}.status-dot.rejected[data-v-38f183c6]{background:#757575}.notif-date[data-v-38f183c6]{color:var(--text-1);font-size:.82rem;font-weight:600}.status-label[data-v-38f183c6]{border-radius:3px;margin-left:auto;padding:1px 5px;font-size:.75rem}.status-label.pending[data-v-38f183c6]{color:#e65100;background:#fff3e0}.status-label.accepted[data-v-38f183c6]{color:#2e7d32;background:#e8f5e9}.status-label.rejected[data-v-38f183c6]{color:#757575;background:#f5f5f5}.notif-teachers[data-v-38f183c6]{color:var(--text-2);font-size:.82rem}.notif-periods[data-v-38f183c6]{color:var(--text-3);margin-top:.1rem;font-size:.78rem}.notif-reason[data-v-38f183c6]{color:var(--text-3);margin-top:.1rem;font-size:.75rem;font-style:italic}.dropdown-footer[data-v-38f183c6]{text-align:center;color:#1a73e8;cursor:pointer;border-top:1px solid var(--border-3);padding:.6rem .8rem;font-size:.82rem}.dropdown-footer[data-v-38f183c6]:hover{background:var(--bg-hover,#0000000a)}@keyframes blink-38f183c6{0%,to{opacity:1}50%{opacity:.3}}.blink[data-v-38f183c6]{animation:1.2s ease-in-out infinite blink-38f183c6}.sidebar[data-v-4355852c]{color:#fff;background:#1a73e8;flex-direction:column;flex-shrink:0;width:200px;min-height:100vh;display:flex}.logo[data-v-4355852c]{border-bottom:1px solid #fff3;padding:1.5rem 1.2rem 1rem;font-size:1.2rem;font-weight:700}.quota-badge[data-v-4355852c]{opacity:.75;letter-spacing:.03em;margin-top:.2rem;font-size:.72rem;font-weight:400}.quota-warn[data-v-4355852c]{color:#ffe082;opacity:1}.quota-danger[data-v-4355852c]{color:#ff8a65;opacity:1;font-weight:600}nav[data-v-4355852c]{flex:1;padding:.5rem 0}.nav-item[data-v-4355852c]{color:#ffffffd9;align-items:center;gap:.5rem;padding:.75rem 1.2rem;font-size:.95rem;text-decoration:none;transition:background .15s;display:flex}.ni[data-v-4355852c]{text-align:center;flex-shrink:0;width:1.4em;font-size:1rem;line-height:1;display:inline-block}.nav-item[data-v-4355852c]:hover,.nav-item.router-link-active[data-v-4355852c]{color:#fff;background:#ffffff26}.nav-group[data-v-4355852c]{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between}.arrow[data-v-4355852c]{margin-left:auto;font-size:1rem;transition:transform .2s;display:inline-block}.arrow.open[data-v-4355852c]{transform:rotate(90deg)}.sub-menu[data-v-4355852c]{overflow:hidden}.sub-item[data-v-4355852c]{padding-left:2.4rem;font-size:.9rem}.bottom[data-v-4355852c]{border-top:1px solid #fff3;padding:1rem 1.2rem;font-size:.85rem}.user-row[data-v-4355852c]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.user-name[data-v-4355852c]{opacity:.8;font-size:.85rem}button[data-v-4355852c]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;width:100%;padding:.4rem}button[data-v-4355852c]:hover{background:#ffffff4d}.sidebar-close[data-v-4355852c]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;width:auto;padding:.2rem .5rem;font-size:1rem;display:none;position:absolute;top:.6rem;right:.6rem}@media (width<=768px){.sidebar[data-v-4355852c]{z-index:200;width:220px;height:100vh;transition:left .25s;position:fixed;top:0;left:-220px;overflow-y:auto}.sidebar-open[data-v-4355852c]{left:0}.sidebar-close[data-v-4355852c]{display:block}.logo[data-v-4355852c]{padding-right:2.5rem}}.appearance[data-v-4355852c]{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.appearance-label[data-v-4355852c]{opacity:.75;white-space:nowrap;font-size:.78rem}.seg-ctrl[data-v-4355852c]{background:#00000040;border-radius:6px;flex:1;gap:2px;padding:2px;display:flex}.seg-ctrl button[data-v-4355852c]{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:.3rem 0;font-size:.95rem;line-height:1;transition:background .15s,color .15s}.seg-ctrl button[data-v-4355852c]:hover{color:#fff;background:#ffffff26}.seg-ctrl button.active[data-v-4355852c]{color:#1a73e8;background:#ffffffe6}[data-theme=dark] .seg-ctrl button.active[data-v-4355852c]{color:#1c2333;background:#ffffffd9}[data-theme=dark] .sidebar[data-v-4355852c]{background:#1c2333}:root{--bg-page:#f0f4f8;--bg-card:#fff;--bg-input:#fff;--text-1:#1a1a2e;--text-2:#444;--text-3:#555;--text-4:#888;--border-1:#d0d0d0;--border-2:#e8e8e8;--border-3:#ccc;--shadow-card:0 2px 8px #0000001a}[data-theme=dark]{--bg-page:#0d1117;--bg-card:#161b22;--bg-input:#21262d;--text-1:#e6edf3;--text-2:#c9d1d9;--text-3:#9aa0b4;--text-4:#6e7681;--border-1:#3d444d;--border-2:#2d333b;--border-3:#444c56;--shadow-card:0 2px 8px #0006}[data-theme=dark] body{background:var(--bg-page);color:var(--text-1)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg-input)!important;color:var(--text-1)!important;border-color:var(--border-3)!important}[data-theme=dark] button:not(.btn-primary):not(.btn-danger):not(.btn-accept):not(.btn-reject):not(.btn-accept-all):not(.btn-merge):not(.btn-reset):not(.hamburger):not(.sidebar-close):not(.seg-btn){background:var(--bg-input);color:var(--text-1);border-color:var(--border-3)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-page);font-family:system-ui,sans-serif}.app-layout{min-height:100vh;display:flex}.main-content{flex:1;min-width:0;padding:2rem;overflow-y:auto}.hamburger{z-index:300;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;flex-direction:column;gap:5px;padding:.45rem .5rem;display:none;position:fixed;top:.8rem;left:.8rem}.hamburger span{background:#fff;border-radius:2px;width:22px;height:2px;display:block}.sidebar-overlay{z-index:199;background:#0006;display:none;position:fixed;inset:0}@media (width<=768px){.hamburger{display:flex}.sidebar-overlay{display:block}.main-content{padding:3.5rem 1rem 1rem}}.login-wrap[data-v-1d7fa43e]{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box[data-v-1d7fa43e]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;width:360px;padding:2.5rem}h1[data-v-1d7fa43e]{color:#1a73e8;margin:0 0 .25rem;font-size:1.8rem}.subtitle[data-v-1d7fa43e]{color:#666;margin:0 0 1.5rem}.field[data-v-1d7fa43e]{margin-bottom:1rem}label[data-v-1d7fa43e]{color:#444;margin-bottom:.3rem;font-size:.85rem;display:block}input[data-v-1d7fa43e]{border:1px solid var(--border-3);box-sizing:border-box;border-radius:6px;width:100%;padding:.6rem .8rem;font-size:1rem}button[data-v-1d7fa43e]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem}button[data-v-1d7fa43e]:disabled{opacity:.6;cursor:default}.error[data-v-1d7fa43e]{color:#d32f2f;font-size:.85rem}.hint[data-v-1d7fa43e]{text-align:center;color:var(--text-4);margin-top:1rem;font-size:.8rem}.calendar-wrap[data-v-1c019ffb]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}.cal-header[data-v-1c019ffb]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.title-block[data-v-1c019ffb]{text-align:center}.title-block h2[data-v-1c019ffb]{color:#222;margin:0;font-size:1.1rem}.cal-header button[data-v-1c019ffb]{background:var(--bg-input);border:1px solid var(--border-3);cursor:pointer;color:var(--text-1);border-radius:6px;padding:.3rem .8rem;font-size:1.2rem}.cal-header button[data-v-1c019ffb]:disabled{opacity:.3;cursor:default}.cal-grid[data-v-1c019ffb]{grid-template-columns:56px repeat(7,1fr);gap:2px;display:grid}.week-head[data-v-1c019ffb]{text-align:center;color:#aaa;padding:.4rem 0;font-size:.72rem;font-weight:600}.day-label[data-v-1c019ffb]{text-align:center;color:var(--text-3);padding:.4rem 0;font-size:.8rem;font-weight:600}.week-num[data-v-1c019ffb]{color:#aaa;white-space:nowrap;justify-content:center;align-items:flex-start;padding-top:.5rem;font-size:.68rem;font-weight:600;line-height:1.3;display:flex}.week-num.clickable[data-v-1c019ffb]{color:#1a73e8;cursor:pointer;text-decoration:underline}.week-num.clickable[data-v-1c019ffb]:hover{color:#1557b0}.day-cell[data-v-1c019ffb]{border:1px solid var(--border-2);border-radius:4px;flex-direction:column;gap:2px;min-height:72px;padding:.35rem .4rem;display:flex}.day-num[data-v-1c019ffb]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:500;display:flex}.other-month .day-num[data-v-1c019ffb]{color:#ccc}.out-semester[data-v-1c019ffb]{background:#fafafa}.out-semester .day-num[data-v-1c019ffb]{color:#ddd}.today[data-v-1c019ffb]{background:#e8f0fe}.today .day-num[data-v-1c019ffb]{color:#fff;background:#1a73e8}.sub-tags[data-v-1c019ffb]{flex-direction:column;gap:2px;display:flex}.sub-dot[data-v-1c019ffb]{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;max-width:100%;padding:1px 4px;font-size:.68rem;font-weight:500;overflow:hidden}.sub-dot.pending[data-v-1c019ffb]{color:#e65100;background:#fff3e0}.sub-dot.accepted[data-v-1c019ffb]{color:#2e7d32;background:#e8f5e9}.sub-dot.other[data-v-1c019ffb]{color:#757575;background:#f5f5f5}.period-warning[data-v-1c019ffb]{color:#664d03;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.6}[data-theme=dark] .period-warning[data-v-1c019ffb]{color:#ffd966;background:#3a2e00;border-color:#9a7200}.legend[data-v-1c019ffb]{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;font-size:.8rem;display:flex}.legend-hint[data-v-1c019ffb]{color:#aaa;font-size:.75rem}@media (width<=768px){.calendar-wrap[data-v-1c019ffb]{border-radius:8px;padding:.75rem .5rem}.cal-header button[data-v-1c019ffb]{padding:.3rem .5rem}.title-block h2[data-v-1c019ffb]{font-size:.95rem}.cal-grid[data-v-1c019ffb]{display:block;overflow-x:auto}.cal-grid[data-v-1c019ffb]>*{display:contents}.cal-grid[data-v-1c019ffb]{grid-template-columns:32px repeat(7,minmax(38px,1fr));gap:1px;display:grid}.week-num[data-v-1c019ffb]{padding-top:.3rem;font-size:.58rem}.day-label[data-v-1c019ffb]{padding:.25rem 0;font-size:.65rem}.day-cell[data-v-1c019ffb]{min-height:52px;padding:.2rem .15rem}.day-num[data-v-1c019ffb]{width:20px;height:20px;font-size:.72rem}.sub-dot[data-v-1c019ffb]{padding:1px 2px;font-size:.58rem}}.toolbar[data-v-eadbf5df]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}h2[data-v-eadbf5df]{margin:0}.card[data-v-eadbf5df]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:1rem;padding:1.5rem;overflow-x:auto}table[data-v-eadbf5df]{border-collapse:collapse;width:100%}th[data-v-eadbf5df]{text-align:left;color:var(--text-3);border-bottom:2px solid var(--border-1);padding:.5rem .75rem;font-size:.8rem}td[data-v-eadbf5df]{border-bottom:1px solid var(--border-2);padding:.6rem .75rem;font-size:.9rem}.actions[data-v-eadbf5df],.row-actions[data-v-eadbf5df]{gap:.5rem;display:flex}button[data-v-eadbf5df]{border:1px solid var(--border-3);background:var(--bg-card);color:var(--text-1);cursor:pointer;border-radius:4px;padding:.35rem .7rem;font-size:.85rem}.btn-primary[data-v-eadbf5df]{color:#fff;background:#1a73e8;border-color:#1a73e8}.btn-danger[data-v-eadbf5df]{color:#fff;background:#d32f2f;border-color:#d32f2f}.btn-merge[data-v-eadbf5df]{color:#fff;background:#e65100;border-color:#e65100}.overlay[data-v-eadbf5df]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.warn-text[data-v-eadbf5df]{color:#b71c1c;margin:.4rem 0 0;font-size:.85rem}.error-text[data-v-eadbf5df]{color:#c62828;background:#fdecea;border-radius:4px;margin:.4rem 0 0;padding:.4rem .7rem;font-size:.85rem}.modal[data-v-eadbf5df]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:420px;padding:2rem}.modal h3[data-v-eadbf5df]{margin:0 0 1.2rem}.field[data-v-eadbf5df]{margin-bottom:.9rem}.field label[data-v-eadbf5df]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[type=text][data-v-eadbf5df],.field input[data-v-eadbf5df]:not([type=checkbox]){border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.field select[data-v-eadbf5df]{border:1px solid var(--border-3);background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.checkbox label[data-v-eadbf5df]{align-items:center;gap:.5rem;display:flex}.modal-actions[data-v-eadbf5df]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.creds[data-v-eadbf5df]{background:#e8f5e9;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-family:monospace}.merge-card[data-v-eadbf5df]{margin-bottom:1rem}.merge-header[data-v-eadbf5df]{cursor:pointer;border-bottom:1px solid var(--border-2);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding-bottom:.6rem;font-size:.95rem;font-weight:600;display:flex}.badge[data-v-eadbf5df]{color:#fff;background:#e65100;border-radius:10px;margin-left:.4rem;padding:1px 8px;font-size:.78rem;font-weight:700}.arrow[data-v-eadbf5df]{font-size:1rem;transition:transform .2s;display:inline-block}.arrow.open[data-v-eadbf5df]{transform:rotate(90deg)}.merge-hint[data-v-eadbf5df]{color:var(--text-4);margin:.6rem 0 .8rem;font-size:.83rem}.pagination[data-v-eadbf5df]{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:1rem;display:flex}.pagination button[data-v-eadbf5df]{border:1px solid var(--border-3);background:var(--bg-card);color:var(--text-1);cursor:pointer;border-radius:4px;min-width:32px;padding:.3rem .6rem;font-size:.85rem}.pagination button[data-v-eadbf5df]:disabled{opacity:.4;cursor:default}.pagination button.active[data-v-eadbf5df]{color:#fff;background:#1a73e8;border-color:#1a73e8;font-weight:600}.pagination .ellipsis[data-v-eadbf5df]{color:#888;padding:0 .2rem}.page-info[data-v-eadbf5df]{color:#888;margin-left:.5rem;font-size:.83rem}.toolbar[data-v-c2d316b5]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.hint-text[data-v-c2d316b5]{color:#888;margin-bottom:.75rem;font-size:.82rem}h2[data-v-c2d316b5]{margin:0}.filters[data-v-c2d316b5]{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex;padding:.75rem 1rem!important}.filters select[data-v-c2d316b5],.filters input[data-v-c2d316b5]{border:1px solid var(--border-3);background:var(--bg-input);color:var(--text-1);border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.week-hint[data-v-c2d316b5]{color:var(--text-4);font-size:.82rem}.field-hint[data-v-c2d316b5]{color:#888;font-size:.78rem;font-weight:400}.warn-text[data-v-c2d316b5]{color:#b71c1c;margin:.3rem 0 0;font-size:.85rem}.card[data-v-c2d316b5]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem;overflow-x:auto}table[data-v-c2d316b5]{border-collapse:collapse;width:100%}th[data-v-c2d316b5]{text-align:left;color:var(--text-3);border-bottom:2px solid var(--border-1);padding:.5rem .75rem;font-size:.8rem}td[data-v-c2d316b5]{border-bottom:1px solid var(--border-2);padding:.6rem .75rem;font-size:.9rem}.actions button[data-v-c2d316b5]{cursor:pointer;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.btn-primary[data-v-c2d316b5]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.4rem .9rem}.btn-danger[data-v-c2d316b5]{color:#fff;background:#d32f2f}.overlay[data-v-c2d316b5]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-c2d316b5]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:460px;max-height:90vh;padding:2rem;overflow-y:auto}.modal h3[data-v-c2d316b5]{margin:0 0 1.2rem}.field[data-v-c2d316b5]{margin-bottom:.9rem}.field label[data-v-c2d316b5]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[type=text][data-v-c2d316b5],.field input[type=date][data-v-c2d316b5],.field select[data-v-c2d316b5],.field input[data-v-c2d316b5]:not([type=checkbox]){border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.period-list[data-v-c2d316b5]{flex-direction:column;gap:.4rem;margin-top:.3rem;display:flex}.period-item[data-v-c2d316b5]{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.modal-actions[data-v-c2d316b5]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button[data-v-c2d316b5]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.4rem .9rem}.flatpickr-calendar{opacity:0;text-align:center;visibility:hidden;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;direction:ltr;background:#fff;border:0;border-radius:5px;width:307.875px;padding:0;font-size:14px;line-height:24px;animation:none;display:none;position:absolute;box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;visibility:visible;max-height:640px}.flatpickr-calendar.open{z-index:99999;display:inline-block}.flatpickr-calendar.animate.open{animation:.3s cubic-bezier(.23,1,.32,1) fpFadeInDown}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{border-top:1px solid #e6e6e6;height:40px}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{pointer-events:none;content:"";border:solid #0000;width:0;height:0;display:block;position:absolute;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{display:inline-block;position:relative}.flatpickr-months{display:flex}.flatpickr-months .flatpickr-month{color:#000000e6;fill:#000000e6;text-align:center;-webkit-user-select:none;user-select:none;background:0 0;flex:1;height:34px;line-height:1;position:relative;overflow:hidden}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;user-select:none;cursor:pointer;z-index:3;color:#000000e6;fill:#000000e6;height:34px;padding:10px;text-decoration:none;position:absolute;top:0}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{fill:inherit;transition:fill .1s}.numInputWrapper{height:auto;position:relative}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numInputWrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numInputWrapper span{opacity:0;cursor:pointer;box-sizing:border-box;border:1px solid #39393926;width:14px;height:50%;padding:0 4px 0 2px;line-height:50%;position:absolute;right:0}.numInputWrapper span:hover{background:#0000001a}.numInputWrapper span:active{background:#0003}.numInputWrapper span:after{content:"";display:block;position:absolute}.numInputWrapper span.arrowUp{border-bottom:0;top:0}.numInputWrapper span.arrowUp:after{border-bottom:4px solid #39393999;border-left:4px solid #0000;border-right:4px solid #0000;top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-top:4px solid #39393999;border-left:4px solid #0000;border-right:4px solid #0000;top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:#0000000d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;color:inherit;text-align:center;width:75%;height:34px;padding:7.48px 0 0;font-weight:300;line-height:1;display:inline-block;position:absolute;left:12.5%;transform:translate(0,0)}.flatpickr-current-month span.cur-month{color:inherit;margin-left:.5ch;padding:0;font-family:inherit;font-weight:700;display:inline-block}.flatpickr-current-month span.cur-month:hover{background:#0000000d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{box-sizing:border-box;color:inherit;cursor:text;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;vertical-align:initial;appearance:textfield;background:0 0;border:0;border-radius:0;margin:0;padding:0 0 0 .5ch;display:inline-block}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{color:#00000080;pointer-events:none;background:0 0;font-size:100%}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;height:auto;font-family:inherit;font-weight:300;line-height:inherit;vertical-align:initial;background:0 0;border:none;border-radius:0;outline:none;width:auto;margin:-1px 0 0;padding:0 0 0 .5ch;position:relative}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#0000000d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#0000;outline:none;padding:0}.flatpickr-weekdays{text-align:center;background:0 0;align-items:center;width:100%;height:28px;display:flex;overflow:hidden}.flatpickr-weekdays .flatpickr-weekdaycontainer{flex:1;display:flex}span.flatpickr-weekday{cursor:default;color:#0000008a;text-align:center;background:0 0;flex:1;margin:0;font-size:90%;font-weight:bolder;line-height:1;display:block}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{align-items:flex-start;width:307.875px;display:flex;position:relative;overflow:hidden}.flatpickr-days:focus{outline:0}.dayContainer{text-align:left;box-sizing:border-box;opacity:1;outline:0;flex-wrap:wrap;justify-content:space-around;width:307.875px;min-width:307.875px;max-width:307.875px;padding:0;display:flex;transform:translate(0,0)}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{box-sizing:border-box;color:#393939;cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:150px;flex-basis:14.2857%;justify-content:center;width:14.2857%;max-width:39px;height:39px;margin:0;font-weight:400;line-height:39px;display:inline-block;position:relative}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;background:#e6e6e6;border-color:#e6e6e6;outline:0}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{color:#fff;background:#959ea9;border-color:#959ea9}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{-webkit-box-shadow:none;box-shadow:none;color:#fff;background:#569ff7;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;cursor:default;background:0 0;border-color:#0000}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{color:#3939394d;cursor:default;background:0 0;border:none;width:100%;max-width:none;display:block}.flatpickr-innerContainer{box-sizing:border-box;display:flex;overflow:hidden}.flatpickr-rContainer{box-sizing:border-box;padding:0;display:inline-block}.flatpickr-time{text-align:center;box-sizing:border-box;outline:0;height:0;max-height:40px;line-height:40px;display:flex;overflow:hidden}.flatpickr-time:after{content:"";clear:both;display:table}.flatpickr-time .numInputWrapper{float:left;flex:1;width:40%;height:40px}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{-webkit-box-shadow:none;box-shadow:none;text-align:center;height:inherit;line-height:inherit;color:#393939;box-sizing:border-box;appearance:textfield;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:14px;position:relative}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{border:0;outline:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;-webkit-user-select:none;user-select:none;align-self:center;width:2%;font-weight:700}.flatpickr-time .flatpickr-am-pm{cursor:pointer;text-align:center;outline:0;width:18%;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@keyframes fpFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0,0)}}.flatpickr-day.day-holiday,.flatpickr-day.day-holiday:hover{color:#d32f2f!important}.flatpickr-day.day-holiday.selected,.flatpickr-day.day-holiday.selected:hover{color:#fff!important}.flatpickr-day.day-muted{opacity:.5;color:silver!important}.flatpickr-day.day-muted.day-holiday{color:#e57373!important}.flatpickr-day.day-muted:hover,.flatpickr-day.day-muted:focus{opacity:1;background:#f0f0f0;border-color:#0000;color:#888!important}.flatpickr-day.day-muted.day-holiday:hover{color:#d32f2f!important}[data-theme=dark] .flatpickr-calendar{background:#161b22;border-color:#3d444d;box-shadow:0 4px 16px #00000080}[data-theme=dark] .flatpickr-months{background:#1c2333}[data-theme=dark] .flatpickr-month,[data-theme=dark] .flatpickr-current-month,[data-theme=dark] .flatpickr-current-month input.cur-year,[data-theme=dark] .flatpickr-monthDropdown-months{background:0 0;color:#e6edf3!important;fill:#e6edf3!important}[data-theme=dark] .flatpickr-weekday{color:#8b949e;background:#1c2333}[data-theme=dark] .flatpickr-days{border-color:#3d444d}[data-theme=dark] .flatpickr-day{color:#e6edf3}[data-theme=dark] .flatpickr-day:hover{background:#2d333b;border-color:#3d444d}[data-theme=dark] .flatpickr-day.selected,[data-theme=dark] .flatpickr-day.selected:hover{color:#fff;background:#1a73e8;border-color:#1a73e8}[data-theme=dark] .flatpickr-day.today{border-color:#1a73e8}[data-theme=dark] .flatpickr-day.today:hover{color:#fff;background:#1a73e8}[data-theme=dark] span.flatpickr-prev-month svg,[data-theme=dark] span.flatpickr-next-month svg{fill:#e6edf3}[data-theme=dark] .flatpickr-day.day-holiday,[data-theme=dark] .flatpickr-day.day-holiday:hover{color:#f48771!important}[data-theme=dark] .flatpickr-day.day-holiday.selected,[data-theme=dark] .flatpickr-day.day-holiday.selected:hover{color:#fff!important}[data-theme=dark] .flatpickr-day.day-muted{opacity:.6;color:#3d444d!important}[data-theme=dark] .flatpickr-day.day-muted.day-holiday{color:#8b3a3a!important}[data-theme=dark] .flatpickr-day.day-muted:hover{opacity:1;background:#2d333b;color:#6e7681!important}[data-theme=dark] .flatpickr-day.day-muted.day-holiday:hover{color:#f48771!important}.toolbar[data-v-06e3c5c7]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}h2[data-v-06e3c5c7]{margin:0}.card[data-v-06e3c5c7]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem;overflow-x:auto}table[data-v-06e3c5c7]{border-collapse:collapse;width:100%}th[data-v-06e3c5c7]{text-align:left;color:var(--text-3);border-bottom:2px solid var(--border-1);padding:.5rem .75rem;font-size:.8rem}td[data-v-06e3c5c7]{border-bottom:1px solid var(--border-2);padding:.6rem .75rem;font-size:.9rem}.actions[data-v-06e3c5c7]{gap:.4rem;display:flex}.actions button[data-v-06e3c5c7]{cursor:pointer;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.82rem}.btn-primary[data-v-06e3c5c7]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.4rem .9rem}.btn-primary[data-v-06e3c5c7]:disabled{opacity:.5;cursor:default}.btn-accept[data-v-06e3c5c7]{color:#fff;background:#2e7d32}.btn-reject[data-v-06e3c5c7]{color:#fff;background:#e65100}.btn-danger[data-v-06e3c5c7]{color:#fff;background:#d32f2f}.btn-accept-all[data-v-06e3c5c7]{color:#fff;background:#1b5e20}.btn-remind[data-v-06e3c5c7]{color:#fff;background:#f57c00}.btn-remind[data-v-06e3c5c7]:disabled{opacity:.5;cursor:default}tr.group-first td[data-v-06e3c5c7]{border-top:2px solid var(--border-1)}tr.group-sub td[data-v-06e3c5c7]{border-bottom:1px solid var(--border-2);color:var(--text-2)}.badge[data-v-06e3c5c7]{border-radius:12px;padding:.2rem .6rem;font-size:.78rem;font-weight:500}.badge-pending[data-v-06e3c5c7]{color:#e65100;background:#fff3e0}.badge-accepted[data-v-06e3c5c7]{color:#2e7d32;background:#e8f5e9}.badge-rejected[data-v-06e3c5c7]{color:#c62828;background:#ffebee}.badge-cancelled[data-v-06e3c5c7]{color:#757575;background:#f5f5f5}.overlay[data-v-06e3c5c7]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-06e3c5c7]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:460px;max-height:90vh;padding:2rem;overflow-y:auto}.modal h3[data-v-06e3c5c7]{margin:0 0 1.2rem}.field[data-v-06e3c5c7]{margin-bottom:.9rem}.field label[data-v-06e3c5c7]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[data-v-06e3c5c7],.field select[data-v-06e3c5c7]{border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.date-input[data-v-06e3c5c7]{cursor:pointer}.period-list[data-v-06e3c5c7]{flex-direction:column;gap:.5rem;display:flex}.period-item[data-v-06e3c5c7]{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.sub-info[data-v-06e3c5c7]{color:#888;font-size:.82rem}.empty-hint[data-v-06e3c5c7]{color:#e65100;margin:.5rem 0;font-size:.85rem}.past-hint[data-v-06e3c5c7]{color:#888;background:#f5f5f5;border-radius:4px;margin-top:.3rem;padding:.1rem .5rem;font-size:.78rem;display:inline-block}[data-theme=dark] .past-hint[data-v-06e3c5c7]{color:#6e7681;background:#2d333b}.period-covered[data-v-06e3c5c7]{opacity:.6}.period-covered input[type=checkbox][data-v-06e3c5c7]{cursor:not-allowed}.covered-hint[data-v-06e3c5c7]{color:#2e7d32;white-space:nowrap;background:#e8f5e9;border-radius:3px;margin-left:.4rem;padding:1px 5px;font-size:.78rem}[data-theme=dark] .covered-hint[data-v-06e3c5c7]{color:#81c784;background:#1b2e1b}.error-text[data-v-06e3c5c7]{color:#c62828;background:#fdecea;border-radius:4px;margin:.4rem 0 0;padding:.4rem .7rem;font-size:.85rem}.period-warning[data-v-06e3c5c7]{color:#664d03;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin:.4rem 0 .75rem;padding:.6rem .9rem;font-size:.88rem;line-height:1.6}[data-theme=dark] .period-warning[data-v-06e3c5c7]{color:#ffd966;background:#3a2e00;border-color:#9a7200}.modal-actions[data-v-06e3c5c7]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button[data-v-06e3c5c7]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.4rem .9rem}.reason-chips[data-v-06e3c5c7]{flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem;display:flex}.chip[data-v-06e3c5c7]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-input);color:var(--text-2);border-radius:16px;padding:.25rem .75rem;font-size:.85rem;transition:background .15s,color .15s}.chip[data-v-06e3c5c7]:hover{color:#1a73e8;background:#e3f0ff;border-color:#1a73e8}.chip.active[data-v-06e3c5c7]{color:#fff;background:#1a73e8;border-color:#1a73e8}[data-theme=dark] .chip[data-v-06e3c5c7]:hover{color:#58a6ff;background:#1c2e45;border-color:#58a6ff}[data-theme=dark] .chip.active[data-v-06e3c5c7]{color:#fff;background:#1a73e8;border-color:#1a73e8}.toolbar[data-v-1fe8b40c]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}h2[data-v-1fe8b40c]{margin:0}.card[data-v-1fe8b40c]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;max-width:560px;padding:2rem}.field[data-v-1fe8b40c]{margin-bottom:1rem}.field label[data-v-1fe8b40c]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[data-v-1fe8b40c],.field select[data-v-1fe8b40c]{border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.row2[data-v-1fe8b40c]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions[data-v-1fe8b40c]{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.btn-primary[data-v-1fe8b40c]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.5rem 1.2rem;font-size:.95rem}.btn-primary[data-v-1fe8b40c]:disabled{opacity:.5;cursor:default}.saved-msg[data-v-1fe8b40c]{color:#2e7d32;font-size:.9rem}.toolbar[data-v-5dab38f8]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}h2[data-v-5dab38f8]{margin:0}.card[data-v-5dab38f8]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}table[data-v-5dab38f8]{border-collapse:collapse;width:100%}th[data-v-5dab38f8]{text-align:left;color:var(--text-3);border-bottom:2px solid var(--border-1);padding:.5rem .75rem;font-size:.8rem}td[data-v-5dab38f8]{border-bottom:1px solid var(--border-2);padding:.6rem .75rem;font-size:.9rem}.actions[data-v-5dab38f8]{gap:.4rem;display:flex}.actions button[data-v-5dab38f8]{cursor:pointer;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.82rem}.btn-primary[data-v-5dab38f8]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.4rem .9rem}.btn-primary[data-v-5dab38f8]:disabled{opacity:.5;cursor:default}.btn-edit[data-v-5dab38f8]{color:#fff;background:#1565c0}.btn-danger[data-v-5dab38f8]{color:#fff;background:#d32f2f}.overlay[data-v-5dab38f8]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-5dab38f8]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:400px;padding:2rem}.modal h3[data-v-5dab38f8]{margin:0 0 1.2rem}.field[data-v-5dab38f8]{margin-bottom:.9rem}.field label[data-v-5dab38f8]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[data-v-5dab38f8]{border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-size:.95rem}.row2[data-v-5dab38f8]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal-actions[data-v-5dab38f8]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button[data-v-5dab38f8]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.4rem .9rem}.toolbar[data-v-801db504]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.2rem;display:flex}.btn-back[data-v-801db504]{border:1px solid var(--border-3);cursor:pointer;color:var(--text-2);background:0 0;border-radius:6px;padding:.35rem .8rem;font-size:.9rem}.btn-back[data-v-801db504]:hover{background:#f5f5f5}.week-title[data-v-801db504]{text-align:center}.week-title h2[data-v-801db504]{margin:0;font-size:1.1rem}.sub-title[data-v-801db504]{color:var(--text-4);margin-top:.15rem;font-size:.78rem}.nav-btns[data-v-801db504]{gap:.4rem;display:flex}.nav-btns button[data-v-801db504]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-input);color:var(--text-1);border-radius:6px;padding:.35rem .7rem;font-size:.9rem}.nav-btns button[data-v-801db504]:hover{background:#f5f5f5}.week-grid-wrap[data-v-801db504]{overflow-x:auto}.week-table[data-v-801db504]{border-collapse:collapse;background:var(--bg-card);width:100%;box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.week-table th[data-v-801db504],.week-table td[data-v-801db504]{border:1px solid var(--border-2);vertical-align:top;padding:.5rem .6rem}.week-table thead th[data-v-801db504]{text-align:center;background:#f8f9fa}.period-col[data-v-801db504]{width:72px;min-width:72px}.day-head-name[data-v-801db504]{color:#444;font-size:.9rem;font-weight:600}.day-head-date[data-v-801db504]{color:var(--text-4);margin-top:.1rem;font-size:.78rem}th.weekend[data-v-801db504]{background:#f5f5f5}th.today[data-v-801db504]{background:#e8f0fe}th.today .day-head-name[data-v-801db504]{color:#1a73e8}td.weekend[data-v-801db504]{background:#fafafa}td.today[data-v-801db504]{background:#f0f5ff}.period-cell[data-v-801db504]{text-align:center;background:#f8f9fa}.period-name[data-v-801db504]{color:#444;font-size:.85rem;font-weight:600}.period-time[data-v-801db504]{color:#aaa;margin-top:.1rem;font-size:.72rem}.sub-card[data-v-801db504]{border-radius:6px;margin-bottom:.3rem;padding:.4rem .5rem;font-size:.8rem}.sub-card.pending[data-v-801db504]{background:#fff8f0;border-left:3px solid #e65100}.sub-card.accepted[data-v-801db504]{background:#f0faf0;border-left:3px solid #2e7d32}.sub-card.rejected[data-v-801db504]{background:#fff0f0;border-left:3px solid #c62828}.sub-card.cancelled[data-v-801db504]{background:#f5f5f5;border-left:3px solid #bbb}.sub-row[data-v-801db504]{align-items:baseline;gap:.3rem;display:flex}.sub-label[data-v-801db504]{color:#999;min-width:22px;font-size:.7rem}.sub-name[data-v-801db504]{color:#333;font-size:.82rem;font-weight:500}.sub-status[data-v-801db504]{margin-top:.25rem;font-size:.7rem;font-weight:600}.sub-status.pending[data-v-801db504]{color:#e65100}.sub-status.accepted[data-v-801db504]{color:#2e7d32}.sub-status.rejected[data-v-801db504]{color:#c62828}.sub-status.cancelled[data-v-801db504]{color:#bbb}.sub-extra[data-v-801db504]{color:var(--text-4);margin-top:.15rem;font-size:.72rem}.sub-extra.reason[data-v-801db504]{font-style:italic}.import-wrap[data-v-f816e7c0]{background:#fff;border-radius:12px;max-width:720px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.import-wrap h2[data-v-f816e7c0]{margin:0 0 .4rem;font-size:1.2rem}.hint[data-v-f816e7c0]{color:#888;margin:0 0 1.2rem;font-size:.9rem}.drop-zone[data-v-f816e7c0]{text-align:center;cursor:pointer;color:#888;border:2px dashed #ccc;border-radius:10px;padding:2rem;transition:border-color .2s,background .2s}.drop-zone[data-v-f816e7c0]:hover,.drop-zone.drag-over[data-v-f816e7c0]{color:#1a73e8;background:#f0f5ff;border-color:#1a73e8}.drop-zone.has-file[data-v-f816e7c0]{color:#2e7d32;background:#f0faf0;border-color:#2e7d32}.file-icon[data-v-f816e7c0]{margin-bottom:.4rem;font-size:2rem}.file-name[data-v-f816e7c0]{font-size:.95rem;font-weight:600}.file-size[data-v-f816e7c0]{opacity:.7;margin-top:.2rem;font-size:.8rem}.actions[data-v-f816e7c0]{margin-top:1rem}.btn-primary[data-v-f816e7c0]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;padding:.5rem 1.4rem;font-size:.95rem}.btn-primary[data-v-f816e7c0]:disabled{opacity:.5;cursor:default}.preview-card[data-v-f816e7c0]{border:1px solid #e0e0e0;border-radius:10px;margin-top:1.5rem;padding:1.2rem}.preview-card h3[data-v-f816e7c0]{margin:0 0 1rem;font-size:1rem}.stats-row[data-v-f816e7c0]{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.stat[data-v-f816e7c0]{text-align:center;background:#f5f5f5;border-radius:8px;min-width:70px;padding:.6rem 1rem}.stat-num[data-v-f816e7c0]{color:#1a73e8;font-size:1.4rem;font-weight:700}.stat-label[data-v-f816e7c0]{color:#888;margin-top:.1rem;font-size:.75rem}.warn-box[data-v-f816e7c0]{color:#5d4037;background:#fff8e1;border-left:3px solid #f9a825;border-radius:4px;margin:.8rem 0;padding:.6rem .9rem;font-size:.88rem}.warn-box a[data-v-f816e7c0]{color:#1a73e8}.detail-block[data-v-f816e7c0]{margin:.8rem 0}.detail-block summary[data-v-f816e7c0]{cursor:pointer;color:#555;padding:.3rem 0;font-size:.88rem;font-weight:600}.preview-table[data-v-f816e7c0]{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.85rem}.preview-table th[data-v-f816e7c0],.preview-table td[data-v-f816e7c0]{text-align:left;border:1px solid #eee;padding:.3rem .6rem}.preview-table th[data-v-f816e7c0]{background:#f8f9fa}.teacher-list[data-v-f816e7c0]{flex-wrap:wrap;gap:.3rem;margin-top:.5rem;display:flex}.teacher-tag[data-v-f816e7c0]{border-radius:3px;padding:2px 7px;font-size:.78rem}.teacher-tag.new[data-v-f816e7c0]{color:#2e7d32;background:#e8f5e9}.teacher-tag.existing[data-v-f816e7c0]{color:#777;background:#f5f5f5}.legend-row[data-v-f816e7c0]{color:#888;gap:.5rem;margin-top:.4rem;font-size:.78rem;display:flex}.import-action[data-v-f816e7c0]{align-items:center;gap:1rem;margin-top:1rem;display:flex}.btn-import[data-v-f816e7c0]{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:.55rem 1.6rem;font-size:.95rem}.btn-import[data-v-f816e7c0]:disabled{opacity:.5;cursor:default}.disabled-hint[data-v-f816e7c0]{color:#999;font-size:.82rem}.result-card[data-v-f816e7c0]{background:#f1f8f1;border:1px solid #c8e6c9;border-radius:10px;margin-top:1.5rem;padding:1.2rem}.result-card h3[data-v-f816e7c0]{color:#2e7d32;margin:0 0 .8rem;font-size:1rem}.result-rows[data-v-f816e7c0]{flex-direction:column;gap:.3rem;display:flex}.result-row[data-v-f816e7c0]{border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:.25rem 0;font-size:.9rem;display:flex}.result-row[data-v-f816e7c0]:last-child{border-bottom:none}.result-hint[data-v-f816e7c0]{color:#666;margin-top:.8rem;font-size:.82rem}.error-box[data-v-f816e7c0]{color:#c62828;background:#fdecea;border-left:3px solid #c62828;border-radius:4px;margin-top:1rem;padding:.6rem .9rem;font-size:.88rem}.general-wrap[data-v-fda9be02]{max-width:600px}.general-wrap h2[data-v-fda9be02]{margin:0 0 1.2rem;font-size:1.2rem}.section-card[data-v-fda9be02]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}.section-card h3[data-v-fda9be02]{margin:0 0 .5rem;font-size:1rem}.hint[data-v-fda9be02]{color:var(--text-4);margin:0 0 1.2rem;font-size:.85rem;line-height:1.5}.select-row[data-v-fda9be02]{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.select-row span[data-v-fda9be02]{min-width:100px}.select-row select[data-v-fda9be02]{border:1px solid #ddd;border-radius:6px;padding:.3rem .5rem;font-size:.9rem}.toggle-row[data-v-fda9be02]{cursor:pointer;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.toggle-row input[type=checkbox][data-v-fda9be02]{cursor:pointer;width:18px;height:18px}.toggle-label[data-v-fda9be02]{color:#1a73e8;font-weight:600}.manage-wrap[data-v-5a3bb8cd]{max-width:680px}.manage-wrap h2[data-v-5a3bb8cd]{margin:0 0 1.2rem;font-size:1.2rem}.section-card[data-v-5a3bb8cd]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}.section-card h3[data-v-5a3bb8cd]{margin:0 0 .5rem;font-size:1rem}.hint[data-v-5a3bb8cd]{color:var(--text-4);margin:0 0 1rem;font-size:.85rem;line-height:1.5}.drop-zone[data-v-5a3bb8cd]{border:2px dashed var(--border-3);text-align:center;cursor:pointer;color:var(--text-4);border-radius:10px;padding:1.8rem;transition:border-color .2s,background .2s}.drop-zone[data-v-5a3bb8cd]:hover,.drop-zone.drag-over[data-v-5a3bb8cd]{color:#1a73e8;background:#f0f5ff;border-color:#1a73e8}.drop-zone.has-file[data-v-5a3bb8cd]{color:#2e7d32;background:#f0faf0;border-color:#2e7d32}[data-theme=dark] .drop-zone[data-v-5a3bb8cd]:hover,[data-theme=dark] .drop-zone.drag-over[data-v-5a3bb8cd]{background:#1a2a40}[data-theme=dark] .drop-zone.has-file[data-v-5a3bb8cd]{background:#0e2218}.file-icon[data-v-5a3bb8cd]{margin-bottom:.4rem;font-size:2rem}.file-name[data-v-5a3bb8cd]{font-size:.95rem;font-weight:600}.file-size[data-v-5a3bb8cd]{opacity:.7;margin-top:.2rem;font-size:.8rem}.imp-actions[data-v-5a3bb8cd]{align-items:center;gap:1rem;margin-top:1rem;display:flex}.btn-primary[data-v-5a3bb8cd]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;padding:.5rem 1.4rem;font-size:.9rem}.btn-primary[data-v-5a3bb8cd]:disabled{opacity:.5;cursor:default}.btn-import[data-v-5a3bb8cd]{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:.5rem 1.4rem;font-size:.9rem}.btn-import[data-v-5a3bb8cd]:disabled{opacity:.5;cursor:default}.disabled-hint[data-v-5a3bb8cd]{color:var(--text-4);font-size:.82rem}.preview-card[data-v-5a3bb8cd]{border:1px solid var(--border-2);border-radius:10px;margin-top:1.2rem;padding:1.1rem}.preview-card h4[data-v-5a3bb8cd]{margin:0 0 .8rem;font-size:.95rem}.stats-row[data-v-5a3bb8cd]{flex-wrap:wrap;gap:.75rem;margin-bottom:.8rem;display:flex}.stat[data-v-5a3bb8cd]{background:var(--border-2);text-align:center;border-radius:8px;min-width:64px;padding:.5rem .9rem}.stat-num[data-v-5a3bb8cd]{color:#1a73e8;font-size:1.3rem;font-weight:700}.stat-label[data-v-5a3bb8cd]{color:var(--text-4);margin-top:.1rem;font-size:.72rem}.warn-box[data-v-5a3bb8cd]{color:#5d4037;background:#fff8e1;border-left:3px solid #f9a825;border-radius:4px;margin:.6rem 0;padding:.6rem .9rem;font-size:.85rem}.warn-box a[data-v-5a3bb8cd]{color:#1a73e8}[data-theme=dark] .warn-box[data-v-5a3bb8cd]{color:#ffd54f;background:#2a2000}.detail-block[data-v-5a3bb8cd]{margin:.6rem 0}.detail-block summary[data-v-5a3bb8cd]{cursor:pointer;color:var(--text-2);padding:.3rem 0;font-size:.85rem;font-weight:600}.preview-table[data-v-5a3bb8cd]{border-collapse:collapse;width:100%;margin-top:.4rem;font-size:.83rem}.preview-table th[data-v-5a3bb8cd],.preview-table td[data-v-5a3bb8cd]{border:1px solid var(--border-2);text-align:left;padding:.3rem .5rem}.preview-table th[data-v-5a3bb8cd]{background:var(--border-2);color:var(--text-2)}.teacher-list[data-v-5a3bb8cd]{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.teacher-tag[data-v-5a3bb8cd]{border-radius:3px;padding:2px 7px;font-size:.78rem}.teacher-tag.new[data-v-5a3bb8cd]{color:#2e7d32;background:#e8f5e9}.teacher-tag.existing[data-v-5a3bb8cd]{background:var(--border-2);color:var(--text-3)}.legend-row[data-v-5a3bb8cd]{gap:.5rem;margin-top:.4rem;display:flex}.result-card[data-v-5a3bb8cd]{background:#f1f8f1;border:1px solid #c8e6c9;border-radius:10px;margin-top:1.2rem;padding:1.1rem}.result-card h4[data-v-5a3bb8cd]{color:#2e7d32;margin:0 0 .6rem;font-size:.95rem}[data-theme=dark] .result-card[data-v-5a3bb8cd]{background:#0e2218;border-color:#1e5e30}[data-theme=dark] .result-card h4[data-v-5a3bb8cd]{color:#7ec89a}.result-rows[data-v-5a3bb8cd]{flex-direction:column;gap:.25rem;display:flex}.result-row[data-v-5a3bb8cd]{border-bottom:1px solid var(--border-2);justify-content:space-between;padding:.25rem 0;font-size:.88rem;display:flex}.result-row[data-v-5a3bb8cd]:last-child{border-bottom:none}.result-hint[data-v-5a3bb8cd]{color:var(--text-4);margin-top:.6rem;font-size:.8rem}.error-box[data-v-5a3bb8cd]{color:#c62828;background:#fdecea;border-left:3px solid #c62828;border-radius:4px;margin-top:.8rem;padding:.6rem .9rem;font-size:.85rem}[data-theme=dark] .error-box[data-v-5a3bb8cd]{color:#f48a8a;background:#2a1010}.info-row[data-v-5a3bb8cd]{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.info-label[data-v-5a3bb8cd]{color:var(--text-2);flex-shrink:0;width:100px;font-size:.85rem}.info-value[data-v-5a3bb8cd]{font-family:monospace;font-size:.95rem;font-weight:600}.btn-reset[data-v-5a3bb8cd]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.88rem}.btn-reset[data-v-5a3bb8cd]:hover{background:#1558b0}.creds-box[data-v-5a3bb8cd]{background:#1a1a2e;border-radius:8px;margin-bottom:.5rem;padding:1rem 1.2rem}.cred-row[data-v-5a3bb8cd]{align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.cred-row[data-v-5a3bb8cd]:last-child{margin-bottom:0}.cred-row span[data-v-5a3bb8cd]{color:#aaa;width:36px;font-size:.8rem}.cred-row code[data-v-5a3bb8cd]{color:#7ee787;font-family:monospace;font-size:1rem}.danger-zone[data-v-5a3bb8cd]{border:1px solid #f5c2c2}.action-row[data-v-5a3bb8cd]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.action-info[data-v-5a3bb8cd]{flex:1}.action-title[data-v-5a3bb8cd]{margin-bottom:.25rem;font-size:.95rem;font-weight:600}.action-desc[data-v-5a3bb8cd]{color:var(--text-4);font-size:.83rem;line-height:1.5}.btn-danger-outline[data-v-5a3bb8cd]{background:var(--bg-card);color:#c62828;cursor:pointer;white-space:nowrap;border:1.5px solid #e53935;border-radius:6px;flex-shrink:0;padding:.4rem 1rem;font-size:.88rem}.btn-danger-outline[data-v-5a3bb8cd]:hover{background:#ffebee}.btn-danger-outline[data-v-5a3bb8cd]:disabled{opacity:.4;cursor:default}.overlay[data-v-5a3bb8cd]{z-index:100;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-5a3bb8cd]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:460px;max-width:95vw;max-height:90vh;padding:2rem;overflow-y:auto}.modal h3[data-v-5a3bb8cd]{margin:0 0 1rem}.modal-desc[data-v-5a3bb8cd]{color:var(--text-2);margin-bottom:1rem;font-size:.9rem}.modal-actions[data-v-5a3bb8cd]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button[data-v-5a3bb8cd]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.4rem .9rem;font-size:.88rem}.btn-danger[data-v-5a3bb8cd]{color:#fff;background:#c62828;border-color:#c62828}.btn-danger[data-v-5a3bb8cd]:disabled{opacity:.4;cursor:default}.warn-text[data-v-5a3bb8cd]{color:#c62828;margin:.3rem 0 0;font-size:.84rem}.success-text[data-v-5a3bb8cd]{color:#2e7d32!important}.preview-box[data-v-5a3bb8cd]{border:1px solid var(--border-2);border-radius:8px;margin-bottom:1rem;overflow:hidden}.preview-row[data-v-5a3bb8cd]{border-bottom:1px solid var(--border-2);justify-content:space-between;align-items:center;padding:.5rem .9rem;font-size:.88rem;display:flex}.preview-row[data-v-5a3bb8cd]:last-child{border-bottom:none}.preview-row.del[data-v-5a3bb8cd]{color:#c62828;background:#fff5f5}.preview-row.keep[data-v-5a3bb8cd]{color:#2e7d32;background:#f0faf4}[data-theme=dark] .preview-row.del[data-v-5a3bb8cd]{color:#f48a8a;background:#2a1010}[data-theme=dark] .preview-row.keep[data-v-5a3bb8cd]{color:#7ec89a;background:#0e2218}.confirm-input[data-v-5a3bb8cd]{background:var(--bg-input);width:100%;color:var(--text-1);box-sizing:border-box;border:1.5px solid #e53935;border-radius:6px;margin-bottom:.5rem;padding:.5rem .7rem;font-size:1rem}.confirm-input[data-v-5a3bb8cd]:focus{border-color:#c62828;outline:none}code[data-v-5a3bb8cd]{background:var(--border-2);color:#c62828;border-radius:4px;padding:.1rem .4rem;font-family:monospace;font-size:.95em}.toolbar[data-v-4d19cb98]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}h2[data-v-4d19cb98]{margin:0}.hint[data-v-4d19cb98]{color:var(--text-4);margin-bottom:1rem;font-size:.85rem}.card[data-v-4d19cb98]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}table[data-v-4d19cb98]{border-collapse:collapse;width:100%;margin-bottom:1rem}th[data-v-4d19cb98]{text-align:left;color:var(--text-3);border-bottom:2px solid var(--border-1);padding:.5rem .75rem;font-size:.8rem}td[data-v-4d19cb98]{border-bottom:1px solid var(--border-2);padding:.65rem .75rem;font-size:.95rem}.actions[data-v-4d19cb98]{justify-content:flex-end;gap:.4rem;display:flex}.actions button[data-v-4d19cb98]{border:1px solid var(--border-3);background:var(--bg-card);color:var(--text-1);cursor:pointer;border-radius:4px;padding:.3rem .65rem;font-size:.85rem}.btn-primary[data-v-4d19cb98]{color:#fff!important;background:#1a73e8!important;border-color:#1a73e8!important}.btn-danger[data-v-4d19cb98]{color:#fff!important;background:#d32f2f!important;border-color:#d32f2f!important}.hours-input[data-v-4d19cb98]{border:1px solid var(--border-3);background:var(--bg-input);width:70px;color:var(--text-1);border-radius:4px;padding:.35rem .5rem;font-size:.95rem}.add-row[data-v-4d19cb98]{flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.add-row button[data-v-4d19cb98]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.35rem .8rem;font-size:.9rem}.btn-add[data-v-4d19cb98]{border:1px dashed var(--border-1);color:var(--text-3);cursor:pointer;background:0 0;border-radius:6px;margin-top:.25rem;padding:.4rem .9rem;font-size:.9rem}.btn-add[data-v-4d19cb98]:hover{color:#1a73e8;border-color:#1a73e8}.empty[data-v-4d19cb98]{color:var(--text-4);margin-bottom:1rem;font-size:.9rem}.overlay[data-v-4d19cb98]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-4d19cb98]{background:var(--bg-card);color:var(--text-1);border-radius:12px;width:360px;padding:2rem}.modal h3[data-v-4d19cb98]{margin:0 0 .8rem}.modal-actions[data-v-4d19cb98]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button[data-v-4d19cb98]{border:1px solid var(--border-3);cursor:pointer;background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:.4rem .9rem}.toolbar[data-v-850fd72a]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}h2[data-v-850fd72a]{margin:0}.card[data-v-850fd72a]{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;max-width:560px;padding:2rem}.hint[data-v-850fd72a]{color:var(--text-2);margin:0 0 1.2rem;font-size:.85rem}.field[data-v-850fd72a]{margin-bottom:1rem}.field label[data-v-850fd72a]{color:var(--text-2);margin-bottom:.3rem;font-size:.85rem;display:block}.field input[data-v-850fd72a],.field textarea[data-v-850fd72a]{border:1px solid var(--border-3);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-1);border-radius:6px;padding:.5rem .7rem;font-family:monospace;font-size:.9rem}.field textarea[data-v-850fd72a]{resize:vertical}.form-actions[data-v-850fd72a]{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.btn-primary[data-v-850fd72a]{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.5rem 1.2rem;font-size:.95rem}.btn-primary[data-v-850fd72a]:disabled{opacity:.5;cursor:default}.saved-msg[data-v-850fd72a]{color:#2e7d32;font-size:.9rem}.err-msg[data-v-850fd72a]{color:#c62828;font-size:.9rem}.portal[data-v-03dc6202]{background:var(--bg-page,#f5f7fa);flex-direction:column;align-items:center;min-height:100vh;padding:3rem 1rem;display:flex}.hero[data-v-03dc6202]{text-align:center;margin-bottom:3rem}.logo[data-v-03dc6202]{color:#1a73e8;letter-spacing:.05em;font-size:2.4rem;font-weight:700}.tagline[data-v-03dc6202]{color:var(--text-2,#666);margin:.4rem 0 0;font-size:1rem}.school-section[data-v-03dc6202]{width:100%;max-width:520px}h2[data-v-03dc6202]{color:var(--text-2,#888);text-transform:uppercase;letter-spacing:.08em;margin:0 0 1rem;font-size:1rem}.loading[data-v-03dc6202],.empty[data-v-03dc6202]{color:var(--text-2,#888);padding:1.5rem 0;font-size:.95rem}.school-list[data-v-03dc6202]{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.school-card[data-v-03dc6202]{background:var(--bg-card,white);border-radius:10px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 4px #00000014}.school-card[data-v-03dc6202]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a73e833}.school-name[data-v-03dc6202]{color:var(--text-1,#333);font-size:1rem;font-weight:500}.school-url[data-v-03dc6202]{color:#1a73e8;font-family:monospace;font-size:.8rem}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
