:root{--blue-500: #3b82f6;--blue-600: #2563eb;--blue-50: #eff6ff;--blue-100: #dbeafe;--green-500: #22c55e;--green-50: #f0fdf4;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-700: #374151;--gray-900: #111827;--purple-500: #8b5cf6;--white: #ffffff;--sidebar-width: 248px;--filter-width: 280px;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .04);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{font-family:var(--font);font-size:14px;color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;border:none;background:none}input,select{border:none;outline:none}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;min-width:0;min-height:100vh;display:flex;flex-direction:column}.page-loading,.page-error{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--gray-500)}.page-error{color:#dc2626}.sidebar{width:var(--sidebar-width);background:var(--white);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;flex-shrink:0;padding:20px 0}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:0 20px 24px}.sidebar__brand-text{font-size:18px;font-weight:700;color:var(--blue-500);letter-spacing:-.02em}.sidebar__nav{flex:1;overflow-y:auto}.sidebar__section{margin-bottom:8px}.sidebar__section-title{padding:12px 20px 6px;font-size:12px;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em}.sidebar__list{list-style:none;margin:0;padding:0}.sidebar__link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 20px;color:var(--gray-500);font-size:14px;font-weight:500;text-align:left;transition:background .15s,color .15s}.sidebar__link:hover{background:var(--gray-50);color:var(--gray-700)}.sidebar__link--active{background:var(--blue-50);color:var(--blue-500);border-right:3px solid var(--blue-500)}.sidebar__link-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.schedule-header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--gray-50)}.schedule-header__search{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:0 14px;height:44px;flex:1;max-width:320px}.schedule-header__search input{flex:1;background:transparent;font-size:14px;color:var(--gray-900)}.schedule-header__search input::placeholder{color:var(--gray-400)}.schedule-header__search--smart{max-width:360px;border:2px solid transparent;background-image:linear-gradient(var(--white),var(--white)),linear-gradient(135deg,#8b5cf6,#3b82f6);background-origin:border-box;background-clip:padding-box,border-box}.schedule-header__actions{display:flex;align-items:center;gap:12px;margin-left:auto}.btn-create{display:flex;align-items:center;gap:8px;height:44px;padding:0 20px;background:var(--blue-500);color:var(--white);border-radius:var(--radius);font-weight:600;font-size:14px;white-space:nowrap;transition:background .15s}.btn-create:hover{background:var(--blue-600)}.btn-bell{width:44px;height:44px;border-radius:50%;background:var(--white);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center}.schedule-page{flex:1;display:flex;gap:0;padding:0 24px 24px;min-height:0}.specialist-filter{width:var(--filter-width);flex-shrink:0;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-right:16px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 120px)}.specialist-filter__title{margin:0;font-size:16px;font-weight:700;color:var(--gray-900)}.specialist-filter__select{width:100%;height:40px;padding:0 12px;background:var(--gray-100);border-radius:var(--radius-sm);color:var(--gray-700);font-size:14px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.specialist-filter__search{display:flex;align-items:center;gap:8px;background:var(--gray-100);border-radius:var(--radius-sm);padding:0 12px;height:40px}.specialist-filter__search input{flex:1;background:transparent;font-size:13px}.specialist-filter__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-top:4px}.specialist-card{text-align:left;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--white);transition:border-color .15s,background .15s}.specialist-card:hover{border-color:var(--blue-100)}.specialist-card--active{border-color:var(--blue-500);background:var(--blue-50)}.specialist-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.specialist-card__name{font-weight:600;font-size:13px;line-height:1.3;color:var(--gray-900)}.specialist-card__initials{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:6px;background:var(--blue-50);color:var(--blue-500);font-size:11px;font-weight:700}.specialist-card__room{font-size:12px;color:var(--gray-400);white-space:nowrap}.specialist-card__badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;background:var(--gray-100);color:var(--gray-500)}.specialist-card__badge--active{background:var(--blue-500);color:var(--white)}.schedule-grid-wrap{flex:1;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;overflow:hidden}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200);gap:16px;flex-wrap:wrap}.schedule-toolbar__left{display:flex;align-items:center;gap:10px;min-width:200px}.schedule-toolbar__doctor{margin:0;font-size:16px;font-weight:700}.schedule-toolbar__badge{padding:4px 12px;border-radius:20px;background:var(--blue-500);color:var(--white);font-size:12px;font-weight:500}.schedule-toolbar__info{width:22px;height:22px;border-radius:50%;background:var(--blue-100);color:var(--blue-500);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.schedule-toolbar__right{display:flex;align-items:center;gap:8px}.schedule-toolbar__range{font-size:14px;font-weight:500;color:var(--gray-700);white-space:nowrap}.date-nav-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-500);display:flex;align-items:center;justify-content:center;font-size:18px}.date-nav-btn--icon{color:var(--blue-500)}.view-toggle{display:flex;background:var(--gray-100);border-radius:var(--radius-sm);padding:3px}.view-toggle__btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;color:var(--gray-500);transition:all .15s}.view-toggle__btn--active{background:var(--blue-500);color:var(--white)}.schedule-grid{flex:1;overflow:auto}.schedule-grid__header{display:grid;grid-template-columns:64px repeat(6,1fr);border-bottom:1px solid var(--gray-200);position:sticky;top:0;background:var(--white);z-index:2}.schedule-grid__corner{border-right:1px solid var(--gray-200)}.schedule-grid__day-head{padding:12px 8px;text-align:center;border-right:1px solid var(--gray-200)}.schedule-grid__weekday{display:block;font-size:12px;color:var(--gray-400);margin-bottom:4px}.schedule-grid__daynum{font-size:16px;font-weight:600;color:var(--gray-900)}.schedule-grid__row{display:grid;grid-template-columns:64px repeat(6,1fr);min-height:72px;border-bottom:1px solid var(--gray-200)}.schedule-grid__time{padding:12px 8px;font-size:12px;color:var(--gray-400);border-right:1px solid var(--gray-200);text-align:center}.schedule-grid__cell{padding:6px;border-right:1px solid var(--gray-200);position:relative}.schedule-grid__cell--empty:hover{background:var(--blue-50)}.appointment-card{height:100%;min-height:56px;border-radius:var(--radius-sm);padding:8px 10px 8px 14px;position:relative;overflow:hidden;cursor:pointer;transition:box-shadow .15s}.appointment-card:hover{box-shadow:0 2px 8px #3b82f626}.appointment-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}.appointment-card--green{background:var(--green-50)}.appointment-card--green:before{background:var(--green-500)}.appointment-card--blue{background:var(--blue-50)}.appointment-card--blue:before{background:var(--blue-500)}.appointment-card__name{font-size:13px;font-weight:600;color:var(--gray-900);margin-bottom:4px;line-height:1.2}.appointment-card__phone{font-size:11px;color:var(--gray-500)}.slot-add-btn{position:absolute;inset:0;margin:auto;width:36px;height:36px;border-radius:50%;background:var(--blue-500);color:var(--white);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,transform .15s;transform:scale(.9)}.schedule-grid__cell--empty:hover .slot-add-btn{opacity:1;transform:scale(1)}.modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background:var(--white);border-radius:16px;width:100%;max-width:560px;box-shadow:0 20px 60px #00000026;overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.modal__title{margin:0;font-size:18px;font-weight:700}.modal__close{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:background .15s}.modal__close:hover{background:var(--gray-100)}.modal__body{padding:24px}.modal__body--placeholder{min-height:200px}.modal-placeholder{text-align:center;padding:24px}.modal-placeholder__title{font-size:16px;font-weight:600;margin:0 0 12px}.modal-placeholder__text{color:var(--gray-500);line-height:1.6;margin:0}.modal-placeholder__hint{display:block;margin-top:12px;font-size:13px;color:var(--gray-400)}.modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.btn-modal{height:44px;padding:0 24px;border-radius:var(--radius-sm);font-weight:600;font-size:14px}.btn-modal--ghost{background:var(--white);border:1px solid var(--gray-200);color:var(--gray-700)}.btn-modal--primary{background:var(--blue-500);color:var(--white)}.btn-modal--primary:disabled{opacity:.5;cursor:not-allowed}.btn-form{height:44px;padding:0 24px;border-radius:var(--radius-sm);font-weight:600;font-size:14px}.btn-form--ghost{background:var(--white);border:1px solid var(--gray-200);color:var(--gray-700)}.btn-form--primary{background:var(--blue-500);color:var(--white)}.btn-form--primary:disabled{opacity:.5;cursor:not-allowed}.form-page{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--white);overflow:hidden}.form-page__header{display:flex;align-items:center;justify-content:space-between;padding:20px 36px;border-bottom:1px solid var(--gray-200);flex-shrink:0;background:var(--white)}.form-page__close{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:background .15s}.form-page__close:hover{background:var(--gray-100)}.form-page__loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--gray-500)}.form-page__body{display:flex;flex:1;min-height:0;overflow:hidden}.form-page__left{flex:1.65;min-width:0;padding:28px 48px 32px;overflow-y:auto;border-right:1px solid var(--gray-200)}.form-page__form-brand{text-align:center;font-weight:700;font-size:13px;letter-spacing:.08em;margin-bottom:6px}.form-page__form-title{text-align:center;font-size:13px;color:var(--gray-500);margin:0 0 28px;line-height:1.5}.form-page__fields .section-title{font-size:14px;font-weight:600;color:var(--gray-700);margin:20px 0 12px}.form-page__fields .form-grid{gap:12px}.patient-form{display:flex;flex-direction:column}.patient-form__block{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}.patient-form__section-title{margin:28px 0 16px;padding-bottom:10px;font-size:15px;font-weight:600;color:var(--gray-800);text-align:center;border-bottom:1px solid var(--gray-200)}.patient-form__section-title:first-child{margin-top:0}.patient-form__grid{display:grid;gap:14px}.patient-form__grid--2{grid-template-columns:1fr 1fr}.patient-form__grid--3{grid-template-columns:repeat(3,1fr)}.pf-field{margin-bottom:0}.pf-field--full{width:100%}.pf-field__box{background:var(--gray-100);border-radius:10px;padding:10px 14px 12px;min-height:60px;border:1px solid transparent}.pf-field__box--textarea{min-height:88px}.pf-field__label{display:block;font-size:11px;color:var(--gray-400);line-height:1.2;margin-bottom:2px}.pf-field__input-wrap{display:flex;align-items:center;gap:6px;min-height:22px;position:relative}.pf-field__input,.pf-field__select,.pf-field__textarea{width:100%;border:none;background:transparent;font-size:14px;color:var(--gray-900);padding:0;outline:none}.pf-field__input::placeholder,.pf-field__textarea::placeholder{color:var(--gray-400)}.pf-field__input[type=date]{flex:1;min-width:0}.pf-field__input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:24px;height:24px;cursor:pointer}.pf-field__textarea{resize:vertical;min-height:52px;line-height:1.4}.pf-field__icon{flex-shrink:0;color:var(--blue-500);display:flex;align-items:center}.pf-field__icon--left{margin-right:2px}.pf-field__select{flex:1;min-width:0;appearance:none;cursor:pointer;color:var(--gray-900)}.pf-field__select--with-icon{padding-left:2px}.pf-field__select option[value=""]{color:var(--gray-400)}.pf-field__chevron{flex-shrink:0;font-size:12px;color:var(--gray-400);line-height:1;pointer-events:none}.patient-form__pain-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.patient-form__pain-label{font-size:14px;font-weight:600;color:var(--gray-700)}.pf-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:transparent;font-size:14px;color:var(--gray-700);cursor:pointer}.pf-toggle__box{width:20px;height:20px;border-radius:6px;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.pf-toggle__box--checked{background:var(--blue-500);border-color:var(--blue-500)}.pf-toggle__check{color:var(--white);font-size:12px;font-weight:700;line-height:1}.form-page__progress{margin-top:24px;padding-top:16px;border-top:1px solid var(--gray-200)}.form-page__right{flex:1;min-width:400px;max-width:540px;padding:28px 36px 32px;overflow-y:auto;background:var(--gray-50);display:flex;flex-direction:column;gap:12px}.form-page__right-title{margin:0;font-size:15px;font-weight:700;color:var(--gray-900)}.form-page__select{width:100%;height:42px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--white);font-size:14px}.form-page__date-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-page__checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-700);white-space:nowrap}.form-page__checkbox input{accent-color:var(--blue-500)}.form-page__date-field{flex:1;display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:0 12px;height:42px;min-width:140px}.form-page__date-field input{flex:1;background:transparent;font-size:13px;color:var(--gray-700)}.form-page__date-field svg{color:var(--blue-500);flex-shrink:0}.form-page__search{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:0 12px;height:42px}.form-page__search input{flex:1;background:transparent;font-size:13px}.form-page__specialists-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;min-height:120px}.form-page__empty-slots{text-align:center;padding:32px 16px;color:var(--gray-400);font-size:13px}.form-page__empty-icon{font-size:32px;margin-bottom:8px;opacity:.5}.form-page__spec-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.form-page__spec-card--active{border-color:var(--blue-500);box-shadow:0 0 0 1px var(--blue-500)}.form-page__spec-head{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 12px 14px;text-align:left}.form-page__spec-info{flex:1;padding-bottom:6px}.form-page__radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--gray-300);flex-shrink:0;margin-top:2px}.form-page__radio--on{border-color:var(--blue-500);background:radial-gradient(circle,var(--blue-500) 40%,transparent 45%)}.form-page__spec-name{display:block;font-weight:600;font-size:13px;margin-bottom:6px}.form-page__spec-tags{display:flex;gap:6px;flex-wrap:wrap}.form-page__tag{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;background:var(--gray-100);color:var(--gray-500)}.form-page__tag--blue{background:var(--blue-500);color:var(--white)}.form-page__tag--gray{background:var(--gray-100);color:var(--gray-500)}.form-page__slots{display:flex;flex-wrap:nowrap;gap:8px;padding:2px 12px 14px 40px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.form-page__slots::-webkit-scrollbar{height:4px}.form-page__slots::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.form-page__slot-card{flex:0 0 auto;min-width:76px;padding:8px 14px;border-radius:10px;border:1px solid var(--gray-200);background:var(--white);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.form-page__slot-card:hover{border-color:var(--blue-100);background:var(--blue-50)}.form-page__slot-card--active{background:var(--blue-500);border-color:var(--blue-500)}.form-page__slot-card--active:hover{background:var(--blue-600);border-color:var(--blue-600)}.form-page__slot-date{font-size:11px;color:var(--gray-500);line-height:1.2;white-space:nowrap}.form-page__slot-time{font-size:14px;font-weight:600;color:var(--gray-900);line-height:1.2;white-space:nowrap}.form-page__slot-card--active .form-page__slot-date,.form-page__slot-card--active .form-page__slot-time{color:var(--white)}.form-page__no-slots{font-size:12px;color:var(--gray-400);padding:0 12px 12px 40px}.form-page__visit-type{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-page__visit-btn{padding:12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;background:var(--white);border:1px solid var(--gray-200);color:var(--gray-600);transition:all .15s}.form-page__visit-btn--active{background:var(--blue-500);border-color:var(--blue-500);color:var(--white)}.form-page__comment textarea{width:100%;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--white);resize:vertical;font-size:13px;margin-top:6px}.form-page__comment-label{font-size:12px;color:var(--gray-500)}.form-page__error{padding:8px 28px;color:#dc2626;font-size:13px;background:#fef2f2}.form-page__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 36px;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0}.form-page__footer-right{display:flex;gap:12px}.progress-block{display:flex;flex-direction:column;gap:8px}.progress-bar{display:flex;gap:6px}.progress-bar__segment{flex:1;height:6px;border-radius:3px;background:var(--gray-200)}.progress-bar__segment--active{background:var(--blue-500)}.progress-block__label{font-size:12px;color:var(--gray-500)}.form-page__body--full .form-page__left--wide{flex:1;max-width:none;border-right:none;padding:28px 56px 32px}.form-page__footer--edit{align-items:flex-end;gap:24px}.form-page__footer--edit .form-step-footer__nav{flex:1;min-width:0}.form-step-footer__arrows{display:flex;gap:8px;margin-bottom:10px}.form-step-footer__arrow{width:32px;height:32px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.form-step-footer__arrow:disabled{opacity:.4;cursor:not-allowed}.btn-form--muted{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700);min-width:120px}.btn-form--outline-sm{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--blue-500);color:var(--blue-500);background:var(--white);font-size:13px;font-weight:600}.pf-field__img-icon{width:22px;height:22px;object-fit:contain;border-radius:4px}.pf-field__input--with-icon{padding-left:4px}.patient-form__pain-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.patient-form__grid--inline{flex:1;min-width:280px;margin-bottom:0}.patient-form__vitae-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pf-pain-scale{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow)}.pf-pain-scale__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.pf-pain-scale__title{display:block;font-size:14px;font-weight:600;color:var(--gray-800)}.pf-pain-scale__hint{display:block;margin-top:4px;font-size:12px;color:var(--gray-500)}.pf-pain-scale__value{min-width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.pf-pain-scale__value--none{background:var(--green-50);color:#16a34a}.pf-pain-scale__value--mild{background:#ecfdf5;color:#059669}.pf-pain-scale__value--moderate{background:#fff7ed;color:#ea580c}.pf-pain-scale__value--severe{background:#fef2f2;color:#dc2626}.pf-pain-scale__numbers{display:grid;grid-template-columns:repeat(11,1fr);gap:6px;margin-bottom:12px}.pf-pain-scale__num{height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--gray-50);font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s}.pf-pain-scale__num:hover{border-color:var(--blue-500);background:var(--blue-50)}.pf-pain-scale__num--active{background:var(--blue-500);color:var(--white);border-color:var(--blue-500);transform:scale(1.05)}.pf-pain-scale__labels{display:flex;justify-content:space-between;font-size:12px;font-weight:500}.pf-pain-scale__label--green{color:#16a34a}.pf-pain-scale__label--orange{color:#ea580c}.pf-pain-scale__label--red{color:#dc2626}.pf-assessment{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;margin-bottom:20px;box-shadow:var(--shadow)}.pf-assessment__group{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-100)}.pf-assessment__group-label{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.pf-assessment__group-body{min-height:36px}.pf-segments{display:flex;flex-wrap:wrap;gap:8px}.pf-segment{padding:8px 16px;border-radius:999px;border:1px solid var(--gray-200);background:var(--white);font-size:13px;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .15s;white-space:nowrap}.pf-segment:hover{border-color:var(--blue-500);color:var(--blue-600)}.pf-segment--active{background:var(--blue-500);border-color:var(--blue-500);color:var(--white);box-shadow:0 2px 8px #3b82f659}.pf-pain-details{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow)}.pf-pain-details__title{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--gray-800)}.pf-radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pf-radio-group--inline{flex-direction:row;align-items:center;gap:12px;margin-bottom:0;flex-wrap:wrap}.pf-radio-group__label{font-size:13px;font-weight:600;color:var(--gray-700);white-space:nowrap}.pf-radio-group__options{display:flex;flex-wrap:wrap;gap:8px 14px}.pf-radio-opt{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;font-size:13px;color:var(--gray-700);cursor:pointer}.pf-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.pf-check--on{background:var(--blue-500);border-color:var(--blue-500)}.pf-check__mark{color:var(--white);font-size:10px;font-weight:700;line-height:1}.pf-checklist{display:flex;flex-direction:column;min-width:0;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-sm);padding:10px 12px}.pf-checklist__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;min-height:36px}.pf-checklist__title{font-size:12px;font-weight:600;color:var(--gray-700);line-height:1.35}.pf-checklist__count{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--blue-500);color:var(--white);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.pf-checklist__scroll{overflow-y:auto;background:var(--white);border:1px solid var(--gray-200);border-radius:6px}.pf-checklist__item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;font-size:12px;color:var(--gray-700);text-align:left;cursor:pointer;transition:background .12s}.pf-checklist__item:hover{background:var(--gray-50)}.pf-checklist__item--checked{background:var(--blue-50)}.pf-checklist__item--checked:hover{background:var(--blue-100)}.pf-checklist__box{width:16px;height:16px;border-radius:4px;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:border-color .15s,background .15s}.pf-checklist__box--on{background:var(--blue-500);border-color:var(--blue-500)}.pf-checklist__check{color:var(--white);font-size:10px;font-weight:700;line-height:1}.pf-checklist__text{line-height:1.4}.pf-checklist-grid{display:grid;gap:14px;margin-bottom:0}.pf-checklist-grid--4{grid-template-columns:repeat(4,1fr)}.pf-checklist-grid--3{grid-template-columns:repeat(3,1fr)}.pf-checklist-grid--2{grid-template-columns:repeat(2,1fr)}.pf-assessment--flat{background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:0}.pf-muscle-tone{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.treatment-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.treatment-split__aside{display:flex;flex-direction:column;min-width:0}.treatment-split__aside .pf-checklist__title{margin-bottom:8px}.treatment-selected{flex:1;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 14px;min-height:120px;max-height:280px;overflow-y:auto}.treatment-selected__empty{margin:0;font-size:13px;color:var(--gray-400)}.treatment-selected__row{display:grid;grid-template-columns:1fr 90px 90px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--gray-100);font-size:13px}.treatment-selected__row:last-child{border-bottom:none}.treatment-row__date{height:32px;padding:0 8px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:12px}@media (max-width: 1100px){.pf-muscle-tone{grid-template-columns:1fr}.pf-checklist-grid--4{grid-template-columns:repeat(2,1fr)}.pf-checklist-grid--3{grid-template-columns:1fr}.pf-pain-scale__numbers{grid-template-columns:repeat(6,1fr)}.treatment-split{grid-template-columns:1fr}}@media (max-width: 640px){.patient-form__grid--2,.patient-form__grid--3,.pf-checklist-grid--4,.pf-assessment{grid-template-columns:1fr}}.diag-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.diag-card{display:grid;grid-template-columns:140px 1fr;gap:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:14px}.diag-card--wide{grid-template-columns:200px 1fr;margin-bottom:14px}.diag-card__aside{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.diag-card__icon{width:56px;height:56px;object-fit:contain}.diag-card__icon--line{width:48px;height:48px}.diag-card__title{font-size:12px;font-weight:600;color:var(--gray-700)}.diag-card__subtitle{font-size:11px;color:var(--gray-500)}.diag-card__body{display:flex;flex-direction:column;gap:8px}.diag-card__body--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.diag-card__field-label{font-size:11px;color:var(--gray-500)}.diag-card__lr{display:grid;grid-template-columns:1fr 1fr;gap:8px}.diag-card__lr-label{display:block;font-size:11px;color:var(--gray-400);margin-bottom:4px}.diag-card__lr-input{width:100%;height:36px;border:none;border-radius:8px;background:var(--gray-100);padding:0 10px;font-size:13px}.course-block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.course-block__head .patient-form__section-title{margin-bottom:0}.course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.course-tabs__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:10px;border:1px solid var(--gray-200);background:var(--white);cursor:pointer;min-width:120px;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.course-tabs__item:hover{border-color:var(--blue-300)}.course-tabs__item--active{border-color:var(--blue-500);background:var(--blue-50);box-shadow:0 0 0 2px #3b82f626}.course-tabs__label{font-size:13px;font-weight:600;color:var(--gray-800)}.course-tabs__item--active .course-tabs__label{color:var(--blue-700)}.course-tabs__meta{font-size:11px;color:var(--gray-500)}.course-tabs__badge{display:inline-flex;align-items:center;margin-top:2px;padding:1px 7px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:10px;font-weight:700;letter-spacing:.02em}.course-tabs__item--active .course-tabs__badge{background:#d1fae5}.interim-exam{margin-top:28px}.interim-exam__head{margin-bottom:10px}.interim-exam__protocol{margin:-4px 0 0;font-size:13px;color:var(--gray-500)}.interim-exam__panel{display:flex;flex-direction:column;gap:16px;padding:16px 18px;border:1px solid var(--gray-200);border-radius:12px;background:#fafbfc}.interim-exam__vas-label{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--gray-700)}.interim-exam__signs{display:flex;flex-wrap:wrap;gap:14px 24px;padding-top:4px;border-top:1px dashed var(--gray-200)}.interim-exam__sign{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-800);cursor:pointer}.interim-exam__sign input{width:16px;height:16px}.interim-exam__signatures{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:8px;border-top:1px dashed var(--gray-200)}.signature-pad{display:flex;flex-direction:column;gap:8px;min-width:0}.signature-pad__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.signature-pad__label{font-size:13px;font-weight:600;color:var(--gray-700)}.signature-pad__clear{border:none;background:transparent;color:var(--blue-600);font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0}.signature-pad__clear:disabled{color:var(--gray-400);cursor:default}.signature-pad__frame{position:relative;border:1px dashed var(--gray-300);border-radius:10px;background:linear-gradient(transparent 95%,#e5e7eb 95%) 0 100% / 100% 32px no-repeat,#fff;overflow:hidden;touch-action:none;user-select:none}.signature-pad__frame--filled{border-style:solid;border-color:var(--gray-200)}.signature-pad__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--gray-400);font-size:13px;z-index:1}.signature-pad__canvas{display:block;width:100%;max-width:100%;height:160px;cursor:crosshair;touch-action:none;position:relative;z-index:2}@media (max-width: 900px){.interim-exam__signatures{grid-template-columns:1fr}}.course-block__panel{padding-top:4px}.course-block__panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.course-block__panel-title{margin:0;font-size:14px;font-weight:600;color:var(--gray-800)}.course-block__remove{border:none;background:transparent;color:#dc2626;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px}.course-block__remove:hover{background:#fef2f2}.course-block__hint{margin:12px 0 0;font-size:12px;color:var(--gray-500);line-height:1.45}.course-block__compact-note{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:var(--blue-50);color:var(--blue-700);font-size:13px}.course-block--compact .course-tabs{margin-bottom:8px}.course-block{margin-bottom:24px;padding:16px 18px;border-radius:12px;border:1px solid var(--gray-200);background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}.course-block .patient-form__section-title{margin-bottom:14px}.course-block__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-block__summary{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:var(--blue-50);color:var(--blue-700);font-size:13px}.treatment-procedures{display:flex;flex-direction:column;gap:12px}.treatment-procedures__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.treatment-procedures__title{font-size:13px;font-weight:600;color:var(--gray-700)}.treatment-procedures__quick{display:flex;flex-wrap:wrap;gap:8px}.treatment-procedures__quick-btn{border:1px dashed var(--blue-300);background:var(--blue-50);color:var(--blue-700);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}.treatment-procedures__quick-btn:hover{background:var(--blue-100)}.treatment-procedures__empty{margin:0;padding:16px;border-radius:10px;border:1px dashed var(--gray-200);color:var(--gray-400);font-size:13px;text-align:center}.treatment-procedures__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.treatment-procedures__card{padding:12px;border-radius:12px;border:1px solid var(--gray-200);background:var(--white);display:flex;flex-direction:column;gap:10px}.treatment-procedures__card-head{display:flex;align-items:center;justify-content:space-between}.treatment-procedures__card-num{width:24px;height:24px;border-radius:50%;background:var(--blue-500);color:var(--white);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.treatment-procedures__card-remove{border:none;background:transparent;color:var(--gray-400);font-size:20px;cursor:pointer;line-height:1}.treatment-procedures__card-remove:hover{color:#dc2626}.treatment-procedures__field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--gray-500)}.treatment-procedures__field input,.treatment-procedures__field select{height:36px;border-radius:8px;border:1px solid var(--gray-200);padding:0 10px;font-size:13px;color:var(--gray-800);background:var(--white)}.treatment-procedures__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.marker-procedures{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-200)}.marker-procedures__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.marker-procedures__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.marker-procedures__empty{margin:0;font-size:12px;color:var(--gray-400)}.marker-procedures__list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto}.marker-procedures__card{padding:10px;border-radius:10px;border:1px solid var(--gray-200);background:var(--gray-50);display:flex;flex-direction:column;gap:8px}.marker-procedures__card-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--gray-600)}.marker-procedures__card-head button{border:none;background:transparent;color:var(--gray-400);font-size:18px;cursor:pointer}.marker-procedures__field{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--gray-500)}.marker-procedures__field input,.marker-procedures__field select{height:34px;border-radius:8px;border:1px solid var(--gray-200);padding:0 8px;font-size:12px;background:var(--white)}.marker-procedures__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.body-map-marker--has-procedures:not(.body-map-marker--selected){background:#ecfdf5;border:1px solid #34d399}@media (max-width: 900px){.course-block__grid,.treatment-procedures__list{grid-template-columns:1fr}}.icd10-search{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.icd10-search__suggestions-label{display:block;font-size:11px;color:var(--gray-500);margin-bottom:6px}.icd10-search__suggestions-row{display:flex;flex-wrap:wrap;gap:8px}.icd10-search__field-wrap{position:relative}.icd10-search__field{width:100%;height:44px}.icd10-search__spinner{font-size:18px;color:var(--gray-400);line-height:1}.icd10-search__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;list-style:none;margin:0;padding:6px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 8px 24px #0000001a;max-height:280px;overflow-y:auto}.icd10-search__dropdown-empty{padding:12px 14px;font-size:13px;color:var(--gray-400)}.icd10-search__option{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-size:13px;line-height:1.35}.icd10-search__option:hover,.icd10-search__option--active{background:var(--blue-50)}.icd10-search__option--picked{opacity:.5;cursor:default}.icd10-search__option-code{flex-shrink:0;font-weight:700;color:var(--blue-600);min-width:52px}.icd10-search__option-name{color:var(--gray-700)}.icd10-search__selected{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.icd10-search__selected-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--gray-200);background:var(--gray-50)}.icd10-search__selected-main{flex:1;min-width:0}.icd10-search__selected-code{display:inline-block;font-weight:700;color:var(--blue-600);font-size:13px;margin-right:8px}.icd10-search__selected-name{font-size:13px;color:var(--gray-700);line-height:1.4}.icd10-search__selected-remove{flex-shrink:0;border:none;background:transparent;color:var(--gray-400);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.icd10-search__selected-remove:hover{color:#dc2626}.icd-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.icd-chip{min-width:72px;height:40px;border-radius:10px;border:1px solid var(--gray-200);background:var(--white);font-weight:600;color:var(--gray-600)}.icd-chip--active{border-color:var(--blue-500);color:var(--blue-500);background:var(--blue-50)}.icd-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;background:var(--gray-100);border-radius:10px;padding:0 12px;height:40px}.icd-search__input{flex:1;border:none;background:transparent;font-size:13px}.icd-search__add{flex-shrink:0;width:28px;height:28px;border-radius:8px;border:1px solid var(--blue-500);background:var(--blue-50);color:var(--blue-600);font-size:18px;font-weight:600;cursor:pointer;line-height:1}.icd-selected{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.icd-selected__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--blue-50);border:1px solid var(--blue-500);color:var(--blue-600);font-size:13px;font-weight:600}.icd-selected__remove{border:none;background:transparent;color:var(--blue-500);cursor:pointer;font-size:16px;line-height:1;padding:0}.pathology-table__empty{padding:16px;text-align:center;color:var(--gray-500);font-size:13px}.pathology-table__cell{width:100%;min-width:0;height:32px;border:1px solid var(--gray-200);border-radius:6px;padding:0 6px;font-size:12px;background:var(--white)}.pathology-table__row--edit{border-top:1px solid var(--gray-100)}.diagnosis-body-map__tool{width:36px;height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);cursor:pointer;transition:background .15s,border-color .15s}.diagnosis-body-map__tool:hover{border-color:var(--blue-500);background:var(--blue-50)}.diagnosis-body-map__tool--active{border-color:var(--blue-500);background:var(--blue-500);color:var(--white)}.diagnosis-recs-add{display:flex;gap:10px;align-items:center;max-width:640px}.diagnosis-recs-add__btn{flex-shrink:0}.diagnosis-recs-select{flex:1;min-width:0;height:38px;padding:0 32px 0 12px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);font-size:14px;color:var(--gray-900);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.diagnosis-recs-select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px #3b82f61f}.diagnosis-recs-select option[value=""]{color:var(--gray-400)}.diagnosis-body-map-section{margin:20px 0 24px}.diagnosis-body-map-section .patient-form__section-title{margin-bottom:12px}.diagnosis-recs-panel{margin:0 0 24px;padding:16px 18px;border-radius:12px;border:1px solid var(--gray-200);background:var(--gray-50)}.diagnosis-recs-panel .patient-form__section-title{margin-bottom:12px}.diagnosis-recs-panel .rec-list{margin-top:12px}.rec-list__empty{padding:12px;color:var(--gray-400);font-size:13px}.rec-list__remove{cursor:pointer}.patient-detail-notice{margin:0 0 16px;padding:12px 16px;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-size:13px}.pathology-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.pathology-header .patient-form__section-title{margin-bottom:0}.pathology-table{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;margin:12px 0 16px}.pathology-table__row{display:grid;grid-template-columns:repeat(7,1fr) 40px;gap:8px;padding:10px 12px;font-size:12px;align-items:center}.pathology-table__row--head{background:var(--gray-50);color:var(--gray-500);font-size:11px}.pathology-table__delete{border:none;background:transparent;cursor:pointer}.diagnosis-body-map{display:grid;grid-template-columns:1fr auto 280px;gap:16px;margin:16px 0;align-items:start}.diagnosis-body-map--extended{grid-template-columns:1fr 280px;gap:20px}.diagnosis-body-map__editor{min-width:0}.diagnosis-body-map__editor .patient-form__section-title{margin-bottom:12px}.body-map-editor{display:flex;flex-direction:column;gap:16px}.body-map-editor__main{display:grid;grid-template-columns:1fr auto;gap:12px;min-width:0}.body-map-editor__canvas-col{min-width:0;display:flex;flex-direction:column;gap:10px}.body-map-editor__toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.body-map-editor__view-toggle{display:inline-flex;padding:3px;background:var(--gray-100);border-radius:10px;border:1px solid var(--gray-200)}.body-map-editor__view-btn{border:none;background:transparent;padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.body-map-editor__view-btn:hover{color:var(--gray-800)}.body-map-editor__view-btn--active{background:var(--white);color:var(--blue-600);box-shadow:0 1px 3px #00000014}.body-map-editor__hint{font-size:12px;color:var(--gray-500);flex:1;text-align:right}.body-map-editor__viewport{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--gray-200);background:#1a1a1a;min-height:480px;cursor:crosshair;touch-action:none}.body-map-editor__stage{position:relative;width:100%;transform-origin:center center}.body-map-editor__transform{width:100%;transform-origin:center center;transition:transform .08s ease-out}.body-map-editor__saved-hint{display:block;margin-top:8px;font-size:12px;color:#059669;text-align:center}.body-map-editor__image{display:block;width:100%;max-width:100%;height:auto;max-height:560px;object-fit:contain;user-select:none;pointer-events:none}.body-map-marker{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:none;border-radius:6px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px #0000002e;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:4;pointer-events:auto;transition:transform .12s,box-shadow .12s,background .12s}.body-map-marker:hover{box-shadow:0 2px 8px #2563eb59}.body-map-marker--selected{background:var(--blue-500);color:var(--white);box-shadow:0 0 0 3px #3b82f659}.body-map-marker--filled:not(.body-map-marker--selected){background:#dbeafe;border:1px solid var(--blue-400)}.body-map-marker__glyph{font-size:14px;line-height:1}.body-map-marker--circle .body-map-marker__glyph{font-size:16px}.body-map-editor__zoom-bar{display:flex;align-items:center;gap:8px}.body-map-editor__zoom-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);font-size:18px;line-height:1;cursor:pointer}.body-map-editor__zoom-btn:hover{border-color:var(--blue-400);background:var(--blue-50)}.body-map-editor__zoom-label{font-size:12px;color:var(--gray-500);min-width:44px;text-align:center}.body-map-editor__zoom-reset{margin-left:4px;padding:6px 12px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);font-size:12px;cursor:pointer}.body-map-editor__zoom-reset:hover{border-color:var(--blue-400)}.body-map-editor__tools{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200)}.body-map-editor__tools-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-400);padding:4px 2px 2px}.body-map-editor__tools-divider{height:1px;background:var(--gray-200);margin:6px 0}.body-map-editor__details{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.body-map-editor__side{display:flex;flex-direction:column;gap:12px}.body-map-editor__editor{padding:14px;border-radius:12px;border:1px solid var(--gray-200);background:var(--white)}.body-map-editor__editor--empty{color:var(--gray-500);font-size:13px;line-height:1.5}.body-map-editor__editor--empty p{margin:0}.body-map-editor__editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.body-map-editor__editor-title{font-size:13px;font-weight:600;color:var(--gray-700)}.body-map-editor__editor-delete{border:none;background:transparent;color:#dc2626;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px}.body-map-editor__editor-delete:hover{background:#fef2f2}.body-map-editor__save{width:100%;margin-top:10px}.body-map-editor__list{padding:12px;border-radius:12px;border:1px solid var(--gray-200);background:var(--white);max-height:240px;overflow-y:auto}.body-map-editor__list-title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin-bottom:8px}.body-map-editor__list-empty{margin:0;font-size:12px;color:var(--gray-400)}.body-map-marker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.body-map-marker-list__item{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);cursor:pointer;font-size:12px;line-height:1.4;color:var(--gray-700);transition:border-color .15s,background .15s}.body-map-marker-list__item:hover{border-color:var(--blue-300)}.body-map-marker-list__item--active{border-color:var(--blue-500);background:var(--blue-50)}.body-map-marker-list__num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--gray-200);color:var(--gray-600);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.body-map-marker-list__item--active .body-map-marker-list__num{background:var(--blue-500);color:var(--white)}.body-map-marker-list__text{flex:1;min-width:0;word-break:break-word}@media (max-width: 900px){.body-map-editor__details{grid-template-columns:1fr}.diagnosis-recs-add{max-width:none;flex-direction:column;align-items:stretch}}@media (max-width: 1100px){.diagnosis-body-map--extended{grid-template-columns:1fr}}.diagnosis-body-map__image-wrap{background:var(--gray-50);border-radius:12px;padding:12px;border:1px solid var(--gray-200)}.diagnosis-body-map__select{width:100%;margin-bottom:8px;height:36px;border-radius:8px;border:1px solid var(--gray-200);padding:0 10px}.diagnosis-body-map__image{width:100%;max-height:420px;object-fit:contain}.diagnosis-body-map__toolbar{display:flex;flex-direction:column;gap:6px}.rec-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.rec-list__item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--gray-100);border-radius:8px;padding:10px 12px;font-size:13px}.rec-list__remove{width:24px;height:24px;border-radius:6px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-500)}.treatment-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.treatment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gray-100);border-radius:10px;padding:12px 14px}.treatment-row--on{background:var(--blue-50);border:1px solid var(--blue-100)}.treatment-row__name{font-size:13px;font-weight:500}.treatment-row__controls{display:flex;align-items:center;gap:8px}.treatment-row__toggle{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);font-size:12px}.treatment-row__toggle--on{border-color:var(--blue-500);color:var(--blue-500)}.treatment-row__date{width:140px;height:32px;border:none;border-radius:8px;background:var(--white);padding:0 10px;font-size:12px}.treatment-total{display:flex;align-items:center;gap:12px;margin-bottom:20px}.treatment-total__label{font-weight:600;color:var(--gray-700)}.treatment-total__bar{flex:1;display:flex;justify-content:space-between;align-items:center;background:var(--gray-100);border-radius:10px;padding:12px 16px;font-size:13px}.treatment-total__bar strong{color:var(--blue-500);font-size:15px}.form-page__title{margin:0;font-size:22px;font-weight:700}.form-page__subtitle{margin:4px 0 0;font-size:14px;color:var(--gray-500)}.patients-page,.patient-detail-page{flex:1;display:flex;flex-direction:column;min-height:0;padding:24px 32px 32px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header__title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}.page-header__subtitle{margin:6px 0 0;color:var(--gray-500)}.patients-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.patients-search{flex:1;max-width:420px;display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:0 14px;height:44px;box-shadow:var(--shadow)}.patients-search input{flex:1;background:transparent;font-size:14px}.patients-toolbar__count{color:var(--gray-500);font-size:13px}.patients-table-wrap{flex:1;min-height:0;overflow:auto;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow)}.patients-table{width:100%;border-collapse:collapse;font-size:13px}.patients-table thead{position:sticky;top:0;z-index:1;background:var(--gray-50)}.patients-table th,.patients-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--gray-100);white-space:nowrap}.patients-table th{font-size:12px;font-weight:600;color:var(--gray-500)}.patients-table__row{transition:background .12s}.patients-table__row:hover{background:var(--blue-50)}.patients-table__row--clickable{cursor:pointer}.patients-table__name{font-weight:600;color:var(--gray-900)}.patients-table__empty,.patients-table__loading,.patients-table__error{padding:48px 24px;text-align:center;color:var(--gray-500)}.patients-table__error{color:#dc2626}.patients-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:20px}.patients-pagination__btn{height:40px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--white);font-weight:600}.patients-pagination__btn:disabled{opacity:.45;cursor:not-allowed}.patients-pagination__info{color:var(--gray-500);font-size:13px}.patient-detail-header{margin-bottom:24px}.patient-detail-header__back{display:inline-flex;align-items:center;gap:8px;color:var(--gray-500);margin-bottom:16px;font-weight:500}.patient-detail-header__main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.patient-detail-header__title{margin:0;font-size:26px;font-weight:700}.patient-detail-header__meta{margin:8px 0 0;color:var(--gray-500)}.patient-detail-header__actions{display:flex;gap:12px;flex-shrink:0}.patient-info-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px}.patient-info-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow)}.patient-info-card__label{display:block;font-size:11px;color:var(--gray-400);margin-bottom:6px}.patient-info-card__value{font-size:14px;font-weight:600;color:var(--gray-900)}.patient-visits__title{margin:0 0 12px;font-size:18px;font-weight:700}.visit-status{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;background:var(--gray-100);color:var(--gray-600)}.visit-status--in_progress{background:var(--blue-50);color:var(--blue-600)}.visit-status--completed{background:var(--green-50);color:#15803d}.visit-print-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);cursor:pointer;font-size:14px;line-height:1}.visit-print-btn:hover:not(:disabled){border-color:var(--blue-400);background:var(--blue-50)}.visit-print-btn:disabled{opacity:.55;cursor:default}@media (max-width: 1200px){.patient-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.patients-page,.patient-detail-page{padding:16px}.patient-detail-header__main{flex-direction:column}.patient-info-cards{grid-template-columns:1fr}}@media (max-width: 1200px){.schedule-page{flex-direction:column}.specialist-filter{width:100%;max-height:none;margin-right:0;margin-bottom:16px}.specialist-filter__list{max-height:200px}}@media (max-width: 900px){.sidebar{display:none}.schedule-header{flex-wrap:wrap}.schedule-header__search{max-width:100%}.form-page__body{flex-direction:column}.form-page__right{max-width:none;min-width:0;border-top:1px solid var(--gray-200)}}.voice-input-wrap{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.voice-input-wrap>:first-child{flex:1;min-width:0}.pf-field__box--textarea .voice-input-wrap{align-items:flex-start}.pf-field__box--textarea .voice-mic-btn{margin-top:4px}.voice-mic-btn{flex-shrink:0;width:34px;height:34px;border-radius:10px;border:1px solid var(--gray-200);background:var(--white);color:var(--blue-500);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.voice-mic-btn:hover{background:var(--blue-50);border-color:var(--blue-500);box-shadow:0 2px 8px #3b82f633}.diag-card__lr-col .voice-input-wrap{width:100%}.diag-card__lr-col .voice-mic-btn{width:30px;height:30px}.icd-search .voice-input-wrap{flex:1;min-width:0}.icd-search .voice-mic-btn{width:30px;height:30px}.pathology-table__row .voice-input-wrap{min-width:0}.pathology-table__row .voice-mic-btn{width:28px;height:28px}.voice-panel-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;padding:20px}.voice-panel{width:min(440px,100%);background:var(--white);border-radius:16px;box-shadow:0 20px 60px #0000002e;padding:22px 22px 18px}.voice-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.voice-panel__title{margin:0;font-size:18px;font-weight:700;color:var(--gray-900)}.voice-panel__subtitle{margin:4px 0 0;font-size:13px;color:var(--gray-500)}.voice-panel__close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:8px;font-size:22px;line-height:1;color:var(--gray-500);cursor:pointer}.voice-panel__mic{position:relative;width:88px;height:88px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0}.voice-panel__mic-ring{position:absolute;inset:0;border-radius:50%;background:var(--blue-50);border:2px solid var(--blue-100)}.voice-panel__mic--active .voice-panel__mic-ring{animation:voice-pulse 1.4s ease-in-out infinite;border-color:var(--blue-500)}.voice-panel__mic-icon{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:var(--blue-500);color:var(--white);display:flex;align-items:center;justify-content:center}.voice-panel__mic--active .voice-panel__mic-icon{box-shadow:0 0 0 8px #3b82f626}@keyframes voice-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.voice-panel__status{margin:0 0 12px;text-align:center;font-size:13px;color:var(--gray-600)}.voice-panel__status--error{color:#dc2626}.voice-panel__preview{min-height:96px;max-height:160px;overflow-y:auto;padding:12px 14px;border-radius:12px;background:var(--gray-50);border:1px solid var(--gray-200);font-size:14px;line-height:1.5;color:var(--gray-900);margin-bottom:16px}.voice-panel__preview-placeholder{color:var(--gray-400)}.voice-panel__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:10px}.voice-panel__hint{margin:0;font-size:11px;color:var(--gray-400);text-align:center;line-height:1.4}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--gray-500);font-size:15px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff 0%,#f8fafc 60%,#eff6ff 100%);padding:24px}.login-card{width:100%;max-width:380px;background:var(--white);border-radius:16px;box-shadow:0 10px 40px #0f172a1f;padding:32px 28px;display:flex;flex-direction:column;gap:14px}.login-card__brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--blue-600);justify-content:center;margin-bottom:4px}.login-card__title{margin:0;text-align:center;font-size:20px;color:var(--gray-900)}.login-card__subtitle{margin:0 0 8px;text-align:center;font-size:13px;color:var(--gray-500)}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--gray-700)}.login-field input{border:1px solid var(--gray-300);border-radius:8px;padding:10px 12px;font-size:14px;outline:none;transition:border-color .15s}.login-field input:focus{border-color:var(--blue-500)}.login-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:9px 12px;font-size:13px}.login-submit{margin-top:6px;background:var(--blue-600);color:#fff;border-radius:8px;padding:11px 12px;font-size:15px;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:var(--blue-500)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.app-topbar{display:flex;align-items:center;justify-content:flex-end;padding:10px 24px;border-bottom:1px solid var(--gray-200);background:var(--white)}.app-topbar__spacer{flex:1}.app-topbar__user{display:flex;align-items:center;gap:10px}.app-topbar__avatar{width:36px;height:36px;border-radius:50%;background:var(--blue-100);color:var(--blue-600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.app-topbar__meta{line-height:1.2}.app-topbar__name{font-size:13px;font-weight:600;color:var(--gray-900)}.app-topbar__role{font-size:11px;color:var(--gray-500)}.app-topbar__logout{margin-left:12px;border:1px solid var(--gray-300);border-radius:8px;padding:7px 14px;font-size:13px;color:var(--gray-700);background:var(--white);transition:all .15s}.app-topbar__logout:hover{border-color:#fca5a5;color:#b91c1c;background:#fef2f2}.users-page{padding:24px;max-width:1000px}.users-page__header h1{margin:0 0 4px;font-size:22px;color:var(--gray-900)}.users-page__header p{margin:0 0 18px;color:var(--gray-500);font-size:13px}.users-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:16px}.user-create{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:18px 20px;margin-bottom:22px}.user-create h2{margin:0 0 14px;font-size:15px;color:var(--gray-900)}.user-create__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.user-create__grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--gray-700)}.user-create__grid input,.user-create__grid select{border:1px solid var(--gray-300);border-radius:8px;padding:9px 10px;font-size:14px;outline:none}.user-create__grid input:focus,.user-create__grid select:focus{border-color:var(--blue-500)}.btn-primary{background:var(--blue-600);color:#fff;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--blue-500)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.users-table-wrap{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{text-align:left;padding:11px 14px;font-size:13px;border-bottom:1px solid var(--gray-100)}.users-table th{background:var(--gray-50);color:var(--gray-500);font-weight:600}.users-table tr.is-inactive{opacity:.55}.users-table select{border:1px solid var(--gray-300);border-radius:6px;padding:5px 8px;font-size:13px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.badge--ok{background:var(--green-50);color:#15803d}.badge--off{background:var(--gray-100);color:var(--gray-500)}.users-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.link-btn{background:none;border:none;color:var(--blue-600);font-size:12.5px;cursor:pointer;padding:0}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--gray-300);cursor:not-allowed}.link-btn--danger{color:#dc2626}.reset-inline{display:flex;align-items:center;gap:6px}.reset-inline input{border:1px solid var(--gray-300);border-radius:6px;padding:5px 8px;font-size:12.5px;width:130px}.users-loading{padding:24px;text-align:center;color:var(--gray-500)}.users-hint{margin-top:16px;font-size:12.5px;color:var(--gray-500);line-height:1.6}.pdf-preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:20px}.pdf-preview-modal{width:min(960px,100%);height:min(92vh,900px);background:var(--white);border-radius:14px;box-shadow:0 24px 60px #0f172a40;display:flex;flex-direction:column;overflow:hidden}.pdf-preview-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.pdf-preview-modal__title{margin:0;font-size:17px;color:var(--gray-900)}.pdf-preview-modal__hint{margin:4px 0 0;font-size:12px;color:var(--gray-500)}.pdf-preview-modal__close{width:36px;height:36px;border-radius:8px;font-size:22px;line-height:1;color:var(--gray-500);background:var(--gray-50)}.pdf-preview-modal__close:hover{background:var(--gray-100);color:var(--gray-900)}.pdf-preview-modal__body{flex:1;min-height:0;background:var(--gray-100);position:relative}.pdf-preview-modal__frame{width:100%;height:100%;border:none;background:#525659}.pdf-preview-modal__state,.pdf-preview-modal__error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:14px}.pdf-preview-modal__error{color:#b91c1c}.pdf-preview-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--gray-200);background:var(--white)}.procedure-cabinet{padding:24px}.procedure-cabinet__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.procedure-cabinet__header h1{margin:0 0 4px;font-size:22px}.procedure-cabinet__header p{margin:0;color:var(--gray-500);font-size:13px}.procedure-cabinet__filters{display:flex;gap:8px;flex-wrap:wrap}.procedure-filter-btn{border:1px solid var(--gray-300);border-radius:999px;padding:7px 14px;font-size:13px;background:var(--white);color:var(--gray-700)}.procedure-filter-btn--active{background:var(--blue-50);border-color:var(--blue-500);color:var(--blue-600);font-weight:600}.procedure-cabinet-table-wrap{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:auto}.procedure-cabinet-table{width:100%;border-collapse:collapse;min-width:880px}.procedure-cabinet-table th,.procedure-cabinet-table td{padding:11px 14px;text-align:left;font-size:13px;border-bottom:1px solid var(--gray-100);vertical-align:top}.procedure-cabinet-table th{background:var(--gray-50);color:var(--gray-500);font-weight:600;white-space:nowrap}.procedure-cabinet-table tr.is-completed{background:#f0fdf4}.procedure-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600}.procedure-status--pending{background:#fef3c7;color:#b45309}.procedure-status--completed{background:var(--green-50);color:#15803d}.procedure-done-btn{border:1px solid var(--green-500);background:var(--green-50);color:#15803d;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.procedure-done-btn:hover:not(:disabled){background:#dcfce7}.procedure-done-btn:disabled{opacity:.5;cursor:not-allowed}.procedure-undo-btn{border:none;background:none;color:var(--gray-500);font-size:12px;text-decoration:underline;padding:0}.procedure-meta{font-size:11px;color:var(--gray-400);margin-top:4px}.pf-field__clear{flex-shrink:0;width:22px;height:22px;border-radius:6px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pf-field__clear:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#dc2626}.pf-field__clear:disabled{opacity:.35;cursor:default}.payment-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.payment-status--paid{background:var(--green-50);color:#15803d}.payment-status--partial{background:#fef3c7;color:#b45309}.payment-status--unpaid{background:#fef2f2;color:#b91c1c}.page-header__actions{display:flex;align-items:center;gap:10px}.form-page__header-actions{display:flex;align-items:center;gap:12px}.patient-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:20px}.patient-modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:var(--white);border-radius:14px;box-shadow:0 24px 60px #0f172a40;padding:20px 24px 18px}.patient-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.patient-modal__title{margin:0;font-size:19px;color:var(--gray-900)}.patient-modal__hint{margin:4px 0 0;font-size:12.5px;color:var(--gray-500)}.patient-modal__close{width:36px;height:36px;border-radius:8px;font-size:22px;line-height:1;color:var(--gray-500);background:var(--gray-50)}.patient-modal__close:hover{background:var(--gray-100);color:var(--gray-900)}.patient-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.patient-modal__field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--gray-700)}.patient-modal__field--wide{grid-column:1 / -1}.patient-modal__field input,.patient-modal__field select{border:1px solid var(--gray-300);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--gray-900);background:var(--white)}.patient-modal__field input:focus,.patient-modal__field select:focus{outline:none;border-color:var(--blue-500)}.patient-modal__error{margin-top:14px;padding:10px 12px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px}.patient-modal__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media (max-width: 640px){.patient-modal__grid{grid-template-columns:1fr}}.btn-form--record{display:inline-flex;align-items:center;gap:8px;padding:0 18px;border:1px solid var(--blue-500);background:var(--blue-50);color:var(--blue-500)}.btn-form--record:disabled{opacity:.55;cursor:not-allowed}.rec-panel-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;padding:20px}.rec-panel{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--white);border-radius:16px;box-shadow:0 20px 60px #0000002e;padding:22px}.rec-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.rec-panel__title{margin:0;font-size:18px;font-weight:700;color:var(--gray-900)}.rec-panel__subtitle{margin:4px 0 0;font-size:13px;color:var(--gray-500)}.rec-panel__close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:8px;font-size:22px;line-height:1;color:var(--gray-500);cursor:pointer}.rec-panel__recorder{display:flex;align-items:center;gap:18px;padding:16px;border-radius:12px;background:var(--gray-50);border:1px solid var(--gray-200)}.rec-panel__mic{position:relative;width:76px;height:76px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0;cursor:pointer}.rec-panel__mic:disabled{opacity:.5;cursor:not-allowed}.rec-panel__mic-ring{position:absolute;inset:0;border-radius:50%;background:var(--blue-50);border:2px solid var(--blue-100)}.rec-panel__mic--active .rec-panel__mic-ring{animation:voice-pulse 1.4s ease-in-out infinite;border-color:#dc2626}.rec-panel__mic-icon{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;background:var(--blue-500);color:var(--white);display:flex;align-items:center;justify-content:center}.rec-panel__mic--active .rec-panel__mic-icon{background:#dc2626;box-shadow:0 0 0 8px #dc262626}.rec-panel__meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.rec-panel__timer{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gray-900)}.rec-panel__status{margin:0;font-size:13px;color:var(--gray-600)}.rec-panel__meta-actions{display:flex;flex-wrap:wrap;gap:8px}.rec-panel__label{display:block;margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--gray-700)}.rec-panel__note{margin:-4px 0 8px;font-size:12px;color:var(--gray-500)}.rec-panel__live{min-height:110px;max-height:220px;overflow-y:auto;padding:12px 14px;border-radius:12px;background:var(--gray-50);border:1px solid var(--gray-200);font-size:14px;line-height:1.5;color:var(--gray-900)}.rec-panel__live-placeholder{color:var(--gray-400)}.rec-panel__textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--gray-300);font-size:14px;line-height:1.5;color:var(--gray-900);resize:vertical}.rec-panel__textarea:focus{outline:none;border-color:var(--blue-500)}.rec-panel__audio{width:100%;margin-top:12px}.rec-panel__notice,.rec-panel__hint,.rec-panel__error{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4}.rec-panel__notice{background:#ecfdf5;color:#047857}.rec-panel__hint{background:var(--gray-50);color:var(--gray-600)}.rec-panel__error{background:#fef2f2;color:#b91c1c}.rec-panel__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.rec-list{margin-top:22px;padding-top:18px;border-top:1px solid var(--gray-200)}.rec-list__title{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--gray-900)}.rec-list__empty{margin:0;font-size:13px;color:var(--gray-500)}.rec-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.rec-list__item{padding:12px 14px;border-radius:12px;border:1px solid var(--gray-200);background:var(--white)}.rec-list__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.rec-list__info{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gray-600)}.rec-list__date{font-weight:600;color:var(--gray-900)}.rec-list__duration{font-variant-numeric:tabular-nums}.rec-list__author{color:var(--gray-400)}.rec-list__actions{display:flex;flex-wrap:wrap;gap:8px}.rec-list__actions .btn-form{height:34px;min-width:0;padding:0 12px;font-size:13px}.rec-list__delete{height:34px;padding:0 12px;border:1px solid #fecaca;border-radius:var(--radius-sm);background:#fef2f2;color:#b91c1c;font-size:13px;font-weight:600;cursor:pointer}.rec-list__transcript{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--gray-50);font-size:13px;line-height:1.5;color:var(--gray-700);white-space:pre-wrap}@media (max-width: 640px){.rec-panel__recorder{flex-direction:column;align-items:flex-start}}.autofill-cta{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding:18px 20px;border-radius:14px;border:1px solid var(--blue-100);background:linear-gradient(180deg,var(--blue-50) 0%,var(--white) 100%)}.autofill-cta__icon{flex-shrink:0;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue-500);color:var(--white)}.autofill-cta__text{flex:1;min-width:0}.autofill-cta__title{margin:0 0 4px;font-size:17px;font-weight:700;color:var(--gray-900)}.autofill-cta__subtitle{margin:0;font-size:13px;line-height:1.5;color:var(--gray-600)}.autofill-cta__btn{flex-shrink:0;height:52px;padding:0 28px;border:none;border-radius:12px;background:var(--blue-500);color:var(--white);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #3b82f647}.autofill-cta__btn:hover:not(:disabled){background:var(--blue-600)}.autofill-cta__btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rec-panel--wide{width:min(760px,100%)}.rec-panel__checkbox{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--gray-700);cursor:pointer}.autofill-review__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.autofill-review__counter{font-size:13px;font-weight:600;color:var(--gray-700)}.autofill-review__bulk{display:flex;gap:8px}.autofill-review__bulk .btn-form{height:34px;min-width:0;padding:0 12px;font-size:13px}.autofill-review{max-height:46vh;overflow-y:auto;padding-right:4px}.autofill-review__group{margin-bottom:16px}.autofill-review__section{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--blue-600);text-transform:uppercase;letter-spacing:.02em}.autofill-review__row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:10px;margin-bottom:8px}.autofill-review__row:hover{border-color:var(--blue-100);background:var(--gray-50)}.autofill-review__row input[type=checkbox]{margin-top:3px;flex-shrink:0}.autofill-review__field{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.autofill-review__label{font-size:13px;font-weight:600;color:var(--gray-900)}.autofill-review__values{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;line-height:1.45}.autofill-review__current{color:var(--gray-400);text-decoration:line-through;max-width:40%;overflow-wrap:anywhere}.autofill-review__arrow{color:var(--gray-400)}.autofill-review__suggested{color:var(--gray-900);font-weight:500}.autofill-review__input{flex:1 1 220px;min-width:0;width:100%;max-width:100%;height:36px;padding:0 10px;border:1px solid var(--gray-200);border-radius:8px;background:#fff;color:var(--gray-900);font:inherit;font-size:13px;font-weight:500}.autofill-review__input:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px #3b82f626}.autofill-review__input--area{height:auto;min-height:72px;padding:8px 10px;resize:vertical;line-height:1.4}@media (max-width: 720px){.autofill-cta{flex-direction:column;align-items:flex-start}.autofill-cta__btn{width:100%}}.archive-page{padding:28px 32px 40px;max-width:1100px}.archive-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.archive-page__title{margin:0 0 6px;font-size:24px;font-weight:700;color:var(--gray-900)}.archive-page__subtitle{margin:0;max-width:640px;font-size:14px;line-height:1.45;color:var(--gray-600)}.archive-page__count{flex-shrink:0;padding:6px 12px;border-radius:999px;background:var(--blue-50);color:var(--blue-600);font-size:13px;font-weight:600}.archive-page__filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.archive-page__field{display:flex;flex-direction:column;gap:4px;min-width:160px;font-size:12px;font-weight:600;color:var(--gray-600)}.archive-page__field input{height:38px;padding:0 10px;border:1px solid var(--gray-200);border-radius:8px;background:#fff;font:inherit;font-size:14px;font-weight:400;color:var(--gray-900)}.archive-page__empty{padding:28px;border:1px dashed var(--gray-200);border-radius:12px;color:var(--gray-500);text-align:center}.archive-page__pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;font-size:14px;color:var(--gray-700)}.archive-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.archive-list__item{padding:14px 16px;border:1px solid var(--gray-200);border-radius:12px;background:#fff}.archive-list__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.archive-list__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0}.archive-list__date{font-size:14px;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums}.archive-list__patient{font-size:14px;font-weight:600;color:var(--gray-800)}.archive-list__duration,.archive-list__author{font-size:13px;color:var(--gray-500)}.archive-list__actions{display:flex;flex-wrap:wrap;gap:8px}.archive-list__audio{display:block;width:100%;margin-top:12px}.archive-list__transcript{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--gray-50);color:var(--gray-700);font-size:13px;line-height:1.45;white-space:pre-wrap}@media (max-width: 720px){.archive-page{padding:20px 16px 32px}.archive-page__header{flex-direction:column}}
