.app-calendar{box-sizing:border-box;line-height:1.5;font-size:16px;-webkit-text-size-adjust:100%}.app-calendar *,.app-calendar *:before,.app-calendar *:after{box-sizing:inherit}.app-calendar .el-calendar-table{width:100%!important;border-collapse:collapse!important;border-spacing:0!important;margin:0!important;background:transparent!important}.app-calendar .el-calendar-table td,.app-calendar .el-calendar-table th{padding:0!important;border:none!important;vertical-align:top!important;background:transparent!important;font-size:inherit!important}.app-calendar button{font-family:inherit;letter-spacing:normal;text-transform:none;background-image:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-calendar svg{display:inline-block;vertical-align:middle}.app-calendar .container-calendar{max-width:800px;margin:20px auto;text-align:center}.app-calendar .tabs-header{display:flex;align-items:center;gap:12px;width:100%}.app-calendar .nav-month-btn{display:inline-flex;align-items:center;justify-content:center;width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--color-primary, #409EFF)!important;background:transparent;color:var(--color-primary, #409EFF);cursor:pointer;transition:all .2s ease;flex-shrink:0}.app-calendar .nav-month-btn:hover:not(:disabled){background:var(--color-primary, #409EFF);color:#fff;transform:scale(1.06)}.app-calendar .nav-month-btn:disabled,.app-calendar .nav-month-btn.is-off{border-color:#dcdfe6;color:#c0c4cc;cursor:not-allowed;background:transparent}.app-calendar .nav-icon{width:22px!important;height:22px!important;fill:currentColor}.app-calendar .month-tabs{display:flex;flex:1;gap:6px;justify-content:center;overflow-x:auto;scrollbar-width:none}.app-calendar .month-tabs::-webkit-scrollbar{display:none}.app-calendar .month-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:96px;padding:7px 14px!important;border-radius:10px;border:1px solid #dcdfe6!important;background:#fff;cursor:pointer;transition:all .2s ease;line-height:1.1!important}.app-calendar .month-tab:hover:not(.is-active){border-color:var(--color-primary, #409EFF);color:var(--color-primary, #409EFF);background:#f5f7fa}.app-calendar .month-tab .tab-month{font-size:.95rem!important;font-weight:700;color:#606266;text-transform:capitalize;white-space:nowrap}.app-calendar .month-tab .tab-year{font-size:.72rem!important;font-weight:600;color:#909399;display:inline-flex;align-items:center;gap:3px}.app-calendar .tab-closed-icon{width:11px!important;height:11px!important;fill:var(--color-unavailable, #F56C6C)}.app-calendar .month-tab.is-closed{border-color:var(--color-unavailable, #F56C6C)}.app-calendar .month-tab.is-closed .tab-month{color:var(--color-unavailable, #F56C6C)}.app-calendar .month-tab.is-active .tab-closed-icon{fill:#ffd9d9}.app-calendar .month-tab.is-active{border-color:var(--color-primary, #409EFF);background:var(--color-primary, #409EFF);box-shadow:0 2px 8px #409eff59}.app-calendar .month-tab.is-active .tab-month{color:#fff}.app-calendar .month-tab.is-active .tab-year{color:#ffffffd9}.app-calendar .el-calendar-table thead th{background-color:var(--color-primary, #409EFF)!important;color:#fff!important;font-weight:400;padding:8px 0!important}.app-calendar .custom-cell{text-align:right;font-weight:700;font-size:.95rem;color:#fff;cursor:pointer;transition:all .2s ease;position:relative;z-index:1}.app-calendar .cell-day{font-weight:700;font-size:.95rem!important;padding-right:8px!important;display:inline!important}.app-calendar .cell-bg-icon{position:absolute;top:50%;left:50%;width:40px!important;height:40px!important;transform:translate(-50%,-50%);opacity:.1;pointer-events:none}.app-calendar .bg-icon-available{fill:var(--color-available, #67C23A)}.app-calendar .bg-icon-consult{fill:var(--color-consult, #E6A23C)}.app-calendar .bg-icon-soldout{fill:var(--color-unavailable, #F56C6C)}.app-calendar .custom-cell-available{background:var(--color-available, #67C23A)}.app-calendar .custom-cell-available:hover{filter:brightness(.9);transform:scale(1.02)}.app-calendar .custom-cell-contact{background:var(--color-consult, #E6A23C)}.app-calendar .custom-cell-contact:hover{filter:brightness(.9);transform:scale(1.02)}.app-calendar .link-book{font-size:.8rem!important;line-height:1.2!important;color:#666;font-weight:700}.app-calendar .custom-cell-unavailable{background:var(--color-unavailable, #F56C6C);cursor:not-allowed}.app-calendar .el-calendar__header{align-items:center}.app-calendar .el-tag__content{font-size:1.1rem!important}.app-calendar .el-calendar__body{padding:5px 0 10px!important}.app-calendar .availability-status{font-size:1rem;text-align:center;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1px;flex:1;position:relative;z-index:1}.app-calendar .text-success{color:var(--color-available, #67C23A)}.app-calendar .text-warning{color:var(--color-consult, #E6A23C)}.app-calendar .text-danger,.app-calendar .link-soldout{color:var(--color-unavailable, #F56C6C)}.app-calendar .date-cell-empty{height:100%}.app-calendar .el-calendar-table .el-calendar-day{height:92px!important;padding:4px!important}.app-calendar .date-cell-content{position:relative;height:100%;display:flex;flex-direction:column;border-radius:6px;overflow:hidden;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.app-calendar .date-cell-content:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #00000047,0 4px 12px #00000024}.app-calendar .avail-count{font-size:1.15rem!important;font-weight:700;line-height:1.1!important}.app-calendar .availability-bar{height:7px!important;border-radius:999px;background:#ebeef5;overflow:hidden;margin:3px 4px 4px}.app-calendar .availability-bar.is-soldout{background:var(--color-unavailable-soft, rgba(245, 108, 108, .16))}.app-calendar .availability-bar-fill{height:100%;border-radius:999px;transition:width .45s cubic-bezier(.4,0,.2,1)}.app-calendar .bar-available{background:var(--color-available, #67C23A)}.app-calendar .bar-consult{background:var(--color-consult, #E6A23C)}.app-calendar .bar-unavailable{background:var(--color-unavailable, #F56C6C)}.app-calendar .legends{display:flex;justify-content:space-around;margin-top:20px}.app-calendar .legend{display:flex;align-items:center;font-size:.9rem}.app-calendar .dot{width:10px;height:10px;border-radius:50%;margin-right:8px;display:inline-block}.app-calendar .text-emi-dark{color:#333;font-weight:700}.app-calendar .el-calendar-table td.is-today{color:#333!important}@media (max-width: 600px){.app-calendar .nav-month-btn{width:32px!important;height:32px!important}.app-calendar .month-tab{min-width:76px;padding:6px 10px!important}.app-calendar .month-tab .tab-month{font-size:.85rem!important}.app-calendar .month-tab .tab-year{font-size:.68rem!important}.app-calendar .avail-count{font-size:1rem!important}.app-calendar .cell-bg-icon{width:30px!important;height:30px!important}.app-calendar .el-calendar-table .el-calendar-day{height:76px!important}.app-calendar .el-tag__content{font-size:.95rem!important}.app-calendar .custom-cell .text-secondary{font-size:.85rem!important}}.app-calendar .available-dot{background:var(--color-available, #67C23A)}.app-calendar .consult-dot{background:var(--color-consult, #E6A23C)}.app-calendar .closed-dot{background:var(--color-unavailable, #F56C6C)}.app-calendar .calendar-notice{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 16px;border-radius:8px;border:1px solid #cfe0f4;border-left:4px solid var(--color-primary, #409EFF);background:#f0f6fd;color:#33587d;font-size:.9rem;line-height:1.5;text-align:left}.app-calendar .notice-icon{width:18px!important;height:18px!important;flex-shrink:0;margin-top:1px;fill:var(--color-primary, #409EFF)}
