.vs-app{--vs-ink:#183c3c;--vs-muted:#536668;--vs-border:#d7e4e1;--vs-accent:#17665b;max-width:1280px;color:var(--vs-ink);padding:24px 28px 40px 8px;font-family:system-ui,-apple-system,sans-serif}.vs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.vs-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--vs-accent)}.vs-header h1{font-size:30px;line-height:1.3;font-weight:600;letter-spacing:-.8px;margin:12px 0}.vs-header p{font-size:15px;color:var(--vs-muted)}.vs-badge{font-size:12px;padding:8px 12px;border:1px solid var(--vs-border);border-radius:20px;white-space:nowrap;background:#fff}.vs-notice{background:#e8f2ee;padding:12px 16px;border-radius:8px;color:#285647;margin-bottom:24px}.vs-tabs{display:flex;gap:4px;border-bottom:1px solid var(--vs-border);margin-bottom:24px}.vs-tab{background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 24px;font-weight:600;font-size:14px;color:var(--vs-muted);cursor:pointer}.vs-tab.is-active{border-color:var(--vs-accent);color:var(--vs-accent)}.vs-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px}.vs-card{background:#fff;border:1px solid var(--vs-border);border-radius:12px;padding:24px;align-self:start}.vs-card h2{font-size:18px;margin:0 0 12px;color:var(--vs-ink)}.vs-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.vs-muted{color:var(--vs-muted);font-size:12px}.vs-search{margin:18px 0}.vs-search label,.vs-form label{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.vs-inline{display:flex;gap:8px}.vs-app input:not([type=checkbox]):not([type=radio]),.vs-app select{border:1px solid #94aba6;border-radius:6px;min-height:40px;max-width:100%;width:100%;font-size:14px}.vs-form input,.vs-form select{margin-bottom:18px}.vs-app .button{border-radius:6px;min-height:40px;padding:4px 16px;white-space:nowrap}.vs-app .button-primary{background:var(--vs-accent);border-color:var(--vs-accent)}.vs-form .button-primary{width:100%;margin-top:6px}.vs-app button:focus-visible,.vs-app input:focus-visible,.vs-app select:focus-visible{outline:3px solid #a97814;outline-offset:3px}.vs-record{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #e9efed}.vs-record strong{display:block;font-size:14px;margin-bottom:4px}.vs-record p{margin:0;color:var(--vs-muted);overflow-wrap:anywhere}.vs-empty{padding:38px 12px;text-align:center;color:var(--vs-muted);background:#f6f9f8;border-radius:8px}.vs-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.vs-footer{margin-top:24px;color:var(--vs-muted);font-size:12px}#vs-status:not(:empty){padding:12px 16px;background:#fff4d8;border:1px solid #d7b45b;margin-bottom:20px;border-radius:6px}.vs-app [hidden]{display:none!important}@media(max-width:950px){.vs-grid{grid-template-columns:1fr}.vs-header{display:block}.vs-badge{display:inline-block}.vs-app{padding:16px 8px}.vs-header h1{font-size:25px}.vs-section-header{align-items:flex-start;flex-direction:column}.vs-record{flex-wrap:wrap}}
/* Application layout around WordPress UI components. */
.vs-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;margin-top:24px}.vs-sidebar{display:flex;flex-direction:column;gap:8px}.vs-sidebar .components-button{justify-content:flex-start;gap:10px;min-height:46px;border-radius:8px;color:#344b53}.vs-sidebar .is-active{background:#dcefeb;color:#075e52;font-weight:600}.vs-content{min-width:0}.vs-app .components-button{min-height:40px}.vs-app .components-button.is-primary{background:#086958;color:white}.vs-app .components-notice{margin:12px 0}.vs-toolbar{display:flex;gap:16px;align-items:end;margin:24px 0}.vs-toolbar .components-base-control{margin-bottom:0;flex:1}.vs-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:0;padding:12px 0}.vs-editor{min-width:min(420px,70vw)}.vs-editor fieldset{border:0;padding:0}.vs-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.vs-row-actions{display:flex;flex-wrap:wrap;gap:4px}.vs-table-scroll{overflow-x:auto}.vs-table{width:100%;border-collapse:collapse;text-align:left}.vs-table th{font-size:12px;color:#52636b;background:#f5f8fa}.vs-table td,.vs-table th{padding:14px 12px;border-bottom:1px solid #e0e8ec}.vs-empty{padding:40px;text-align:center;color:#52636b}.vs-app .components-text-control__input,.vs-app .components-select-control__input{min-height:40px}.vs-app .vs-header h1{font-size:28px}.vs-app .vs-card{padding:24px}.vs-app .vs-section-header h2{margin:0}.vs-app{--wp-admin-theme-color:#086958;--wp-admin-theme-color--rgb:8,105,88}.vs-app :focus-visible{outline:3px solid #0085cb;outline-offset:3px}
@media(max-width:850px){.vs-workspace{grid-template-columns:1fr}.vs-sidebar{flex-direction:row;overflow:auto}.vs-toolbar{flex-wrap:wrap}.vs-settings-grid{grid-template-columns:1fr}.vs-app .vs-card{padding:16px}.vs-sidebar .components-button{flex-shrink:0}.vs-section-header{gap:16px;flex-wrap:wrap}}

.vs-access-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dce6ef}.vs-announcement-editors{display:grid;gap:24px}.vs-announcement-editors fieldset{min-width:0}

