.app{min-height:100vh;display:flex;flex-direction:column;background-color:#FCFCFC}.nav{background-color:#f8fafc;color:#333333;padding:0;border-bottom:1px solid #d1d5db;box-shadow:0 1px 4px rgba(0,0,0,.08)}.nav-container{width:100%;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-title{font-size:1.5rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#4b5563;margin:0 auto 0 0;letter-spacing:-.025em}.nav-links{display:flex;gap:.5rem;margin-left:auto}.nav-link{color:#4b5563;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s;font-weight:500}.nav-link:hover{background-color:#e5e7eb;color:#1f2937}.main-content{flex:1 1;max-width:1200px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box;background-color:#ffffff}.main-content.scheduler-layout{max-width:none;padding:0;margin:0;width:100%;min-width:100%;background-color:#f9fafb}.home{text-align:center;padding:4rem 2rem;background-color:#FCFCFC}.home h1{font-size:2.5rem;color:#00C4B3;margin-bottom:1rem}.home p{font-size:1.2rem;color:#7f8c8d;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.home-actions{margin-top:2rem}.button-primary{display:inline-block;background-color:#1e40af;color:#FFFFFF;padding:1rem 2rem;text-decoration:none;border-radius:6px;font-weight:600;transition:background-color .2s;border:none;cursor:pointer}.button-primary:hover{background-color:#1d4ed8}.scheduler-page{padding:0;height:calc(100vh - 80px);display:flex;flex-direction:column;background-color:#FCFCFC}.scheduler-layout{display:flex;flex:1 1;min-height:0}.scheduler-sidebar{width:min(25vw,22rem);min-width:18rem;background:#ffffff;display:flex;flex-direction:column;transition:width .3s ease;position:relative;border-right:1px solid #e5e7eb}.scheduler-sidebar.collapsed{width:0;min-width:0;overflow:hidden}.scheduler-splitter{width:8px;background:#e8e8e8;cursor:pointer;position:relative;border-left:1px solid #d0d0d0;border-right:1px solid #d0d0d0;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.scheduler-splitter:hover{background:#d0d0d0}.splitter-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:32px;background:#1e40af;border:1px solid #1d4ed8;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 3px rgba(30,64,175,.2)}.scheduler-splitter:hover .splitter-handle{background:#1d4ed8;border-color:#1e3a8a;transform:translate(-50%,-50%) scale(1.1)}.splitter-icon{font-size:8px;color:white;font-weight:700;transition:color .2s ease;line-height:1}.scheduler-splitter:hover .splitter-icon{color:white}.sidebar-content{padding:1.1rem 1rem;overflow-y:auto;flex:1 1}.calendar-widget{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;padding:0;margin-bottom:12px;width:100%;box-shadow:0 1px 2px rgba(0,0,0,.03);overflow:hidden}.calendar-header{justify-content:space-between;margin-bottom:.6rem;padding:12px 16px 0;background:#e0f2fe;color:#0f172a;border-bottom:1px solid #bae6fd}.calendar-header,.nav-btn{display:flex;align-items:center}.nav-btn{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;width:1.75rem;height:1.75rem;cursor:pointer;font-size:.875rem;justify-content:center;font-weight:500;flex-shrink:0;transition:all .2s}.nav-btn:hover{background:#e5e7eb;color:#374151}.month-year{font-weight:600;font-size:clamp(.85rem,2.3vw,.95rem);text-align:center;flex:1 1;margin:0 .5rem;color:#0f172a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.125rem;gap:.125rem;margin-bottom:.4rem;padding:0 15px}.calendar-weekdays>div{text-align:center;font-size:clamp(.7rem,2vw,.75rem);font-weight:600;color:#666;padding:.3rem .25rem;background:#f5f5f5;border-radius:.2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.15rem;gap:.15rem;margin-bottom:.6rem;width:100%;min-height:8.5rem;padding:0 15px}.calendar-day{text-align:center;padding:.4rem .2rem;font-size:clamp(.7rem,2vw,.75rem);cursor:pointer;border-radius:.2rem;transition:all .2s ease;min-height:1.75rem;display:flex;align-items:center;justify-content:center;border:1px solid transparent;font-weight:500;background:white;color:#495057}.calendar-day:hover:not(.empty){background:#e9ecef;border-color:#dee2e6;transform:translateY(-1px);box-shadow:0 .125rem .25rem rgba(0,0,0,.1)}.calendar-day.today{background:#1e40af;color:#FFFFFF;font-weight:600;box-shadow:0 .125rem .375rem rgba(30,64,175,.3)}.calendar-day.selected{background:#2563eb;color:#FFFFFF;font-weight:600;box-shadow:0 .125rem .375rem rgba(37,99,235,.3)}.calendar-day.empty{cursor:default;background:transparent;color:transparent}.selected-date{padding:.5rem 15px 15px;background:#e9ecef;font-size:clamp(.65rem,2vw,.7rem);text-align:center;color:#495057;line-height:1.3;font-weight:500}.filter-section{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.03)}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#e0f2fe;color:#0f172a;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #bae6fd}.filter-header:hover{background:#bae6fd}.filter-header h3{margin:0;font-size:14px;font-weight:600;color:#1f2937}.collapse-icon{font-size:12px;transition:transform .2s,color .2s;color:inherit}.collapse-icon.collapsed{transform:rotate(-90deg)}.filter-content{padding:15px}.filter-checkbox{display:flex;align-items:center;padding:8px 0;cursor:pointer;font-size:13px;color:#333;position:relative;transition:background-color .2s}.filter-checkbox input[type=checkbox]{margin-right:10px;width:16px;height:16px;accent-color:#1e40af}.filter-checkbox:hover{background:#f0f0f0;border-radius:3px}.filter-title{margin:0;font-size:14px;font-weight:600;color:#0f172a;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#e0f2fe;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #bae6fd}.filter-title:hover{background:#bae6fd}.expand-icon{font-size:12px;transition:transform .2s}.legend-content{padding:15px}.legend-item{display:flex;align-items:center;padding:6px 0;font-size:13px;color:#333}.legend-color-box{width:16px;height:16px;border-radius:3px;margin-right:10px;flex-shrink:0;border:1px solid #ddd}.legend-border-example{border-radius:4px}.legend-label{font-weight:500;line-height:1.2}.legend-subtitle{margin:20px 0 10px;font-size:13px;font-weight:600;color:#555;padding-bottom:5px;border-bottom:1px solid #eee}.scheduler-main{flex:1 1;display:flex;flex-direction:column;min-height:0}.scheduler-page h1{color:#00C4B3;margin-bottom:1rem;text-align:center;padding:1rem 0 0;flex-shrink:0}.scheduler-container{background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);border:1px solid #e0e0e0;padding:20px;margin:0;flex:1 1;display:flex;flex-direction:column;width:95%;min-height:600px;overflow-y:auto}.scheduler-container .k-scheduler{flex:1 1;width:100%!important;min-width:800px;min-height:600px}.scheduler-container .k-scheduler .k-scheduler-table{width:100%!important;min-width:100%}.scheduler-container .k-scheduler .k-scheduler-content,.scheduler-container .k-scheduler .k-scheduler-header{width:100%!important}.scheduler-container .k-scheduler .k-scheduler-content{overflow-x:auto;overflow-y:auto}.scheduler-container .k-scheduler .k-scheduler-table{min-width:800px}@media (min-aspect-ratio:7/3){.scheduler-container{min-height:900px;overflow:hidden}.scheduler-container .k-scheduler{min-height:850px;width:100%!important}}@media (max-width:768px){.nav-container{flex-direction:column;gap:1rem;text-align:center}.nav-links{gap:1rem}.main-content{padding:1rem}.main-content.scheduler-layout{padding:.5rem}.scheduler-page{height:calc(100vh - 120px)}.scheduler-layout{flex-direction:column}.scheduler-sidebar{width:100%;height:auto;max-height:250px;border-right:none;border-bottom:1px solid #dee2e6}.scheduler-sidebar.collapsed{width:100%;max-height:40px}.sidebar-toggle{top:5px;right:10px}.sidebar-content{padding:15px;display:flex;gap:15px;overflow-x:auto}.calendar-widget{min-width:260px;margin-bottom:0;padding:.5rem}.filter-section{min-width:200px;margin-bottom:0}.scheduler-container{padding:.5rem}.home{padding:2rem 1rem}.home h1{font-size:2rem}}.context-menu{position:fixed;z-index:10000;background-color:white;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:4px 0;min-width:150px;font-family:inherit}.context-menu-item{padding:8px 16px;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background-color:#f5f5f5}.context-menu-item:active{background-color:#e8e8e8}.toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10001;max-width:400px;pointer-events:none;display:flex;flex-direction:column;align-items:center}.toast-container:not(:empty):before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.1);z-index:-1;pointer-events:none}.toast{display:flex;align-items:flex-start;background:white;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);margin-bottom:12px;padding:16px;min-width:300px;max-width:400px;pointer-events:auto;animation:toast-slide-in .3s ease-out;border-left:4px solid;position:relative}.toast-success{border-left-color:#4caf50}.toast-error{border-left-color:#f44336}.toast-warning{border-left-color:#ff9800}.toast-info{border-left-color:#2196f3}.toast-content{flex:1 1;margin-right:8px}.toast-title{font-weight:600;font-size:14px;margin-bottom:4px;color:#333}.toast-message{font-size:13px;color:#666;line-height:1.4}.toast-close{background:none;border:none;font-size:18px;cursor:pointer;color:#999;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.toast-close:hover{background-color:#f5f5f5;color:#666}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast.toast-exit{animation:toast-slide-out .3s ease-in forwards}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.k-scheduler-edit-form>.k-form-field:has(#k-scheduler-editor-set-start-timezone){display:none!important}.k-scheduler-edit-form>.k-form-field:has(.k-dropdownlist),.k-scheduler-edit-form>.k-form-field:has(.k-multiselect){display:none!important}.k-scheduler .k-button.k-selected,.k-scheduler .k-button.k-selected:hover,.k-scheduler .k-toolbar .k-button.k-selected{background-color:#1e40af!important;border-color:#1d4ed8!important;color:white!important}.k-scheduler .k-button.k-selected:active{background-color:#1e3a8a!important;border-color:#1e3a8a!important}