#app_calend[data-v-9105ee1c]{--primary-color:#3498db;--secondary-color:#2ecc71;--danger-color:#e74c3c;--light-bg:#f8f9fa;--border-color:#dee2e6;max-width:1400px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:25px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}#app_calend h1[data-v-9105ee1c]{color:var(--primary-color);text-align:center;margin-bottom:25px;font-weight:600}#app_calend .calendar-header[data-v-9105ee1c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:var(--light-bg);border-radius:8px}#app_calend .calendar-nav[data-v-9105ee1c]{display:flex;align-items:center;gap:15px}#app_calend .calendar-nav button[data-v-9105ee1c]{background:var(--primary-color);color:#fff;border:none;border-radius:6px;padding:8px 15px;cursor:pointer;transition:background .3s;font-weight:500}#app_calend .calendar-nav button[data-v-9105ee1c]:hover{background:#2980b9}#app_calend .month-title[data-v-9105ee1c]{font-size:1.5rem;font-weight:600;color:#2c3e50}#app_calend .calendar-table[data-v-9105ee1c]{width:100%;border-collapse:collapse;margin-bottom:30px;box-shadow:0 2px 10px rgba(0,0,0,.05);border-radius:8px;overflow:hidden}#app_calend .calendar-table th[data-v-9105ee1c]{background:var(--primary-color);color:#fff;padding:12px 5px;text-align:center;font-weight:500}#app_calend .calendar-table td[data-v-9105ee1c]{border:1px solid var(--border-color);padding:0;vertical-align:top;height:120px;max-width:30px}#app_calend .calendar-day[data-v-9105ee1c]{height:100%;display:flex;flex-direction:column}#app_calend .day-header[data-v-9105ee1c]{padding:5px;text-align:center;border-bottom:1px solid var(--border-color);background:var(--light-bg);font-weight:500}#app_calend .today .day-header[data-v-9105ee1c]{background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center}#app_calend .day-events[data-v-9105ee1c]{flex-grow:1;padding:5px;overflow-y:auto;max-height:90px}#app_calend .event-item[data-v-9105ee1c]{margin-bottom:5px;padding:5px 8px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:transform .2s,box-shadow .2s;border-left:3px solid;max-width:100%;overflow:hidden}#app_calend .event-item[data-v-9105ee1c]:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(0,0,0,.1)}#app_calend .event-title[data-v-9105ee1c]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}#app_calend .other-month[data-v-9105ee1c]{background-color:#b9dcff;color:#333}#app_calend .event-modal[data-v-9105ee1c]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}#app_calend .event-modal-content[data-v-9105ee1c]{background:#fff;padding:25px;border-radius:10px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 5px 25px rgba(0,0,0,.2)}#app_calend .form-section[data-v-9105ee1c]{background:var(--light-bg);border-radius:8px;padding:20px;margin-bottom:20px}#app_calend .form-section h3[data-v-9105ee1c]{margin-top:0;color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:10px}#app_calend .form-group[data-v-9105ee1c]{margin-bottom:15px}#app_calend .form-group label[data-v-9105ee1c]{display:block;margin-bottom:5px;font-weight:500}#app_calend .form-control[data-v-9105ee1c]{width:95%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}#app_calend .checkbox-group[data-v-9105ee1c]{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}#app_calend .checkbox-item[data-v-9105ee1c]{display:flex;align-items:center}#app_calend .btn[data-v-9105ee1c]{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}#app_calend .btn-primary[data-v-9105ee1c]{background:var(--primary-color);color:#fff}#app_calend .btn-primary[data-v-9105ee1c]:hover{background:#2980b9}#app_calend .btn-danger[data-v-9105ee1c]{background:var(--danger-color);color:#fff}#app_calend .btn-danger[data-v-9105ee1c]:hover{background:#c0392b}#app_calend .events-table[data-v-9105ee1c]{width:100%;border-collapse:collapse;margin-top:20px}#app_calend .events-table td[data-v-9105ee1c],#app_calend .events-table th[data-v-9105ee1c]{border:1px solid var(--border-color);padding:10px;text-align:left}#app_calend .events-table th[data-v-9105ee1c]{background:var(--primary-color);color:#fff}#app_calend .events-table tr[data-v-9105ee1c]:nth-child(2n){background:var(--light-bg)}#app_calend .parallel-badge[data-v-9105ee1c]{background:var(--secondary-color)}#app_calend .class-badge[data-v-9105ee1c],#app_calend .parallel-badge[data-v-9105ee1c]{display:inline-block;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8rem;margin-right:5px;margin-bottom:5px}#app_calend .class-badge[data-v-9105ee1c]{background:#3498db}#app_calend details[data-v-9105ee1c]{margin-bottom:25px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}#app_calend details>summary[data-v-9105ee1c]{padding:15px 20px;background:var(--light-bg);cursor:pointer;font-weight:500;font-size:1.1rem}#app_calend details[open]>summary[data-v-9105ee1c]{border-bottom:1px solid var(--border-color)}#app_calend .details-content[data-v-9105ee1c]{padding:20px}#app_calend .color-preview[data-v-9105ee1c]{display:inline-block;width:20px;height:20px;border-radius:4px;margin-right:10px;vertical-align:middle}#app_calend .filters[data-v-9105ee1c]{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;padding:15px;background:var(--light-bg);border-radius:8px}#app_calend .filter-group[data-v-9105ee1c]{display:flex;flex-direction:column;gap:5px}#app_calend .filter-group label[data-v-9105ee1c]{font-weight:500;font-size:.9rem}#app_calend .filter-select[data-v-9105ee1c]{padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;min-width:150px}#app_calend .no-events[data-v-9105ee1c]{text-align:center;padding:20px;color:#7f8c8d;font-style:italic}@media (max-width:768px){#app_calend .calendar-table td[data-v-9105ee1c]{height:80px}#app_calend .event-item[data-v-9105ee1c]{font-size:.7rem;padding:3px 5px}#app_calend .calendar-nav[data-v-9105ee1c],#app_calend .filters[data-v-9105ee1c]{flex-direction:column;gap:10px}}