.cal_form_section{background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px rgb(0 0 0 / .08)}.cal_form_row{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:18px}.cal_form_field{flex:1 1 100%}.cal_form_field_half{flex:1 1 calc(50% - 9px)}.cal_form_field_quarter{flex:1 1 calc(25% - 14px)}.cal_form_section h3{font-family:'Inter',sans-serif;font-weight:500;font-size:20px;color:#1a1a1a;margin-top:0;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #eee}.cal_form_field label{display:block;margin-bottom:8px;margin-top:15px;font-weight:500;font-size:15px;color:#222}.cal_form_field input[type="text"],.cal_form_field input[type="date"],.cal_form_field input[type="time"],.cal_form_field input[type="number"],.cal_form_field input[type="url"],.cal_form_field input[type="tel"],.cal_form_field select,.cal_form_field textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:'Inter',sans-serif;font-weight:300;font-size:15px;color:#333;transition:border-color 0.2s,box-shadow 0.2s}.cal_form_field textarea{resize:vertical;min-height:100px}.cal_form_field input:focus,.cal_form_field select:focus,.cal_form_field textarea:focus{border-color:#0073aa;box-shadow:0 0 0 2px rgb(0 115 170 / .2);outline:none}.cal_button_primary{background:#0073aa;color:#fff;border:none;padding:12px 18px;border-radius:6px;cursor:pointer;font-weight:500;font-family:'Inter',sans-serif;font-size:15px;transition:background-color 0.2s}.cal_button_primary:hover{background:#005d8c}.cal_button_secondary{background:#f7f7f7;color:#555;border:1px solid #ccc;padding:11px 17px;border-radius:6px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:500;font-size:15px;transition:background-color 0.2s,border-color 0.2s}.cal_button_secondary:hover{background:#e9e9e9;border-color:#aaa}.cal_link_button{display:inline-block;margin-top:8px;color:#0073aa;text-decoration:none;font-weight:500;transition:color 0.2s}.cal_link_button:hover{color:#005d8c;text-decoration:none}.radio-label{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color 0.2s;background-color:#f7f7f7;border:1px solid #e0e0e0;margin-bottom:8px;min-width:150px}.radio-label:hover{background-color:#f0f0f0}.radio-label input[type="radio"]{margin-right:8px;width:16px;height:16px;cursor:pointer;accent-color:#0073aa}.radio-label input[type="radio"]:checked+span{font-weight:500}.checkbox-label{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color 0.2s;background-color:#f7f7f7;border:1px solid #e0e0e0;margin-bottom:8px;min-width:150px}.checkbox-label:hover{background-color:#f0f0f0}.checkbox-label input[type="checkbox"]{margin-right:8px;width:16px;height:16px;cursor:pointer;accent-color:#0073aa}.checkbox-label input[type="checkbox"]:checked+span{font-weight:500}.day-selector{display:flex;flex-wrap:wrap;gap:10px}.day-label{flex:0 0 auto;padding:8px 12px;background:#f7f7f7;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all 0.2s}.day-label:has(input:checked),.day-label.selected{background:#0073aa;color:#fff;border-color:#0073aa}.advanced-pattern-grid{display:table;border-collapse:collapse;width:100%;margin-top:15px;border:1px solid #ddd;border-radius:6px;overflow:hidden}.week-row{display:table-row}.week-label,.day-checkbox{display:table-cell;padding:10px;text-align:center;border:1px solid #ddd;vertical-align:middle}.week-label{font-weight:500;background-color:#f5f5f5;width:60px}.day-checkbox{cursor:pointer;transition:all 0.2s}.day-checkbox:hover{background-color:#f0f7ff}.day-checkbox.selected{background-color:#0073aa;color:#fff;font-weight:500}.day-checkbox.disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}#cal_schedule_preview_container{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px;padding:15px;margin-top:20px}#cal_schedule_preview_wrap{display:flex;overflow-x:auto;padding-bottom:15px;gap:20px}.cal-preview-month{flex:0 0 280px;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px}.cal-preview-month h4{text-align:center;margin:0 0 10px 0;font-size:16px;font-weight:600}.cal-preview-table{width:100%;border-collapse:collapse}.cal-preview-table th{font-size:12px;font-weight:500;color:#666;padding-bottom:8px}.cal-preview-table td{border:1px solid #eee;text-align:center;height:32px;font-size:14px;cursor:pointer;border-radius:4px;transition:background-color 0.2s,color 0.2s}.cal-preview-table td.other-month{background:#f7f7f7;color:#ccc;cursor:default}.cal-preview-table td.selected{background-color:#0073aa;color:#fff;font-weight:600}.cal-preview-table td:not(.other-month):hover{background-color:#eef7ff}.cal-preview-confirmed .cal-preview-table td{cursor:not-allowed;opacity:.9}.cal-preview-confirmed .cal-preview-table td.selected{background-color:#0073aa;color:#fff}.cal-preview-table td.past-date{background-color:#f5f5f5;color:#aaa;cursor:not-allowed;text-decoration:line-through}.cal-preview-confirmed-message{margin-top:15px;padding:10px;background-color:#f0f8ff;border-left:4px solid #0073aa;color:#333}.cal-preview-confirmed-message p{margin:0;font-weight:500}.cal_error{margin-top:6px;font-size:14px;font-weight:400;color:#dc3232}.cal-field-error{border-color:#dc3232!important;background-color:rgb(220 50 50 / .03)!important;box-shadow:0 0 0 1px #dc3232!important}#cal_venue_modal{position:fixed;inset:0;z-index:9999;background:rgb(0 0 0 / .4);backdrop-filter:blur(2px)}#cal_venue_modal>div{max-width:560px;margin:6% auto;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 20px rgb(0 0 0 / .2)}#cal_venue_modal>div>div:first-child{padding:16px 20px;border-bottom:1px solid #eee;font-weight:500;font-size:18px;color:#333}#cal_venue_modal>div>div:nth-child(2){padding:20px}#cal_venue_modal>div>div:last-child{padding:16px 20px;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end}@media (max-width:768px){.checkbox-label,.radio-label{min-width:120px}.cal_form_section{padding:18px}.cal_form_row{gap:14px}}@media (max-width:480px){.checkbox-label,.radio-label{min-width:0;width:100%}.cal_form_section{padding:16px}.cal_form_row{gap:12px}.cal_form_field_half,.cal_form_field_quarter{flex:1 1 100%}}