.header-safe-area{background-color:#fff}.header{display:flex;flex-direction:row;background-color:#fff;border-bottom:1px solid #E5E5E5;min-height:56px;position:relative}.header-stats-container{display:flex;flex-direction:row;background-color:#fff;border-top:1px solid #F0F0F0;border-bottom:1px solid #E5E5E5;min-height:56px}.header-time-spacer{width:70px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.funnel-box{width:32px;height:32px;border-radius:6px;background-color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .2s,border-color .2s;margin-left:-15px;border:none;outline:none}.funnel-box:hover,.funnel-box.funnel-active{background-color:#e4ecef;border-color:transparent}.sidebar-hint{width:4px;background-color:#f5f5f5}.header-content{flex:1;display:flex;flex-direction:row;align-items:center;padding:12px 16px;gap:16px;position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent}.header-content::-webkit-scrollbar{height:8px}.header-content::-webkit-scrollbar-track{background:transparent}.header-content::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.header-content::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.funnel-container{display:flex;justify-content:center;align-items:center;padding:4px;background:transparent;border:none;cursor:pointer;transition:background-color .2s}.funnel-container:hover,.funnel-container.funnel-active{background-color:#e4ecef;border-radius:0;padding:10px}.add-button-wrapper{display:flex;flex-direction:row;align-items:center;position:relative;margin-left:8px}.add-button-container{display:flex;flex-direction:row;align-items:center;gap:12px;margin-right:10px;padding:6px;justify-content:center;background:transparent;border:none;cursor:pointer;transition:background-color .2s}.add-button-container:hover,.add-button-container.add-active{background-color:#ebf9fc}.add-button{width:32px;height:32px;border-radius:16px;background-color:#5ba4e5;display:flex;justify-content:center;align-items:center;margin-left:5px}.add-button-text{font-size:16px;color:#999;font-weight:400}.layers-button-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.layers-button{width:44px;height:44px;border-radius:10px;display:flex;justify-content:center;align-items:center;background-color:transparent;border:none;cursor:pointer;transition:background-color .2s;padding:0}.layers-button:hover{background-color:#f7f7f7}.resources-container{display:grid;grid-auto-flow:column;grid-auto-columns:500px;align-items:center;margin-right:8px;margin-left:-16px;column-gap:0}.resource-item{display:flex;flex-direction:row;align-items:center;width:100%;padding-left:8px;padding-right:8px;box-sizing:border-box;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.resource-item+.resource-item{border-left:none}.battery-wrapper{width:24px;height:24px;margin-right:8px;display:flex;justify-content:center;align-items:center;cursor:pointer}.occupancy-popover-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:9999}.occupancy-popover{position:fixed;background-color:#2fc6f6;border-radius:12px;padding:32px 12px 12px;min-width:200px;box-shadow:0 4px 8px #0000004d;z-index:10000}.occupancy-popover-arrow{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #2FC6F6}.occupancy-popover-close-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;justify-content:center;align-items:center;background:transparent;border:none;cursor:pointer;z-index:1}.occupancy-popover-close-text{font-size:18px;color:#fff;font-weight:300;opacity:.9}.occupancy-popover-title{font-size:16px;font-weight:600;color:#fff;margin-bottom:8px}.occupancy-popover-text{font-size:14px;color:#fff;margin-bottom:4px}.resource-info{flex:1;min-width:0;margin-right:12px}.resource-name{font-size:15px;color:#333;font-weight:500;margin-bottom:2px}.resource-type{font-size:13px;color:#999;font-weight:400}.more-button-container{position:relative;padding:4px;margin-right:8px;z-index:10000}.more-button{padding:4px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.resource-menu-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:9998}.resource-menu-modal{position:fixed;background-color:#fff;border-radius:12px;min-width:180px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:10000}.menu-item{padding:12px 16px;border-bottom:1px solid #F0F0F0;background:transparent;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s}.menu-item:hover,.menu-item-hovered{background-color:#f7f7f7}.menu-item-last{border-bottom:none}.menu-item-text{font-size:15px;color:#333;font-weight:400}.menu-item-delete{color:#ff3b30}.modal-content{background-color:#fff;border-radius:16px;padding:24px;width:100%;max-width:500px;box-shadow:0 4px 20px #00000040;position:relative;max-height:90vh;overflow-y:auto;margin:auto}.form-label{font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.text-input{width:100%;border:1px solid #E0E0E0;border-radius:8px;padding:12px;font-size:15px;color:#333;background-color:#fff;font-family:inherit}.dropdown{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;border:1px solid #E0E0E0;border-radius:8px;padding:12px;background-color:#fff;cursor:pointer;font-family:inherit}.create-button-text{color:#fff;font-size:16px;font-weight:600}.resources-stats-container{display:grid;grid-auto-flow:column;grid-auto-columns:500px;align-items:center;gap:0px;margin-left:-16px}.resource-stat-item{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background-color:#f8f9fa;border-radius:6px;border:1px solid #E9ECEF;width:100%;box-sizing:border-box;margin:0 8px;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.resource-stat-item+.resource-stat-item{border-left:none}.resource-stat-name{font-size:14px;color:#333;font-weight:500}.resource-stat-info{font-size:13px;color:#6c757d;font-weight:400}.procedure-catalog{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff;border-right:1px solid #e5e5e5}.catalog-header{padding:16px;border-bottom:1px solid #e5e5e5}.catalog-title{margin:0;font-size:18px;font-weight:600;color:#333}.catalog-search{padding:12px 16px;border-bottom:1px solid #e5e5e5}.catalog-search-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.catalog-search-input:focus{border-color:#5ba4e5}.catalog-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #e5e5e5;flex-wrap:wrap}.catalog-filter-btn{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.catalog-filter-btn:hover{border-color:#5ba4e5;color:#5ba4e5}.catalog-filter-btn.active{background-color:#5ba4e5;border-color:#5ba4e5;color:#fff}.catalog-list{flex:1;overflow-y:auto;padding:8px}.catalog-empty{padding:40px 20px;text-align:center;color:#999;font-size:14px}.catalog-item{padding:12px;margin-bottom:8px;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.catalog-item:hover{border-color:#5ba4e5;box-shadow:0 2px 4px #5ba4e51a}.catalog-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.catalog-item-name{margin:0;font-size:15px;font-weight:600;color:#333;flex:1}.catalog-item-badge{padding:2px 8px;background-color:#e8f4fd;color:#5ba4e5;border-radius:4px;font-size:11px;font-weight:500;margin-left:8px}.catalog-item-details{display:flex;gap:12px;font-size:13px;color:#666;margin-bottom:4px}.catalog-item-code{font-family:monospace;font-size:12px}.catalog-item-duration{color:#999}.catalog-item-price{font-weight:600;color:#5ba4e5}.catalog-item-qualification{font-size:12px;color:#999;margin-top:4px}.catalog-loading{padding:40px 20px;text-align:center;color:#999}.schedule-timeline-container{flex:1;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;margin:16px 16px 600px;min-height:550px;display:flex;flex-direction:column}.schedule-timeline-header{display:flex;align-items:stretch;border-bottom:1px solid #eaeaea;background:#f8fafc}.schedule-timeline-grid-header{position:sticky;top:0;z-index:5;display:flex;align-items:stretch;background:#fff;border-bottom:1px solid #eaeaea}.schedule-timeline-header-time-spacer{width:70px;border-right:1px solid #e0e0e0}.schedule-timeline-header-columns{display:grid;width:fit-content}.schedule-timeline-header-col{padding:10px 12px;font-size:14px;color:#374151;font-weight:600;border-left:1px solid #ececec;white-space:nowrap}.schedule-timeline-header-col:first-child{border-left:none}.schedule-timeline-scroll-view{flex:1;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent}.schedule-timeline-scroll-view::-webkit-scrollbar{width:8px;height:8px}.schedule-timeline-scroll-view::-webkit-scrollbar-track{background:transparent}.schedule-timeline-scroll-view::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.schedule-timeline-scroll-view::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.schedule-timeline-time-slot{display:flex;flex-direction:row;min-height:60px}.schedule-timeline-past-time-slot{opacity:.7}.schedule-timeline-time-label{width:70px;padding:12px 10px;text-align:right;font-size:14px;font-weight:600;color:#6c757d;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;position:relative}.time-label-main{color:#6c757d}.schedule-timeline-time-content-grid{display:grid;width:fit-content;position:relative;min-height:60px;margin-left:5px;justify-content:start;column-gap:3px}.schedule-timeline-resource-cell{position:relative;border:none;padding:0;text-align:left;background:#f8f9fc;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;cursor:pointer;overflow:visible}.schedule-timeline-resource-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to bottom,rgba(0,0,0,.08) 0px,rgba(0,0,0,.08) 2px,transparent 2px);background-size:100% 60px}.schedule-timeline-resource-cell:first-child{border-left:1px solid #e5e7eb}.schedule-timeline-resource-cell:last-child{border-right:1px solid #e5e7eb}.schedule-timeline-hour-divider{position:absolute;top:0;left:0;right:0;height:1px;background-color:#eee;z-index:1}.schedule-timeline-half-hour-divider{position:absolute;top:50%;transform:translateY(-.5px);left:0;right:0;height:1px;background-color:#0000000a;z-index:1}.timeline-preview-block{position:absolute;background:#fff0d2a6;border:1px dashed rgba(224,166,64,.85);border-radius:8px;padding:6px 12px;box-sizing:border-box;color:#5a410c;font-size:12px;display:flex;flex-direction:column;justify-content:center;gap:4px;pointer-events:none;z-index:5}.schedule-timeline-session-block{position:absolute;border-radius:6px;padding:8px 10px 32px;box-sizing:border-box;box-shadow:0 1px 4px #e0a6401f;background-color:#f6d39a;border:1px solid rgba(224,166,64,.25);min-height:48px;display:flex;flex-direction:column;gap:4px;color:#5a410c;cursor:default;transition:transform .2s ease,box-shadow .2s ease;margin:0;outline:none}.session-header{display:flex;justify-content:space-between;align-items:center}.session-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-time{font-size:12px;opacity:.85}.session-actions{position:absolute;right:10px;justify-content:flex-end;gap:6px;bottom:5px;display:flex;align-items:center}.session-add-client{display:inline-flex;align-items:center;gap:6px;border:1px dashed rgba(90,64,12,.4);padding:4px 8px;border-radius:999px;font-size:11px;cursor:pointer;background:transparent;color:#5a410c;transition:all .2s ease}.session-add-client:hover{background:#5a400c1a;border-color:#5a400c99;transform:translateY(-1px)}.session-client-chip{font-size:11px;padding:4px 8px;border-radius:999px;background:#5a400c26;color:#5a410c}.session-details-button{width:26px;height:26px;border-radius:13px;border:none;background:#5a400c2e;color:#5a410c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.session-details-button:hover{background:#5a400c47;transform:scale(1.1) rotate(180deg)}.session-resize-handle{display:none}.session-resizing{box-shadow:0 16px 30px #5a400c40;transition:box-shadow .2s ease}.timeline-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:flex;justify-content:center;align-items:center;z-index:1000;padding:24px}.timeline-details-overlay-transparent{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:10000;pointer-events:all}.timeline-client-modal,.timeline-details-drawer{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:420px;box-shadow:0 20px 60px #0003;position:relative;animation:slideInFromRight .35s cubic-bezier(.34,1.56,.64,1)}.timeline-details-panel{position:fixed;background:#fff;border-radius:12px;padding:20px;min-width:380px;max-width:420px;max-height:90vh;box-shadow:0 10px 40px #00000040;z-index:10001;overflow-y:auto;pointer-events:all}@keyframes slideInFromRight{0%{opacity:0;transform:translate(400px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.timeline-modal-close{position:absolute;top:12px;right:12px;border:none;background:transparent;cursor:pointer;color:#9ca3af;transition:all .2s ease;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.timeline-modal-close:hover{background:#0000000d;color:#6b7280;transform:scale(1.1) rotate(90deg)}.timeline-modal-title{font-size:20px;font-weight:600;margin-bottom:16px;color:#1f2937}.timeline-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.timeline-details-actions{display:flex;align-items:center;gap:8px}.timeline-details-delete{border:none;background:#f43f5e1f;color:#ef4444;border-radius:8px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.timeline-details-delete:hover{background:#f43f5e38;color:#dc2626;transform:scale(1.05);box-shadow:0 2px 8px #ef44444d}.timeline-details-close{border:none;background:transparent;color:#9ca3af;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:6px;transition:all .2s ease;border-radius:50%;width:32px;height:32px}.timeline-details-close:hover{background:#0000000d;color:#6b7280;transform:scale(1.1) rotate(90deg)}.timeline-modal-form-group{margin-bottom:12px}.timeline-modal-label{font-size:13px;font-weight:500;margin-bottom:6px;color:#4b5563}.timeline-modal-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.timeline-modal-input-icon-left{position:absolute;left:12px;color:#9ca3af;pointer-events:none;z-index:1}.timeline-modal-input-icon-right{position:absolute;right:12px;color:#9ca3af;pointer-events:none;z-index:1}.timeline-modal-input-wrapper:focus-within .timeline-modal-input-icon-right{color:#5ba4e5}.timeline-modal-input-wrapper:focus-within .timeline-modal-input-icon-left{color:#5ba4e5}.timeline-modal-input{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px 40px;font-size:14px;transition:all .2s ease}.timeline-modal-input:focus{outline:none;border-color:#5ba4e5;box-shadow:0 0 0 3px #5ba4e51a}.timeline-modal-hint{font-size:13px;color:#6b7280;line-height:1.5;margin-top:8px;margin-bottom:12px}.timeline-search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:4px;z-index:1001;max-height:200px;overflow-y:auto}.timeline-suggestion-item{width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f3f4f6}.timeline-suggestion-item:last-child{border-bottom:none}.timeline-suggestion-item:hover{background:#f9fafb}.timeline-suggestion-text{color:#4b5563;font-size:14px}.timeline-suggestion-create{color:#5ba4e5}.timeline-suggestion-create-text{color:#5ba4e5;font-size:14px}.timeline-modal-input-with-badge{position:relative}.timeline-modal-badge{position:absolute;right:40px;top:50%;transform:translateY(-50%);background:#5ba4e5;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;z-index:2;text-transform:uppercase;letter-spacing:.5px}.timeline-phone-flag{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center;width:20px;height:15px}.timeline-flag-img{width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 1px 2px #0000001a;display:block}.timeline-phone-input{padding-left:48px}.timeline-input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.timeline-phone-error{color:#ef4444;font-size:12px;margin-top:4px;margin-left:4px}.timeline-modal-actions{display:flex;gap:12px;margin-top:16px}.timeline-modal-cancel{padding:12px 24px;border:none;background:transparent;color:#6b7280;font-weight:600;font-size:14px;cursor:pointer;border-radius:10px;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.timeline-modal-cancel:hover{background:#f3f4f6;color:#374151}.timeline-modal-actions .timeline-modal-save{flex:1;text-transform:uppercase;letter-spacing:.5px}.timeline-modal-save{width:100%;border:none;background:#5ba4e5;color:#fff;font-weight:600;border-radius:10px;padding:12px;cursor:pointer;margin-top:4px;transition:all .2s ease}.timeline-modal-save:hover:not(:disabled){background:#4a8fc4;transform:translateY(-1px);box-shadow:0 4px 12px #5ba4e566}.timeline-modal-save:active:not(:disabled){transform:translateY(0)}.timeline-modal-save:disabled{opacity:.6;cursor:not-allowed}.timeline-modal-subtitle{margin-top:18px;margin-bottom:8px;font-weight:600;color:#1f2937}.timeline-client-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.timeline-client-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#f9fafb;text-align:left;cursor:pointer;transition:all .2s ease}.timeline-client-item:hover{background:#f3f4f6;border-color:#5ba4e5;transform:translate(4px);box-shadow:0 2px 8px #0000001a}.timeline-client-name{font-weight:600;color:#111827}.timeline-client-meta{font-size:12px;color:#6b7280}.timeline-client-empty{text-align:center;color:#9ca3af;font-size:13px}.timeline-details-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f1f5f9;color:#1f2937}.timeline-details-section{margin-top:20px}.timeline-details-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-details-section-header-left{display:flex;align-items:center;gap:12px}.timeline-section-icon{color:#5ba4e5;flex-shrink:0}.timeline-details-section-title{font-weight:600;color:#1f2937;margin-bottom:2px;font-size:16px}.timeline-details-section-subtitle{font-size:13px;color:#6b7280}.timeline-section-edit-btn{width:32px;height:32px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.timeline-section-edit-btn:hover{background:#e5e7eb;color:#374151}.timeline-details-section-body{border:1px dashed #d1d5db;border-radius:12px;padding:12px;color:#94a3b8;font-size:14px}.timeline-additional-doctor-display{display:flex;align-items:center;gap:8px;color:#1f2937}.timeline-doctor-search-container{margin-top:12px;position:relative}.timeline-doctor-search-input-wrapper{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;background:#fff;min-height:40px}.timeline-doctor-tag{display:inline-flex;align-items:center;gap:6px;background:#e0f2fe;color:#5ba4e5;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:500}.timeline-doctor-tag-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#5ba4e5;cursor:pointer;padding:0;margin-left:4px;transition:color .2s ease}.timeline-doctor-tag-remove:hover{color:#0284c7}.timeline-doctor-search-input{flex:1;border:none;outline:none;font-size:14px;min-width:100px;background:transparent}.timeline-doctor-search-input::placeholder{color:#9ca3af}.timeline-doctor-search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:4px;z-index:1001;max-height:250px;overflow-y:auto}.timeline-doctor-search-hint{display:flex;align-items:center;gap:8px;padding:8px 12px;color:#6b7280;font-size:13px;border-bottom:1px solid #f3f4f6}.timeline-doctor-search-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background-color .2s ease;color:#1f2937;font-size:14px}.timeline-doctor-search-item:hover{background:#f9fafb}.timeline-doctor-search-item-selected{background:#e0f2fe}.timeline-doctor-search-item-selected:hover{background:#bae6fd}.timeline-doctor-search-item span{flex:1}.timeline-doctor-search-item svg:first-child{color:#5ba4e5;flex-shrink:0}.timeline-note-section{margin-top:16px}.timeline-note-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px dashed #d1d5db;border-radius:12px;background:#fef3c7;color:#92400e;font-size:14px;cursor:pointer;transition:all .2s ease}.timeline-note-add-btn:hover{background:#fde68a;border-color:#fbbf24}.timeline-note-editor{margin-top:16px;padding:16px;background:#fef3c7;border-radius:12px;border:1px solid #fbbf24}.timeline-note-title{font-size:16px;font-weight:600;color:#5ba4e5;margin-bottom:8px}.timeline-note-hint{font-size:13px;color:#6b7280;margin-bottom:12px}.timeline-note-textarea{width:100%;min-height:100px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px;background:#fff;color:#1f2937}.timeline-note-textarea:focus{outline:none;border-color:#5ba4e5;box-shadow:0 0 0 3px #5ba4e51a}.timeline-note-display{padding:12px;background:#fef3c7;border-radius:12px;border:1px solid #fbbf24}.timeline-note-display-title{font-size:14px;font-weight:600;color:#5ba4e5;margin-bottom:8px}.timeline-note-display-text{font-size:14px;color:#1f2937;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-height:150px;overflow-y:auto;padding:4px;margin:-4px}.timeline-note-display-text::-webkit-scrollbar{width:6px}.timeline-note-display-text::-webkit-scrollbar-track{background:transparent}.timeline-note-display-text::-webkit-scrollbar-thumb{background:#fbbf24;border-radius:3px}.timeline-note-display-text::-webkit-scrollbar-thumb:hover{background:#f59e0b}.timeline-note-counter{font-size:12px;color:#6b7280;text-align:right;margin-bottom:8px}.timeline-note-edit-btn{padding:6px 12px;border:1px solid #fbbf24;border-radius:6px;background:transparent;color:#92400e;font-size:13px;cursor:pointer;transition:all .2s ease}.timeline-note-edit-btn:hover{background:#fde68a;border-color:#f59e0b}.timeline-services-section{margin-top:16px;padding:12px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.timeline-services-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.timeline-services-header-left{display:flex;align-items:center;gap:10px;flex:1}.timeline-services-add-icon-btn{width:32px;height:32px;border-radius:8px;border:none;background:#e0f2fe;color:#5ba4e5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.timeline-services-add-icon-btn:hover{background:#bae6fd;transform:scale(1.05)}.timeline-services-icon{color:#5ba4e5;flex-shrink:0}.timeline-services-header-text{flex:1}.timeline-services-title{font-size:14px;font-weight:600;color:#1f2937}.timeline-services-subtitle{font-size:12px;color:#6b7280;margin-top:2px}.timeline-services-list{display:flex;flex-direction:column;gap:8px}.timeline-service-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.timeline-service-name{flex:1;font-size:14px;color:#1f2937}.timeline-service-price{font-size:14px;font-weight:600;color:#059669}.timeline-service-remove-btn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.timeline-service-remove-btn:hover{background:#fee2e2}.timeline-services-empty{padding:12px;text-align:center;color:#9ca3af;font-size:13px;border:1px dashed #d1d5db;border-radius:8px}.timeline-service-editor{padding:12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.timeline-service-input-row{display:flex;gap:8px;margin-bottom:8px}.timeline-service-name-input{flex:1;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#fff}.timeline-service-name-input:focus{outline:none;border-color:#5ba4e5;box-shadow:0 0 0 3px #5ba4e51a}.timeline-service-price-input{width:120px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#fff}.timeline-service-price-input:focus{outline:none;border-color:#5ba4e5;box-shadow:0 0 0 3px #5ba4e51a}.timeline-service-add-btn{width:40px;height:40px;border-radius:6px;border:none;background:#5ba4e5;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.timeline-service-add-btn:hover:not(:disabled){background:#4a8fc4;transform:scale(1.05)}.timeline-service-add-btn:disabled{opacity:.5;cursor:not-allowed}.timeline-service-close-btn{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:6px;background:transparent;color:#6b7280;font-size:13px;cursor:pointer;transition:all .2s ease}.timeline-service-close-btn:hover{background:#f3f4f6;border-color:#9ca3af}.session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10000}.session-modal-content{background-color:#fff;border-radius:16px;padding:24px;width:100%;max-width:600px;max-height:90vh;box-shadow:0 4px 20px #00000040;position:relative;overflow-y:auto;margin:auto}.session-modal-close-btn{position:absolute;top:12px;right:12px;padding:8px;background:transparent;border:none;cursor:pointer;z-index:1}.session-modal-close-text{font-size:24px;color:#bbb}.session-modal-title{font-size:22px;font-weight:600;color:#111;margin-bottom:8px;margin-top:8px}.session-modal-procedure-name{font-size:16px;color:#666;margin-bottom:24px}.session-modal-form-group{margin-bottom:20px}.session-modal-form-label{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.session-modal-time-slots-container{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:60px;padding:4px;gap:8px;-webkit-overflow-scrolling:touch}.session-modal-time-slot{padding:10px 16px;border-radius:8px;border:1px solid #E0E0E0;background-color:#fff;min-width:80px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.session-modal-time-slot:hover:not(:disabled){border-color:#5ba4e5}.session-modal-time-slot-selected{border-color:#5ba4e5;background-color:#f0f8ff}.session-modal-time-slot-occupied{border-color:#ffe5e5;background-color:#fff5f5;opacity:.6;cursor:not-allowed}.session-modal-time-slot-text{font-size:14px;color:#333;font-weight:500}.session-modal-time-slot-text-selected{color:#5ba4e5;font-weight:600}.session-modal-time-slot-text-occupied{color:#ff3b30}.session-modal-resources-list{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.session-modal-resource-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:12px;border-radius:8px;border:1px solid #E0E0E0;background:transparent;cursor:pointer;transition:all .2s;width:100%;text-align:left}.session-modal-resource-item:hover{border-color:#5ba4e5}.session-modal-resource-item-selected{border-color:#5ba4e5;background-color:#f0f8ff}.session-modal-resource-item-text{font-size:15px;color:#333}.session-modal-resource-item-text-selected{color:#5ba4e5;font-weight:600}.session-modal-save-button{width:100%;background-color:#5ba4e5;border-radius:8px;padding:14px;text-align:center;margin-top:8px;border:none;cursor:pointer;transition:background-color .2s}.session-modal-save-button:hover:not(:disabled){background-color:#4a8fc4}.session-modal-save-button-disabled{background-color:#ccc;opacity:.6;cursor:not-allowed}.session-modal-save-button-text{color:#fff;font-size:16px;font-weight:600}.session-modal-duration-buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.session-modal-duration-button{padding:10px 16px;border-radius:8px;border:1px solid #E0E0E0;background-color:#fff;min-width:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.session-modal-duration-button:hover{border-color:#5ba4e5}.session-modal-duration-button-selected{border-color:#5ba4e5;background-color:#f0f8ff}.session-modal-duration-button-text{font-size:14px;color:#333;font-weight:500}.session-modal-duration-button-text-selected{color:#5ba4e5;font-weight:600}.calendar-wrap{min-width:220px;max-width:270px;position:relative}.calendar-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;min-height:38px;padding:0 16px;background-color:#fff;border-radius:16px;box-shadow:0 4px 18px #00000014}.calendar-arrow-btn{padding:4px;border-radius:6px;margin:0 2px;background:transparent;border:none;cursor:pointer}.calendar-arrow{font-size:17px;color:#b7c4d1;font-weight:700}.calendar-caret-btn{display:flex;flex-direction:column;margin-left:2px;align-items:center;justify-content:center;padding:0 4px;background:transparent;border:none;cursor:pointer}.calendar-caret{color:#b7c4d1;font-size:13px;line-height:12px;margin:-2px 0}.calendar-caret-open{transform:rotate(180deg)}.calendar-date-text{font-size:15px;color:#333;font-weight:500;margin:0 9px;min-width:90px;text-align:center}.calendar-animated-panel{position:absolute;top:46px;right:0;min-width:260px;z-index:20000;overflow:hidden;background-color:#fff;border-radius:16px;box-shadow:0 4px 18px #0000001a}.top-header-calendar{position:relative;z-index:20000}.top-header-calendar .calendar-wrap{min-width:200px;max-width:240px;position:relative;z-index:20000}.top-header-calendar .calendar-row{min-height:32px;padding:0 12px;position:relative;z-index:20001}.top-header-calendar .calendar-date-text{font-size:13px;min-width:80px;margin:0 6px}.top-header-calendar .calendar-animated-panel{position:absolute;top:38px;right:0;z-index:20002}.calendar-full-panel{background-color:#fff;border-radius:12px;padding:6px 0 10px}.calendar-panel-top{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;margin-bottom:5px;min-height:40px}.calendar-panel-month-arrow-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.calendar-panel-month-arrow-btn:hover{background-color:#f5f5f5}.calendar-close-btn{position:absolute;top:0;right:0;background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.calendar-close-btn:hover{background-color:#f5f5f5}.calendar-close-icon{font-size:16px;color:#9aa3af;font-weight:400;line-height:1}.calendar-panel-month-arrow{color:#b7c4d1;font-size:18px;padding:0 7px;font-weight:700}.calendar-panel-month{min-width:54px;font-size:16px;font-weight:600;color:#446988;text-align:center}.calendar-panel-year{font-size:15px;margin-left:0;color:#b7c4d1;font-weight:600}.calendar-days-row{display:flex;flex-direction:row;margin-bottom:0}.calendar-day-head{flex:1;color:#b7c4d1;text-align:center;font-weight:600;font-size:12px;padding:2px 0}.calendar-week-row{display:flex;flex-direction:row;justify-content:center}.calendar-day-btn{flex:1;margin:2px;padding:6px 0;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:transparent;min-width:24px;min-height:28px;max-width:36px;border:none;cursor:pointer;transition:background-color .2s;position:relative}.calendar-day-btn:hover:not(.calendar-day-selected){background-color:#e8f4f8}.calendar-day-workday:not(.calendar-day-selected):not(.calendar-day-today){background-color:#fff9e6}.calendar-day-workday:not(.calendar-day-selected):not(.calendar-day-today):hover{background-color:#ffefb3}.calendar-day-weekend:not(.calendar-day-selected):not(.calendar-day-today) .calendar-day-num{color:#ff3b30}.calendar-day-other-month .calendar-day-num{color:#b7c4d1}.calendar-day-other-month{opacity:.6}.calendar-day-today{background-color:#007aff}.calendar-day-today .calendar-day-num{color:#fff;font-weight:700}.calendar-day-selected{background-color:#2fc6f6}.calendar-day-selected .calendar-day-num{color:#fff;font-weight:600}.calendar-day-today.calendar-day-selected{background-color:#007aff}.calendar-day-num{font-size:14px;color:#305d84;font-weight:500;text-align:center}.calendar-day-num-other-month{color:#b7c4d1}.calendar-day-num-weekend{color:#ff3b30}.calendar-day-num-today{color:#fff;font-weight:700}.calendar-day-num-selected{color:#fff;font-weight:600}.calendar-bottom-arrows{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:7px 18px 0}.top-header-root{background:linear-gradient(180deg,#1f2937bf,#1f2937a6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative;z-index:20000;overflow:visible}.top-header-inner{display:flex;align-items:center;gap:16px;padding:8px 12px;position:relative;z-index:20000}.top-header-left{display:flex;align-items:center;gap:10px;min-width:230px;flex-shrink:0}.top-header-title{color:#e5e7eb;font-weight:700;letter-spacing:.2px}.top-header-date{color:#cbd5e1;font-size:14px}.top-header-search{flex:0 0 240px;width:240px;min-width:200px;display:flex;align-items:center;gap:8px;height:32px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:0 10px}.top-header-search-input{flex:1;height:100%;border:none;outline:none;background:transparent;color:#e5e7eb;font-size:14px}.top-header-search-input::placeholder{color:#fff;opacity:1}.top-header-calendar{display:flex;align-items:center;margin-left:auto;margin-right:16px;flex-shrink:0}.top-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.top-header-kpi{color:#d1d5db;font-size:12px;border:1px dashed rgba(255,255,255,.3);padding:4px 8px;border-radius:8px}.kpi-plus{color:#9ca3af}.kpi-value{color:#fff;font-weight:600}.kpi-label{color:#d1d5db}.top-header-pill{display:flex;align-items:center;gap:6px;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#e5e7eb;font-size:12px;padding:6px 10px;border-radius:12px}.pill-dot{width:6px;height:6px;border-radius:3px;background:#22c55e}.pill-dot.late{background:#f59e0b}.pill-text{white-space:nowrap}.top-header-gear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer;transition:background-color .2s}.top-header-gear:hover{background:#ffffff40}.gear-icon{fill:#d1d5db;stroke:#000;stroke-width:1.5}.gear-icon path{fill:#d1d5db;stroke:#000;stroke-width:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10000}.settings-modal-content{background-color:#fff;border-radius:16px;padding:24px;width:100%;max-width:600px;box-shadow:0 4px 20px #00000040;position:relative;max-height:90vh;overflow-y:auto;margin:auto}.modal-close-btn{position:absolute;top:12px;right:12px;padding:8px;background:transparent;border:none;cursor:pointer;z-index:1}.modal-close-text{font-size:24px;color:#bbb}.modal-title{font-size:22px;font-weight:600;color:#111;margin-bottom:24px;margin-top:8px}.settings-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.settings-back-btn{padding:6px 12px;background:transparent;border:1px solid #FF3B30;border-radius:6px;color:#ff3b30;font-size:14px;cursor:pointer;transition:background-color .2s,color .2s}.settings-back-btn:hover{background-color:#ff3b30;color:#fff}.settings-menu{display:flex;flex-direction:column;gap:8px}.settings-menu-item{width:100%;padding:14px 16px;background:transparent;border:1px solid #E0E0E0;border-radius:8px;text-align:left;font-size:15px;color:#333;cursor:pointer;transition:background-color .2s,border-color .2s}.settings-menu-item:hover{background-color:#f7f7f7;border-color:#5ba4e5}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{margin-bottom:20px}.form-label{font-size:14px;font-weight:500;color:#333;margin-bottom:8px;text-transform:uppercase}.form-hint{font-size:12px;color:#999;margin-top:6px}.dropdown{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #E0E0E0;border-radius:8px;padding:12px;background-color:#fff;cursor:pointer;font-family:inherit}.dropdown-text{font-size:15px;color:#333}.dropdown-menu{margin-top:4px;border:1px solid #E0E0E0;border-radius:8px;background-color:#fff;overflow:hidden}.dropdown-item{width:100%;padding:12px;border-bottom:1px solid #F0F0F0;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left;cursor:pointer;transition:background-color .2s}.dropdown-item:hover{background-color:#f7f7f7}.dropdown-item-selected{background-color:#f0f8ff}.dropdown-item-text{font-size:15px;color:#333}.dropdown-item-text-selected{color:#5ba4e5;font-weight:600}.text-input{width:100%;border:1px solid #E0E0E0;border-radius:8px;padding:12px;font-size:15px;color:#333;background-color:#fff;font-family:inherit;box-sizing:border-box}.text-input:focus{outline:none;border-color:#5ba4e5}.create-button{width:100%;background-color:#5ba4e5;border-radius:8px;padding:14px;text-align:center;margin-top:8px;border:none;cursor:pointer;transition:background-color .2s}.create-button:hover:not(:disabled){background-color:#4a8fc4}.create-button-disabled{background-color:#ccc;opacity:.6;cursor:not-allowed}.create-button-text{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase}.add-resource-success{margin-top:16px;font-size:14px;color:#22c55e;font-weight:500}.saved-clients-list{margin-top:24px;padding-top:24px;border-top:1px solid #E0E0E0}.saved-client-item{padding:12px;background:#f7f7f7;border-radius:8px;margin-bottom:8px}.saved-client-name{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.saved-client-id{font-size:13px;color:#666}.settings-tab-content{padding:20px 0}.modal-text{font-size:15px;color:#666;line-height:1.6}.treatment-plan-panel{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff}.plan-loading,.plan-error,.plan-empty{padding:40px 20px;text-align:center;color:#999}.plan-error{color:#ff3b30}.plan-retry-btn{margin-top:12px;padding:8px 16px;background-color:#5ba4e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.plan-empty-text{margin-bottom:20px;font-size:16px}.plan-create-btn{padding:12px 24px;background-color:#5ba4e5;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:background-color .2s}.plan-create-btn:hover{background-color:#4a8fc4}.plan-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e5e5e5}.plan-header-left{display:flex;align-items:center;gap:12px}.plan-title{margin:0;font-size:20px;font-weight:600;color:#333}.plan-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.plan-status-draft{background-color:#f0f0f0;color:#666}.plan-status-approved{background-color:#e8f5e9;color:#2e7d32}.plan-status-in_progress{background-color:#e3f2fd;color:#1976d2}.plan-status-completed{background-color:#e8f5e9;color:#2e7d32}.plan-status-canceled{background-color:#ffebee;color:#c62828}.plan-header-right{display:flex;align-items:center;gap:12px}.plan-total-price{font-size:18px;font-weight:600;color:#5ba4e5}.plan-approve-btn{padding:8px 16px;background-color:#5ba4e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.plan-approve-btn:hover{background-color:#4a8fc4}.plan-items-list{flex:1;overflow-y:auto;padding:16px}.plan-empty-items{padding:40px 20px;text-align:center;color:#999;font-size:14px}.plan-item-card{background-color:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;padding:16px;margin-bottom:12px}.plan-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.plan-item-info{flex:1}.plan-item-name{margin:0 0 8px;font-size:16px;font-weight:600;color:#333}.plan-item-details{font-size:14px;color:#666;margin-bottom:4px}.plan-item-notes{font-size:13px;color:#999;font-style:italic;margin-top:8px}.plan-item-delete-btn{width:24px;height:24px;border:none;background-color:transparent;color:#ff3b30;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.plan-item-delete-btn:hover{background-color:#ffebee}.plan-item-actions{padding-top:12px;border-top:1px solid #e5e5e5}.plan-item-assign-btn{padding:8px 16px;background-color:#5ba4e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.plan-item-assign-btn:hover{background-color:#4a8fc4}.home-container{display:flex;flex-direction:column;flex:1;background-color:#fff;min-height:100vh;position:relative}.home-main-layout{display:flex;flex:1;overflow:hidden}.home-left-panel{width:300px;min-width:300px;max-width:300px;display:flex;flex-direction:column;border-right:1px solid #e5e5e5;overflow:hidden}.home-center-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.home-right-panel{width:350px;min-width:350px;max-width:350px;display:flex;flex-direction:column;border-left:1px solid #e5e5e5;overflow:hidden}.plan-info-message{padding:30px 20px;text-align:center;color:#666}.plan-info-message h3{font-size:18px;font-weight:600;margin:0 0 15px;color:#333}.plan-info-message p{font-size:14px;line-height:1.6;margin:10px 0}.plan-info-hint{font-size:12px;color:#999;font-style:italic;margin-top:20px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#333}#root{width:100%;min-height:100vh}
