:root{font-family:Segoe UI,Inter,Arial,sans-serif;color:#0f1923;background:#f4f6f9;font-synthesis:none;text-rendering:optimizeLegibility;--background: #f4f6f9;--foreground: #0f1923;--card: #fff;--primary: #0d6e8a;--primary-dark: #0b5f78;--secondary: #e8f4f8;--muted: #eef1f5;--muted-fg: #6b7a8d;--success: #2ec4a0;--danger: #e85d4a;--warning: #f5a623;--purple: #7b68ee;--sidebar: #0f1e2e;--border: rgba(15,25,35,.09);--shadow: 0 8px 30px rgba(15,30,46,.07)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;min-height:100vh;background:var(--background)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Segoe UI,Inter,Arial,sans-serif}code,pre{font-family:Consolas,Courier New,monospace}.btn{border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;transition:.16s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-sm{min-height:32px;padding:6px 11px;font-size:12px}.btn-md{min-height:39px;padding:9px 15px;font-size:13px}.btn-lg{min-height:46px;padding:11px 20px;font-size:14px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #0d6e8a2e}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{color:var(--primary);background:var(--secondary);border:1px solid rgba(13,110,138,.14)}.btn-secondary:hover:not(:disabled){background:#dceff5}.btn-ghost{color:var(--muted-fg);background:transparent}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:hover:not(:disabled){background:#d94c39}.btn-success{color:#fff;background:var(--success)}.btn-success:hover:not(:disabled){background:#24b18f}.btn-warning{color:#754600;background:#ffe8ba;border:1px solid #f5c765}.btn-warning:hover:not(:disabled){background:#ffdfa1}.input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:10px;background:#f7f9fb;color:var(--foreground);padding:9px 12px;outline:none;transition:.16s ease}.input:focus{border-color:#0d6e8a8c;box-shadow:0 0 0 3px #0d6e8a1a;background:#fff}.input:disabled{color:#8491a1;background:#edf1f5}.textarea{resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{color:#435164;font-size:12px;font-weight:600}.field-hint{color:var(--muted-fg);font-size:11px;line-height:1.4}.button-field .btn{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.01em}.badge-neutral{color:#5d6978;background:#ebeff3}.badge-blue{color:#096385;background:#dff1f7}.badge-green{color:#08735d;background:#dcf5ed}.badge-red{color:#b63728;background:#fde5e1}.badge-yellow{color:#9a6200;background:#fff0c9}.badge-purple{color:#5a48c5;background:#ebe8ff}.badge-teal{color:#087369;background:#dff7f3}.badge-pink{color:#ac4771;background:#fbe3ed}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0f1e2e06;padding:20px;min-width:0}.card-heading,.card-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-heading h3,.card-toolbar h3{font-size:15px;margin-bottom:4px}.card-heading p,.card-toolbar p{color:var(--muted-fg);font-size:12px}.icon-btn{border:0;background:transparent;color:var(--muted-fg);border-radius:8px;width:34px;height:34px;display:grid;place-items:center}.icon-btn:hover{background:var(--muted);color:var(--foreground)}.empty-state{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:7px;color:var(--muted-fg);padding:20px}.empty-state strong{color:#4a5768;font-size:14px}.empty-state span{max-width:460px;font-size:12px;line-height:1.5}.spinner-wrap{min-height:120px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted-fg);font-size:13px}.spinner{width:22px;height:22px;border:2px solid #dce4eb;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f19237a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(560px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 30px 90px #06121e4d;animation:modalIn .15s ease}.modal-wide{width:min(1040px,100%)}@keyframes modalIn{0%{transform:translateY(7px) scale(.99);opacity:.7}}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:17px 20px}.modal-header h2{font-size:16px}.modal-body{overflow:auto;padding:20px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding-top:4px}.split-actions{justify-content:space-between}.fullscreen-center{min-height:100vh;display:grid;place-items:center}.text-success{color:#0b9474!important}.muted{color:var(--muted-fg);font-size:12px}.block-small{display:block;color:var(--muted-fg);font-size:11px;margin-top:4px}.grow{flex:1}.header-actions,.table-actions,.badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.1fr) minmax(420px,.9fr);background:#fff}.login-art{position:relative;overflow:hidden;display:flex;align-items:center;padding:70px;background:linear-gradient(145deg,#0f1e2e,#12334b 56%,#0d6e8a);color:#fff}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.login-art:before{width:460px;height:460px;right:-180px;top:-120px;border:80px solid rgba(46,196,160,.12)}.login-art:after{width:330px;height:330px;left:-130px;bottom:-120px;background:#2ec4a014}.login-art-content{position:relative;z-index:1;max-width:650px}.login-logo{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--success));box-shadow:0 15px 40px #0003;margin-bottom:25px}.login-kicker{color:#6fe2c4;font-size:12px;font-weight:700;letter-spacing:.18em}.login-art h1{font-size:clamp(36px,5vw,60px);line-height:1.08;margin:12px 0 20px;max-width:640px}.login-art>div>p{color:#b9ccda;font-size:16px;line-height:1.75;max-width:610px}.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.login-feature-grid div{padding:15px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:#ffffff0e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.login-feature-grid strong,.login-feature-grid span{display:block}.login-feature-grid strong{font-size:11px;color:#fff;margin-bottom:6px}.login-feature-grid span{font-size:10px;color:#8fa9bd;line-height:1.45}.login-panel{display:grid;place-items:center;padding:50px;background:#f5f8fa}.login-card{width:min(410px,100%);background:#fff;border-radius:22px;padding:32px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.login-card-heading{display:flex;gap:13px;align-items:center;margin-bottom:8px}.login-card-heading h2{font-size:21px}.login-card-heading p{color:var(--muted-fg);font-size:12px;margin-top:3px}.brand-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--success));flex:0 0 auto}.login-input{position:relative;display:flex;align-items:center}.login-input>svg{position:absolute;left:13px;z-index:1;color:#778699}.login-input .input{padding-left:40px;min-height:46px}.form-error{padding:10px 12px;border-radius:9px;color:#b63728;background:#fde8e4;font-size:12px}.login-note{text-align:center;color:#91a0af;font-size:10px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:230px;display:flex;flex-direction:column;color:#dce8f1;background:var(--sidebar)}.sidebar-brand{min-height:68px;padding:15px 17px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:#fff;font-size:13px}.sidebar-brand span{color:#6f8ca6;font-size:10px;margin-top:2px}.sidebar-close{display:none;margin-left:auto;background:transparent;border:0;color:#fff}.sidebar-nav{flex:1;padding:13px 10px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;min-height:40px;margin:2px 0;padding:9px 11px;border-radius:10px;color:#94adc1;font-size:12px;font-weight:500;transition:.14s ease}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:var(--primary);box-shadow:0 7px 18px #00000029}.sidebar-user{min-height:68px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px;padding:13px}.avatar,.topbar-avatar{border-radius:50%;color:#fff;font-weight:700;display:grid;place-items:center;background:var(--primary)}.avatar{width:34px;height:34px;font-size:11px}.sidebar-user-text{min-width:0;flex:1}.sidebar-user-text strong,.sidebar-user-text span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-text strong{color:#fff;font-size:11px}.sidebar-user-text span{color:#6f8ca6;font-size:9px;margin-top:2px}.sidebar-logout{border:0;color:#7893a9;background:transparent;border-radius:8px;padding:7px}.sidebar-logout:hover{color:#fff;background:#ffffff12}.main-area{min-width:0;width:calc(100% - 230px);margin-left:230px}.topbar{position:sticky;top:0;z-index:30;height:62px;display:flex;align-items:center;padding:0 22px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.mobile-menu{display:none;border:0;background:transparent;margin-right:8px}.topbar-title{min-width:0}.topbar-title h1{font-size:15px;line-height:1.2}.topbar-title span{color:var(--muted-fg);font-size:10px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.notification-button{position:relative;width:36px;height:36px;border:0;display:grid;place-items:center;border-radius:10px;color:#566476;background:#f1f4f7}.notification-button>span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:var(--danger);color:#fff;font-size:9px;font-weight:700;border:2px solid #fff}.topbar-avatar{width:34px;height:34px;font-size:12px}.notification-popover{position:absolute;right:20px;top:54px;width:min(390px,calc(100vw - 28px));background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 55px #0f1e2e2e;overflow:hidden}.notification-header{min-height:58px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.notification-header>div{display:flex;align-items:center;gap:7px}.notification-header strong{font-size:13px}.notification-list{max-height:400px;overflow:auto}.notification-item{width:100%;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;text-align:left;border:0;border-bottom:1px solid rgba(15,25,35,.06);background:#fff;color:#607085}.notification-item.unread{background:#f0f8fb;color:var(--primary)}.notification-item span{min-width:0;flex:1}.notification-item strong,.notification-item small{display:block}.notification-item strong{font-size:11px;color:#243243}.notification-item small{margin-top:4px;color:#718095;font-size:10px;line-height:1.4}.page-container{padding:22px}.page-stack{display:flex;flex-direction:column;gap:16px}.page-heading-row{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:18px}.page-heading-row h2{font-size:21px;margin-bottom:4px}.page-heading-row p{color:var(--muted-fg);font-size:12px}.branch-select{max-width:290px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.kpi-card{display:flex;align-items:center;gap:13px;padding:16px}.kpi-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.kpi-icon svg{width:18px}.kpi-card strong,.kpi-card span{display:block}.kpi-card strong{font-size:23px;line-height:1}.kpi-card span{color:var(--muted-fg);font-size:10px;margin-top:5px}.kpi-blue .kpi-icon{color:#167a99;background:#e2f2f7}.kpi-blue strong{color:#167a99}.kpi-green .kpi-icon{color:#12896d;background:#def6ef}.kpi-green strong{color:#12896d}.kpi-teal .kpi-icon{color:#137d76;background:#e0f7f4}.kpi-teal strong{color:#137d76}.kpi-red .kpi-icon{color:#c74636;background:#fce6e2}.kpi-red strong{color:#c74636}.kpi-purple .kpi-icon{color:#6250cf;background:#ebe8ff}.kpi-purple strong{color:#6250cf}.kpi-yellow .kpi-icon{color:#a46d08;background:#fff1d0}.kpi-yellow strong{color:#a46d08}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-wide{grid-column:1 / -1}.direction-list{display:flex;flex-direction:column;gap:16px}.direction-row{display:grid;grid-template-columns:95px minmax(100px,1fr) 40px;align-items:center;gap:12px}.direction-row strong,.direction-row span{display:block}.direction-row strong{font-size:12px}.direction-row span{color:var(--muted-fg);font-size:10px;margin-top:3px}.direction-row b{font-size:11px;text-align:right}.progress{height:7px;background:#e9eef2;overflow:hidden;border-radius:5px}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success))}.stat-list{display:flex;flex-direction:column}.stat-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid rgba(15,25,35,.07)}.stat-list>div:last-child{border:0}.stat-list span{color:#5f6e80;font-size:12px}.stat-list strong{font-size:14px}.inline-note{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:10px;color:#855d0d;background:#fff3d8;font-size:11px}.filter-card{padding:13px;display:flex;align-items:center;gap:11px}.filter-card .input{max-width:280px}.filter-card .grow{max-width:none}.filter-card.compact{padding:0;margin-bottom:16px;border:0;box-shadow:none}.check-inline{display:flex;align-items:center;gap:7px;color:#556476;font-size:11px;white-space:nowrap}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon>svg{position:absolute;left:12px;z-index:1;color:#8290a0}.input-with-icon .input{padding-left:37px}.table-card{padding:0;overflow:hidden}.table-card>.spinner-wrap{min-height:300px}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{padding:11px 15px;text-align:left;color:#718095;background:#f7f9fb;border-bottom:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:12px 15px;border-bottom:1px solid rgba(15,25,35,.065);vertical-align:middle}.data-table tbody tr:hover{background:#fbfcfd}.data-table tbody tr:last-child td{border-bottom:0}.data-table code{color:#596879;font-size:10px}.selected-row{background:#f0f8fa!important}.table-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--secondary);flex:0 0 auto}.patient-link,.patient-cell{display:flex;align-items:center;gap:9px;text-align:left}.patient-link{border:0;padding:0;background:transparent}.patient-link strong,.patient-link small,.patient-cell strong,.patient-cell small{display:block}.patient-link strong,.patient-cell strong{color:#243243;font-size:11px}.patient-link small,.patient-cell small{color:var(--muted-fg);font-size:9px;margin-top:3px}.compact-progress{display:flex;gap:5px;flex-wrap:wrap}.compact-progress span{padding:3px 6px;border-radius:5px;color:#557083;background:#eef4f7;font-size:9px}.max-text-cell{max-width:250px;color:#5d6a7b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-cell{display:flex;align-items:center;gap:7px;color:var(--primary)}.mini-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.mini-kpi-grid .card{padding:15px 17px}.mini-kpi-grid strong,.mini-kpi-grid span{display:block}.mini-kpi-grid strong{font-size:21px}.mini-kpi-grid span{color:var(--muted-fg);font-size:10px;margin-top:4px}.calendar-toolbar{padding:14px 16px}.calendar-toolbar-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.date-nav,.calendar-actions{display:flex;align-items:center;gap:7px}.date-nav .input{width:142px;min-height:34px;padding:6px 8px}.calendar-title{text-align:center}.calendar-title strong,.calendar-title span{display:block}.calendar-title strong{font-family:Segoe UI,Inter,Arial,sans-serif;font-size:14px;text-transform:capitalize}.calendar-title span{color:var(--muted-fg);font-size:10px;margin-top:3px}.calendar-actions{justify-content:flex-end}.calendar-filters{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.calendar-filters>.input{width:230px;min-height:34px;padding-block:6px}.direction-tabs,.segmented,.admin-tabs{display:flex;padding:3px;background:#edf1f5;border-radius:10px}.direction-tabs button,.segmented button,.admin-tabs button{border:0;background:transparent;color:#69788a;border-radius:8px;padding:7px 13px;font-size:11px;font-weight:600}.direction-tabs button.active,.segmented button.active,.admin-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 2px 7px #0f1e2e17}.calendar-legend{margin-left:auto;display:flex;align-items:center;gap:5px;color:#748194;font-size:9px;flex-wrap:wrap}.dot{width:7px;height:7px;border-radius:50%;margin-left:5px}.dot-blue{background:#47a6c4}.dot-teal{background:#2ec4a0}.dot-green{background:#168d6f}.dot-red{background:#e85d4a}.dot-purple{background:#7b68ee}.inline-switch{display:inline-flex;align-items:center;gap:6px;color:#718095;font-size:10px;white-space:nowrap}.inline-switch input{display:none}.inline-switch>span{width:29px;height:16px;padding:2px;border-radius:9px;background:#bdc8d2;transition:.15s}.inline-switch>span:after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 4px #0000002e}.inline-switch input:checked+span{background:var(--success)}.inline-switch input:checked+span:after{transform:translate(13px)}.schedule-card{padding:0;overflow:hidden}.schedule-scroll{overflow:auto;max-height:calc(100vh - 245px)}.schedule-table{min-width:1150px;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.schedule-table th{position:sticky;top:0;z-index:5;height:42px;padding:8px;color:#708092;background:#f6f8fa;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.schedule-table th:first-child{z-index:7;left:0}.schedule-table td{height:83px;padding:5px;border-bottom:1px solid rgba(15,25,35,.07);border-right:1px solid rgba(15,25,35,.07);vertical-align:top;background:#fff}.time-column{width:75px}.time-cell{position:sticky;left:0;z-index:4;width:75px;text-align:center;background:#fbfcfd!important}.time-cell strong,.time-cell span{display:block}.time-cell strong{font-size:12px;margin-top:10px}.time-cell span{color:#93a0ae;font-size:8px;margin-top:3px}.slot-cell{min-width:145px}.empty-slot{width:100%;height:70px;border:1px dashed #ced9e2;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:5px;color:#91a1ae;background:#fafcfd;font-size:9px}.empty-slot:hover:not(:disabled){color:var(--primary);border-color:#83bdcf;background:#f0f8fa}.empty-slot:disabled{opacity:.4;cursor:default}.slot-disabled{display:grid;place-items:center;min-height:70px;color:#ccd4db}.special-slot{background:#fffdf7!important}.appointment-card{width:100%;height:70px;padding:7px 8px;border:1px solid transparent;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:hidden;transition:.15s}.appointment-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f1e2e1f}.appointment-name{width:100%;color:#173044;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-phone{width:100%;color:#658093;font-size:8px;margin:3px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-scheduled{background:#e4f2f8;border-color:#c5e3ef}.status-confirmed{background:#e2f6f2;border-color:#bee9df}.status-arrived{background:#dff3e9;border-color:#bee4d2}.status-missed{background:#fde5e1;border-color:#f5c4bc}.status-cancelled{background:#eef1f4;border-color:#dde2e7}.status-frozen{background:#e9e7fb;border-color:#d2cdf5}.status-needs_call{background:#fff0cb;border-color:#f5d78e}.status-needs_rescheduling,.status-rescheduled{background:#fbe5ee;border-color:#f2c5d8}.course-builder{display:flex;flex-direction:column;gap:11px}.course-direction{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fafbfc}.course-direction.enabled{background:#fff;border-color:#0d6e8a40}.course-direction>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:10px 13px}.course-direction header label{display:flex;align-items:center;gap:8px;font-size:12px}.session-count .input{width:70px;min-height:32px;padding:5px 8px}.visit-list{max-height:250px;overflow:auto;border-top:1px solid var(--border)}.visit-row{display:grid;grid-template-columns:25px 145px 110px 1fr;gap:7px;align-items:center;padding:7px 10px;border-bottom:1px solid rgba(15,25,35,.06)}.visit-row>span{color:#8695a4;font-size:10px;text-align:center}.visit-row .input{min-height:34px;padding:6px 8px;font-size:11px}.check-row{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:10px;background:#f5f8fa}.check-row input{margin-top:2px}.check-row strong,.check-row small{display:block}.check-row strong{font-size:11px}.check-row small{font-size:9px;color:var(--muted-fg);margin-top:3px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.detail-main{min-width:0;display:flex;flex-direction:column;gap:15px}.patient-hero{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--border)}.patient-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:var(--primary);background:var(--secondary)}.patient-avatar svg{width:20px}.patient-hero>div:nth-child(2){flex:1;min-width:0}.patient-hero h3{font-size:15px}.patient-hero p{color:var(--muted-fg);font-size:10px;margin-top:3px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.detail-grid>div{padding:10px;border-radius:10px;background:#f6f8fa}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:#7c8a9a;font-size:9px}.detail-grid strong{color:#2c3949;font-size:11px;margin-top:4px;overflow-wrap:anywhere}.info-panel,.success-panel{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:11px;color:#35647b;background:#eef7fa}.info-panel svg,.success-panel svg{flex:0 0 auto;margin-top:1px}.info-panel strong,.info-panel p{display:block}.info-panel strong{font-size:10px}.info-panel p{font-size:10px;line-height:1.5;margin-top:3px;color:#5e788a}.success-panel{color:#08735d;background:#e3f7f0;font-size:11px}.course-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.course-progress>div{padding:10px;text-align:center;border:1px solid var(--border);border-radius:10px}.course-progress span,.course-progress strong{display:block}.course-progress span{font-size:9px;color:#718095}.course-progress strong{font-size:14px;margin-top:3px;color:var(--primary)}.clinical-form,.reason-box{padding:12px;border:1px solid var(--border);border-radius:11px;background:#fafbfc;display:flex;flex-direction:column;gap:12px}.action-grid{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-history{min-width:0;border-left:1px solid var(--border);padding-left:18px}.detail-history h3{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:10px}.history-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid rgba(15,25,35,.065)}.history-item>span{color:var(--primary);font-size:10px;font-weight:700}.history-item strong,.history-item small{display:block}.history-item strong{font-size:10px}.history-item small{font-size:8px;color:#8a98a7;margin-top:2px}.reply-text{display:flex;align-items:flex-start;gap:6px;max-width:250px;color:#536374;font-size:10px;line-height:1.4}.reply-text svg{flex:0 0 auto;color:var(--primary)}.warning-card{border-color:#f4d795;background:#fffcf4}.warning-card h3{display:flex;align-items:center;gap:7px;color:#815800}.audit-card{padding:0;overflow:hidden}.audit-list{max-height:calc(100vh - 340px);overflow:auto}.audit-row{display:grid;grid-template-columns:105px 35px minmax(0,1fr) 95px;gap:12px;align-items:flex-start;padding:12px 15px;border-bottom:1px solid rgba(15,25,35,.07)}.audit-row:hover{background:#fafcfd}.audit-delete{background:#fff9f8}.audit-move{background:#fffdf7}.audit-time{color:#82909f;font-size:9px}.audit-time svg{float:left;margin-right:4px}.audit-time strong{display:block;color:#485769;font-size:10px;margin-top:4px}.audit-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--secondary)}.audit-content{min-width:0}.audit-content>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.audit-content strong{font-size:10px}.audit-content code{color:#8b98a7;font-size:8px}.audit-content p{color:#9b6220;font-size:9px;margin-top:7px}.audit-content details{margin-top:7px;color:#6e7d8e;font-size:9px}.audit-content summary{cursor:pointer}.audit-content pre{overflow:auto;max-height:180px;padding:9px;border-radius:7px;background:#eef2f5;font-size:8px}.audit-user{text-align:right}.audit-user span,.audit-user code{display:block}.audit-user span{color:#9aa5b1;font-size:8px}.audit-user code{font-size:8px;margin-top:4px}.warning-list{display:flex;flex-direction:column;gap:6px;margin-top:13px;padding:11px;border-radius:10px;background:#fff3db;color:#815c18;font-size:10px}.admin-tabs{width:fit-content;gap:2px}.admin-tabs button{display:flex;align-items:center;gap:6px}.card-toolbar{padding:18px 20px 0}.table-card .card-toolbar{margin-bottom:10px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:10px;background:#f6f8fa}.checkbox-grid label{font-size:10px;color:#4f5e70}.schedule-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.setting-card{position:relative;min-height:115px;padding:13px;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between}.setting-card.disabled{opacity:.55;background:#f3f5f7}.setting-card>div:first-child strong,.setting-card>div:first-child span{display:block}.setting-card>div:first-child strong{font-size:11px;margin-top:9px}.setting-card>div:first-child span{color:#6f7e8e;font-size:10px;margin-top:3px}.setting-card>button{position:absolute;top:10px;right:10px;border:0;border-radius:7px;color:var(--danger);background:#fdeae6;width:29px;height:29px;display:grid;place-items:center}.setting-meta{display:flex;gap:7px;margin-top:12px}.setting-meta span{padding:5px 7px;border-radius:7px;background:#eef3f6;color:#718092;font-size:9px}.setting-meta b{color:#263848}.integration-health{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.integration-health>div{display:flex;justify-content:space-between;padding:10px;border-radius:9px;background:#f5f7f9;font-size:10px}.integration-health span{color:#627184}.integration-health strong{color:#253546}.toast-stack{position:fixed;z-index:200;right:20px;top:76px;bottom:auto;width:min(380px,calc(100vw - 30px));display:flex;flex-direction:column;gap:9px}.toast{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:12px 13px;border-radius:12px;color:#fff;box-shadow:0 14px 40px #0f1e2e38;font-size:11px;animation:toastIn .2s ease}.toast-success{background:#13856a}.toast-error{background:#c94c3d}.toast button{border:0;background:transparent;color:#fff;opacity:.8}@keyframes toastIn{0%{transform:translate(20px);opacity:0}}@media(max-width:1280px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.schedule-settings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.login-page{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh}.sidebar{transform:translate(-100%);transition:transform .2s ease;width:250px}.sidebar-open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#0f192373}.main-area{width:100%;margin-left:0}.mobile-menu{display:grid;place-items:center}.page-container{padding:16px}.calendar-toolbar-main{grid-template-columns:1fr}.calendar-title{text-align:left;grid-row:1}.date-nav{grid-row:2}.calendar-actions{grid-row:2;justify-content:flex-end}.calendar-filters{flex-wrap:wrap}.calendar-legend{width:100%;margin-left:0}.detail-layout{grid-template-columns:1fr}.detail-history{border-left:0;border-top:1px solid var(--border);padding:16px 0 0}.dashboard-grid{grid-template-columns:1fr}.dashboard-wide{grid-column:auto}}@media(max-width:720px){.page-heading-row{align-items:flex-start;flex-direction:column}.page-heading-row>.btn,.page-heading-row>.branch-select{width:100%;max-width:none}.kpi-grid,.mini-kpi-grid{grid-template-columns:repeat(2,1fr)}.filter-card{align-items:stretch;flex-direction:column}.filter-card .input{max-width:none}.form-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.calendar-actions{flex-wrap:wrap;justify-content:flex-start}.date-nav{flex-wrap:wrap}.date-nav .input{width:100%}.calendar-filters>.input{width:100%}.direction-tabs{width:100%;overflow:auto}.direction-tabs button{flex:1}.calendar-legend{display:none}.modal-backdrop{padding:10px;align-items:flex-end}.modal{max-height:95vh;border-radius:18px 18px 0 0}.modal-wide{width:100%}.visit-row{grid-template-columns:22px 1fr 90px}.visit-row .input:last-child{grid-column:2/4}.audit-row{grid-template-columns:78px 30px 1fr}.audit-user{display:none}.schedule-settings-grid{grid-template-columns:1fr}.admin-tabs{width:100%;overflow:auto}.admin-tabs button{white-space:nowrap}}@media(max-width:470px){.page-container{padding:11px}.topbar{padding:0 12px}.topbar-title span{display:none}.notification-popover{right:8px}.card{padding:15px}.kpi-grid,.mini-kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{padding:12px}.kpi-card strong{font-size:19px}.login-panel{padding:18px}.login-card{padding:23px}.course-progress{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.action-grid .btn{flex:1}.toast-stack{right:10px;top:70px;bottom:auto}}.bulk-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:3px 5px;border-radius:11px;background:#f2f7f9}.appointment-select-wrap{position:relative;width:100%;border-radius:10px}.appointment-select-wrap.selected{box-shadow:0 0 0 2px var(--primary)}.appointment-checkbox{position:absolute;z-index:3;top:5px;right:5px;width:18px;height:18px;cursor:pointer}.appointment-checkbox input{position:absolute;opacity:0;pointer-events:none}.appointment-checkbox span{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(15,25,35,.2);border-radius:6px;background:#ffffffeb;box-shadow:0 2px 6px #0f1e2e1a}.appointment-checkbox input:checked+span{border-color:var(--primary);background:var(--primary)}.appointment-checkbox input:checked+span:after{content:"✓";color:#fff;font-size:11px;font-weight:800}.special-slot-stack{display:flex;flex-direction:column;gap:5px;min-height:70px}.special-slot-stack .appointment-card,.special-slot-stack .empty-slot{min-height:60px;height:auto}.report-filter{flex-wrap:wrap}.report-filter>.input{max-width:190px}.compact-list{display:flex;flex-direction:column}.compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:9px 0;border-bottom:1px solid rgba(15,25,35,.065)}.compact-list>div:last-child{border-bottom:0}.compact-list span{min-width:0}.compact-list strong,.compact-list small{display:block}.compact-list strong{color:#263545;font-size:11px}.compact-list small{max-width:340px;margin-top:4px;color:var(--muted-fg);font-size:9px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-list{max-height:430px;overflow:auto;padding-right:3px}.export-hint{display:grid;grid-template-columns:35px minmax(0,1fr) 24px;align-items:center;gap:12px;color:var(--primary);background:linear-gradient(120deg,#f3fafc,#f2fbf8)}.export-hint strong{display:block;color:#26485a;font-size:12px}.export-hint p{margin-top:4px;color:#6b7f8e;font-size:10px;line-height:1.5}@media(max-width:980px){.bulk-toolbar{width:100%}}@media(max-width:720px){.report-filter>.input{max-width:none}.bulk-toolbar .btn{flex:1}}.appointment-card-footer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.clinical-marker{max-width:72px;padding:3px 5px;border-radius:99px;color:#5a48c5;background:#ffffffb8;font-size:7px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-select-wrap.has-clinical-dynamics .appointment-card{background:#ebe8ff;border-color:#cfc8fa}.appointment-select-wrap.has-clinical-dynamics .appointment-card:hover{box-shadow:0 6px 16px #5b48c52e}.clinical-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 12px;border:1px solid #d7d0fa;border-radius:11px;background:#f0edff}.clinical-summary strong{color:#5948ba;font-size:11px}.clinical-summary span{grid-column:1 / -1;color:#5b6474;font-size:10px;line-height:1.45}.clinical-summary small{grid-column:2;grid-row:1;color:#8c83be;font-size:8px}.muted-text{color:var(--muted-fg);font-size:10px}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.bitrix-deals-panel{padding:12px;border:1px solid var(--border);border-radius:14px;background:#f8fbfc}.card-heading.compact{margin-bottom:10px}.bitrix-deal-list{display:grid;gap:8px}.bitrix-deal-row{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px dashed #d7e0e6;border-radius:10px;background:#fff;color:var(--muted-fg);font-size:10px}.bitrix-deal-row.active{border-style:solid;border-color:#cfe1ea;color:#263848}.bitrix-deal-row span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:11px 12px;border:1px solid #dbe8ef;border-radius:12px;background:#f7fbfd;color:#5a6c7c;font-size:10px}.course-summary strong{color:#263848}.setting-actions{display:flex;gap:6px;justify-content:flex-end}.setting-actions button{min-width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:9px;background:#eef3f6;color:#3b5268;font-size:9px;font-weight:800;cursor:pointer}.setting-actions button:hover{background:#dcebf1}@media(max-width:720px){.inline-form{grid-template-columns:1fr}}.segmented.compact{width:auto}.segmented.compact button{padding:8px 11px}.truncate-cell{display:block;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-danger{color:var(--danger)!important}.json-result{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f7fafb}.json-result strong{display:block;margin-bottom:8px;color:#253546;font-size:11px}.json-result pre{max-height:340px;overflow:auto;padding:11px;border-radius:10px;background:#10202d;color:#d6f6ff;font-size:10px;line-height:1.55}.card-toolbar.compact{padding:12px 16px 0}.button-field{justify-content:end}.button-field .btn{min-height:38px}.red-zone-page .page-heading-row h2{display:flex;align-items:center;gap:10px}.red-zone-info{display:flex;gap:12px;align-items:flex-start;border-color:#ef444440;background:#ef44440f}.red-zone-info p{margin:4px 0 0;color:var(--muted)}.row-danger{background:#ef44440a}.row-danger td:first-child{border-left:3px solid #ef4444}.red-zone-hero{border:1px solid rgba(239,68,68,.25);background:#ef44440f}.topbar-branch-select{min-width:220px;max-width:290px;height:38px}@media(max-width:860px){.topbar-branch-select{display:none}}.sidebar-role-hint{margin:0 12px 12px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0a}.sidebar-role-hint strong,.sidebar-role-hint span{display:block}.sidebar-role-hint strong{color:#fff;font-size:11px}.sidebar-role-hint span{margin-top:4px;color:#8fa8bc;font-size:9px;line-height:1.4}.topbar-branch-label{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid var(--border);border-radius:10px;background:#f8fafb;color:#536476;font-size:11px;font-weight:600}.course-wizard{display:flex;flex-direction:column;gap:18px}.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:3px}.wizard-step{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:#f7f9fb;color:#7b8795}.wizard-step span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e5eaef;font-size:10px;font-weight:800}.wizard-step strong{font-size:11px}.wizard-step.active{border-color:#0d6e8a59;background:#edf8fb;color:var(--primary);box-shadow:0 0 0 3px #0d6e8a0d}.wizard-step.active span{color:#fff;background:var(--primary)}.wizard-step.done{color:#11836a;background:#eefaf6}.wizard-step.done span{color:#fff;background:var(--success)}.wizard-panel{display:flex;flex-direction:column;gap:16px}.wizard-actions{position:sticky;bottom:-20px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -20px -20px;padding:14px 20px;border-top:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.deal-search-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.patient-picker{max-height:315px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:2px}.patient-pick-card{min-width:0;min-height:74px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--border);border-radius:13px;background:#fff;color:inherit;text-align:left}.patient-pick-card:hover{border-color:#b8d7e3;background:#f7fbfd}.patient-pick-card.selected{border-color:var(--primary);background:#eef8fb;box-shadow:0 0 0 3px #0d6e8a14}.patient-pick-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:var(--secondary)}.patient-pick-card>span:nth-child(2){min-width:0}.patient-pick-card strong,.patient-pick-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-pick-card strong{color:#233444;font-size:11px}.patient-pick-card small{margin-top:4px;color:var(--muted-fg);font-size:9px}.patient-pick-card .badge-row{grid-column:2 / 4}.selected-patient-summary{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr) 1.5fr;gap:14px;align-items:center;padding:13px 14px;border:1px solid #cfe4ec;border-radius:13px;background:#f5fbfd}.selected-patient-summary>div:first-child strong,.selected-patient-summary>div:first-child span{display:block}.selected-patient-summary>div:first-child strong{font-size:12px}.selected-patient-summary>div:first-child span{margin-top:4px;color:var(--muted-fg);font-size:10px}.deal-summary-list{display:flex;flex-wrap:wrap;gap:7px}.deal-summary-list>span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#637184;font-size:9px}.doctor-assignment{min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px;border:1px solid var(--border);border-radius:12px}.doctor-assignment strong{font-size:11px}.doctor-assignment span{color:var(--muted-fg);font-size:10px;line-height:1.45}.doctor-assignment.ok{border-color:#bce5d8;background:#f0faf7}.doctor-assignment.warning{border-color:#f0d28e;background:#fff9ec}.course-direction-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.course-direction-toggle{display:flex;align-items:center;gap:10px;min-height:64px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:#f8fafb;cursor:pointer}.course-direction-toggle input{width:17px;height:17px;accent-color:var(--primary)}.course-direction-toggle>span{min-width:0;flex:1}.course-direction-toggle strong,.course-direction-toggle small{display:block}.course-direction-toggle strong{font-size:12px}.course-direction-toggle small{margin-top:3px;color:var(--muted-fg);font-size:9px}.course-direction-toggle.active{border-color:#0d6e8a4d;background:#edf8fb}.old-calendar-course-builder{display:flex;flex-direction:column;gap:15px}.direction-schedule-card{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.direction-schedule-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:#f8fafb}.direction-schedule-card>header>div:first-child{display:flex;align-items:center;gap:9px}.direction-schedule-card>header strong{font-size:11px}.schedule-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.schedule-tools label{display:flex;align-items:center;gap:7px;color:#5a697a;font-size:9px;font-weight:600}.schedule-tools .input{width:70px;min-height:32px;padding:5px 8px}.old-calendar-visits{display:flex;flex-direction:column}.old-calendar-visit{display:grid;grid-template-columns:180px minmax(300px,1fr) minmax(180px,.75fr);gap:14px;align-items:start;padding:13px 14px;border-bottom:1px solid rgba(15,25,35,.065)}.old-calendar-visit:last-child{border-bottom:0}.visit-date-block{display:grid;grid-template-columns:28px 1fr;align-items:end;gap:8px}.visit-number{width:28px;height:40px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--secondary);font-size:10px;font-weight:800}.visit-time-block{min-width:0;display:flex;flex-direction:column;gap:7px}.time-choice-grid{display:flex;flex-wrap:wrap;gap:6px}.time-choice{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:5px 8px;border:1px solid #d8e0e7;border-radius:9px;background:#fff;color:#3f5162;font-size:10px;font-weight:700}.time-choice small{color:#8895a2;font-size:7px;font-weight:600}.time-choice:hover{border-color:#8fc3d5;background:#f2fafc}.time-choice.selected{border-color:var(--primary);color:#fff;background:var(--primary);box-shadow:0 3px 8px #0d6e8a2e}.time-choice.selected small{color:#fffc}.time-empty{min-height:34px;display:flex;align-items:center;gap:6px;color:#a36a05;font-size:9px}.review-hero{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #cfe3ec;border-radius:14px;background:linear-gradient(120deg,#f2fafc,#f2fbf8)}.review-hero svg{color:var(--primary)}.review-hero>div{flex:1}.review-hero strong,.review-hero span{display:block}.review-hero strong{font-size:14px}.review-hero span{margin-top:3px;color:var(--muted-fg);font-size:10px}.course-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.review-direction{overflow:hidden;border:1px solid var(--border);border-radius:13px}.review-direction header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;background:#f7f9fb}.review-direction header strong{font-size:10px}.review-direction>div{max-height:330px;overflow:auto;display:flex;flex-direction:column;gap:0}.review-direction>div>span{padding:8px 10px;border-top:1px solid rgba(15,25,35,.06);color:#536274;font-size:9px;line-height:1.4}.review-direction b{color:var(--primary)}.review-warning{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid #f0d38d;border-radius:11px;background:#fff9eb;color:#80601f;font-size:10px;line-height:1.5}.appointment-note-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-scope-panel{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid #d6d0fa;border-radius:12px;background:#f2efff;color:#5a49bd}.course-scope-panel strong{display:block;font-size:11px}.course-scope-panel p{margin-top:4px;color:#756ba6;font-size:9px;line-height:1.45}.info-panel.compact{padding:11px 12px}.info-panel.danger{border-color:#f2c6c0;background:#fff3f1}.detail-history .history-item>span{display:flex;flex-direction:column;gap:2px}.detail-history .history-item>span small{color:var(--muted-fg);font-size:8px}.detail-history .history-item>div{min-width:0}.detail-history .history-item>div small{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.patient-picker,.course-review-grid,.selected-patient-summary,.old-calendar-visit,.course-direction-tabs{grid-template-columns:1fr}}@media(max-width:720px){.wizard-steps,.deal-search-row,.patient-picker{grid-template-columns:1fr}.direction-schedule-card>header{align-items:flex-start;flex-direction:column}.wizard-actions{flex-wrap:wrap}.wizard-actions .btn{flex:1}}.patient-course-card{padding:10px 0;border-bottom:1px solid rgba(15,25,35,.07)}.patient-course-card:last-child{border-bottom:0}.patient-course-card strong,.patient-course-card small{display:block}.patient-course-card strong{margin-top:7px;color:#344455;font-size:10px}.patient-course-card small{margin-top:4px;color:var(--muted-fg);font-size:8px;line-height:1.4}.nested-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:20px;background:#0f192380;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nested-confirm-card{width:min(520px,100%);display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:16px;background:#fff;box-shadow:0 20px 70px #0a16224d}.nested-confirm-card h3{font-size:15px}.nested-confirm-card>p{color:var(--muted-fg);font-size:10px;line-height:1.55}.freeze-impact{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.freeze-impact span{padding:11px;border:1px solid #dad4f5;border-radius:11px;background:#f4f1ff;color:#6e63a0;font-size:9px}.freeze-impact strong{display:block;margin-bottom:3px;color:#5a48c5;font-size:17px}.filter-static-label{min-width:210px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#f7f9fb;display:flex;flex-direction:column;gap:2px}.filter-static-label span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.filter-static-label strong{font-size:14px}.cell-notes{min-width:230px;display:grid;gap:5px;color:var(--muted);font-size:12px}.cell-notes span{display:flex;align-items:flex-start;gap:6px}.appointment-select-wrap.has-quick-actions .appointment-card{padding-bottom:30px}.appointment-select-wrap.has-quick-actions .appointment-card-footer{padding-right:52px}.appointment-quick-actions{position:absolute;z-index:4;right:6px;bottom:6px;display:flex;align-items:center;gap:4px}.quick-status-button{width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:7px;color:#fff;box-shadow:0 3px 8px #0f1e2e29;transition:transform .12s ease,opacity .12s ease}.quick-status-button:hover:not(:disabled){transform:translateY(-1px) scale(1.04)}.quick-status-button:disabled{opacity:.45;cursor:wait}.quick-status-positive{background:#168d6f}.quick-status-negative{background:#d65345}.bitrix-mappings-card{overflow:hidden}.mapping-tabs{display:flex;align-items:center;gap:4px;padding:0 16px 12px;overflow-x:auto}.mapping-tabs button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;color:#68788a;background:#f7f9fa;font-size:10px;font-weight:700;white-space:nowrap}.mapping-tabs button.active{color:var(--primary);border-color:#bcdce7;background:#edf8fb;box-shadow:inset 0 0 0 1px #0d6e8a0f}.mapping-tabs .badge{pointer-events:none}.mapping-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:190px}.bitrix-mappings-card .table-scroll{max-height:520px}.bitrix-mappings-card code{overflow-wrap:anywhere}@media(max-width:720px){.appointment-select-wrap.has-quick-actions .appointment-card{min-height:76px}.mapping-row-actions{min-width:150px;flex-direction:column;align-items:stretch}.mapping-row-actions .btn{width:100%}}.red-zone-filter-count{color:var(--muted-fg);white-space:nowrap}.red-zone-table td{vertical-align:top}.red-zone-table td:first-child strong,.red-zone-table td:first-child small{display:block}.red-zone-table td:first-child small{margin:4px 0 7px;color:var(--muted-fg)}.red-zone-reason-cell,.red-zone-call-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.red-zone-reason-cell small,.red-zone-call-state small{max-width:220px;color:var(--muted-fg);line-height:1.45}.red-zone-direction-summary{display:flex;flex-wrap:wrap;gap:6px;max-width:280px}.red-zone-direction-summary>span{padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:#f7fafb;color:#617184;font-size:9px}.red-zone-direction-summary strong{color:#263848}.red-zone-appointment-info{min-width:220px;display:flex;flex-direction:column;gap:5px}.red-zone-appointment-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.red-zone-appointment-head strong{color:#263848;font-size:10px}.red-zone-appointment-info small,.red-zone-empty-info{color:var(--muted-fg);font-size:9px;line-height:1.45}.red-zone-current-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.red-zone-current-info>div{min-height:94px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fafb}.red-zone-current-info>div>span{display:block;margin-bottom:8px;color:var(--muted-fg);font-size:9px;font-weight:700;text-transform:uppercase}.red-zone-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.red-zone-direction-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.red-zone-direction-title,.red-zone-progress-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.red-zone-direction-title strong{font-size:12px}.red-zone-progress-line span{color:var(--muted-fg);font-size:9px}.red-zone-progress-line strong{font-size:11px}.red-zone-progress-track{height:6px;overflow:hidden;border-radius:999px;background:#edf1f4}.red-zone-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--success)}.red-zone-direction-card>small{display:flex;align-items:center;gap:5px;color:var(--muted-fg);font-size:9px}@media(max-width:900px){.red-zone-current-info,.red-zone-course-grid{grid-template-columns:1fr}.red-zone-appointment-info{min-width:180px}}.bitrix-candidate-picker{display:grid;gap:10px}.candidate-toolbar{display:flex;gap:10px;align-items:center}.candidate-search{flex:1}.candidate-help,.candidate-selection-note{color:var(--muted);font-size:12px}.candidate-table-wrap{overflow:auto;max-height:360px;border:1px solid var(--border);border-radius:14px}.candidate-table{width:100%;border-collapse:collapse;min-width:980px}.candidate-table th{position:sticky;top:0;z-index:1;background:var(--surface);color:var(--muted);font-size:12px;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.candidate-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.candidate-table tbody tr{cursor:pointer;transition:background .15s ease}.candidate-table tbody tr:hover{background:var(--surface-soft)}.candidate-table tbody tr.selected{background:#2c7be517;box-shadow:inset 3px 0 0 var(--primary)}.candidate-phone{white-space:nowrap;font-size:14px}.candidate-patient{display:flex;gap:8px;align-items:flex-start}.candidate-patient>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--surface-soft)}.candidate-patient div,.candidate-deals,.candidate-meta{display:grid;gap:4px}.candidate-patient small{display:block;color:var(--warning)}.candidate-deals>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.candidate-meta span{color:var(--muted);font-size:12px;max-width:280px}.candidate-check{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff}.manual-bitrix-sync{border:1px dashed var(--border);border-radius:12px;padding:10px 12px}.manual-bitrix-sync summary{cursor:pointer;font-weight:700}.manual-bitrix-sync .inline-form{margin-top:10px}.bitrix-autofill-summary{display:grid;gap:12px}.deal-summary-list{display:grid;gap:8px}.deal-autofill-card{border:1px solid var(--border);border-radius:12px;padding:10px;display:grid;gap:8px;background:var(--surface)}.deal-autofill-card>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deal-autofill-card>div:first-child span:last-child{color:var(--muted)}.deal-autofill-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;font-size:12px}.deal-autofill-meta .wide{grid-column:1 / -1}.direction-bitrix-hint{display:grid;gap:5px;border-left:3px solid var(--primary);padding:8px 10px;background:var(--surface-soft);border-radius:8px;font-size:12px}.review-bitrix-source{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px;margin-bottom:8px}.spin{animation:bitrix-spin .8s linear infinite}@keyframes bitrix-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.candidate-toolbar{align-items:stretch;flex-direction:column}.deal-autofill-meta{grid-template-columns:1fr 1fr}}.schedule-table td.slot-cell{height:auto;min-height:118px}.appointment-card{height:auto;min-height:108px;gap:3px;padding:8px 9px;overflow:hidden}.appointment-name{padding-right:20px;font-size:11px;line-height:1.3}.appointment-phone{margin:0;font-size:9px;line-height:1.3}.appointment-course-line,.appointment-meta-line,.appointment-note-preview{width:100%;color:#526b7d;font-size:8px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-course-line{color:#31566c;font-weight:700}.appointment-meta-line{display:flex;align-items:center;gap:5px}.appointment-meta-line span{min-width:0;overflow:hidden;text-overflow:ellipsis}.appointment-meta-line span+span:before{content:"·";margin-right:5px;color:#9aabb7}.appointment-note-preview{color:#7a6b45}.appointment-card-footer{margin-top:auto;min-height:19px}.appointment-select-wrap.has-quick-actions .appointment-card{min-height:112px;padding-bottom:34px}.appointment-select-wrap.has-quick-actions .appointment-card-footer{padding-right:56px}.special-slot-stack .appointment-card{min-height:108px}@media(max-width:720px){.appointment-card,.appointment-select-wrap.has-quick-actions .appointment-card,.special-slot-stack .appointment-card{min-height:116px}}.clinical-summary{display:grid;gap:16px}.clinical-patient-hero{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.clinical-patient-hero>div{flex:1;min-width:0}.clinical-patient-hero h3{margin:0 0 3px}.clinical-patient-hero p{margin:0;color:var(--muted)}.clinical-patient-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary)}.clinical-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clinical-info-grid>div{padding:12px;border:1px solid var(--border);border-radius:12px;display:grid;gap:5px}.clinical-info-grid span{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:5px}.clinical-info-grid strong{white-space:pre-wrap;overflow-wrap:anywhere}.clinical-section{display:grid;gap:10px}.clinical-section h4{margin:0}.clinical-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clinical-direction-card{padding:12px;border:1px solid var(--border);border-radius:12px;display:grid;gap:6px}.clinical-direction-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.clinical-direction-card p,.clinical-direction-card small{margin:0}.clinical-direction-card small{color:var(--muted)}.clinical-visit-list{display:grid;gap:8px}.clinical-visit-row{padding:11px 12px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,auto);gap:8px 12px}.clinical-visit-row small{display:block;color:var(--muted);margin-top:3px}.clinical-visit-row p{grid-column:1 / -1;margin:0;padding-top:7px;border-top:1px dashed var(--border);white-space:pre-wrap}.clinical-visit-meta{text-align:right}.consilium-patient-preview{padding:10px 12px;border-radius:10px;background:var(--surface-soft);display:grid;gap:3px}.waba-language-order{display:inline-flex;gap:5px;align-items:center}@media(max-width:760px){.clinical-info-grid,.clinical-direction-grid,.clinical-visit-row{grid-template-columns:1fr}.clinical-visit-meta{text-align:left}}.clinical-section-caption{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.clinical-comment-list{display:grid;gap:8px}.clinical-comment-row{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);display:grid;gap:8px}.clinical-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.clinical-comment-head>div{display:grid;gap:3px}.clinical-comment-head small{color:var(--muted)}.clinical-comment-row p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.time-choice.overflow-choice,.empty-slot.overflow-add{border-color:#d8b15a;background:#fff7df;color:#7b5815}.time-choice.overflow-choice small,.empty-slot.overflow-add span{color:#7b5815;font-weight:700}.confirmation-main-filters{flex-wrap:wrap}.confirmation-date-range{display:flex;align-items:center;gap:6px}.confirmation-date-range .input{min-width:145px}.input-with-icon{display:flex;align-items:center;gap:7px;min-width:220px}.input-with-icon .input{max-width:none;flex:1}.confirmation-scope-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px}.confirmation-scope-row{display:flex;flex-wrap:wrap;gap:7px;flex:1}.confirmation-scope-row button{border:1px solid var(--border);background:var(--card-bg);color:var(--fg);border-radius:999px;padding:7px 11px;cursor:pointer}.confirmation-scope-row button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.confirmation-checkbox{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px}.confirmation-row-processed{opacity:.78}.processed-summary{display:grid;gap:3px;min-width:170px}.processed-summary small,.processed-summary span{display:block}.worker-warning{display:flex;gap:10px;align-items:flex-start;border-color:var(--warning)}.worker-warning div{display:grid;gap:3px}.course-auto-fill{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--soft-bg);display:grid;gap:10px}.course-auto-fill-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px}.course-auto-fill-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.course-auto-fill-actions label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.course-auto-fill-actions .btn{margin-left:auto}.course-auto-fill>small{color:var(--muted-fg)}.auto-plan-warning{display:block;color:var(--warning-fg, #9a6700);margin-top:5px}@media(max-width:900px){.course-auto-fill-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.course-auto-fill-actions .btn{width:100%;margin-left:0}}@media(max-width:600px){.confirmation-date-range{width:100%}.confirmation-date-range .input{min-width:0;width:100%}.course-auto-fill-grid{grid-template-columns:1fr}}.schedule-day-presets{justify-content:flex-start;margin-bottom:10px}.schedule-weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.schedule-weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
