@charset "UTF-8";@media (max-width: 767px){html,body{overflow-x:hidden;width:100%}}*,*:before,*:after{box-sizing:border-box}@media (max-width: 767px){body{font-size:14px;line-height:1.5}}h1,.h1{font-size:1.75rem}@media (min-width: 768px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:1.5rem}@media (min-width: 768px){h2,.h2{font-size:2rem}}h3,.h3{font-size:1.25rem}@media (min-width: 768px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:1.1rem}@media (min-width: 768px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1rem}@media (min-width: 768px){h5,.h5{font-size:1.25rem}}h6,.h6{font-size:.875rem}@media (min-width: 768px){h6,.h6{font-size:1rem}}@media (max-width: 767px){.container,.container-fluid,.container-xxl{padding-left:.75rem;padding-right:.75rem}.row{margin-left:-.5rem;margin-right:-.5rem}.row>[class*=col-]{padding-left:.5rem;padding-right:.5rem}.row-mobile-stack{flex-direction:column}.row-mobile-stack>[class*=col-]{width:100%;max-width:100%;flex:0 0 100%;margin-bottom:1rem}.row-mobile-stack>[class*=col-]:last-child{margin-bottom:0}.card{border-radius:.5rem}.card .card-body,.card .card-header,.card .card-footer{padding:.75rem}}.card-grid-responsive{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 768px){.card-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.card-grid-responsive{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.table-responsive{margin:0 -.75rem;width:calc(100% + 1.5rem)}.table-responsive table{min-width:600px}.table{font-size:12px}.table th,.table td{padding:.5rem .75rem;vertical-align:middle}.btn{min-height:44px;min-width:44px;padding:.75rem 1.25rem}.btn i,.btn svg{font-size:1.1em}.btn-group-mobile-stack{display:flex;flex-direction:column;width:100%}.btn-group-mobile-stack .btn{width:100%;border-radius:.5rem!important;margin-bottom:.5rem}.btn-group-mobile-stack .btn:last-child{margin-bottom:0}.btn-mobile-full{width:100%;display:block}.form-control,.form-select{min-height:44px;padding:.75rem 1rem;font-size:16px}.form-row-mobile-stack{display:flex;flex-direction:column;gap:.75rem}.form-row-mobile-stack>*{width:100%}.form-inline{flex-direction:column;align-items:stretch}.form-inline .form-control,.form-inline .form-select,.form-inline .btn{width:100%;margin-bottom:.5rem}.form-inline .form-control:last-child,.form-inline .form-select:last-child,.form-inline .btn:last-child{margin-bottom:0}.select2-container{width:100%!important}.select2-container .select2-selection{min-height:44px!important;padding:.5rem!important}.modal .modal-dialog{margin:.5rem;max-width:calc(100% - 1rem)}.modal .modal-dialog.modal-lg,.modal .modal-dialog.modal-xl{max-width:calc(100% - 1rem)}.modal .modal-content{border-radius:.5rem}.modal .modal-header,.modal .modal-footer{padding:.75rem}.modal .modal-body{padding:.75rem;max-height:60vh;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.modal .modal-footer{flex-direction:column-reverse}.modal .modal-footer .btn{width:100%;margin:.25rem 0}.modal-mobile-fullscreen .modal-dialog{margin:0;max-width:100%;height:100%}.modal-mobile-fullscreen .modal-content{border-radius:0;height:100%}.modal-mobile-fullscreen .modal-body{max-height:calc(100vh - 120px)}.modal-bottom-sheet .modal-dialog{position:fixed;bottom:0;left:0;right:0;margin:0;max-width:100%;transform:translateY(100%);transition:transform .25s cubic-bezier(0,0,.2,1)}.modal-bottom-sheet.show .modal-dialog{transform:translateY(0)}.modal-bottom-sheet .modal-content{border-radius:1rem 1rem 0 0;border-bottom-left-radius:0;border-bottom-right-radius:0}.breadcrumb{font-size:12px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:.5rem;margin-bottom:.5rem}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb .breadcrumb-item{flex-shrink:0}.breadcrumb .breadcrumb-item:not(:first-child):not(:last-child){max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{flex-wrap:wrap;justify-content:center}.pagination .page-link{min-height:44px;min-width:44px;padding:.5rem .75rem}}@media (max-width: 767px) and (max-width: 400px){.pagination .page-item:not(:first-child):not(:last-child):not(.active){display:none}}@media (max-width: 767px){.nav-tabs{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;flex-wrap:nowrap;border-bottom:none;margin-bottom:1rem;padding-bottom:.5rem;gap:.5rem}.nav-tabs::-webkit-scrollbar{display:none}.nav-tabs>*{scroll-snap-align:start;flex-shrink:0}.nav-tabs .nav-item{flex-shrink:0}.nav-tabs .nav-link{white-space:nowrap;padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--bs-border-color)}.nav-tabs .nav-link.active{border-color:var(--bs-primary);background:var(--bs-primary);color:#fff}.alert{padding:.75rem;font-size:12px;border-radius:.5rem}.alert .alert-heading{font-size:1rem}.badge{font-size:.7rem;padding:.25em .5em}.dropdown-menu{font-size:12px}.dropdown-menu .dropdown-item{padding:.75rem 1rem;min-height:44px;min-width:44px}.d-mobile-none{display:none!important}}.d-mobile-block{display:none}@media (max-width: 767px){.d-mobile-block{display:block}}.d-mobile-flex{display:none}@media (max-width: 767px){.d-mobile-flex{display:flex}.text-mobile-center{text-align:center!important}.text-mobile-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-mobile-0{padding:0!important}.m-mobile-0{margin:0!important}.mt-mobile-0{margin-top:0!important}.mb-mobile-0{margin-bottom:0!important}.p-mobile-1{padding:.25rem!important}.m-mobile-1{margin:.25rem!important}.mt-mobile-1{margin-top:.25rem!important}.mb-mobile-1{margin-bottom:.25rem!important}.p-mobile-2{padding:.5rem!important}.m-mobile-2{margin:.5rem!important}.mt-mobile-2{margin-top:.5rem!important}.mb-mobile-2{margin-bottom:.5rem!important}.p-mobile-3{padding:.75rem!important}.m-mobile-3{margin:.75rem!important}.mt-mobile-3{margin-top:.75rem!important}.mb-mobile-3{margin-bottom:.75rem!important}.p-mobile-4{padding:1rem!important}.m-mobile-4{margin:1rem!important}.mt-mobile-4{margin-top:1rem!important}.mb-mobile-4{margin-bottom:1rem!important}.p-mobile-5{padding:1.5rem!important}.m-mobile-5{margin:1.5rem!important}.mt-mobile-5{margin-top:1.5rem!important}.mb-mobile-5{margin-bottom:1.5rem!important}.p-mobile-6{padding:2rem!important}.m-mobile-6{margin:2rem!important}.mt-mobile-6{margin-top:2rem!important}.mb-mobile-6{margin-bottom:2rem!important}.p-mobile-7{padding:3rem!important}.m-mobile-7{margin:3rem!important}.mt-mobile-7{margin-top:3rem!important}.mb-mobile-7{margin-bottom:3rem!important}.w-mobile-100{width:100%!important}.g-mobile-0{--bs-gutter-x: 0;--bs-gutter-y: 0}.flex-mobile-column{flex-direction:column!important}.gap-mobile-1{gap:.25rem!important}.gap-mobile-2{gap:.5rem!important}.gap-mobile-3{gap:1rem!important}.card{border-radius:.5rem;margin-bottom:.75rem;box-shadow:0 1px 3px #00000014}.card .card-header{padding:.75rem;border-radius:.5rem .5rem 0 0}.card .card-header .card-title{font-size:1rem;margin-bottom:0}.card .card-body{padding:.75rem}.card .card-footer{padding:.75rem;border-radius:0 0 .5rem .5rem}.card-header-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.card-header-actions .card-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header-actions .card-actions{display:flex;gap:.25rem}.card-header-actions .card-actions .btn{padding:.375rem .5rem;font-size:12px}.card-header-actions .card-actions .btn span:not(.visually-hidden){display:none}.card-header-actions .card-actions .btn i,.card-header-actions .card-actions .btn svg{margin:0}.card-header-collapse{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:44px;min-width:44px}.card-header-collapse:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;transition:transform .15s}.card-header-collapse[aria-expanded=true]:after,.card-header-collapse.expanded:after{transform:rotate(180deg)}.card-grid{display:grid;grid-template-columns:1fr;gap:.75rem}}@media (min-width: 768px){.card-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 992px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.card-grid-2{grid-template-columns:repeat(2,1fr);gap:.5rem}.card-grid-2 .card{margin-bottom:0}.card-horizontal{display:flex;flex-direction:row}.card-horizontal .card-img-start{width:100px;height:auto;-o-object-fit:cover;object-fit:cover;border-radius:.5rem 0 0 .5rem}.card-horizontal .card-body{flex:1;padding:.75rem;min-width:0}.card-horizontal .card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.card-horizontal .card-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}.card-stat{text-align:center;padding:.75rem}.card-stat .stat-icon{font-size:1.75rem;margin-bottom:.5rem;opacity:.8}.card-stat .stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.card-stat .stat-label{font-size:12px;color:var(--bs-secondary);margin-top:.25rem}.card-stat .stat-change{font-size:12px;margin-top:.5rem}.card-stat .stat-change.positive{color:var(--bs-success)}.card-stat .stat-change.negative{color:var(--bs-danger)}.card-stat-mini{display:flex;align-items:center;padding:.75rem;gap:.75rem}.card-stat-mini .stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bs-primary-bg-subtle);font-size:1.25rem;flex-shrink:0}.card-stat-mini .stat-content{flex:1;min-width:0}.card-stat-mini .stat-value{font-size:1.25rem;font-weight:700}.card-stat-mini .stat-label{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-list-item{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid var(--bs-border-color-translucent);gap:.75rem;cursor:pointer;transition:background .15s}.card-list-item:last-child{border-bottom:none}.card-list-item:active{background:var(--bs-secondary-bg)}.card-list-item .list-item-avatar{width:44px;height:44px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-list-item .list-item-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.card-list-item .list-item-avatar i,.card-list-item .list-item-avatar svg{font-size:1.25rem;color:var(--bs-secondary)}.card-list-item .list-item-content{flex:1;min-width:0}.card-list-item .list-item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.card-list-item .list-item-subtitle{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-list-item .list-item-meta{text-align:right;flex-shrink:0}.card-list-item .list-item-value{font-weight:600}.card-list-item .list-item-badge{font-size:.7rem}.card-list-item .list-item-arrow{color:var(--bs-secondary);margin-left:.5rem}.card-list-item-swipe{position:relative;overflow:hidden}.card-list-item-swipe .swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;transform:translate(100%);transition:transform .25s}.card-list-item-swipe .swipe-actions .btn{border-radius:0;min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;font-size:12px}.card-list-item-swipe .swipe-actions .btn i,.card-list-item-swipe .swipe-actions .btn svg{font-size:1.25rem}.card-list-item-swipe.swiped .swipe-actions{transform:translate(0)}.card-entity .entity-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.card-entity .entity-avatar{width:50px;height:50px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-entity .entity-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.card-entity .entity-avatar .initials{font-size:1.25rem;font-weight:600;color:var(--bs-primary)}.card-entity .entity-info{flex:1;min-width:0}.card-entity .entity-name{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entity .entity-subtitle{font-size:12px;color:var(--bs-secondary)}.card-entity .entity-status{margin-left:auto}.card-entity .entity-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-size:12px}.card-entity .detail-item{display:flex;flex-direction:column}.card-entity .detail-item .detail-label{color:var(--bs-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.card-entity .detail-item .detail-value{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entity .entity-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color-translucent)}.card-entity .entity-actions .btn{flex:1;font-size:12px}.card-appointment{position:relative;padding-left:.5rem;border-left:4px solid var(--bs-primary)}.card-appointment.status-confirmed{border-left-color:var(--bs-success)}.card-appointment.status-pending{border-left-color:var(--bs-warning)}.card-appointment.status-cancelled{border-left-color:var(--bs-danger)}.card-appointment .appointment-time{font-weight:700;font-size:.9rem;margin-bottom:.25rem}.card-appointment .appointment-patient{font-weight:600;margin-bottom:.25rem}.card-appointment .appointment-service{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-appointment .appointment-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:12px}.card-empty{text-align:center;padding:2rem 1rem}.card-empty .empty-icon{font-size:3rem;color:var(--bs-secondary);margin-bottom:1rem;opacity:.5}.card-empty .empty-title{font-weight:600;margin-bottom:.5rem}.card-empty .empty-text{font-size:12px;color:var(--bs-secondary);margin-bottom:1rem}.card-skeleton .skeleton-line{height:1rem;background:linear-gradient(90deg,var(--bs-secondary-bg) 25%,var(--bs-tertiary-bg) 50%,var(--bs-secondary-bg) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;margin-bottom:.5rem}.card-skeleton .skeleton-line:last-child{margin-bottom:0}.card-skeleton .skeleton-line.skeleton-title{height:1.25rem;width:60%}.card-skeleton .skeleton-line.skeleton-text{width:100%}.card-skeleton .skeleton-line.skeleton-text-short{width:40%}.card-skeleton .skeleton-avatar{width:44px;height:44px;border-radius:50%;background:var(--bs-secondary-bg)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 767px){.card-ribbon{position:relative;overflow:hidden}.card-ribbon .ribbon{position:absolute;top:.75rem;right:-2rem;background:var(--bs-primary);color:#fff;padding:.25rem 2rem;font-size:.7rem;font-weight:600;transform:rotate(45deg);text-transform:uppercase}.card-ribbon .ribbon.ribbon-success{background:var(--bs-success)}.card-ribbon .ribbon.ribbon-warning{background:var(--bs-warning);color:#000}.card-ribbon .ribbon.ribbon-danger{background:var(--bs-danger)}.cards-compact .card{margin-bottom:.5rem}.cards-compact .card .card-body{padding:.625rem}.dataTables_wrapper{width:100%;overflow-x:hidden}.dtr-details{width:100%;padding:0;margin:0}.dtr-details li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color)}.dtr-details li:last-child{border-bottom:none}.dtr-details .dtr-title{font-weight:600;color:var(--bs-secondary);font-size:12px;flex-shrink:0;margin-right:1rem}.dtr-details .dtr-data{text-align:right;font-size:14px}.dtr-control{position:relative;padding-left:30px!important}.dtr-control:before{content:"+";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bs-primary);color:#fff;border-radius:50%;font-size:14px;font-weight:700;transition:all .15s}}tr.parent .dtr-control:before{content:"-";background:var(--bs-secondary)}@media (max-width: 767px){tr.child{background:var(--bs-light)}tr.child td{padding:.75rem 1rem}.table-card-view{display:block}.table-card-view thead{display:none}.table-card-view tbody{display:flex;flex-direction:column;gap:.75rem}.table-card-view tr{background:var(--bs-card-bg, #fff);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;padding:.75rem}.table-card-view tr:hover{box-shadow:0 2px 8px #00000026}.table-card-view td{display:flex;justify-content:space-between;align-items:flex-start;padding:.25rem 0;border:none}.table-card-view td:before{content:attr(data-label);font-weight:600;font-size:12px;color:var(--bs-secondary);flex-shrink:0;margin-right:.5rem}.table-card-view td:first-child{padding-top:0}.table-card-view td:last-child{padding-bottom:0}.table-card-view td.primary-cell,.table-card-view td:first-child{font-weight:600;font-size:1rem;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--bs-border-color)}.table-card-view td.primary-cell:before,.table-card-view td:first-child:before{display:none}.table-card-view td.actions-cell,.table-card-view td:last-child{justify-content:flex-end;padding-top:.5rem;margin-top:.5rem;border-top:1px solid var(--bs-border-color)}.table-card-view td.actions-cell:before,.table-card-view td:last-child:before{display:none}.table-card-view td.actions-cell .btn,.table-card-view td:last-child .btn{padding:.5rem .75rem;font-size:12px}.table-mobile-compact{font-size:12px}.table-mobile-compact th,.table-mobile-compact td{padding:.5rem;vertical-align:middle}.table-mobile-compact .hide-mobile{display:none}.table-mobile-compact .truncate-mobile{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-sticky-header thead{position:sticky;top:0;z-index:10;background:var(--bs-card-bg, #fff)}.table-sticky-header thead th{background:var(--bs-card-bg, #fff);border-bottom:2px solid var(--bs-border-color)}.table-actions{white-space:nowrap}.table-actions .btn{padding:.4rem;min-width:36px;min-height:36px}.table-actions .btn i,.table-actions .btn svg{font-size:1rem}.table-actions .btn span:not(.sr-only){display:none}.table-actions .btn-group{gap:.25rem}.table-actions-dropdown .dropdown-toggle{padding:.5rem;min-height:44px;min-width:44px}.table-actions-dropdown .dropdown-toggle:after{display:none}.table-actions-dropdown .dropdown-menu{min-width:180px}.table-actions-dropdown .dropdown-menu .dropdown-item{padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem}.table-actions-dropdown .dropdown-menu .dropdown-item i,.table-actions-dropdown .dropdown-menu .dropdown-item svg{width:20px;text-align:center}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{width:100%;margin-bottom:.75rem;text-align:left}.dataTables_wrapper .dataTables_length label,.dataTables_wrapper .dataTables_filter label{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dataTables_wrapper .dataTables_length select,.dataTables_wrapper .dataTables_length input,.dataTables_wrapper .dataTables_filter select,.dataTables_wrapper .dataTables_filter input{width:100%;min-height:44px;margin:.25rem 0}.dataTables_wrapper .dataTables_length label{font-size:0}.dataTables_wrapper .dataTables_length label select{font-size:14px}.dataTables_wrapper .dataTables_filter input{width:100%!important}.dataTables_wrapper .dataTables_filter label{width:100%}.dataTables_wrapper .dataTables_filter label:before{content:"Search";font-size:14px}.dataTables_wrapper .dataTables_info{font-size:12px;text-align:center;margin-bottom:.5rem;padding:.5rem}.dataTables_wrapper .dataTables_paginate{margin-top:.5rem;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_paginate .pagination{justify-content:center;flex-wrap:nowrap;gap:.25rem;min-width:-moz-max-content;min-width:max-content;margin:0;padding:.25rem}.dataTables_wrapper .dataTables_paginate .page-item{flex-shrink:0}.dataTables_wrapper .dataTables_paginate .page-item .page-link{min-height:44px;padding:.5rem .75rem;min-width:40px;text-align:center;border-radius:.5rem;font-size:12px}.dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link{opacity:.5}.dataTables_wrapper .dataTables_paginate .page-item.active .page-link{font-weight:600}}@media (max-width: 767px) and (max-width: 400px){.dataTables_wrapper .dataTables_paginate .page-item:not(.active):not(:first-child):not(:last-child):not(.previous):not(.next):nth-child(n+5):nth-last-child(n+5){display:none}}@media (max-width: 767px){.dataTables_wrapper .row{flex-direction:column!important;gap:.5rem}.dataTables_wrapper .row>div{width:100%!important;flex:none!important;max-width:100%!important}.card .dataTables_paginate{padding:0 .75rem;margin-bottom:.5rem}.card-table .card-body{padding:0}.card-table .table{margin-bottom:0}.card-table .table th:first-child,.card-table .table td:first-child{padding-left:.75rem}.card-table .table th:last-child,.card-table .table td:last-child{padding-right:.75rem}.table-swipe-hint{position:relative}.table-swipe-hint:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(to right,transparent,rgba(0,0,0,.05));pointer-events:none;animation:swipeHint 2s ease-in-out infinite}}@keyframes swipeHint{0%,to{opacity:1}50%{opacity:.3}}@media (max-width: 767px){.table-selectable input[type=checkbox]{width:22px;height:22px;cursor:pointer}.table-selectable .select-column{width:44px;padding:.5rem}.table-bulk-actions{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:.75rem;box-shadow:0 -2px 10px #0000001a;z-index:1030;display:flex;justify-content:space-between;align-items:center;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.table-bulk-actions .selected-count{font-weight:600}.table-bulk-actions .bulk-actions-buttons{display:flex;gap:.5rem}.table-bulk-actions .bulk-actions-buttons .btn{padding:.5rem 1rem}.mobile-kanban-list table.dataTable{display:none!important}.mobile-kanban-list .kanban-cards-container{display:flex!important;flex-direction:column;gap:.75rem;padding:.5rem 0}}.mobile-kanban-list .kanban-cards-container{display:none}@media (max-width: 767px){.kanban-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;cursor:pointer;transition:all .15s}.kanban-card:active{transform:scale(.98);box-shadow:0 2px 8px #00000026}.kanban-card .kanban-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color-translucent)}.kanban-card .kanban-card-header .kanban-card-title{flex:1;min-width:0}.kanban-card .kanban-card-header .kanban-card-title .primary-text{font-weight:600;font-size:1rem;color:var(--bs-heading-color);margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card .kanban-card-header .kanban-card-title .secondary-text{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card .kanban-card-header .kanban-card-status{flex-shrink:0;margin-left:.5rem}.kanban-card .kanban-card-header .kanban-card-status .badge{font-size:.65rem;padding:.25rem .5rem}.kanban-card .kanban-card-body{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.kanban-card .kanban-card-body .kanban-field{display:flex;flex-direction:column}.kanban-card .kanban-card-body .kanban-field .field-label{font-size:.625rem;text-transform:uppercase;color:var(--bs-secondary);letter-spacing:.5px;margin-bottom:.125rem}.kanban-card .kanban-card-body .kanban-field .field-value{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card .kanban-card-body .kanban-field .field-value.highlight{color:var(--bs-primary);font-weight:600}.kanban-card .kanban-card-body .kanban-field .field-value.amount{font-variant-numeric:tabular-nums}.kanban-card .kanban-card-body .kanban-field .field-value.positive{color:var(--bs-success)}.kanban-card .kanban-card-body .kanban-field .field-value.negative{color:var(--bs-danger)}.kanban-card .kanban-card-body .kanban-field.full-width{grid-column:span 2}.kanban-card .kanban-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.kanban-card .kanban-card-footer .card-meta{font-size:.65rem;color:var(--bs-secondary)}.kanban-card .kanban-card-footer .card-meta i{margin-right:.25rem}.kanban-card .kanban-card-footer .card-actions{display:flex;gap:.375rem}.kanban-card .kanban-card-footer .card-actions .btn{padding:.375rem .625rem;font-size:12px}.kanban-card .kanban-card-footer .card-actions .btn i{font-size:.875rem}.kanban-card-swipe{position:relative;overflow:hidden}.kanban-card-swipe .kanban-card-content{position:relative;z-index:1;background:var(--bs-card-bg, #fff);transition:transform .15s}.kanban-card-swipe .swipe-actions{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:stretch;z-index:0}.kanban-card-swipe .swipe-actions .swipe-action{display:flex;align-items:center;justify-content:center;width:70px;color:#fff;font-size:1.25rem}.kanban-card-swipe .swipe-actions .swipe-action.action-edit{background:var(--bs-primary)}.kanban-card-swipe .swipe-actions .swipe-action.action-delete{background:var(--bs-danger)}.kanban-card-swipe .swipe-actions .swipe-action.action-view{background:var(--bs-info)}.kanban-card-swipe.swiped .kanban-card-content{transform:translate(-140px)}.datatable-kanban-mobile .dataTables_wrapper .dataTable thead{display:none}.datatable-kanban-mobile .dataTables_wrapper .dataTable tbody{display:flex;flex-direction:column;gap:.75rem}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr{background:var(--bs-card-bg, #fff);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;padding:.75rem;cursor:pointer}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr:hover{box-shadow:0 2px 10px #0000001f}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td{border:none;padding:.25rem 0;display:flex;flex-direction:column;width:50%}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:before{content:attr(data-label);font-size:.625rem;text-transform:uppercase;color:var(--bs-secondary);letter-spacing:.5px;margin-bottom:.125rem}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:first-child{width:100%;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color-translucent);font-weight:600;font-size:1rem}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:first-child:before{display:none}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:last-child{width:100%;flex-direction:row;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:last-child:before{display:none}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td:last-child .btn{padding:.375rem .625rem;font-size:12px}.datatable-kanban-mobile .dataTables_wrapper .dataTable tr td .badge{align-self:flex-start}.list-item-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .15s}.list-item-card:active{transform:scale(.98);background:var(--bs-secondary-bg)}.list-item-card .item-avatar,.list-item-card .item-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bs-primary-bg-subtle);color:var(--bs-primary);font-size:1.25rem}.list-item-card .item-avatar img,.list-item-card .item-icon img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.list-item-card .item-content{flex:1;min-width:0}.list-item-card .item-content .item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.list-item-card .item-content .item-subtitle{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-card .item-content .item-meta{display:flex;gap:.75rem;margin-top:.375rem}.list-item-card .item-content .item-meta .meta-item{font-size:.65rem;color:var(--bs-secondary);display:flex;align-items:center;gap:.25rem}.list-item-card .item-content .item-meta .meta-item i{font-size:.75rem}.list-item-card .item-badge,.list-item-card .item-value{flex-shrink:0;text-align:right}.list-item-card .item-badge .value-amount,.list-item-card .item-value .value-amount{font-weight:600;font-size:.95rem}.list-item-card .item-badge .value-label,.list-item-card .item-value .value-label{font-size:.625rem;text-transform:uppercase;color:var(--bs-secondary)}.list-item-card .item-arrow{flex-shrink:0;color:var(--bs-secondary);font-size:1.25rem}.mobile-list{display:flex;flex-direction:column;gap:.5rem}.modal .modal-backdrop{background:#00000080}.modal .modal-dialog{margin:.5rem;max-width:calc(100% - 1rem);max-height:calc(100% - 1rem)}.modal .modal-dialog.modal-dialog-centered{min-height:calc(100% - 1rem)}.modal .modal-dialog.modal-lg,.modal .modal-dialog.modal-xl,.modal .modal-dialog.modal-xxl,.modal .modal-dialog.modal-sm{max-width:calc(100% - 1rem)}.modal .modal-content{border-radius:.5rem;max-height:calc(100vh - 1rem);display:flex;flex-direction:column}.modal .modal-header{padding:.75rem 1rem;flex-shrink:0;border-bottom:1px solid var(--bs-border-color)}.modal .modal-header .modal-title{font-size:1.1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 40px)}.modal .modal-header .btn-close{min-height:44px;min-width:44px;padding:.75rem;margin:-.5rem -.5rem -.5rem auto}.modal .modal-body{padding:1rem;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.modal .modal-footer{padding:.75rem 1rem;flex-shrink:0;border-top:1px solid var(--bs-border-color);flex-direction:column-reverse;gap:.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.modal .modal-footer .btn{width:100%;margin:0;min-height:44px;min-width:44px}.modal .modal-footer .btn-primary,.modal .modal-footer .btn-success{order:-1}.modal-fullscreen-mobile .modal-dialog{margin:0;max-width:100%;height:100%;max-height:100%}.modal-fullscreen-mobile .modal-content{border-radius:0;height:100%;max-height:100%;border:none}.modal-fullscreen-mobile .modal-header{border-radius:0;position:sticky;top:0;z-index:10;background:var(--bs-modal-bg, #fff)}.modal-fullscreen-mobile .modal-body{max-height:none;flex:1}.modal-fullscreen-mobile .modal-footer{position:sticky;bottom:0;background:var(--bs-modal-bg, #fff)}.modal-bottom-sheet .modal-dialog,.modal-bottom-sheet-short .modal-dialog{position:fixed;bottom:0;left:0;right:0;margin:0;max-width:100%;max-height:85vh;transform:translateY(100%);transition:transform .25s cubic-bezier(0,0,.2,1)}.modal-bottom-sheet.show .modal-dialog,.show.modal-bottom-sheet-short .modal-dialog{transform:translateY(0)}.modal-bottom-sheet .modal-content,.modal-bottom-sheet-short .modal-content{border-radius:1rem 1rem 0 0;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:85vh}.modal-bottom-sheet .modal-header:before,.modal-bottom-sheet-short .modal-header:before{content:"";display:block;width:36px;height:4px;background:var(--bs-secondary-bg);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal-bottom-sheet .modal-header,.modal-bottom-sheet-short .modal-header{padding-top:1.25rem;position:relative}.modal-bottom-sheet-short .modal-dialog{max-height:50vh}.modal-bottom-sheet-short .modal-body{padding:1.5rem 1rem;text-align:center}.modal-bottom-sheet-short .modal-footer{flex-direction:row;justify-content:stretch}.modal-bottom-sheet-short .modal-footer .btn{flex:1}.modal-confirm .modal-dialog{max-width:320px;margin:auto}.modal-confirm .modal-content{text-align:center}.modal-confirm .modal-header{border-bottom:none;padding-bottom:0}.modal-confirm .modal-header .modal-title{width:100%;text-align:center}.modal-confirm .modal-header .btn-close{position:absolute;right:.5rem;top:.5rem}.modal-confirm .modal-body{padding:.5rem 1.5rem 1.5rem}.modal-confirm .modal-body .confirm-icon{font-size:3rem;margin-bottom:1rem}.modal-confirm .modal-footer{flex-direction:row;gap:.75rem;border-top:none;padding-top:0}.modal-confirm .modal-footer .btn{flex:1}.modal-form .modal-body .form-group,.modal-form .modal-body .mb-3{margin-bottom:1rem}.modal-form .modal-body .form-label{font-weight:600;margin-bottom:.5rem}}@media (max-width: 767px) and (max-width: 767px){.modal-form .modal-body .form-control,.modal-form .modal-body .form-select{width:100%;min-height:44px;padding:.75rem 1rem;font-size:16px}}@media (max-width: 767px){.modal-form .modal-body .row{margin-left:-.5rem;margin-right:-.5rem}.modal-form .modal-body .row>[class*=col-]{padding-left:.5rem;padding-right:.5rem;margin-bottom:1rem}.modal-form .modal-body .row>[class*=col-]:last-child{margin-bottom:0}.modal-scrollable-body .modal-body{max-height:calc(100vh - 180px);-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.modal-sidebar .modal-dialog,.modal-sidebar-right .modal-dialog{position:fixed;top:0;left:0;bottom:0;margin:0;width:280px;max-width:85vw;max-height:100%;transform:translate(-100%);transition:transform .25s cubic-bezier(0,0,.2,1)}.modal-sidebar.show .modal-dialog,.show.modal-sidebar-right .modal-dialog{transform:translate(0)}.modal-sidebar .modal-content,.modal-sidebar-right .modal-content{border-radius:0;height:100%;max-height:100%}.modal-sidebar-right .modal-dialog{left:auto;right:0;transform:translate(100%)}.modal-sidebar-right.show .modal-dialog{transform:translate(0)}.modal-preview .modal-dialog{margin:0;max-width:100%;height:100%;max-height:100%}.modal-preview .modal-content{background:#000000f2;border-radius:0;height:100%}.modal-preview .modal-header{position:absolute;top:0;left:0;right:0;background:transparent;border:none;z-index:10;padding-top:env(safe-area-inset-top,0)}.modal-preview .modal-header .btn-close{filter:invert(1)}.modal-preview .modal-body{display:flex;align-items:center;justify-content:center;padding:0;height:100%}.modal-preview .modal-body img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.modal-preview .modal-footer{position:absolute;bottom:0;left:0;right:0;background:transparent;border:none;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.modal-loading .modal-body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;text-align:center}.modal-loading .modal-body .spinner-border{width:2.5rem;height:2.5rem;margin-bottom:1rem}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.swal2-popup{width:calc(100% - 2rem)!important;max-width:320px!important;padding:1.25rem!important;font-size:14px!important}.swal2-title{font-size:1.25rem!important}.swal2-actions{flex-direction:column-reverse!important;gap:.5rem!important}.swal2-actions .swal2-confirm,.swal2-actions .swal2-cancel,.swal2-actions .swal2-deny{width:100%!important;margin:0!important;min-height:44px;min-width:44px}.btn{min-height:44px;min-width:44px;padding:.625rem 1rem;font-size:14px;border-radius:.5rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:all .15s}.btn:active{transform:scale(.98)}.btn i,.btn svg{vertical-align:middle;margin-right:.35rem}.btn.btn-icon{padding:.625rem;width:44px;height:44px}.btn.btn-icon i,.btn.btn-icon svg{margin:0}.btn-sm{min-height:36px;min-width:36px;padding:.375rem .75rem;font-size:12px}.btn-lg{min-height:52px;padding:.75rem 1.5rem;font-size:1rem}.btn-mobile-full{width:100%;display:block}.btn-block,.d-grid .btn{width:100%}.btn-group .btn{min-height:44px;min-width:44px}.btn-group.btn-group-icons{gap:.25rem}.btn-group.btn-group-icons .btn{padding:.5rem;border-radius:.5rem!important}.btn-group-mobile-stack{display:flex;flex-direction:column;width:100%}.btn-group-mobile-stack .btn{width:100%;border-radius:.5rem!important;margin-bottom:.5rem}.btn-group-mobile-stack .btn:last-child{margin-bottom:0}.btn-group-scroll{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.5rem;padding-bottom:.5rem;margin-bottom:-.5rem}.btn-group-scroll::-webkit-scrollbar{display:none}.btn-group-scroll .btn{flex-shrink:0;white-space:nowrap}.btn-toolbar{flex-wrap:wrap;gap:.5rem}.btn-toolbar .btn-group{flex-wrap:wrap}.btn-toolbar-mobile-fixed{position:fixed;bottom:0;left:0;right:0;background:var(--bs-body-bg);padding:.75rem;box-shadow:0 -2px 10px #0000001a;z-index:1030;display:flex;gap:.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.btn-toolbar-mobile-fixed .btn{flex:1}.btn-fab{position:fixed;bottom:calc(1rem + env(safe-area-inset-bottom,0));right:1rem;width:56px;height:56px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;z-index:1025}.btn-fab i,.btn-fab svg{font-size:1.5rem;margin:0}.btn-fab.btn-fab-extended{width:auto;border-radius:28px;padding:0 1.5rem}.btn-fab.btn-fab-extended i,.btn-fab.btn-fab-extended svg{margin-right:.5rem}.btn-fab-left{right:auto;left:1rem}.btn-fab-center{right:50%;transform:translate(50%)}.btn-fab-mini{width:44px;height:44px}.btn-fab-mini i,.btn-fab-mini svg{font-size:1.25rem}.btn-icon-only{min-height:44px;min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1}.btn-icon-only i,.btn-icon-only svg{margin:0;font-size:1.25rem}}@media (max-width: 767px) and (max-width: 767px){.btn-icon-only span:not(.visually-hidden){display:none!important}}@media (max-width: 767px){.btn-circle{min-height:44px;min-width:44px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1}.action-buttons{display:flex;gap:.25rem}.action-buttons .btn{padding:.5rem;min-width:36px;min-height:36px}.action-buttons .btn i,.action-buttons .btn svg{font-size:1rem;margin:0}.action-buttons .btn span:not(.visually-hidden){display:none}.btn-action-dropdown{min-height:44px;min-width:44px;padding:.5rem}.btn-action-dropdown:after{display:none}.btn-action-dropdown .dropdown-menu{min-width:160px}.btn-action-dropdown .dropdown-menu .dropdown-item{padding:.75rem 1rem;min-height:44px;min-width:44px;display:flex;align-items:center;gap:.5rem}.btn-action-dropdown .dropdown-menu .dropdown-item i,.btn-action-dropdown .dropdown-menu .dropdown-item svg{width:20px;text-align:center;flex-shrink:0}.btn-loading{position:relative;pointer-events:none}.btn-loading .btn-text{visibility:hidden}.btn-loading .spinner-border,.btn-loading .spinner-grow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1.25rem;height:1.25rem}.btn:disabled,.btn.disabled{opacity:.5}.btn-social{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-social i,.btn-social svg{font-size:1.25rem}.btn-close{min-height:44px;min-width:44px;padding:.75rem;opacity:.75}.btn-close:hover,.btn-close:focus{opacity:1}.btn-toggle-group{display:flex;background:var(--bs-secondary-bg);border-radius:.5rem;padding:.25rem}.btn-toggle-group .btn{flex:1;border:none;background:transparent;color:var(--bs-body-color);padding:.5rem .75rem;border-radius:.375rem}.btn-toggle-group .btn.active{background:var(--bs-body-bg);box-shadow:0 1px 3px #0000001a}.quick-actions{display:flex;gap:.5rem;padding:.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.quick-actions::-webkit-scrollbar{display:none}.quick-actions .btn{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;min-width:70px;font-size:12px}.quick-actions .btn i,.quick-actions .btn svg{font-size:1.25rem;margin:0}.form-control,.form-select{min-height:44px;padding:.75rem 1rem;font-size:16px;border-radius:.5rem}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),.15)}textarea.form-control{min-height:100px;resize:vertical}.form-label,label{font-weight:600;margin-bottom:.5rem;font-size:14px}}.form-label.required:after,label.required:after{content:" *";color:var(--bs-danger)}@media (max-width: 767px){.form-group,.mb-3{margin-bottom:1rem}.form-floating>.form-control,.form-floating>.form-select{height:calc(44px + .5rem);padding:1rem .75rem}.form-floating>label{padding:.75rem}.row.form-row,.row.g-3,.row.gy-3{margin-left:-.5rem;margin-right:-.5rem}.row.form-row>[class*=col-],.row.g-3>[class*=col-],.row.gy-3>[class*=col-]{padding-left:.5rem;padding-right:.5rem;margin-bottom:1rem}.row.form-row>[class*=col-]:last-child,.row.g-3>[class*=col-]:last-child,.row.gy-3>[class*=col-]:last-child{margin-bottom:0}.row.form-row>.col-md-6,.row.form-row>.col-md-4,.row.form-row>.col-md-3,.row.form-row>.col-lg-6,.row.form-row>.col-lg-4,.row.form-row>.col-lg-3,.row.g-3>.col-md-6,.row.g-3>.col-md-4,.row.g-3>.col-md-3,.row.g-3>.col-lg-6,.row.g-3>.col-lg-4,.row.g-3>.col-lg-3,.row.gy-3>.col-md-6,.row.gy-3>.col-md-4,.row.gy-3>.col-md-3,.row.gy-3>.col-lg-6,.row.gy-3>.col-lg-4,.row.gy-3>.col-lg-3{width:100%;flex:0 0 100%;max-width:100%}.form-horizontal .row{margin-bottom:0}.form-horizontal label.col-form-label{padding-top:0;padding-bottom:.5rem;text-align:left!important}.form-horizontal [class*=col-sm-],.form-horizontal [class*=col-md-],.form-horizontal [class*=col-lg-]{width:100%;max-width:100%;flex:0 0 100%}.form-inline{flex-direction:column;align-items:stretch;gap:.75rem}.form-inline .form-control,.form-inline .form-select,.form-inline .btn,.form-inline .input-group{width:100%}.input-group{flex-wrap:wrap}.input-group .form-control,.input-group .form-select{flex:1 1 100%}.input-group .input-group-text{min-height:44px;padding:.5rem .75rem}.input-group .btn{min-height:44px;min-width:44px}.input-group-mobile-stack{flex-direction:column}.input-group-mobile-stack .input-group-text,.input-group-mobile-stack .form-control,.input-group-mobile-stack .btn{width:100%;border-radius:.5rem!important;margin-bottom:.5rem}.input-group-mobile-stack .input-group-text:last-child,.input-group-mobile-stack .form-control:last-child,.input-group-mobile-stack .btn:last-child{margin-bottom:0}.input-group-mobile-stack .input-group-text{justify-content:center}.select2-container{width:100%!important}.select2-container--default .select2-selection--single{min-height:44px!important;padding:.5rem .75rem!important;border-radius:.5rem!important}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.5!important;padding-left:0!important;padding-right:2rem!important}.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px!important;width:2rem!important}.select2-container--default .select2-selection--multiple{min-height:44px!important;padding:.25rem .5rem!important;border-radius:.5rem!important}.select2-container--default .select2-selection--multiple .select2-selection__choice{margin:.25rem .25rem .25rem 0!important;padding:.25rem .5rem!important}.select2-container--default .select2-search--dropdown .select2-search__field{min-height:44px!important;padding:.75rem 1rem!important;font-size:16px!important}.select2-dropdown{border-radius:.5rem!important}.select2-dropdown .select2-results__option{padding:.75rem 1rem!important;min-height:44px;min-width:44px}.flatpickr-calendar{width:calc(100vw - 2rem)!important;max-width:320px}.flatpickr-calendar .flatpickr-months{padding:.5rem}.flatpickr-calendar .flatpickr-day{width:14.28%;max-width:40px;height:40px;line-height:40px}.tempus-dominus-widget{width:calc(100vw - 1rem)!important;max-width:320px}.tempus-dominus-widget .td-row{padding:.25rem}input[type=date],input[type=time],input[type=datetime-local]{min-height:44px;padding:.75rem 1rem;font-size:16px}.form-check{padding-left:1.75rem;margin-bottom:.75rem;min-height:44px;display:flex;align-items:center}.form-check .form-check-input{width:1.25rem;height:1.25rem;margin-top:0;margin-left:-1.75rem;cursor:pointer}.form-check .form-check-label{padding-left:.5rem;cursor:pointer;padding-top:.25rem;padding-bottom:.25rem}.form-check-inline{display:block;margin-right:0;margin-bottom:.75rem}.form-switch{padding-left:3rem}.form-switch .form-check-input{width:2.5rem;height:1.5rem;margin-left:-3rem}.form-control[type=file]{padding:.5rem}.form-control[type=file]::file-selector-button{padding:.5rem 1rem;margin-right:.5rem;min-height:44px;min-width:44px}.custom-file-upload{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:2px dashed var(--bs-border-color);border-radius:.5rem;text-align:center;cursor:pointer;transition:border-color .15s}.custom-file-upload:hover,.custom-file-upload:focus-within{border-color:var(--bs-primary)}.custom-file-upload input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.custom-file-upload .upload-icon{font-size:2rem;margin-bottom:.5rem;color:var(--bs-secondary)}.custom-file-upload .upload-text{font-size:12px;color:var(--bs-secondary)}.form-range{height:2rem;padding:0}.form-range::-webkit-slider-thumb{width:24px;height:24px}.form-range::-moz-range-thumb{width:24px;height:24px}.invalid-feedback,.valid-feedback{font-size:12px;margin-top:.35rem}.was-validated .form-control:invalid,.was-validated .form-select:invalid{background-position:right .75rem center;padding-right:2.5rem}.search-form{display:flex;gap:.5rem}.search-form .form-control{flex:1}.search-form .btn{flex-shrink:0;min-height:44px;min-width:44px}.search-expandable{position:relative}.search-expandable .search-toggle{min-height:44px;min-width:44px}.search-expandable .search-input-wrapper{position:absolute;top:100%;left:0;right:0;background:var(--bs-body-bg);padding:.5rem;box-shadow:0 2px 8px #00000026;display:none;z-index:100}.search-expandable .search-input-wrapper.active{display:block}.form-actions{display:flex;flex-direction:column-reverse;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--bs-border-color)}.form-actions .btn{width:100%;min-height:44px;min-width:44px}.form-actions .btn-primary{order:-1}.form-actions-sticky{position:sticky;bottom:0;background:var(--bs-body-bg);padding:1rem;margin:0 -1rem -1rem;box-shadow:0 -2px 10px #0000001a;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.form-text{font-size:12px;margin-top:.35rem}.tt-menu,.autocomplete-suggestions{max-height:50vh;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.tt-menu .tt-suggestion,.tt-menu .autocomplete-suggestion,.autocomplete-suggestions .tt-suggestion,.autocomplete-suggestions .autocomplete-suggestion{padding:.75rem 1rem;min-height:44px;min-width:44px;border-bottom:1px solid var(--bs-border-color-translucent)}.tt-menu .tt-suggestion:last-child,.tt-menu .autocomplete-suggestion:last-child,.autocomplete-suggestions .tt-suggestion:last-child,.autocomplete-suggestions .autocomplete-suggestion:last-child{border-bottom:none}.layout-navbar{padding:.5rem .75rem!important;height:auto!important;min-height:56px}.layout-navbar>.container-fluid,.layout-navbar>.container-xxl{padding:0!important;flex-wrap:nowrap!important;align-items:center;gap:.5rem}.layout-navbar .navbar-brand{max-width:80px;flex-shrink:0}.layout-navbar .navbar-brand img{max-height:28px;width:auto}.layout-navbar .navbar-nav{flex-direction:row;align-items:center;gap:0}.layout-navbar .nav-item .nav-link{padding:.375rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s ease}.layout-navbar .nav-item .nav-link:active{background:var(--bs-secondary-bg)}.layout-navbar .nav-link-text,.layout-navbar .d-none.d-md-block,.layout-navbar .d-none.d-md-inline-block,.layout-navbar .d-none.d-lg-block,.layout-navbar .d-none.d-lg-inline-block{display:none!important}.layout-navbar .navbar-nav-right{flex:1;display:flex!important;justify-content:flex-end;align-items:center;gap:.125rem;min-width:0}.layout-navbar .nav-link i,.layout-navbar .nav-link .bx{font-size:1.25rem!important}.layout-navbar .dropdown-user .avatar,.layout-navbar .dropdown-user .avatar img{width:32px!important;height:32px!important}.layout-navbar .dropdown-user .avatar .avatar-initial{width:32px!important;height:32px!important;font-size:.7rem}.layout-navbar .navbar-search-wrapper{display:none!important}.layout-navbar .global-clinic-selector .dropdown-toggle{padding:.375rem!important}.layout-navbar .global-clinic-selector .dropdown-toggle span:not(.bx){display:none!important}.layout-navbar .dropdown-notifications,.layout-navbar .dropdown-shortcuts,.layout-navbar .dropdown-style-switcher,.layout-navbar .dropdown-language{display:flex!important}.layout-navbar .dropdown-notifications .nav-link,.layout-navbar .dropdown-shortcuts .nav-link,.layout-navbar .dropdown-style-switcher .nav-link,.layout-navbar .dropdown-language .nav-link{padding:.375rem;width:38px;height:38px}.layout-navbar .dropdown-addons,.layout-navbar .nav-item:has(.dropdown-shortcuts-add){display:none!important}.layout-navbar .dropdown-notifications{position:relative}.layout-navbar .dropdown-notifications .badge{position:absolute;top:4px;right:4px;font-size:.6rem;padding:.15rem .3rem;min-width:14px;height:14px;line-height:1}.layout-navbar .dropdown-menu{position:absolute!important;min-width:200px;max-width:calc(100vw - 1rem);max-height:70vh;border-radius:12px!important;box-shadow:0 4px 20px #00000026!important;border:1px solid var(--bs-border-color-translucent)!important;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.layout-navbar .dropdown-menu.dropdown-menu-end{right:0!important;left:auto!important}.layout-navbar .dropdown-menu.dropdown-menu-start{left:0!important;right:auto!important}.layout-navbar .dropdown-menu .dropdown-item{padding:.625rem 1rem;font-size:.875rem}.layout-navbar .dropdown-menu .dropdown-item i{font-size:1.125rem}.layout-navbar .dropdown-shortcuts .dropdown-menu{width:280px;max-width:calc(100vw - 1rem)}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-list{max-height:300px;overflow-y:auto}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-item{padding:.75rem .5rem}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-item .dropdown-shortcuts-icon{width:36px;height:36px;margin-bottom:.375rem}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-item .dropdown-shortcuts-icon i{font-size:1.125rem!important}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-item a{font-size:.8125rem}.layout-navbar .dropdown-shortcuts .dropdown-shortcuts-item small{font-size:.6875rem}.layout-navbar .dropdown-notifications .dropdown-menu{width:320px;max-width:calc(100vw - 1rem)}.layout-navbar .dropdown-notifications .dropdown-notifications-list{max-height:350px;overflow-y:auto}.layout-navbar .ms-auto{margin-left:auto!important}.navbar-toggler,.layout-menu-toggle{width:38px;height:38px;padding:0!important;border:none;background:transparent;border-radius:8px;display:flex!important;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.navbar-toggler .navbar-toggler-icon,.layout-menu-toggle .navbar-toggler-icon{width:20px;height:20px}.navbar-toggler i,.navbar-toggler .bx,.layout-menu-toggle i,.layout-menu-toggle .bx{font-size:1.375rem!important}.navbar-toggler:active,.layout-menu-toggle:active{background:var(--bs-secondary-bg)}.navbar-detached{margin:.5rem!important;border-radius:12px!important;width:calc(100% - 1rem)!important}.layout-menu,.menu-vertical{width:280px;max-width:85vw;background:var(--bs-card-bg, #fff);-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}html.layout-menu-expanded .layout-menu{transform:translateZ(0)!important}html.layout-menu-expanded .layout-overlay{display:block!important;opacity:1!important;visibility:visible!important}.layout-overlay{background:#00000080;z-index:1040;transition:opacity .25s,visibility .25s}.menu-vertical .menu-item{margin:0}.menu-vertical .menu-item .menu-link{padding:.875rem 1rem;min-height:44px;min-width:44px;display:flex;align-items:center;gap:.75rem;border-radius:0;transition:background .15s}.menu-vertical .menu-item .menu-link:active{background:var(--bs-secondary-bg)}.menu-vertical .menu-item .menu-icon{width:24px;text-align:center;flex-shrink:0}.menu-vertical .menu-item .menu-title{flex:1}.menu-vertical .menu-item .menu-toggle-icon{transition:transform .15s}.menu-vertical .menu-item.open>.menu-link .menu-toggle-icon{transform:rotate(90deg)}.menu-vertical .menu-sub{background:var(--bs-tertiary-bg)}.menu-vertical .menu-sub .menu-item .menu-link{padding-left:3rem}.menu-vertical .menu-item.active>.menu-link{background:var(--bs-primary-bg-subtle);color:var(--bs-primary)}.menu-header{padding:1rem;border-bottom:1px solid var(--bs-border-color);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:inherit;z-index:10}.menu-header .menu-close{min-height:44px;min-width:44px;padding:.5rem;margin:-.5rem;cursor:pointer}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--bs-card-bg, #fff);box-shadow:0 -2px 10px #0000001a;z-index:1030;display:flex;justify-content:space-around;align-items:center;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.bottom-nav .nav-item{flex:1;text-align:center}.bottom-nav .nav-item .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;color:var(--bs-secondary);text-decoration:none;transition:color .15s}.bottom-nav .nav-item .nav-link.active{color:var(--bs-primary)}.bottom-nav .nav-item .nav-icon{font-size:1.25rem;margin-bottom:.25rem}.bottom-nav .nav-item .nav-label{font-size:.65rem;line-height:1}.bottom-nav .nav-item .nav-badge{position:absolute;top:4px;right:50%;transform:translate(calc(50% + 10px));min-width:18px;height:18px;font-size:.6rem;border-radius:9px}.bottom-nav .nav-action{position:relative;top:-10px}.bottom-nav .nav-action .nav-link{width:56px;height:56px;background:var(--bs-primary);color:#fff;border-radius:50%;padding:0;box-shadow:0 2px 10px rgba(var(--bs-primary-rgb),.4)}.bottom-nav .nav-action .nav-link .nav-icon{font-size:1.5rem;margin:0}.bottom-nav .nav-action .nav-link .nav-label{display:none}body.has-bottom-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}.breadcrumb{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:.5rem 0;margin-bottom:.5rem;font-size:12px}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb .breadcrumb-item{flex-shrink:0;white-space:nowrap}.breadcrumb .breadcrumb-item:not(:first-child):not(:last-child){max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb .breadcrumb-item+.breadcrumb-item:before{padding:0 .35rem}.breadcrumb-collapse .breadcrumb-middle{display:none}.breadcrumb-collapse.expanded .breadcrumb-middle{display:inline}.breadcrumb-collapse .breadcrumb-expand{cursor:pointer;padding:0 .25rem}.nav-tabs{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;border-bottom:none;gap:.25rem;padding-bottom:.5rem}.nav-tabs::-webkit-scrollbar{display:none}.nav-tabs>*{scroll-snap-align:start;flex-shrink:0}.nav-tabs .nav-item{flex-shrink:0}.nav-tabs .nav-link{white-space:nowrap;padding:.625rem 1rem;border:1px solid var(--bs-border-color);border-radius:.5rem;min-height:44px;min-width:44px}.nav-tabs .nav-link.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.nav-pills{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem}.nav-pills::-webkit-scrollbar{display:none}.nav-pills>*{scroll-snap-align:start;flex-shrink:0}.nav-pills .nav-link{white-space:nowrap;min-height:44px;min-width:44px;padding:.5rem 1rem;border-radius:50px}.nav-tabs-underline{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;border-bottom:2px solid var(--bs-border-color);gap:0}.nav-tabs-underline::-webkit-scrollbar{display:none}.nav-tabs-underline>*{scroll-snap-align:start;flex-shrink:0}.nav-tabs-underline .nav-link{border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.75rem 1rem;border-radius:0}.nav-tabs-underline .nav-link.active{border-bottom-color:var(--bs-primary);background:transparent;color:var(--bs-primary)}.page-header{padding:.75rem 0;margin-bottom:.75rem}.page-header .page-title{font-size:1.25rem;margin-bottom:.25rem}.page-header .page-subtitle{font-size:12px;color:var(--bs-secondary)}.page-header.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.page-header.page-header-actions .page-title-wrapper{flex:1;min-width:0}.page-header.page-header-actions .page-actions{display:flex;gap:.5rem}.page-header.page-header-actions .page-actions .btn{min-height:44px;min-width:44px;padding:.5rem .75rem;font-size:12px}.page-header.page-header-actions .page-actions .btn span:not(.visually-hidden){display:none}.page-header.page-header-actions .page-actions .btn i,.page-header.page-header-actions .page-actions .btn svg{margin:0}.card-header{padding:.75rem!important;flex-wrap:wrap!important;gap:.5rem}.card-header.d-flex,.card-header.d-sm-flex{flex-direction:column!important;align-items:stretch!important}.card-header.d-flex>h5,.card-header.d-flex>h4,.card-header.d-flex>h6,.card-header.d-flex>.h5,.card-header.d-flex>.h4,.card-header.d-flex>.h6,.card-header.d-flex>.card-title,.card-header.d-sm-flex>h5,.card-header.d-sm-flex>h4,.card-header.d-sm-flex>h6,.card-header.d-sm-flex>.h5,.card-header.d-sm-flex>.h4,.card-header.d-sm-flex>.h6,.card-header.d-sm-flex>.card-title{margin-bottom:.5rem!important;font-size:1rem!important}.card-header.d-flex>.d-flex,.card-header.d-flex>.btn-group,.card-header.d-flex>.ms-auto,.card-header.d-flex>div:last-child,.card-header.d-sm-flex>.d-flex,.card-header.d-sm-flex>.btn-group,.card-header.d-sm-flex>.ms-auto,.card-header.d-sm-flex>div:last-child{width:100%;display:flex!important;flex-wrap:wrap;gap:.375rem;margin-left:0!important}.card-header.d-flex>.d-flex .btn,.card-header.d-flex>.btn-group .btn,.card-header.d-flex>.ms-auto .btn,.card-header.d-flex>div:last-child .btn,.card-header.d-sm-flex>.d-flex .btn,.card-header.d-sm-flex>.btn-group .btn,.card-header.d-sm-flex>.ms-auto .btn,.card-header.d-sm-flex>div:last-child .btn{flex:1;min-width:0;padding:.5rem!important;font-size:12px!important;white-space:nowrap}.card-header.d-flex>.d-flex .btn.btn-sm,.card-header.d-flex>.btn-group .btn.btn-sm,.card-header.d-flex>.ms-auto .btn.btn-sm,.card-header.d-flex>div:last-child .btn.btn-sm,.card-header.d-sm-flex>.d-flex .btn.btn-sm,.card-header.d-sm-flex>.btn-group .btn.btn-sm,.card-header.d-sm-flex>.ms-auto .btn.btn-sm,.card-header.d-sm-flex>div:last-child .btn.btn-sm{padding:.375rem .5rem!important}.card-header.d-flex>.d-flex .dropdown,.card-header.d-flex>.btn-group .dropdown,.card-header.d-flex>.ms-auto .dropdown,.card-header.d-flex>div:last-child .dropdown,.card-header.d-sm-flex>.d-flex .dropdown,.card-header.d-sm-flex>.btn-group .dropdown,.card-header.d-sm-flex>.ms-auto .dropdown,.card-header.d-sm-flex>div:last-child .dropdown{flex:1}.card-header.d-flex>.d-flex .dropdown .btn,.card-header.d-flex>.btn-group .dropdown .btn,.card-header.d-flex>.ms-auto .dropdown .btn,.card-header.d-flex>div:last-child .dropdown .btn,.card-header.d-sm-flex>.d-flex .dropdown .btn,.card-header.d-sm-flex>.btn-group .dropdown .btn,.card-header.d-sm-flex>.ms-auto .dropdown .btn,.card-header.d-sm-flex>div:last-child .dropdown .btn{width:100%}.card-header.justify-content-between{flex-direction:row!important;flex-wrap:wrap!important}.card-header.justify-content-between>h5,.card-header.justify-content-between>h4,.card-header.justify-content-between>.card-title{flex:1;min-width:0;margin-bottom:0!important;font-size:.95rem!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header.justify-content-between>.d-flex:last-child,.card-header.justify-content-between>.btn-group:last-child,.card-header.justify-content-between>div:last-child:not(h5):not(h4){flex:0 0 auto;width:auto;gap:.25rem}.card-header.justify-content-between>.d-flex:last-child .btn,.card-header.justify-content-between>.btn-group:last-child .btn,.card-header.justify-content-between>div:last-child:not(h5):not(h4) .btn{flex:0 0 auto;padding:.375rem .5rem!important}.d-flex.justify-content-between.align-items-center{flex-wrap:wrap!important;gap:.5rem}.d-flex.justify-content-between.align-items-center>h1,.d-flex.justify-content-between.align-items-center>h2,.d-flex.justify-content-between.align-items-center>h3,.d-flex.justify-content-between.align-items-center>h4,.d-flex.justify-content-between.align-items-center>h5,.d-flex.justify-content-between.align-items-center>h6,.d-flex.justify-content-between.align-items-center>.h1,.d-flex.justify-content-between.align-items-center>.h2,.d-flex.justify-content-between.align-items-center>.h3,.d-flex.justify-content-between.align-items-center>.h4,.d-flex.justify-content-between.align-items-center>.h5,.d-flex.justify-content-between.align-items-center>.h6{flex:1 1 100%;margin-bottom:.25rem!important}.d-flex.justify-content-between.align-items-center>div:last-child,.d-flex.justify-content-between.align-items-center>.d-flex:last-child{width:100%;display:flex!important;flex-wrap:wrap;gap:.375rem}.d-flex.justify-content-between.align-items-center>div:last-child .btn,.d-flex.justify-content-between.align-items-center>.d-flex:last-child .btn{flex:1;min-width:0}.container-xxl,.content-wrapper .container-xxl,.content-wrapper .container-fluid{padding-left:.75rem!important;padding-right:.75rem!important}.dropdown-menu{font-size:14px;border-radius:.5rem;box-shadow:0 4px 16px #00000026;border:none;padding:.5rem}.dropdown-menu .dropdown-item{padding:.75rem 1rem;border-radius:.25rem;min-height:44px;min-width:44px}.dropdown-menu .dropdown-item:active{background:var(--bs-secondary-bg)}.dropdown-menu .dropdown-item i,.dropdown-menu .dropdown-item svg{width:20px;text-align:center;margin-right:.75rem}.dropdown-menu .dropdown-divider{margin:.5rem 0}.dropdown-menu .dropdown-header{padding:.5rem 1rem;font-size:12px}.dropdown-menu-mobile-full{position:fixed!important;left:.5rem!important;right:.5rem!important;width:auto!important;max-width:none!important;top:auto!important;bottom:calc(64px + .5rem)!important;transform:none!important}.stepper{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1rem 0}.stepper::-webkit-scrollbar{display:none}.stepper>*{scroll-snap-align:start;flex-shrink:0}.stepper .stepper-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;min-width:80px;position:relative}.stepper .stepper-item:after{content:"";position:absolute;top:16px;left:50%;width:100%;height:2px;background:var(--bs-border-color)}.stepper .stepper-item:last-child:after{display:none}.stepper .stepper-item.completed:after{background:var(--bs-success)}.stepper .stepper-icon{width:32px;height:32px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;position:relative;z-index:1}.completed .stepper .stepper-icon{background:var(--bs-success);color:#fff}.active .stepper .stepper-icon{background:var(--bs-primary);color:#fff}.stepper .stepper-label{font-size:.7rem;text-align:center;margin-top:.5rem;color:var(--bs-secondary)}.active .stepper .stepper-label{color:var(--bs-primary);font-weight:600}.stepper-vertical{display:flex;flex-direction:column;overflow:visible}.stepper-vertical .stepper-item{flex-direction:row;align-items:flex-start;min-width:auto;padding-left:2.5rem;padding-bottom:1.5rem}.stepper-vertical .stepper-item:before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--bs-border-color)}.stepper-vertical .stepper-item:last-child:before{display:none}.stepper-vertical .stepper-item:after{display:none}.stepper-vertical .stepper-icon{position:absolute;left:0}.stepper-vertical .stepper-content{flex:1}.stepper-vertical .stepper-label{text-align:left;font-size:14px;margin-top:0}.fc{font-size:12px}.fc-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem!important}.fc-toolbar .fc-toolbar-title{font-size:1.1rem!important;order:1;width:100%;text-align:center;margin-bottom:.5rem}.fc-toolbar .fc-toolbar-chunk{display:flex;gap:.25rem}.fc-toolbar .fc-toolbar-chunk:first-child{order:2}.fc-toolbar .fc-toolbar-chunk:last-child{order:3;margin-left:auto}.fc-toolbar .fc-button{padding:.5rem .75rem!important;font-size:12px!important;min-height:44px;min-width:44px}.fc-toolbar .fc-button.fc-prev-button,.fc-toolbar .fc-button.fc-next-button,.fc-toolbar .fc-button.fc-today-button{padding:.5rem!important;min-width:40px}.fc-toolbar .fc-dayGridMonth-button,.fc-toolbar .fc-timeGridWeek-button,.fc-toolbar .fc-timeGridDay-button,.fc-toolbar .fc-listWeek-button{font-size:.7rem!important;padding:.4rem .6rem!important}.fc-toolbar-compact .fc-toolbar-title{display:none}.fc-toolbar-compact .fc-button-group .fc-button{padding:.4rem .5rem!important}.fc-timegrid .fc-timegrid-axis{width:40px!important;font-size:.65rem}.fc-timegrid .fc-timegrid-slot{height:2.5rem!important}.fc-timegrid .fc-timegrid-now-indicator-line{border-width:2px}.fc-daygrid .fc-daygrid-day{min-height:60px!important}.fc-daygrid .fc-daygrid-day-number{padding:.25rem!important;font-size:12px}.fc-daygrid .fc-col-header-cell-cushion{padding:.5rem .25rem!important;font-size:.7rem}.fc-daygrid .fc-daygrid-more-link{font-size:.65rem;padding:.125rem .25rem}.fc-event{border-radius:4px!important;padding:.125rem .25rem!important;font-size:.65rem!important;cursor:pointer}.fc-event:active{opacity:.8}.fc-event .fc-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-event .fc-event-time{font-size:.6rem;opacity:.9}.fc-event-custom{padding:.125rem .25rem;font-size:.6rem;line-height:1.2}.fc-event-custom .event-line1{display:flex;align-items:center;gap:.25rem}.fc-event-custom .event-patient{font-weight:600;font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.fc-event-custom .event-balance{font-size:.5rem;padding:.0625rem .25rem;border-radius:2px;flex-shrink:0}.fc-event-custom .event-line2{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-top:.125rem}.fc-event-custom .event-service{font-size:.55rem;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.fc-event-custom .event-phone{font-size:.5rem;opacity:.8;flex-shrink:0}.fc-timegrid-event .fc-event-main{padding:.125rem .25rem!important}.fc-daygrid-event{margin:.0625rem .125rem!important}.fc-list .fc-list-day-cushion{padding:.5rem .75rem!important;font-size:12px}.fc-list .fc-list-event td{padding:.625rem .75rem!important}.fc-list .fc-list-event .fc-list-event-time{width:60px;font-size:12px}.fc-list .fc-list-event .fc-list-event-title{font-size:14px}.room-calendar{overflow-x:auto;-webkit-overflow-scrolling:touch}.room-calendar .room-header{position:sticky;left:0;background:var(--bs-card-bg, #fff);z-index:10;min-width:100px;font-size:12px;padding:.5rem}.room-calendar .time-column{min-width:50px;font-size:.6rem}.room-calendar .room-column{min-width:120px}.room-appointment{padding:.25rem;font-size:.55rem;border-radius:3px;cursor:pointer;transition:transform .15s}.room-appointment:active{transform:scale(.98)}.room-appointment .apt-line1{display:flex;align-items:center;gap:.125rem;font-size:.55rem}.room-appointment .apt-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.room-appointment .apt-patient{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.room-appointment .apt-balance{font-size:.5rem;padding:.0625rem .1875rem;border-radius:2px}.room-appointment .apt-time-badge{font-size:.45rem;opacity:.7}.room-appointment .apt-line2{margin-top:.125rem;padding-left:.375rem}.room-appointment .apt-line2 .apt-service,.room-appointment .apt-line2 .apt-phone{font-size:.5rem;opacity:.8}.calendar-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.calendar-controls .date-picker{flex:1;min-width:140px}.calendar-controls .filter-buttons{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.25rem}.calendar-controls .filter-buttons::-webkit-scrollbar{display:none}.calendar-controls .filter-buttons>*{scroll-snap-align:start;flex-shrink:0}.calendar-controls .filter-buttons .btn{flex-shrink:0;font-size:12px;padding:.375rem .625rem;white-space:nowrap}.calendar-controls .room-selector{width:100%}.calendar-controls-floating{position:fixed;bottom:calc(64px + .5rem + env(safe-area-inset-bottom,0));left:.5rem;right:.5rem;background:var(--bs-card-bg, #fff);padding:.5rem;border-radius:.5rem;box-shadow:0 -2px 10px #00000026;z-index:1025}.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem;font-size:12px;padding:.5rem 0}.calendar-legend .legend-item{display:flex;align-items:center;gap:.25rem}.calendar-legend .legend-item .legend-color{width:12px;height:12px;border-radius:3px}.calendar-legend-collapse .legend-toggle{min-height:44px;min-width:44px;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:12px;color:var(--bs-secondary)}.calendar-legend-collapse .legend-items{display:none;padding-top:.5rem}.calendar-legend-collapse .legend-items.show{display:flex}.mini-calendar .fc-toolbar{margin-bottom:.5rem!important}.mini-calendar .fc-toolbar .fc-toolbar-title{font-size:.9rem!important;margin-bottom:0!important;width:auto;order:0}.mini-calendar .fc-daygrid-day{min-height:30px!important}.mini-calendar .fc-daygrid-day-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:auto}.mini-calendar .fc-day-today .fc-daygrid-day-number{background:var(--bs-primary);color:#fff}.appointment-detail-modal .modal-dialog{margin:0;max-width:100%;position:fixed;bottom:0;left:0;right:0}.appointment-detail-modal .modal-content{border-radius:1rem 1rem 0 0;max-height:80vh}.appointment-detail-modal .modal-header{padding:1rem;border-bottom:1px solid var(--bs-border-color)}.appointment-detail-modal .modal-header:before{content:"";position:absolute;top:.5rem;left:50%;transform:translate(-50%);width:36px;height:4px;background:var(--bs-secondary-bg);border-radius:2px}.appointment-detail-modal .appointment-info{padding:.75rem 0}.appointment-detail-modal .appointment-info .info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.appointment-detail-modal .appointment-info .info-row:last-child{border-bottom:none}.appointment-detail-modal .appointment-info .info-row .info-label{font-size:12px;color:var(--bs-secondary)}.appointment-detail-modal .appointment-info .info-row .info-value{font-weight:500;text-align:right}.appointment-detail-modal .appointment-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding-top:.75rem}.appointment-detail-modal .appointment-actions .btn{min-height:44px;min-width:44px}.appointment-detail-modal .appointment-actions .btn-primary{grid-column:span 2}.quick-booking-overlay{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:1rem;border-radius:1rem 1rem 0 0;box-shadow:0 -4px 20px #0003;z-index:1055;transform:translateY(100%);transition:transform .25s cubic-bezier(0,0,.2,1);padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.quick-booking-overlay.active{transform:translateY(0)}.quick-booking-overlay .booking-time{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.quick-booking-overlay .booking-form .form-group{margin-bottom:.75rem}.quick-booking-overlay .booking-actions{display:flex;gap:.5rem;margin-top:1rem}.quick-booking-overlay .booking-actions .btn{flex:1;min-height:44px;min-width:44px}.calendar-view-toggle{display:flex;background:var(--bs-secondary-bg);border-radius:.5rem;padding:.25rem;margin-bottom:.75rem}.calendar-view-toggle .toggle-btn{flex:1;text-align:center;padding:.5rem;border-radius:.375rem;font-size:12px;cursor:pointer;transition:all .15s}.calendar-view-toggle .toggle-btn.active{background:var(--bs-card-bg, #fff);box-shadow:0 1px 3px #0000001a}.calendar-view-toggle .toggle-btn i,.calendar-view-toggle .toggle-btn svg{margin-right:.25rem}.fc-event-dragging{touch-action:none}.fc-event-resizer{height:20px!important}}@media (hover: none){.fc-event:hover{filter:none!important}.fc-daygrid-day:hover{background:transparent!important}}@media (max-width: 767px){.appointment-calendar-page{padding:0}.appointment-calendar-page .calendar-wrapper{margin:0 -.75rem}.calendar-header{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;background:var(--bs-card-bg, #fff);border-bottom:1px solid var(--bs-border-color);position:sticky;top:0;z-index:20}.calendar-header .calendar-date-nav{display:flex;align-items:center;gap:.25rem;flex:1}.calendar-header .calendar-date-nav .btn{min-height:44px;min-width:44px;padding:.5rem}.calendar-header .calendar-date-nav .current-date{font-weight:600;font-size:.9rem;text-align:center;flex:1}.calendar-header .calendar-view-selector{display:flex;gap:.25rem}.calendar-header .calendar-view-selector .btn{font-size:12px;padding:.375rem .5rem}.calendar-header .calendar-filters{width:100%;display:flex;gap:.5rem}.calendar-header .calendar-filters .form-select{flex:1;font-size:12px;padding:.375rem .5rem;min-height:36px}.appointments-list .list-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;margin-bottom:.5rem}.appointments-list .list-header .list-title{font-weight:600}.appointments-list .list-header .list-count{font-size:12px;color:var(--bs-secondary)}.appointments-list .appointment-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;position:relative;padding-left:calc(.75rem + 4px);border-left:4px solid var(--bs-primary)}.appointments-list .appointment-card.status-confirmed{border-left-color:var(--bs-success)}.appointments-list .appointment-card.status-pending{border-left-color:var(--bs-warning)}.appointments-list .appointment-card.status-cancelled{border-left-color:var(--bs-danger);opacity:.7}.appointments-list .appointment-card.status-completed{border-left-color:var(--bs-info)}.appointments-list .appointment-card .apt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.appointments-list .appointment-card .apt-time{font-weight:700;font-size:1rem}.appointments-list .appointment-card .apt-status{font-size:.65rem;padding:.125rem .375rem}.appointments-list .appointment-card .apt-patient{font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointments-list .appointment-card .apt-service{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointments-list .appointment-card .apt-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent);font-size:12px}.appointments-list .appointment-card .apt-room{display:flex;align-items:center;gap:.25rem;color:var(--bs-secondary)}.appointments-list .appointment-card .apt-actions{display:flex;gap:.25rem}.appointments-list .appointment-card .apt-actions .btn{padding:.25rem .5rem;font-size:12px}.booking-wizard .wizard-steps{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--bs-border-color)}.booking-wizard .wizard-steps::-webkit-scrollbar{display:none}.booking-wizard .wizard-steps>*{scroll-snap-align:start;flex-shrink:0}.booking-wizard .wizard-steps .step{flex-shrink:0;display:flex;flex-direction:column;align-items:center;min-width:70px;position:relative;padding:0 .5rem}.booking-wizard .wizard-steps .step:after{content:"";position:absolute;top:12px;right:-50%;width:100%;height:2px;background:var(--bs-border-color)}.booking-wizard .wizard-steps .step:last-child:after{display:none}.booking-wizard .wizard-steps .step.completed:after{background:var(--bs-success)}.booking-wizard .wizard-steps .step .step-number{width:24px;height:24px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;position:relative;z-index:1}.booking-wizard .wizard-steps .step.active .step-number{background:var(--bs-primary);color:#fff}.booking-wizard .wizard-steps .step.completed .step-number{background:var(--bs-success);color:#fff}.booking-wizard .wizard-steps .step.completed .step-number:before{content:"✓"}.booking-wizard .wizard-steps .step .step-label{font-size:.65rem;margin-top:.25rem;text-align:center;color:var(--bs-secondary)}.booking-wizard .wizard-steps .step.active .step-label{color:var(--bs-primary);font-weight:600}.booking-wizard .wizard-content{padding:0 0 100px}.booking-wizard .wizard-footer{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:.75rem;box-shadow:0 -2px 10px #0000001a;display:flex;gap:.5rem;z-index:1025;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.booking-wizard .wizard-footer .btn{flex:1;min-height:44px;min-width:44px}.service-selection .service-categories{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem;margin-bottom:1rem}.service-selection .service-categories::-webkit-scrollbar{display:none}.service-selection .service-categories>*{scroll-snap-align:start;flex-shrink:0}.service-selection .service-categories .category-btn{flex-shrink:0;padding:.5rem 1rem;border-radius:50px;font-size:12px;border:1px solid var(--bs-border-color);background:transparent}.service-selection .service-categories .category-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.service-selection .service-list{display:flex;flex-direction:column;gap:.5rem}.service-selection .service-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .15s}.service-selection .service-card:active{transform:scale(.98)}.service-selection .service-card.selected{border:2px solid var(--bs-primary);background:var(--bs-primary-bg-subtle)}.service-selection .service-card .service-icon{width:44px;height:44px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-selection .service-card .service-info{flex:1;min-width:0}.service-selection .service-card .service-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-selection .service-card .service-duration{font-size:12px;color:var(--bs-secondary)}.service-selection .service-card .service-price{font-weight:700;text-align:right}.service-selection .service-card .service-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--bs-border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-selection .service-card.selected .service-check{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.datetime-selection .date-picker-container{margin-bottom:1rem}.datetime-selection .time-slots .slots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.datetime-selection .time-slots .slots-header .slots-date{font-weight:600}.datetime-selection .time-slots .slots-header .slots-count{font-size:12px;color:var(--bs-secondary)}.datetime-selection .time-slots .slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}}@media (max-width: 767px) and (max-width: 360px){.datetime-selection .time-slots .slots-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.datetime-selection .time-slots .time-slot{padding:.625rem .5rem;text-align:center;border:1px solid var(--bs-border-color);border-radius:.5rem;font-size:12px;cursor:pointer;transition:all .15s}.datetime-selection .time-slots .time-slot:active{transform:scale(.95)}.datetime-selection .time-slots .time-slot.selected{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.datetime-selection .time-slots .time-slot.unavailable{opacity:.4;pointer-events:none;text-decoration:line-through}.datetime-selection .no-slots-message{text-align:center;padding:2rem;color:var(--bs-secondary)}.datetime-selection .no-slots-message i,.datetime-selection .no-slots-message svg{font-size:2rem;margin-bottom:.5rem;display:block}.patient-selection .patient-search{margin-bottom:1rem}.patient-selection .patient-search .search-input-wrapper{position:relative}.patient-selection .patient-search .search-input-wrapper input{padding-left:2.5rem}.patient-selection .patient-search .search-input-wrapper .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--bs-secondary)}.patient-selection .patient-results{max-height:300px;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.patient-selection .new-patient-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;border:2px dashed var(--bs-border-color);border-radius:.5rem;background:transparent;color:var(--bs-primary);font-weight:600;margin-top:1rem}.patient-selection .new-patient-btn:active{background:var(--bs-primary-bg-subtle)}.booking-confirmation .confirmation-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:1.5rem;margin-bottom:1rem}.booking-confirmation .confirmation-card .confirmation-icon{width:64px;height:64px;border-radius:50%;background:var(--bs-success-bg-subtle);color:var(--bs-success);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2rem}.booking-confirmation .confirmation-card .confirmation-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.booking-confirmation .confirmation-card .confirmation-message{color:var(--bs-secondary);font-size:12px}.booking-confirmation .booking-summary{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a}.booking-confirmation .booking-summary .summary-row{display:flex;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.booking-confirmation .booking-summary .summary-row:last-child{border-bottom:none}.booking-confirmation .booking-summary .summary-row .summary-label{color:var(--bs-secondary);font-size:12px}.booking-confirmation .booking-summary .summary-row .summary-value{font-weight:500;text-align:right}.booking-timeline .timeline-header{position:sticky;top:0;z-index:20;background:var(--bs-body-bg);padding:.5rem 0;border-bottom:1px solid var(--bs-border-color)}.booking-timeline .timeline-header .timeline-date-nav{display:flex;align-items:center;justify-content:center;gap:.5rem}.booking-timeline .timeline-header .timeline-date-nav .btn{min-height:44px;min-width:44px;padding:.5rem}.booking-timeline .timeline-header .timeline-date-nav .timeline-date{font-weight:600;min-width:150px;text-align:center}.booking-timeline .timeline-doctors{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.5rem 0;gap:.5rem;border-bottom:1px solid var(--bs-border-color)}.booking-timeline .timeline-doctors::-webkit-scrollbar{display:none}.booking-timeline .timeline-doctors>*{scroll-snap-align:start;flex-shrink:0}.booking-timeline .timeline-doctors .doctor-chip{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:50px;background:var(--bs-secondary-bg);font-size:12px;cursor:pointer}.booking-timeline .timeline-doctors .doctor-chip.active{background:var(--bs-primary);color:#fff}.booking-timeline .timeline-doctors .doctor-chip .doctor-avatar{width:24px;height:24px;border-radius:50%}.booking-timeline .timeline-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.booking-timeline .timeline-grid .timeline-row{display:flex;min-height:60px;border-bottom:1px solid var(--bs-border-color-translucent)}.booking-timeline .timeline-grid .timeline-row .timeline-time{width:50px;flex-shrink:0;padding:.25rem;font-size:.65rem;color:var(--bs-secondary);border-right:1px solid var(--bs-border-color)}.booking-timeline .timeline-grid .timeline-row .timeline-slots{flex:1;display:flex;gap:.25rem;padding:.25rem;min-width:200px}.booking-timeline .timeline-grid .timeline-row .timeline-slot{flex:1;min-width:80px;border-radius:4px;padding:.25rem;font-size:.6rem;cursor:pointer;text-align:center}.booking-timeline .timeline-grid .timeline-row .timeline-slot.available{background:var(--bs-success-bg-subtle);border:1px solid var(--bs-success);color:var(--bs-success)}.booking-timeline .timeline-grid .timeline-row .timeline-slot.unavailable{background:var(--bs-secondary-bg);color:var(--bs-secondary);cursor:not-allowed}.booking-timeline .timeline-grid .timeline-row .timeline-slot.selected{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.appointment-form .form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--bs-border-color)}.appointment-form .form-section:last-child{border-bottom:none;margin-bottom:0}.appointment-form .form-section .section-title{font-weight:600;margin-bottom:.75rem;font-size:.9rem}.appointment-form .datetime-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.appointment-form .notes-textarea{min-height:80px}.appointment-details .details-header{text-align:center;padding:1.5rem 1rem;background:var(--bs-primary-bg-subtle);margin:-.75rem -.75rem 1rem;border-radius:.5rem .5rem 0 0}.appointment-details .details-header .appointment-code{font-size:12px;color:var(--bs-secondary);margin-bottom:.25rem}.appointment-details .details-header .appointment-datetime{font-size:1.25rem;font-weight:700}.appointment-details .details-header .appointment-status{margin-top:.5rem}.appointment-details .details-section{margin-bottom:1.25rem}.appointment-details .details-section .section-label{font-size:12px;color:var(--bs-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.appointment-details .details-section .section-content{font-weight:500}.appointment-details .patient-info{display:flex;align-items:center;gap:.75rem}.appointment-details .patient-info .patient-avatar{width:44px;height:44px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center}.appointment-details .patient-info .patient-details{flex:1}.appointment-details .patient-info .patient-details .patient-name{font-weight:600}.appointment-details .patient-info .patient-details .patient-phone{font-size:12px;color:var(--bs-secondary)}.appointment-details .patient-info .patient-link{min-height:44px;min-width:44px;color:var(--bs-primary)}.appointment-details .details-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--bs-border-color)}.appointment-details .details-actions .btn{min-height:44px;min-width:44px;font-size:12px}.appointment-details .details-actions .btn-danger{grid-column:span 2}.patients-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.patients-list-page .page-header .page-title{font-size:1.25rem;font-weight:700}.patients-list-page .page-header .header-actions{display:flex;gap:.5rem}.patients-list-page .page-header .header-actions .btn{min-height:44px;min-width:44px;padding:.5rem}.patients-list-page .page-header .header-actions .btn span{display:none}.patients-list-page .patients-filters{margin-bottom:.75rem}.patients-list-page .patients-filters .search-row{display:flex;gap:.5rem;margin-bottom:.5rem}.patients-list-page .patients-filters .search-row .search-input{flex:1}.patients-list-page .patients-filters .search-row .filter-toggle{min-height:44px;min-width:44px;padding:.5rem .75rem}.patients-list-page .patients-filters .filter-tags{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem}.patients-list-page .patients-filters .filter-tags::-webkit-scrollbar{display:none}.patients-list-page .patients-filters .filter-tags>*{scroll-snap-align:start;flex-shrink:0}.patients-list-page .patients-filters .filter-tags .filter-tag{flex-shrink:0;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bs-primary-bg-subtle);border-radius:50px;font-size:12px}.patients-list-page .patients-filters .filter-tags .filter-tag .remove-tag{cursor:pointer;opacity:.7}.patients-list-page .patients-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.patients-list-page .patients-stats .stat-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:.5rem}.patients-list-page .patients-stats .stat-card .stat-value{font-size:1.25rem;font-weight:700}.patients-list-page .patients-stats .stat-card .stat-label{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase}.patients-card-list{display:flex;flex-direction:column;gap:.5rem}.patient-list-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .15s}.patient-list-card:active{transform:scale(.98);background:var(--bs-secondary-bg)}.patient-list-card .patient-avatar{width:48px;height:48px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.patient-list-card .patient-avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.patient-list-card .patient-avatar .initials{font-weight:600;font-size:1.1rem;color:var(--bs-primary)}.patient-list-card .patient-info{flex:1;min-width:0}.patient-list-card .patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.patient-list-card .patient-phone{font-size:12px;color:var(--bs-secondary)}.patient-list-card .patient-meta{text-align:right;flex-shrink:0}.patient-list-card .patient-meta .last-visit{font-size:12px;color:var(--bs-secondary)}.patient-list-card .patient-meta .patient-balance{font-weight:600;font-size:12px}.patient-list-card .patient-meta .patient-balance.positive{color:var(--bs-success)}.patient-list-card .patient-meta .patient-balance.negative{color:var(--bs-danger)}.patient-list-card .patient-arrow{color:var(--bs-secondary);opacity:.5}.patient-detail-page .patient-header{text-align:center;padding:1.5rem 1rem;background:var(--bs-card-bg, #fff);margin-bottom:.75rem;border-radius:.5rem}.patient-detail-page .patient-header .patient-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.patient-detail-page .patient-header .patient-avatar-large img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.patient-detail-page .patient-header .patient-avatar-large .initials{font-size:2rem;font-weight:600;color:var(--bs-primary)}.patient-detail-page .patient-header .patient-name-large{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.patient-detail-page .patient-header .patient-id{font-size:12px;color:var(--bs-secondary);margin-bottom:.75rem}.patient-detail-page .patient-header .patient-quick-actions{display:flex;justify-content:center;gap:.75rem}.patient-detail-page .patient-header .patient-quick-actions .quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;color:var(--bs-primary);text-decoration:none}.patient-detail-page .patient-header .patient-quick-actions .quick-action-btn .action-icon{width:44px;height:44px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center}.patient-detail-page .patient-header .patient-quick-actions .quick-action-btn .action-label{font-size:.65rem}.patient-detail-page .patient-tabs{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--bs-card-bg, #fff);padding:0 .5rem;margin-bottom:.75rem;border-radius:.5rem}.patient-detail-page .patient-tabs::-webkit-scrollbar{display:none}.patient-detail-page .patient-tabs>*{scroll-snap-align:start;flex-shrink:0}.patient-detail-page .patient-tabs .nav-link{padding:.75rem 1rem;white-space:nowrap;border-bottom:2px solid transparent;color:var(--bs-secondary);font-size:12px}.patient-detail-page .patient-tabs .nav-link.active{color:var(--bs-primary);border-bottom-color:var(--bs-primary)}.patient-detail-page .patient-tab-content .tab-pane{padding:0}.patient-info-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.patient-info-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.patient-info-section .section-header .section-title{font-weight:600;font-size:.9rem}.patient-info-section .section-header .edit-btn{font-size:12px;color:var(--bs-primary)}.patient-info-section .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.patient-info-section .info-grid .info-item.full-width{grid-column:span 2}.patient-info-section .info-grid .info-item .info-label{font-size:.7rem;color:var(--bs-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.125rem}.patient-info-section .info-grid .info-item .info-value{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-info-section .info-grid .info-item .info-value a{color:var(--bs-primary)}.patient-appointments .appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.patient-appointments .appointments-header .section-title{font-weight:600}.patient-appointments .appointments-header .view-all{font-size:12px;color:var(--bs-primary)}.patient-appointments .appointment-mini-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-left:calc(.75rem + 4px);border-left:4px solid var(--bs-primary)}.patient-appointments .appointment-mini-card.past{opacity:.7;border-left-color:var(--bs-secondary)}.patient-appointments .appointment-mini-card .apt-date{text-align:center;flex-shrink:0;min-width:45px}.patient-appointments .appointment-mini-card .apt-date .apt-day{font-size:1.25rem;font-weight:700;line-height:1}.patient-appointments .appointment-mini-card .apt-date .apt-month{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase}.patient-appointments .appointment-mini-card .apt-details{flex:1;min-width:0}.patient-appointments .appointment-mini-card .apt-details .apt-time{font-weight:600}.patient-appointments .appointment-mini-card .apt-details .apt-service{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-appointments .appointment-mini-card .apt-status{flex-shrink:0;font-size:.65rem}.patient-appointments .no-appointments{text-align:center;padding:2rem 1rem;color:var(--bs-secondary)}.patient-appointments .no-appointments .empty-icon{font-size:2rem;margin-bottom:.5rem}.patient-balance-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.patient-balance-card .balance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.patient-balance-card .balance-amount{font-size:1.5rem;font-weight:700}.patient-balance-card .balance-amount.positive{color:var(--bs-success)}.patient-balance-card .balance-amount.negative{color:var(--bs-danger)}.patient-balance-card .balance-amount.zero{color:var(--bs-secondary)}.patient-balance-card .balance-actions{display:flex;gap:.5rem}.patient-balance-card .balance-actions .btn{flex:1;font-size:12px}.patient-medical-history .history-item{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;position:relative}.patient-medical-history .history-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bs-primary);border-radius:.5rem 0 0 .5rem}.patient-medical-history .history-item .history-date{font-size:12px;color:var(--bs-secondary);margin-bottom:.25rem}.patient-medical-history .history-item .history-title{font-weight:600;margin-bottom:.25rem}.patient-medical-history .history-item .history-notes{font-size:12px;color:var(--bs-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.patient-medical-history .history-item .history-attachments{display:flex;gap:.5rem;margin-top:.5rem}.patient-medical-history .history-item .history-attachments .attachment{font-size:.7rem;padding:.25rem .5rem;background:var(--bs-secondary-bg);border-radius:4px}.patient-form .form-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.patient-form .form-section .section-title{font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color)}.patient-form .form-section .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.patient-form .form-section .form-row .form-group{margin-bottom:0}.patient-form .form-section .form-row .form-group.full-width{grid-column:span 2}.patient-form .photo-upload{text-align:center;margin-bottom:1rem}.patient-form .photo-upload .photo-preview{width:100px;height:100px;border-radius:50%;margin:0 auto .75rem;overflow:hidden;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;position:relative}.patient-form .photo-upload .photo-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.patient-form .photo-upload .photo-preview .upload-placeholder{color:var(--bs-secondary);font-size:2rem}.patient-form .photo-upload .photo-preview .upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .15s}.patient-form .photo-upload .photo-preview:active .upload-overlay{opacity:1}.patient-form .photo-upload input[type=file]{display:none}.patient-form .photo-upload .upload-btn{font-size:12px}.patient-form .emergency-contact .add-contact-btn{width:100%;padding:.75rem;border:2px dashed var(--bs-border-color);border-radius:.5rem;background:transparent;color:var(--bs-primary);font-size:12px}.patient-form .emergency-contact .add-contact-btn:active{background:var(--bs-primary-bg-subtle)}.patient-form .form-actions{position:sticky;bottom:0;background:var(--bs-body-bg);padding:.75rem;margin:0 -.75rem -.75rem;border-top:1px solid var(--bs-border-color);display:flex;gap:.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.patient-form .form-actions .btn{flex:1;min-height:44px;min-width:44px}.patient-search-select .search-input-wrapper{position:relative;margin-bottom:.5rem}.patient-search-select .search-input-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--bs-secondary)}.patient-search-select .search-input-wrapper input{padding-left:2.5rem}.patient-search-select .search-input-wrapper .clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);min-height:44px;min-width:44px;padding:.5rem;color:var(--bs-secondary)}.patient-search-select .search-results{max-height:250px;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--bs-border-color);border-radius:.5rem}.patient-search-select .search-results .result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-bottom:1px solid var(--bs-border-color-translucent)}.patient-search-select .search-results .result-item:last-child{border-bottom:none}.patient-search-select .search-results .result-item:active{background:var(--bs-secondary-bg)}.patient-search-select .search-results .result-item.selected{background:var(--bs-primary-bg-subtle)}.patient-search-select .search-results .result-item .result-avatar{width:36px;height:36px;border-radius:50%;background:var(--bs-secondary-bg);flex-shrink:0}.patient-search-select .search-results .result-item .result-info{flex:1;min-width:0}.patient-search-select .search-results .result-item .result-info .result-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-search-select .search-results .result-item .result-info .result-phone{font-size:12px;color:var(--bs-secondary)}.patient-search-select .search-results .no-results{padding:1.5rem;text-align:center;color:var(--bs-secondary)}.patient-search-select .create-new-patient{margin-top:.5rem}.patient-search-select .create-new-patient .btn{width:100%}.sales-orders-list .list-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.sales-orders-list .list-filters .filter-search{flex:1;min-width:200px}.sales-orders-list .list-filters .filter-status{width:100%}.sales-orders-list .list-filters .filter-status .status-pills{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem}.sales-orders-list .list-filters .filter-status .status-pills::-webkit-scrollbar{display:none}.sales-orders-list .list-filters .filter-status .status-pills>*{scroll-snap-align:start;flex-shrink:0}.sales-orders-list .list-filters .filter-status .status-pills .status-pill{flex-shrink:0;padding:.375rem .75rem;border-radius:50px;font-size:12px;border:1px solid var(--bs-border-color);background:transparent;white-space:nowrap}.sales-orders-list .list-filters .filter-status .status-pills .status-pill.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.sales-orders-list .list-filters .filter-status .status-pills .status-pill .pill-count{font-size:.65rem;opacity:.8;margin-left:.25rem}.sales-order-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;cursor:pointer;transition:all .15s}.sales-order-card:active{transform:scale(.98)}.sales-order-card .order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.sales-order-card .order-header .order-number{font-weight:700;font-size:.9rem}.sales-order-card .order-header .order-status{font-size:.65rem;padding:.125rem .5rem}.sales-order-card .order-patient{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.sales-order-card .order-patient .patient-avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--bs-secondary-bg);flex-shrink:0}.sales-order-card .order-patient .patient-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-order-card .order-items-preview{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}.sales-order-card .order-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.sales-order-card .order-footer .order-date{font-size:12px;color:var(--bs-secondary)}.sales-order-card .order-footer .order-total{font-weight:700}.sales-order-detail .order-detail-header{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center;margin-bottom:.75rem}.sales-order-detail .order-detail-header .order-number-large{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.sales-order-detail .order-detail-header .order-date-large{font-size:12px;color:var(--bs-secondary);margin-bottom:.5rem}.sales-order-detail .order-detail-header .order-status-large{display:inline-block}.sales-order-detail .order-patient-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-detail .order-patient-section .section-label{font-size:.7rem;color:var(--bs-secondary);text-transform:uppercase;margin-bottom:.5rem}.sales-order-detail .order-patient-section .patient-row{display:flex;align-items:center;gap:.75rem}.sales-order-detail .order-patient-section .patient-row .patient-avatar{width:44px;height:44px;border-radius:50%;background:var(--bs-primary-bg-subtle);flex-shrink:0}.sales-order-detail .order-patient-section .patient-row .patient-details{flex:1;min-width:0}.sales-order-detail .order-patient-section .patient-row .patient-details .patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-order-detail .order-patient-section .patient-row .patient-details .patient-phone{font-size:12px;color:var(--bs-secondary)}.sales-order-detail .order-patient-section .patient-row .patient-link{min-height:44px;min-width:44px;color:var(--bs-primary)}.sales-order-detail .order-items-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-detail .order-items-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color)}.sales-order-detail .order-items-section .section-header .section-title{font-weight:600}.sales-order-detail .order-items-section .section-header .items-count{font-size:12px;color:var(--bs-secondary)}.sales-order-detail .order-items-section .order-item{display:flex;padding:.75rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.sales-order-detail .order-items-section .order-item:last-child{border-bottom:none;padding-bottom:0}.sales-order-detail .order-items-section .order-item .item-info{flex:1;min-width:0}.sales-order-detail .order-items-section .order-item .item-info .item-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-order-detail .order-items-section .order-item .item-info .item-meta{font-size:12px;color:var(--bs-secondary)}.sales-order-detail .order-items-section .order-item .item-qty{padding:0 .75rem;text-align:center;color:var(--bs-secondary);font-size:12px}.sales-order-detail .order-items-section .order-item .item-price{text-align:right;min-width:70px}.sales-order-detail .order-items-section .order-item .item-price .unit-price{font-size:12px;color:var(--bs-secondary)}.sales-order-detail .order-items-section .order-item .item-price .line-total{font-weight:600}.sales-order-detail .order-totals{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-detail .order-totals .totals-row{display:flex;justify-content:space-between;padding:.5rem 0}.sales-order-detail .order-totals .totals-row:not(:last-child){border-bottom:1px solid var(--bs-border-color-translucent)}.sales-order-detail .order-totals .totals-row .totals-label{color:var(--bs-secondary)}.sales-order-detail .order-totals .totals-row .totals-value{font-weight:500}.sales-order-detail .order-totals .totals-row.grand-total{padding-top:.75rem;margin-top:.25rem}.sales-order-detail .order-totals .totals-row.grand-total .totals-label{font-weight:600;color:var(--bs-body-color)}.sales-order-detail .order-totals .totals-row.grand-total .totals-value{font-size:1.25rem;font-weight:700}.sales-order-detail .order-totals .totals-row.balance-due .totals-label{color:var(--bs-danger)}.sales-order-detail .order-totals .totals-row.balance-due .totals-value{color:var(--bs-danger);font-weight:700}.sales-order-detail .order-actions{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a}.sales-order-detail .order-actions .actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.sales-order-detail .order-actions .actions-grid .btn{min-height:44px;min-width:44px;font-size:12px}.sales-order-detail .order-actions .actions-grid .btn.btn-full{grid-column:span 2}.sales-order-detail .payment-history{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-top:.75rem}.sales-order-detail .payment-history .section-title{font-weight:600;margin-bottom:.75rem}.sales-order-detail .payment-history .payment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.sales-order-detail .payment-history .payment-item:last-child{border-bottom:none}.sales-order-detail .payment-history .payment-item .payment-info .payment-date{font-weight:500}.sales-order-detail .payment-history .payment-item .payment-info .payment-method{font-size:12px;color:var(--bs-secondary)}.sales-order-detail .payment-history .payment-item .payment-amount{font-weight:600;color:var(--bs-success)}.sales-order-form{padding-bottom:100px}.sales-order-form .patient-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-form .patient-section .section-title{font-weight:600;margin-bottom:.75rem}.sales-order-form .patient-section .selected-patient{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bs-success-bg-subtle);border-radius:.5rem}.sales-order-form .patient-section .selected-patient .patient-avatar{width:40px;height:40px;border-radius:50%}.sales-order-form .patient-section .selected-patient .patient-info{flex:1}.sales-order-form .patient-section .selected-patient .change-btn{color:var(--bs-primary);font-size:12px}.sales-order-form .items-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-form .items-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.sales-order-form .items-section .section-header .section-title{font-weight:600}.sales-order-form .items-section .section-header .add-item-btn{font-size:12px;color:var(--bs-primary)}.sales-order-form .items-section .items-list{margin-bottom:.75rem}.sales-order-form .items-section .item-row{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.sales-order-form .items-section .item-row .item-details{flex:1;min-width:0}.sales-order-form .items-section .item-row .item-details .item-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-order-form .items-section .item-row .item-details .item-price{font-size:12px;color:var(--bs-secondary)}.sales-order-form .items-section .item-row .item-qty-control{display:flex;align-items:center;gap:.25rem}.sales-order-form .items-section .item-row .item-qty-control .qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--bs-border-color);background:transparent;display:flex;align-items:center;justify-content:center}.sales-order-form .items-section .item-row .item-qty-control .qty-value{min-width:30px;text-align:center;font-weight:500}.sales-order-form .items-section .item-row .item-total{min-width:60px;text-align:right;font-weight:600}.sales-order-form .items-section .item-row .remove-item{color:var(--bs-danger);padding:.25rem}.sales-order-form .items-section .empty-items{text-align:center;padding:2rem;color:var(--bs-secondary)}.sales-order-form .items-section .empty-items .empty-icon{font-size:2rem;margin-bottom:.5rem}.sales-order-form .discount-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.sales-order-form .discount-section .discount-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.sales-order-form .discount-section .discount-toggle .section-title{font-weight:600}.sales-order-form .discount-section .discount-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.sales-order-form .discount-section .discount-form .discount-type-toggle{display:flex;gap:.5rem;margin-bottom:.75rem}.sales-order-form .discount-section .discount-form .discount-type-toggle .toggle-btn{flex:1;padding:.5rem;text-align:center;border:1px solid var(--bs-border-color);border-radius:.5rem;font-size:12px}.sales-order-form .discount-section .discount-form .discount-type-toggle .toggle-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.sales-order-form .order-summary-sticky{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:.75rem;box-shadow:0 -2px 10px #0000001a;z-index:1025;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.sales-order-form .order-summary-sticky .summary-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.sales-order-form .order-summary-sticky .summary-row .summary-label{color:var(--bs-secondary);font-size:12px}.sales-order-form .order-summary-sticky .summary-row .summary-value{font-weight:500}.sales-order-form .order-summary-sticky .summary-row.total-row .summary-label{font-weight:600;color:var(--bs-body-color)}.sales-order-form .order-summary-sticky .summary-row.total-row .summary-value{font-size:1.1rem;font-weight:700}.sales-order-form .order-summary-sticky .summary-actions{display:flex;gap:.5rem;margin-top:.75rem}.sales-order-form .order-summary-sticky .summary-actions .btn{flex:1;min-height:44px;min-width:44px}.item-selector-modal .modal-body{padding:0}.item-selector-modal .item-search{position:sticky;top:0;background:var(--bs-modal-bg, #fff);padding:.75rem;border-bottom:1px solid var(--bs-border-color);z-index:10}.item-selector-modal .item-search input{width:100%}.item-selector-modal .item-categories{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.5rem .75rem;gap:.5rem;border-bottom:1px solid var(--bs-border-color)}.item-selector-modal .item-categories::-webkit-scrollbar{display:none}.item-selector-modal .item-categories>*{scroll-snap-align:start;flex-shrink:0}.item-selector-modal .item-categories .category-btn{flex-shrink:0;padding:.375rem .75rem;border-radius:50px;font-size:12px;border:1px solid var(--bs-border-color);background:transparent}.item-selector-modal .item-categories .category-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.item-selector-modal .item-list{max-height:50vh;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.item-selector-modal .item-list .item-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--bs-border-color-translucent);cursor:pointer}.item-selector-modal .item-list .item-option:active{background:var(--bs-secondary-bg)}.item-selector-modal .item-list .item-option.selected{background:var(--bs-primary-bg-subtle)}.item-selector-modal .item-list .item-option .item-icon{width:40px;height:40px;border-radius:.5rem;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-selector-modal .item-list .item-option .item-info{flex:1;min-width:0}.item-selector-modal .item-list .item-option .item-info .item-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-selector-modal .item-list .item-option .item-info .item-description{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-selector-modal .item-list .item-option .item-price{font-weight:600;flex-shrink:0}.quick-sale-mode .quick-sale-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.quick-sale-mode .quick-sale-grid .quick-sale-item{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:1rem .5rem;cursor:pointer;transition:all .15s}.quick-sale-mode .quick-sale-grid .quick-sale-item:active{transform:scale(.95);background:var(--bs-primary-bg-subtle)}.quick-sale-mode .quick-sale-grid .quick-sale-item .item-icon{width:48px;height:48px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-size:1.25rem;color:var(--bs-primary)}.quick-sale-mode .quick-sale-grid .quick-sale-item .item-name{font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-sale-mode .quick-sale-grid .quick-sale-item .item-price{font-size:12px;color:var(--bs-secondary)}.invoices-list .invoice-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;cursor:pointer;transition:all .15s}.invoices-list .invoice-card:active{transform:scale(.98)}.invoices-list .invoice-card .invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.invoices-list .invoice-card .invoice-header .invoice-number{font-weight:700}.invoices-list .invoice-card .invoice-header .invoice-status{font-size:.65rem;padding:.125rem .5rem}.invoices-list .invoice-card .invoice-header .invoice-status.status-paid{background:var(--bs-success-bg-subtle);color:var(--bs-success)}.invoices-list .invoice-card .invoice-header .invoice-status.status-unpaid{background:var(--bs-warning-bg-subtle);color:var(--bs-warning)}.invoices-list .invoice-card .invoice-header .invoice-status.status-overdue{background:var(--bs-danger-bg-subtle);color:var(--bs-danger)}.invoices-list .invoice-card .invoice-header .invoice-status.status-partially_paid{background:var(--bs-info-bg-subtle);color:var(--bs-info)}.invoices-list .invoice-card .invoice-patient{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.invoices-list .invoice-card .invoice-dates{font-size:12px;color:var(--bs-secondary);margin-bottom:.5rem}.invoices-list .invoice-card .invoice-dates .due-date.overdue{color:var(--bs-danger);font-weight:500}.invoices-list .invoice-card .invoice-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.invoices-list .invoice-card .invoice-footer .invoice-amount .total{font-weight:700;font-size:1rem}.invoices-list .invoice-card .invoice-footer .invoice-amount .balance{font-size:12px}.invoices-list .invoice-card .invoice-footer .invoice-amount .balance.has-balance{color:var(--bs-danger)}.invoices-list .invoice-card .invoice-footer .invoice-actions .btn{min-height:44px;min-width:44px;padding:.375rem .5rem;font-size:12px}.invoice-detail .invoice-header-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.invoice-detail .invoice-header-card .company-info{text-align:center;padding-bottom:.75rem;border-bottom:1px solid var(--bs-border-color);margin-bottom:.75rem}.invoice-detail .invoice-header-card .company-info .company-logo{max-width:150px;max-height:50px;margin-bottom:.5rem}.invoice-detail .invoice-header-card .company-info .company-name{font-weight:700;font-size:1.1rem}.invoice-detail .invoice-header-card .company-info .company-details{font-size:12px;color:var(--bs-secondary)}.invoice-detail .invoice-header-card .invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.invoice-detail .invoice-header-card .invoice-meta .meta-item .meta-label{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase}.invoice-detail .invoice-header-card .invoice-meta .meta-item .meta-value{font-weight:500}.invoice-detail .invoice-header-card .invoice-meta .meta-item .meta-value.invoice-number{font-size:1.1rem;font-weight:700}.invoice-detail .invoice-header-card .invoice-status-badge{text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.invoice-detail .invoice-header-card .invoice-status-badge .badge{font-size:.8rem;padding:.375rem .75rem}.invoice-detail .bill-to-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.invoice-detail .bill-to-section .section-title{font-size:.7rem;color:var(--bs-secondary);text-transform:uppercase;margin-bottom:.5rem}.invoice-detail .bill-to-section .patient-name{font-weight:600;margin-bottom:.25rem}.invoice-detail .bill-to-section .patient-details{font-size:12px;color:var(--bs-secondary)}.invoice-detail .bill-to-section .patient-details p{margin-bottom:.125rem}.invoice-detail .invoice-items-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.invoice-detail .invoice-items-section .items-header{display:none}.invoice-detail .invoice-items-section .invoice-item{padding:.75rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.invoice-detail .invoice-items-section .invoice-item:last-child{border-bottom:none;padding-bottom:0}.invoice-detail .invoice-items-section .invoice-item .item-main{display:flex;justify-content:space-between;margin-bottom:.25rem}.invoice-detail .invoice-items-section .invoice-item .item-main .item-name{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:.5rem}.invoice-detail .invoice-items-section .invoice-item .item-main .item-total{font-weight:600;flex-shrink:0}.invoice-detail .invoice-items-section .invoice-item .item-details{font-size:12px;color:var(--bs-secondary);display:flex;gap:1rem}.invoice-detail .invoice-items-section .invoice-item .item-details .item-qty,.invoice-detail .invoice-items-section .invoice-item .item-details .item-price{white-space:nowrap}.invoice-detail .invoice-totals-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.invoice-detail .invoice-totals-section .totals-row{display:flex;justify-content:space-between;padding:.375rem 0}.invoice-detail .invoice-totals-section .totals-row.subtotal,.invoice-detail .invoice-totals-section .totals-row.discount,.invoice-detail .invoice-totals-section .totals-row.tax{font-size:12px;color:var(--bs-secondary)}.invoice-detail .invoice-totals-section .totals-row.discount .totals-value{color:var(--bs-success)}.invoice-detail .invoice-totals-section .totals-row.total{padding-top:.75rem;margin-top:.5rem;border-top:2px solid var(--bs-border-color)}.invoice-detail .invoice-totals-section .totals-row.total .totals-label{font-weight:600}.invoice-detail .invoice-totals-section .totals-row.total .totals-value{font-size:1.25rem;font-weight:700}.invoice-detail .invoice-totals-section .totals-row.paid{color:var(--bs-success)}.invoice-detail .invoice-totals-section .totals-row.balance .totals-label{font-weight:600;color:var(--bs-danger)}.invoice-detail .invoice-totals-section .totals-row.balance .totals-value{font-weight:700;color:var(--bs-danger)}.invoice-detail .invoice-notes-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.invoice-detail .invoice-notes-section .section-title{font-weight:600;font-size:12px;margin-bottom:.5rem}.invoice-detail .invoice-notes-section .notes-content{font-size:12px;color:var(--bs-secondary);white-space:pre-wrap}.invoice-detail .invoice-actions-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a}.invoice-detail .invoice-actions-section .actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.invoice-detail .invoice-actions-section .actions-grid .btn{min-height:44px;min-width:44px;font-size:12px}.invoice-detail .invoice-actions-section .actions-grid .btn.btn-full{grid-column:span 2}.payment-modal .payment-summary{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;text-align:center}.payment-modal .payment-summary .balance-label{font-size:12px;color:var(--bs-secondary)}.payment-modal .payment-summary .balance-amount{font-size:1.75rem;font-weight:700;color:var(--bs-danger)}.payment-modal .payment-amount-input{margin-bottom:1rem}.payment-modal .payment-amount-input label{font-weight:600;margin-bottom:.5rem;display:block}.payment-modal .payment-amount-input .amount-input-wrapper{position:relative}.payment-modal .payment-amount-input .amount-input-wrapper .currency-prefix{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-weight:600;color:var(--bs-secondary)}.payment-modal .payment-amount-input .amount-input-wrapper input{padding-left:3rem;font-size:1.25rem;font-weight:600;text-align:right}.payment-modal .payment-amount-input .quick-amounts{display:flex;gap:.5rem;margin-top:.5rem}.payment-modal .payment-amount-input .quick-amounts .quick-amount-btn{flex:1;padding:.5rem;font-size:12px;border:1px solid var(--bs-border-color);border-radius:.5rem;background:transparent}.payment-modal .payment-amount-input .quick-amounts .quick-amount-btn:active{background:var(--bs-primary-bg-subtle)}.payment-modal .payment-methods{margin-bottom:1rem}.payment-modal .payment-methods .method-label{font-weight:600;margin-bottom:.5rem}.payment-modal .payment-methods .method-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.payment-modal .payment-methods .method-options .method-option{padding:.75rem;border:2px solid var(--bs-border-color);border-radius:.5rem;text-align:center;cursor:pointer;transition:all .15s}.payment-modal .payment-methods .method-options .method-option:active{transform:scale(.98)}.payment-modal .payment-methods .method-options .method-option.selected{border-color:var(--bs-primary);background:var(--bs-primary-bg-subtle)}.payment-modal .payment-methods .method-options .method-option .method-icon{font-size:1.5rem;margin-bottom:.25rem}.payment-modal .payment-methods .method-options .method-option .method-name{font-size:12px;font-weight:500}.payment-modal .payment-reference{margin-bottom:1rem}.payment-modal .payment-reference input{width:100%}.payment-modal .payment-submit .btn{width:100%;min-height:44px;min-width:44px;font-size:1rem}.invoice-print .invoice-header-card,.invoice-print .bill-to-section,.invoice-print .invoice-items-section,.invoice-print .invoice-totals-section,.invoice-print .invoice-notes-section{box-shadow:none;border:none;border-radius:0;margin-bottom:0;padding:.5rem 0}.invoice-print .invoice-meta{font-size:12px}.invoice-print .invoice-item{font-size:12px;padding:.5rem 0}}@media print{.invoice-print body{font-size:12pt}.invoice-print .no-print{display:none!important}.invoice-print .invoice-detail{padding:0}}@media (max-width: 767px){.invoice-email-preview{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a}.invoice-email-preview .email-header{padding-bottom:.75rem;border-bottom:1px solid var(--bs-border-color);margin-bottom:.75rem}.invoice-email-preview .email-header .email-to{font-size:12px;color:var(--bs-secondary);margin-bottom:.25rem}.invoice-email-preview .email-header .email-subject{font-weight:600}.invoice-email-preview .email-body{font-size:12px;max-height:300px;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.invoice-email-preview .email-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.invoice-email-preview .email-actions .btn{flex:1}.aging-summary{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.aging-summary .summary-title{font-weight:600;margin-bottom:.75rem}.aging-summary .aging-buckets{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.aging-summary .aging-buckets .bucket{padding:.5rem;text-align:center;border-radius:.5rem;background:var(--bs-secondary-bg)}.aging-summary .aging-buckets .bucket.current{background:var(--bs-success-bg-subtle)}.aging-summary .aging-buckets .bucket.overdue-30{background:var(--bs-warning-bg-subtle)}.aging-summary .aging-buckets .bucket.overdue-60,.aging-summary .aging-buckets .bucket.overdue-90{background:var(--bs-danger-bg-subtle)}.aging-summary .aging-buckets .bucket .bucket-label{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase}.aging-summary .aging-buckets .bucket .bucket-amount{font-weight:700;font-size:1rem}.aging-summary .aging-buckets .bucket .bucket-count{font-size:.65rem;color:var(--bs-secondary)}.doctor-treatment-page .queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem;background:var(--bs-card-bg, #fff);border-radius:.5rem}.doctor-treatment-page .queue-header .queue-title{font-weight:600}.doctor-treatment-page .queue-header .queue-count{background:var(--bs-primary);color:#fff;padding:.25rem .5rem;border-radius:50px;font-size:12px;font-weight:600}.doctor-treatment-page .doctor-selector{margin-bottom:.75rem}.doctor-treatment-page .doctor-selector .doctor-chips{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem}.doctor-treatment-page .doctor-selector .doctor-chips::-webkit-scrollbar{display:none}.doctor-treatment-page .doctor-selector .doctor-chips>*{scroll-snap-align:start;flex-shrink:0}.doctor-treatment-page .doctor-selector .doctor-chips .doctor-chip{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:50px;background:var(--bs-card-bg, #fff);border:1px solid var(--bs-border-color);cursor:pointer}.doctor-treatment-page .doctor-selector .doctor-chips .doctor-chip.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.doctor-treatment-page .doctor-selector .doctor-chips .doctor-chip .doctor-avatar{width:28px;height:28px;border-radius:50%}.doctor-treatment-page .doctor-selector .doctor-chips .doctor-chip .doctor-name{font-weight:500;font-size:12px}.doctor-treatment-page .doctor-selector .doctor-chips .doctor-chip .patient-count{font-size:.65rem;opacity:.8}.doctor-treatment-page .date-filter{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem}.doctor-treatment-page .date-filter .date-nav-btn{min-height:44px;min-width:44px;padding:.5rem}.doctor-treatment-page .date-filter .current-date{font-weight:600;min-width:150px;text-align:center}.patient-queue{display:flex;flex-direction:column;gap:.5rem}.queue-patient-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;position:relative;padding-left:calc(.75rem + 4px);cursor:pointer;transition:all .15s}.queue-patient-card:active{transform:scale(.98)}.queue-patient-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:.5rem 0 0 .5rem}.queue-patient-card.status-waiting:before{background:var(--bs-warning)}.queue-patient-card.status-in_progress:before{background:var(--bs-info)}.queue-patient-card.status-completed:before{background:var(--bs-success)}.queue-patient-card.status-cancelled:before{background:var(--bs-danger)}.queue-patient-card .queue-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.queue-patient-card .queue-card-header .queue-number{display:flex;align-items:center;gap:.5rem}.queue-patient-card .queue-card-header .queue-number .number-badge{width:28px;height:28px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.queue-patient-card .queue-card-header .queue-number .appointment-time{font-weight:600}.queue-patient-card .queue-card-header .status-badge{font-size:.65rem}.queue-patient-card .queue-patient-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.queue-patient-card .queue-patient-info .patient-avatar{width:44px;height:44px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.queue-patient-card .queue-patient-info .patient-avatar .initials{font-weight:600;color:var(--bs-primary)}.queue-patient-card .queue-patient-info .patient-details{flex:1;min-width:0}.queue-patient-card .queue-patient-info .patient-details .patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-patient-card .queue-patient-info .patient-details .patient-id{font-size:12px;color:var(--bs-secondary)}.queue-patient-card .queue-service{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.queue-patient-card .queue-service .service-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.queue-patient-card .queue-service .room-badge{font-size:.65rem;padding:.125rem .375rem;background:var(--bs-secondary-bg);border-radius:4px}.queue-patient-card .queue-quick-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--bs-border-color-translucent)}.queue-patient-card .queue-quick-actions .btn{flex:1;font-size:12px;padding:.375rem .5rem}.queue-empty{text-align:center;padding:3rem 1rem;color:var(--bs-secondary)}.queue-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.queue-empty .empty-title{font-weight:600;margin-bottom:.5rem;color:var(--bs-body-color)}.queue-empty .empty-message{font-size:12px}.treatment-session-page{padding-bottom:80px}.treatment-session-page .session-patient-header{position:sticky;top:0;z-index:20;background:var(--bs-body-bg);margin:0 -.75rem .75rem;padding:.75rem;border-bottom:1px solid var(--bs-border-color)}.treatment-session-page .session-patient-header .header-content{display:flex;align-items:center;gap:.75rem}.treatment-session-page .session-patient-header .back-btn{min-height:44px;min-width:44px;padding:.5rem}.treatment-session-page .session-patient-header .patient-summary{flex:1;min-width:0}.treatment-session-page .session-patient-header .patient-summary .patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treatment-session-page .session-patient-header .patient-summary .service-info{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treatment-session-page .session-patient-header .timer-badge{padding:.25rem .75rem;border-radius:50px;background:var(--bs-success-bg-subtle);font-weight:600;font-size:12px}.treatment-session-page .session-patient-header .timer-badge.warning{background:var(--bs-warning-bg-subtle)}.treatment-session-page .session-patient-header .timer-badge.overtime{background:var(--bs-danger-bg-subtle);color:var(--bs-danger)}.treatment-session-page .treatment-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.treatment-session-page .treatment-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;cursor:pointer}.treatment-session-page .treatment-section .section-header .section-title{font-weight:600;display:flex;align-items:center;gap:.5rem}.treatment-session-page .treatment-section .section-header .section-title .section-icon{color:var(--bs-primary)}.treatment-session-page .treatment-section .section-header .section-toggle{color:var(--bs-secondary);transition:transform .15s}.treatment-session-page .treatment-section .section-header .section-toggle.collapsed{transform:rotate(-90deg)}.treatment-session-page .treatment-section .section-content.collapsed{display:none}.treatment-session-page .vitals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.treatment-session-page .vitals-grid .vital-input .vital-label{font-size:12px;color:var(--bs-secondary);margin-bottom:.25rem}.treatment-session-page .vitals-grid .vital-input .vital-input-wrapper{position:relative}.treatment-session-page .vitals-grid .vital-input .vital-input-wrapper input{padding-right:2.5rem}.treatment-session-page .vitals-grid .vital-input .vital-input-wrapper .vital-unit{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:12px;color:var(--bs-secondary)}.treatment-session-page .treatment-notes textarea{min-height:100px;resize:vertical}.treatment-session-page .treatment-notes .quick-notes{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem;margin-top:.5rem}.treatment-session-page .treatment-notes .quick-notes::-webkit-scrollbar{display:none}.treatment-session-page .treatment-notes .quick-notes>*{scroll-snap-align:start;flex-shrink:0}.treatment-session-page .treatment-notes .quick-notes .quick-note-btn{flex-shrink:0;padding:.25rem .5rem;font-size:12px;border:1px solid var(--bs-border-color);border-radius:50px;background:transparent}.treatment-session-page .treatment-notes .quick-notes .quick-note-btn:active{background:var(--bs-primary-bg-subtle)}.treatment-session-page .products-section .product-list{margin-bottom:.75rem}.treatment-session-page .products-section .product-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.treatment-session-page .products-section .product-item:last-child{border-bottom:none}.treatment-session-page .products-section .product-item .product-info{flex:1;min-width:0}.treatment-session-page .products-section .product-item .product-info .product-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treatment-session-page .products-section .product-item .product-info .product-stock{font-size:12px;color:var(--bs-secondary)}.treatment-session-page .products-section .product-item .product-qty{display:flex;align-items:center;gap:.25rem}.treatment-session-page .products-section .product-item .product-qty .qty-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--bs-border-color);background:transparent}.treatment-session-page .products-section .product-item .product-qty .qty-value{min-width:24px;text-align:center;font-weight:600}.treatment-session-page .products-section .product-item .remove-btn{color:var(--bs-danger);padding:.25rem}.treatment-session-page .products-section .add-product-btn{width:100%;padding:.75rem;border:2px dashed var(--bs-border-color);border-radius:.5rem;background:transparent;color:var(--bs-primary)}.treatment-session-page .products-section .add-product-btn:active{background:var(--bs-primary-bg-subtle)}.treatment-session-page .attachments-section .attachments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.treatment-session-page .attachments-section .attachments-grid .attachment-item{aspect-ratio:1;border-radius:.5rem;overflow:hidden;position:relative}.treatment-session-page .attachments-section .attachments-grid .attachment-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.treatment-session-page .attachments-section .attachments-grid .attachment-item .remove-attachment{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;border-radius:50%;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem}.treatment-session-page .attachments-section .add-attachment-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border:2px dashed var(--bs-border-color);border-radius:.5rem;background:transparent;color:var(--bs-secondary);width:100%}.treatment-session-page .attachments-section .add-attachment-btn:active{background:var(--bs-secondary-bg)}.treatment-session-page .attachments-section .add-attachment-btn .add-icon{font-size:1.5rem;margin-bottom:.25rem}.treatment-session-page .attachments-section .add-attachment-btn .add-text{font-size:12px}.treatment-session-page .session-actions{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:.75rem;box-shadow:0 -2px 10px #0000001a;z-index:1025;display:flex;gap:.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.treatment-session-page .session-actions .btn{flex:1;min-height:44px;min-width:44px}.treatment-session-page .session-actions .btn.btn-complete{flex:2}.treatment-history .history-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;cursor:pointer}.treatment-history .history-card:active{background:var(--bs-secondary-bg)}.treatment-history .history-card .history-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.treatment-history .history-card .history-header .history-date{font-weight:600}.treatment-history .history-card .history-header .history-doctor{font-size:12px;color:var(--bs-secondary)}.treatment-history .history-card .history-service{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.treatment-history .history-card .history-notes{font-size:12px;color:var(--bs-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.treatment-history .history-card .history-attachments{display:flex;gap:.25rem;margin-top:.5rem}.treatment-history .history-card .history-attachments .attachment-thumb{width:40px;height:40px;border-radius:4px;-o-object-fit:cover;object-fit:cover}.treatment-history .history-card .history-attachments .more-attachments{width:40px;height:40px;border-radius:4px;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--bs-secondary)}.treatment-fab{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0));right:1rem;z-index:1024}.treatment-fab .fab-main{width:56px;height:56px;border-radius:50%;background:var(--bs-primary);color:#fff;border:none;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:transform .15s}.treatment-fab .fab-main.active{transform:rotate(45deg)}.treatment-fab .fab-actions{position:absolute;bottom:70px;right:0;display:flex;flex-direction:column;gap:.75rem;opacity:0;transform:translateY(10px);pointer-events:none;transition:all .15s}.treatment-fab .fab-actions.show{opacity:1;transform:translateY(0);pointer-events:auto}.treatment-fab .fab-actions .fab-action{display:flex;align-items:center;gap:.5rem;flex-direction:row-reverse}.treatment-fab .fab-actions .fab-action .fab-btn{width:44px;height:44px;border-radius:50%;background:var(--bs-card-bg, #fff);border:none;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center}.treatment-fab .fab-actions .fab-action .fab-label{padding:.25rem .5rem;background:var(--bs-dark);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap}.dashboard-page{padding:0}.dashboard-page .dashboard-header{padding:.75rem;background:var(--bs-card-bg, #fff);margin-bottom:.75rem;border-radius:.5rem}.dashboard-page .dashboard-header .greeting{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.dashboard-page .dashboard-header .date-display{font-size:12px;color:var(--bs-secondary)}.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.stat-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:.75rem .5rem}.stat-card .stat-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-size:1rem}.stat-card .stat-icon.icon-primary{background:var(--bs-primary-bg-subtle);color:var(--bs-primary)}.stat-card .stat-icon.icon-success{background:var(--bs-success-bg-subtle);color:var(--bs-success)}.stat-card .stat-icon.icon-warning{background:var(--bs-warning-bg-subtle);color:var(--bs-warning)}.stat-card .stat-icon.icon-danger{background:var(--bs-danger-bg-subtle);color:var(--bs-danger)}.stat-card .stat-value{font-size:1.25rem;font-weight:700;line-height:1.2}.stat-card .stat-label{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase;margin-top:.25rem}.stat-card .stat-change{font-size:.65rem;margin-top:.25rem}.stat-card .stat-change.positive{color:var(--bs-success)}.stat-card .stat-change.negative{color:var(--bs-danger)}.stat-card-wide{grid-column:span 2;display:flex;align-items:center;text-align:left;gap:.75rem}.stat-card-wide .stat-icon{margin:0}.stat-card-wide .stat-content{flex:1}.quick-actions-section{margin-bottom:.75rem}.quick-actions-section .section-title{font-weight:600;margin-bottom:.5rem;font-size:.9rem}.quick-actions-section .quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.quick-actions-section .quick-actions-grid .quick-action{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .25rem;text-decoration:none;color:var(--bs-body-color);transition:all .15s}.quick-actions-section .quick-actions-grid .quick-action:active{transform:scale(.95);background:var(--bs-primary-bg-subtle)}.quick-actions-section .quick-actions-grid .quick-action .action-icon{width:40px;height:40px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;margin-bottom:.375rem;font-size:1.1rem;color:var(--bs-primary)}.quick-actions-section .quick-actions-grid .quick-action .action-label{font-size:.65rem;text-align:center;line-height:1.2}.quick-actions-scroll{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;padding:.5rem 0}.quick-actions-scroll::-webkit-scrollbar{display:none}.quick-actions-scroll>*{scroll-snap-align:start;flex-shrink:0}.quick-actions-scroll .quick-action{flex-shrink:0;min-width:70px}.todays-schedule{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.todays-schedule .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.todays-schedule .section-header .section-title{font-weight:600}.todays-schedule .section-header .view-all-link{font-size:12px;color:var(--bs-primary)}.todays-schedule .schedule-timeline{position:relative;padding-left:60px}.todays-schedule .schedule-timeline:before{content:"";position:absolute;left:25px;top:0;bottom:0;width:2px;background:var(--bs-border-color)}.todays-schedule .schedule-item{position:relative;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--bs-border-color-translucent)}.todays-schedule .schedule-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.todays-schedule .schedule-item .schedule-time{position:absolute;left:-60px;width:50px;text-align:right;font-size:12px;font-weight:600}.todays-schedule .schedule-item .schedule-dot{position:absolute;left:-40px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--bs-primary);border:2px solid var(--bs-card-bg, #fff)}.todays-schedule .schedule-item .schedule-dot.completed{background:var(--bs-success)}.todays-schedule .schedule-item .schedule-dot.in-progress{background:var(--bs-info)}.todays-schedule .schedule-item .schedule-content .patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todays-schedule .schedule-item .schedule-content .service-name{font-size:12px;color:var(--bs-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todays-schedule .empty-schedule{text-align:center;padding:1.5rem;color:var(--bs-secondary)}.todays-schedule .empty-schedule .empty-icon{font-size:2rem;margin-bottom:.5rem}.recent-activity{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.recent-activity .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.recent-activity .section-header .section-title{font-weight:600}.recent-activity .activity-list{max-height:250px;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.recent-activity .activity-item{display:flex;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color-translucent)}.recent-activity .activity-item:last-child{border-bottom:none}.recent-activity .activity-item .activity-icon{width:32px;height:32px;border-radius:50%;background:var(--bs-secondary-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.recent-activity .activity-item .activity-icon.activity-appointment{background:var(--bs-primary-bg-subtle);color:var(--bs-primary)}.recent-activity .activity-item .activity-icon.activity-payment{background:var(--bs-success-bg-subtle);color:var(--bs-success)}.recent-activity .activity-item .activity-icon.activity-patient{background:var(--bs-info-bg-subtle);color:var(--bs-info)}.recent-activity .activity-item .activity-content{flex:1;min-width:0}.recent-activity .activity-item .activity-content .activity-text{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-activity .activity-item .activity-content .activity-text strong{font-weight:600}.recent-activity .activity-item .activity-content .activity-time{font-size:.65rem;color:var(--bs-secondary);margin-top:.125rem}.charts-section .chart-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.charts-section .chart-card .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.charts-section .chart-card .chart-header .chart-title{font-weight:600;font-size:.9rem}.charts-section .chart-card .chart-header .chart-period-selector .btn{padding:.25rem .5rem;font-size:.65rem}.charts-section .chart-card .chart-container{position:relative;height:200px}.charts-section .chart-card .chart-container canvas{max-height:200px}.charts-section .chart-card .chart-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.charts-section .chart-card .chart-legend .legend-item{display:flex;align-items:center;gap:.25rem;font-size:12px}.charts-section .chart-card .chart-legend .legend-item .legend-color{width:12px;height:12px;border-radius:2px}.dashboard-alerts{margin-bottom:.75rem}.dashboard-alerts .alert-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:.75rem}.dashboard-alerts .alert-card.alert-warning{border-left:4px solid var(--bs-warning)}.dashboard-alerts .alert-card.alert-danger{border-left:4px solid var(--bs-danger)}.dashboard-alerts .alert-card.alert-info{border-left:4px solid var(--bs-info)}.dashboard-alerts .alert-card .alert-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-alerts .alert-card .alert-content{flex:1;min-width:0}.dashboard-alerts .alert-card .alert-content .alert-title{font-weight:600;margin-bottom:.125rem}.dashboard-alerts .alert-card .alert-content .alert-message{font-size:12px;color:var(--bs-secondary)}.dashboard-alerts .alert-card .alert-action{flex-shrink:0}.dashboard-alerts .alert-card .alert-action .btn{padding:.25rem .5rem;font-size:12px}.pending-tasks{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.pending-tasks .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.pending-tasks .section-header .section-title{font-weight:600}.pending-tasks .section-header .tasks-count{background:var(--bs-danger);color:#fff;padding:.125rem .5rem;border-radius:50px;font-size:.7rem;font-weight:600}.pending-tasks .task-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--bs-border-color-translucent);cursor:pointer}.pending-tasks .task-item:last-child{border-bottom:none}.pending-tasks .task-item:active{background:var(--bs-secondary-bg);margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem}.pending-tasks .task-item .task-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--bs-border-color);flex-shrink:0}.pending-tasks .task-item .task-checkbox.checked{background:var(--bs-success);border-color:var(--bs-success)}.pending-tasks .task-item .task-content{flex:1;min-width:0}.pending-tasks .task-item .task-content .task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-tasks .task-item .task-content .task-due{font-size:.65rem;color:var(--bs-secondary)}.pending-tasks .task-item .task-content .task-due.overdue{color:var(--bs-danger)}.pending-tasks .task-item .task-priority{width:8px;height:8px;border-radius:50%}.pending-tasks .task-item .task-priority.high{background:var(--bs-danger)}.pending-tasks .task-item .task-priority.medium{background:var(--bs-warning)}.pending-tasks .task-item .task-priority.low{background:var(--bs-secondary)}.reports-list .reports-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.reports-list .report-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:1rem .5rem;cursor:pointer;transition:all .15s}.reports-list .report-card:active{transform:scale(.95);background:var(--bs-primary-bg-subtle)}.reports-list .report-card .report-icon{width:48px;height:48px;border-radius:50%;background:var(--bs-primary-bg-subtle);display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-size:1.25rem;color:var(--bs-primary)}.reports-list .report-card .report-name{font-weight:600;font-size:12px;margin-bottom:.25rem}.reports-list .report-card .report-description{font-size:.65rem;color:var(--bs-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reports-categories{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem;margin-bottom:.75rem;padding:.25rem 0}.reports-categories::-webkit-scrollbar{display:none}.reports-categories>*{scroll-snap-align:start;flex-shrink:0}.reports-categories .category-btn{flex-shrink:0;padding:.5rem 1rem;border-radius:50px;font-size:12px;border:1px solid var(--bs-border-color);background:transparent;white-space:nowrap}.reports-categories .category-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.report-filters{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.report-filters .filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.report-filters .filters-header .filters-title{font-weight:600}.report-filters .filters-header .filters-toggle{min-height:44px;min-width:44px;padding:.5rem;color:var(--bs-primary)}.report-filters .filters-body.collapsed{display:none}.report-filters .filter-row{margin-bottom:.75rem}.report-filters .filter-row:last-child{margin-bottom:0}.report-filters .filter-row label{font-size:12px;font-weight:600;margin-bottom:.25rem;display:block}.report-filters .date-range-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center}.report-filters .date-range-row .date-separator{color:var(--bs-secondary);font-size:12px}.report-filters .quick-date-filters{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem;margin-top:.5rem}.report-filters .quick-date-filters::-webkit-scrollbar{display:none}.report-filters .quick-date-filters>*{scroll-snap-align:start;flex-shrink:0}.report-filters .quick-date-filters .quick-date-btn{flex-shrink:0;padding:.375rem .75rem;border-radius:50px;font-size:12px;border:1px solid var(--bs-border-color);background:transparent}.report-filters .quick-date-filters .quick-date-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.report-filters .filter-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.report-filters .filter-actions .btn{flex:1}.report-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.report-summary .summary-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:.75rem .5rem}.report-summary .summary-card .summary-value{font-size:1.25rem;font-weight:700;line-height:1.2}.report-summary .summary-card .summary-value.positive{color:var(--bs-success)}.report-summary .summary-card .summary-value.negative{color:var(--bs-danger)}.report-summary .summary-card .summary-label{font-size:.65rem;color:var(--bs-secondary);text-transform:uppercase;margin-top:.25rem}.report-summary .summary-card .summary-change{font-size:.65rem;margin-top:.25rem}.report-summary .summary-card .summary-change.up{color:var(--bs-success)}.report-summary .summary-card .summary-change.down{color:var(--bs-danger)}.report-summary .summary-card-wide{grid-column:span 2}.report-table-container{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;padding:0;overflow:hidden}.report-table-container .table-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid var(--bs-border-color)}.report-table-container .table-header .table-title{font-weight:600}.report-table-container .table-header .table-actions{display:flex;gap:.5rem}.report-table-container .table-header .table-actions .btn{padding:.375rem .5rem;font-size:12px}.report-table-container .table-responsive{margin:0;width:100%}.report-table-container .table{margin-bottom:0;font-size:12px}.report-table-container .table th{white-space:nowrap;padding:.5rem;background:var(--bs-secondary-bg);position:sticky;top:0}.report-table-container .table td{padding:.5rem;vertical-align:middle}.report-table-container .table.sticky-first-column th:first-child,.report-table-container .table.sticky-first-column td:first-child{position:sticky;left:0;background:var(--bs-card-bg, #fff);z-index:5;border-right:1px solid var(--bs-border-color)}.report-table-container .table.sticky-first-column th:first-child{z-index:10}.report-table-container .table .col-numeric{text-align:right;font-variant-numeric:tabular-nums}.report-table-container .table-footer{padding:.75rem;border-top:1px solid var(--bs-border-color);font-size:12px;color:var(--bs-secondary)}.report-card-view .report-row-card{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem}.report-card-view .report-row-card .row-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.report-card-view .report-row-card .row-header .row-title{font-weight:600}.report-card-view .report-row-card .row-header .row-value{font-weight:700}.report-card-view .report-row-card .row-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-size:12px}.report-card-view .report-row-card .row-details .detail-item .detail-label{color:var(--bs-secondary);font-size:.65rem;text-transform:uppercase}.report-card-view .report-row-card .row-details .detail-item .detail-value{font-weight:500}.report-chart{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.report-chart .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.report-chart .chart-header .chart-title{font-weight:600}.report-chart .chart-header .chart-type-toggle{display:flex;gap:.25rem}.report-chart .chart-header .chart-type-toggle .toggle-btn{padding:.375rem .5rem;border:1px solid var(--bs-border-color);background:transparent;font-size:12px}.report-chart .chart-header .chart-type-toggle .toggle-btn:first-child{border-radius:.5rem 0 0 .5rem}.report-chart .chart-header .chart-type-toggle .toggle-btn:last-child{border-radius:0 .5rem .5rem 0}.report-chart .chart-header .chart-type-toggle .toggle-btn.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.report-chart .chart-container{position:relative;height:250px}.report-chart .chart-container canvas{max-height:250px}.report-chart .chart-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color);justify-content:center}.report-chart .chart-legend .legend-item{display:flex;align-items:center;gap:.25rem;font-size:12px}.report-chart .chart-legend .legend-item .legend-color{width:12px;height:12px;border-radius:2px}.report-export{position:fixed;bottom:0;left:0;right:0;background:var(--bs-card-bg, #fff);padding:.75rem;box-shadow:0 -2px 10px #0000001a;z-index:1025;display:flex;gap:.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.report-export .btn{flex:1;min-height:44px;min-width:44px;font-size:12px}.report-export .btn i,.report-export .btn svg{margin-right:.25rem}.export-modal .export-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.export-modal .export-options .export-option{padding:1rem;border:2px solid var(--bs-border-color);border-radius:.5rem;text-align:center;cursor:pointer;transition:all .15s}.export-modal .export-options .export-option:active{transform:scale(.98)}.export-modal .export-options .export-option.selected{border-color:var(--bs-primary);background:var(--bs-primary-bg-subtle)}.export-modal .export-options .export-option .export-icon{font-size:2rem;margin-bottom:.5rem;color:var(--bs-primary)}.export-modal .export-options .export-option .export-format{font-weight:600}.export-modal .export-options .export-option .export-size{font-size:12px;color:var(--bs-secondary)}.financial-report .pl-section{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.financial-report .pl-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color)}.financial-report .pl-section .section-header .section-title{font-weight:600}.financial-report .pl-section .section-header .section-total{font-weight:700}.financial-report .pl-section .section-item{display:flex;justify-content:space-between;padding:.375rem 0;font-size:12px}.financial-report .pl-section .section-item.item-total{padding-top:.5rem;margin-top:.5rem;border-top:1px solid var(--bs-border-color);font-weight:600}.financial-report .balance-sheet .bs-column{margin-bottom:.75rem}.financial-report .balance-sheet .bs-total{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;font-weight:700;font-size:1.1rem}.financial-report .balance-sheet .bs-total.balanced{background:var(--bs-success-bg-subtle)}.financial-report .balance-sheet .bs-total.unbalanced{background:var(--bs-danger-bg-subtle)}.financial-report .cash-flow .cf-category{margin-bottom:.75rem}.financial-report .cash-flow .cf-category .category-header{background:var(--bs-card-bg, #fff);border-radius:.5rem;padding:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;font-weight:600;cursor:pointer}.financial-report .cash-flow .cf-category .category-items{padding-left:.75rem;border-left:2px solid var(--bs-border-color);margin-left:.5rem;margin-top:.5rem}.financial-report .cash-flow .cf-category .category-items .cf-item{display:flex;justify-content:space-between;padding:.375rem .5rem;font-size:12px}}@media print{.report-filters,.report-export,.no-print{display:none!important}.report-table-container,.report-chart,.report-summary{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.report-chart .chart-container{height:auto;max-height:none}.d-mobile-none{display:block!important}.d-mobile-block,.d-mobile-flex,.btn-fab,.bottom-nav,.session-actions,.order-summary-sticky,.wizard-footer,.form-actions-sticky,.report-export{display:none!important}.patient-header,.session-patient-header,.calendar-header{position:static!important}}
