.appointmentactions{display:flex;gap:7px;flex-wrap:wrap;max-width:330px;white-space:normal}.callbackbutton{background:#faf5e8;color:#876b28;border-color:#e9dec4}.badge.amber{background:#faf0d9;color:#927327}.dueflag{margin-top:8px}.callbacklabel{display:block;color:#927327;font-size:9px!important;letter-spacing:.8px;margin-bottom:8px}.reschedulesummary{background:#f1f5ec;padding:17px;border-radius:10px}.reschedulesummary p{font-size:12px;margin:8px 0}.reschedulesummary small{font-size:11px;line-height:1.7}.callbackpanel{border:1px solid #e3e6da;border-radius:12px;background:white;margin-bottom:24px;overflow:hidden}.callbackpanelhead{padding:20px;border-bottom:1px solid #e7ebdf;background:#fafbf6}.callbackpanelhead h2{font-size:16px;margin:0}.callbackpanelhead h2 span{font-size:11px;background:#e9eedc;border-radius:5px;padding:3px 7px;margin-left:6px}.callbackpanelhead p{font-size:11px;color:#7d8774;margin:7px 0 0}.callbackcard{display:flex;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid #edf0e6}.callbackcard:last-child{border:0}.callbackcard strong{font-size:13px}.callbackcard p{font-size:12px;line-height:1.7;margin:8px 0}.callbackcard small{font-size:11px}.callbackcard .appointmentactions{align-self:center}.callbackcard>div{min-width:0}@media(max-width:700px){.appointmentactions{min-width:155px;max-width:190px}.appointmentactions button{min-height:42px}.callbackcard{flex-direction:column;padding:16px}.callbackcard .appointmentactions{align-self:stretch;max-width:none}.callbackpanelhead{padding:16px}}
.appointmentfilters{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}.appointmentfilters summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:17px 20px;font-size:13px;font-weight:600;min-height:48px}.appointmentfilters summary::-webkit-details-marker{display:none}.appointmentfilters summary:after{content:'＋';margin-left:auto;font-size:18px}.appointmentfilters[open] summary:after{content:'−'}.appointmentfilters summary small{font-size:11px;font-weight:400}.appointmentfilters form{padding:0 20px 20px}.appointmentfiltergrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.appointmentfiltergrid .areafield{grid-column:span 2}.appointmentfiltergrid label{min-width:0;font-size:12px}.appointmentfiltergrid input,.appointmentfiltergrid select{font-size:13px;min-width:0;min-height:44px}.appointmentfilterfooter{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.appointmentfilterfooter .small{min-height:40px}.appointmentfiltersummary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#65785e;margin-bottom:18px}.appointmentfiltersummary>span{display:flex;gap:7px;flex-wrap:wrap;min-width:0}.appointmentfiltersummary>button{flex-shrink:0}.filterchip{border:1px solid #dce5d1;background:#eef3e7;border-radius:6px;padding:6px 9px;font-size:11px;overflow-wrap:anywhere}.appointmentresultcount{font-size:12px;color:#65785e;margin-bottom:10px}.appointmenttable .appointmentclient{white-space:normal;min-width:210px}.appointmentclient>button{font-size:13px;text-align:left;padding:0;line-height:1.6}.appointmentaddress{font-size:12px;line-height:1.6;margin-top:7px}.appointmentaddress strong{font-size:11px;margin:0;font-weight:500}.appointmentaddress small{font-size:11px;display:block}.appointmentdatebutton{padding:0;background:transparent;border:0;text-align:left;line-height:1.6;font-weight:400}.appointmentdatebutton strong{font-size:12px;margin:0}.appointmentdatebutton span{font-size:13px}.appointmentdatebutton:hover{text-decoration:underline}.mobilefieldlabel{display:none}.appointmentdetailactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.appointmentdetail .detailgrid strong{font-size:14px}.appointmentdetail .prewrap{margin-bottom:16px}
@media(max-width:1100px){.appointmentfiltergrid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointmentfiltergrid .areafield{grid-column:auto}}
@media(max-width:700px){.appointmentfilters summary{padding:15px;flex-wrap:wrap;gap:5px 10px}.appointmentfilters summary small{font-size:10px}.appointmentfilters form{padding:0 15px 16px}.appointmentfiltergrid{gap:13px 10px}.appointmentfiltergrid .areafield{grid-column:1/-1}.appointmentfiltergrid input,.appointmentfiltergrid select{font-size:16px;max-width:100%}.appointmentfilterfooter{flex-direction:column;align-items:stretch;gap:14px}.appointmentfilterfooter .actions{gap:5px}.appointmentfilterfooter .small{font-size:11px;min-height:44px;padding:7px 9px}.appointmentfilterfooter>.primary{min-height:46px}.appointmentfiltersummary{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:14px}.appointmentfiltersummary>button{min-height:40px;padding-left:0;font-size:11px}.appointmentpanel{border:0;background:transparent;overflow:visible}.appointmentpanel .tablewrap{overflow:visible}.appointmenttable,.appointmenttable tbody{display:block;width:100%}.appointmenttable thead{display:none}.appointmenttable tbody{display:grid;gap:14px}.appointmenttable tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px 12px;background:white;border:1px solid var(--line);border-radius:12px;padding:17px}.appointmenttable td{display:block;padding:0;border:0;white-space:normal;min-width:0}.appointmenttable .appointmentdate{grid-column:1;grid-row:1}.appointmentdatebutton{min-height:44px}.appointmentdatebutton strong{font-size:13px}.appointmentdatebutton span{font-size:17px;font-weight:600}.appointmenttable .appointmentstatus{grid-column:2;grid-row:1;text-align:right;align-self:start}.appointmentstatus .badge{font-size:10px;max-width:130px}.appointmenttable .appointmentclient{grid-column:1/-1;grid-row:2;min-width:0}.appointmentclient>button{font-size:16px;min-height:32px}.appointmentaddress strong,.appointmentaddress small{font-size:12px}.appointmenttable .appointmenttech{grid-column:1/-1;grid-row:3;font-size:12px;display:flex;gap:8px}.mobilefieldlabel{display:inline;color:#78847e;font-size:12px}.appointmenttable .appointmentrowactions{grid-column:1/-1;grid-row:4;border-top:1px solid #edf0e9;padding-top:14px}.appointmentrowactions .appointmentactions{max-width:none;min-width:0;gap:8px}.appointmentrowactions .appointmentactions button{min-height:44px;font-size:12px;flex:1 1 120px;padding:10px}.appointmentrowactions .appointmentactions button.callbackbutton{flex-basis:100%}.appointmenttable .contactbutton{min-height:44px;font-size:13px}.appointmentdetailactions{flex-direction:column}.appointmentdetailactions .appointmentactions{max-width:none}.appointmentdetail .formfooter button{width:100%;min-height:44px}.filters button{min-height:40px}dialog input,dialog select,dialog textarea{font-size:16px}.dialoghead button{min-width:44px;min-height:44px}}

.appointmentday{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:20px;background:#eef3e7;border:1px solid #dce5d1;border-radius:12px}.appointmentdaytitle strong{display:block;font-size:17px;text-transform:capitalize}.appointmentdaytitle small{display:block;font-size:12px;margin-top:5px;color:#617356}.appointmentdaycontrols{display:flex;align-items:center;gap:7px}.appointmentdaycontrols>button{min-height:44px;white-space:nowrap}.appointmentdaycontrols [data-appointment-shift]{font-size:22px;min-width:36px;padding:6px}.appointmentdatelabel{width:160px;min-width:0}.appointmentdatelabel input{min-width:0;min-height:44px;font-size:13px}.visuallyhidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.appointmentfilterfooter{justify-content:flex-end}
@media(max-width:850px){.appointmentday{align-items:flex-start;flex-direction:column}.appointmentdaycontrols{flex-wrap:wrap}}
@media(max-width:700px){.appointmentday{padding:16px;gap:15px}.appointmentdaycontrols{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}.appointmentdatelabel{width:auto}.appointmentdatelabel input{font-size:16px;max-width:100%}.appointmentdaycontrols [data-appointment-today]{grid-column:1/2;width:calc((100vw - 74px)/2)}.appointmentdaycontrols [data-appointment-tomorrow]{grid-column:2/4;justify-self:end;width:calc((100vw - 74px)/2)}.appointmentdaytitle strong{font-size:16px}}
.appointmentdayquick{display:flex;gap:7px}.appointmentdayquick>button{min-height:44px}
@media(max-width:700px){.appointmentdayquick{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointmentdaycontrols .appointmentdayquick>button{grid-column:auto;justify-self:stretch;width:auto}}