.vs-advanced{border-top:1px solid #d7e4e1;margin-top:24px;padding-top:16px;max-width:520px}.vs-advanced summary{cursor:pointer;font-weight:600}.vs-advanced p{line-height:1.6}.vs-advanced summary:focus-visible{outline:3px solid #0085cb;outline-offset:3px}

.vs-admin-modal{--wp-admin-theme-color:#086958;--wp-admin-theme-color--rgb:8,105,88;--wp-components-color-accent:#086958}

.vs-hours-modal { width: min(760px, calc(100vw - 32px)); }
.vs-hours-row { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 12px; align-items: end; border: 1px solid #dcded8 !important; padding: 12px !important; margin: 12px 0 !important; border-radius: 8px; }
.vs-hours-row legend { padding: 0 6px; font-weight: 600; }
.vs-hours-row .components-base-control { margin-bottom: 0; min-width: 0; }
@media (max-width: 600px) { .vs-hours-row { grid-template-columns: 1fr 1fr; } }

/* Compact agenda controls reuse the WordPress searchable combobox. */
.vs-picker { width: 100%; min-width: 0; margin: 0 0 20px; }
.vs-picker .components-base-control,.vs-picker .components-base-control__field { margin-bottom: 0; }
.vs-picker .components-combobox-control__suggestions-container { width: 100%; }
.vs-picker .components-combobox-control__suggestions-container > .components-flex { min-height: 42px; border-radius: 6px; background: #fff; }
.vs-app .vs-picker input[role=combobox],.vs-admin-modal .vs-picker input[role=combobox] { width: 100%; min-height: 40px; padding: 8px 12px; border: 0; box-shadow: none; background: transparent; }
.vs-picker .components-form-token-field__suggestions-list { max-height: 240px; }
.vs-agenda-toolbar { display: grid; grid-template-columns: minmax(280px,1fr) 140px 40px; align-items: end; gap: 16px; margin: 24px 0 20px; }
.vs-agenda-toolbar .components-base-control,.vs-agenda-toolbar .components-base-control__field { margin: 0; }
.vs-agenda-date-nav { display: grid; grid-template-columns: 40px minmax(140px,220px) 40px auto; align-items: end; gap: 8px; justify-content: start; }
.vs-agenda-date-nav .components-button { justify-content: center; }
.vs-agenda-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 20px; margin: 0 0 24px; }
.vs-agenda-filters .vs-picker { margin: 0; }
.vs-agenda .vs-row-actions { gap: 12px; }
.vs-agenda-range { font-weight: 600; margin: 0 0 16px; }
.vs-agenda-explanation { line-height: 1.6; margin: 0 0 20px; }
@media(max-width: 700px) {
  .vs-agenda-toolbar { grid-template-columns: minmax(0,1fr) 40px; }
  .vs-agenda-date-nav { grid-column: 1 / -1; grid-template-columns: 40px minmax(0,1fr) 40px auto; justify-content: stretch; }
  .vs-agenda-filters { grid-template-columns: 1fr; gap: 16px; }
  .vs-agenda .vs-section-header > .vs-row-actions { width: 100%; }
  .vs-agenda .vs-section-header > .vs-row-actions > button { flex: 1; height: auto; white-space: normal; justify-content: center; }
}
.vs-agenda-table small { display: block; margin-top: 4px; }
.vs-history { padding-left: 20px; }
.vs-history li { padding: 12px 0; border-bottom: 1px solid #ddd; }
.vs-history p { margin: 6px 0; }
.vs-agenda-modal .vs-settings-grid { gap: 12px; }
@media(max-width: 600px) { .vs-agenda-modal .vs-settings-grid { grid-template-columns: 1fr; } }

.components-modal__frame.vs-agenda-modal { width: min(720px,calc(100vw - 32px)); max-height: calc(100dvh - 48px); }
.vs-agenda-picker-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 20px; }
.vs-agenda-picker-grid .vs-picker { margin-bottom: 0; }
@media(max-width:600px) { .vs-agenda-picker-grid { grid-template-columns: 1fr; } }
.vs-catalog-modal .components-base-control { margin-bottom: 20px; }
.vs-catalog-modal .components-base-control__field { margin-bottom: 0; }
.vs-catalog-modal .components-base-control__help { margin-bottom: 0; line-height: 1.5; }
.components-modal__frame.vs-catalog-modal { max-height: calc(100dvh - 48px); }
.vs-service-professionals { margin: 0 0 24px; padding: 20px; border: 1px solid #ded9ce; border-radius: 8px; }
.vs-service-professionals h2 { font-size: 16px; margin: 0 0 16px; line-height: 1.4; }
.vs-professional-options { max-height: 200px; overflow: auto; padding: 4px; }
.vs-service-professionals .vs-muted { margin: 12px 0 0; }
.vs-service-team { display: block; margin-top: 6px; line-height: 1.5; }

.components-modal__frame.vs-clinical-modal{width:780px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px)}.vs-clinical-context{padding-bottom:20px;border-bottom:1px solid #d6e1df;margin-bottom:20px}.vs-clinical-pair{display:grid;grid-template-columns:1fr 2fr;gap:20px}.vs-clinical-reading{margin:24px 0;overflow-wrap:anywhere}.vs-clinical-reading dt{font-weight:600;margin-top:20px}.vs-clinical-reading dd{margin:6px 0 0;white-space:pre-wrap}.vs-clinical-reading li{margin:20px 0}.vs-clinical-reading li p{white-space:pre-wrap}.vs-clinical-history{list-style:none;padding:0}.vs-clinical-history li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #d6e1df}@media(max-width:600px){.vs-clinical-pair{grid-template-columns:1fr}}
.vs-clinical-modal .vs-editor>fieldset{display:grid;gap:20px;margin:0;padding:0;border:0;min-width:0}.vs-clinical-modal .components-base-control{margin-bottom:0}.vs-clinical-modal .vs-actions{margin-top:24px}.vs-clinical-modal .vs-clinical-reading+h2{margin-top:28px}

.vs-prevention-list{display:grid;gap:20px;margin:24px 0}.vs-prevention-record{border:1px solid #d6e1df;border-radius:8px;padding:20px;display:grid;gap:12px}.vs-prevention-record h2{font-size:18px;margin:0}.vs-prevention-record .vs-section-header{margin:0}.vs-prevention-record summary{cursor:pointer;padding:8px 0}.vs-prevention-record summary:focus-visible{outline:2px solid #006b57;outline-offset:3px}.vs-prevention-overdue{color:#9a3412;font-weight:600}

.vs-rx-medication{border:1px solid #d6e1df;padding:20px;border-radius:8px;margin:20px 0}.vs-rx-medication h2{font-size:18px;margin:0}.vs-rx-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vs-rx-fields>.components-base-control:first-child{grid-column:1/-1}.vs-rx-preview{margin:24px 0}.vs-rx-details{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin-top:16px}.vs-rx-details dt{font-weight:600}.vs-rx-details dd{margin:0;overflow-wrap:anywhere}.vs-rx-notes{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.vs-rx-fields{grid-template-columns:1fr}.vs-rx-details{grid-template-columns:1fr;gap:4px}.vs-rx-details dd{margin-bottom:12px}}

.vs-rx-add.components-button { margin-bottom: 24px; }
.vs-document-file { display: grid; gap: 12px; margin: 20px 0; }
.vs-document-file > span { font-weight: 600; }
.vs-document-file > .components-button { justify-self: start; }
.vs-document-file input[type=file] { width: 100%; max-width: 100%; min-height: 44px; height: auto; padding: 10px; }
.vs-document-list { list-style: none; padding: 0; margin: 24px 0; }
.vs-document-list > li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid #dce4df; }
.vs-document-info { min-width: 0; overflow-wrap: anywhere; }
.vs-document-info p { margin: 8px 0 0; }
.vs-document-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
@media(max-width:600px) { .vs-document-list > li { align-items: flex-start; flex-direction: column; gap: 12px; } }
.vs-billing-tabs { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 32px; }
.vs-billing-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.vs-billing-summary > div { display:grid; gap:10px; padding:16px; border:1px solid #dce4df; border-radius:8px; }
.vs-billing-summary strong { font-size:20px; overflow-wrap:anywhere; }
.vs-billing-list { list-style:none; padding:0; margin:24px 0; }
.vs-billing-list > li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid #dce4df; }
.vs-billing-list p { margin:8px 0 0; overflow-wrap:anywhere; }
.vs-billing-history-title { margin-top:40px !important; }
.vs-cash-detail { width:100%; }
.vs-cash-detail summary { cursor:pointer; padding:8px 0; font-weight:600; }
.vs-cash-breakdown dt { margin-top:16px; font-weight:600; }
.vs-cash-breakdown dd { margin:8px 0; }
.vs-cash-count { border-bottom:1px solid #dce4df; padding:16px 0; }
@media(max-width:600px) { .vs-billing-summary { grid-template-columns:1fr; } .vs-billing-list > li { align-items:flex-start; flex-wrap:wrap; } }

.vs-stock-alert { color:#8a4b10; font-weight:600; }

.vs-report-statuses { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 24px; margin:20px 0 32px; max-width:600px; }
.vs-report-statuses dd { margin:0; text-align:right; }
.vs-report-currency { padding:12px 0 20px; border-bottom:1px solid #dce4df; margin-bottom:24px; }

.vs-account-password{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:start}.vs-account-password>.components-button{margin-top:25px;min-height:40px;justify-content:center}
