@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:#f5f5f5;color:#1a1a1a}header{background:#1a1a2e;color:#fff;padding:0 1.5rem;height:48px;display:flex;align-items:center;gap:2rem}.brand{color:#fff;text-decoration:none;font-size:1rem;font-weight:600;letter-spacing:.02em}nav{display:flex;gap:.25rem;flex:1}nav a{color:#ffffffa6;text-decoration:none;padding:.35rem .85rem;border-radius:4px;font-size:.875rem;transition:all .15s}nav a:hover{color:#fff;background:#ffffff1a}nav a.router-link-active{color:#fff;background:#ffffff26}.nav-end{display:flex;align-items:center;gap:.75rem;margin-left:auto}.nav-user{font-size:.8rem;color:#fff9}.nav-logout{background:none;border:1px solid rgba(255,255,255,.3);color:#ffffffb3;padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem}.nav-logout:hover{background:#ffffff1a;color:#fff}main{padding:1.5rem}.title-row{display:inline-flex;align-items:center;gap:.5rem}@media print{header{display:none!important}main{padding:2.5rem 4rem}body{background:#fff}}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center}.help-panel{background:#fff;border-radius:10px;width:520px;max-width:calc(100vw - 2rem);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000002e}.help-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid #e5e7eb}.help-panel-header h3{font-size:1rem;font-weight:700;color:#1a1a2e}.help-close{background:none;border:none;font-size:1rem;color:#9ca3af;cursor:pointer;padding:.2rem .4rem;border-radius:4px}.help-close:hover{background:#f3f4f6;color:#374151}.help-panel-body{overflow-y:auto;padding:1rem 1.25rem;flex:1}.help-panel-footer{padding:.75rem 1.25rem;border-top:1px solid #e5e7eb}.help-full-link{font-size:.8rem;color:#4f46e5;text-decoration:none}.help-full-link:hover{text-decoration:underline}.hb{margin-bottom:.9rem}.hb h4{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.3rem}.hb p{font-size:.85rem;color:#4b5563;line-height:1.6}.hb ul{padding-left:1.1rem}.hb li{font-size:.85rem;color:#4b5563;line-height:1.6;margin-bottom:.25rem}.hb code{background:#f3f4f6;padding:.1em .3em;border-radius:3px;font-family:monospace;font-size:.82em}.hb-tip{background:#eff6ff;border-left:3px solid #3b82f6;padding:.5rem .8rem;border-radius:0 5px 5px 0;font-size:.82rem;color:#1e40af;margin-top:.4rem}.hb-warning{background:#fff7ed;border-left:3px solid #f97316;padding:.5rem .8rem;border-radius:0 5px 5px 0;font-size:.82rem;color:#9a3412;margin-top:.4rem}.help-trigger[data-v-a531cd13]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e0e7ff;color:#4f46e5;border:none;font-size:.8rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .15s}.help-trigger[data-v-a531cd13]:hover{background:#c7d2fe}.calendar-view[data-v-626df4d4]{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a;position:relative}.toolbar[data-v-626df4d4]{margin-bottom:1rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.toolbar select[data-v-626df4d4]{padding:.4rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.single-room-hint[data-v-626df4d4]{font-size:.78rem;color:#888;font-style:italic}.holiday-toolbar-badge[data-v-626df4d4]{margin-left:auto;display:flex;align-items:center;gap:.35rem;background:#ef444417;border:1px solid rgba(239,68,68,.25);color:#b91c1c;font-size:.78rem;font-weight:600;padding:.28rem .7rem;border-radius:5px;white-space:nowrap}.loading[data-v-626df4d4],.error[data-v-626df4d4]{padding:2rem;text-align:center;color:#666}.error[data-v-626df4d4]{color:#c0392b}.session-popup[data-v-626df4d4]{position:fixed;z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;width:240px;box-shadow:0 4px 16px #00000026}.popup-header[data-v-626df4d4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.popup-code[data-v-626df4d4]{font-family:monospace;font-size:.8rem;background:#f0f0f0;padding:.1rem .4rem;border-radius:3px}.popup-close[data-v-626df4d4]{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#888;line-height:1;padding:0}.popup-name[data-v-626df4d4]{font-weight:600;font-size:.9rem;margin-bottom:.35rem}.popup-meta[data-v-626df4d4]{font-size:.8rem;color:#666;margin-bottom:.2rem}.popup-actions[data-v-626df4d4]{display:flex;gap:.5rem;margin-top:.75rem}.btn-move-session[data-v-626df4d4]{flex:1;padding:.4rem;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:4px;cursor:pointer;font-size:.82rem}.btn-move-session[data-v-626df4d4]:hover{background:#dbeafe}.btn-cancel-session[data-v-626df4d4]{flex:1;padding:.4rem;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;border-radius:4px;cursor:pointer;font-size:.82rem}.btn-cancel-session[data-v-626df4d4]:hover{background:#fecaca}.move-backdrop[data-v-626df4d4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:300}.move-modal[data-v-626df4d4]{background:#fff;border-radius:8px;padding:1.5rem;width:440px;max-width:95vw;box-shadow:0 8px 32px #0003}.move-header[data-v-626df4d4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;font-size:1rem}.move-origin[data-v-626df4d4]{font-size:.85rem;color:#555;background:#f8f8f8;border-radius:6px;padding:.6rem .75rem;margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.25rem}.move-origin-meta[data-v-626df4d4]{font-size:.78rem;color:#888}.move-fields[data-v-626df4d4]{display:flex;flex-direction:column;gap:.85rem}.mfield[data-v-626df4d4]{display:flex;flex-direction:column;gap:.3rem}.mfield-row[data-v-626df4d4]{display:flex;gap:.75rem}.mfield-row .mfield[data-v-626df4d4]{flex:1}.mfield label[data-v-626df4d4]{font-size:.78rem;font-weight:600;color:#555}.mfield .hint[data-v-626df4d4]{font-weight:400;color:#aaa}.mfield input[data-v-626df4d4],.mfield select[data-v-626df4d4]{border:1px solid #ddd;border-radius:4px;padding:.45rem .6rem;font-size:.88rem;font-family:inherit}.move-error[data-v-626df4d4]{margin-top:.75rem;padding:.5rem .75rem;background:#fee2e2;color:#991b1b;border-radius:4px;font-size:.82rem}.move-actions[data-v-626df4d4]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.move-actions button[data-v-626df4d4]{padding:.45rem 1rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.88rem;background:#fff;color:#333}.move-actions .btn-primary[data-v-626df4d4]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.move-actions .btn-primary[data-v-626df4d4]:hover{background:#2a2a4e}.move-actions .btn-primary[data-v-626df4d4]:disabled{opacity:.6;cursor:not-allowed}.occupied-dates[data-v-626df4d4]{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem;align-items:center}.occupied-label[data-v-626df4d4]{font-size:.72rem;color:#888}.odate[data-v-626df4d4]{font-size:.72rem;background:#f3f4f6;padding:.1rem .4rem;border-radius:3px;color:#555}.odate.conflict[data-v-626df4d4]{background:#fef3c7;color:#92400e;font-weight:600}.date-conflict-warn[data-v-626df4d4]{margin-top:.35rem;font-size:.78rem;color:#92400e;background:#fef3c7;padding:.3rem .5rem;border-radius:4px}.room-label{display:flex;flex-direction:column;line-height:1.3;gap:2px}.room-label span{font-size:.75rem;color:#555}.fc-bg-event.holiday-bg{opacity:1!important}.holiday-chip{display:block;font-size:.6rem;font-weight:600;line-height:1.2;color:#b91c1c;background:#ef44441f;border-radius:3px;padding:1px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fc-resourceTimeGridWeek-view .fc-col-header-cell-cushion{font-size:.68rem;padding:2px 3px;line-height:1.3}.fc-resourceTimeGridWeek-view .fc-col-header-cell{padding:1px 0!important}.fc-resourceTimeGridWeek-view .fc-timegrid-col.fc-day-today,.fc-resourceTimeGridDay-view .fc-timegrid-col.fc-day-today{background:transparent!important}.fc-col-header-cell.fc-day-today .dhdr-tip{font-weight:700;color:#4f46e5}.dhdr-tip{position:relative;display:inline-block;width:100%}.dhdr-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#1a1a2e;color:#fff;font-size:.7rem;font-weight:400;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:500}.dhdr-tip:hover:after{opacity:1}.fc-event-title,.fc-event-title-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-timegrid-event .fc-event-main{padding:1px 3px}.fc-timegrid-event .fc-event-title{font-size:.72rem;font-weight:600;line-height:1.25}.fc-timegrid-event .fc-event-time{font-size:.65rem;opacity:.85}.admin-rooms[data-v-79a0afa1]{max-width:1000px;margin:0 auto}.admin-header[data-v-79a0afa1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2[data-v-79a0afa1]{font-size:1.25rem;font-weight:600}.rooms-table[data-v-79a0afa1]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.rooms-table th[data-v-79a0afa1]{background:#f8f8f8;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.rooms-table td[data-v-79a0afa1]{padding:.75rem 1rem;border-top:1px solid #f0f0f0;font-size:.9rem;vertical-align:middle}.rooms-table tr.inactive td[data-v-79a0afa1]{opacity:.5}.rooms-table tbody tr[data-v-79a0afa1]{cursor:grab}.rooms-table tbody tr[data-v-79a0afa1]:active{cursor:grabbing}.rooms-table tbody tr.drag-over[data-v-79a0afa1]{background:#eef4ff;outline:2px dashed #4a7ee6;outline-offset:-2px}.th-drag[data-v-79a0afa1]{width:2rem}.drag-handle[data-v-79a0afa1]{color:#bbb;font-size:1.1rem;cursor:grab;-webkit-user-select:none;user-select:none;text-align:center}.tag[data-v-79a0afa1]{display:inline-block;background:#e8f4fd;color:#1a6a9a;font-size:.75rem;padding:.15rem .5rem;border-radius:99px;margin-right:.25rem}.muted[data-v-79a0afa1]{color:#aaa}.toggle[data-v-79a0afa1]{border:none;padding:.3rem .75rem;border-radius:99px;font-size:.8rem;cursor:pointer;font-weight:500}.toggle-on[data-v-79a0afa1]{background:#d4edda;color:#155724}.toggle-off[data-v-79a0afa1]{background:#f0f0f0;color:#888}.actions[data-v-79a0afa1]{display:flex;gap:.5rem}.btn-sm[data-v-79a0afa1]{padding:.3rem .75rem;font-size:.8rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.btn-sm[data-v-79a0afa1]:hover{background:#f5f5f5}.btn-danger[data-v-79a0afa1]{border-color:#e74c3c;color:#e74c3c}.btn-danger[data-v-79a0afa1]:hover{background:#fdf0f0}.btn-primary[data-v-79a0afa1]{background:#1a1a2e;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary[data-v-79a0afa1]:hover{background:#2a2a4e}.state-msg[data-v-79a0afa1]{padding:2rem;text-align:center;color:#666}.state-msg.error[data-v-79a0afa1]{color:#c0392b}.modal-backdrop[data-v-79a0afa1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-79a0afa1]{background:#fff;border-radius:8px;padding:1.5rem;width:440px;max-width:95vw}.modal-sm[data-v-79a0afa1]{width:360px}.modal h3[data-v-79a0afa1]{margin-bottom:1.25rem;font-size:1.1rem}.modal p[data-v-79a0afa1]{color:#666;font-size:.9rem;margin-bottom:1rem}.field[data-v-79a0afa1]{margin-bottom:1rem}.field label[data-v-79a0afa1]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-79a0afa1],.field select[data-v-79a0afa1],.field textarea[data-v-79a0afa1]{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit}.field textarea[data-v-79a0afa1]{font-family:monospace;font-size:.85rem;resize:vertical}.hint[data-v-79a0afa1]{font-weight:400;color:#aaa;font-size:.75rem}.caps-grid[data-v-79a0afa1]{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem;padding:.5rem 0}.cap-check[data-v-79a0afa1]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#444;cursor:pointer;font-weight:400}.cap-check input[data-v-79a0afa1]{cursor:pointer;accent-color:#4f46e5;width:15px;height:15px}.modal-actions[data-v-79a0afa1]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.btn-pdf[data-v-79a0afa1]{border-color:#7c3aed;color:#7c3aed}.btn-pdf[data-v-79a0afa1]:hover{background:#f5f3ff}.pdf-wrap[data-v-79a0afa1]{position:relative}.pdf-popover[data-v-79a0afa1]{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:.5rem .6rem;white-space:nowrap}.pop-date[data-v-79a0afa1]{border:1px solid #ddd;border-radius:4px;padding:.3rem .4rem;font-size:.8rem;width:120px}.pop-sep[data-v-79a0afa1]{color:#aaa;font-size:.85rem}.pop-btn[data-v-79a0afa1]{background:#7c3aed;color:#fff;border:none;border-radius:4px;padding:.3rem .65rem;font-size:.8rem;cursor:pointer;font-weight:500}.pop-btn[data-v-79a0afa1]:hover{background:#6d28d9}.pop-btn[data-v-79a0afa1]:disabled{opacity:.4;cursor:not-allowed}.admin-venues[data-v-a46760fb]{max-width:900px;margin:0 auto}.admin-header[data-v-a46760fb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2[data-v-a46760fb]{font-size:1.25rem;font-weight:600}.venues-table[data-v-a46760fb]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.venues-table th[data-v-a46760fb]{background:#f8f8f8;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.venues-table td[data-v-a46760fb]{padding:.75rem 1rem;border-top:1px solid #f0f0f0;font-size:.9rem;vertical-align:middle}.color-dot[data-v-a46760fb]{display:inline-block;width:1.2rem;height:1.2rem;border-radius:50%;border:1px solid rgba(0,0,0,.15);vertical-align:middle}.color-swatches[data-v-a46760fb]{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.swatch[data-v-a46760fb]{width:2rem;height:2rem;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s}.swatch[data-v-a46760fb]:hover{transform:scale(1.15)}.swatch.selected[data-v-a46760fb]{border-color:#1a1a2e;box-shadow:0 0 0 1px #1a1a2e}.actions[data-v-a46760fb]{display:flex;gap:.5rem}.btn-sm[data-v-a46760fb]{padding:.3rem .75rem;font-size:.8rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.btn-sm[data-v-a46760fb]:hover{background:#f5f5f5}.btn-danger[data-v-a46760fb]{border-color:#e74c3c;color:#e74c3c}.btn-danger[data-v-a46760fb]:hover{background:#fdf0f0}.btn-primary[data-v-a46760fb]{background:#1a1a2e;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary[data-v-a46760fb]:hover{background:#2a2a4e}.state-msg[data-v-a46760fb]{padding:2rem;text-align:center;color:#666}.state-msg.error[data-v-a46760fb]{color:#c0392b}.modal-backdrop[data-v-a46760fb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-a46760fb]{background:#fff;border-radius:8px;padding:1.5rem;width:440px;max-width:95vw}.modal-sm[data-v-a46760fb]{width:360px}.modal h3[data-v-a46760fb]{margin-bottom:1.25rem;font-size:1.1rem}.modal p[data-v-a46760fb]{color:#666;font-size:.9rem;margin-bottom:1rem}.field[data-v-a46760fb]{margin-bottom:1rem}.field label[data-v-a46760fb]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-a46760fb],.field select[data-v-a46760fb]{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit}.modal-actions[data-v-a46760fb]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.weekday-checks[data-v-a46760fb]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.wd-label[data-v-a46760fb]{display:flex;align-items:center;gap:.3rem;font-size:.85rem;cursor:pointer;padding:.3rem .5rem;border:1px solid #e5e7eb;border-radius:4px}.wd-label input[type=checkbox][data-v-a46760fb]{accent-color:#1a1a2e}.field-hint[data-v-a46760fb]{font-size:.75rem;color:#aaa;margin-top:.35rem;line-height:1.4}.field-error[data-v-a46760fb]{font-size:.75rem;color:#e74c3c;margin-top:.25rem}.field-label-hint[data-v-a46760fb]{font-weight:400;color:#aaa;font-size:.75rem}.field-row[data-v-a46760fb]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.venue-logo-row[data-v-a46760fb]{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.venue-logo-thumb[data-v-a46760fb]{width:72px;height:48px;border-radius:6px;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:#f9fafb}.venue-logo-thumb img[data-v-a46760fb]{max-width:100%;max-height:100%;object-fit:contain}.venue-logo-thumb.empty[data-v-a46760fb]{border-style:dashed}.no-logo-text[data-v-a46760fb]{font-size:.65rem;color:#aaa}.venue-logo-actions[data-v-a46760fb]{display:flex;gap:.4rem;flex-wrap:wrap}.btn-upload[data-v-a46760fb]{display:inline-block;cursor:pointer}.admin-courses[data-v-501c7619]{max-width:1200px;margin:0 auto}.admin-header[data-v-501c7619]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2[data-v-501c7619]{font-size:1.25rem;font-weight:600}.courses-table[data-v-501c7619]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.courses-table th[data-v-501c7619]{background:#f8f8f8;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.courses-table td[data-v-501c7619]{padding:.75rem 1rem;border-top:1px solid #f0f0f0;font-size:.9rem;vertical-align:middle}.mono[data-v-501c7619]{font-family:monospace;font-size:.85rem}.center[data-v-501c7619]{text-align:center}.dates-col[data-v-501c7619]{font-size:.8rem;color:#666;white-space:nowrap}.schedule-col[data-v-501c7619]{min-width:120px}.track-pill[data-v-501c7619]{display:inline-flex;align-items:center;gap:.35rem;background:#f0f4ff;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;margin-right:.25rem;margin-bottom:.15rem}.track-time[data-v-501c7619]{color:#666;font-size:.75rem}.muted[data-v-501c7619]{color:#aaa}.badge[data-v-501c7619]{display:inline-block;padding:.2rem .6rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge-draft[data-v-501c7619]{background:#f0f0f0;color:#666}.badge-scheduled[data-v-501c7619]{background:#dbeafe;color:#1e40af}.badge-active[data-v-501c7619]{background:#d1fae5;color:#065f46}.badge-finished[data-v-501c7619]{background:#e5e7eb;color:#374151}.badge-cancelled[data-v-501c7619]{background:#fee2e2;color:#991b1b}.actions[data-v-501c7619]{display:flex;gap:.35rem}.btn-sm[data-v-501c7619]{padding:.3rem .65rem;font-size:.78rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-sm[data-v-501c7619]:hover{background:#f5f5f5}.btn-danger[data-v-501c7619]{border-color:#e74c3c;color:#e74c3c}.btn-danger[data-v-501c7619]:hover{background:#fdf0f0}.btn-generate[data-v-501c7619]{border-color:#10b981;color:#10b981}.btn-generate[data-v-501c7619]:hover{background:#ecfdf5}.btn-outline[data-v-501c7619]{border:1px solid #1a1a2e;color:#1a1a2e;background:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-primary[data-v-501c7619]{background:#1a1a2e;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary[data-v-501c7619]:hover{background:#2a2a4e}.state-msg[data-v-501c7619]{padding:2rem;text-align:center;color:#666}.state-msg.error[data-v-501c7619]{color:#c0392b}.modal-backdrop[data-v-501c7619]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-501c7619]{background:#fff;border-radius:8px;padding:1.5rem;width:440px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal-sm[data-v-501c7619]{width:360px}.modal-lg[data-v-501c7619]{width:680px}.modal h3[data-v-501c7619]{margin-bottom:1.25rem;font-size:1.1rem}.modal p[data-v-501c7619]{color:#666;font-size:.9rem;margin-bottom:1rem}.form-row[data-v-501c7619]{display:flex;gap:.75rem;flex-wrap:wrap}.field[data-v-501c7619]{flex:1;min-width:120px;margin-bottom:1rem}.field-sm[data-v-501c7619]{flex:0 0 100px}.field-grow[data-v-501c7619]{flex:2}.field label[data-v-501c7619]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-501c7619],.field select[data-v-501c7619],.field textarea[data-v-501c7619]{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;box-sizing:border-box}.field textarea[data-v-501c7619]{resize:vertical}.section-title[data-v-501c7619]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin:.5rem 0 .75rem;border-top:1px solid #f0f0f0;padding-top:1rem}.color-swatches[data-v-501c7619]{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.swatch[data-v-501c7619]{width:2rem;height:2rem;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s}.swatch[data-v-501c7619]:hover{transform:scale(1.15)}.swatch.selected[data-v-501c7619]{border-color:#1a1a2e;box-shadow:0 0 0 1px #1a1a2e}.swatch-none[data-v-501c7619]{background:#f3f4f6;font-size:.65rem;color:#666;font-weight:600}.info-note[data-v-501c7619]{background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:.5rem .75rem;font-size:.82rem;color:#92400e;margin-bottom:1rem}.warn-note[data-v-501c7619]{background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;padding:.75rem;font-size:.85rem;color:#9a3412;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.track-form[data-v-501c7619]{background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;padding:1rem;margin-bottom:1rem}.freq-tabs[data-v-501c7619]{display:flex;gap:.25rem}.freq-tab[data-v-501c7619]{padding:.3rem .85rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;background:#fff}.freq-tab.active[data-v-501c7619]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.day-checks[data-v-501c7619]{display:flex;gap:.35rem;flex-wrap:wrap}.day-check[data-v-501c7619]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;background:#fff;-webkit-user-select:none;user-select:none}.day-check.active[data-v-501c7619]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.rrule-preview[data-v-501c7619]{font-size:.82rem;color:#555;margin-top:.35rem;font-style:italic}.modal-actions[data-v-501c7619]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.result-row[data-v-501c7619]{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.95rem;border-bottom:1px solid #f0f0f0}.result-row.ok[data-v-501c7619]{color:#065f46}.result-row.warn[data-v-501c7619]{color:#92400e}.result-num[data-v-501c7619]{font-size:1.5rem;font-weight:700}.conflict-item[data-v-501c7619]{font-size:.82rem;padding:.2rem 0;color:#666}.teacher-col[data-v-501c7619]{font-size:.85rem;color:#4b5563}.filter-bar[data-v-501c7619]{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.filter-input[data-v-501c7619]{padding:.45rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;min-width:220px}.filter-select[data-v-501c7619]{padding:.45rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff}.btn-clear[data-v-501c7619]{padding:.4rem .75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.8rem;cursor:pointer;color:#6b7280}.btn-clear[data-v-501c7619]:hover{background:#f3f4f6}.btn-pdf[data-v-501c7619]{border-color:#7c3aed;color:#7c3aed}.btn-pdf[data-v-501c7619]:hover{background:#f5f3ff}.btn-pdf-large[data-v-501c7619]{background:#7c3aed;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-pdf-large[data-v-501c7619]:hover{background:#6d28d9}.teacher-drop[data-v-501c7619]{position:absolute;z-index:200;top:calc(100% - .5rem);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 16px #0000001f;overflow:hidden}.teacher-opt[data-v-501c7619]{padding:.5rem .75rem;cursor:pointer;display:flex;gap:.75rem;align-items:baseline;font-size:.875rem}.teacher-opt[data-v-501c7619]:hover{background:#f5f3ff}.teacher-name[data-v-501c7619]{font-weight:500}.teacher-email[data-v-501c7619]{color:#9ca3af;font-size:.8rem}.teacher-new[data-v-501c7619]{color:#4f46e5}.teacher-selected-note[data-v-501c7619]{font-size:.78rem;color:#374151;margin-top:.4rem;display:flex;align-items:center;gap:.4rem}.dot-green[data-v-501c7619]{color:#16a34a;font-size:.7rem}.clear-teacher[data-v-501c7619]{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.85rem;padding:0 .2rem}.clear-teacher[data-v-501c7619]:hover{color:#374151}.admin-holidays[data-v-92532b8e]{max-width:960px;margin:0 auto}.admin-header[data-v-92532b8e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.admin-header h2[data-v-92532b8e]{font-size:1.25rem;font-weight:600}.tabs[data-v-92532b8e]{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:1rem}.tab[data-v-92532b8e]{padding:.5rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.9rem;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab[data-v-92532b8e]:hover{color:#1a1a2e}.tab.active[data-v-92532b8e]{color:#1a1a2e;font-weight:600;border-bottom-color:#1a1a2e}.filter-bar[data-v-92532b8e]{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filter-bar select[data-v-92532b8e]{padding:.4rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.data-table[data-v-92532b8e]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th[data-v-92532b8e]{background:#f8f8f8;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.data-table td[data-v-92532b8e]{padding:.7rem 1rem;border-top:1px solid #f0f0f0;font-size:.88rem;vertical-align:middle}.data-table td.empty[data-v-92532b8e]{text-align:center;color:#aaa;padding:2rem}.scope-badge[data-v-92532b8e]{padding:.15rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500}.scope-badge.national[data-v-92532b8e]{background:#dbeafe;color:#1e40af}.scope-badge.regional[data-v-92532b8e]{background:#d1fae5;color:#065f46}.scope-badge.local[data-v-92532b8e]{background:#fef3c7;color:#92400e}.recur-badge[data-v-92532b8e]{margin-left:.3rem;font-size:.8rem;color:#7c3aed;font-weight:600}.field-check[data-v-92532b8e]{margin-top:.25rem}.check-label[data-v-92532b8e]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer}.check-label input[type=checkbox][data-v-92532b8e]{width:auto}.hint-block[data-v-92532b8e]{font-size:.75rem;color:#6b7280;margin-top:.25rem;display:block}.scope-badge.custom[data-v-92532b8e]{background:#f3f4f6;color:#374151}.all-rooms[data-v-92532b8e]{font-style:italic;color:#888;font-size:.82rem}.all-venues-badge[data-v-92532b8e]{font-size:.78rem;background:#ede9fe;color:#5b21b6;padding:.15rem .5rem;border-radius:3px;font-weight:500}.actions[data-v-92532b8e]{display:flex;gap:.5rem}.btn-sm[data-v-92532b8e]{padding:.3rem .75rem;font-size:.8rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.btn-sm[data-v-92532b8e]:hover{background:#f5f5f5}.btn-sm.btn-danger[data-v-92532b8e],.btn-danger[data-v-92532b8e]{border-color:#e74c3c;color:#e74c3c;background:#fff}.btn-sm.btn-danger[data-v-92532b8e]:hover,.btn-danger[data-v-92532b8e]:hover{background:#fdf0f0}.btn-primary[data-v-92532b8e]{background:#1a1a2e;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary[data-v-92532b8e]:hover{background:#2a2a4e}.state-msg[data-v-92532b8e]{padding:2rem;text-align:center;color:#666}.state-msg.error[data-v-92532b8e]{color:#c0392b}.modal-backdrop[data-v-92532b8e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-92532b8e]{background:#fff;border-radius:8px;padding:1.5rem;width:460px;max-width:95vw}.modal-sm[data-v-92532b8e]{width:360px}.modal h3[data-v-92532b8e]{margin-bottom:1.25rem;font-size:1.1rem}.modal p[data-v-92532b8e]{color:#666;font-size:.9rem;margin-bottom:1rem}.field[data-v-92532b8e]{margin-bottom:1rem}.field label[data-v-92532b8e]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-92532b8e],.field select[data-v-92532b8e]{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit}.field .hint[data-v-92532b8e]{font-weight:400;color:#aaa;font-size:.75rem}.field-row[data-v-92532b8e]{display:flex;gap:1rem}.field-row .field[data-v-92532b8e]{flex:1}.modal-actions[data-v-92532b8e]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.modal-actions button[data-v-92532b8e]:not(.btn-primary){padding:.45rem 1rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.88rem;background:#fff;color:#374151}.settings-page[data-v-1e1e1e60]{max-width:860px;margin:0 auto}.page-header[data-v-1e1e1e60]{margin-bottom:1.5rem}.page-header h1[data-v-1e1e1e60]{font-size:1.4rem;font-weight:600}.subtitle[data-v-1e1e1e60]{color:#6b7280;font-size:.875rem;margin-top:.25rem}.brand-preview[data-v-1e1e1e60]{border-radius:10px;padding:1.1rem 1.5rem;display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem;position:relative;min-height:76px;transition:background .25s;box-shadow:0 2px 8px #0000002e}.preview-logo-wrap[data-v-1e1e1e60]{flex-shrink:0}.preview-logo[data-v-1e1e1e60]{height:46px;width:auto;max-width:140px;object-fit:contain;display:block}.preview-logo-empty[data-v-1e1e1e60]{width:46px;height:46px;border-radius:8px;background:#ffffff26}.preview-info[data-v-1e1e1e60]{display:flex;flex-direction:column;gap:.2rem}.preview-name[data-v-1e1e1e60]{color:#fff;font-size:1.05rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.preview-web[data-v-1e1e1e60]{color:#ffffffa6;font-size:.78rem}.preview-tag[data-v-1e1e1e60]{position:absolute;bottom:8px;right:10px;color:#ffffffe6;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#00000047;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.2rem .55rem;border-radius:20px}.main-grid[data-v-1e1e1e60]{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;margin-bottom:1.25rem}.card[data-v-1e1e1e60]{background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:1.25rem 1.4rem}.card h2[data-v-1e1e1e60]{font-size:.95rem;font-weight:600;color:#374151;margin-bottom:1.1rem}.card-contacto[data-v-1e1e1e60],.card-social[data-v-1e1e1e60]{margin-bottom:1.25rem}.contact-grid[data-v-1e1e1e60]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}.contact-field label[data-v-1e1e1e60]{display:block;font-size:.8rem;font-weight:500;color:#4b5563;margin-bottom:.3rem}.contact-field input[data-v-1e1e1e60]{width:100%;padding:.45rem .65rem;border:1px solid #d1d5db;border-radius:6px;font-size:.83rem;font-family:inherit}.contact-field input[data-v-1e1e1e60]:focus{outline:none;border-color:#6366f1}.logo-dropzone[data-v-1e1e1e60]{border:2px dashed #d1d5db;border-radius:8px;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:border-color .15s,background .15s;position:relative;overflow:hidden;margin-bottom:.75rem}.logo-dropzone[data-v-1e1e1e60]:not(.has-logo):hover,.logo-dropzone.dragging[data-v-1e1e1e60]{border-color:#6366f1;background:#f5f3ff}.logo-dropzone.has-logo[data-v-1e1e1e60]{cursor:default;border-style:solid;border-color:#e5e7eb}.logo-img[data-v-1e1e1e60]{max-height:100px;max-width:100%;object-fit:contain;padding:.5rem}.logo-overlay[data-v-1e1e1e60]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:.6rem;opacity:0;transition:opacity .15s}.logo-dropzone.has-logo:hover .logo-overlay[data-v-1e1e1e60]{opacity:1}.overlay-btn[data-v-1e1e1e60]{background:#fff;color:#111;border:none;padding:.35rem .9rem;border-radius:5px;font-size:.8rem;font-weight:500;cursor:pointer}.overlay-btn-danger[data-v-1e1e1e60]{background:#dc2626;color:#fff}.upload-icon[data-v-1e1e1e60]{width:2rem;height:2rem;color:#9ca3af}.upload-label[data-v-1e1e1e60]{font-size:.82rem;color:#6b7280;font-weight:500}.upload-hint[data-v-1e1e1e60]{font-size:.72rem;color:#9ca3af}.logo-note[data-v-1e1e1e60]{font-size:.72rem;color:#9ca3af;line-height:1.5}.logo-note a[data-v-1e1e1e60]{color:#6366f1;text-decoration:none}.logo-note a[data-v-1e1e1e60]:hover{text-decoration:underline}.field[data-v-1e1e1e60]{margin-bottom:1rem}.field[data-v-1e1e1e60]:last-child{margin-bottom:0}.field label[data-v-1e1e1e60]{display:block;font-size:.8rem;font-weight:500;color:#4b5563;margin-bottom:.35rem}.label-hint[data-v-1e1e1e60]{font-weight:400;color:#9ca3af}.field input[data-v-1e1e1e60],.field textarea[data-v-1e1e1e60]{width:100%;padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;transition:border-color .15s}.field input[data-v-1e1e1e60]:focus,.field textarea[data-v-1e1e1e60]:focus{outline:none;border-color:#6366f1}.field textarea[data-v-1e1e1e60]{resize:vertical}.field-hint[data-v-1e1e1e60]{font-size:.72rem;color:#9ca3af;margin-top:.3rem}.field-error[data-v-1e1e1e60]{font-size:.8rem;color:#dc2626;margin-top:.4rem}.color-row[data-v-1e1e1e60]{display:flex;gap:.6rem;align-items:center}.color-swatch[data-v-1e1e1e60]{width:38px;height:38px;flex-shrink:0;border-radius:8px;border:2px solid rgba(0,0,0,.12);cursor:pointer;position:relative;transition:transform .12s,box-shadow .12s}.color-swatch[data-v-1e1e1e60]:hover{transform:scale(1.08);box-shadow:0 2px 8px #0003}.hidden-color[data-v-1e1e1e60]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.hex-input[data-v-1e1e1e60]{font-family:Courier New,monospace;width:96px;letter-spacing:.04em}.color-reset[data-v-1e1e1e60]{background:none;border:none;color:#9ca3af;font-size:1.1rem;cursor:pointer;padding:.2rem .3rem;border-radius:4px;transition:color .15s}.color-reset[data-v-1e1e1e60]:hover{color:#4b5563}.social-header[data-v-1e1e1e60]{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem}.social-header h2[data-v-1e1e1e60]{margin-bottom:0}.social-hint[data-v-1e1e1e60]{font-size:.78rem;color:#9ca3af}.social-grid[data-v-1e1e1e60]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}.social-field label[data-v-1e1e1e60]{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;color:#4b5563;margin-bottom:.3rem}.social-field input[data-v-1e1e1e60]{width:100%;padding:.45rem .65rem;border:1px solid #d1d5db;border-radius:6px;font-size:.83rem;font-family:inherit}.social-field input[data-v-1e1e1e60]:focus{outline:none;border-color:#6366f1}.net-badge[data-v-1e1e1e60]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:0;flex-shrink:0}.save-bar[data-v-1e1e1e60]{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.75rem 0 .5rem}.saved-msg[data-v-1e1e1e60]{display:flex;align-items:center;gap:.35rem;color:#16a34a;font-size:.875rem;font-weight:500}.check-icon[data-v-1e1e1e60]{width:16px;height:16px}.btn-save[data-v-1e1e1e60]{background:#4f46e5;color:#fff;border:none;padding:.55rem 1.4rem;border-radius:7px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-save[data-v-1e1e1e60]:hover:not(:disabled){background:#4338ca}.btn-save[data-v-1e1e1e60]:disabled{opacity:.55;cursor:not-allowed}.fade-enter-active[data-v-1e1e1e60],.fade-leave-active[data-v-1e1e1e60]{transition:opacity .4s}.fade-enter-from[data-v-1e1e1e60],.fade-leave-to[data-v-1e1e1e60]{opacity:0}.loading[data-v-1e1e1e60]{color:#6b7280;padding:3rem 0;text-align:center}.load-error[data-v-1e1e1e60]{padding:2rem;text-align:center;color:#c0392b}.btn-retry[data-v-1e1e1e60]{margin-left:.75rem;padding:.3rem .75rem;border:1px solid #c0392b;color:#c0392b;background:#fff;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-retry[data-v-1e1e1e60]:hover{background:#fdf0f0}.admin-users[data-v-4753559e]{max-width:800px;margin:0 auto}.admin-header[data-v-4753559e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2[data-v-4753559e]{font-size:1.25rem;font-weight:600}.users-table[data-v-4753559e]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.users-table th[data-v-4753559e]{background:#f8f8f8;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.users-table td[data-v-4753559e]{padding:.75rem 1rem;border-top:1px solid #f0f0f0;font-size:.9rem;vertical-align:middle}.users-table tr.inactive td[data-v-4753559e]{opacity:.5}.role-badge[data-v-4753559e]{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.75rem;font-weight:600}.role-badge.admin[data-v-4753559e]{background:#e8f4fd;color:#1a6a9a}.role-badge.client[data-v-4753559e]{background:#fef3c7;color:#92400e}.status-pill[data-v-4753559e]{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.75rem;font-weight:500}.status-pill.active[data-v-4753559e]{background:#d4edda;color:#155724}.status-pill.inactive[data-v-4753559e]{background:#f0f0f0;color:#888}.actions[data-v-4753559e]{display:flex;gap:.5rem;flex-wrap:wrap}.btn-sm[data-v-4753559e]{padding:.3rem .75rem;font-size:.8rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-sm[data-v-4753559e]:hover{background:#f5f5f5}.btn-sm[data-v-4753559e]:disabled{opacity:.4;cursor:not-allowed}.btn-danger[data-v-4753559e]{border-color:#e74c3c;color:#e74c3c}.btn-danger[data-v-4753559e]:hover:not(:disabled){background:#fdf0f0}.btn-primary[data-v-4753559e]{background:#1a1a2e;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary[data-v-4753559e]:hover{background:#2a2a4e}.state-msg[data-v-4753559e]{padding:2rem;text-align:center;color:#666}.state-msg.error[data-v-4753559e]{color:#c0392b}.modal-backdrop[data-v-4753559e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-4753559e]{background:#fff;border-radius:8px;padding:1.5rem;width:420px;max-width:95vw}.modal-sm[data-v-4753559e]{width:360px}.modal h3[data-v-4753559e]{margin-bottom:1.25rem;font-size:1.1rem}.modal p[data-v-4753559e]{color:#666;font-size:.9rem;margin-bottom:1rem}.field[data-v-4753559e]{margin-bottom:1rem}.field label[data-v-4753559e]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-4753559e],.field select[data-v-4753559e]{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;box-sizing:border-box}.field-error[data-v-4753559e]{color:#e74c3c;font-size:.8rem;margin-top:.5rem;display:block}.input-eye[data-v-4753559e]{position:relative}.input-eye input[data-v-4753559e]{padding-right:2.5rem}.eye-btn[data-v-4753559e]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:0;line-height:1}.modal-actions[data-v-4753559e]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.agenda-view[data-v-8ecc5d26]{background:#fff;border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000001a}.toolbar[data-v-8ecc5d26]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.25rem}.toolbar select[data-v-8ecc5d26]{padding:.4rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.date-range[data-v-8ecc5d26]{display:flex;align-items:center;gap:.4rem}.date-range input[data-v-8ecc5d26]{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.range-sep[data-v-8ecc5d26]{color:#aaa;font-size:.8rem}.quick-ranges[data-v-8ecc5d26]{display:flex;gap:.4rem}.quick-ranges button[data-v-8ecc5d26]{padding:.35rem .75rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:.8rem;color:#555}.quick-ranges button[data-v-8ecc5d26]:hover{background:#f3f4f6;color:#1a1a2e}.state-msg[data-v-8ecc5d26]{padding:3rem;text-align:center;color:#888}.state-msg.error[data-v-8ecc5d26]{color:#c0392b}.day-groups[data-v-8ecc5d26]{display:flex;flex-direction:column;gap:1.5rem}.day-header[data-v-8ecc5d26]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:2px solid #e5e7eb}.day-label[data-v-8ecc5d26]{font-weight:600;font-size:.95rem;color:#1a1a2e}.day-count[data-v-8ecc5d26]{font-size:.78rem;color:#aaa}.session-table[data-v-8ecc5d26]{width:100%;border-collapse:collapse}.session-row td[data-v-8ecc5d26]{padding:.5rem .75rem;font-size:.875rem;vertical-align:middle;border-top:1px solid #f5f5f5}.session-row.cancelled td[data-v-8ecc5d26]{opacity:.45}.session-row:hover td[data-v-8ecc5d26]{background:#fafafa}.col-time[data-v-8ecc5d26]{white-space:nowrap;font-variant-numeric:tabular-nums;color:#555;width:120px}.col-color[data-v-8ecc5d26]{width:24px;padding:0 .25rem}.course-dot[data-v-8ecc5d26]{display:inline-block;width:10px;height:10px;border-radius:50%}.course-code[data-v-8ecc5d26]{font-family:monospace;font-size:.78rem;background:#f0f0f0;padding:.1rem .35rem;border-radius:3px;margin-right:.5rem}.course-name[data-v-8ecc5d26]{color:#333}.col-room[data-v-8ecc5d26]{color:#555;font-size:.83rem}.col-venue[data-v-8ecc5d26]{color:#888;font-size:.8rem}.col-status[data-v-8ecc5d26]{width:90px}.badge[data-v-8ecc5d26]{font-size:.75rem;padding:.15rem .5rem;border-radius:3px}.badge.cancelled[data-v-8ecc5d26]{background:#fee2e2;color:#991b1b}.badge.moved[data-v-8ecc5d26]{background:#dbeafe;color:#1e40af}.col-actions[data-v-8ecc5d26]{width:140px;text-align:right;display:flex;gap:.35rem;justify-content:flex-end}.btn-move[data-v-8ecc5d26]{padding:.25rem .6rem;font-size:.78rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:4px;cursor:pointer}.btn-move[data-v-8ecc5d26]:hover{background:#dbeafe}.btn-cancel[data-v-8ecc5d26]{padding:.25rem .6rem;font-size:.78rem;border:1px solid #fca5a5;background:#fee2e2;color:#991b1b;border-radius:4px;cursor:pointer}.btn-cancel[data-v-8ecc5d26]:hover{background:#fecaca}.move-backdrop[data-v-8ecc5d26]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:300}.move-modal[data-v-8ecc5d26]{background:#fff;border-radius:8px;padding:1.5rem;width:440px;max-width:95vw;box-shadow:0 8px 32px #0003}.move-header[data-v-8ecc5d26]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;font-size:1rem}.move-close[data-v-8ecc5d26]{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#888;padding:0}.move-origin[data-v-8ecc5d26]{font-size:.85rem;color:#555;background:#f8f8f8;border-radius:6px;padding:.6rem .75rem;margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.25rem}.move-meta[data-v-8ecc5d26]{font-size:.78rem;color:#888}.move-fields[data-v-8ecc5d26]{display:flex;flex-direction:column;gap:.85rem}.mfield[data-v-8ecc5d26]{display:flex;flex-direction:column;gap:.3rem}.mfield-row[data-v-8ecc5d26]{display:flex;gap:.75rem}.mfield-row .mfield[data-v-8ecc5d26]{flex:1}.mfield label[data-v-8ecc5d26]{font-size:.78rem;font-weight:600;color:#555}.mfield .hint[data-v-8ecc5d26]{font-weight:400;color:#aaa}.mfield input[data-v-8ecc5d26],.mfield select[data-v-8ecc5d26]{border:1px solid #ddd;border-radius:4px;padding:.45rem .6rem;font-size:.88rem;font-family:inherit}.move-error[data-v-8ecc5d26]{margin-top:.75rem;padding:.5rem .75rem;background:#fee2e2;color:#991b1b;border-radius:4px;font-size:.82rem}.move-actions[data-v-8ecc5d26]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.move-actions button[data-v-8ecc5d26]{padding:.45rem 1rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.88rem;background:#fff;color:#333}.move-actions .btn-primary[data-v-8ecc5d26]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.move-actions .btn-primary[data-v-8ecc5d26]:hover{background:#2a2a4e}.move-actions .btn-primary[data-v-8ecc5d26]:disabled{opacity:.6;cursor:not-allowed}.occupied-dates[data-v-8ecc5d26]{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem;align-items:center}.occupied-label[data-v-8ecc5d26]{font-size:.72rem;color:#888}.odate[data-v-8ecc5d26]{font-size:.72rem;background:#f3f4f6;padding:.1rem .4rem;border-radius:3px;color:#555}.odate.conflict[data-v-8ecc5d26]{background:#fef3c7;color:#92400e;font-weight:600}.date-conflict-warn[data-v-8ecc5d26]{margin-top:.35rem;font-size:.78rem;color:#92400e;background:#fef3c7;padding:.3rem .5rem;border-radius:4px}.login-wrap[data-v-99b0e3af]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f7}.login-card[data-v-99b0e3af]{background:#fff;border-radius:12px;padding:2.5rem 2rem;width:360px;max-width:95vw;box-shadow:0 4px 24px #0000001a;text-align:center}.login-logo[data-v-99b0e3af]{margin-bottom:1rem}.logo-img[data-v-99b0e3af]{max-height:56px;max-width:180px;object-fit:contain}.logo-text[data-v-99b0e3af]{font-size:1.5rem;font-weight:700;color:#1a1a2e}.login-title[data-v-99b0e3af]{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.login-sub[data-v-99b0e3af]{font-size:.85rem;color:#888;margin-bottom:1.75rem}.login-form[data-v-99b0e3af]{text-align:left}.field[data-v-99b0e3af]{margin-bottom:1rem}.field label[data-v-99b0e3af]{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem}.field input[data-v-99b0e3af]{width:100%;border:1px solid #ddd;border-radius:6px;padding:.6rem .75rem;font-size:.95rem;font-family:inherit;box-sizing:border-box}.field input[data-v-99b0e3af]:focus{outline:none;border-color:#1a1a2e}.input-eye[data-v-99b0e3af]{position:relative}.input-eye input[data-v-99b0e3af]{padding-right:2.5rem}.eye-btn[data-v-99b0e3af]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:0;line-height:1}.login-error[data-v-99b0e3af]{color:#e74c3c;font-size:.85rem;margin-bottom:.75rem;text-align:center}.btn-login[data-v-99b0e3af]{width:100%;background:#1a1a2e;color:#fff;border:none;padding:.7rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem}.btn-login[data-v-99b0e3af]:hover{background:#2a2a4e}.btn-login[data-v-99b0e3af]:disabled{opacity:.6;cursor:not-allowed}.about-page[data-v-5757cd4b]{max-width:680px;margin:0 auto;font-family:Montserrat,system-ui,sans-serif}.about-card[data-v-5757cd4b]{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 1px 3px #00000014;margin-bottom:1.5rem}.about-header[data-v-5757cd4b]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.75rem}.brand-logo[data-v-5757cd4b]{width:140px;height:140px;flex-shrink:0}.app-name[data-v-5757cd4b]{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:.2rem}.app-tagline[data-v-5757cd4b]{font-size:.85rem;color:#6b7280;letter-spacing:.04em;margin-bottom:.2rem}.app-version[data-v-5757cd4b]{font-size:.75rem;color:#9ca3af;font-family:monospace}.app-description[data-v-5757cd4b]{color:#4b5563;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.section[data-v-5757cd4b]{margin-bottom:2rem}.section h2[data-v-5757cd4b]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;font-weight:600;margin-bottom:.75rem}.dev-name[data-v-5757cd4b]{font-size:1rem;font-weight:600;color:#1a1a2e;margin-bottom:.75rem}.contact-grid[data-v-5757cd4b]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.contact-item[data-v-5757cd4b]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563;text-decoration:none;padding:.5rem .75rem;border-radius:6px;background:#f9fafb;border:1px solid #e5e7eb;transition:background .15s,color .15s}.contact-item[data-v-5757cd4b]:hover{background:#f3f4f6;color:#1a1a2e}.contact-svg[data-v-5757cd4b]{width:22px;height:22px;flex-shrink:0;color:#6b7280}.contact-item--wa .contact-svg[data-v-5757cd4b]{color:#16a34a}.contact-item--tg .contact-svg[data-v-5757cd4b]{color:#0284c7}.stack-grid[data-v-5757cd4b]{display:grid;gap:.5rem}.stack-item[data-v-5757cd4b]{display:grid;grid-template-columns:130px 1fr;gap:.5rem;font-size:.875rem;padding:.4rem 0;border-bottom:1px solid #f3f4f6}.stack-label[data-v-5757cd4b]{font-weight:600;color:#374151}.stack-value[data-v-5757cd4b]{color:#6b7280}.license-section p[data-v-5757cd4b]{font-size:.85rem;color:#6b7280;line-height:1.7}.about-footer[data-v-5757cd4b]{background:#1a1a2e;border-radius:12px;padding:1.5rem 2rem}.footer-inner[data-v-5757cd4b]{display:flex;flex-direction:column;align-items:center;gap:.75rem}.footer-logo[data-v-5757cd4b]{width:72px;height:72px;filter:brightness(0) invert(1);opacity:.85}.footer-links[data-v-5757cd4b]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .75rem}.footer-links a[data-v-5757cd4b]{color:#ffffffb3;text-decoration:none;font-size:.8rem}.footer-links a[data-v-5757cd4b]:hover{color:#fff}.footer-sep[data-v-5757cd4b]{color:#ffffff40;font-size:.8rem}.footer-copy[data-v-5757cd4b]{font-size:.72rem;color:#ffffff59}.help-page[data-v-c2b74285]{max-width:760px;margin:0 auto}.help-header[data-v-c2b74285]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.help-page h1[data-v-c2b74285]{font-size:1.5rem;font-weight:700;margin-bottom:.4rem}.help-intro[data-v-c2b74285]{color:#6b7280;margin-bottom:0}.print-btn[data-v-c2b74285]{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#374151;cursor:pointer;white-space:nowrap;flex-shrink:0}.print-btn[data-v-c2b74285]:hover{background:#f3f4f6}.help-nav[data-v-c2b74285]{display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin-bottom:2.5rem;padding:1rem 1.25rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000012}.help-nav-link[data-v-c2b74285]{font-size:.85rem;color:#4f46e5;text-decoration:none}.help-nav-link[data-v-c2b74285]:hover{text-decoration:underline}.help-section[data-v-c2b74285]{margin-bottom:2.5rem;scroll-margin-top:1rem}.help-section h2[data-v-c2b74285]{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.help-block[data-v-c2b74285]{margin-bottom:1rem}.help-block h3[data-v-c2b74285]{font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.4rem}.help-block p[data-v-c2b74285]{font-size:.875rem;color:#4b5563;line-height:1.65}.help-block ul[data-v-c2b74285]{padding-left:1.25rem}.help-block li[data-v-c2b74285]{font-size:.875rem;color:#4b5563;line-height:1.65;margin-bottom:.3rem}.help-block code[data-v-c2b74285]{background:#f3f4f6;padding:.1em .35em;border-radius:3px;font-family:monospace;font-size:.85em}.tip[data-v-c2b74285]{background:#eff6ff;border-left:3px solid #3b82f6;padding:.6rem .9rem;border-radius:0 6px 6px 0;font-size:.85rem;color:#1e40af;margin-top:.5rem}.warning[data-v-c2b74285]{background:#fff7ed;border-left:3px solid #f97316;padding:.6rem .9rem;border-radius:0 6px 6px 0;font-size:.85rem;color:#9a3412;margin-top:.5rem}@media print{.no-print[data-v-c2b74285]{display:none!important}.help-page[data-v-c2b74285]{max-width:100%}.help-section[data-v-c2b74285]{page-break-inside:avoid;margin-bottom:1.5rem}.help-section h2[data-v-c2b74285]{font-size:1rem}.tip[data-v-c2b74285],.warning[data-v-c2b74285]{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
