@charset "UTF-8";.workspace-shell{display:flex;flex-direction:column;height:100%;width:100%}.workspace-shell__topbar{display:flex;align-items:center;height:38px;background:var(--color-primary, #059669);border-bottom:1px solid var(--color-primary-hover, #047857);padding:0 12px;position:relative}.workspace-shell__tabs-desktop{display:flex;align-items:center;flex:1}.workspace-shell__tab{display:flex;align-items:center;padding:9px 14px;height:100%;font-size:14px;font-weight:500;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;transition:background-color .15s ease;border:none;background:transparent;white-space:nowrap;flex-shrink:0}.workspace-shell__tab:hover:not(.workspace-shell__tab--active){background:#ffffff1a}.workspace-shell__tab:active{background:#ffffff26}.workspace-shell__hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;margin-right:8px}.workspace-shell__hamburger-icon{display:flex;flex-direction:column;gap:5px;width:24px;height:18px}.workspace-shell__hamburger-icon span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:all .3s ease}.workspace-shell__active-tab-label{display:none;font-size:14px;font-weight:600;color:#fff;flex:1}.workspace-shell__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb);box-shadow:0 4px 6px #0000001a;z-index:1000;flex-direction:column;max-height:calc(100vh - 38px);overflow-y:auto}.workspace-shell__mobile-tab{display:flex;align-items:center;padding:12px 16px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;background:transparent;text-align:left;border-bottom:1px solid var(--color-border-light, #f3f4f6);width:100%}.workspace-shell__mobile-tab:hover{background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.workspace-shell__mobile-tab--active{background:var(--color-bg-secondary, #f8f9fb);font-weight:600;color:var(--color-text, #111827);border-left:3px solid var(--color-primary, #059669)}.workspace-shell__mobile-tab--disabled{opacity:.5;cursor:not-allowed}.workspace-shell__tab--active{background:var(--color-bg, #ffffff);font-weight:600;color:var(--color-primary, #059669)}.workspace-shell__tab--disabled{opacity:.5;cursor:not-allowed}.workspace-shell__user-profile{position:relative;display:flex;align-items:center;margin-left:auto}.workspace-shell__user-button{display:flex;align-items:center;padding:4px;border:none;background:transparent;cursor:pointer;position:relative;border-radius:50%;transition:background-color .15s ease}.workspace-shell__user-button:hover{background:#ffffff1a}.workspace-shell__user-button:active{background:#ffffff26}.workspace-shell__user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#1e40af;color:#fff;font-size:14px;font-weight:600}.workspace-shell__user-avatar--large{width:40px;height:40px;font-size:16px}.workspace-shell__user-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;min-width:240px;z-index:1000;overflow:hidden}.workspace-shell__user-info{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.workspace-shell__user-details{display:flex;flex-direction:column;gap:2px}.workspace-shell__user-email{font-size:14px;font-weight:500;color:var(--color-text, #111827)}.workspace-shell__user-email-secondary{font-size:12px;color:var(--color-text-secondary, #6b7280)}.workspace-shell__user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;color:var(--color-text, #374151);text-align:left;border:none;background:transparent;cursor:pointer;transition:background-color .15s ease}.workspace-shell__user-menu-item:hover{background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.workspace-shell__user-menu-item--signout{color:var(--color-error, #dc2626);border-top:1px solid var(--color-border-light, #f3f4f6);margin-top:4px;padding-top:12px}.workspace-shell__user-menu-item--signout:hover{background:#dc26261a}.workspace-shell__user-menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.workspace-shell__theme-selector{padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.workspace-shell__theme-label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.workspace-shell__theme-buttons{display:flex;gap:6px}.workspace-shell__theme-button{flex:1;display:flex;align-items:center;justify-content:center;padding:6px 8px;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);cursor:pointer;transition:all .15s ease}.workspace-shell__theme-button:hover{background:var(--color-bg-secondary, #f9fafb);border-color:var(--color-border, #d1d5db)}.workspace-shell__theme-button--active{background:var(--color-primary, #059669);color:#fff;border-color:var(--color-primary-hover, #047857)}.workspace-shell__theme-button--active:hover{background:var(--color-primary-hover, #047857);border-color:var(--color-primary-hover, #065f46)}.workspace-shell__viewport{height:calc(100vh - 48px);background:var(--color-bg-secondary, #f9fafb);overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.workspace-shell__viewport{height:calc(100vh - 38px)}}.workspace-shell__viewport>div{overflow:hidden}.workspace-shell__viewport .workspace-shell-tab-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 768px){.workspace-shell__topbar{padding:0 8px;height:38px;justify-content:space-between}.workspace-shell__tabs-desktop{display:none}.workspace-shell__hamburger{display:flex}.workspace-shell__active-tab-label{display:block}.workspace-shell__mobile-menu{display:flex}}.patient-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;will-change:opacity;transform:translateZ(0)}.patient-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:800px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000;transform:translateZ(0);will-change:transform}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.patient-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.patient-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.patient-modal-close:hover{color:var(--color-text, #111827)}.patient-modal-close svg{width:24px;height:24px}.patient-modal-body{background:var(--color-bg, #ffffff);padding:0;color:var(--color-text, #111827);overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.add-patient-form{width:100%;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden}.add-patient-form__header-content{padding:24px 24px 0;flex-shrink:0}.add-patient-form__subtitle{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary, #6b7280);line-height:1.5}.add-patient-form__toast{padding:12px 16px;margin-bottom:16px;border-radius:6px;font-size:14px;font-weight:500}.add-patient-form__toast--success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.add-patient-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.add-patient-form__form{display:flex;flex-direction:column;gap:20px;padding:24px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch;will-change:scroll-position;transform:translateZ(0);contain:layout style paint}.add-patient-form__form::-webkit-scrollbar{width:10px}.add-patient-form__form::-webkit-scrollbar-track{background:var(--color-bg-secondary, #f8f9fb);border-radius:4px;margin:4px 0}.add-patient-form__form::-webkit-scrollbar-thumb{background:var(--color-border, #d1d5db);border-radius:4px;border:2px solid var(--color-bg-secondary, #f8f9fb);transition:background-color .2s ease}.add-patient-form__form::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary, #6b7280)}.add-patient-form__form::-webkit-scrollbar-thumb:active{background:var(--color-text, #374151)}.add-patient-form__form{scrollbar-width:thin;scrollbar-color:var(--color-border, #d1d5db) var(--color-bg-secondary, #f8f9fb)}.add-patient-form__field{display:flex;flex-direction:column;gap:6px}.add-patient-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.add-patient-form__required{color:var(--color-error, #dc2626);margin-left:2px}.add-patient-form__input,.add-patient-form__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.add-patient-form__input:focus,.add-patient-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.add-patient-form__input:disabled,.add-patient-form__select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-secondary, #f8f9fb)}.add-patient-form__input--error,.add-patient-form__select--error{border-color:var(--color-error, #dc2626)}.add-patient-form__input--error:focus,.add-patient-form__select--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.add-patient-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.add-patient-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.add-patient-form__footer{display:flex;justify-content:flex-end;gap:8px;padding:20px 24px;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.add-patient-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.add-patient-form__button:disabled{opacity:.5;cursor:not-allowed}.add-patient-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.add-patient-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.add-patient-form__submit{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.add-patient-form__submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.add-patient-form__submit:active:not(:disabled){background:#1e40af}.add-patient-form__submit:disabled{opacity:.5;cursor:not-allowed}.patient-contact-settings{width:100%;max-width:1200px;margin:0 auto;padding:24px;box-sizing:border-box}.patient-contact-settings__header{margin-bottom:32px}.patient-contact-settings__header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--color-text, #111827)}.patient-contact-settings__subtitle{margin:0;font-size:14px;color:var(--color-text-secondary, #6b7280);line-height:1.5}.patient-contact-settings__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.patient-contact-settings__toast{padding:12px 16px;margin-bottom:16px;border-radius:6px;font-size:14px;font-weight:500}.patient-contact-settings__toast--success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.patient-contact-settings__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.patient-contact-settings__validation{padding:12px 16px;margin-bottom:16px;border-radius:6px;font-size:14px;font-weight:500;background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.patient-contact-settings__section{margin-bottom:40px;padding:24px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.patient-contact-settings__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.patient-contact-settings__section-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.patient-contact-settings__add-button{padding:8px 16px;font-size:14px;font-weight:500;font-family:inherit;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-contact-settings__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.patient-contact-settings__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.patient-contact-settings__list{display:flex;flex-direction:column;gap:16px}.patient-contact-settings__phone-row{display:grid;grid-template-columns:2fr 1fr 1.5fr 1.5fr auto;gap:16px;align-items:start;padding:16px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}@media (max-width: 1024px){.patient-contact-settings__phone-row{grid-template-columns:1fr;gap:12px}}.patient-contact-settings__phone-field{display:flex;flex-direction:column;gap:6px}.patient-contact-settings__phone-field label{font-size:12px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.patient-contact-settings__checkboxes,.patient-contact-settings__radios{display:flex;flex-direction:column;gap:8px;margin-top:4px}.patient-contact-settings__checkbox-label,.patient-contact-settings__radio-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text, #111827);cursor:pointer}.patient-contact-settings__checkbox-label input[type=checkbox]:disabled+span,.patient-contact-settings__checkbox-label input[type=radio]:disabled+span,.patient-contact-settings__radio-label input[type=checkbox]:disabled+span,.patient-contact-settings__radio-label input[type=radio]:disabled+span{opacity:.5;cursor:not-allowed}.patient-contact-settings__checkbox,.patient-contact-settings__radio{width:16px;height:16px;cursor:pointer}.patient-contact-settings__checkbox:disabled,.patient-contact-settings__radio:disabled{cursor:not-allowed;opacity:.5}.patient-contact-settings__phone-actions{display:flex;align-items:flex-start;padding-top:24px}.patient-contact-settings__remove-button{padding:6px 12px;font-size:13px;font-weight:500;font-family:inherit;color:var(--color-error, #dc2626);background:transparent;border:1px solid var(--color-error, #dc2626);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-contact-settings__remove-button:hover{background:var(--color-error, #dc2626);color:#fff}.patient-contact-settings__email-row{display:grid;grid-template-columns:2fr auto auto auto;gap:16px;align-items:start;padding:16px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}@media (max-width: 768px){.patient-contact-settings__email-row{grid-template-columns:1fr;gap:12px}}.patient-contact-settings__email-field{display:flex;flex-direction:column;gap:6px}.patient-contact-settings__email-field>label:first-child{font-size:12px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.patient-contact-settings__email-field .patient-contact-settings__checkbox-label,.patient-contact-settings__email-field .patient-contact-settings__radio-label{margin-top:4px}.patient-contact-settings__email-actions{display:flex;align-items:flex-start;padding-top:24px}.patient-contact-settings__input,.patient-contact-settings__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.patient-contact-settings__input:focus,.patient-contact-settings__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.patient-contact-settings__input:disabled,.patient-contact-settings__select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-secondary, #f8f9fb)}.patient-contact-settings__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.patient-contact-settings__actions{display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border, #e5e7eb)}.patient-contact-settings__save-button{padding:12px 32px;font-size:14px;font-weight:500;font-family:inherit;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-contact-settings__save-button:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.patient-contact-settings__save-button:active:not(:disabled){background:#1e40af}.patient-contact-settings__save-button:disabled{opacity:.5;cursor:not-allowed}.patient-demographics-form{width:100%;max-width:900px;margin:0 auto;padding:24px;box-sizing:border-box}.patient-demographics-form__header{margin-bottom:32px}.patient-demographics-form__header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--color-text, #111827)}.patient-demographics-form__subtitle{margin:0;font-size:14px;color:var(--color-text-secondary, #6b7280);line-height:1.5}.patient-demographics-form__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.patient-demographics-form__toast{padding:12px 16px;margin-bottom:16px;border-radius:6px;font-size:14px;font-weight:500}.patient-demographics-form__toast--success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.patient-demographics-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.patient-demographics-form__form{display:flex;flex-direction:column;gap:32px}.patient-demographics-form__section{padding:24px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.patient-demographics-form__section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--color-text, #111827);padding-bottom:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.patient-demographics-form__field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.patient-demographics-form__field:last-child{margin-bottom:0}.patient-demographics-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.patient-demographics-form__required{color:var(--color-error, #dc2626);margin-left:2px}.patient-demographics-form__input,.patient-demographics-form__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.patient-demographics-form__input:focus,.patient-demographics-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.patient-demographics-form__input:disabled,.patient-demographics-form__select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-secondary, #f8f9fb)}.patient-demographics-form__input--error,.patient-demographics-form__select--error{border-color:var(--color-error, #dc2626)}.patient-demographics-form__input--error:focus,.patient-demographics-form__select--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.patient-demographics-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.patient-demographics-form__checkboxes{display:flex;flex-direction:column;gap:12px;margin-top:8px}.patient-demographics-form__checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text, #111827);cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.patient-demographics-form__checkbox-label:hover{background:var(--color-bg-secondary, #f8f9fb)}.patient-demographics-form__checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.patient-demographics-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.patient-demographics-form__actions{display:flex;justify-content:flex-end;margin-top:8px;padding-top:24px;border-top:1px solid var(--color-border, #e5e7eb)}.patient-demographics-form__submit{padding:12px 32px;font-size:14px;font-weight:500;font-family:inherit;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-demographics-form__submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.patient-demographics-form__submit:active:not(:disabled){background:#1e40af}.patient-demographics-form__submit:disabled{opacity:.5;cursor:not-allowed}.patient-address-form{width:100%;max-width:1000px;margin:0 auto;padding:24px;box-sizing:border-box}.patient-address-form__header{margin-bottom:32px}.patient-address-form__header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--color-text, #111827)}.patient-address-form__subtitle{margin:0;font-size:14px;color:var(--color-text-secondary, #6b7280);line-height:1.5}.patient-address-form__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.patient-address-form__toast{padding:12px 16px;margin-bottom:16px;border-radius:6px;font-size:14px;font-weight:500}.patient-address-form__toast--success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.patient-address-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.patient-address-form__list{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.patient-address-form__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.patient-address-form__address-card{padding:24px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.patient-address-form__address-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border, #e5e7eb)}.patient-address-form__address-title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827);display:flex;align-items:center;gap:12px}.patient-address-form__primary-badge{padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary, #2563eb);background:#2563eb1a;border-radius:4px}.patient-address-form__remove-button{padding:6px 12px;font-size:13px;font-weight:500;font-family:inherit;color:var(--color-error, #dc2626);background:transparent;border:1px solid var(--color-error, #dc2626);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-address-form__remove-button:hover{background:var(--color-error, #dc2626);color:#fff}.patient-address-form__address-fields{display:flex;flex-direction:column;gap:20px}.patient-address-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.patient-address-form__row{grid-template-columns:1fr}}.patient-address-form__field{display:flex;flex-direction:column;gap:6px}.patient-address-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.patient-address-form__required{color:var(--color-error, #dc2626);margin-left:2px}.patient-address-form__input,.patient-address-form__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.patient-address-form__input:focus,.patient-address-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.patient-address-form__input:disabled,.patient-address-form__select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-secondary, #f8f9fb)}.patient-address-form__input--error,.patient-address-form__select--error{border-color:var(--color-error, #dc2626)}.patient-address-form__input--error:focus,.patient-address-form__select--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.patient-address-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.patient-address-form__checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text, #111827);cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.patient-address-form__checkbox-label:hover{background:var(--color-bg-secondary, #f8f9fb)}.patient-address-form__checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.patient-address-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.patient-address-form__actions{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border, #e5e7eb)}@media (max-width: 768px){.patient-address-form__actions{flex-direction:column;gap:12px;align-items:stretch}}.patient-address-form__add-button{padding:12px 24px;font-size:14px;font-weight:500;font-family:inherit;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-address-form__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.patient-address-form__save-button{padding:12px 32px;font-size:14px;font-weight:500;font-family:inherit;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-address-form__save-button:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.patient-address-form__save-button:active:not(:disabled){background:#1e40af}.patient-address-form__save-button:disabled{opacity:.5;cursor:not-allowed}.allergies-compact__loading,.allergies-compact__error,.allergies-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.allergies-compact__list{display:flex;flex-direction:column;gap:8px}.allergies-compact__item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.allergies-compact__allergen{font-weight:600;color:var(--color-text, #111827)}.allergies-compact__reaction{color:var(--color-text-secondary, #6b7280);font-size:13px}.allergies-compact__severity{margin-left:auto;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.allergies-compact__severity--mild{background:#fef3c7;color:#92400e}.allergies-compact__severity--moderate{background:#fde68a;color:#78350f}.allergies-compact__severity--severe{background:#fee2e2;color:#991b1b}.allergies-compact__more{padding:8px 12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;font-style:italic}.allergies-list{display:flex;flex-direction:column;gap:16px}.allergies-list__header{display:flex;justify-content:space-between;align-items:center}.allergies-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.allergies-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.allergies-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.allergies-list__search{flex-shrink:0}.allergies-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.allergies-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.allergies-list__table{flex:1;min-height:0;overflow-y:auto}.allergies-search__wrapper{position:relative;display:flex;align-items:center}.allergies-search__icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.allergies-search__input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.allergies-search__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.allergies-search__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.allergies-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.allergies-search__clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.allergies-search__clear svg{width:16px;height:16px}.allergies-table{width:100%}.allergies-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.allergies-table__table{width:100%;border-collapse:collapse}.allergies-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.allergies-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.allergies-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.allergies-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.allergies-table__row{cursor:pointer}.allergies-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.allergies-table__cell--allergen{font-weight:600}.allergies-table__cell--actions{text-align:right}.allergies-table__badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.allergies-table__badge--mild{background:#fef3c7;color:#92400e}.allergies-table__badge--moderate{background:#fde68a;color:#78350f}.allergies-table__badge--severe{background:#fee2e2;color:#991b1b}.allergies-table__badge--active{background:#d1fae5;color:#065f46}.allergies-table__badge--inactive{background:#f3f4f6;color:#6b7280}.allergies-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.allergies-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.allergies-table__edit-button svg{width:16px;height:16px}.allergies-form{display:flex;flex-direction:column;gap:20px}.allergies-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.allergies-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.allergies-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.allergies-form__form{display:flex;flex-direction:column;gap:20px}.allergies-form__field{display:flex;flex-direction:column;gap:6px}.allergies-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.allergies-form__required{color:var(--color-error, #dc2626);margin-left:2px}.allergies-form__input,.allergies-form__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.allergies-form__input:focus,.allergies-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.allergies-form__input--error,.allergies-form__select--error{border-color:var(--color-error, #dc2626)}.allergies-form__input--error:focus,.allergies-form__select--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.allergies-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.allergies-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.allergies-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.allergies-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.allergies-form__button:disabled{opacity:.5;cursor:not-allowed}.allergies-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.allergies-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.allergies-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.allergies-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.allergy-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.allergy-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.allergy-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.allergy-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.allergy-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.allergy-modal-close:hover{color:var(--color-text, #111827)}.allergy-modal-close svg{width:24px;height:24px}.allergy-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.allergy-modal-body .allergies-form__header{display:none}.medications-compact__loading,.medications-compact__error,.medications-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.medications-compact__list{display:flex;flex-direction:column;gap:8px}.medications-compact__item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.medications-compact__name{font-weight:600;color:var(--color-text, #111827)}.medications-compact__dose,.medications-compact__frequency{color:var(--color-text-secondary, #6b7280);font-size:13px}.medications-compact__status{margin-left:auto;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.medications-compact__status--active{background:#d1fae5;color:#065f46}.medications-compact__status--discontinued{background:#f3f4f6;color:#6b7280}.medications-compact__more{padding:8px 12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;font-style:italic}.medications-list{display:flex;flex-direction:column;gap:16px}.medications-list__header{display:flex;justify-content:space-between;align-items:center}.medications-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.medications-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.medications-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.medications-list__search{flex-shrink:0}.medications-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.medications-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.medications-list__table{flex:1;min-height:0;overflow-y:auto}.medications-search__wrapper{position:relative;display:flex;align-items:center}.medications-search__icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.medications-search__input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.medications-search__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.medications-search__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.medications-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.medications-search__clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.medications-search__clear svg{width:16px;height:16px}.medications-table{width:100%}.medications-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.medications-table__table{width:100%;border-collapse:collapse}.medications-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.medications-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.medications-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.medications-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.medications-table__row{cursor:pointer}.medications-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.medications-table__cell--name{font-weight:600}.medications-table__cell--actions{text-align:right}.medications-table__badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.medications-table__badge--active{background:#d1fae5;color:#065f46}.medications-table__badge--discontinued{background:#f3f4f6;color:#6b7280}.medications-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.medications-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.medications-table__edit-button svg{width:16px;height:16px}.medications-form{display:flex;flex-direction:column;gap:20px}.medications-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.medications-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.medications-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.medications-form__form{display:flex;flex-direction:column;gap:20px}.medications-form__field{display:flex;flex-direction:column;gap:6px}.medications-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.medications-form__required{color:var(--color-error, #dc2626);margin-left:2px}.medications-form__input,.medications-form__select{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.medications-form__input:focus,.medications-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.medications-form__input--error,.medications-form__select--error{border-color:var(--color-error, #dc2626)}.medications-form__input--error:focus,.medications-form__select--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.medications-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.medications-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.medications-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.medications-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.medications-form__button:disabled{opacity:.5;cursor:not-allowed}.medications-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.medications-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.medications-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.medications-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.medication-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.medication-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.medication-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.medication-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.medication-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.medication-modal-close:hover{color:var(--color-text, #111827)}.medication-modal-close svg{width:24px;height:24px}.medication-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.medication-modal-body .medications-form__header{display:none}.problems-compact__loading,.problems-compact__error,.problems-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.problems-compact__list{display:flex;flex-direction:column;gap:8px}.problems-compact__item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.problems-compact__name{font-weight:600;color:var(--color-text, #111827)}.problems-compact__code{color:var(--color-text-secondary, #6b7280);font-size:13px;font-family:monospace}.problems-compact__status{margin-left:auto;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.problems-compact__status--active{background:#fee2e2;color:#991b1b}.problems-compact__status--resolved{background:#d1fae5;color:#065f46}.problems-compact__more{padding:8px 12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;font-style:italic}.problems-list{display:flex;flex-direction:column;gap:16px}.problems-list__header{display:flex;justify-content:space-between;align-items:center}.problems-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.problems-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.problems-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.problems-list__search{flex-shrink:0}.problems-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.problems-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.problems-list__table{flex:1;min-height:0;overflow-y:auto}.problems-search__wrapper{position:relative;display:flex;align-items:center}.problems-search__icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.problems-search__input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.problems-search__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.problems-search__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.problems-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.problems-search__clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.problems-search__clear svg{width:16px;height:16px}.problems-table{width:100%}.problems-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.problems-table__table{width:100%;border-collapse:collapse}.problems-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.problems-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.problems-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.problems-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.problems-table__row{cursor:pointer}.problems-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.problems-table__cell--name{font-weight:600}.problems-table__cell--code{font-family:monospace;color:var(--color-text-secondary, #6b7280)}.problems-table__cell--actions{text-align:right}.problems-table__badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.problems-table__badge--active{background:#fee2e2;color:#991b1b}.problems-table__badge--resolved{background:#d1fae5;color:#065f46}.problems-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.problems-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.problems-table__edit-button svg{width:16px;height:16px}.problems-form{display:flex;flex-direction:column;gap:20px}.problems-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.problems-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.problems-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.problems-form__form{display:flex;flex-direction:column;gap:20px}.problems-form__field{display:flex;flex-direction:column;gap:6px}.problems-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.problems-form__required{color:var(--color-error, #dc2626);margin-left:2px}.problems-form__input,.problems-form__select,.problems-form__textarea{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.problems-form__input:focus,.problems-form__select:focus,.problems-form__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.problems-form__input--error,.problems-form__select--error,.problems-form__textarea--error{border-color:var(--color-error, #dc2626)}.problems-form__input--error:focus,.problems-form__select--error:focus,.problems-form__textarea--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.problems-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.problems-form__textarea{resize:vertical;min-height:80px}.problems-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.problems-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.problems-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.problems-form__button:disabled{opacity:.5;cursor:not-allowed}.problems-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.problems-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.problems-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.problems-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.problem-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.problem-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.problem-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.problem-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.problem-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.problem-modal-close:hover{color:var(--color-text, #111827)}.problem-modal-close svg{width:24px;height:24px}.problem-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.problem-modal-body .problems-form__header{display:none}.vitals-compact__loading,.vitals-compact__error,.vitals-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.vitals-compact__list{display:flex;flex-direction:column;gap:8px}.vitals-compact__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.vitals-compact__type{font-weight:600;color:var(--color-text, #111827);flex:1}.vitals-compact__value{display:flex;align-items:baseline;gap:4px}.vitals-compact__value-number{font-weight:600;color:var(--color-text, #111827);font-size:15px}.vitals-compact__unit{color:var(--color-text-secondary, #6b7280);font-size:13px}.vitals-list{display:flex;flex-direction:column;gap:16px}.vitals-list__header{display:flex;justify-content:space-between;align-items:center}.vitals-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.vitals-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.vitals-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.vitals-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.vitals-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.vitals-list__table{flex:1;min-height:0;overflow-y:auto}.vitals-table{width:100%}.vitals-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.vitals-table__table{width:100%;border-collapse:collapse}.vitals-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.vitals-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.vitals-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.vitals-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.vitals-table__row{cursor:pointer}.vitals-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.vitals-table__cell--type{font-weight:600}.vitals-table__cell--value{display:flex;align-items:baseline;gap:4px}.vitals-table__cell--actions{text-align:right}.vitals-table__value{font-weight:600;color:var(--color-text, #111827)}.vitals-table__unit{color:var(--color-text-secondary, #6b7280);font-size:13px;margin-left:4px}.vitals-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.vitals-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.vitals-table__edit-button svg{width:16px;height:16px}.vitals-form{display:flex;flex-direction:column;gap:20px}.vitals-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.vitals-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.vitals-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.vitals-form__form{display:flex;flex-direction:column;gap:20px}.vitals-form__field{display:flex;flex-direction:column;gap:6px}.vitals-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.vitals-form__required{color:var(--color-error, #dc2626);margin-left:2px}.vitals-form__input,.vitals-form__select,.vitals-form__textarea{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.vitals-form__input:focus,.vitals-form__select:focus,.vitals-form__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.vitals-form__input--error,.vitals-form__select--error,.vitals-form__textarea--error{border-color:var(--color-error, #dc2626)}.vitals-form__input--error:focus,.vitals-form__select--error:focus,.vitals-form__textarea--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.vitals-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.vitals-form__textarea{resize:vertical;min-height:80px}.vitals-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.vitals-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.vitals-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.vitals-form__button:disabled{opacity:.5;cursor:not-allowed}.vitals-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.vitals-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.vitals-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.vitals-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.vital-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.vital-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.vital-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.vital-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.vital-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.vital-modal-close:hover{color:var(--color-text, #111827)}.vital-modal-close svg{width:24px;height:24px}.vital-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.vital-modal-body .vitals-form__header{display:none}.labs-compact__loading,.labs-compact__error,.labs-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.labs-compact__list{display:flex;flex-direction:column;gap:8px}.labs-compact__item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.labs-compact__test-info{display:flex;flex-direction:column;gap:2px;flex:1}.labs-compact__test-name{font-weight:600;color:var(--color-text, #111827);font-size:14px}.labs-compact__panel-name{color:var(--color-text-secondary, #6b7280);font-size:12px}.labs-compact__value{display:flex;align-items:baseline;gap:4px}.labs-compact__value-number{font-weight:600;color:var(--color-text, #111827);font-size:14px}.labs-compact__unit{color:var(--color-text-secondary, #6b7280);font-size:13px}.labs-compact__status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.labs-compact__status--normal{background:#d1fae5;color:#065f46}.labs-compact__status--abnormal{background:#fee2e2;color:#991b1b}.labs-compact__more{padding:8px 12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;font-style:italic}.labs-list{display:flex;flex-direction:column;gap:16px}.labs-list__header{display:flex;justify-content:space-between;align-items:center}.labs-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.labs-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.labs-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.labs-list__search{flex-shrink:0}.labs-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.labs-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.labs-list__table{flex:1;min-height:0;overflow-y:auto}.labs-search__wrapper{position:relative;display:flex;align-items:center}.labs-search__icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.labs-search__input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.labs-search__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.labs-search__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.labs-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.labs-search__clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.labs-search__clear svg{width:16px;height:16px}.labs-table{width:100%}.labs-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.labs-table__table{width:100%;border-collapse:collapse}.labs-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.labs-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.labs-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.labs-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.labs-table__row{cursor:pointer}.labs-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.labs-table__cell--test-name{font-weight:600}.labs-table__cell--value{display:flex;align-items:baseline;gap:4px}.labs-table__cell--actions{text-align:right}.labs-table__test-name{font-weight:600;color:var(--color-text, #111827)}.labs-table__panel-name{font-size:12px;color:var(--color-text-secondary, #6b7280);margin-top:2px}.labs-table__value{font-weight:600;color:var(--color-text, #111827)}.labs-table__unit{color:var(--color-text-secondary, #6b7280);font-size:13px;margin-left:4px}.labs-table__badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.labs-table__badge--normal{background:#d1fae5;color:#065f46}.labs-table__badge--abnormal{background:#fee2e2;color:#991b1b}.labs-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.labs-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.labs-table__edit-button svg{width:16px;height:16px}.labs-form{display:flex;flex-direction:column;gap:20px}.labs-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.labs-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.labs-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.labs-form__form{display:flex;flex-direction:column;gap:20px}.labs-form__field{display:flex;flex-direction:column;gap:6px}.labs-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.labs-form__required{color:var(--color-error, #dc2626);margin-left:2px}.labs-form__input,.labs-form__select,.labs-form__textarea{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.labs-form__input:focus,.labs-form__select:focus,.labs-form__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.labs-form__input--error,.labs-form__select--error,.labs-form__textarea--error{border-color:var(--color-error, #dc2626)}.labs-form__input--error:focus,.labs-form__select--error:focus,.labs-form__textarea--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.labs-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.labs-form__textarea{resize:vertical;min-height:80px}.labs-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.labs-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.labs-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.labs-form__button:disabled{opacity:.5;cursor:not-allowed}.labs-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.labs-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.labs-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.labs-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.lab-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.lab-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.lab-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.lab-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.lab-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.lab-modal-close:hover{color:var(--color-text, #111827)}.lab-modal-close svg{width:24px;height:24px}.lab-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.lab-modal-body .labs-form__header{display:none}.patient-overview{width:100%;height:100%;display:flex;flex-direction:column;gap:24px;padding:0;box-sizing:border-box}.patient-overview__section{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:20px}.patient-overview__section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-text, #111827);padding-bottom:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.patient-overview__section-content{min-height:60px}.patient-overview__empty{margin:0;color:var(--color-text-secondary, #6b7280);font-size:14px;font-style:italic}.patient-profile{width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;background:var(--color-bg, #ffffff);overflow:hidden}.patient-profile__content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0;box-sizing:border-box;display:flex;flex-direction:column;gap:24px;-webkit-overflow-scrolling:touch}.patient-profile__section{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;margin-bottom:24px;overflow:hidden}.patient-profile__section:last-child{margin-bottom:0}.patient-profile__section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f8f9fb)}.patient-profile__section-title{margin:0;font-size:16px;font-weight:600;color:var(--color-text, #111827)}.patient-profile__edit-button{padding:6px 16px;font-size:13px;font-weight:500;font-family:inherit;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-profile__edit-button:hover{background:var(--color-primary, #2563eb);color:#fff}.patient-profile__section-content{padding:20px}.patient-profile__view-mode{min-height:60px}.patient-profile__empty{margin:0;color:var(--color-text-secondary, #6b7280);font-size:14px;font-style:italic}.patient-profile__placeholder{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280)}.patient-profile__placeholder h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--color-text, #111827)}.patient-profile__placeholder p{margin:0 0 16px;font-size:14px;font-style:italic}.patient-profile__cancel-button{padding:8px 16px;font-size:13px;font-weight:500;font-family:inherit;color:var(--color-text-secondary, #6b7280);background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.patient-profile__cancel-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.procedures-compact__loading,.procedures-compact__error,.procedures-compact__empty{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.procedures-compact__list{display:flex;flex-direction:column;gap:8px}.procedures-compact__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:4px}.procedures-compact__info{display:flex;flex-direction:column;gap:2px;flex:1}.procedures-compact__name{font-weight:600;color:var(--color-text, #111827);font-size:14px}.procedures-compact__code{color:var(--color-text-secondary, #6b7280);font-size:12px;font-family:monospace}.procedures-compact__status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.procedures-compact__status--planned{background:#fef3c7;color:#92400e}.procedures-compact__status--completed{background:#d1fae5;color:#065f46}.procedures-compact__status--cancelled{background:#f3f4f6;color:#6b7280}.procedures-compact__more{padding:8px 12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;font-style:italic}.procedures-list{display:flex;flex-direction:column;gap:16px}.procedures-list__header{display:flex;justify-content:space-between;align-items:center}.procedures-list__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.procedures-list__add-button{padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.procedures-list__add-button:hover{background:var(--color-primary, #2563eb);color:#fff}.procedures-list__search{flex-shrink:0}.procedures-list__error{padding:12px 16px;background:#fee2e2;color:#991b1b;border:1px solid #ef4444;border-radius:6px;font-size:14px}.procedures-list__loading{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.procedures-list__table{flex:1;min-height:0;overflow-y:auto}.procedures-search__wrapper{position:relative;display:flex;align-items:center}.procedures-search__icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.procedures-search__input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.procedures-search__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.procedures-search__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.procedures-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.procedures-search__clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.procedures-search__clear svg{width:16px;height:16px}.procedures-table{width:100%}.procedures-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.procedures-table__table{width:100%;border-collapse:collapse}.procedures-table thead{background:var(--color-bg-secondary, #f8f9fb);position:sticky;top:0;z-index:10}.procedures-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #e5e7eb)}.procedures-table tbody tr{border-bottom:1px solid var(--color-border-light, #f3f4f6);transition:background-color .2s ease}.procedures-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fb)}.procedures-table__row{cursor:pointer}.procedures-table__cell{padding:12px 16px;font-size:14px;color:var(--color-text, #111827)}.procedures-table__cell--name{font-weight:600}.procedures-table__cell--code{font-family:monospace;color:var(--color-text-secondary, #6b7280)}.procedures-table__cell--actions{text-align:right}.procedures-table__badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.procedures-table__badge--planned{background:#fef3c7;color:#92400e}.procedures-table__badge--completed{background:#d1fae5;color:#065f46}.procedures-table__badge--cancelled{background:#f3f4f6;color:#6b7280}.procedures-table__edit-button{padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.procedures-table__edit-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.procedures-table__edit-button svg{width:16px;height:16px}.procedures-form{display:flex;flex-direction:column;gap:20px}.procedures-form__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.procedures-form__toast{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.procedures-form__toast--error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.procedures-form__form{display:flex;flex-direction:column;gap:20px}.procedures-form__field{display:flex;flex-direction:column;gap:6px}.procedures-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.procedures-form__required{color:var(--color-error, #dc2626);margin-left:2px}.procedures-form__input,.procedures-form__select,.procedures-form__textarea{padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.procedures-form__input:focus,.procedures-form__select:focus,.procedures-form__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.procedures-form__input--error,.procedures-form__select--error,.procedures-form__textarea--error{border-color:var(--color-error, #dc2626)}.procedures-form__input--error:focus,.procedures-form__select--error:focus,.procedures-form__textarea--error:focus{border-color:var(--color-error, #dc2626);box-shadow:0 0 0 3px #dc26261a}.procedures-form__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.procedures-form__textarea{resize:vertical;min-height:80px}.procedures-form__error{font-size:12px;color:var(--color-error, #dc2626);margin-top:2px}.procedures-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.procedures-form__button{padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.procedures-form__button:disabled{opacity:.5;cursor:not-allowed}.procedures-form__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.procedures-form__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.procedures-form__button--submit{color:#fff;background:var(--color-primary, #2563eb)}.procedures-form__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.procedure-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.procedure-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.procedure-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.procedure-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.procedure-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.procedure-modal-close:hover{color:var(--color-text, #111827)}.procedure-modal-close svg{width:24px;height:24px}.procedure-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.procedure-modal-body .procedures-form__header{display:none}.patient-details{width:100%;height:calc(100vh - 100px);display:flex;flex-direction:column;box-sizing:border-box;background:var(--color-bg, #ffffff);overflow:hidden}.patient-details__header{flex-shrink:0;padding:16px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);height:auto;min-height:56px}.patient-details__header-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.patient-details__header-content span:not(.patient-details__patient-name):not(.patient-details__status):not(.patient-details__separator){font-size:13px;color:var(--color-text-secondary, #6b7280);white-space:nowrap}.patient-details__patient-name{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827);display:inline-block}.patient-details__nickname{font-weight:400;color:var(--color-text-secondary, #6b7280)}.patient-details__status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.patient-details__status--active{background:#d1fae5;color:#065f46}.patient-details__status--inactive{background:#f3f4f6;color:#6b7280}.patient-details__status--deceased{background:#fee2e2;color:#991b1b}.patient-details__separator{color:var(--color-text-secondary, #9ca3af);font-size:14px}.patient-details__error{margin:0;color:var(--color-error, #dc2626);font-size:14px}.patient-details__tabs-container{flex-shrink:0;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);padding:0 24px;height:44px}.patient-details__tab-switcher{width:100%;display:flex;gap:0}.patient-details__tab-switcher .tab-switcher-tab{padding:0 16px;height:44px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent;border-bottom:2px solid transparent;transition:all .2s ease}.patient-details__tab-switcher .tab-switcher-tab:hover:not(.patient-details__tab-switcher .tab-switcher-tab.tab-switcher-tab-active):not(.patient-details__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled){background:var(--color-bg-secondary, rgba(0, 0, 0, .04));color:var(--color-text, #111827)}.patient-details__tab-switcher .tab-switcher-tab.tab-switcher-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.patient-details__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled{opacity:.5;cursor:not-allowed}.patient-details__tab-switcher .tab-switcher-tab .tab-switcher-tab-label{flex:1}.patient-details__tab-switcher .tab-switcher-tab .tab-switcher-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;border-radius:10px;background:var(--color-primary, #2563eb);color:#fff;line-height:1}.patient-details__content{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.patient-details__tab-panel{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;box-sizing:border-box;-webkit-overflow-scrolling:touch}.patients{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.patients__tabs{display:flex;align-items:center;height:35px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:0}.patients__tab{padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent}.patients__tab:hover:not(.patients__tab--active){background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.patients__tab--active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom:2px solid var(--color-primary, #2563eb);color:var(--color-text, #111827)}.patients__tab-close{font-size:12px;opacity:.6;cursor:pointer;padding:2px;border-radius:4px;border:none;background:transparent;margin-left:6px}.patients__tab-close:hover{opacity:1;background:#00000014}.patients__content{padding:16px;background:var(--color-bg, #ffffff);overflow:hidden}.patients__content{flex:1;min-height:0;display:flex;flex-direction:column}.patients__tabs .session-tabbar{display:flex;height:100%}.patients__tabs .session-tabbar .session-tabbar-tab{padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent}.patients__tabs .session-tabbar .session-tabbar-tab:hover:not(.patients__tabs .session-tabbar .session-tabbar-tab.session-tabbar-tab-active){background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.patients__tabs .session-tabbar .session-tabbar-tab.session-tabbar-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom:2px solid var(--color-primary, #2563eb);color:var(--color-text, #111827)}.patients__tabs .session-tabbar .session-tabbar-tab-close{font-size:12px;opacity:.6;cursor:pointer;padding:2px;border-radius:4px;border:none;background:transparent;margin-left:6px;color:var(--color-text, #374151)}.patients__tabs .session-tabbar .session-tabbar-tab-close:hover{opacity:1;background:var(--color-bg-secondary, rgba(0, 0, 0, .08));color:var(--color-text, #111827)}.patients__tabs .session-tabbar .session-tabbar-tab-dirty-indicator{color:var(--color-warning, #f59e0b);font-size:10px;margin-left:4px}.patients__content-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}@media (min-width: 640px){.patients__content-header{flex-direction:row;justify-content:space-between;align-items:center}}.patients__content-header h3{margin:0;color:var(--color-text, #111827);font-size:1.5rem;font-weight:600}@media (min-width: 768px){.patients__content-header h3{font-size:1.875rem}}.patients__content-table-wrapper{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:auto;position:relative;display:block;width:100%}.patients__content-table-wrapper :global tbody tr{transition:background-color .2s ease}.patients__content-table-wrapper :global tbody tr:hover{background-color:var(--color-bg-secondary, #f8f9fb)}.patients__content .patients__add-button{width:100%;padding:8px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer}@media (min-width: 640px){.patients__content .patients__add-button{width:auto}}.patients__content .patients__add-button:hover{background:var(--color-primary-hover, #1d4ed8)}.patients__content .patients__add-button:active{background:var(--color-primary-hover, #1e40af)}.patients__search-bar{margin-bottom:1.5rem;padding:1rem;background:var(--theme-bg-secondary, #f9fafb);border-radius:8px;border:1px solid var(--theme-border, #e5e7eb)}.patients__search-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:nowrap}.patients__search-line-break{display:none}@media (max-width: 640px){.patients__search-controls{flex-wrap:wrap;gap:.5rem}.patients__search-controls .patients__search-dropdown-all{flex:0 1 auto;min-width:100px;max-width:120px}.patients__search-controls .patients__search-input{flex:1 1 auto;min-width:0}.patients__search-controls .patients__search-line-break{display:block;flex-basis:100%;width:0;height:0;order:2}.patients__search-controls .patients__search-date{flex:1 1 auto;min-width:0;order:3}.patients__search-controls .patients__search-button{flex:0 0 auto;width:40px;height:40px;min-width:40px;order:4}.patients__search-controls .patients__add-button{flex:0 1 auto;min-width:80px;order:5}}.patients__search-dropdown{padding:.5rem .75rem;border:1px solid var(--theme-border, #d1d5db);border-radius:6px;background:var(--theme-bg, #ffffff);font-size:.875rem;color:var(--theme-text, #374151);cursor:pointer;min-width:120px;height:2.5rem;box-sizing:border-box}.patients__search-dropdown:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.patients__search-date{padding:.5rem .75rem;border:1px solid var(--theme-border, #d1d5db);border-radius:6px;background:var(--theme-bg, #ffffff);font-size:.875rem;color:var(--theme-text, #374151);min-width:150px;flex-shrink:0;height:2.5rem;box-sizing:border-box}.patients__search-date:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.patients__search-date::-webkit-calendar-picker-indicator{cursor:pointer}.patients__search-input{flex:1;padding:.5rem .75rem;border:1px solid var(--theme-border, #d1d5db);border-radius:6px;font-size:.875rem;background:var(--theme-bg, #ffffff);color:var(--theme-text, #374151);height:2.5rem;box-sizing:border-box}.patients__search-input::placeholder{color:var(--theme-text-secondary, #9ca3af)}.patients__search-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.patients__search-button{padding:0;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;width:2.5rem;height:2.5rem;box-sizing:border-box}.patients__search-button svg{width:20px;height:20px}.patients__search-button:hover{background:#2563eb}.patients__search-button:active{transform:translateY(1px)}.patients__add-button{padding:.5rem 1rem;background:#2563eb;color:#fff;border:1px solid #3b82f6;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;height:2.5rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:0}.patients__add-button svg{width:16px;height:16px;margin-right:8px;flex-shrink:0}.patients__add-button:hover{background:#1d4ed8;border-color:#2563eb}.patients__add-button:active{transform:translateY(1px);background:#1e40af}.patients__record-count{margin-top:1rem;padding:.75rem;color:var(--theme-text-secondary, #6b7280);font-size:.875rem;text-align:center}.table-wrapper{overflow-x:auto;border:1px solid var(--theme-border, #e5e7eb);border-radius:8px;background:var(--theme-bg, #ffffff)}.table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--theme-bg, #ffffff)}.table thead{background:var(--theme-bg-secondary, #ecfdf5);border-bottom:2px solid var(--theme-border, #a7f3d0)}.table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--theme-text, #059669);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.table tbody{background:var(--theme-bg, #ffffff)}.table tbody tr{border-bottom:1px solid var(--theme-border, #e5e7eb);cursor:pointer;transition:background-color .15s;background:var(--theme-bg, #ffffff)}.table tbody tr:hover{background:var(--theme-bg-secondary, #f9fafb)}.table tbody tr:last-child{border-bottom:none}.table tbody tr td{padding:.75rem 1rem;color:var(--theme-text, #1f2937);background:transparent}.appointment-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.appointment-modal-content{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:800px;width:calc(100% - 40px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;color:var(--color-text, #111827);position:relative;z-index:10000}.appointment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);flex-shrink:0}.appointment-modal-title{color:var(--color-text, #111827);font-size:20px;font-weight:600;margin:0}.appointment-modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.appointment-modal-close:hover{color:var(--color-text, #111827)}.appointment-modal-close svg{width:24px;height:24px}.appointment-modal-body{background:var(--color-bg, #ffffff);padding:24px;color:var(--color-text, #111827);overflow-y:auto;flex:1;min-height:0}.appointment-form{display:flex;flex-direction:column;gap:20px}.appointment-form__layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 767px){.appointment-form__layout{grid-template-columns:1fr;gap:20px}}.appointment-form__column{display:flex;flex-direction:column;gap:20px}.appointment-form__field{display:flex;flex-direction:column;gap:6px}.appointment-form__label{font-size:13px;font-weight:600;color:var(--color-text, #111827)}.appointment-form__required{color:var(--color-error, #dc2626)}.appointment-form__input,.appointment-form__select{padding:10px 12px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease;width:100%;font-family:inherit}.appointment-form__input:focus,.appointment-form__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.appointment-form__input::placeholder,.appointment-form__select::placeholder{color:var(--color-text-secondary, #9ca3af)}.appointment-form__input:disabled,.appointment-form__select:disabled{background:var(--color-bg-secondary, #f8f9fb);cursor:not-allowed}.appointment-form__input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.appointment-form__input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.appointment-form__select{cursor:pointer}.appointment-form__actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb);margin-top:24px}@media (max-width: 767px){.appointment-form__actions{flex-direction:column-reverse}}.appointment-form__button{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:40px}@media (max-width: 767px){.appointment-form__button{width:100%}}.appointment-form__button--cancel{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151);border:1px solid var(--color-border, #e5e7eb)}.appointment-form__button--cancel:hover{background:var(--color-bg-secondary, #e5e7eb)}.appointment-form__button--cancel:active{background:var(--color-bg-secondary, #d1d5db)}.appointment-form__button--submit{background:var(--color-primary, #2563eb);color:#fff}.appointment-form__button--submit:hover{background:var(--color-primary-hover, #1d4ed8)}.appointment-form__button--submit:active{background:#1e40af}.calendar-toolbar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;flex-wrap:wrap}@media (max-width: 767px){.calendar-toolbar{gap:12px;padding:10px 12px}}.calendar-toolbar__date-controls{display:flex;align-items:center;gap:8px;flex:1;min-width:0}@media (max-width: 767px){.calendar-toolbar__date-controls{flex:0 0 100%;order:1}}.calendar-toolbar__date-display{font-size:15px;font-weight:600;color:var(--color-text, #111827);margin-left:8px}@media (max-width: 767px){.calendar-toolbar__date-display{font-size:14px;margin-left:4px}}.calendar-toolbar__view-controls{display:flex;align-items:center;gap:4px;background:var(--color-bg, #ffffff);padding:4px;border-radius:6px;border:1px solid var(--color-border, #e5e7eb)}@media (max-width: 767px){.calendar-toolbar__view-controls{flex:0 0 100%;order:2}}.calendar-toolbar__filter-controls{display:flex;align-items:center;gap:8px}@media (max-width: 767px){.calendar-toolbar__filter-controls{flex:0 0 100%;order:3}}.calendar-toolbar__actions{display:flex;align-items:center;gap:8px}@media (max-width: 767px){.calendar-toolbar__actions{flex:0 0 100%;order:4}}.calendar-toolbar__filter-label{font-size:13px;font-weight:500;color:var(--color-text, #374151);white-space:nowrap}.calendar-toolbar__filter-select{padding:6px 12px;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);cursor:pointer;transition:all .2s ease}.calendar-toolbar__filter-select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.calendar-toolbar__button{padding:6px 12px;font-size:13px;font-weight:500;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #374151);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:32px}.calendar-toolbar__button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.calendar-toolbar__button--nav{padding:6px 8px;min-width:32px}.calendar-toolbar__button--today{font-weight:600}.calendar-toolbar__button--view{padding:6px 12px;border:none;background:transparent}.calendar-toolbar__button--view:hover{background:var(--color-bg-secondary, #f8f9fb)}.calendar-toolbar__button--active{background:var(--color-primary, #2563eb)!important;color:#fff!important}.calendar-toolbar__button--active:hover{background:var(--color-primary-hover, #1d4ed8)!important}.calendar-toolbar__button--primary{background:var(--color-primary, #2563eb);color:#fff;display:flex;align-items:center;gap:6px;padding:8px 16px;font-weight:500}.calendar-toolbar__button--primary:hover{background:var(--color-primary-hover, #1d4ed8)}.calendar-toolbar__button--primary:active{background:#1e40af}.calendar-viewport{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.calendar-grid{display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar-grid__header{display:flex;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.calendar-grid__time-column{flex:0 0 80px;padding:12px;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--color-border, #e5e7eb)}.calendar-grid__provider-column{flex:1;padding:12px;font-size:13px;font-weight:600;color:var(--color-text, #111827);text-align:center;border-right:1px solid var(--color-border, #e5e7eb)}.calendar-grid__provider-column:last-child{border-right:none}.calendar-grid__day-column{flex:1;padding:12px;font-size:13px;font-weight:600;color:var(--color-text, #111827);text-align:center;border-right:1px solid var(--color-border, #e5e7eb);display:flex;flex-direction:column;gap:4px}.calendar-grid__day-column:last-child{border-right:none}.calendar-grid__day-name{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.calendar-grid__day-number{font-size:18px;font-weight:600;color:var(--color-text, #111827)}.calendar-grid__body{flex:1;min-height:0;overflow-y:auto}.calendar-grid__row{display:flex;min-height:60px;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.calendar-grid__row:hover{background:var(--color-bg-secondary, rgba(0, 0, 0, .02))}.calendar-grid__time-cell{flex:0 0 80px;padding:8px 12px;font-size:12px;color:var(--color-text-secondary, #6b7280);border-right:1px solid var(--color-border, #e5e7eb);display:flex;align-items:flex-start;justify-content:flex-end}.calendar-grid__cell{flex:1;padding:4px;position:relative;border-right:1px solid var(--color-border-light, #f3f4f6);min-height:60px}.calendar-grid__cell:last-child{border-right:none}.appointment-card{padding:8px 10px;margin:2px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:12px;line-height:1.4}.appointment-card:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb);box-shadow:0 2px 4px #0000001a}.appointment-card--selected{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary-hover, #1d4ed8);box-shadow:0 2px 8px #2563eb4d}.appointment-card--selected .appointment-card__patient,.appointment-card--selected .appointment-card__type,.appointment-card--selected .appointment-card__time{color:#fff}.appointment-card__time{font-size:11px;font-weight:600;color:var(--color-text-secondary, #6b7280);margin-bottom:4px}.appointment-card__patient{font-size:13px;font-weight:600;color:var(--color-text, #111827);margin-bottom:2px}.appointment-card__type{font-size:11px;color:var(--color-text-secondary, #6b7280);margin-bottom:4px}.appointment-card__status{font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.appointment-card__status--scheduled{background:#dbeafe;color:#1e40af}.appointment-card__status--confirmed{background:#d1fae5;color:#065f46}.appointment-card__status--checked-in{background:#fef3c7;color:#92400e}.appointment-card__status--completed{background:#d1fae5;color:#065f46}.appointment-card__status--cancelled{background:#fee2e2;color:#991b1b}.appointment-card__status--no-show{background:#f3f4f6;color:#6b7280}.appointment-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.appointment-list__empty{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.appointment-list__header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;position:sticky;top:0;z-index:5}.appointment-list__header-cell{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.appointment-list__header-cell--time{flex:0 0 140px}.appointment-list__header-cell--patient{flex:1;min-width:0}.appointment-list__header-cell--provider{flex:0 0 180px}.appointment-list__header-cell--type{flex:0 0 120px}.appointment-list__header-cell--status{flex:0 0 100px;text-align:right}.appointment-list__body{flex:1;min-height:0;overflow-y:auto}.appointment-list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background-color .2s ease;background:var(--color-bg, #ffffff)}.appointment-list-row:hover{background:var(--color-bg-secondary, #f8f9fb)}.appointment-list-row--selected{background:var(--color-bg-secondary, #f8f9fb);border-left:3px solid var(--color-primary, #2563eb)}.appointment-list-row__time{flex:0 0 140px;font-size:13px;font-weight:500;color:var(--color-text, #111827)}.appointment-list-row__patient{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--color-text, #111827)}.appointment-list-row__provider{flex:0 0 180px;font-size:13px;color:var(--color-text, #374151)}.appointment-list-row__type{flex:0 0 120px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.appointment-list-row__status{flex:0 0 100px;font-size:11px;font-weight:500;padding:4px 8px;border-radius:4px;text-align:right;text-transform:uppercase;letter-spacing:.5px}.appointment-list-row__status--scheduled{background:#dbeafe;color:#1e40af}.appointment-list-row__status--confirmed{background:#d1fae5;color:#065f46}.appointment-list-row__status--checked-in{background:#fef3c7;color:#92400e}.appointment-list-row__status--completed{background:#d1fae5;color:#065f46}.appointment-list-row__status--cancelled{background:#fee2e2;color:#991b1b}.appointment-list-row__status--no-show{background:#f3f4f6;color:#6b7280}.appointment-detail{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-bg, #ffffff)}.appointment-detail--empty{align-items:center;justify-content:center;color:var(--color-text-secondary, #6b7280);font-size:14px;padding:2rem}.appointment-detail__summary-header{padding:16px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff)}.appointment-detail__summary-header-content{display:flex;flex-direction:column;gap:8px}.appointment-detail__summary-header-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-detail__summary-title{margin:0;font-size:16px;font-weight:600;color:var(--color-text, #111827)}.appointment-detail__summary-header-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.appointment-detail__summary-header-meta span:nth-child(2){color:var(--color-text-secondary, #9ca3af)}.appointment-detail__tabs-container{flex-shrink:0;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff);padding:0 24px}.appointment-detail__tab-switcher{width:100%;display:flex;gap:0}.appointment-detail__tab-switcher .tab-switcher-tab{padding:0 16px;height:44px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent;border-bottom:2px solid transparent;transition:all .2s ease}.appointment-detail__tab-switcher .tab-switcher-tab:hover:not(.appointment-detail__tab-switcher .tab-switcher-tab.tab-switcher-tab-active):not(.appointment-detail__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled){background:var(--color-bg-secondary, rgba(0, 0, 0, .04));color:var(--color-text, #111827)}.appointment-detail__tab-switcher .tab-switcher-tab.tab-switcher-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.appointment-detail__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled{opacity:.5;cursor:not-allowed}.appointment-detail__tab-switcher .tab-switcher-tab .tab-switcher-tab-label{flex:1}.appointment-detail__tab-switcher .tab-switcher-tab .tab-switcher-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;border-radius:10px;background:var(--color-primary, #2563eb);color:#fff;line-height:1}.appointment-detail__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff)}.appointment-detail__header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.appointment-detail__status{font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.appointment-detail__status--scheduled{background:#dbeafe;color:#1e40af}.appointment-detail__status--confirmed{background:#d1fae5;color:#065f46}.appointment-detail__status--checked-in{background:#fef3c7;color:#92400e}.appointment-detail__status--completed{background:#d1fae5;color:#065f46}.appointment-detail__status--cancelled{background:#fee2e2;color:#991b1b}.appointment-detail__status--no-show{background:#f3f4f6;color:#6b7280}.appointment-detail__content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.appointment-detail__tab-content{flex:1;min-height:0;overflow-y:auto;padding:24px}.appointment-detail__empty-state{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.appointment-detail__overview-tab,.appointment-detail__messages-tab{display:flex;flex-direction:column;gap:0}.appointment-detail__messages-header{padding:12px 0;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.appointment-detail__messages-link{padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f8f9fb);flex-shrink:0}.appointment-detail__link-button{padding:8px 16px;font-size:13px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.appointment-detail__link-button:hover{background:var(--color-primary, #2563eb);color:#fff}.appointment-detail__tasks-tab{display:flex;flex-direction:column;gap:0}.appointment-detail__tasks-header{padding:12px 0;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.appointment-detail__add-button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .2s ease}.appointment-detail__add-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb)}.appointment-detail__add-button:active{background:var(--color-bg-secondary, #e5e7eb)}.appointment-detail__add-button svg{width:16px;height:16px}.appointment-detail__section{margin-bottom:24px}.appointment-detail__section:last-child{margin-bottom:0}.appointment-detail__section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.appointment-detail__field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.appointment-detail__field label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.appointment-detail__field span{font-size:14px;color:var(--color-text, #111827)}.appointment-detail__timeline{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;border:1px solid var(--color-border, #e5e7eb)}.appointment-detail__timeline-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.appointment-detail__timeline-item:last-child{border-bottom:none}.appointment-detail__timeline-label{font-size:13px;font-weight:500;color:var(--color-text, #111827)}.appointment-detail__timeline-time{font-size:12px;color:var(--color-text-secondary, #6b7280)}.appointment-detail__summary{flex-shrink:0}.appointment-detail__summary-content{padding:24px}.appointment-detail__actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff);flex-wrap:wrap}@media (max-width: 767px){.appointment-detail__actions{flex-direction:column}}.appointment-detail__timeline-section{flex-shrink:0;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff)}.appointment-detail__timeline-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 24px;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease}.appointment-detail__timeline-toggle:hover{background:var(--color-bg-secondary, #f8f9fb)}.appointment-detail__timeline-toggle h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.appointment-detail__timeline-toggle svg{color:var(--color-text-secondary, #6b7280);transition:transform .2s ease}.appointment-detail__timeline-toggle-icon--expanded{transform:rotate(180deg)}.appointment-detail__action-button{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:40px}@media (max-width: 767px){.appointment-detail__action-button{width:100%}}.appointment-detail__action-button--primary{background:var(--color-primary, #2563eb);color:#fff}.appointment-detail__action-button--primary:hover{background:var(--color-primary-hover, #1d4ed8)}.appointment-detail__action-button--primary:active{background:#1e40af}.appointment-detail__action-button--secondary{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151);border:1px solid var(--color-border, #e5e7eb)}.appointment-detail__action-button--secondary:hover{background:var(--color-bg-secondary, #e5e7eb)}.appointment-detail__action-button--secondary:active{background:var(--color-bg-secondary, #d1d5db)}.appointment-detail__action-button--danger{background:var(--color-error, #dc2626);color:#fff}.appointment-detail__action-button--danger:hover{background:#b91c1c}.appointment-detail__action-button--danger:active{background:#991b1b}.timeline{display:flex;flex-direction:column;gap:16px;padding:0}.timeline__item{display:flex;gap:12px;padding:12px;border-radius:6px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border-light, #f3f4f6);transition:all .2s ease}.timeline__item:hover{background:var(--color-bg-secondary, #e5e7eb);border-color:var(--color-border, #d1d5db)}.timeline__item--requires-action{background:#fef3c7;border-color:#fbbf24}.timeline__item--requires-action:hover{background:#fde68a}.timeline__icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg, #ffffff);color:var(--color-primary, #2563eb);border:1px solid var(--color-border, #e5e7eb)}.timeline__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.timeline__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.timeline__title{font-size:14px;font-weight:600;color:var(--color-text, #111827)}.timeline__body{font-size:13px;color:var(--color-text, #374151);line-height:1.5}.timeline__meta{display:flex;align-items:center;gap:8px;margin-top:4px}.timeline__timestamp{font-size:12px;color:var(--color-text-secondary, #6b7280)}.timeline__status{font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.timeline__status--sent{background:#dbeafe;color:#1e40af}.timeline__status--processed{background:#d1fae5;color:#065f46}.timeline__status--scheduled{background:#e0e7ff;color:#4338ca}.timeline__status--requires-action{background:#fee2e2;color:#991b1b}.task-list{display:flex;flex-direction:column;gap:12px;padding:0}.task-list__empty{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.task-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;transition:all .2s ease}.task-list__item:hover{background:var(--color-bg-secondary, #e5e7eb);border-color:var(--color-border, #d1d5db)}.task-list__item--completed{opacity:.7;background:var(--color-bg, #ffffff)}.task-list__item--completed .task-list__item-title{text-decoration:line-through;color:var(--color-text-secondary, #6b7280)}.task-list__item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.task-list__item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-list__item-title{font-size:14px;font-weight:600;color:var(--color-text, #111827)}.task-list__item-status{font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.task-list__item-status--open{background:#dbeafe;color:#1e40af}.task-list__item-status--completed{background:#d1fae5;color:#065f46}.task-list__item-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.task-list__item-assigned,.task-list__item-due{white-space:nowrap}.task-list__item-action{padding:6px 12px;font-size:12px;font-weight:500;color:var(--color-primary, #2563eb);background:transparent;border:1px solid var(--color-primary, #2563eb);border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.task-list__item-action:hover{background:var(--color-primary, #2563eb);color:#fff}.inline-composer{margin:16px 0;padding:16px;background:var(--color-bg-secondary, #f8f9fb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.inline-composer__header{margin-bottom:16px}.inline-composer__header h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.inline-composer__form{display:flex;flex-direction:column;gap:16px}.inline-composer__field{display:flex;flex-direction:column;gap:6px}.inline-composer__field label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.inline-composer__required{color:var(--color-error, #dc2626)}.inline-composer__input,.inline-composer__select,.inline-composer__textarea{padding:8px 12px;font-size:14px;font-family:inherit;color:var(--color-text, #111827);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;transition:all .2s ease}.inline-composer__input:focus,.inline-composer__select:focus,.inline-composer__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.inline-composer__input:disabled,.inline-composer__select:disabled,.inline-composer__textarea:disabled{opacity:.5;cursor:not-allowed}.inline-composer__textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.inline-composer__date-time{display:flex;gap:8px}.inline-composer__date-time input{flex:1}.inline-composer__char-count{font-size:11px;color:var(--color-text-secondary, #6b7280);text-align:right;margin-top:4px}.inline-composer__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.inline-composer__button{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:inherit}.inline-composer__button:disabled{opacity:.5;cursor:not-allowed}.inline-composer__button--cancel{background:transparent;color:var(--color-text-secondary, #6b7280);border:1px solid var(--color-border, #e5e7eb)}.inline-composer__button--cancel:hover:not(:disabled){background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.inline-composer__button--submit{background:var(--color-primary, #2563eb);color:#fff}.inline-composer__button--submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.inline-composer__button--submit:active:not(:disabled){background:#1e40af}.calendar{display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar__layout{display:flex;flex:1;min-height:0;overflow:hidden}@media (max-width: 767px){.calendar__layout{flex-direction:column}}.calendar__viewport-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff)}@media (max-width: 767px){.calendar__viewport-panel{border-right:none;border-bottom:1px solid var(--color-border, #e5e7eb)}}.calendar__detail-panel{flex:0 0 40%;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg, #ffffff)}@media (max-width: 767px){.calendar__detail-panel{flex:0 0 50%}}.encounters{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.encounters__tabs{display:flex;align-items:center;height:35px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:0}.encounters__tab{padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent}.encounters__tab:hover:not(.encounters__tab--active){background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.encounters__tab--active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom:2px solid var(--color-primary, #2563eb);color:var(--color-text, #111827)}.encounters__tab-close{font-size:12px;opacity:.6;cursor:pointer;padding:2px;border-radius:4px;border:none;background:transparent;margin-left:6px}.encounters__tab-close:hover{opacity:1;background:#00000014}.encounters__content{padding:16px;background:var(--color-bg, #ffffff);overflow:hidden}.encounters{height:100%}.encounters__content{height:calc(100% - 44px);overflow:auto}.encounters__tabs .session-tabbar{display:flex;height:100%}.encounters__tabs .session-tabbar .session-tabbar-tab{padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent}.encounters__tabs .session-tabbar .session-tabbar-tab:hover:not(.encounters__tabs .session-tabbar .session-tabbar-tab.session-tabbar-tab-active){background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.encounters__tabs .session-tabbar .session-tabbar-tab.session-tabbar-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom:2px solid var(--color-primary, #2563eb);color:var(--color-text, #111827)}.encounters__tabs .session-tabbar .session-tabbar-tab-close{font-size:12px;opacity:.6;cursor:pointer;padding:2px;border-radius:4px;border:none;background:transparent;margin-left:6px;color:var(--color-text, #374151)}.encounters__tabs .session-tabbar .session-tabbar-tab-close:hover{opacity:1;background:var(--color-bg-secondary, rgba(0, 0, 0, .08));color:var(--color-text, #111827)}.encounters__tabs .session-tabbar .session-tabbar-tab-dirty-indicator{color:var(--color-warning, #f59e0b);font-size:10px;margin-left:4px}.encounters__content h3{margin-bottom:12px;color:var(--color-text, #111827);font-size:20px;font-weight:600}.encounters__content button{padding:8px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--color-primary, #2563eb);border:none;border-radius:6px;cursor:pointer}.encounters__content button:hover{background:var(--color-primary-hover, #1d4ed8)}.encounters__content button:active{background:var(--color-primary-hover, #1e40af)}.inbox{display:flex;flex-direction:column;height:100%;overflow:hidden}.inbox__layout{display:flex;flex:1;min-height:0;overflow:hidden}@media (max-width: 767px){.inbox__layout{flex-direction:column}}.inbox__list-panel{flex:0 0 45%;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff)}@media (max-width: 767px){.inbox__list-panel{flex:0 0 50%;border-right:none;border-bottom:1px solid var(--color-border, #e5e7eb)}}.inbox__filters{display:flex;gap:8px;padding:12px 16px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.inbox__filter-button{padding:6px 12px;font-size:13px;font-weight:500;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #374151);cursor:pointer;transition:all .2s ease}.inbox__filter-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-border, #d1d5db)}.inbox__filter-button--active{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.inbox__filter-button--active:hover{background:var(--color-primary-hover, #1d4ed8);border-color:var(--color-primary-hover, #1d4ed8)}.inbox__detail-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg, #ffffff)}.inbox__list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.inbox__empty{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.inbox__detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.inbox__detail--empty{align-items:center;justify-content:center;color:var(--color-text-secondary, #6b7280);font-size:14px;padding:2rem}.inbox__detail-header{padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff)}.inbox__detail-title h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.inbox__detail-subtitle{font-size:13px;color:var(--color-text-secondary, #6b7280)}.inbox__detail-content{flex:1;min-height:0;overflow-y:auto;padding:24px}.inbox__detail-body{margin-bottom:24px}.inbox__message-body{padding:16px;background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;border:1px solid var(--color-border, #e5e7eb);font-size:14px;line-height:1.6;color:var(--color-text, #111827);white-space:pre-wrap;word-wrap:break-word}.inbox__detail-actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff);flex-wrap:wrap}@media (max-width: 767px){.inbox__detail-actions{flex-direction:column}}.inbox__action-button{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:40px}@media (max-width: 767px){.inbox__action-button{width:100%}}.inbox__action-button--resolve{background:var(--color-success, #059669);color:#fff}.inbox__action-button--resolve:hover{background:#047857}.inbox__action-button--resolve:active{background:#065f46}.inbox__action-button--ignore{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151);border:1px solid var(--color-border, #e5e7eb)}.inbox__action-button--ignore:hover{background:var(--color-bg-secondary, #e5e7eb)}.inbox__action-button--ignore:active{background:var(--color-bg-secondary, #d1d5db)}.inbox__action-button--task{background:var(--color-primary, #2563eb);color:#fff}.inbox__action-button--task:hover{background:var(--color-primary-hover, #1d4ed8)}.inbox__action-button--task:active{background:#1e40af}.inbound-message__row{padding:16px;border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background-color .2s ease;background:var(--color-bg, #ffffff)}.inbound-message__row:hover{background:var(--color-bg-secondary, #f8f9fb)}.inbound-message__row--selected{background:var(--color-bg-secondary, #f8f9fb);border-left:3px solid var(--color-primary, #2563eb)}.inbound-message__row--highlighted{background:var(--color-bg-secondary, #f8f9fb);border-left:3px solid var(--color-warning, #d97706)}.inbound-message__row--highlighted.inbound-message__row--selected{border-left-color:var(--color-primary, #2563eb)}.inbound-message__row-content{display:flex;flex-direction:column;gap:8px}.inbound-message__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.inbound-message__sender{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.inbound-message__sender-name{font-size:15px;font-weight:600;color:var(--color-text, #111827)}.inbound-message__sender-type{font-size:12px;color:var(--color-text-secondary, #6b7280);padding:2px 6px;background:var(--color-bg-secondary, #f8f9fb);border-radius:3px}.inbound-message__time{font-size:12px;color:var(--color-text-secondary, #6b7280);flex-shrink:0}.inbound-message__preview{font-size:14px;color:var(--color-text, #374151);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inbound-message__row-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.inbound-message__badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.inbound-message__badge--source{background:#dbeafe;color:#1e40af}.inbound-message__badge--classification{background:#e0e7ff;color:#3730a3}.inbound-message__meta{display:flex;flex-direction:column;gap:24px}.inbound-message__meta-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text, #111827);text-transform:uppercase;letter-spacing:.5px}.inbound-message__meta-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.inbound-message__meta-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.inbound-message__meta-field span{font-size:14px;color:var(--color-text, #111827)}.inbound-message__classification-explanation{margin:0;font-size:13px;color:var(--color-text-secondary, #6b7280);line-height:1.5;font-style:italic}.inbound-message__audit-log{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;border:1px solid var(--color-border, #e5e7eb)}.inbound-message__audit-entry{font-size:12px;color:var(--color-text-secondary, #6b7280);padding:4px 0;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.inbound-message__audit-entry:last-child{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.status-badge--new{background:#dbeafe;color:#1e40af}.status-badge--requires-action{background:#fed7aa;color:#9a3412}.status-badge--processed{background:#d1fae5;color:#065f46}.status-badge--resolved{background:#f3f4f6;color:#6b7280}.status-badge--ignored{background:#f9fafb;color:#9ca3af}.scheduled-messages{display:flex;height:100%;overflow:hidden;flex-direction:column;position:relative}@media (min-width: 768px){.scheduled-messages{flex-direction:row;position:static}}.scheduled-messages__list{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--color-bg, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb);transition:transform .3s ease-in-out;overflow:hidden}@media (min-width: 768px){.scheduled-messages__list{flex:0 0 50%;border-right:1px solid var(--color-border, #e5e7eb);border-bottom:none;transition:none}}@media (max-width: 767px){.scheduled-messages__list--hidden{transform:translate(-100%)}}.scheduled-messages__list-search{flex-shrink:0;padding:12px 16px;background:var(--color-bg, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb)}@media (max-width: 767px){.scheduled-messages__list-search{padding:10px 16px}}.scheduled-messages__search-wrapper{position:relative;display:flex;align-items:center}.scheduled-messages__search-icon{position:absolute;left:12px;color:var(--color-text-secondary, #6b7280);pointer-events:none;z-index:1}.scheduled-messages__search-input{width:100%;padding:8px 12px 8px 36px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}@media (max-width: 767px){.scheduled-messages__search-input{padding:10px 12px 10px 36px;font-size:15px}}.scheduled-messages__search-input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.scheduled-messages__search-input::placeholder{color:var(--color-text-secondary, #9ca3af)}.scheduled-messages__search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.scheduled-messages__search-clear:hover{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #111827)}.scheduled-messages__search-clear:active{background:var(--color-bg-secondary, #e5e7eb)}.scheduled-messages__search-clear svg{width:16px;height:16px}.scheduled-messages__list-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;position:sticky;top:0;z-index:5}@media (max-width: 767px){.scheduled-messages__list-header{padding:10px 16px;gap:12px}}.scheduled-messages__header-cell{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.scheduled-messages__header-cell--icon{width:20px;flex-shrink:0}@media (max-width: 767px){.scheduled-messages__header-cell--icon{width:24px}}.scheduled-messages__header-cell--preview{flex:1;min-width:0}.scheduled-messages__header-cell--status{flex-shrink:0;width:80px;text-align:right}@media (max-width: 767px){.scheduled-messages__header-cell--status{width:70px}}.scheduled-messages__list-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.scheduled-messages__empty{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}@media (max-width: 767px){.scheduled-messages__empty{padding:1.5rem 1rem;font-size:13px}}.scheduled-messages__row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background-color .2s ease;min-height:60px}@media (min-width: 768px){.scheduled-messages__row{min-height:auto;padding:12px 16px}}@media (max-width: 767px){.scheduled-messages__row{padding:16px;gap:12px}}.scheduled-messages__row:hover,.scheduled-messages__row:active{background:var(--color-bg-secondary, #f8f9fb)}.scheduled-messages__row--selected{background:var(--color-bg-secondary, #f8f9fb);border-left:3px solid var(--color-primary, #2563eb)}@media (max-width: 767px){.scheduled-messages__row--selected{border-left:4px solid var(--color-primary, #2563eb)}}.scheduled-messages__row--failed{border-left-color:var(--color-error, #dc2626)}.scheduled-messages__row--cancelled{opacity:.6}.scheduled-messages__icon{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--color-text-secondary, #6b7280)}@media (max-width: 767px){.scheduled-messages__icon{width:24px;height:24px}}.scheduled-messages__row-icon{flex-shrink:0}.scheduled-messages__row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.scheduled-messages__row-preview{font-size:14px;font-weight:500;color:var(--color-text, #111827);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 767px){.scheduled-messages__row-preview{font-size:15px;-webkit-line-clamp:3}}.scheduled-messages__row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 767px){.scheduled-messages__row-meta{gap:6px;margin-top:4px}}.scheduled-messages__row-time{font-size:12px;color:var(--color-text-secondary, #6b7280);margin-left:auto}@media (max-width: 767px){.scheduled-messages__row-time{font-size:11px;width:100%;margin-left:0;margin-top:4px}}.scheduled-messages__row-status{flex-shrink:0}.scheduled-messages__badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 767px){.scheduled-messages__badge{padding:5px 10px;font-size:10px;min-height:24px}}.scheduled-messages__badge--audience,.scheduled-messages__badge--channel{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151)}.scheduled-messages__badge--status--scheduled{background:#dbeafe;color:#1e40af}.scheduled-messages__badge--status--sent{background:#d1fae5;color:#065f46}.scheduled-messages__badge--status--failed{background:#fee2e2;color:#991b1b}.scheduled-messages__badge--status--cancelled{background:#f3f4f6;color:#6b7280}.scheduled-messages__preview-wrapper{flex:1;min-width:0;min-height:0;background:var(--color-bg, #ffffff);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease-in-out}@media (min-width: 768px){.scheduled-messages__preview-wrapper{max-height:none;border-top:none;transition:none}}@media (max-width: 767px){.scheduled-messages__preview-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;transform:translate(100%);z-index:10;border-top:none}.scheduled-messages__preview-wrapper--visible{transform:translate(0)}}.scheduled-messages__preview{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}@media (max-width: 767px){.scheduled-messages__preview{padding:16px;gap:16px}}.scheduled-messages__preview--empty{align-items:center;justify-content:center;color:var(--color-text-secondary, #6b7280);font-size:14px;padding:2rem 1rem}@media (max-width: 767px){.scheduled-messages__preview--empty{font-size:13px;padding:1.5rem 1rem}}.scheduled-messages__preview-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-wrap:wrap;gap:12px;flex-shrink:0;background:var(--color-bg, #ffffff)}@media (max-width: 767px){.scheduled-messages__preview-header{padding:16px 16px 12px;gap:8px}}.scheduled-messages__preview-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827);flex:1}@media (max-width: 767px){.scheduled-messages__preview-header h3{font-size:16px}}.scheduled-messages__back-button{display:none}@media (max-width: 767px){.scheduled-messages__back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;margin-right:8px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--color-text, #111827);transition:background-color .2s ease}.scheduled-messages__back-button:hover{background:var(--color-bg-secondary, #f8f9fb)}.scheduled-messages__back-button:active{background:var(--color-bg-secondary, #e5e7eb)}.scheduled-messages__back-button svg{width:24px;height:24px}}.scheduled-messages__preview-content{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px}@media (max-width: 767px){.scheduled-messages__preview-content{gap:12px;padding:16px}}.scheduled-messages__preview-field{display:flex;flex-direction:column;gap:6px}.scheduled-messages__preview-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.scheduled-messages__preview-field span{font-size:14px;color:var(--color-text, #111827)}.scheduled-messages__preview-text{padding:12px;background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;font-size:14px;line-height:1.6;color:var(--color-text, #111827);white-space:pre-wrap;word-wrap:break-word}@media (max-width: 767px){.scheduled-messages__preview-text{padding:10px;font-size:13px;line-height:1.5}}.scheduled-messages__preview-actions{display:flex;gap:12px;padding:16px 24px 24px;border-top:1px solid var(--color-border, #e5e7eb);flex-wrap:wrap;flex-shrink:0;background:var(--color-bg, #ffffff)}@media (max-width: 767px){.scheduled-messages__preview-actions{gap:8px;padding:12px 16px 16px}}.scheduled-messages__action-button{padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:44px}@media (max-width: 767px){.scheduled-messages__action-button{flex:1;padding:12px 16px;font-size:15px;min-height:48px}}.scheduled-messages__action-button--cancel{background:var(--color-error, #dc2626);color:#fff}.scheduled-messages__action-button--cancel:hover{background:#b91c1c}.scheduled-messages__action-button--cancel:active{background:#991b1b}.scheduled-messages__action-button--retry{background:var(--color-primary, #2563eb);color:#fff}.scheduled-messages__action-button--retry:hover{background:var(--color-primary-hover, #1d4ed8)}.scheduled-messages__action-button--retry:active{background:#1e40af}.templates{display:flex;flex-direction:column;height:100%;overflow:hidden}.templates__layout{display:flex;flex:1;min-height:0;overflow:hidden}@media (max-width: 767px){.templates__layout{flex-direction:column}}.templates__list-panel{flex:0 0 40%;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #ffffff)}@media (max-width: 767px){.templates__list-panel{flex:0 0 50%;border-right:none;border-bottom:1px solid var(--color-border, #e5e7eb)}}.templates__tabs{background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);padding:0 16px;height:44px;display:flex;align-items:center;flex-shrink:0}.templates__tab-switcher{width:100%;display:flex;gap:0}.templates__tab-switcher .tab-switcher-tab{padding:0 16px;height:44px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent;border-bottom:2px solid transparent;transition:all .2s ease}.templates__tab-switcher .tab-switcher-tab:hover:not(.templates__tab-switcher .tab-switcher-tab.tab-switcher-tab-active):not(.templates__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled){background:var(--color-bg-secondary, rgba(0, 0, 0, .04));color:var(--color-text, #111827)}.templates__tab-switcher .tab-switcher-tab.tab-switcher-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.templates__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled{opacity:.5;cursor:not-allowed}.templates__editor-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg, #ffffff)}.template-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.template-list__empty{padding:2rem;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.template-list__new{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;margin-bottom:8px;background:var(--color-bg-secondary, #f8f9fb);border:1px dashed var(--color-border, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-text, #374151);text-align:left}.template-list__new:hover{background:var(--color-bg-secondary, #e5e7eb);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.template-list__new:active{background:var(--color-bg-secondary, #d1d5db)}.template-list__new-icon{font-size:18px;font-weight:600;line-height:1}.template-list__new-label{flex:1}.template-list__row{padding:16px;border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background-color .2s ease;background:var(--color-bg, #ffffff)}.template-list__row:hover{background:var(--color-bg-secondary, #f8f9fb)}.template-list__row--selected{background:var(--color-bg-secondary, #f8f9fb);border-left:3px solid var(--color-primary, #2563eb)}.template-list__row-content{display:flex;flex-direction:column;gap:8px}.template-list__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-list__row-name{margin:0;font-size:15px;font-weight:600;color:var(--color-text, #111827);flex:1}.template-list__status{font-size:11px;font-weight:500;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.template-list__status--active{background:#d1fae5;color:#065f46}.template-list__status--inactive{background:#f3f4f6;color:#6b7280}.template-list__badges{display:flex;flex-wrap:wrap;gap:6px}.template-list__badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.template-list__badge--category{background:#dbeafe;color:#1e40af}.template-list__badge--purpose{background:#e0e7ff;color:#3730a3}.template-list__badge--channel,.template-list__badge--audience{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151)}.template-list__row-footer{display:flex;align-items:center;margin-top:4px}.template-list__last-used{font-size:12px;color:var(--color-text-secondary, #6b7280)}.message-template__editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.message-template__editor--empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, #6b7280);font-size:14px;padding:2rem}.message-template__editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;background:var(--color-bg, #ffffff)}.message-template__editor-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.message-template__editor-actions{display:flex;gap:8px}.message-template__button{padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:36px}.message-template__button--primary{background:var(--color-primary, #2563eb);color:#fff}.message-template__button--primary:hover{background:var(--color-primary-hover, #1d4ed8)}.message-template__button--primary:active{background:#1e40af}.message-template__button--secondary{background:var(--color-bg-secondary, #f8f9fb);color:var(--color-text, #374151);border:1px solid var(--color-border, #e5e7eb)}.message-template__button--secondary:hover{background:var(--color-bg-secondary, #e5e7eb)}.message-template__button--secondary:active{background:var(--color-bg-secondary, #d1d5db)}.message-template__editor-content{display:flex;flex:1;min-height:0;overflow:hidden}@media (max-width: 1023px){.message-template__editor-content{flex-direction:column}}.message-template__editor-main{flex:1;min-width:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}@media (max-width: 1023px){.message-template__editor-main{flex:0 0 60%}}.message-template__editor-sidebar{flex:0 0 40%;min-width:0;overflow-y:auto;border-left:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f8f9fb)}@media (max-width: 1023px){.message-template__editor-sidebar{flex:1;border-left:none;border-top:1px solid var(--color-border, #e5e7eb)}}.message-template__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 767px){.message-template__meta{grid-template-columns:1fr}}.message-template__field{display:flex;flex-direction:column;gap:6px}.message-template__field label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.message-template__input,.message-template__select{padding:8px 12px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);transition:all .2s ease}.message-template__input:focus,.message-template__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.message-template__readonly{padding:8px 12px;font-size:14px;color:var(--color-text, #111827);background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;border:1px solid var(--color-border-light, #f3f4f6)}.message-template__readonly--body{white-space:pre-wrap;word-wrap:break-word;min-height:100px;max-height:300px;overflow-y:auto}.message-template__toggle{display:flex;align-items:center;gap:8px}.message-template__checkbox{width:18px;height:18px;cursor:pointer}.message-template__status{display:inline-block;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.message-template__status--active{background:#d1fae5;color:#065f46}.message-template__status--inactive{background:#f3f4f6;color:#6b7280}.message-template__body-section{display:flex;flex-direction:column;gap:8px}.message-template__body-section label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.message-template__textarea{width:100%;padding:12px;font-size:14px;font-family:inherit;line-height:1.6;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg, #ffffff);color:var(--color-text, #111827);resize:vertical;transition:all .2s ease}.message-template__textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.message-template__textarea::placeholder{color:var(--color-text-secondary, #9ca3af)}.message-template__variables{padding:16px;background:var(--color-bg-secondary, #f8f9fb);border-radius:6px;border:1px solid var(--color-border, #e5e7eb)}.message-template__variables h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--color-text, #111827)}.message-template__variables-hint{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.message-template__variables-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.message-template__variable-button{display:flex;align-items:center;gap:8px;padding:8px 12px;text-align:left;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;transition:all .2s ease}.message-template__variable-button:hover{background:var(--color-bg-secondary, #f8f9fb);border-color:var(--color-primary, #2563eb)}.message-template__variable-button code{font-size:12px;font-family:Monaco,Menlo,Courier New,monospace;color:var(--color-primary, #2563eb);background:var(--color-bg-secondary, #f8f9fb);padding:2px 6px;border-radius:3px}.message-template__variable-button .message-template__variable-label,.message-template__variable-label{font-size:12px;color:var(--color-text, #374151)}.message-template__preview{display:flex;flex-direction:column;height:100%;padding:24px}.message-template__preview--empty{align-items:center;justify-content:center;color:var(--color-text-secondary, #6b7280);font-size:14px}.message-template__preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.message-template__preview-header h4{margin:0;font-size:16px;font-weight:600;color:var(--color-text, #111827)}.message-template__preview-stats{display:flex;align-items:center;gap:12px}.message-template__char-count{font-size:12px;color:var(--color-text-secondary, #6b7280)}.message-template__sms-warning{font-size:11px;font-weight:500;padding:4px 8px;border-radius:4px;background:#d1fae5;color:#065f46}.message-template__sms-warning--exceeded{background:#fee2e2;color:#991b1b}.message-template__preview-content{flex:1;overflow-y:auto}.message-template__preview-text{padding:16px;background:var(--color-bg, #ffffff);border-radius:6px;border:1px solid var(--color-border, #e5e7eb);font-size:14px;line-height:1.6;color:var(--color-text, #111827);white-space:pre-wrap;word-wrap:break-word}.messages{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.messages__tabs{display:flex;align-items:center;height:35px;background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:0}.messages__tab{padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent}.messages__tab:hover:not(.messages__tab--active){background:var(--color-bg-secondary, rgba(0, 0, 0, .04))}.messages__tab--active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom:2px solid var(--color-primary, #2563eb);color:var(--color-text, #111827)}.messages__tab-close{font-size:12px;opacity:.6;cursor:pointer;padding:2px;border-radius:4px;border:none;background:transparent;margin-left:6px}.messages__tab-close:hover{opacity:1;background:#00000014}.messages__content{padding:16px;background:var(--color-bg, #ffffff);overflow:hidden}.messages{height:100%}.messages__tabs{background:var(--color-bg-secondary, #f8f9fb);border-bottom:1px solid var(--color-border, #e5e7eb);padding:0 16px;height:44px;display:flex;align-items:center}.messages__tab-switcher{width:100%;display:flex;gap:0}.messages__tab-switcher .tab-switcher-tab{padding:0 16px;height:44px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:none;background:transparent;border-bottom:2px solid transparent;transition:all .2s ease}.messages__tab-switcher .tab-switcher-tab:hover:not(.messages__tab-switcher .tab-switcher-tab.tab-switcher-tab-active):not(.messages__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled){background:var(--color-bg-secondary, rgba(0, 0, 0, .04));color:var(--color-text, #111827)}.messages__tab-switcher .tab-switcher-tab.tab-switcher-tab-active{background:var(--color-bg, #ffffff);font-weight:600;border-bottom-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.messages__tab-switcher .tab-switcher-tab.tab-switcher-tab-disabled{opacity:.5;cursor:not-allowed}.messages__content{height:calc(100% - 53px);overflow:auto;padding:16px;background:var(--color-bg, #ffffff);overflow-y:auto}.messages__section{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}.messages__section h3{margin:0 0 12px;color:var(--color-text, #111827);font-size:20px;font-weight:600}.messages__section p{margin:0;color:var(--color-text-secondary, #6b7280);font-size:14px;line-height:1.6}:root{--color-bg: var(--theme-bg);--color-bg-secondary: var(--theme-bg-secondary);--color-text: var(--theme-text);--color-text-secondary: var(--theme-text-secondary);--color-primary: var(--theme-primary);--color-primary-hover: var(--theme-primary-hover);--color-border: var(--theme-border);--color-border-light: var(--theme-border-light);--color-success: var(--theme-success);--color-error: var(--theme-error);--color-warning: var(--theme-warning);--color-info: var(--theme-info);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--border-width: 1px;--border-width-thick: 2px}:root[data-theme=light]{--theme-bg: #ffffff;--theme-bg-secondary: #f5f5f5;--theme-text: #1a1a1a;--theme-text-secondary: #666666;--theme-primary: #3b82f6;--theme-primary-hover: #2563eb;--theme-border: #e5e5e5;--theme-border-light: #f0f0f0;--theme-success: #10b981;--theme-error: #ef4444;--theme-warning: #f59e0b;--theme-info: #3b82f6}:root[data-theme=dark]{--theme-bg: #1a1a1a;--theme-bg-secondary: #2a2a2a;--theme-text: #ffffff;--theme-text-secondary: #b3b3b3;--theme-primary: #60a5fa;--theme-primary-hover: #3b82f6;--theme-border: #404040;--theme-border-light: #333333;--theme-success: #34d399;--theme-error: #f87171;--theme-warning: #fbbf24;--theme-info: #60a5fa}:root[data-theme=blue]{--theme-bg: #eff6ff;--theme-bg-secondary: #dbeafe;--theme-text: #1e3a8a;--theme-text-secondary: #1e40af;--theme-primary: #2563eb;--theme-primary-hover: #1d4ed8;--theme-border: #93c5fd;--theme-border-light: #bfdbfe;--theme-success: #059669;--theme-error: #dc2626;--theme-warning: #d97706;--theme-info: #0284c7}:root[data-theme=green]{--theme-bg: #f0fdf4;--theme-bg-secondary: #dcfce7;--theme-text: #166534;--theme-text-secondary: #15803d;--theme-primary: #059669;--theme-primary-hover: #047857;--theme-border: #86efac;--theme-border-light: #bbf7d0;--theme-success: #059669;--theme-error: #dc2626;--theme-warning: #d97706;--theme-info: #0284c7}*{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);transition:background-color .2s ease,color .2s ease}.table{width:100%;border-collapse:collapse;text-align:left;min-width:640px}.table thead{position:sticky;top:0;z-index:10}.table thead tr th{padding:.5rem .75rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary);position:sticky;top:0;white-space:nowrap}@media (max-width: 640px){.table thead tr th{padding:.375rem .5rem;font-size:.75rem}}.table tbody tr{position:relative;transition:background-color .15s ease-in-out}.table tbody tr:hover{background-color:var(--color-bg-secondary)}.table tbody tr td{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);border-bottom:1px solid var(--color-border-light);white-space:nowrap}@media (max-width: 640px){.table tbody tr td{padding:.375rem .5rem;font-size:.8125rem}}.table tbody tr td.table-actions{position:relative;width:1px;padding:0}.table tbody tr td.table-actions .table-action-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .15s ease-in-out;z-index:1}@media (max-width: 640px){.table tbody tr td.table-actions .table-action-button{opacity:1;position:static;transform:none}}.table tbody tr:hover td.table-actions .table-action-button{opacity:1}@media (max-width: 640px){.table tbody tr:active{background-color:var(--color-bg-secondary)}}.table tbody tr:last-child td{border-bottom:none}.table.table-striped tbody tr:nth-child(2n){background-color:var(--color-bg-secondary)}.table.table-striped tbody tr:nth-child(2n):hover{background-color:var(--color-bg-secondary);opacity:.8}.table.table-bordered,.table.table-bordered thead tr th{border:1px solid var(--color-border)}.table.table-bordered tbody tr td{border:1px solid var(--color-border-light)}.table.table-compact thead tr th,.table.table-compact tbody tr td{padding:.25rem .375rem;font-size:.875rem}.table.table-no-hover tbody tr:hover{background-color:transparent}.table-wrapper{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;width:100%}@media (max-width: 640px){.table-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,var(--color-bg));pointer-events:none;opacity:0;transition:opacity .3s ease}.table-wrapper:not(:hover):after{opacity:.3}}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px;transition:background-color .2s ease}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-primary);opacity:.8}.table-wrapper::-webkit-scrollbar-thumb:active{background:var(--color-primary);opacity:1}.table-wrapper{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-secondary)}@media (max-width: 640px){.table-wrapper::-webkit-scrollbar{width:4px;height:4px}.table-wrapper{scrollbar-width:thin}}@tailwind base;@tailwind components;@tailwind utilities;.sign-in-page-container,.reset-password-page-container,.forgot-password-page-container,.organization-selection-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;position:relative;overflow:hidden;background:linear-gradient(135deg,#059669,#047857,#065f46);padding:2rem 1rem}.sign-in-background-decoration,.reset-password-background-decoration,.forgot-password-background-decoration,.organization-selection-background-decoration{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float 20s infinite ease-in-out}.decoration-circle-1{width:300px;height:300px;top:-150px;right:-150px;animation-delay:0s}.decoration-circle-2{width:200px;height:200px;bottom:-100px;left:-100px;animation-delay:5s}.decoration-circle-3{width:150px;height:150px;top:50%;left:10%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1);opacity:.3}33%{transform:translate(30px,-30px) scale(1.1);opacity:.4}66%{transform:translate(-20px,20px) scale(.9);opacity:.2}}.sign-in-card,.reset-password-card,.forgot-password-card,.organization-selection-card{width:100%;max-width:440px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a inset;position:relative;z-index:1;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sign-in-header,.reset-password-header,.forgot-password-header,.organization-selection-header{text-align:center;margin-bottom:2.5rem}.sign-in-logo,.reset-password-logo,.forgot-password-logo,.organization-selection-logo{display:inline-flex;margin-bottom:1.5rem;animation:scaleIn .6s ease-out .2s both}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.sign-in-title,.reset-password-title,.forgot-password-title,.organization-selection-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 .5rem;background:linear-gradient(135deg,#059669,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sign-in-subtitle,.reset-password-subtitle,.forgot-password-subtitle,.organization-selection-subtitle{font-size:.9375rem;color:#6b7280;margin:0;font-weight:400}.sign-in-form,.reset-password-form,.forgot-password-form,.organization-selection-form{margin-top:2rem}.sign-in-field-wrapper,.reset-password-field-wrapper,.forgot-password-field-wrapper{margin-bottom:1.5rem}.sign-in-field-wrapper label,.reset-password-field-wrapper label,.forgot-password-field-wrapper label{display:block;margin-bottom:.625rem;font-weight:600;color:#374151;font-size:.875rem;letter-spacing:.01em}.sign-in-input,.reset-password-input,.forgot-password-input{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);background-color:#fff;color:#1f2937;font-family:inherit}.sign-in-input::placeholder,.reset-password-input::placeholder,.forgot-password-input::placeholder{color:#9ca3af}.sign-in-input:focus,.reset-password-input:focus,.forgot-password-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 4px #0596691a,0 4px 12px #05966926;transform:translateY(-1px)}.sign-in-input:hover:not(:focus):not(:disabled),.reset-password-input:hover:not(:focus):not(:disabled),.forgot-password-input:hover:not(:focus):not(:disabled){border-color:#d1d5db}.sign-in-input:disabled,.reset-password-input:disabled,.forgot-password-input:disabled{opacity:.6;cursor:not-allowed;background-color:#f9fafb}.sign-in-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button),.reset-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button),.forgot-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button),.organization-selection-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button){width:100%;margin-top:-.5rem;margin-bottom:1rem;padding:0;background:transparent;border:none;color:#059669;font-size:.875rem;font-weight:500;text-align:right;cursor:pointer;transition:all .2s ease;text-decoration:none;display:block}.sign-in-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):hover:not(:disabled),.reset-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):hover:not(:disabled),.forgot-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):hover:not(:disabled),.organization-selection-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):hover:not(:disabled){color:#047857;text-decoration:underline}.sign-in-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):active:not(:disabled),.reset-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):active:not(:disabled),.forgot-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):active:not(:disabled),.organization-selection-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):active:not(:disabled){color:#065f46}.sign-in-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):disabled,.reset-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):disabled,.forgot-password-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):disabled,.organization-selection-form>div>button[type=button]:not(.sign-in-submit-button):not(.reset-password-submit-button):not(.forgot-password-submit-button):not(.organization-selection-submit-button):disabled{opacity:.5;cursor:not-allowed}.sign-in-submit-button,.reset-password-submit-button,.forgot-password-submit-button,.organization-selection-submit-button{width:100%;padding:.9375rem 1.5rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #05966966;letter-spacing:.02em;margin-top:.5rem}.sign-in-submit-button:hover:not(:disabled),.reset-password-submit-button:hover:not(:disabled),.forgot-password-submit-button:hover:not(:disabled),.organization-selection-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #05966980;background:linear-gradient(135deg,#047857,#065f46)}.sign-in-submit-button:active:not(:disabled),.reset-password-submit-button:active:not(:disabled),.forgot-password-submit-button:active:not(:disabled),.organization-selection-submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #05966966}.sign-in-submit-button:disabled,.reset-password-submit-button:disabled,.forgot-password-submit-button:disabled,.organization-selection-submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #0596694d}.sign-in-field-wrapper div[role=alert],.reset-password-field-wrapper div[role=alert],.forgot-password-field-wrapper div[role=alert]{color:#dc2626;font-size:.8125rem;margin-top:.5rem;font-weight:500;display:flex;align-items:center;gap:.375rem}.sign-in-field-wrapper div[role=alert]:before,.reset-password-field-wrapper div[role=alert]:before,.forgot-password-field-wrapper div[role=alert]:before{content:"⚠";font-size:1rem}.sign-in-form>div[role=alert],.reset-password-form>div[role=alert],.forgot-password-form>div[role=alert],.organization-selection-form>div[role=alert]{color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:12px;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:shake .5s ease-in-out}.sign-in-form>div[role=alert]:before,.reset-password-form>div[role=alert]:before,.forgot-password-form>div[role=alert]:before,.organization-selection-form>div[role=alert]:before{content:"⚠";font-size:1.25rem;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@media (max-width: 640px){.sign-in-card,.reset-password-card,.forgot-password-card,.organization-selection-card{padding:2rem 1.5rem;border-radius:20px}.sign-in-title,.reset-password-title,.forgot-password-title,.organization-selection-title{font-size:1.75rem}.decoration-circle{display:none}}.organization-selection-list{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.organization-selection-item{display:flex;align-items:flex-start;padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff}.organization-selection-item:hover:not(:disabled){border-color:#059669;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);transform:translateY(-2px);box-shadow:0 4px 12px #05966926}.organization-selection-item.selected{border-color:#059669;background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 4px 14px #05966940}.organization-selection-item input[type=radio]{margin-right:1rem;margin-top:.25rem;width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#059669}.organization-selection-item:disabled{opacity:.6;cursor:not-allowed}.organization-selection-item-content{flex:1}.organization-selection-item-name{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.organization-selection-item-description{font-size:.875rem;color:#6b7280;margin-bottom:.25rem;line-height:1.5}.organization-selection-item-domain{font-size:.8125rem;color:#059669;font-weight:500}.organization-selection-card{max-width:500px}.forgot-password-form>div[role=alert]{color:#059669;font-size:.875rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #a7f3d0;border-radius:12px;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideUp .5s ease-out}.forgot-password-form button[type=button]{width:100%;margin-top:1rem;padding:.75rem 1rem;background:transparent;color:#059669;border:2px solid #059669;border-radius:12px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.forgot-password-form button[type=button]:hover:not(:disabled){background:#0596691a;transform:translateY(-1px);box-shadow:0 4px 12px #05966933;border-color:#047857;color:#047857}.forgot-password-form button[type=button]:active:not(:disabled){transform:translateY(0)}.forgot-password-form button[type=button]:disabled{opacity:.6;cursor:not-allowed}.forgot-password-form>div>p{color:#6b7280;font-size:.9375rem;line-height:1.6;margin-bottom:1.5rem}.forgot-password-field-wrapper div[role=alert]{color:#dc2626;font-size:.8125rem;margin-top:.5rem;font-weight:500;display:flex;align-items:center;gap:.375rem}.forgot-password-field-wrapper div[role=alert]:before{content:"⚠";font-size:1rem}.forgot-password-form>div[role=alert].error-message{color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:12px;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:shake .5s ease-in-out}.forgot-password-form>div[role=alert].error-message:before{content:"⚠";font-size:1.25rem;flex-shrink:0}.reset-password-success{margin-top:2rem}.reset-password-back-button{width:100%;margin-top:1rem;padding:.75rem 1rem;background:transparent;color:#059669;border:2px solid #059669;border-radius:12px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.reset-password-back-button:hover:not(:disabled){background:#0596691a;transform:translateY(-1px);box-shadow:0 4px 12px #05966933;border-color:#047857;color:#047857}.reset-password-back-button:active:not(:disabled){transform:translateY(0)}.reset-password-back-button:disabled{opacity:.6;cursor:not-allowed}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}body>div[style*="position: fixed"][style*=inset-0]{background-color:#00000080!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;z-index:9999!important}body>div[style*="position: fixed"][style*=inset-0]>div{max-width:800px!important;width:calc(100% - 40px)!important;max-height:90vh!important;margin:0!important;background:var(--color-bg, #ffffff)!important}body>div[style*="position: fixed"][style*=inset-0]>div.appointment-modal{max-width:800px!important;width:calc(100% - 40px)!important}
