/* === Calendly-style theme for Appointments+ calendar === */
.appointments-wrapper,.appointments-confirmation-wrapper{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#fff;border-radius:8px;box-shadow:0 1px 8px rgba(0,0,0,.08);margin:0 auto 32px;color:#1a1a1a;box-sizing:border-box!important}
.appointments-wrapper{border:1px solid #e8e8e8;padding:28px 32px;max-width:760px}
.appointments-wrapper h3{font-size:20px;font-weight:700;color:#0a2540;text-transform:none;letter-spacing:0;text-align:center;margin-bottom:4px}
.appointments-instructions{text-align:center;color:#6e7780;font-size:14px;margin-bottom:20px}
.app_monthly_schedule_wrapper{float:left;width:55%}
.app_monthly_schedule_wrapper table{width:100%;border:none!important;border-collapse:separate!important;border-spacing:4px;background:transparent}
.app_monthly_schedule_wrapper table th{border:none!important;background:transparent!important;color:#1a1a1a;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:8px 0}
.app_monthly_schedule_wrapper table tfoot{display:none}
.app_monthly_schedule_wrapper table td{border:none!important;background:transparent!important;width:44px;height:48px;text-align:center;vertical-align:middle;border-radius:0;font-size:15px;padding:0!important}
.app_monthly_schedule_wrapper table td p{width:42px;height:42px;line-height:42px!important;border-radius:50%;margin:0 auto!important;padding:0;font-size:15px;transition:background .2s ease}
.app_monthly_schedule_wrapper table td.notpossible,.app_monthly_schedule_wrapper table td.busy,.app_monthly_schedule_wrapper table td.app_past,.app_monthly_schedule_wrapper table td.no_appointments{background:transparent!important;color:#b2b2b2!important;cursor:default}
.app_monthly_schedule_wrapper table td.notpossible p,.app_monthly_schedule_wrapper table td.busy p,.app_monthly_schedule_wrapper table td.app_past p{color:#b2b2b2!important;font-weight:400}
.app_monthly_schedule_wrapper table td.free{background:transparent!important;color:#0069ff!important;cursor:pointer;transition:background .2s ease}
.app_monthly_schedule_wrapper table td.free p{background:rgba(0,105,255,.065);color:#0069ff!important;font-weight:700}
.app_monthly_schedule_wrapper table td.free.today{background:transparent!important}
.app_monthly_schedule_wrapper table td.free.today p{background:#0069ff;color:#fff!important}
.app_timetable_wrapper{float:right;width:40%}
.app_timetable{width:100%!important;margin-bottom:16px}
.app_timetable_title{background:transparent!important;color:#0a2540!important;font-size:15px;font-weight:700;text-align:left;padding:0 0 12px;border:none!important}
.app_timetable_cell{display:block;float:none!important;width:100%!important;height:auto!important;margin:0 0 8px!important;padding:11px 0!important;text-align:center;font-size:14px;font-weight:700;border-radius:4px;line-height:1.2!important;box-sizing:border-box}
.app_timetable_cell.free{background:#fff!important;color:#0069ff!important;border:1px solid rgba(0,105,255,.5)!important;cursor:pointer;transition:border-color .2s ease}
.app_timetable_cell.free:hover{border:2px solid #0069ff!important;padding:10px 0!important}
.app_timetable_cell.busy,.app_timetable_cell.notpossible{display:none!important}
.appointments-legend{display:none!important}
.appointments-pagination{clear:both;padding-top:16px}
.appointments-pagination .next a,.appointments-pagination .previous a{display:inline-block;background:transparent;border:1px solid rgba(0,105,255,.5);color:#0069ff;font-size:14px;font-weight:600;text-decoration:none;padding:8px 18px;border-radius:20px;transition:background .2s ease}
.appointments-pagination .next a:hover,.appointments-pagination .previous a:hover{background:rgba(0,105,255,.08)}
.appointments-pagination .next{float:right}
.appointments-pagination .previous{float:left}

/* === Confirmation form === */
.appointments-confirmation-wrapper{border:1px solid #e8e8e8!important;padding:28px 32px!important;max-width:560px}
.appointments-confirmation-wrapper fieldset{border:none!important;padding:0!important;margin:0!important}
.appointments-confirmation-wrapper legend,.appointments-confirmation-wrapper legend h3{font-size:18px!important;font-weight:700!important;color:#0a2540!important;text-transform:none!important;letter-spacing:0!important;padding:0!important;margin:0 0 18px!important;border:none!important;width:100%}
.appointments-confirmation-service,.appointments-confirmation-worker,.appointments-confirmation-start,.appointments-confirmation-end,.appointments-confirmation-price{font-size:14px;color:#476582;margin:0 0 6px!important;padding:0!important}
.appointments-confirmation-service label,.appointments-confirmation-start label,.appointments-confirmation-end label{display:block;margin:0!important}
.appointments-confirmation-end{margin-bottom:20px!important;padding-bottom:16px!important;border-bottom:1px solid #eef2f6!important}
.appointments-confirmation-wrapper .appointments-name-field,.appointments-confirmation-wrapper .appointments-email-field,.appointments-confirmation-wrapper .appointments-phone-field,.appointments-confirmation-wrapper .appointments-address-field,.appointments-confirmation-wrapper .appointments-city-field,.appointments-confirmation-wrapper .appointments-note-field,.appointments-confirmation-wrapper .appointments-field{margin:0 0 16px!important;padding:0!important}
.appointments-confirmation-wrapper label{display:block!important;margin:0!important;width:100%!important}
.appointments-confirmation-wrapper label span{display:block!important;float:none!important;width:auto!important;font-size:13px;font-weight:600;color:#0a2540;margin:0 0 6px!important;text-align:left!important}
.appointments-confirmation-wrapper input[type=text]{display:block;width:100%!important;float:none!important;box-sizing:border-box;background:#fff!important;border:1px solid #d4dce4!important;border-radius:8px!important;padding:10px 12px!important;font-size:14px!important;color:#1a1a1a;height:auto!important;line-height:1.4!important;transition:border-color .2s ease,box-shadow .2s ease}
.appointments-confirmation-wrapper input[type=text]:focus{border-color:#0069ff!important;box-shadow:0 0 0 3px rgba(0,105,255,.12)!important;outline:none!important}
.appointments-gcal-field{font-size:13px;color:#476582}
.appointments-gcal-field label{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}
.appointments-gcal-field label span{display:inline!important;margin:0!important;font-weight:400!important}
.appointments-confirmation-buttons{margin-top:8px!important;display:flex;gap:10px;align-items:center}
.appointments-confirmation-button,.appointments-confirmation-cancel-button{border-radius:22px!important;font-size:14px!important;cursor:pointer;box-shadow:none!important;text-shadow:none!important;height:auto!important;line-height:1.2!important}
.appointments-confirmation-button{background:#0069ff!important;color:#fff!important;border:none!important;padding:12px 26px!important;font-weight:700!important;transition:background .2s ease}
.appointments-confirmation-button:hover{background:#0058d6!important}
.appointments-confirmation-cancel-button{background:#fff!important;color:#476582!important;border:1px solid #d4dce4!important;padding:12px 22px!important;font-weight:600!important;transition:border-color .2s ease}
.appointments-confirmation-cancel-button:hover{border-color:#9bb0c3!important;color:#0a2540!important}
.appointments-confirmation-service label span,.appointments-confirmation-start label span,.appointments-confirmation-end label span{display:inline-block!important;min-width:130px!important;margin:0!important;font-weight:600;color:#0a2540}

/* === Mobile layout fixes === */
.appointments-confirmation-wrapper fieldset{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.appointments-gcal-field img{max-width:100%;height:auto}
@media (max-width:900px){
.appointments-wrapper{margin:0 8px 24px;padding:18px 10px;max-width:100%;overflow:hidden}
.appointments-wrapper *{box-sizing:border-box}
.appointments-confirmation-wrapper{margin:0 8px 24px;padding:20px 16px!important;max-width:calc(100% - 16px)}
.app_monthly_schedule_wrapper,.app_timetable_wrapper{width:100%!important;max-width:100%!important;float:none!important;margin:0!important}
.app_monthly_schedule_wrapper table{table-layout:fixed!important;width:100%!important;max-width:100%!important;border-spacing:2px!important}
.app_monthly_schedule_wrapper table th{width:auto!important}
.app_monthly_schedule_wrapper table td{width:auto!important;height:44px!important}
.app_monthly_schedule_wrapper table td p{width:38px!important;height:38px!important;line-height:38px!important;max-width:100%;font-size:14px}
.app_timetable{width:100%!important;max-width:100%!important;float:none!important;margin:0 0 16px!important;box-sizing:border-box!important}
.app_timetable_title{text-align:center;padding-top:8px;margin:0!important;box-sizing:border-box!important}
.app_timetable_cell{padding:13px 0!important;width:100%!important;max-width:100%!important;float:none!important}
.appointments-confirmation-service label span,.appointments-confirmation-start label span,.appointments-confirmation-end label span{min-width:115px!important;font-size:13px}
.appointments-confirmation-buttons{flex-direction:column;gap:10px}
.appointments-confirmation-button,.appointments-confirmation-cancel-button{width:100%!important;box-sizing:border-box}
.appointments-pagination .next,.appointments-pagination .previous{float:none}
.appointments-pagination{display:flex;justify-content:space-between;padding:8px 12px 0}
}

/* === Mobile pagination alignment === */
@media (max-width:900px){
.appointments-pagination{margin:0 12px 28px!important}
.appointments-pagination .next{margin-left:auto!important}
.appointments-pagination .previous{margin-right:auto!important}
}

/* === Pagination spacing === */
.appointments-pagination{margin-bottom:28px!important}

/* === Small-screen button text === */
@media (max-width:900px){
.appointments-confirmation-button{font-size:13px!important;padding:12px 8px!important;text-overflow:ellipsis;overflow:hidden}
.appointments-confirmation-cancel-button{font-size:13px!important;padding:12px 8px!important}
}
@media (max-width:400px){
.appointments-confirmation-button{font-size:12px!important}
}

/* === Desktop pagination width === */
@media (min-width:901px){
.appointments-pagination{max-width:760px;margin:0 auto 28px!important}
}

/* === Date hover states === */
.app_monthly_schedule_wrapper table td.free:hover{background:transparent!important}
.app_monthly_schedule_wrapper table td.free:hover p{background:rgba(0,105,255,.2)!important}
.app_monthly_schedule_wrapper table td.free.today:hover p{background:#0058d6!important}

/* === Campus dropdown === */
.app_services_dropdown{max-width:760px;margin:0 auto 20px;text-align:center}
.app_services_dropdown select.app_select_services,.app_services_dropdown .buddyboss-select-inner{background:#fff!important;border:1px solid #d4dce4!important;border-radius:8px!important;padding:10px 38px 10px 14px!important;font-size:14px!important;font-weight:600;color:#0a2540!important;cursor:pointer;box-shadow:none!important;height:auto!important;line-height:1.3!important}
.app_services_dropdown select.app_select_services:focus{border-color:#0069ff!important;outline:none!important;box-shadow:0 0 0 3px rgba(0,105,255,.12)!important}
.app_services_dropdown .app_services_button{background:#0069ff!important;color:#fff!important;border:none!important;border-radius:20px!important;padding:10px 22px!important;font-size:13px!important;font-weight:700!important;cursor:pointer;margin-left:10px;text-shadow:none!important;box-shadow:none!important;height:auto!important}
.app_services_dropdown .app_services_button:hover{background:#0058d6!important}

/* === Appointments lists === */
.appointments-my-appointments,.appointments-all-appointments{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 1px 8px rgba(0,0,0,.08);padding:24px 28px;max-width:1100px;margin:0 auto 32px;box-sizing:border-box;overflow-x:auto}
.appointments-my-appointments h3,.appointments-all-appointments h3{font-size:18px!important;font-weight:700!important;color:#0a2540!important;margin:0 0 16px!important;text-transform:none!important}
.appointments-my-appointments table.my-appointments,.appointments-all-appointments table.all-appointments{width:100%;border-collapse:collapse!important;border:none!important;background:transparent!important}
.appointments-my-appointments table.my-appointments th,.appointments-all-appointments table.all-appointments th{background:rgba(0,105,255,.05)!important;color:#0a2540!important;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:10px 14px!important;border:none!important}
.appointments-my-appointments table.my-appointments td,.appointments-all-appointments table.all-appointments td{border:none!important;border-bottom:1px solid #eef2f6!important;padding:12px 14px!important;font-size:14px;color:#476582;background:transparent!important}
.appointments-my-appointments table.my-appointments tr:last-child td,.appointments-all-appointments table.all-appointments tr:last-child td{border-bottom:none!important}
.appointments-my-appointments table.my-appointments tr:hover td,.appointments-all-appointments table.all-appointments tr:hover td{background:rgba(0,105,255,.03)!important}
@media (max-width:900px){
.appointments-my-appointments,.appointments-all-appointments{margin:0 8px 24px;padding:16px 12px}
.appointments-my-appointments table.my-appointments th,.appointments-my-appointments table.my-appointments td,.appointments-all-appointments table.all-appointments th,.appointments-all-appointments table.all-appointments td{padding:8px 8px!important;font-size:13px}
.app_services_dropdown{margin:0 12px 16px}
}

/* === Mobile dropdown and list scrolling === */
/* neutralize BuddyBoss fake-select chrome; use the native select as the pill */
.app_services_dropdown .buddyboss-select,.app_services_dropdown .buddyboss-select-inner{background:none!important;border:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:340px;height:auto!important;display:inline-block!important;box-shadow:none!important;position:static!important}
.app_services_dropdown .buddyboss-select-inner span{display:none!important}
.app_services_dropdown select.app_select_services{opacity:1!important;position:static!important;display:block!important;width:100%!important;max-width:340px;margin:0 auto;-webkit-appearance:menulist;appearance:menulist}
/* admin tables keep readable column widths and swipe horizontally on phones */
@media (max-width:900px){
.appointments-my-appointments table.my-appointments,.appointments-all-appointments table.all-appointments{min-width:560px}
.appointments-my-appointments,.appointments-all-appointments{-webkit-overflow-scrolling:touch}
}

/* === Inquiry Management view === */
body.single-gravityview h1.entry-title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#0a2540!important;font-weight:700!important}
body.single-gravityview .entry-content h3{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#0a2540!important;font-weight:700!important;font-size:18px!important;text-transform:none!important}
body.single-gravityview .entry-content a.button{background:#0069ff!important;color:#fff!important;border:none!important;border-radius:20px!important;padding:10px 20px!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important;text-shadow:none!important;transition:background .2s ease;display:inline-block;margin:0 8px 8px 0}
body.single-gravityview .entry-content a.button:hover{background:#0058d6!important}
body.single-gravityview .dataTables_wrapper{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 1px 8px rgba(0,0,0,.08);padding:24px 28px;margin:0 0 32px;box-sizing:border-box;overflow-x:auto}
body.single-gravityview .dt-buttons .dt-button{background:#fff!important;color:#0069ff!important;border:1px solid rgba(0,105,255,.5)!important;border-radius:16px!important;padding:6px 16px!important;font-size:12px!important;font-weight:600!important;margin-right:6px;box-shadow:none!important;text-shadow:none!important;transition:background .2s ease}
body.single-gravityview .dt-buttons .dt-button:hover{background:rgba(0,105,255,.08)!important}
body.single-gravityview .dataTables_filter input{border:1px solid #d4dce4!important;border-radius:8px!important;padding:8px 12px!important;font-size:13px!important;background:#fff!important;transition:border-color .2s ease,box-shadow .2s ease}
body.single-gravityview .dataTables_filter input:focus{border-color:#0069ff!important;box-shadow:0 0 0 3px rgba(0,105,255,.12)!important;outline:none!important}
body.single-gravityview .dataTables_length select{border:1px solid #d4dce4!important;border-radius:8px!important;padding:6px 28px 6px 10px!important;font-size:13px!important;background:#fff!important}
body.single-gravityview .dataTables_length,body.single-gravityview .dataTables_filter,body.single-gravityview .dataTables_info{color:#6e7780!important;font-size:13px!important}
body.single-gravityview table.gv-datatables{border:none!important;border-collapse:collapse!important;width:100%!important}
body.single-gravityview table.gv-datatables thead th{background:rgba(0,105,255,.05)!important;color:#0a2540!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:10px 14px!important;border:none!important}
body.single-gravityview table.gv-datatables tbody td{border:none!important;border-bottom:1px solid #eef2f6!important;padding:12px 14px!important;font-size:14px!important;color:#476582!important;background:transparent!important}
body.single-gravityview table.gv-datatables tbody tr:hover td{background:rgba(0,105,255,.03)!important}
body.single-gravityview table.gv-datatables tbody tr.odd,body.single-gravityview table.gv-datatables tbody tr.even{background:transparent!important}
body.single-gravityview table.gv-datatables a{color:#0069ff!important}
body.single-gravityview .dataTables_paginate .paginate_button{background:#fff!important;color:#476582!important;border:1px solid #d4dce4!important;border-radius:16px!important;padding:5px 12px!important;font-size:13px!important;margin-left:4px;box-shadow:none!important}
body.single-gravityview .dataTables_paginate .paginate_button:hover{background:rgba(0,105,255,.08)!important;color:#0069ff!important;border-color:rgba(0,105,255,.5)!important}
body.single-gravityview .dataTables_paginate .paginate_button.current{background:#0069ff!important;color:#fff!important;border-color:#0069ff!important}
body.single-gravityview table.gv-datatables.dtr-inline tbody td.dtr-control,body.single-gravityview table.gv-datatables tbody tr td:first-child{padding-left:34px!important;position:relative}
body.single-gravityview table.gv-datatables.dtr-inline tbody td.dtr-control:before{top:50%!important;transform:translateY(-50%);left:8px!important;background-color:#0069ff!important;border:none!important;box-shadow:none!important}
@media (max-width:900px){
body.single-gravityview .dataTables_wrapper{padding:14px 10px;margin:0 0 24px}
body.single-gravityview table.gv-datatables{min-width:560px}
}

/* === GravityView title visibility === */
body.single-gravityview h1.entry-title{display:none!important}

/* === GravityView appointments card width === */
body.single-gravityview .appointments-all-appointments,body.single-gravityview .appointments-my-appointments{max-width:100%!important;margin:0 0 32px!important}
/* v17b: zero GravityView grid column padding so cards align exactly */
body.single-gravityview .gv-grid-col-1-1{padding-left:0!important;padding-right:0!important}

/* === Inquiry table scroll behavior === */
body.single-gravityview .dataTables_wrapper{height:auto!important;max-height:none!important;overflow-y:visible!important}

/* === Inquiry sort indicators === */
body.single-gravityview table.gv-datatables thead th.sorting,body.single-gravityview table.gv-datatables thead th.sorting_asc,body.single-gravityview table.gv-datatables thead th.sorting_desc{cursor:pointer;background-image:none!important;position:relative;padding-right:26px!important}
body.single-gravityview table.gv-datatables thead th.sorting:after{content:"\2195";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#9bb0c3;opacity:.9}
body.single-gravityview table.gv-datatables thead th.sorting_asc:after{content:"\2191";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#0069ff;font-weight:700}
body.single-gravityview table.gv-datatables thead th.sorting_desc:after{content:"\2193";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#0069ff;font-weight:700}
body.single-gravityview table.gv-datatables thead th.sorting:hover{background:rgba(0,105,255,.1)!important}
