:root{--cf-primary:#22b3a8;--cf-dark:#142432;--cf-bg:#f4f7f9;--cf-border:#1f2d36;--cf-muted:#6b7785;--cf-white:#fff;--cf-danger:#c0392b;--cf-success:#218c5b;--cf-warning:#b7791f}*{box-sizing:border-box}body{margin:0!important;background:var(--cf-bg)!important;font-family:Montserrat,Arial,sans-serif!important}.cf-app{min-height:100vh;display:flex;color:#172331}.cf-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--cf-dark);color:#fff;display:flex;flex-direction:column;z-index:50}.cf-brand{height:78px;padding:14px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.15)}.cf-brand>span{width:42px;height:42px;border-radius:10px;background:var(--cf-primary);display:grid;place-items:center;font-weight:700}.cf-brand b,.cf-brand small{display:block}.cf-brand small{font-size:10px;opacity:.72;margin-top:3px}.cf-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px}.cf-sidebar nav{padding:12px 9px;overflow:auto}.cf-sidebar nav a{display:flex;align-items:center;gap:11px;color:#dce6eb;text-decoration:none;padding:11px 12px;border-radius:3px;margin:2px 0;font-size:13px;font-weight:500}.cf-sidebar nav a:hover,.cf-sidebar nav a.active{background:var(--cf-primary);color:#fff}.cf-sidebar nav a span{width:20px;text-align:center}.cf-sidebar-foot{margin-top:auto;padding:13px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;opacity:.7}.cf-main{margin-left:250px;width:calc(100% - 250px);min-width:0}.cf-topbar{min-height:78px;background:#fff;border-bottom:1px solid #d7e0e5;display:flex;align-items:center;padding:12px 24px;gap:14px;position:sticky;top:0;z-index:20}.cf-topbar h1{font-size:22px;margin:0;font-weight:600}.cf-topbar p{margin:4px 0 0;color:var(--cf-muted);font-size:12px}.cf-menu{display:none;border:1px solid #ccd7dc;background:#fff;padding:8px 10px;font-size:20px}.cf-top-actions{margin-left:auto}.cf-help{display:inline-block;background:var(--cf-dark);color:#fff!important;text-decoration:none;padding:9px 12px;font-size:12px;border-radius:3px}.cf-content{padding:22px}.cf-loading,.cf-empty{padding:30px;text-align:center;color:var(--cf-muted)}.cf-notice{position:fixed;right:24px;top:90px;background:var(--cf-success);color:#fff;padding:12px 16px;border-radius:4px;z-index:100;box-shadow:0 8px 25px rgba(0,0,0,.16);font-size:13px}.cf-notice.bad{background:var(--cf-danger)}.cf-panel{background:#fff;border:1px solid #bac6cc;padding:18px;margin-bottom:18px}.cf-panel h2,.cf-panel h3{margin:0 0 14px}.cf-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:15px}.cf-panel-head h2{font-size:16px;margin:0}.spacer{flex:1}.cf-btn,.cf-icon-btn,.cf-secondary,.cf-row-actions button,.cf-quick-actions button,.cf-profile-actions button,.cf-training-step button{border:1px solid var(--cf-border);background:var(--cf-primary);color:#fff!important;text-decoration:none;padding:9px 12px;border-radius:3px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.cf-btn.dark{background:var(--cf-dark)}.cf-icon-btn{background:#fff;color:var(--cf-dark)!important}.cf-secondary{background:#fff;color:var(--cf-dark)!important}.cf-cards{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:12px;margin-bottom:18px}.cf-card{min-height:96px;background:#fff;border:1px solid var(--cf-border);padding:15px;text-align:left;cursor:pointer}.cf-card span{display:block;font-size:11px;color:var(--cf-muted);min-height:31px}.cf-card b{display:block;font-size:23px;margin-top:7px}.cf-two,.cf-procedure-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cf-quick-actions{display:flex;gap:9px;flex-wrap:wrap}.cf-quick-actions button{background:#fff;color:var(--cf-dark)!important}.cf-table-wrap{overflow:auto}.cf-table{width:100%;border-collapse:collapse;font-size:12px}.cf-table th,.cf-table td{border:1px solid var(--cf-border);padding:10px;vertical-align:top}.cf-table th{background:var(--cf-primary);color:#fff;text-align:left;text-transform:none}.cf-row-actions{display:flex;gap:5px;flex-wrap:wrap}.cf-row-actions button{padding:5px 7px;background:#fff;color:var(--cf-dark)!important;font-size:10px}.cf-modal{position:fixed;inset:0;background:rgba(10,20,28,.62);display:none;align-items:center;justify-content:center;padding:22px;z-index:100}.cf-modal.open{display:flex}.cf-modal-card{background:#fff;width:min(920px,100%);max-height:92vh;overflow:auto;border:1px solid var(--cf-border)}.cf-modal-head{display:flex;align-items:center;padding:15px 18px;border-bottom:1px solid #c8d2d7;position:sticky;top:0;background:#fff;z-index:2}.cf-modal-head h2{font-size:17px;margin:0}.cf-modal-close{margin-left:auto;border:0;background:var(--cf-danger);color:#fff;width:28px;height:28px;border-radius:50%;font-size:20px;line-height:20px}.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.cf-field{display:flex;flex-direction:column;gap:6px}.cf-field input,.cf-field select,.cf-field textarea,.cf-lookup-search,.cf-lookup-option{font-size:14px;line-height:1.35}.cf-lookup-menu,.cf-lookup-search{font-size:14px}.cf-table td:first-child{white-space:nowrap}.cf-field.full{grid-column:1/-1}.cf-field label{font-size:12px;font-weight:600}.cf-field input,.cf-field select,.cf-field textarea{width:100%;border:1px solid #9baab2;padding:10px;font-family:inherit;font-size:13px;background:#fff}.cf-field textarea{min-height:95px;resize:vertical}.cf-field select[multiple]{min-height:120px}.cf-field small{font-size:10px;color:var(--cf-muted)}.cf-check{display:flex!important;flex-direction:row!important;align-items:center;gap:7px}.cf-check input{width:auto}.cf-form-actions{grid-column:1/-1;text-align:right;padding-top:5px}.cf-items{display:flex;flex-direction:column;gap:7px}.cf-item-row{display:grid;grid-template-columns:2fr .7fr 1fr 38px;gap:7px}.cf-remove{border:0;background:var(--cf-danger);color:#fff;font-size:20px}.cf-profile-head{background:#fff;border:1px solid var(--cf-border);padding:18px;display:flex;gap:16px;align-items:center;margin-bottom:15px}.cf-avatar{width:68px;height:68px;background:var(--cf-primary);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:700}.cf-profile-head h2{margin:0}.cf-profile-head p{margin:5px 0;color:var(--cf-muted)}.cf-profile-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.cf-profile-actions button{background:#fff;color:var(--cf-dark)!important}.cf-alerts{display:flex;gap:6px;flex-wrap:wrap}.cf-alerts span{background:#fff3cd;border:1px solid #d5ad4f;padding:5px 7px;font-size:10px}.cf-tabs,.cf-report-tabs{display:flex;gap:5px;overflow:auto;margin-bottom:13px}.cf-tabs button,.cf-report-tabs button{white-space:nowrap;border:1px solid var(--cf-border);background:#fff;padding:9px 11px;font-family:inherit;font-size:12px;cursor:pointer}.cf-tabs button.active,.cf-report-tabs button.active{background:var(--cf-primary);color:#fff}.cf-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cf-compare>div{background:#fff;border:1px solid var(--cf-border);padding:15px}.cf-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.cf-gallery a{border:1px solid #bbc8ce;padding:5px;text-decoration:none;color:var(--cf-dark)}.cf-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.cf-gallery small{display:block;padding:5px 2px 1px}.cf-checkline{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #dfe6e9}.cf-checkline b{font-size:11px}.cf-checkline .ok{color:var(--cf-success)}.cf-checkline .pending{color:var(--cf-warning)}.cf-consent-text{padding:15px;border:1px solid #cbd4d8;max-height:240px;overflow:auto;margin:18px}.cf-consent-text+ .cf-field{padding:0 18px}.cf-consent-text~.cf-form-actions{padding:18px}.cf-consent-text~.cf-field canvas{width:100%;height:160px;border:1px solid var(--cf-border);touch-action:none}.cf-training-summary{background:#fff;border:1px solid var(--cf-border);padding:17px;margin-bottom:14px}.cf-training-summary>div{height:9px;background:#dce4e8;margin-top:10px}.cf-training-summary span{height:100%;display:block;background:var(--cf-primary)}.cf-training-list{display:flex;flex-direction:column;gap:8px}.cf-training-step{background:#fff;border:1px solid #abb8bf;padding:13px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}.cf-training-step.done{border-left:6px solid var(--cf-success)}.cf-training-step b,.cf-training-step small{display:block}.cf-training-step small{margin-top:5px;color:var(--cf-muted)}.cf-training-step label{font-size:11px}.cf-login{padding:40px;text-align:center;font-family:Montserrat,Arial}
@media(max-width:1280px){.cf-cards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.cf-sidebar{transform:translateX(-100%);transition:.2s}.cf-sidebar.open{transform:translateX(0)}.cf-close,.cf-menu{display:block}.cf-main{margin-left:0;width:100%}.cf-cards{grid-template-columns:repeat(2,1fr)}.cf-two,.cf-procedure-grid,.cf-compare{grid-template-columns:1fr}.cf-profile-head{align-items:flex-start;flex-wrap:wrap}.cf-profile-actions{margin-left:0;width:100%;justify-content:flex-start}}
@media(max-width:620px){.cf-topbar{padding:10px 12px}.cf-topbar h1{font-size:17px}.cf-topbar p{display:none}.cf-help{display:none}.cf-content{padding:10px}.cf-cards{grid-template-columns:1fr 1fr;gap:8px}.cf-card{min-height:82px;padding:11px}.cf-grid{grid-template-columns:1fr;padding:12px}.cf-field.full,.cf-form-actions{grid-column:auto}.cf-item-row{grid-template-columns:1fr 1fr}.cf-item-row select{grid-column:1/-1}.cf-table thead{display:none}.cf-table,.cf-table tbody,.cf-table tr,.cf-table td{display:block;width:100%}.cf-table tr{border:1px solid var(--cf-border);margin-bottom:10px;background:#fff}.cf-table td{border:0;border-bottom:1px solid #dfe5e8;padding-left:42%;position:relative;min-height:38px}.cf-table td:before{content:attr(data-label);position:absolute;left:9px;top:10px;width:37%;font-weight:600}.cf-profile-head{padding:12px}.cf-avatar{width:52px;height:52px}.cf-training-step{grid-template-columns:1fr}.cf-modal{padding:6px}.cf-modal-card{max-height:98vh}}


/* Collapsible Masters menu */
.cf-menu-group{margin:2px 0;border:0}
.cf-menu-group summary{list-style:none;display:flex;align-items:center;gap:14px;padding:13px 18px;color:#fff;cursor:pointer;font-weight:600}
.cf-menu-group summary::-webkit-details-marker{display:none}
.cf-menu-group summary span{width:18px;text-align:center}
.cf-menu-group summary b{margin-left:auto;font-size:13px;transition:transform .2s ease}
.cf-menu-group[open] summary b{transform:rotate(180deg)}
.cf-submenu{padding:0 8px 6px 26px}
.cf-submenu a{padding:10px 14px!important;font-size:14px}
.cf-submenu a span{width:12px!important}
.cf-settings-panel{max-width:900px}
.cf-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:250px}.cf-row-actions button{border:1px solid #122536;background:#fff;color:#122536;padding:6px 9px;border-radius:3px;cursor:pointer;font:inherit;font-size:12px}.cf-row-actions button:hover{background:#122536;color:#fff}.cf-row-actions .cf-action-edit{border-color:#1d6fa5;color:#1d6fa5}.cf-row-actions .cf-action-status{border-color:#b7791f;color:#8a5600}.cf-row-actions .cf-action-delete{border-color:#c5352b;color:#c5352b}.cf-row-actions .cf-action-delete:hover{background:#c5352b;color:#fff}.cf-view-table th{width:34%;text-align:left;background:#f3f6f8;color:#122536}.cf-view-table td{word-break:break-word}@media(max-width:768px){.cf-row-actions{min-width:0}.cf-row-actions button{flex:1 1 auto}}


/* Icon-only action buttons */
.cf-row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:0;align-items:center}
.cf-row-actions button{width:34px;height:34px;min-width:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid #122536;background:#fff;color:#122536!important;border-radius:4px;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.cf-row-actions button svg{width:17px;height:17px;display:block;fill:currentColor;pointer-events:none}
.cf-row-actions button:hover{background:#122536;color:#fff!important;transform:translateY(-1px)}
.cf-row-actions .cf-action-edit{border-color:#1d6fa5;color:#1d6fa5!important}
.cf-row-actions .cf-action-edit:hover{background:#1d6fa5;color:#fff!important}
.cf-row-actions .cf-action-status{border-color:#b7791f;color:#8a5600!important}
.cf-row-actions .cf-action-status:hover{background:#b7791f;color:#fff!important}
.cf-row-actions .cf-action-delete{border-color:#c5352b;color:#c5352b!important}
.cf-row-actions .cf-action-delete:hover{background:#c5352b;color:#fff!important}
.cf-row-actions .cf-action-appointments,.cf-row-actions .cf-action-assessments,.cf-row-actions .cf-action-quotations,.cf-row-actions .cf-action-payments,.cf-row-actions .cf-action-procedures,.cf-row-actions .cf-action-follow-ups,.cf-row-actions .cf-action-invoices,.cf-row-actions .cf-action-procedure-detail{border-color:var(--cf-primary);color:#148c84!important}
.cf-row-actions .cf-action-appointments:hover,.cf-row-actions .cf-action-assessments:hover,.cf-row-actions .cf-action-quotations:hover,.cf-row-actions .cf-action-payments:hover,.cf-row-actions .cf-action-procedures:hover,.cf-row-actions .cf-action-follow-ups:hover,.cf-row-actions .cf-action-invoices:hover,.cf-row-actions .cf-action-procedure-detail:hover{background:var(--cf-primary);color:#fff!important}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:768px){.cf-row-actions{min-width:0}.cf-row-actions button{flex:0 0 34px}}

/* ClinicFlow 2.5.3 modal action fixes */
.cf-modal-close{
  margin-left:auto!important;
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--cf-danger)!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:600!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.cf-modal-close:hover,.cf-modal-close:focus{
  background:#a93226!important;
  color:#fff!important;
  opacity:1!important;
  outline:2px solid rgba(192,57,43,.22)!important;
  outline-offset:2px!important;
}
.cf-form-actions .cf-btn,#cf-edit-from-view{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:74px!important;
  background:var(--cf-primary)!important;
  border:1px solid var(--cf-primary)!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.cf-form-actions .cf-btn:hover,.cf-form-actions .cf-btn:focus,#cf-edit-from-view:hover,#cf-edit-from-view:focus{
  background:#16988f!important;
  border-color:#16988f!important;
  color:#fff!important;
  opacity:1!important;
}


/* ClinicFlow 2.5.4 header cleanup */
.cf-topbar p,#cf-subtitle{display:none!important}
.cf-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cf-top-actions .cf-icon-btn,.cf-top-actions .cf-btn{margin:0;white-space:nowrap}
.cf-content>.cf-panel>.cf-panel-head:first-child{display:flex}
@media(max-width:620px){
  .cf-topbar{align-items:flex-start;flex-wrap:wrap}
  .cf-top-actions{width:100%;justify-content:flex-end}
}

/* ClinicFlow 2.5.6 universal search */
.cf-search-wrap{
  position:relative;
  display:flex;
  align-items:center;
  width:min(320px,34vw);
  min-width:210px;
  height:42px;
  background:#fff;
  border:1px solid #122536;
  border-radius:4px;
  overflow:hidden;
}
.cf-search-wrap:focus-within{
  border-color:var(--cf-primary);
  box-shadow:0 0 0 2px rgba(32,178,170,.15);
}
.cf-search-wrap svg{
  width:18px;
  height:18px;
  margin-left:12px;
  flex:0 0 18px;
  fill:#657381;
}
.cf-search-wrap input{
  width:100%;
  height:100%;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0 36px 0 9px!important;
  font:inherit;
  color:#122536;
}
.cf-search-wrap input::-webkit-search-cancel-button{display:none}
.cf-search-wrap button{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#657381;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
}
.cf-search-wrap button.show{opacity:1;pointer-events:auto}
.cf-search-wrap button:hover{background:#eef3f5;color:#122536}
@media(max-width:900px){
  .cf-search-wrap{width:260px;min-width:180px}
}
@media(max-width:620px){
  .cf-search-wrap{order:10;width:100%;min-width:100%}
  .cf-top-actions{align-items:stretch}
}

/* ClinicFlow 2.5.7 compact borderless action icons */
.cf-table th,
.cf-table td{
  padding:6px 10px!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}
.cf-table tbody tr{
  height:38px!important;
}
.cf-row-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.cf-row-actions button{
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer!important;
}
.cf-row-actions button svg{
  width:16px!important;
  height:16px!important;
  display:block!important;
  fill:currentColor!important;
}
.cf-row-actions button:hover,
.cf-row-actions button:focus{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:scale(1.12)!important;
}
.cf-row-actions .cf-action-view{color:#142432!important}
.cf-row-actions .cf-action-edit{color:var(--cf-primary)!important}
.cf-row-actions .cf-action-status{color:#b7791f!important}
.cf-row-actions .cf-action-delete{color:#c5352b!important}
.cf-row-actions .cf-action-appointments,
.cf-row-actions .cf-action-assessments,
.cf-row-actions .cf-action-quotations,
.cf-row-actions .cf-action-payments,
.cf-row-actions .cf-action-procedures,
.cf-row-actions .cf-action-follow-ups,
.cf-row-actions .cf-action-invoices,
.cf-row-actions .cf-action-procedure-detail{color:var(--cf-primary)!important}
.cf-table th:last-child,
.cf-table td:last-child{
  width:150px!important;
  min-width:150px!important;
}
@media(max-width:620px){
  .cf-table td{padding-top:7px!important;padding-bottom:7px!important}
  .cf-row-actions{gap:10px!important}
  .cf-row-actions button{flex:0 0 24px!important}
}


/* ClinicFlow 2.5.8 refinements */
.cf-row-actions button:hover,.cf-row-actions button:focus,.cf-row-actions button:focus-visible{color:#263746!important;background:transparent!important;outline:none!important;box-shadow:none!important}
.cf-row-actions .cf-action-delete:hover,.cf-row-actions .cf-action-delete:focus{color:#8f1f18!important}
.cf-row-actions .cf-action-status:hover,.cf-row-actions .cf-action-status:focus{color:#704500!important}
.cf-row-actions .cf-action-edit:hover,.cf-row-actions .cf-action-edit:focus,.cf-row-actions .cf-action-appointments:hover,.cf-row-actions .cf-action-assessments:hover,.cf-row-actions .cf-action-quotations:hover,.cf-row-actions .cf-action-payments:hover,.cf-row-actions .cf-action-procedures:hover,.cf-row-actions .cf-action-follow-ups:hover,.cf-row-actions .cf-action-invoices:hover,.cf-row-actions .cf-action-procedure-detail:hover{color:#0c625d!important}
.cf-searchable-lookup{position:relative}.cf-searchable-lookup .cf-native-lookup{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.cf-searchable-lookup .cf-lookup-search{width:100%;min-height:42px;padding:9px 38px 9px 12px;border:1px solid #aab6c0;border-radius:4px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%23334455' d='m7 10 5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:text}.cf-searchable-lookup .cf-lookup-search:focus{border-color:var(--cf-primary);box-shadow:0 0 0 1px var(--cf-primary);outline:none}.cf-searchable-lookup .cf-lookup-search:disabled{background-color:#edf1f4;color:#8a959e;cursor:not-allowed}.cf-lookup-menu{display:none;position:absolute;z-index:10020;left:0;right:0;top:calc(100% + 3px);max-height:220px;overflow:auto;background:#fff;border:1px solid #d6dde2;border-radius:4px;box-shadow:0 10px 24px rgba(18,38,51,.12)}.cf-searchable-lookup.open .cf-lookup-menu{display:block}.cf-lookup-option{display:block;width:100%;padding:10px 12px;border-bottom:1px solid #edf2f6;background:#fff;color:#182b3a;text-align:left;cursor:pointer}.cf-lookup-option:last-child{border-bottom:0}.cf-lookup-option:hover,.cf-lookup-option:focus,.cf-lookup-option.selected{background:#f8fbfd;color:#0c625d;outline:none}.cf-lookup-empty{padding:10px 12px;color:#74828d}

/* ClinicFlow 2.5.9 searchable dropdowns use one integrated input only. */

/* ClinicFlow 2.6.0 form searchable lookups */
.cf-lookup-filter{
  display:block;
}
.cf-lookup-filter .cf-lookup-search-single{
  width:100%;
  min-height:42px;
  border:1px solid #aab6c0;
  border-radius:4px;
  background:#fff;
  color:#122536;
  font-family:inherit;
  font-size:14px;
  line-height:1.25;
  padding:9px 12px;
}
.cf-lookup-filter .cf-lookup-search-single:focus{
  border-color:var(--cf-primary);
  outline:none;
  box-shadow:0 0 0 1px var(--cf-primary);
}

.cf-multi-dropdown{
  position:relative;
}
.cf-multi-dropdown .cf-multi-toggle{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 12px;
  border:1px solid #aab6c0;
  border-radius:4px;
  background:#fff;
  color:#122536;
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
  line-height:1.25;
  font-weight:400;
}
.cf-multi-dropdown .cf-multi-toggle:hover,
.cf-multi-dropdown .cf-multi-toggle:focus,
.cf-multi-dropdown .cf-multi-toggle:focus-visible{
  background:#fff!important;
  color:#122536!important;
  border-color:#aab6c0;
  outline:none;
  box-shadow:none;
}
.cf-multi-dropdown .cf-multi-toggle b{
  font-size:14px;
  line-height:1;
  color:#657381;
}
.cf-multi-dropdown .cf-multi-caret{
  margin-left:auto;
  font-size:14px;
  line-height:1;
  color:#657381;
  pointer-events:none;
}
.cf-multi-dropdown.open .cf-multi-toggle{
  border-color:#aab6c0;
  box-shadow:none;
}
.cf-multi-dropdown .cf-multi-menu{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:50;
  background:#fff;
  border:1px solid #d7e0e5;
  border-radius:8px;
  box-shadow:0 12px 30px rgba(18,36,50,.14);
  padding:10px;
}
.cf-multi-dropdown.open .cf-multi-menu{
  display:block;
}
.cf-multi-search{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #d7e0e5;
  border-radius:4px;
  background:#fff;
  color:#122536;
  font-family:inherit;
  font-size:14px;
  line-height:1.25;
  margin-bottom:8px;
}
.cf-multi-search:focus{
  outline:none;
  border-color:#aab6c0;
  box-shadow:none;
}
.cf-multi-lookup-list{
  display:grid;
  gap:0;
  max-height:220px;
  overflow:auto;
  overflow-x:hidden;
  padding-right:2px;
}
.cf-multi-option{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  padding:8px 6px;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:pointer;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
  color:#122536;
}
.cf-multi-option:hover{
  background:#f4fbfa;
}
.cf-multi-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cf-multi-option input{
  margin:0;
  justify-self:end;
  flex:0 0 auto;
}
.cf-multi-empty{
  padding:8px 6px;
  color:var(--cf-muted);
  font-size:13px;
}

/* Keep checkbox label typography aligned with form inputs */
.cf-check{
  font-size:14px;
  line-height:1.35;
  font-weight:400;
}

/* ClinicFlow line-item layout fix */
.cf-items{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cf-items-head,
.cf-item-row{
  display:grid;
  grid-template-columns:minmax(180px,2.2fr) 70px 110px 110px minmax(120px,1.1fr) 110px 44px;
  gap:8px;
  align-items:center;
}
.cf-items-head{
  font-size:13px;
  font-weight:600;
  color:#233443;
}
.cf-items-head span{
  display:block;
  white-space:nowrap;
}
.cf-item-row select,
.cf-item-row input{
  width:100%;
  min-width:0;
}
.cf-item-row .cf-item-total{
  background:#f6f9fb;
}
.cf-item-row .cf-remove-item{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ccd7de;
  border-radius:4px;
  background:#fff;
  color:#415464;
  line-height:1;
}
.cf-item-row .cf-remove-item:hover,
.cf-item-row .cf-remove-item:focus{
  background:#f0f4f7;
  color:#1f3242;
  border-color:#aebdca;
}

@media(max-width:900px){
  .cf-items-head{
    display:none;
  }
  .cf-item-row{
    grid-template-columns:1fr 1fr;
  }
  .cf-item-row .cf-item-service,
  .cf-item-row .cf-item-gst{
    grid-column:1 / -1;
  }
}
