@charset "UTF-8";.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.modal-title{font-size:20px;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:12px}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.section{margin-bottom:20px}.section-title-Model_Patient{font-size:16px;font-weight:600;color:#2462ea;margin-bottom:16px;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}.form-group_Model_Patient{display:flex;flex-direction:column}.form-label_Model_Patient{display:block;font-weight:500;color:#374151;margin-bottom:8px;font-size:14px}.form-input,.form-select,.form-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;background:white;transition:border-color .2s;box-sizing:border-box}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.medical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:20px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.checkbox-item:hover{background:#f3f4f6;border-color:#d1d5db}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.checkbox-item span{font-size:14px;color:#374151}.modal-footer_creat_Patient{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #d1d5db}.btn-save{background:#3b82f6;color:#fff}.btn-save:hover{background:#2563eb}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-header,.modal-body{padding:20px}.form-grid,.medical-grid{grid-template-columns:1fr}.modal-footer_creat_Patient{flex-direction:column-reverse}.btn{width:100%;justify-content:center}}@media (max-width: 480px){.modal-header,.modal-body{padding:16px}.modal-title{font-size:18px}.section-title-Model_Patient{font-size:15px}}.spinner{border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;width:18px;height:18px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:white;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;outline:none;transition:border-color .2s}.form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.react-datepicker-wrapper{width:100%}.react-datepicker{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border:none;border-radius:.75rem;box-shadow:0 10px 40px #0000001a}.react-datepicker__header{background:transparent;border-bottom:none;padding-top:1rem}.react-datepicker__current-month{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.react-datepicker__month-container{padding:.5rem}.react-datepicker__day-names{display:flex;justify-content:space-around;margin-bottom:.5rem}.react-datepicker__day-name{color:#6b7280;font-weight:500;font-size:.875rem;width:2.5rem;line-height:2.5rem;margin:.166rem}.react-datepicker__month{margin:0}.react-datepicker__week{display:flex;justify-content:space-around}.react-datepicker__day{width:2.5rem;height:2.5rem;line-height:2.5rem;margin:.166rem;border-radius:.5rem;color:#1f2937;font-weight:500;transition:all .2s;cursor:pointer}.react-datepicker__day:hover{background-color:#6366f11a;color:#4f46e5}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:#6366f1!important;color:#fff!important;font-weight:600}.react-datepicker__day--today{background-color:#6366f133;color:#4f46e5;font-weight:600}.react-datepicker__day--outside-month{color:#d1d5db}.react-datepicker__day--disabled{color:#d1d5db;cursor:not-allowed}.react-datepicker__day--disabled:hover{background-color:transparent}.react-datepicker__navigation{top:1rem;width:2rem;height:2rem;border-radius:.375rem;transition:background-color .2s}.react-datepicker__navigation:hover{background-color:#6366f11a}.react-datepicker__navigation-icon:before{border-color:#4f46e5;border-width:2px 2px 0 0;height:7px;width:7px}.react-datepicker__navigation--previous{left:1rem}.react-datepicker__navigation--next{right:1rem}.react-datepicker__month-dropdown,.react-datepicker__year-dropdown{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 4px 6px -1px #0000001a}.react-datepicker__month-option,.react-datepicker__year-option{padding:.5rem 1rem;cursor:pointer}.react-datepicker__month-option:hover,.react-datepicker__year-option:hover{background-color:#6366f11a;color:#4f46e5}.react-datepicker__month-option--selected,.react-datepicker__year-option--selected{background-color:#6366f1;color:#fff}.react-datepicker-popper{z-index:9999!important}:root{--header-height-desktop: 72px;--header-height-tablet: 68px;--header-height-mobile: 64px;--color-primary: #2f68da;--color-primary-hover: #2557c1;--color-destructive: #ef4444;--color-success: #10b981;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-muted: #f8fafc;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px}.dashboard-header{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border-bottom:1px solid hsl(220,12%,90.2%);position:sticky;top:0;z-index:100;height:55px;display:flex;align-items:center}.header-container{width:100%;margin:0 auto;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2xl)}.header-left{flex:1;min-width:0}.search-box-header{max-width:400px;position:relative;display:flex;align-items:center;gap:10px;padding:6px 12px;background:white;border:1px solid #d1d5db;border-radius:var(--radius-md);transition:all .2s}.search-box-header:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2f68da1a}.search-box-header svg{flex-shrink:0;color:var(--color-text-muted);width:16px;height:16px}.search-box-header .input{flex:1;border:none;outline:none;padding:0;font-size:var(--font-size-base);color:#111827;background:transparent;font-family:inherit}.search-box-header .input::placeholder{color:#9ca3af}.skeleton-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-width:300px}.header-right{display:flex;align-items:center;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.icon-button{position:relative;width:35px;height:35px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);color:var(--color-text-muted);flex-shrink:0;font-size:18px;text-decoration:none}.icon-button:hover{background:var(--color-muted);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.icon-button:active{transform:translateY(0)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button.add{font-size:22px;font-weight:300}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-destructive);color:#fff;font-size:10px;font-weight:700;min-width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid white;box-shadow:var(--shadow-sm)}@keyframes bell-ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}}@keyframes bell-shake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-15deg)}20%,40%,60%,80%{transform:rotate(15deg)}}.bell-animate{animation:bell-ring 2s ease-in-out infinite}.bell-shake{animation:bell-shake .5s ease-in-out}.profile-trigger{display:flex;align-items:center;gap:var(--spacing-md);padding:6px 12px 6px 6px;background:white;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);height:56px}.profile-trigger:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.profile-trigger:active{transform:translateY(0)}.profile-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 10px #2f68da4d}.profile-avatar-img{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover;border:2px solid #e5e7eb;cursor:pointer;transition:transform .2s ease}.profile-avatar-img:hover{transform:scale(1.05)}.profile-info{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;max-width:180px}.profile-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{transition:transform var(--transition-normal);color:var(--color-text-muted);flex-shrink:0;font-size:12px}.chevron.rotated{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 8px);background:white;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);overflow:hidden;z-index:1000;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-muted)}.dropdown-title{font-size:16px;font-weight:700;color:var(--color-text)}.dropdown-content{max-height:400px;overflow-y:auto;overflow-x:hidden}.dropdown-content::-webkit-scrollbar-track{background:var(--color-muted)}.dropdown-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.dropdown-footer{padding:10px 14px;border-top:1px solid var(--color-border);text-align:center;background:var(--color-muted)}.footer-link{color:var(--color-primary);font-size:13px;font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-primary-hover);text-decoration:underline}.notification-wrapper{position:relative}.notification-dropdown{right:0;width:400px;max-width:calc(100vw - 32px)}.notification-count-badge{font-size:11px;color:var(--color-primary);background:rgba(47,104,218,.1);padding:4px 10px;border-radius:4px;font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-muted);gap:var(--spacing-md)}.notification-item{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);cursor:pointer;transition:all .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-muted);transform:translate(4px)}.notification-item.unread{background:#f0f9ff;border-left:3px solid #3b82f6}.notification-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm);color:#fff}.notification-icon.bg-success{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%)}.notification-icon.bg-primary{background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%)}.notification-icon.bg-warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.notification-icon.bg-info{background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%)}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:13px;color:var(--color-text);margin-bottom:2px}.notification-text{font-size:13px;color:var(--color-text-muted);margin:0 0 4px}.notification-meta{margin:4px 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.performedby-name{font-weight:600;color:var(--color-primary)}.notification-time{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:2px 0 0}.financial-info{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);padding:6px 10px;border-radius:6px;margin-top:6px;display:inline-block;border-left:3px solid #0ea5e9;font-weight:500;font-size:var(--font-size-xs)}.profile-wrapper{position:relative}.profile-dropdown{right:0;width:320px;max-width:calc(100vw - 32px)}.profile-dropdown-header{padding:10px;background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;gap:var(--spacing-lg);position:relative;overflow:hidden}.profile-dropdown-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.dropdown-avatar{width:60px;height:60px;border-radius:var(--radius-full);background:rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid rgba(255,255,255,.4);box-shadow:0 8px 16px #00000026;position:relative;z-index:1}.dropdown-user-info{flex:1;position:relative;z-index:1;min-width:0}.dropdown-name{font-size:16px;font-weight:700;margin:0;letter-spacing:-.3px;line-height:1.2;word-wrap:break-word}.dropdown-email{font-size:var(--font-size-sm);margin:0;opacity:.95;font-weight:400;word-wrap:break-word;line-height:1.3}.dropdown-divider{height:1px;background:var(--color-border);margin:0}.dropdown-menu{padding:4px 0}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:500;color:var(--color-text);cursor:pointer;border-left:3px solid transparent;transition:background .15s,color .15s,border-left-color .15s,padding-left .15s}.dropdown-item:hover{background:rgba(47,104,218,.06);color:var(--color-primary);border-left-color:var(--color-primary);padding-left:calc(var(--spacing-xl) + 6px)}.dropdown-item svg{flex-shrink:0;transition:transform var(--transition-fast)}.dropdown-item:hover svg{transform:scale(1.1)}.logout-item{color:var(--color-destructive)}.logout-item:hover{background:rgba(239,68,68,.06);color:var(--color-destructive);border-left-color:var(--color-destructive)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.icon-button:focus,.profile-trigger:focus,.dropdown-item:focus{outline:2px solid var(--color-primary);outline-offset:2px}.icon-button:focus:not(:focus-visible),.profile-trigger:focus:not(:focus-visible),.dropdown-item:focus:not(:focus-visible){outline:none}@media (max-width: 1024px){.header-container{padding:0 var(--spacing-lg);gap:var(--spacing-lg)}.profile-info{max-width:140px}.notification-dropdown,.profile-dropdown{width:380px}}@media (max-width: 768px){.dashboard-header{height:var(--header-height-tablet)}.header-container{padding:0 var(--spacing-md);gap:var(--spacing-md)}.icon-button{width:40px;height:40px}.icon-button svg{width:18px;height:18px}.profile-trigger{height:48px;padding:4px 10px 4px 4px;gap:var(--spacing-sm)}.profile-avatar{width:40px;height:40px}.profile-avatar svg{width:18px;height:18px}.profile-info{max-width:100px}.profile-name{font-size:var(--font-size-sm)}.profile-role{font-size:10px}.chevron{width:16px;height:16px}.notification-dropdown{width:360px}.dropdown-content{max-height:320px}}@media (max-width: 640px){.dashboard-header{height:auto;min-height:var(--header-height-mobile)}.header-container{flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-md);align-items:stretch}.header-left{width:100%}.header-right{width:100%;justify-content:center}.header-actions{gap:var(--spacing-sm)}.icon-button{width:38px;height:38px}.search-box-header{width:100%!important;max-width:100%}.profile-trigger{flex:1;height:50px;padding:5px;justify-content:space-between;max-width:none}.profile-avatar{width:40px;height:40px}.profile-info{flex:1;max-width:none;padding:0 var(--spacing-sm)}.profile-name{font-size:var(--font-size-sm)}.profile-role{font-size:10px}.notification-dropdown,.profile-dropdown{left:0;right:0;width:calc(100vw - 24px);margin:0 12px}.dropdown-content{max-height:280px}.notification-item{padding:var(--spacing-md)}.notification-icon{width:36px;height:36px}.notification-icon svg{width:14px;height:14px}.dropdown-avatar{width:50px;height:50px}.dropdown-avatar svg{width:24px;height:24px}.skeleton-wrapper{max-width:100%}}@media (max-width: 480px){.notification-wrapper,.profile-wrapper{position:static}.notification-dropdown,.profile-dropdown{position:fixed;top:var(--header-actual-height, 120px);left:0;right:0;width:100%;max-width:100%;margin:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:999;box-shadow:0 8px 24px #0000001f}.dropdown-header{padding:var(--spacing-md)}.dropdown-content{max-height:55vh;-webkit-overflow-scrolling:touch}.notification-item{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.notification-icon{width:34px;height:34px;flex-shrink:0}.notification-icon svg{width:14px;height:14px}.notification-title{font-size:var(--font-size-sm)}.notification-text{font-size:13[x];display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta,.notification-time{font-size:10px}.notification-count-badge{font-size:10px;padding:3px 8px}.dropdown-footer{padding:var(--spacing-sm) var(--spacing-md)}.footer-link{font-size:var(--font-size-xs)}.profile-dropdown-header{padding:var(--spacing-md);gap:var(--spacing-md)}.dropdown-avatar{width:48px;height:48px}.dropdown-avatar svg{width:22px;height:22px}.dropdown-name{font-size:var(--font-size-base)}.dropdown-email{font-size:var(--font-size-xs)}.dropdown-item{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);gap:var(--spacing-sm)}.dropdown-item:hover{padding-left:calc(var(--spacing-lg) + 6px)}.dropdown-item svg{width:16px;height:16px}.dropdown-menu{padding:var(--spacing-xs) 0}}@media (max-width: 375px){.header-container{padding:var(--spacing-sm);gap:var(--spacing-sm)}.icon-button{width:36px;height:36px}.icon-button svg{width:16px;height:16px}.profile-trigger{height:46px}.profile-avatar{width:36px;height:36px}.profile-avatar svg{width:16px;height:16px}.profile-name{font-size:var(--font-size-xs)}.profile-role{font-size:9px}.chevron{width:14px;height:14px}.notification-badge{min-width:18px;height:18px;font-size:9px}}@media print{.dashboard-header{display:none}}.sidmenu{display:flex;flex-direction:column;height:100vh;width:220px;background:#fff;border-right:1px solid #ddd;box-shadow:0 0 8px #0000001a;justify-content:flex-start;position:fixed;transition:transform .3s ease;z-index:1000}.sidmenu.mobile{position:fixed;left:0;top:0;transform:translate(-100%)}.sidmenu.open{transform:translate(0)}.menu-toggle-btn{position:fixed;top:20px;right:15px;width:40px;height:40px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);z-index:1000;display:flex;align-items:center;justify-content:center}.menu-toggle-btn{transition:transform .2s ease}.menu-toggle-btn:hover{transform:scale(1.05)}.close-btn{position:absolute;top:20px;right:3px;width:32px;height:32px;background-color:var(--color-destructive);color:#000;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.close-btn:hover{background-color:#dc2626;transform:rotate(90deg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);z-index:900}.menu-item{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#000;text-decoration:none;border-radius:8px;transition:all .2s ease;margin-bottom:6px;font-size:14px;font-weight:500;cursor:pointer}.menu-item:hover{background:rgba(47,104,218,.1);color:#2f68da;transform:translate(4px)}.logout-item:hover{background:rgba(255,0,0,.1);color:#e60000!important;transform:translate(4px);width:100%}.menu-item.active{background:#2f68da;color:#fff;box-shadow:0 2px 5px #0000001a}.menu-item svg{width:20px;height:20px;flex-shrink:0}.menu-item-container{margin-bottom:6px}.submenu-trigger{position:relative;justify-content:space-between;background:#f8f9fa;border:1px solid #e9ecef}.submenu-trigger:hover{background:rgba(47,104,218,.1);color:#2f68da;transform:translate(4px);border-color:#2f68da}.submenu-trigger.open{background:#2f68da;color:#fff;border-color:#2f68da}.submenu-icon{margin-left:auto;transition:transform .2s ease}.submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#f8f9fa;border-radius:8px;margin-top:4px;margin-left:8px}.submenu.open{max-height:300px;padding:4px 0}.submenu-item{display:flex;align-items:center;padding:8px 12px 8px 32px;color:#495057;text-decoration:none;border-radius:6px;transition:all .2s ease;margin:2px 8px;font-size:13px;font-weight:500;position:relative}.submenu-item:before{content:"";position:absolute;left:16px;width:4px;height:4px;background:#6c757d;border-radius:50%}.submenu-item:hover{background:rgba(47,104,218,.1);color:#2f68da;transform:translate(4px)}.submenu-item:hover:before{background:#2f68da}.submenu-item.active{background:#2f68da;color:#fff;font-weight:600}.submenu-item.active:before{background:white}.submenu-item.disabled{cursor:not-allowed;opacity:.6;pointer-events:none;background:#f8f9fa}.submenu-item.disabled:hover{background:#f8f9fa;transform:none}.submenu-item.disabled:before{background:#adb5bd}@media (max-width: 1104px){.sidmenu{width:260px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submenu.open .submenu-item:nth-child(1){animation-delay:.05s}.submenu.open .submenu-item:nth-child(2){animation-delay:.1s}.submenu.open .submenu-item:nth-child(3){animation-delay:.15s}.logo-container{display:flex;align-items:center;justify-content:center;height:auto;border-bottom-width:1px;border-bottom-style:solid;border-color:#e3e5e9;background:#ffffff}.logo-container a{display:flex;align-items:center;justify-content:flex-start;text-decoration:none;transition:all .2s ease;gap:12px}.logo-container a:hover{opacity:.85}.logo-container .logo{height:54px;width:auto;object-fit:contain}.sidmenu .links{padding:1rem .75rem;overflow-y:auto;flex:1}.logo-icon{color:#2f68da;font-size:28px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:linear-gradient(135deg,rgba(47,104,218,.1) 0%,rgba(47,104,218,.05) 100%);border-radius:10px;flex-shrink:0}.logo-text{font-size:22px;font-weight:700;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin-left:14px;letter-spacing:-.5px;line-height:1}.spinner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#2563eb 0%,#1e40af 50%,#1e3a8a 100%);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in}.spinner-container{display:flex;flex-direction:column;align-items:center;gap:35px;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.logo-spinner-wrapper{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.circular-border{position:absolute;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center}.circle-loader{width:140px;height:140px;border:5px solid rgba(255,255,255,.15);border-top:5px solid #ffffff;border-right:5px solid rgba(255,255,255,.6);border-radius:50%;animation:rotate 1.2s linear infinite;box-shadow:0 0 20px #ffffff4d,inset 0 0 15px #ffffff1a}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-center{position:relative;width:75px;height:75px;object-fit:contain;z-index:2;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 4px 15px rgba(0,0,0,.2))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.92}}.loading-text-wrapper{text-align:center;color:#fff;animation:slideUp .6s ease-out .2s backwards}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.loading-title{font-size:24px;font-weight:600;margin:0 0 15px;letter-spacing:-.3px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.loading-dots{display:flex;justify-content:center;align-items:center;gap:10px;height:20px}.loading-dots span{width:10px;height:10px;background-color:#ffffffd9;border-radius:50%;display:inline-block;animation:bounce 1.5s infinite ease-in-out;box-shadow:0 0 12px #fff6}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.7) translateY(0);opacity:.6}40%{transform:scale(1.1) translateY(-8px);opacity:1}}@media (max-width: 768px){.logo-spinner-wrapper{width:120px;height:120px}.circle-loader{width:120px;height:120px;border-width:4px}.logo-center{width:65px;height:65px}.loading-title{font-size:22px}.loading-dots span{width:9px;height:9px}}@media (max-width: 480px){.spinner-container{gap:30px}.logo-spinner-wrapper{width:110px;height:110px}.circle-loader{width:110px;height:110px;border-width:4px}.logo-center{width:58px;height:58px}.loading-title{font-size:20px}.loading-dots span{width:8px;height:8px;gap:8px}}.login-container-enhanced{min-height:100vh;display:flex;background:linear-gradient(135deg,#2563eb 0%,#1e40af 50%,#1e3a8a 100%);position:relative;overflow:hidden}.bg-circle{position:absolute;background:rgba(255,255,255,.08);border-radius:50%}.bg-circle-1{width:500px;height:500px;top:-100px;left:-100px;animation:float 6s ease-in-out infinite}.bg-circle-2{width:300px;height:300px;bottom:-50px;right:-50px;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.login-left-section{flex:1;padding:60px;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;z-index:1}.login-content-wrapper{max-width:500px;animation:slideInLeft .8s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.brand-header{display:flex;align-items:center;gap:15px;margin-bottom:40px}.brand-logo-box{background:white;padding:12px 20px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a}.brand-logo-box img{width:160px;height:auto;object-fit:contain}.brand-title{font-size:32px;font-weight:700;margin:0}.brand-subtitle{margin:0;opacity:.9;font-size:14px}.tagline-section{margin-bottom:40px}.tagline-title{font-size:38px;font-weight:700;margin-bottom:20px;line-height:1.2}.tagline-description{font-size:18px;opacity:.95;line-height:1.6;margin:0}.features-list{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.feature-card{background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:12px;display:flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.18);animation:fadeIn .6s ease-out forwards;opacity:0;transition:all .3s ease}.feature-card:hover{background:rgba(255,255,255,.18);transform:translate(5px)}.feature-card:nth-child(1){animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feature-icon-box{background:rgba(255,255,255,.25);padding:12px;border-radius:10px;display:flex;align-items:center;justify-content:center;min-width:48px}.feature-title{margin:0;font-size:16px;font-weight:600}.feature-description{margin:0;font-size:14px;opacity:.9}.trust-section{display:flex;flex-wrap:wrap;gap:15px}.trust-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid rgba(255,255,255,.18);transition:all .3s ease}.trust-badge:hover{background:rgba(255,255,255,.2)}.login-right-section{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;position:relative;z-index:1}.login-form-container{background:white;padding:30px 40px;border-radius:24px;box-shadow:0 20px 60px #00000040;width:100%;max-width:460px;animation:slideInRight .8s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.form-header{text-align:center;margin-bottom:35px}.form-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;height:90px}.form-icon-wrapper img{width:100%;height:100%;object-fit:contain}.form-title{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.form-subtitle{font-size:15px;color:#64748b;margin:0}.alert-cooldown{background-color:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.form-footer{margin-top:25px;text-align:center}.form-divider{height:1px;background-color:#e2e8f0;margin:20px 0}.link-primary{color:#2563eb;font-weight:500;text-decoration:none;transition:all .2s ease}.link-primary:hover{text-decoration:underline;color:#1e40af}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.login-left-section{padding:40px}.tagline-title{font-size:32px}.login-form-container{padding:40px 30px}}@media (max-width: 768px){.login-container-enhanced{flex-direction:column;min-height:100vh}.login-right-section{order:1;padding:24px 16px 16px;align-items:flex-start}.login-left-section{order:2;padding:24px 16px 32px;text-align:center}.login-form-container{max-width:100%;width:100%;padding:28px 20px;border-radius:20px;box-shadow:0 8px 32px #0000002e;animation:none}.form-header{margin-bottom:24px}.form-icon-wrapper{width:64px;height:64px;margin-bottom:4px}.form-title{font-size:22px;margin-bottom:6px}.form-subtitle{font-size:13px}.form-group{margin-bottom:16px!important}input.input-with-icon{height:50px;font-size:16px;border-radius:10px}.form-label{font-size:13px!important}.btn.btn-primary.btn-lg{height:50px;font-size:16px;border-radius:12px;margin-bottom:16px!important}.form-footer{margin-top:16px}.form-footer p{font-size:13px}.login-content-wrapper{max-width:100%;animation:none}.tagline-title{font-size:22px;margin-bottom:12px}.tagline-description{font-size:15px}.tagline-section{margin-bottom:24px}.features-list{gap:12px;margin-bottom:0}.feature-card{padding:14px;text-align:left}.trust-section,.bg-circle-1,.bg-circle-2{display:none}}@media (max-width: 480px){.login-right-section{padding:16px 12px 12px}.login-left-section{padding:20px 12px 28px}.login-form-container{padding:24px 16px;border-radius:16px}.form-icon-wrapper{width:56px;height:56px}.form-title{font-size:20px}.form-subtitle{font-size:12px}.tagline-title{font-size:20px}.tagline-description{font-size:14px}.feature-card{padding:12px}.feature-title{font-size:14px}.feature-description{font-size:13px}.brand-header{flex-direction:column;text-align:center}.brand-logo-box img{width:110px}.brand-title{font-size:26px}}.back-link{display:inline-flex;align-items:center;gap:8px;color:#64748b;font-size:14px;font-weight:500;text-decoration:none;margin-bottom:20px;transition:all .2s ease}.back-link:hover{color:#2563eb;transform:translate(-3px)}input[type=text].input-with-icon{letter-spacing:.5em;text-align:center;font-size:18px;font-weight:600;font-family:Courier New,monospace}input[type=text].input-with-icon::placeholder{letter-spacing:normal;text-align:left;font-size:15px;font-weight:400;font-family:inherit}.fs-13.c-muted{display:flex;align-items:center;gap:5px}.btn-outline{background:white;border:2px solid #e2e8f0;color:#475569;font-weight:500;transition:all .2s ease}.btn-outline:hover:not(:disabled){border-color:#2563eb;color:#2563eb;background:#eff6ff}.btn-outline:disabled{opacity:.5;cursor:not-allowed}@keyframes successPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 10px #22c55e00}}.btn-primary.success{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);animation:successPulse 1.5s ease-out}.password-strength{margin-top:10px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;transition:all .3s ease}.password-strength-bar{height:100%;transition:all .3s ease}.password-strength-bar.weak{width:33%;background:#ef4444}.password-strength-bar.medium{width:66%;background:#f59e0b}.password-strength-bar.strong{width:100%;background:#22c55e}@media (max-width: 768px){.back-link{font-size:13px;margin-bottom:15px}input[type=text].input-with-icon{font-size:16px;letter-spacing:.3em}}@media (max-width: 480px){input[type=text].input-with-icon{font-size:14px;letter-spacing:.2em}}.calendar-container{padding:1.5rem;background-color:#f8fafc;min-height:100vh}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.small-loading-spinner{width:14px;height:14px;border:2px solid #ccc;border-top-color:#3b82f6;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.header-actions{display:flex;align-items:center;gap:1rem}.calendar-title{display:flex;align-items:center;gap:.75rem;font-weight:700;color:#1f2937;margin:0}.calendar-icon{color:#3b82f6}.hour-slot.non-working{background-color:#f8fafc;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.04) 0,rgba(0,0,0,.04) .5px,transparent .5px,transparent 8px)}.waiting-room-btn{position:relative;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-weight:600}.waiting-room-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.modal-actions .btn-secondary{background-color:#fff;color:#6b7280;border-color:#d1d5db}.modal-actions .btn-secondary:hover{background-color:#f9fafb;color:#1f2937}.btn-success{background-color:#10b981;color:#fff;border-color:#10b981}.btn-success:hover{background-color:#059669;border-color:#059669}.btn-outline-primary{background-color:transparent;border-color:#3b82f6}.btn-outline-primary:hover{background-color:#3b82f6}.btn-outline{background-color:transparent;color:#6b7280;border-color:#d1d5db}.btn-outline:hover{background-color:#f9fafb;color:#1f2937}.btn-danger{background-color:#ef4444;color:#fff;border-color:#ef4444}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:1rem;background:white;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;border-radius:8px;gap:1rem;flex-wrap:wrap}.nav-controls{display:flex;align-items:center;gap:1rem;flex-shrink:0}.nav-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid #d1d5db;background:white;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:1.2rem;color:#6b7280}.nav-btn:hover{background-color:#3b82f6;color:#fff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.month-year{font-weight:600;color:#1f2937;margin:0;font-size:1.125rem;white-space:nowrap;min-width:150px;text-align:center}.nav-filters{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:flex-end;flex-wrap:wrap}.view-selector{display:flex;align-items:center;background:#f3f4f6;border-radius:8px;padding:4px;gap:4px;flex-shrink:0}.view-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;color:#6b7280;white-space:nowrap}.view-btn svg{flex-shrink:0}.view-btn.active{background:white;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.view-btn:hover:not(.active){background:rgba(255,255,255,.5);color:#3b82f6}.filter-group{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.filter-select{min-width:200px}.filter-select .select__control{min-height:40px;border-radius:8px;border-color:#d1d5db;transition:all .2s ease}.filter-select .select__control:hover{border-color:#3b82f6}.filter-select .select__control--is-focused{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 1200px){.calendar-navigation{gap:.75rem}.nav-filters{gap:.5rem}.view-btn{padding:.4rem .75rem;font-size:.8rem}.filter-select{min-width:180px}}@media (max-width: 1024px){.calendar-navigation{flex-direction:column;align-items:stretch;padding:.75rem}.nav-controls{justify-content:center;width:100%;order:1}.month-year{min-width:120px}.nav-filters{width:100%;justify-content:center;order:2;margin-top:.75rem}.view-selector{order:1}.filter-group{order:2;width:100%;flex-wrap:wrap;justify-content:center}.filter-select{flex:1;min-width:160px}}@media (max-width: 768px){.calendar-navigation{padding:.75rem;gap:1rem}.nav-btn{width:2.25rem;height:2.25rem;font-size:1.1rem}.month-year{font-size:1rem;min-width:110px}.view-selector{width:100%;flex-direction:column;background:transparent;padding:0;gap:.5rem}.view-btn{width:100%;justify-content:center;padding:.6rem 1rem;background:white;border:1px solid #e5e7eb}.view-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.filter-group{flex-direction:column;gap:.5rem}.filter-select{width:100%;min-width:100%}}@media (max-width: 640px){.calendar-navigation{padding:.5rem;gap:.75rem}.nav-controls{gap:.75rem}.nav-btn{width:2rem;height:2rem;font-size:1rem}.month-year{font-size:.9rem;min-width:100px}.view-btn{padding:.5rem .75rem;font-size:.8rem;gap:.4rem}.view-btn svg{width:14px;height:14px}}@media (max-width: 480px){.calendar-navigation{padding:.5rem}.nav-controls{gap:.5rem}.nav-btn{width:1.75rem;height:1.75rem;font-size:.9rem}.month-year{font-size:.85rem;min-width:90px}.view-btn span{display:none}.view-btn{padding:.5rem;min-width:40px;position:relative}.view-btn svg{width:16px;height:16px;margin:0}.view-btn:after{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 8px;background:#1f2937;color:#fff;font-size:.7rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}.view-btn:hover:after{opacity:1}.view-btn:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}.view-btn:hover:before{opacity:1}.view-selector{width:100%;justify-content:center}}@media (max-width: 375px){.nav-btn{width:1.5rem;height:1.5rem;font-size:.8rem}.month-year{font-size:.75rem;min-width:80px}.view-btn{padding:.4rem;min-width:36px}.view-btn svg{width:14px;height:14px}}.week-view{display:grid;grid-template-columns:80px repeat(7,1fr);background:white;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;border:1px solid #e5e7eb}.time-column{background:#f3f4f6;border-right:1px solid #d1d5db}.time-header{height:60px;border-bottom:1px solid #d1d5db;background:#f8fafc}.time-slot{height:45px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem;font-size:.75rem;color:#6b7280;font-weight:500}.day-column{border-right:1px solid #e5e7eb;position:relative}.day-column:last-child{border-right:none}.day-header{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #d1d5db;background:#f8fafc;position:relative;cursor:pointer;transition:background-color .2s ease}.day-header:hover{background-color:#dbeafe}.day-name{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.day-number{font-size:1.25rem;font-weight:700;color:#1f2937;margin-top:2px}.day-header.today .day-number{color:#fff;background-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.day-header.selected{background:#dbeafe}.day-header.selected .day-number{color:#3b82f6}.day-content{position:relative;height:720px}.hour-slot{height:45px;border-bottom:1px solid #e5e7eb;position:relative;cursor:pointer;transition:background-color .15s ease}.hour-slot:hover{background-color:#f9fafb}.day-view{display:grid;grid-template-columns:80px 1fr;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;border:1px solid #e5e7eb}.month-view{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;border:1px solid #e5e7eb}.month-grid-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid #d1d5db}.month-grid-dayname{padding:1rem;text-align:center;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-cell{min-height:120px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:.5rem;cursor:pointer;transition:background-color .2s ease;padding:.375rem}.month-cell:hover{background-color:#f9fafb}.month-cell.today{background-color:#dbeafe}.month-cell.selected{background-color:#bfdbfe}.month-cell.empty{background-color:#f8fafc;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.04) 0,rgba(0,0,0,.04) .5px,transparent .5px,transparent 8px)}.month-cell:nth-child(7n){border-right:none}.month-cell-header{font-weight:600;color:#1f2937;margin-bottom:.5rem;font-size:.875rem}.month-cell.today .month-cell-header{color:#3b82f6}.month-cell-body{display:flex;flex-direction:column;gap:5px}.month-appointment{display:flex;align-items:center;gap:.25rem;padding:2px 6px;border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-direction:column}.app-name{margin-top:2px;width:100%}.app-time{font-size:12px;opacity:.8;margin-top:-2px;width:100%;margin-left:33px}.month-appointment:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.month-appointment-status{font-size:.7rem}.month-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;padding-top:10px;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:5px;font-size:14px}.legend-color{width:15px;height:15px;border-radius:3px}.more-appointments{font-size:.75rem;color:#6b7280;font-weight:500;padding:2px 6px;text-align:center;cursor:pointer}.more-appointments:hover{color:#3b82f6}.appointment-block{position:absolute;border-radius:8px;padding:8px;font-size:.75rem;cursor:pointer;transition:all .2s ease;border-left:4px solid;box-shadow:0 2px 4px #0000001a;z-index:10;overflow:hidden;min-height:85px;display:flex;flex-direction:column;justify-content:space-between;overflow-x:auto;box-sizing:border-box}.appointment-block[data-column="0"]{z-index:10}.appointment-block[data-column="1"]{z-index:11}.appointment-block[data-column="2"]{z-index:12}.appointment-block[data-column="3"]{z-index:13}.appointment-block:hover{transform:translateY(-2px);box-shadow:0 8px 16px -4px #00000026;z-index:20}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.appointment-time{font-weight:700;font-size:.8rem;color:#1f2937}.appointment-info{display:flex;flex-direction:column;gap:2px}.appointment-patient{color:#1f2937;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.appointment-doctor{color:#6b7280;font-weight:500;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.appointment-block.scheduled{background-color:#dbeafe;border-left-color:#3b82f6}.appointment-block.checked-in{background-color:#d1fae5;border-left-color:#10b981}.appointment-block.in-treatment{background-color:#fef3c7;border-left-color:#f59e0b}.appointment-block.completed{background-color:#ecfdf5;border-left-color:#059669}.appointment-block.cancelled{background-color:#fee2e2;border-left-color:#ef4444}.appointment-block.missed{background-color:#fef2f2;border-left-color:#dc2626}.appointment-block.walk-in{background-color:#ede9fe;border-left-color:#8b5cf6}.month-appointment.scheduled{background-color:#dbeafe;color:#1d4ed8}.month-appointment.checked-in{background-color:#d1fae5;color:#047857}.month-appointment.in-treatment{background-color:#fef3c7;color:#d97706}.month-appointment.completed{background-color:#ecfdf5;color:#047857}.month-appointment.cancelled{background-color:#fee2e2;color:#dc2626}.month-appointment.missed{background-color:#fef2f2;color:#dc2626}.appointment-status-dropdown{position:relative;z-index:30;min-width:80px}.month-appointment.walk-in{background-color:#ede9fe;color:#7c3aed}.status-select-inline{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.8);border-radius:4px;padding:2px 4px;font-size:.65rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#1f2937;min-width:75px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.status-select-inline:hover{background:white;border-color:#3b82f6;box-shadow:0 2px 4px #0000001a}.status-select-inline:focus{outline:none;background:white;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.current-time-line{position:absolute;left:0;right:0;height:2px;background-color:#ef4444;z-index:100;box-shadow:0 0 8px #ef444480}.current-time-line:before{content:"";position:absolute;left:-6px;top:-4px;width:10px;height:10px;background-color:#ef4444;border-radius:50%}.waiting-room-manager{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1.5rem;border:1px solid #e5e7eb}.waiting-room-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}@media (max-width: 768px){.waiting-room-header{display:block}}.room-stats{display:flex;gap:1rem}.stat-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:white;border-radius:8px;box-shadow:0 1px 3px #0000001a;min-width:120px}.stat-card.waiting .stat-icon{background:#dbeafe;color:#3b82f6}.stat-card.treatment .stat-icon{background:#fef3c7;color:#f59e0b}.stat-card.scheduled .stat-icon{background:#e5e7eb;color:#6b7280}.stat-icon{padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.stat-number{font-size:1.5rem;font-weight:700;color:#1f2937}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500}.doctor-filter{min-width:200px}.doctor-select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:white;cursor:pointer}.doctor-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.waiting-room-content{padding:1.5rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.patient-section{background:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid}.section-header.waiting-header{border-bottom-color:#3b82f6;color:#3b82f6}.section-header.treatment-header{border-bottom-color:#f59e0b;color:#f59e0b}.section-header.scheduled-header{border-bottom-color:#6b7280;color:#6b7280}.section-header h4{margin:0;font-size:1rem;font-weight:600}.patient-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{display:flex;flex-direction:column;align-items:center;padding:2rem;color:#9ca3af}.empty-state p{margin-top:.5rem;font-size:.875rem}.patient-card{background:white;border-radius:8px;padding:1rem;border:1px solid #e5e7eb;transition:all .2s ease}.patient-card:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.patient-card.high-priority{border-left:4px solid #ef4444;background:linear-gradient(to right,#fef2f2,white)}.patient-card.medium-priority{border-left:4px solid #f59e0b;background:linear-gradient(to right,#fef3c7,white)}.patient-card.normal-priority{border-left:4px solid #10b981}.patient-card.treatment-card{border-left:4px solid #f59e0b;background:linear-gradient(to right,#fef3c7,white)}.patient-card.scheduled-card{border-left:4px solid #6b7280}.patient-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.patient-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:#dbeafe;color:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.patient-avatar.treatment{background:#fef3c7;color:#f59e0b}.patient-avatar.scheduled{background:#e5e7eb;color:#6b7280}.patient-details{flex:1}.patient-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.patient-time{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.waiting-time{font-size:.7rem;font-weight:600;color:#ef4444}.treatment-duration{font-size:.7rem;font-weight:600;color:#f59e0b}.patient-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.doctor-info{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280;font-weight:500}.appointment-sidebar{position:fixed;top:0;right:-450px;width:450px;height:100vh;background:white;box-shadow:-4px 0 15px #0000001a;transition:right .3s ease;z-index:1000;overflow-y:auto}.appointment-sidebar.open{right:0}.sidebar-header{padding:1.5rem;border-bottom:1px solid #d1d5db;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff}.sidebar-title{font-size:1.25rem;font-weight:700;margin:0}.close-sidebar{width:2.5rem;height:2.5rem;border:none;background:rgba(255,255,255,.2);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background-color .2s ease}.close-sidebar:hover{background:rgba(255,255,255,.3)}.sidebar-content{padding:1.5rem}.appointment-detail-card{background:white;border-radius:8px;border:1px solid #e5e7eb;padding:1rem;margin-bottom:1rem}.appointment-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-align:center;margin-bottom:1rem}.appointment-status-badge.scheduled{background-color:#dbeafe;color:#1d4ed8}.appointment-status-badge.checkedin{background-color:#d1fae5;color:#047857}.appointment-status-badge.intreatment{background-color:#fef3c7;color:#d97706}.appointment-status-badge.completed{background-color:#ecfdf5;color:#047857}.appointment-status-badge.cancelled{background-color:#fee2e2;color:#dc2626}.appointment-status-badge.missed{background-color:#fef2f2;color:#dc2626}.detail-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-row svg{color:#3b82f6;margin-top:.125rem;flex-shrink:0}.detail-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.appointment-detail-value{font-size:.875rem;font-weight:600;color:#1f2937;line-height:1.4;text-align:start}.detail-sub{font-size:.75rem;color:#6b7280;margin-top:.25rem}.status-change-section{margin:1.5rem 0;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.status-change-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem;text-align:center}.status-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.status-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:2px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:white}.status-btn.scheduled{color:#1d4ed8;border-color:#3b82f6}.status-btn.scheduled:hover,.status-btn.scheduled.active{background-color:#dbeafe;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f633}.status-btn.checkedin{color:#047857;border-color:#10b981}.status-btn.checkedin:hover,.status-btn.checkedin.active{background-color:#d1fae5;transform:translateY(-1px);box-shadow:0 4px 6px -1px #10b98133}.status-btn.intreatment{color:#d97706;border-color:#f59e0b}.status-btn.intreatment:hover,.status-btn.intreatment.active{background-color:#fef3c7;transform:translateY(-1px);box-shadow:0 4px 6px -1px #f59e0b33}.status-btn.completed{color:#047857;border-color:#059669}.status-btn.completed:hover,.status-btn.completed.active{background-color:#ecfdf5;transform:translateY(-1px);box-shadow:0 4px 6px -1px #05966933}.status-btn.cancelled{color:#dc2626;border-color:#ef4444}.status-btn.cancelled:hover,.status-btn.cancelled.active{background-color:#fee2e2;transform:translateY(-1px);box-shadow:0 4px 6px -1px #ef444433}.status-btn.missed{color:#dc2626;border-color:#dc2626}.status-btn.missed:hover,.status-btn.missed.active{background-color:#fef2f2;transform:translateY(-1px);box-shadow:0 4px 6px -1px #dc262633}.appointment-actions{display:flex;gap:.75rem;margin-top:1rem}.status-btn.walkin{color:#7c3aed;border-color:#8b5cf6}.status-btn.walkin:hover,.status-btn.walkin.active{background-color:#ede9fe;transform:translateY(-1px);box-shadow:0 4px 6px -1px #8b5cf633}.modal-content{background:white;border-radius:8px;box-shadow:0 25px 50px -12px #00000040;width:90%;max-width:780px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #d1d5db}.modal-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.tabs{display:flex;border-bottom:1px solid #d1d5db}.tab-btn{flex:1;padding:1rem;border:none;background:transparent;cursor:pointer;font-weight:500;color:#6b7280;transition:all .2s ease}.tab-btn.active{color:#3b82f6;border-bottom:2px solid #3b82f6}.modal-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;align-items:center}.form-label{display:block;font-size:.875rem;font-weight:500;color:#1f2937}.form-input,.select,.textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:100%;transition:border-color .2s ease,box-shadow .2s ease;line-height:inherit}select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background-color:#fff;cursor:pointer;transition:border-color var(--transition-fast)}.form-input:focus,.select:focus,.textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d1d5db}.search-results{position:absolute;top:100%;left:0;width:100%;background-color:var(--bg-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;z-index:50;animation:fadeIn .2s ease-in-out}.search-results li{padding:var(--spacing-sm);cursor:pointer;transition:background-color var(--transition-fast)}.search-results li:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.search-results li.selected{background-color:var(--color-primary);color:#fff}@media (max-width: 1024px){.waiting-room-content{grid-template-columns:1fr}.appointment-sidebar{width:100%;right:-100%}}@media (max-width: 768px){.calendar-container{padding:.5rem}.calendar-header{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{justify-content:center}.calendar-navigation{flex-direction:column;gap:1rem}.nav-controls{justify-content:space-between}.week-view{grid-template-columns:60px repeat(7,1fr)}.day-view{grid-template-columns:60px 1fr}.room-stats{flex-direction:column;width:100%;margin-bottom:8px}.stat-card{min-width:auto}.form-row,.status-buttons{grid-template-columns:1fr}.month-cell{min-height:80px;font-size:.75rem}.appointment-block{left:1px;right:1px;padding:6px;min-height:75px}.appointment-header{flex-direction:column;gap:2px}.status-select-inline{font-size:.6rem;padding:1px 2px;min-width:65px}.patient-actions{flex-direction:column;align-items:stretch;gap:.5rem}.doctor-info{justify-content:center}}@media (max-width: 480px){.week-view{grid-template-columns:40px repeat(7,1fr)}.day-view{grid-template-columns:40px 1fr}.time-slot,.day-name{font-size:.65rem}.day-number{font-size:1rem}.appointment-block{min-height:65px}.appointment-time{font-size:.7rem}.appointment-patient,.appointment-doctor{font-size:.65rem}.status-select-inline{font-size:.55rem;min-width:55px}}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:inherit;position:absolute;z-index:-1}.core-styles-module_content__BRKdB{position:relative;z-index:1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;width:max-content}.styles-module_content__ydYdI{background:inherit;border-radius:inherit;padding:8px 16px}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.pagination{display:flex}.page-item{list-style:none;margin:0 5px;cursor:not-allowed}.page-link{display:block;padding:8px 13px;border:1px solid #dee2e6;padding:.25rem .75rem;color:#3b71ca;text-decoration:none;background-color:#fff;cursor:pointer}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6}.page-item.active .page-link{background-color:var(--color-primary);border-color:#007bff;color:#fff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#f8f9fa;border-color:#dee2e6;position:relative;overflow:hidden}.page-item.disabled .page-link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,#dee2e6,#dee2e6 10px,#f8f9fa 10px,#f8f9fa 20px);opacity:.5;z-index:1}.items-per-page{display:flex;align-items:center;gap:10px}.items-per-page label{font-size:14px;font-weight:500;color:#495057}.items-per-page select{padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;background-color:#fff;color:#495057;font-size:14px;cursor:pointer;min-width:70px}.items-per-page select:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.items-per-page select:hover{border-color:#adb5bd}.pagination-container{color:#6e6e6e;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between}.pagination-info{font-size:.875rem;line-height:1.25rem;letter-spacing:.005em;font-weight:400;display:flex;align-items:center;white-space:nowrap;min-width:0;gap:.5rem}.pagination-info label{width:100%;display:inline-block}.pagination-info select{padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}@media (max-width: 576px){.pagination-container{flex-direction:column;gap:12px;align-items:center}.pagination{flex-wrap:wrap;justify-content:center}.page-item{margin:3px}.page-link{padding:6px 10px;font-size:13px}.pagination-info{font-size:12px;justify-content:center;text-align:center}.items-per-page{justify-content:center;flex-wrap:wrap;gap:6px}.items-per-page select{padding:6px 10px;font-size:13px}}.table-container{background:white;box-shadow:0 0 10px #0000001a;overflow-x:auto}.overview-table{width:100%;border-collapse:collapse;box-shadow:0 0 10px #0000001a}.overview-table th,.overview-table td{padding:10px;font-size:12px;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}td.font-semibold.text-blue-600{color:#1976d2;font-weight:600;letter-spacing:.5px}.overview-table th{font-weight:600;color:var(--color-text);font-size:12px;letter-spacing:.5px;position:sticky;top:0;z-index:10;background-color:#f8f8f8}.overview-table tbody tr{transition:background-color var(--transition-fast)}.overview-table tbody tr:hover{background-color:#f8fafc}.overview-table tbody tr:last-child td{border-bottom:none}.patient-name{display:inline-block;vertical-align:middle}.phone-number{color:var(--color-text-muted);font-family:monospace}.treatment-badge{background:#f8fafc;color:var(--color-text-muted);padding:4px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-border)}.table-actions{display:flex;gap:var(--spacing-sm);align-items:center}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:white;cursor:pointer;transition:all var(--transition-fast)}.action-btn.edit{background:#fff3e0;border-color:#ffcc02}.action-btn.edit:hover{background:#f57c00;border-color:#f57c00}.action-btn.edit:hover svg{color:#fff}.action-btn.permissions{background:#f3e8ff;border-color:#d8b4fe}.action-btn.permissions:hover{background:#7c3aed;border-color:#7c3aed}.action-btn.permissions:hover svg{color:#fff}.action-btn.delete:hover{background:#d32f2f;border-color:#d32f2f}.status-badge{padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;display:inline-block}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.inactive{background-color:#fecaca;color:#991b1b}.role-badge{background:var(--color-primary);color:#fff;padding:4px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:500}.view-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.table-container{overflow-x:auto;margin-top:var(--spacing-lg)}.overview-table{min-width:800px}.overview-table th,.overview-table td{padding:var(--spacing-sm);font-size:12px}.table-actions{flex-direction:column;gap:var(--spacing-xs)}.action-btn{width:28px;height:28px}}.table-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.table-empty svg{width:64px;height:64px;margin-bottom:var(--spacing-md)}.table-empty h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm)}.table-empty p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.patient-header-container{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.patient-header-main{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:30px;color:#fff;box-shadow:0 10px 30px #667eea4d;display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.patient-info-section{display:flex;gap:25px;flex:1}.patient-avatar-wrapper{position:relative}.patient-avatar-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:4px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;color:#fff;box-shadow:0 8px 24px #0003;position:relative}.vip-badge-wrapper{position:absolute;top:-5px;right:-5px;background:white;border-radius:50%;padding:6px;box-shadow:0 4px 12px #00000026}.vip-icon{display:block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.patient-details-wrapper{flex:1;display:flex;flex-direction:column;gap:15px}.patient-name-section{display:flex;flex-direction:column;gap:10px}.patient-name-title{font-size:32px;font-weight:700;margin:0;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.patient-badges{display:flex;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.badge-file-number{background:rgba(255,255,255,.25)}.badge-status.active{background:rgba(34,197,94,.9);border-color:#22c55e}.badge-status.inactive{background:rgba(239,68,68,.9);border-color:#ef4444}.patient-basic-info{display:flex;justify-content:space-between}.patient-basic-details{display:flex;flex-wrap:wrap;gap:20px;margin-top:5px}.detail-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#fffffff2}.detail-icon{flex-shrink:0;opacity:.8}.detail-text{font-weight:500}.detail-link{color:#fff;text-decoration:none;font-weight:500;transition:opacity .2s}.detail-link:hover{opacity:.8;text-decoration:underline}.additional-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.additional-info span{display:flex;align-items:center;gap:6px;color:#64748b;font-size:14px}.patient-additional-info{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}.info-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(255,255,255,.15);border-radius:8px;font-size:13px;font-weight:500;border:1px solid rgba(255,255,255,.2)}.details-title{margin-bottom:20px;padding-left:24px}.toggle-details-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;margin-bottom:14px}.toggle-details-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.patient-actions{display:flex;flex-direction:column;gap:12px;min-width:180px}.patient-actions button{white-space:nowrap;justify-content:center;box-shadow:0 4px 12px #00000026}.medical-alerts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.alert{display:flex;gap:15px;padding:16px 20px;border-radius:12px;border-left:4px solid;box-shadow:0 2px 8px #00000014;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-icon{flex-shrink:0;margin-top:2px}.alert-content{flex:1}.alert-title{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.alert-text{font-size:13px;margin:0;line-height:1.5}.alert-danger .alert-icon{color:#ef4444}.alert-warning .alert-icon{color:#f59e0b}.alert-info .alert-icon{color:#3b82f6}.alert-secondary{background:#f9fafb;border-left-color:#6b7280;color:#374151}.alert-secondary .alert-icon{color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:white;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014;transition:all .3s;border:2px solid transparent}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-icon-wrapper{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-sessions .stat-icon-wrapper{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.stat-sessions:hover{border-color:#10b981}.stat-appointments .stat-icon-wrapper{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.stat-appointments:hover{border-color:#3b82f6}.stat-payments .stat-icon-wrapper{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.stat-payments:hover{border-color:#8b5cf6}.stat-balance .stat-icon-wrapper{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.stat-balance:hover{border-color:#f59e0b}.stat-balance-number{color:#f59e0b}.extended-details-section{background:white;border-radius:16px;padding:30px;box-shadow:0 2px 8px #00000014;animation:expandIn .3s ease-out}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.section-title{font-size:20px;font-weight:700;color:#1f2937;margin-bottom:25px;display:flex;align-items:center;gap:10px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:25px}.detail-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s}.detail-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.detail-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.detail-card-icon{color:#667eea;width:20px;height:20px}.detail-card-header h4{font-size:15px;font-weight:700;color:#374151;margin:0}.detail-card-content{display:flex;flex-direction:column;gap:12px}.detail-label{font-size:13px;font-weight:600;color:#6b7280}.detail-value{font-size:14px;font-weight:500;color:#1f2937;text-align:right}.habits-list{display:flex;flex-wrap:wrap;gap:10px}.habit-badge{display:inline-flex;align-items:center;padding:8px 14px;background:white;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;font-weight:500;color:#374151}.address-text{font-size:14px;color:#1f2937;line-height:1.6;margin:0}.medical-history-detailed{margin-top:25px;padding-top:25px;border-top:2px solid #e5e7eb}.subsection-title{font-size:16px;font-weight:700;color:#374151;margin-bottom:16px;display:flex;align-items:center;gap:8px}.medical-conditions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.condition-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:13px;font-weight:500;color:#1e40af;transition:all .2s}.condition-badge:hover{background:#dbeafe;border-color:#93c5fd}@media (max-width: 1024px){.patient-header-main{flex-direction:column}.patient-actions{flex-direction:row;width:100%}.patient-actions button{flex:1}}@media (max-width: 768px){.patient-info-section{flex-direction:column;align-items:center;text-align:center}.patient-avatar-large{width:100px;height:100px;font-size:36px}.patient-name-title{font-size:24px}.patient-basic-details{flex-direction:column;gap:12px}.stats-grid,.details-grid,.medical-alerts-section{grid-template-columns:1fr}}.patient-details-layout{display:flex;min-height:100vh;background:#f8fafc}.patient-sidebar{width:280px;background:white;border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #0000000d;transition:all .3s ease;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.patient-sidebar.collapsed{width:80px}.sidebar-header{padding:20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.sidebar-toggle{background:#3b82f6;color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle:hover{background:#2563eb;transform:scale(1.05)}.sidebar-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.sidebar-navigation{padding:20px 10px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px;color:#64748b;font-size:14px;font-weight:500}.nav-item:hover{background:rgba(59,130,246,.1);color:#3b82f6;transform:translate(4px)}.nav-item.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.nav-icon{width:20px;height:20px;flex-shrink:0}.quick-actions-section{padding:20px 10px;border-top:1px solid #e2e8f0}.quick-actions-section h4{font-size:14px;font-weight:600;color:#374151;margin-bottom:16px;text-align:center}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:white;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:11px;color:#64748b}.quick-action-btn:hover{background:var(--action-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.recent-activities{padding:20px 10px;border-top:1px solid #e2e8f0}.recent-activities h4{font-size:14px;font-weight:600;color:#374151;margin-bottom:16px;text-align:center}.activities-list{display:flex;flex-direction:column;gap:8px}.activity-item{padding:12px;background:#f8fafc;border-radius:8px;border-left:3px solid #3b82f6}.activity-content h5{font-size:12px;font-weight:600;color:#374151;margin:0 0 4px}.activity-content p{font-size:11px;color:#64748b;margin:0}.activity-status{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500;margin-top:4px;display:inline-block}.activity-status{background:#dcfce7;color:#166534}.activity-status{background:#dbeafe;color:#1d4ed8}.patient-main-content{flex:1;padding:24px;overflow-y:auto}.patient-header{background:white;border-radius:16px;box-shadow:0 4px 16px #0000000d;margin-bottom:24px;overflow:hidden}.header-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;text-decoration:none;transition:all .2s ease}.back-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.back-icon{width:16px;height:16px}.patient-info-header{padding:24px}.patient-avatar-section{display:flex;align-items:center;gap:20px;margin-bottom:24px}.patient-avatar{position:relative;width:80px;height:80px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 8px 24px #3b82f64d}.vip-badge{position:absolute;top:-4px;right:-4px;width:24px;height:24px;background:#f59e0b;border-radius:50%;color:#fff;padding:4px}.patient-basic-info{flex:1}.patient-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.file-number{background:#dbeafe;color:#1d4ed8;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fecaca;color:#991b1b}.age-gender{color:#64748b;font-size:14px}.contact-info{display:flex;gap:20px;flex-wrap:wrap}.contact-info span{display:flex;align-items:center;gap:6px;color:#64748b;font-size:14px}.contact-icon{width:16px;height:16px}.additional-info-icon{width:18px;height:18px;color:#3b82f6}.medical-alerts{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border-left:4px solid}.alert-danger{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.alert-warning{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.alert-success{background:#f0fdf4;border-left-color:#22c55e;color:#166534}.alert-info{background:#eff6ff;border-left-color:#3b82f6;color:#1e40af}.alert-secondary{background:#f3f4f6;border-left-color:#6b7280;color:#374151}.alert-icon{width:20px;height:20px;flex-shrink:0}.alert div strong{font-weight:600;margin-left:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:white;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--stat-color)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.stat-card.sessions{--stat-color: #3b82f6}.stat-card.appointments{--stat-color: #10b981}.stat-card.payments{--stat-color: #f59e0b}.stat-card.balance{--stat-color: #ef4444}.stat-icon{width:32px;height:32px;padding:8px;border-radius:8px;background:rgba(59,130,246,.1);color:var(--stat-color)}.stat-content{display:flex;flex-direction:column}.stat-number{font-size:24px;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:14px;color:#64748b;margin-top:4px}.tab-content-area{background:white;border-radius:16px;box-shadow:0 4px 16px #0000000d;min-height:600px;padding:24px}.overview-content{width:100%}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.info-card{background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden;transition:all .2s ease}.info-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.info-card.full-width{grid-column:1 / -1}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0}.card-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1f2937;margin:0}.header-icon{width:20px;height:20px;color:#3b82f6}.card-content{padding:20px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:1 / -1}.info-item label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:14px;font-weight:600;color:#1f2937}.emergency-contact{display:flex;flex-direction:column;gap:16px}.contact-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.contact-icon{width:18px;height:18px;color:#3b82f6}.contact-item div{display:flex;flex-direction:column;gap:2px}.contact-item label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase}.contact-item span{font-size:14px;font-weight:600;color:#1f2937}.treatment-summary{display:flex;flex-direction:column;gap:12px}.treatment-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.treatment-info h4{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 4px}.treatment-info p{font-size:12px;color:#64748b;margin:0}.treatment-status{width:24px;height:24px}.treatment-status.completed{color:#22c55e}.treatment-status.scheduled{color:#3b82f6}.notes-text{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-left:4px solid #3b82f6;padding:16px;border-radius:8px;font-style:italic;color:#1f2937;line-height:1.6}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:#64748b}.error-icon{width:64px;height:64px;margin-bottom:16px;opacity:.5}.error-state h3{font-size:20px;font-weight:600;margin-bottom:8px;color:#374151}.error-state p{margin-bottom:24px}@media (max-width: 1200px){.patient-sidebar{width:240px}.overview-grid{grid-template-columns:1fr}}@media (max-width: 768px){.patient-details-layout{flex-direction:column}.patient-sidebar{width:100%;height:auto;position:relative;order:2}.patient-main-content{order:1;padding:16px}.header-top{flex-direction:column;gap:16px;align-items:stretch}.patient-avatar-section{flex-direction:column;text-align:center;gap:16px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.patient-meta{flex-direction:column;align-items:flex-start;gap:8px}.contact-info{flex-direction:column;gap:8px}}.toggle-arrow{margin-left:auto;padding:8px 12px;border:1px solid #e5e7eb;background:white;border-radius:8px;font-size:16px;color:#6b7280;transition:transform .3s ease;box-shadow:var(--shadow-sm)}.toggle-arrow.expanded{transform:rotate(180deg)}.toggle-arrow.collapsed{transform:rotate(0)}.btn-view,.btn-edit,.btn-delete{padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-view{border:1px solid #3b82f6;background:white;color:#3b82f6}.btn-view:hover{background:#3b82f6;color:#fff}.btn-edit{border:1px solid #10b981;background:white;color:#10b981}.btn-delete{border:1px solid #dc2626;background:white;color:#dc2626}.btn-delete:hover{background:#dc2626;color:#fff}.invoices-tab{padding:0}.invoices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.header-left{display:flex;flex-direction:column;gap:4px}.tab-title{display:flex;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;color:#111827}.tab-subtitle{font-size:14px;color:#6b7280;margin:0 0 0 36px}.btn-create-invoice{display:flex;align-items:center;gap:8px;padding:8px 15px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-invoice:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-print-all{display:flex;align-items:center;gap:8px;padding:8px 15px;background:white;color:#3b82f6;border:1px solid #3b82f6;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-print-all:hover{background:#eff6ff}.btn-print-all:disabled{opacity:.5;cursor:not-allowed}.financial-summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:24px}.summary-item{display:flex;flex-direction:column;gap:8px}.summary-label{font-size:13px;color:#ffffffe6;font-weight:500}.summary-value{font-size:24px;font-weight:700;color:#fff}.filters-row{display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;margin-top:10px}.search-box{flex:1;max-width:500px;position:relative;display:flex;align-items:center;gap:10px;padding:10px 16px;background:white;border:1px solid #d1d5db;border-radius:8px;transition:all .2s}.search-box:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.search-box svg{color:#9ca3af;flex-shrink:0}.search-box input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.btn-clear-search-input{background:none;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.btn-clear-search-input:hover{color:#6b7280}.btn-toggle-filters{display:flex;align-items:center;gap:8px;padding:10px 16px;background:white;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;position:relative}.btn-toggle-filters:hover{background:#f9fafb;border-color:#9ca3af}.btn-toggle-filters.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#dc2626;color:#fff;border-radius:10px;font-size:11px;font-weight:600}.advanced-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px;margin-bottom:15px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:13px;font-weight:500;color:#374151}.filter-item select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:white;cursor:pointer}.btn-clear-filters{display:flex;align-items:center;gap:6px;padding:8px 12px;background:white;border:1px solid #dc2626;color:#dc2626;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;align-self:flex-end}.btn-clear-filters:hover{background:#fef2f2}.invoices-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:white}.invoices-table{width:100%;border-collapse:collapse}.invoices-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.invoices-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#374151;white-space:nowrap}.invoices-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.invoices-table tbody tr:hover{background:#f9fafb}.invoices-table td{padding:16px;font-size:14px;color:#1f2937}.action-buttons{display:flex;gap:8px;align-items:center}.btn-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e5e7eb;background:white;border-radius:6px;cursor:pointer;transition:all .2s}.btn-action:hover{background:#f9fafb;transform:translateY(-1px)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action.btn-edit{color:#3b82f6}.btn-action.btn-edit:hover{background:#eff6ff;border-color:#3b82f6}.btn-action.btn-print{color:#10b981}.btn-action.btn-print:hover{background:#d1fae5;border-color:#10b981}.btn-action.btn-recalculate{color:#3b82f6}.btn-action.btn-recalculate:hover{background:#dbeafe;border-color:#3b82f6}.btn-action.btn-cancel{color:#f59e0b}.btn-action.btn-cancel:hover{background:#fef3c7;border-color:#f59e0b}.btn-action.btn-delete{color:#dc2626}.btn-action.btn-delete:hover{background:#fee2e2;border-color:#dc2626}.empty-icon{width:80px;height:80px;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:#9ca3af}.empty-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.empty-subtitle{margin:0 0 24px;font-size:14px;color:#6b7280;max-width:400px}.btn-create-first{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-create-first:hover{background:#2563eb}.invoices-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.financial-summary-card,.advanced-filters{grid-template-columns:1fr}}@media (max-width: 768px){.invoices-header{flex-direction:column;align-items:flex-start;gap:16px}.filters-row{flex-direction:column}.invoices-table{font-size:13px}.invoices-table th,.invoices-table td{padding:12px 8px}}.invoice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.invoice-modal-container{background:white;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:invoice-modal-slide-up .3s ease-out}@keyframes invoice-modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.invoice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#f9fafb,white)}.invoice-modal-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);display:flex;align-items:center;justify-content:center;color:#fff}.invoice-modal-title{margin:0;font-size:18px;font-weight:600;color:#111827}.invoice-modal-subtitle{margin:4px 0 0;font-size:13px;color:#6b7280}.invoice-btn-close{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.invoice-btn-close:hover{background:#f3f4f6;color:#111827}.invoice-modal-body{padding:24px;max-height:calc(90vh - 180px);overflow-y:auto;flex:1;background:#fafbfc}.invoice-modal-body::-webkit-scrollbar{width:8px}.invoice-modal-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.invoice-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.invoice-modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.invoice-form-group{margin-bottom:20px}.invoice-form-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.invoice-required{color:#dc2626;font-weight:600}.invoice-form-input,.invoice-form-select,.invoice-form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:white;transition:all .2s;font-family:inherit}.invoice-form-input:focus,.invoice-form-select:focus,.invoice-form-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.invoice-form-input:disabled,.invoice-form-select:disabled{background-color:#f3f4f6;cursor:not-allowed;color:#9ca3af}.invoice-form-textarea{resize:vertical;min-height:80px}.invoice-form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.invoice-d-flex{display:flex}.invoice-align-center{align-items:center}.invoice-gap-10{gap:10px}.invoice-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.invoice-btn{padding:8px 15px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none;font-family:inherit}.invoice-btn-primary{background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);color:#fff}.invoice-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4338ca 0%,#4f46e5 100%);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.invoice-btn-primary:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.invoice-btn-secondary{background:white;color:#374151;border:1px solid #d1d5db}.invoice-btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.invoice-btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.invoice-modal-container{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.invoice-modal-header{padding:16px 20px}.invoice-modal-body{padding:20px}.invoice-modal-footer{padding:12px 20px;flex-direction:column-reverse}.invoice-btn{width:100%;justify-content:center}}@media (max-width: 480px){.invoice-modal-title{font-size:16px}.invoice-modal-subtitle{font-size:12px}.invoice-form-label{font-size:13px}.invoice-form-input,.invoice-form-select,.invoice-form-textarea{font-size:13px;padding:8px 10px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.modal-container{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:#111827;margin:0}.modal-title svg{color:#3b82f6}.modal-body{padding:24px}.warning-message{display:flex;gap:12px;padding:16px;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:8px;margin-bottom:16px}.warning-icon{flex-shrink:0;color:#f59e0b;margin-top:2px}.warning-message p{margin:0;color:#92400e;font-size:14px;line-height:1.5}.warning-message p strong{font-weight:600;color:#78350f}.invoice-info-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.info-label{font-size:14px;color:#6b7280;font-weight:500}.info-value{font-size:14px;color:#111827;font-weight:600}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;justify-content:flex-end}.btn-cancel,.btn-confirm{border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none;outline:none}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover:not(:disabled){background-color:#e5e7eb}.btn-confirm{background-color:#3b82f6;color:#fff}.btn-confirm:hover:not(:disabled){background-color:#2563eb}.btn-cancel:disabled,.btn-confirm:disabled{cursor:not-allowed;opacity:.6}.spinning{animation:spin 1s linear infinite}.mt-8{margin-top:8px}.mt-16{margin-top:16px}@media (max-width: 640px){.modal-container{width:95%;margin:16px}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-title{font-size:18px}.modal-footer{flex-direction:column-reverse}.btn-cancel,.btn-confirm{width:100%;justify-content:center}.info-row{flex-direction:column;align-items:flex-start;gap:4px}}.modal-container::-webkit-scrollbar{width:8px}.modal-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 12px 12px 0}.modal-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.template-invoice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease-out}.template-invoice-modal-content{background:white;border-radius:16px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out;overflow:hidden}.template-invoice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#f9fafb,white)}.header-title-section{display:flex;align-items:center;gap:16px}.header-icon{color:#8b5cf6}.template-invoice-modal-title{margin:0;font-size:20px;font-weight:700;color:#111827;letter-spacing:-.02em}.template-invoice-modal-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.template-invoice-close-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.template-invoice-close-btn:hover{background:#f3f4f6;color:#111827}.templates-invoice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:28px;overflow-y:auto;flex:1}.templates-invoice-grid::-webkit-scrollbar{width:8px}.templates-invoice-grid::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.templates-invoice-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.templates-invoice-grid::-webkit-scrollbar-thumb:hover{background:#9ca3af}.template-invoice-card{position:relative;border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:white;overflow:hidden}.template-invoice-card:hover{border-color:#c7d2fe;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.template-invoice-card.selected{border-color:#8b5cf6;background:linear-gradient(to bottom,#faf5ff,white);box-shadow:0 10px 20px -5px #8b5cf64d}.template-invoice-card.hovered:not(.selected){border-color:#d8b4fe}.template-invoice-selected-badge{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px -1px #8b5cf666;animation:bounceIn .4s ease-out;z-index:10}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.template-invoice-preview{width:100%;aspect-ratio:3 / 4;border-radius:8px;overflow:hidden;margin-bottom:16px;box-shadow:0 4px 6px -1px #0000001a}.template-invoice-preview-gradient{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.template-invoice-info{margin-bottom:12px}.template-invoice-name{margin:0 0 6px;font-size:16px;font-weight:600;color:#111827}.template-invoice-description{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}.template-invoice-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.template-invoice-feature{display:flex;align-items:center;gap:8px;font-size:12px;color:#4b5563}.feature-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.template-invoice-colors{display:flex;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.color-dot{width:20px;height:20px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.color-dot:hover{transform:scale(1.15)}.template-invoice-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.template-invoice-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none;font-family:inherit}.template-invoice-btn-cancel{background:white;color:#374151;border:1px solid #d1d5db}.template-invoice-btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.template-invoice-btn-confirm{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff;box-shadow:0 4px 6px -1px #8b5cf64d}.template-invoice-btn-confirm:hover{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);box-shadow:0 6px 12px -2px #8b5cf666;transform:translateY(-1px)}@media (max-width: 768px){.templates-invoice-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:20px}.template-invoice-modal-header{padding:20px}.template-invoice-modal-footer{padding:16px 20px;flex-direction:column-reverse}.template-invoice-btn{width:100%;justify-content:center}.template-invoice-modal-title{font-size:18px}.template-invoice-modal-subtitle{font-size:13px}}@media (max-width: 480px){.templates-invoice-grid{grid-template-columns:1fr}.header-title-section{gap:12px}.header-icon{width:20px;height:20px}}:root{--primary-color: #0066cc;--primary-hover: #0052a3;--primary-light: #e6f2ff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-disabled: #999999;--border-color: #e0e0e0;--background: #f5f7fa;--card-background: #ffffff;--success-color: #00a86b;--radius: 10px;--radius-small: 6px;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 16px rgba(0, 0, 0, .12)}*{box-sizing:border-box}.working-hours-container{min-height:100vh;background:var(--background);padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.working-hours-title{font-size:32px;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.working-hours-subtitle{font-size:16px;color:var(--text-secondary);margin:0;font-weight:400}.stats-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-item-working{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius);padding:24px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-item-working:hover{box-shadow:var(--shadow)}.stat-icon{width:48px;height:48px;background:var(--primary-light);border-radius:var(--radius-small);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:28px;font-weight:600;color:var(--text-primary);line-height:1}.stat-label{font-size:14px;color:var(--text-secondary);font-weight:400}.schedule-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:30px}.schedule-list{padding:0}.day-row{padding:20px 24px;border-bottom:1px solid var(--border-color);transition:background .2s ease}.day-row:last-child{border-bottom:none}.day-row:hover{background:#fafbfc}.day-header-working{display:flex;align-items:center;justify-content:space-between;gap:20px}.day-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:140px}.day-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.checkbox-mark{position:relative;width:20px;height:20px;background:white;border:2px solid var(--border-color);border-radius:4px;transition:all .2s ease;flex-shrink:0}.day-checkbox input[type=checkbox]:checked~.checkbox-mark{background:var(--primary-color);border-color:var(--primary-color)}.day-checkbox input[type=checkbox]:checked~.checkbox-mark:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.day-label{font-size:15px;font-weight:500;color:var(--text-primary)}.day-header-working .time-inputs{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.time-select{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:14px;font-weight:500;color:var(--text-primary);background:white;cursor:pointer;transition:all .2s ease;min-width:110px;width:fit-content}.time-select:hover:not(:disabled){border-color:var(--primary-color)}.time-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.time-select:disabled{background:#f5f5f5;color:var(--text-disabled);cursor:not-allowed}.time-separator{font-size:14px;color:var(--text-secondary);font-weight:500;flex-shrink:0}.breaks-section{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.break-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:12px;background:#fafbfc;border-radius:var(--radius-small)}.break-label{font-size:13px;color:var(--text-secondary);font-weight:500;min-width:50px;flex-shrink:0}.time-select-small{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:13px;font-weight:500;color:var(--text-primary);background:white;cursor:pointer;transition:all .2s ease;min-width:90px;width:fit-content}.time-select-small:hover{border-color:var(--primary-color)}.time-select-small:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.remove-break-btn{padding:6px 12px;background:white;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-weight:500;margin-left:auto;flex-shrink:0}.remove-break-btn:hover{background:#fff5f5;border-color:#f44;color:#f44}.add-break-btn{padding:8px 16px;background:white;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:13px;color:var(--primary-color);cursor:pointer;transition:all .2s ease;font-weight:500}.add-break-btn:hover{background:var(--primary-light);border-color:var(--primary-color)}.schedule-footer{display:flex;align-items:center;justify-content:space-between;padding:24px;border-top:1px solid var(--border-color);background:#fafbfc;gap:20px}.buffer-section{display:flex;align-items:center;gap:12px}.buffer-label{font-size:14px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.buffer-select{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:14px;font-weight:500;color:var(--text-primary);background:white;cursor:pointer;transition:all .2s ease;min-width:130px}.buffer-select:hover{border-color:var(--primary-color)}.buffer-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.action-buttons{display:flex;align-items:center;gap:12px}.reset-btn{padding:10px 20px;background:white;border:1px solid var(--border-color);border-radius:var(--radius-small);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#f5f5f5;border-color:var(--text-secondary);color:var(--text-primary)}.save-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;background:var(--primary-color);border:none;border-radius:var(--radius-small);font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 1024px){.working-hours-container{padding:30px 20px}.day-row{padding:18px 20px}.schedule-footer{padding:20px}}@media (max-width: 768px){.working-hours-container{padding:20px 12px}.working-hours-title{font-size:22px}.working-hours-subtitle{font-size:13px}.stats-card{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-item-working{padding:16px;gap:12px}.stat-icon{width:40px;height:40px}.stat-value{font-size:22px}.stat-label{font-size:12px}.day-row{padding:16px}.day-header-working{flex-direction:column;align-items:flex-start;gap:12px}.day-checkbox{min-width:unset;width:100%}.day-header-working .time-inputs{width:100%;justify-content:flex-start;gap:8px;flex-wrap:nowrap}.day-header-working .time-inputs>div{flex:1;min-width:0}.time-separator{font-size:12px}.break-row{flex-wrap:wrap;gap:8px;padding:10px}.break-label{width:100%;margin-bottom:4px}.break-row>div{flex:1;min-width:0}.remove-break-btn{margin-left:0;width:100%;text-align:center;padding:8px}.add-break-btn{width:100%;text-align:center;padding:10px}.breaks-section{margin-top:12px;padding-top:12px}.schedule-footer{flex-direction:column;align-items:stretch;padding:16px;gap:16px}.buffer-section{flex-direction:column;align-items:flex-start;width:100%;gap:8px}.buffer-label{font-size:13px;white-space:normal}.buffer-section>div{width:100%}.action-buttons{flex-direction:column;width:100%;gap:10px}.reset-btn{width:100%;text-align:center;padding:12px}.save-btn{width:100%;padding:12px;font-size:15px}}@media (max-width: 480px){.working-hours-container{padding:16px 10px}.stats-card{grid-template-columns:1fr;gap:10px}.stat-item-working{padding:14px}.day-row{padding:14px 12px}.day-label{font-size:14px}.day-header-working .time-inputs{gap:6px}.schedule-footer{padding:14px 12px}.save-btn{font-size:14px}.reset-btn{font-size:13px}.buffer-label{font-size:12px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.modal-container{background:white;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#111827;margin:0}.modal-form{flex:1;overflow-y:auto;padding:24px 28px;background:white}.form-grid,.responsive-grid-300{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.form-section{background:#fafafa;padding:20px;border-radius:6px;border:1px solid #e5e7eb}.form-section.full-width{grid-column:1 / -1}.section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#111827;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-input{width:100%;padding:9px 12px;font-size:14px;color:#111827;background:white;border:1px solid #d1d5db;border-radius:4px;transition:all .15s ease;outline:none}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:#9ca3af}.form-row-staff{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.permission-category{background:white;padding:14px;border-radius:6px;border:1px solid #e5e7eb}.permission-category-title{font-size:13px;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.permission-list{display:flex;flex-direction:column;gap:8px}.permission-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:4px;transition:background-color .15s ease}.permission-item:hover{background-color:#f9fafb}.permission-checkbox{width:16px;height:16px;border:1.5px solid #d1d5db;border-radius:3px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .15s ease;position:relative;flex-shrink:0}.permission-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.permission-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:700}.permission-checkbox:focus{outline:2px solid #3b82f6;outline-offset:2px}.permission-label{font-size:13px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.modal-form::-webkit-scrollbar{width:8px}.modal-form::-webkit-scrollbar-track{background:#f9fafb}.modal-form::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.modal-form::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.modal-overlay{padding:16px}.modal-container{max-height:95vh}.form-grid,.responsive-grid-300{grid-template-columns:1fr;gap:16px}.form-row-staff,.permissions-grid{grid-template-columns:1fr}.modal-header{padding:16px 20px}.modal-form{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column-reverse}.modal-footer .btn{width:100%;justify-content:center}.modal-title{font-size:16px}}@media (max-width: 480px){.form-section{padding:16px}.modal-container{border-radius:0;max-height:100vh}.modal-overlay{padding:0}}.btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.css-control{border-color:#d1d5db!important;box-shadow:none!important}.css-control:hover{border-color:#9ca3af!important}.css-menu{border:1px solid #e5e7eb!important;box-shadow:0 4px 6px -1px #0000001a!important}.css-option{font-size:14px!important;padding:8px 12px!important}.css-option:hover{background-color:#f9fafb!important}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#f44336;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#4caf50!important}.slider:hover{opacity:.9}.permissions-modal{background:white;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:1200px;max-height:90vh;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.modal-title{display:flex;align-items:center;gap:12px}.modal-title h2{font-size:18px;font-weight:600;color:#111827;margin:0;line-height:1.4}.modal-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0;font-weight:400}.modal-title-icon{color:#4b5563;width:20px;height:20px;flex-shrink:0}.modal-content-permissions{padding:24px 28px;background:white;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 28px;border-top:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;direction:ltr!important;text-align:left!important}.permission-module{background:white;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;transition:all .2s ease}.permission-module:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.module-header{background:#f9fafb;padding:14px 18px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:10px}.module-icon{font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:white;border-radius:4px;border:1px solid #e5e7eb;flex-shrink:0}.module-name{font-size:15px;font-weight:600;color:#111827;margin:0;flex:1}.module-permissions{padding:4px 18px 14px}.permission-item{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #f3f4f6;transition:all .15s ease;flex-direction:row!important}.permission-item:last-child{border-bottom:none;padding-bottom:0}.permission-item:hover{padding-left:8px;margin-left:-8px;padding-right:8px;margin-right:-8px}.permission-info{display:flex;align-items:center;gap:10px;flex:1}.permission-icon{width:16px;height:16px;flex-shrink:0}.permission-icon.allowed{color:#10b981}.permission-icon.denied{color:#9ca3af}.permission-action{font-size:14px;color:#374151;font-weight:400}.permission-status{font-size:11px;font-weight:500;padding:4px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.permission-status.allowed{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.permission-status.denied{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}@media (max-width: 768px){.permissions-modal{width:95%;max-height:85vh}.permissions-grid{grid-template-columns:1fr;gap:16px}.modal-header,.modal-content-permissions,.modal-footer{padding-left:20px;padding-right:20px}.modal-title h2{font-size:16px}.modal-subtitle{font-size:12px}}@media (max-width: 480px){.permissions-modal{width:100%;height:100%;max-height:100vh;border-radius:0}.permissions-grid{gap:14px}.permission-module{border-radius:6px}}.modal-content-permissions::-webkit-scrollbar{width:8px}.modal-content-permissions::-webkit-scrollbar-track{background:#f9fafb}.modal-content-permissions::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.modal-content-permissions::-webkit-scrollbar-thumb:hover{background:#9ca3af}.modal-close:focus,.btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.permissions-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#6b7280;font-size:14px}.permissions-loading:after{content:"";width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-left:10px}.permissions-empty{text-align:center;padding:60px 20px;color:#6b7280}.permissions-empty h3{font-size:16px;font-weight:600;margin-bottom:6px;color:#374151}.permissions-empty p{font-size:14px;margin:0;color:#9ca3af}.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 37%,#f3f4f6 63%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s infinite linear;display:inline-block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filters-wrapper{background:white;padding:20px;margin-top:20px;margin-bottom:20px;border:1px solid #e5e7eb;border-radius:10px}.filters-grid{display:grid;grid-template-columns:1fr 2fr auto;gap:15px;align-items:center}.category-select-row{display:flex;gap:8px;align-items:center}.category-actions{display:flex;gap:6px;flex-shrink:0}.category-option-label{display:flex;align-items:center;gap:10px}.category-option-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.category-option-count{margin-left:auto;font-size:12px;color:#6b7280}.view-toggle{display:flex;gap:8px;align-items:center;align-self:flex-end;padding-bottom:2px}.view-toggle-btn{padding:8px 12px;border-radius:6px;border:1px solid #e5e7eb;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.view-toggle-btn:hover{background:#f3f4f6;border-color:#d1d5db}.view-toggle-btn.active{background:#0066cc;border-color:#06c;color:#fff}@media (max-width: 1024px){.filters-grid{grid-template-columns:1fr 1fr auto;gap:12px}}@media (max-width: 768px){.filters-wrapper{padding:14px;margin-top:14px;margin-bottom:14px;border-radius:8px}.filters-grid{grid-template-columns:1fr;gap:12px}.category-select-row{width:100%}.category-actions{flex-shrink:0}.view-toggle{justify-content:flex-end;align-self:auto;padding-bottom:0}}@media (max-width: 480px){.filters-wrapper{padding:12px;margin-top:10px;margin-bottom:10px}.filters-grid{gap:10px}.category-select-row{flex-wrap:wrap}.category-actions{width:100%;justify-content:flex-end}}.dental-chart-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.chart-header{background:white;padding:24px;border-radius:16px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.header-content h1{margin:0 0 8px}.patient-info{color:#718096;font-size:14px}.chart-toolbar{background:white;padding:16px;border-radius:12px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.view-modes{display:flex;gap:8px}.view-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #e2e8f0;background:white;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:#4a5568;transition:all .2s}.view-btn:hover{background:#f7fafc}.view-btn.active{background:#667eea;color:#fff;border-color:#667eea}.toolbar-actions{display:flex;gap:8px;align-items:center}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e2e8f0;background:white;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.action-btn:hover:not(:disabled){background:#f7fafc;transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.active{background:#667eea;color:#fff;border-color:#667eea}.toolbar-divider{width:1px;height:24px;background:#e2e8f0;margin:0 4px}.chart-content{background:white;padding:32px;border-radius:16px;box-shadow:0 4px 6px #0000001a}.teeth-section{margin-bottom:40px}.section-header{text-align:center;margin-bottom:24px}.section-header h3{margin:0;color:#2d3748;font-size:20px}.section-subtitle{color:#718096;font-size:14px}.teeth-grid{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.chart-divider{display:flex;align-items:center;gap:16px;margin:32px 0}.divider-line{flex:1;height:2px}.dental-conditions-container{display:flex;gap:38px;padding:20px;background:white;border-radius:8px;justify-content:center}.condition-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px;padding:12px 8px;cursor:pointer;transition:all .2s ease;border-radius:8px}.condition-item:hover{background:#f5f5f5;transform:translateY(-2px)}.condition-item.active[data-condition=caries]{background:rgba(100,181,246,.15)}.condition-item.active[data-condition=pulp]{background:rgba(255,245,157,.35)}.condition-item.active[data-condition=abscess]{background:rgba(200,230,201,.35)}.condition-item.active[data-condition=missing]{background:rgba(255,204,188,.35)}.condition-item.active[data-condition=impacted]{background:rgba(225,190,231,.35)}.condition-item.active[data-condition=cracked]{background:rgba(187,222,251,.35)}.condition-item.active[data-condition=defect]{background:rgba(225,190,231,.35)}.condition-item.active[data-condition=gingiva]{background:rgba(128,222,234,.35)}.condition-item.active[data-condition=oral-disease]{background:rgba(92,107,192,.25)}.condition-item.active[data-condition=ortho]{background:rgba(239,83,80,.25)}.condition-item.active[data-condition=old]{background:rgba(255,245,157,.35)}.condition-item.active[data-condition=implant]{background:rgba(255,183,77,.35)}.condition-item.active[data-condition=orthodontic]{background:rgba(224,224,224,.6)}.icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f8f8;position:relative}.condition-item svg{width:28px;height:28px}.condition-label{font-size:13px;font-weight:500;color:#333;text-align:center;white-space:nowrap}.condition-underline{width:100%;height:3px;border-radius:2px;margin-top:4px}.condition-item[data-condition=caries] .condition-underline{background:#64b5f6}.condition-item[data-condition=pulp] .condition-underline{background:#fff59d}.condition-item[data-condition=abscess] .condition-underline{background:#c8e6c9}.condition-item[data-condition=missing] .condition-underline{background:#ffccbc}.condition-item[data-condition=impacted] .condition-underline{background:#e1bee7}.condition-item[data-condition=cracked] .condition-underline{background:#bbdefb}.condition-item[data-condition=defect] .condition-underline{background:#e1bee7}.condition-item[data-condition=gingiva] .condition-underline{background:#80deea}.condition-item[data-condition=oral-disease] .condition-underline{background:#5c6bc0}.condition-item[data-condition=ortho] .condition-underline{background:#ef5350}.condition-item[data-condition=old] .condition-underline{background:#fff59d}.condition-item[data-condition=implant] .condition-underline{background:#ffb74d}.condition-item[data-condition=orthodontic] .condition-underline{background:#e0e0e0}.condition-item[data-condition=caries] svg{color:#1976d2}.condition-item[data-condition=pulp] svg{color:#f57c00}.condition-item[data-condition=abscess] svg{color:#388e3c}.condition-item[data-condition=missing] svg{color:#d32f2f}.condition-item[data-condition=impacted] svg{color:#7b1fa2}.condition-item[data-condition=cracked] svg{color:#1976d2}.condition-item[data-condition=defect] svg{color:#7b1fa2}.condition-item[data-condition=gingiva] svg{color:#00796b}.condition-item[data-condition=oral-disease] svg{color:#303f9f}.condition-item[data-condition=ortho] svg{color:#c62828}.condition-item[data-condition=old] svg{color:#f57c00}.condition-item[data-condition=implant] svg{color:#ef6c00}.condition-item[data-condition=orthodontic] svg{color:#616161}.condition-item{position:relative}.condition-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:white;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;max-width:300px;margin-top:8px;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.condition-item.active .condition-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto}.condition-dropdown-header{padding:12px 12px 8px;border-bottom:1px solid #e0e0e0}.condition-dropdown-search{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-family:inherit;box-sizing:border-box}.condition-dropdown-search::placeholder{color:#999}.condition-dropdown-search:focus{outline:none;border-color:#64b5f6;background:#f9f9f9}.conditions-dropdown-content{max-height:300px;overflow-y:auto;padding:8px 0}.conditions-dropdown-item{padding:10px 12px;cursor:pointer;font-size:13px;color:#333;transition:background .15s ease;white-space:normal;word-break:break-word}.conditions-dropdown-item:hover{background:#f5f5f5}.conditions-dropdown-item.active{background:#e3f2fd;color:#1976d2;font-weight:500}.dropdown-content::-webkit-scrollbar{width:6px}.dropdown-content::-webkit-scrollbar-track{background:transparent}.dropdown-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.dropdown-content::-webkit-scrollbar-thumb:hover{background:#999}.dropdown-loading{display:flex;padding:5px;gap:5px}.item-code{display:inline-block;min-width:38px;padding:2px 6px;margin-right:6px;border-radius:4px;background:#f1f3f4;color:#555;font-size:11px;font-weight:600;text-align:center;letter-spacing:.3px}.item-name{font-size:13px;font-weight:500;color:#333;line-height:1.4;flex:1}.conditions-dropdown-item{display:flex;align-items:flex-start;gap:6px}.conditions-dropdown-item.active .item-code{background:#e3f2fd;color:#1976d2}.conditions-dropdown-item.active .item-name{color:#1976d2}.conditions-dropdown-item:hover .item-code{background:#e0e0e0}.chart-legend{background:#ffffff;border-radius:12px;padding:16px 18px;box-shadow:0 6px 18px #0000000f;display:flex;flex-direction:column;gap:20px;font-family:Inter,sans-serif}.legend-section h4{margin-bottom:12px;font-size:15px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:6px}.legend-items{display:flex;flex-direction:column;gap:10px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#f9fafb;transition:background .2s ease,transform .2s ease}.legend-item:hover{background:#f3f4f6;transform:translate(2px)}.legend-code{min-width:30px;height:30px;border-radius:6px;background:#2563eb;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.legend-name{font-size:14px;font-weight:500;color:#111827}.legend-desc{font-size:12px;color:#6b7280;margin-left:auto}.legend-icon{width:32px;height:32px;border-radius:6px;background:#eef2ff;display:flex;align-items:center;justify-content:center}.legend-icon img{width:20px;height:20px;object-fit:contain}@media (max-width: 768px){.chart-legend{padding:14px}.legend-desc{display:none}}.notifications-page{margin:0 auto;padding:24px}.notifications-header{margin-bottom:32px}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.header-title{display:flex;gap:16px;align-items:center}.header-title svg{color:#3b82f6;flex-shrink:0}.header-title h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 4px}.header-subtitle{font-size:14px;color:#6b7280;margin:0}.btn-mark-all-read{display:flex;align-items:center;gap:8px;padding:8px 15px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-mark-all-read:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.notifications-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:white;border:2px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.stat-card.active{border-color:var(--card-color);background:linear-gradient(135deg,white 0%,var(--card-color) 08 100%);box-shadow:0 4px 12px #00000014}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1;margin-bottom:4px}.stat-label{font-size:13px;color:#6b7280;font-weight:500}.notifications-filters{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.filter-group{display:flex;align-items:center;gap:12px}.filter-group svg{color:#6b7280}.filter-group>span{font-size:14px;font-weight:600;color:#4b5563}.filter-btn{padding:8px 16px;background:#f3f4f6;border:2px solid transparent;border-radius:8px;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#e5e7eb;color:#1f2937}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.clear-filters-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#fecaca}.notifications-list{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px;min-height:400px}.notifications-grid{display:grid;gap:12px}.notifications-list .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.notifications-list .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#6b7280;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#d1d5db}.empty-state h3{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-state p{font-size:14px;color:#6b7280;margin:0;max-width:400px}@media (max-width: 768px){.notifications-page{padding:16px}.header-content{flex-direction:column;align-items:stretch}.header-title{flex-direction:row}.header-title h1{font-size:24px}.btn-mark-all-read{width:100%;justify-content:center}.notifications-stats{grid-template-columns:repeat(2,1fr)}.notifications-filters{flex-direction:column;align-items:stretch}.filter-group{flex-wrap:wrap}.clear-filters-btn{width:100%;justify-content:center}}.system-status{padding:2rem;max-width:1400px;margin:0 auto;background-color:#f8f9fa;min-height:100vh}.system-status-loading,.system-status-error{padding:2rem;text-align:center;font-size:1.1rem;color:#6c757d}.system-status-error{color:#dc3545}.system-status__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.system-status__title{font-size:2rem;font-weight:700;color:#212529;margin:0}.system-status__badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:20px;color:#155724;font-weight:500}.system-status__badge-dot{width:8px;height:8px;background-color:#28a745;border-radius:50%;animation:pulse 2s infinite}.system-status__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.system-status__card{background:white;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s ease}.system-status__card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.system-status__card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid #f1f3f5}.system-status__icon{width:24px;height:24px;color:#495057}.system-status__card-title{font-size:1.1rem;font-weight:600;color:#212529}.system-status__card-body{display:flex;flex-direction:column;gap:.75rem}.system-status__info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.system-status__label{font-size:.9rem;color:#6c757d;font-weight:500}.system-status__value{font-size:.95rem;color:#212529;font-weight:600}.system-status__status-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#f8f9fa;border-radius:8px}.system-status__status-dot{width:10px;height:10px;background-color:#6c757d;border-radius:50%}.system-status__status-dot--active{background-color:#28a745;box-shadow:0 0 0 3px #28a74533}.system-status__status-text{font-size:1rem;font-weight:600;color:#28a745}.system-status__clinics{background:white;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem}.system-status__section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f3f5}.system-status__section-title-wrapper{display:flex;align-items:center;gap:.75rem}.system-status__section-icon{width:28px;height:28px;color:#495057}.system-status__section-title{font-size:1.5rem;font-weight:700;color:#212529;margin:0}.system-status__view-toggle{display:flex;gap:.5rem;background-color:#f8f9fa;padding:.25rem;border-radius:8px;border:1px solid #e9ecef}.system-status__toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background-color:transparent;color:#6c757d;font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.system-status__toggle-btn:hover{background-color:#e9ecef;color:#495057}.system-status__toggle-btn--active{background-color:#fff;color:#212529;box-shadow:0 1px 3px #0000001a}.system-status__toggle-icon{width:18px;height:18px}.system-status__table-wrapper{overflow-x:auto;margin-bottom:2rem;border-radius:8px;border:1px solid #e9ecef}.system-status__table{width:100%;border-collapse:collapse;background:white}.system-status__table-head{background-color:#f8f9fa}.system-status__table-header{padding:1rem;text-align:left;font-weight:600;color:#495057;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6}.system-status__table-header--center{text-align:center}.system-status__table-body{background:white}.system-status__table-row{transition:background-color .2s ease}.system-status__table-row:hover{background-color:#f8f9fa}.system-status__table-cell{padding:1rem;border-bottom:1px solid #e9ecef;color:#495057;font-size:.95rem}.system-status__table-cell--name{font-weight:600;color:#212529}.system-status__table-cell--center{text-align:center}.system-status__badge-pill{display:inline-block;padding:.4rem .9rem;border-radius:20px;font-weight:600;font-size:.85rem}.system-status__badge-pill--daily{background-color:#e3f2fd;color:#1976d2}.system-status__badge-pill--monthly{background-color:#f3e5f5;color:#7b1fa2}.system-status__badge-pill--staff{background-color:#e8f5e9;color:#388e3c}.system-status__badge-pill--doctor{background-color:#fff3e0;color:#f57c00}.system-status__badge-pill--admin{background-color:#fce4ec;color:#c2185b}.system-status__badge-pill--reception{background-color:#e0f2f1;color:#00796b}.system-status__clinic-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.system-status__clinic-card{background:#f8f9fa;border-radius:12px;padding:1.5rem;border:1px solid #e9ecef;transition:all .3s ease}.system-status__clinic-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.system-status__clinic-name{font-size:1.25rem;font-weight:700;color:#212529;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid #dee2e6}.system-status__clinic-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.system-status__stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:white;border-radius:8px;border:1px solid #e9ecef}.system-status__stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;flex-shrink:0}.system-status__stat-icon-wrapper--daily{background-color:#e3f2fd;color:#1976d2}.system-status__stat-icon-wrapper--monthly{background-color:#f3e5f5;color:#7b1fa2}.system-status__stat-icon-wrapper--staff{background-color:#e8f5e9;color:#388e3c}.system-status__stat-icon-wrapper--doctor{background-color:#fff3e0;color:#f57c00}.system-status__stat-icon-wrapper--admin{background-color:#fce4ec;color:#c2185b}.system-status__stat-icon-wrapper--reception{background-color:#e0f2f1;color:#00796b}.system-status__stat-icon{width:20px;height:20px}.system-status__stat-info{display:flex;flex-direction:column;gap:.25rem}.system-status__stat-value{font-size:1.25rem;font-weight:700;color:#212529;line-height:1}.system-status__stat-label{font-size:.75rem;color:#6c757d;font-weight:500;text-transform:uppercase;letter-spacing:.3px}@media (max-width: 768px){.system-status{padding:1rem}.system-status__header{flex-direction:column;align-items:flex-start;gap:1rem}.system-status__metrics{grid-template-columns:1fr}.system-status__section-header{flex-direction:column;align-items:flex-start}.system-status__view-toggle{width:100%}.system-status__toggle-btn{flex:1;justify-content:center}.system-status__table-wrapper{margin-bottom:1.5rem}.system-status__clinic-cards,.system-status__clinic-stats{grid-template-columns:1fr}}@media (max-width: 480px){.system-status__title{font-size:1.5rem}.system-status__section-title{font-size:1.25rem}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--primary-light);padding:var(--spacing-xl)}.not-found-content{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;padding:var(--spacing-2xl);max-width:480px;width:100%;animation:fadeIn .4s ease-in-out}.not-found-icon{font-size:100px;font-weight:800;color:var(--color-primary);margin-bottom:var(--spacing-md)}.not-found-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-sm)}.not-found-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.not-found-content .btn{background-color:var(--color-primary);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-fast)}.not-found-content .btn:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 480px){.not-found-icon{font-size:70px}.not-found-title{font-size:var(--font-size-xl)}.not-found-content{padding:var(--spacing-xl)}}.forbidden-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.forbidden-content{text-align:center;background:white;padding:60px 40px;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.forbidden-icon{font-size:100px;margin-bottom:20px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.forbidden-title{font-size:32px;font-weight:700;color:#333;margin-bottom:16px}.forbidden-description{font-size:16px;color:#666;margin-bottom:32px;line-height:1.6}.forbidden-actions{display:flex;gap:16px;justify-content:center}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #dbeafe;--secondary: #64748b;--secondary-light: #f1f5f9;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-light: #f3f4f6;--status-scheduled: #3b82f6;--status-scheduled-light: #dbeafe;--status-completed: #10b981;--status-completed-light: #d1fae5;--status-cancelled: #ef4444;--status-cancelled-light: #fee2e2;--color-primary: #2f68da;--color-primary-hover: #1e4ba8;--color-secondary: #f8f9fa;--color-success: #22c55e;--color-warning: #f59e0b;--color-destructive: #ef4444;--color-muted: #f1f5f9;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--spacing-xs: 4px;--spacing-sm: 10px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .08);--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f2f2f7;color:var(--color-text);line-height:1.5;font-size:var(--font-size-base)}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}.container,.container-landig{padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}@media (min-width: 768px){.container-landig{width:95%}}@media (min-width: 992px){.container-landig{width:95%}}@media (min-width: 1400px){.container-landig{max-width:1400px}}.d-flex{display:flex}.d-none{display:none}.d-grid{display:grid}.align-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:end}.justify-between{justify-content:space-between}.justify-start{justify-content:start}.center-flex{display:flex;align-items:center;justify-content:center}.between-flex{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}@media (max-width: 768px){.actions-bar{flex-direction:column;align-items:flex-start;gap:10px}.actions-bar>div{width:100%;flex-direction:column}.actions-bar button{width:100%}}.responsive-grid-180{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.responsive-grid-200{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg)}.responsive-grid-250{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.responsive-grid-300{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.responsive-grid-350{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-md)}.responsive-grid-400,.responsive-grid-450{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-md)}.responsive-grid-550{display:grid;grid-template-columns:repeat(auto-fit,minmax(550px,1fr));gap:20px}.gap-5{gap:5px}.gap-10{gap:10px}.gap-8{gap:8px}.gap-15{gap:15px}.gap-20{gap:20px}.p-5{padding:5px}.p-10{padding:10px}.p-12{padding:12px}.p-15{padding:15px}.p-20{padding:20px}.p-24{padding:24px}.pt-3{padding-top:3px}.pt-10{padding-top:10px}.pt-15{padding-top:15px}.pt-20{padding-top:20px}.pb-10{padding-bottom:10px}.pb-15{padding-bottom:15px}.pb-20{padding-bottom:20px}.pl-15{padding-left:15px}.m-0{margin:0}.m-5{margin:5px}.m-10{margin:10px}.m-15{margin:15px}.m-20{margin:20px}.mt-0{margin-top:0}.mt-5{margin-top:5px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-25{margin-top:25px}.mt-40{margin-top:40px}.mr-10{margin-right:10px}.mr-15{margin-right:15px}.ml-10{margin-left:10px}.mb-5{margin-bottom:5px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.mb-25{margin-bottom:25px}.mb-24{margin-bottom:24px}.mb-30{margin-bottom:25px}.fs-13{font-size:var(--font-size-xs)}.fs-14{font-size:var(--font-size-sm)}.fs-15{font-size:15px}.fs-20{font-size:var(--font-size-xl)}.fs-25{font-size:25px}.fs-30{font-size:30px}.fw-bold{font-weight:700}.fw-medium{font-weight:500}.fw-normal{font-weight:400}.txt-c{text-align:center}.txt-c-mobile{text-align:left}@media (max-width: 768px){.txt-c-mobile{text-align:center}}.txt-l{text-align:left}.txt-r{text-align:right}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.c-primary{color:var(--color-primary)}.c-white{color:#fff}.c-black{color:#000}.c-muted{color:var(--color-text-muted)}.bg-white{background-color:#fff}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-destructive{background-color:var(--color-destructive)}.bg-muted{background-color:var(--color-muted)}.border{border:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-none{border:none}.rad-4{border-radius:var(--radius-sm)}.rad-6{border-radius:6px}.rad-8{border-radius:var(--radius-md)}.rad-10{border-radius:10px}.rad-12{border-radius:var(--radius-lg)}.rad-full{border-radius:var(--radius-full)}.w-full{width:100%}.w-fit{width:fit-content}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100px}.h-full{height:100%}.h-100{height:100px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.box-shadow{box-shadow:var(--shadow-md)}.box-shadow-lg{box-shadow:var(--shadow-lg)}.box-shadow-xl{box-shadow:var(--shadow-xl)}.box-shadow-soft{box-shadow:var(--shadow-soft)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.btn{align-items:center;gap:8px;padding:8px 15px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f640}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62;border-color:#4e555b}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.btn-success:hover{background-color:#16a34a;border-color:#16a34a}.btn-delete{padding:8px 16px;border:medium;background:rgb(220,38,38);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.btn-cancel{background:white;color:#6b7280;border:1px solid #d1d5db}.btn-danger{background-color:var(--color-destructive);border-color:var(--color-destructive);color:#fff}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-excel{background-color:#10b981;border-color:#10b981;color:#fff}.btn-info:hover{background-color:#31d2f2;border-color:#31d2f2}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:#212529}.btn-warning:hover{background-color:#d97706;border-color:#d97706}.btn-outline{background:white;color:#3b82f6;border:1px solid #d1d5db;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000d}.btn-outline:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-text)}.btn-ghost:hover{background-color:var(--color-muted)}.btn-sm{padding:6px 12px;font-size:var(--font-size-xs);border-radius:6px}.btn-lg{padding:14px 28px;font-size:var(--font-size-lg);border-radius:10px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:4px;border:1px solid var(--color-border);background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background-color:var(--color-muted);border-color:var(--color-primary)}.status-completed{background-color:#dcfce7;color:#166534;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-pending{background-color:#fef3c7;color:#92400e;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-cancelled{background-color:#fecaca;color:#991b1b;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-active{background-color:#dcfce7;color:#166534;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-inactive{background-color:#fecaca;color:#991b1b;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-paid{background-color:#dcfce7;color:#166534;padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.form-label{display:block;font-weight:500;color:var(--color-text)}.form-input,.input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;line-height:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-input:focus,.input:focus{outline:none;border-color:var(--color-primary);box-shadow:none}.textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f68da1a}.select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background-color:#fff;cursor:pointer;transition:border-color var(--transition-fast);font-size:100%;font-size:17px;padding:.75rem}.select:focus{outline:none;border-color:var(--color-primary)}.search-dropdown{position:absolute;top:100%;left:0;width:100%;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;max-height:200px;overflow-y:auto;margin-top:2px;max-height:300px;animation:fadeIn .2s ease-out}.search-dropdown-item{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-muted);display:flex;align-items:center;gap:var(--spacing-sm)}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background-color:var(--color-muted);color:var(--color-primary)}.search-dropdown-item:active{background-color:#2f68da1a}.search-dropdown-item .patient-name{font-weight:600;color:var(--color-text)}.search-dropdown-item .patient-phone{color:var(--color-text-muted);font-size:var(--font-size-xs)}.search-dropdown-item:hover .patient-name{color:var(--color-primary)}.search-dropdown-item:hover .patient-phone{color:var(--color-text)}.search-dropdown-empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.search-dropdown-loading{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);white-space:nowrap}.badge-primary{background-color:#2f68da1a;color:var(--color-primary)}.badge-success{background-color:#22c55e1a;color:var(--color-success)}.badge-warning{background-color:#f59e0b1a;color:var(--color-warning)}.badge-danger{background-color:#ef44441a;color:var(--color-destructive)}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}.responsive-grid-300,.responsive-grid-350{grid-template-columns:1fr}.btn{font-size:var(--font-size-xs);padding:6px 12px}.between-flex{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.hide-mobile{display:none}.block-mobile{display:block}.search-dropdown{max-height:160px}.search-dropdown-item{padding:var(--spacing-md);font-size:var(--font-size-base)}}@media (max-width: 480px){.responsive-grid-200,.responsive-grid-250{grid-template-columns:1fr}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.avatar-img{border:2px solid #e0e0e0;width:35px;height:35px;border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle;margin-right:8px}.avatar-img:hover{transform:scale(1.1)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.focus-visible:focus{outline:2px solid var(--color-primary);outline-offset:2px}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale:hover{transform:scale(1.02)}.error{border-color:var(--color-destructive);background-color:#ef44440d}.error-message{color:var(--color-destructive);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.success{border-color:var(--color-success);background-color:#22c55e0d}.success-message{color:var(--color-success);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.login-container{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-card{max-width:445px}.icon-container{width:48px;height:48px}.input-with-icon{width:100%;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:white;font-family:inherit;padding:14px 44px}.input-with-icons{padding-left:44px;padding-right:44px}.icon-left{left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.icon-right{right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%}.success-icon-large{width:48px;height:48px}.modal-content-large{width:90%;max-width:800px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-content-small{width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-content-xlarge{width:90%;max-width:1200px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@media (max-width: 768px){.modal-content-xlarge{width:95%;max-width:95%}}.session-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.session-icon{font-size:24px}.session-detail-card{border:1px solid var(--color-border);transition:all .2s ease}.session-detail-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tab-btn-Treatment{padding:8px 15px;background:white;border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--color-text)}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media (max-width: 768px){.modal-grid{grid-template-columns:1fr}}.alert-info-treatment{background-color:#e3f2fd;border-left:4px solid var(--color-primary);padding:12px 16px;border-radius:8px}.alert-info-treatment p{color:#1565c0;line-height:1.5}.chart-container{height:280px;display:flex;align-items:flex-end;padding:10px 0}.bar-chart{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-wrapper{width:100%;height:calc(100% - 25px);display:flex;align-items:flex-end}.bar-fill{width:100%;border-radius:8px 8px 0 0;position:relative;transition:height .3s ease;display:flex;align-items:flex-start;justify-content:center;padding-top:5px}.service-list{display:flex;flex-direction:column;gap:20px}.service-item-report{padding-bottom:15px;border-bottom:1px solid var(--color-border)}.progress-bar-container{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50 0%,#66bb6a 100%);border-radius:4px}.payment-stat-item{padding:15px;background-color:var(--color-muted);border-radius:8px}.payment-indicator{width:12px;height:12px;border-radius:50%}.activity-card{display:flex;align-items:center;gap:15px;padding:15px;background-color:var(--color-muted);border-radius:8px}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.sessions-table{width:100%;border-collapse:collapse;font-size:14px}.sessions-table{border-collapse:collapse;font-size:14px}.sessions-table thead tr{background-color:var(--color-muted);text-align:left}.sessions-table th{padding:12px 15px;font-weight:600;color:var(--color-text)}.sessions-table td{padding:12px 15px;border-bottom:1px solid var(--color-border)}.spinner-modal{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-modal .8s linear infinite}@keyframes spin-modal{to{transform:rotate(360deg)}}.spinner-modal-dots{display:inline-flex;gap:4px}.spinner-modal-dots span{width:6px;height:6px;border-radius:50%;background:white;animation:dots-bounce 1.4s ease-in-out infinite}.spinner-modal-dots span:nth-child(1){animation-delay:-.32s}.spinner-modal-dots span:nth-child(2){animation-delay:-.16s}@keyframes dots-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.spinner-modal-pulse{display:inline-block;width:16px;height:16px;border-radius:50%;background:white;animation:pulse-modal 1.2s ease-in-out infinite}@keyframes pulse-modal{0%,to{opacity:1;transform:scale(.8)}50%{opacity:.5;transform:scale(1.2)}}.spinner-modal-dual{display:inline-block;width:18px;height:18px;position:relative}.spinner-modal-dual:after{content:"";display:block;width:14px;height:14px;margin:2px;border-radius:50%;border:2px solid white;border-color:white transparent white transparent;animation:dual-ring-spin 1s linear infinite}@keyframes dual-ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-submit:disabled{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);box-shadow:none}@media (max-width: 640px){.modal-footer{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.card{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0}.card-content{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.search-container{display:flex;align-items:center;background-color:#f9f9f9;padding:10px 15px;border-radius:8px;box-shadow:0 2px 5px #0000001a}.search-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2f68da1a}.search-icon{color:var(--color-text-muted);margin-right:var(--spacing-sm);cursor:pointer}.tabs{width:100%}.tabs-list{display:flex;gap:var(--spacing-sm);border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.tab-trigger{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;border-bottom:3px solid transparent;transition:all var(--transition-fast);color:var(--color-text-muted)}.tab-trigger:hover{color:var(--color-primary)}.tab-trigger.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-content{animation:fadeIn .3s ease-in-out}.tab-content.active{display:block}.chart-container{width:100%;height:300px;position:relative}.chart-small{width:100%;height:250px;position:relative}.loading{position:relative;pointer-events:none;opacity:.7}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@media print{.no-print{display:none!important}.card{box-shadow:none;border:1px solid #ddd}.btn{display:none}}.document-manager{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.document-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.header-content h2{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.title-icon{color:var(--color-primary)}.section-description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.upload-section{display:flex;align-items:center;gap:var(--spacing-sm)}.upload-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.upload-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.category-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:white;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-lg);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:rgba(47,104,218,.05);border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-icon{width:16px;height:16px}.search-section{flex:1;max-width:300px}.upload-progress{background:#e0f2fe;border:1px solid #81d4fa;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.progress-content{display:flex;align-items:center;gap:var(--spacing-sm);color:#0277bd;font-weight:500}.progress-icon{width:20px;height:20px;animation:spin 1s linear infinite}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.document-card{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal);position:relative;overflow:hidden}.document-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-success));transform:scaleX(0);transition:transform var(--transition-normal)}.document-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.document-card:hover:before{transform:scaleX(1)}.document-header-card{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.document-icon{width:48px;height:48px;background:linear-gradient(135deg,rgba(47,104,218,.1),rgba(47,104,218,.05));border:1px solid rgba(47,104,218,.2);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);transition:all var(--transition-fast)}.document-card:hover .document-icon{background:linear-gradient(135deg,rgba(47,104,218,.2),rgba(47,104,218,.1));transform:scale(1.05)}.document-icon svg{width:20px;height:20px}.document-actions{display:flex;gap:var(--spacing-xs)}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:white;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn.view:hover svg{color:#fff}.action-btn.download{background:#e8f5e8;border-color:#c8e6c9}.action-btn.download:hover{background:#4caf50;border-color:#4caf50}.action-btn.download:hover svg{color:#fff}.action-btn.share{background:#fff3e0;border-color:#ffcc02}.action-btn.share:hover{background:#ff9800;border-color:#ff9800}.action-btn.share:hover svg{color:#fff}.action-btn.delete{background:#ffebee;border-color:#ffcdd2}.action-btn.delete:hover{background:#f44336;border-color:#f44336}.action-btn.delete:hover svg{color:#fff}.document-content{flex:1}.document-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.document-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.4}.document-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.meta-icon{width:12px;height:12px}.document-category{margin-top:var(--spacing-sm)}.category-badge{padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:500}.category-badge.medical-report{background:rgba(47,104,218,.1);color:var(--color-primary)}.category-badge.lab-results{background:rgba(34,197,94,.1);color:var(--color-success)}.category-badge.x-ray{background:rgba(139,92,246,.1);color:#8b5cf6}.category-badge.prescription{background:rgba(245,158,11,.1);color:var(--color-warning)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted);grid-column:1 / -1}.empty-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);opacity:.5}.empty-state h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text)}.empty-state p{font-size:var(--font-size-sm)}@media (max-width: 768px){.document-manager{padding:var(--spacing-md)}.documents-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.document-header{flex-direction:column;align-items:stretch}.filters-section{flex-direction:column;gap:var(--spacing-md)}.category-filters{justify-content:center}.search-section{max-width:none}}.medical-dossier{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.medical-dossier .card-header{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.medical-dossier .card-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.info-grid>div{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc}.info-grid label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);display:block}.info-grid p{font-weight:600;color:var(--color-text)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.contact-info>div{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#f8fafc;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.avatar{width:60px;height:60px;border-radius:var(--radius-full);background:rgba(47,104,218,.1);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary);border:2px solid var(--color-border)}.patient-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.avatar-container{display:flex;align-items:center;gap:var(--spacing-md)}.notes-card{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.notes-card h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md)}.notes-card p{background:#f8fafc;padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);font-style:italic;color:var(--color-text-muted)}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}.document-header{flex-direction:column;align-items:stretch}.filters-section{flex-direction:column;gap:var(--spacing-md)}.category-filters{justify-content:center}.search-section{max-width:none}.stat-card{flex-direction:column;text-align:center;gap:var(--spacing-sm)}}@media print{.document-actions,.upload-section,.filters-section{display:none}.medical-dossier,.document-card{box-shadow:none;border:1px solid #ddd}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.modal-content.large{max-width:800px}.modal-content.small{max-width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:15px;display:flex;align-items:center;justify-content:space-between;background:white}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.modal-title{font-size:var(--font-size-xl);font-weight:600;margin:0;display:flex;align-items:center;gap:var(--spacing-sm);color:#000}.modal-close,.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease;font-size:20px;line-height:1}.modal-close:hover,.modal-close-btn:hover{background:#fee2e2;color:#ef4444;transform:scale(1.1)}.modal-close:active,.modal-close-btn:active{transform:scale(.95)}.modal-body{padding:var(--spacing-lg);background:white}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding:top 24px;border-top:1px solid #d1d5db}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:var(--font-size-sm);font-weight:500}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-select option{background:white}.input-group{position:relative;display:flex;align-items:center}.input-with-icon{padding-left:40px}.input-icon{position:absolute;left:12px;color:#6b7280;pointer-events:none;z-index:1}.input-group .form-input:focus+.input-icon,.input-group:focus-within .input-icon{color:var(--color-primary)}.time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.time-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.time-input-wrapper{position:relative;display:flex;align-items:center}.time-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid #374151;border-radius:var(--radius-md);background:white;font-size:var(--font-size-sm);width:100%;transition:all var(--transition-fast)}.time-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;background:#1f2937}.btn{border-radius:var(--radius-md);padding:8px 10px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);text-decoration:none}.category-selection{margin-bottom:var(--spacing-md)}.category-options{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.category-content{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:1px solid #374151;border-radius:var(--radius-full);transition:all var(--transition-fast);background:white;color:#fff;font-size:var(--font-size-sm)}.category-option input[type=radio]:checked+.category-content{border-color:var(--color-primary);background:rgba(59,130,246,.1);color:var(--color-primary)}.category-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.date-input-wrapper{position:relative}.date-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid #374151;border-radius:var(--radius-md);background:white;font-size:var(--font-size-sm);width:100%;transition:all var(--transition-fast)}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;background:#1f2937}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:white}.modal-content::-webkit-scrollbar-thumb{background:#374151;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:#4b5563}@media (max-width: 768px){.modal-content{width:95%;margin:var(--spacing-sm);max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}.form-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.time-inputs{grid-template-columns:1fr}.category-options{flex-direction:column}.category-content{justify-content:flex-start}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}@media (max-width: 480px){.modal-content{width:98%;margin:var(--spacing-xs)}.time-inputs{gap:var(--spacing-sm)}}.section-title{font-size:1rem;font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;color:#2462ea}.section-divider{border:none;border-top:1px solid #e5e7f0;margin:1rem 0}.settings-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-xl)}.settings-sidebar{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);height:fit-content;box-shadow:var(--shadow-sm)}.settings-tab{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.settings-tab:hover{background:rgba(47,104,218,.1);color:var(--color-primary)}.settings-tab.active{background:var(--color-primary);color:#fff}.settings-content{background:white;border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.settings-section{padding:var(--spacing-xl)}.settings-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.notification-settings{display:flex;flex-direction:column;gap:var(--spacing-lg)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc}.setting-item h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.setting-item p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:var(--transition-fast);border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translate(26px)}.security-settings,.backup-settings{display:flex;flex-direction:column;gap:var(--spacing-lg)}.backup-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.appearance-settings{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:#f8fafc;display:flex;justify-content:flex-end}@media (max-width: 768px){.settings-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}.settings-sidebar{order:2}.settings-content{order:1}.backup-actions{flex-direction:column}}.today-appointments{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.appointments-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.current-time{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);background:white;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border)}.appointments-list{padding:var(--spacing-md);max-height:400px;overflow-y:auto}.empty-appointments{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.empty-appointments h3{font-size:var(--font-size-lg);margin:var(--spacing-md) 0 var(--spacing-sm) 0}.appointment-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);transition:all var(--transition-fast);background:white}.appointment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.appointment-card.current-appointment{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.appointment-time{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:80px;text-align:center}.time-text{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.duration-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.appointment-details{flex:1;display:flex;justify-content:space-between;align-items:center}.patient-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.patient-name{align-items:center;gap:var(--spacing-xs);font-weight:600;color:var(--color-text);font-size:var(--font-size-sm)}.patient-contact{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.appointment-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.service-info{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.service-name{font-weight:500;color:var(--color-text);font-size:var(--font-size-sm)}.doctor-name{font-size:var(--font-size-xs);color:var(--color-text-muted)}.status-badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.appointment-actions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.action-btn{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.appointments-stats{display:flex;justify-content:space-around;padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:#f8fafc}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.stat-number{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.recent-activity{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.activity-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.activity-list{padding:var(--spacing-md);max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-fast);margin-bottom:var(--spacing-sm)}.activity-item:hover{background:#f8fafc}.activity-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-content{flex:1;display:flex;justify-content:space-between;align-items:flex-start}.activity-main{flex:1}.activity-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.activity-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.activity-time{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.activity-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:#f8fafc}.treatment-sessions-manager{padding:var(--spacing-lg)}.sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.sessions-timeline{display:flex;flex-direction:column;gap:var(--spacing-lg)}.session-card{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal)}.session-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.session-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid var(--color-border)}.session-info h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.session-meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.session-date,.session-time{display:flex;align-items:center;gap:var(--spacing-xs)}.session-status{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.session-cost{font-weight:600;color:var(--color-primary);font-size:var(--font-size-sm)}.session-content{padding:var(--spacing-lg)}.session-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.detail-section{padding:var(--spacing-md);background:#f8fafc;border-radius:var(--radius-md);border:1px solid var(--color-border)}.detail-section h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.detail-section p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.session-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.next-appointment{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:rgba(59,130,246,.1);border-top:1px solid rgba(59,130,246,.2);font-size:var(--font-size-sm);color:var(--color-primary)}.medication-manager{padding:var(--spacing-lg)}.medication-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.medications-list{margin-top:var(--spacing-xl)}.medication-card{transition:all var(--transition-normal)}.medication-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.medication-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-row{display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.instructions{padding:var(--spacing-sm);background:rgba(59,130,246,.1);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text)}.side-effects{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:rgba(245,158,11,.1);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-warning)}.medication-notes{padding:var(--spacing-sm);background:#f8fafc;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.prescribed-by{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.medication-actions{display:flex;gap:var(--spacing-sm)}.stat-icon{width:32px;height:32px;margin-bottom:var(--spacing-sm)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.role-stats{display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.stat-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.permissions-preview h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.permissions-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}@media (max-width: 768px){.appointments-header{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.appointment-card,.appointment-details{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.appointment-actions{flex-direction:row;justify-content:center}.session-details{grid-template-columns:1fr}.session-actions{justify-content:center}.medication-header{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}}.billing-section{padding:24px}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;background:white;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.summary-card.total{border-left:4px solid #3b82f6}.summary-card.paid{border-left:4px solid #22c55e}.summary-card.remaining{border-left:4px solid #ef4444}.summary-card.rate{border-left:4px solid #8b5cf6}.summary-icon{width:40px;height:40px;padding:8px;border-radius:8px;background:rgba(59,130,246,.1);color:#3b82f6}.summary-card.paid .summary-icon{background:rgba(34,197,94,.1);color:#22c55e}.summary-card.remaining .summary-icon{background:rgba(239,68,68,.1);color:#ef4444}.summary-card.rate .summary-icon{background:rgba(139,92,246,.1);color:#8b5cf6}.summary-value{font-size:24px;font-weight:700;color:#1f2937}.summary-label{font-size:14px;color:#64748b;margin-top:4px}.billing-tabs{background:white;border-radius:12px;box-shadow:0 4px 16px #0000000d;overflow:hidden}.tabs-list{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0}.tab-btn{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;cursor:pointer;transition:all .2s ease;color:#64748b;font-weight:500;border-bottom:3px solid transparent}.tab-icon{width:18px;height:18px}.tab-content{padding:24px}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.invoice-card{background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden;transition:all .2s ease}.invoice-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.invoice-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0}.invoice-info h3{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px}.invoice-meta{display:flex;align-items:center;gap:16px}.invoice-status{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.invoice-status.paid{background:#dcfce7;color:#166534}.invoice-status.partial{background:#fef3c7;color:#92400e}.invoice-status.pending{background:#fecaca;color:#991b1b}.action-btn{width:35px;height:35px;border:1px solid #e2e8f0;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.action-btn.view{background:#e3f2fd;border-color:#bbdefb}.action-btn.view:hover{background:#1976d2}.action-btn.print{background:#f3e5f5;border-color:#ce93d8}.action-btn.print:hover{background:#7b1fa2}.action-btn.download{background:#e8f5e8;border-color:#a5d6a7}.action-btn.download:hover{background:#388e3c}.action-icon{width:16px;height:16px}.invoice-content{padding:20px}.services-list{margin-bottom:20px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:8px;border:1px solid #e2e8f0}.service-name{font-weight:500;color:#1f2937}.service-price{font-weight:600;color:#3b82f6}.invoice-totals{border-top:1px solid #e2e8f0;padding-top:16px}.total-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.total-row.discount{color:#22c55e}.total-row.insurance{color:#3b82f6}.total-row.final{font-size:16px;font-weight:700;color:#1f2937;border-top:1px solid #e2e8f0;padding-top:12px;margin-top:8px}.payment-status{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.payment-row.paid{color:#22c55e;font-weight:600}.payment-row.remaining{color:#ef4444;font-weight:600}.invoice-notes{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#f0f9ff;border-radius:8px;border-left:4px solid #3b82f6}.notes-icon{width:16px;height:16px;color:#3b82f6;margin-top:2px}.payments-list{display:flex;flex-direction:column;gap:16px}.payment-card{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.payment-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-info h4{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.payment-invoice{font-size:12px;color:#64748b}.payment-amount{font-size:20px;font-weight:700;color:#22c55e}.payment-details{border-top:1px solid #e2e8f0;padding-top:16px}.payment-meta{display:flex;gap:20px;margin-bottom:12px;flex-wrap:wrap}.payment-meta span{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b}.payment-notes{font-style:italic;color:#64748b;margin:0}.financial-report{display:flex;flex-direction:column;gap:24px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.report-card{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.report-card h3{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:20px}.report-stats{display:flex;flex-direction:column;gap:12px}.report-stat{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px}.stat-label{color:#64748b;font-size:14px}.stat-value{font-weight:600;color:#1f2937}.payment-chart{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:24px;text-align:center}.payment-chart h3{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:20px}.chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#64748b}.chart-icon{width:48px;height:48px;margin-bottom:12px;opacity:.5}.dental-chart-container{padding:24px}.dental-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.teeth-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.teeth-stats .stat-item{display:flex;align-items:center;gap:12px;padding:16px;background:white;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.teeth-stats .stat-icon{width:24px;height:24px}.teeth-stats .stat-item.healthy .stat-icon{color:#22c55e}.teeth-stats .stat-item.need-treatment .stat-icon{color:#ef4444}.teeth-stats .stat-item.treated .stat-icon{color:#3b82f6}.teeth-stats .stat-item.missing .stat-icon{color:#6b7280}.teeth-stats .stat-number{font-size:20px;font-weight:700;color:#1f2937}.teeth-stats .stat-label{font-size:12px;color:#64748b}.legend{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:32px}.legend h3{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.legend-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.legend-color{width:32px;height:32px;border-radius:6px;border:2px solid;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.legend-text{display:flex;flex-direction:column}.legend-label{font-weight:600;color:#1f2937;font-size:14px}.legend-description{font-size:12px;color:#64748b}.dental-chart{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:32px;box-shadow:0 4px 16px #0000000d}.jaw{margin-bottom:40px}.jaw-title{text-align:center;font-size:18px;font-weight:600;color:#1f2937;margin-bottom:20px}.teeth-row{display:flex;align-items:center;justify-content:center;gap:20px}.teeth-side{display:flex;flex-direction:column;align-items:center;gap:12px}.side-label{font-size:12px;color:#64748b;font-weight:500}.teeth-grid{display:flex;gap:4px}.tooth{width:40px;height:50px;border:2px solid;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px}.tooth:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003;z-index:10}.tooth.high{box-shadow:0 0 0 2px #ef4444}.tooth.urgent{box-shadow:0 0 0 2px #dc2626;animation:pulse 2s infinite}.tooth-number{font-size:10px;font-weight:700;line-height:1}.tooth-icon{font-size:16px;font-weight:700}.tooth-indicator{position:absolute;width:8px;height:8px;border-radius:50%}.tooth-indicator.notes{top:-4px;right:-4px;background:#3b82f6}.tooth-indicator.priority{top:-4px;left:-4px;background:#ef4444}.center-line{width:2px;height:60px;background:#e2e8f0}.jaw-separator{display:flex;align-items:center;justify-content:center;gap:16px;margin:32px 0}.separator-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.separator-text{font-size:14px;color:#64748b;font-weight:500;padding:0 16px}.photo-gallery{padding:24px}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.view-controls{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:4px}.view-icon{width:16px;height:16px}.photos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.category-stat{display:flex;align-items:center;gap:12px;padding:16px;background:white;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.category-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.category-info{display:flex;flex-direction:column}.category-count{font-size:18px;font-weight:700;color:#1f2937}.category-label{font-size:12px;color:#64748b}.gallery-filters{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:24px}.category-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#64748b}.filter-btn:hover{background:rgba(59,130,246,.1);border-color:#3b82f6;color:#3b82f6}.filter-btn.active{background:var(--category-color, #3b82f6);border-color:var(--category-color, #3b82f6);color:#fff}.photos-container{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.photos-grid.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.photos-grid.list{display:flex;flex-direction:column;gap:16px}.photo-card{background:white;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.photo-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.photo-preview{position:relative;height:200px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s ease}.overlay-btn{width:40px;height:40px;border-radius:50%;background:white;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.overlay-btn:hover{transform:scale(1.1)}.overlay-icon{width:18px;height:18px}.category-badge{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;box-shadow:0 2px 8px #0000004d}.photo-info{padding:16px}.photo-title{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 8px}.photo-description{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.4}.photo-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.meta-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.photo-tags{display:flex;flex-wrap:wrap;gap:6px}.photo-tag{display:flex;align-items:center;gap:4px;padding:2px 8px;background:#f1f5f9;border-radius:12px;font-size:11px;color:#64748b}.upload-category{margin-bottom:24px}.upload-category label{display:block;font-weight:600;color:#1f2937;margin-bottom:12px}.category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.category-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid #e2e8f0;border-radius:12px;transition:all .2s ease;background:white}.category-option input[type=radio]:checked+.category-content{border-color:#3b82f6;background:rgba(59,130,246,.05)}.category-emoji{font-size:24px}.category-name{font-size:12px;font-weight:500;color:#1f2937;text-align:center}.upload-zone{border:2px dashed #e2e8f0;border-radius:12px;padding:40px;text-align:center;transition:all .2s ease}.upload-zone:hover{border-color:#3b82f6;background:rgba(59,130,246,.02)}.upload-area{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}.upload-icon{width:48px;height:48px;color:#3b82f6}.upload-area h3{font-size:18px;font-weight:600;color:#1f2937;margin:0}.upload-area p{color:#64748b;margin:0}.upload-note{font-size:12px;color:#9ca3af}.empty-state,.empty-gallery{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b}.empty-icon{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-state h3,.empty-gallery h3{font-size:20px;font-weight:600;margin-bottom:8px;color:#374151}.empty-state p,.empty-gallery p{margin-bottom:24px}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-textarea{resize:vertical;font-family:inherit}.tooth-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin-bottom:20px}.tooth-info h4{font-size:16px;font-weight:600;color:#0c4a6e;margin:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.dental-chart{padding:20px}.teeth-grid{gap:2px}.tooth{width:32px;height:40px;font-size:10px}.teeth-row{gap:12px}.photos-grid.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.summary-grid,.teeth-stats{grid-template-columns:repeat(2,1fr)}.photos-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.summary-grid,.teeth-stats{grid-template-columns:1fr}.photos-stats{grid-template-columns:repeat(2,1fr)}.tooth{width:28px;height:36px}.tooth-number{font-size:8px}.tooth-icon{font-size:12px}}.certificates-section{padding:24px}.certificates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.certificates-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.certificates-stats .stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:white;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.certificates-stats .stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.certificates-stats .stat-card.total{border-left:4px solid #3b82f6}.certificates-stats .stat-card.active{border-left:4px solid #22c55e}.certificates-stats .stat-card.expired{border-left:4px solid #ef4444}.certificates-stats .stat-card.sick-leave{border-left:4px solid #f59e0b}.certificates-stats .stat-icon{width:32px;height:32px;padding:6px;border-radius:8px;background:rgba(59,130,246,.1);color:#3b82f6}.certificates-stats .stat-card.active .stat-icon{background:rgba(34,197,94,.1);color:#22c55e}.certificates-stats .stat-card.expired .stat-icon{background:rgba(239,68,68,.1);color:#ef4444}.certificates-stats .stat-card.sick-leave .stat-icon{background:rgba(245,158,11,.1);color:#f59e0b}.certificates-list{background:white;border-radius:12px;box-shadow:0 4px 16px #0000000d;overflow:hidden}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;padding:24px}.certificate-card{background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden;transition:all .2s ease}.certificate-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.certificate-header{padding:20px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0}.certificate-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.certificate-type{display:flex;align-items:center;gap:12px}.type-icon{font-size:24px}.certificate-type h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.certificate-number{font-size:12px;color:#64748b}.certificate-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.status-badge,.type-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.certificate-actions{display:flex;gap:8px}.certificate-content{padding:20px}.certificate-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.detail-label{font-size:12px;color:#64748b;font-weight:500}.detail-value{font-size:14px;font-weight:600;color:#1f2937}.certificate-diagnosis,.certificate-recommendations,.certificate-restrictions{margin-bottom:16px}.certificate-diagnosis h4,.certificate-recommendations h4,.certificate-restrictions h4{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.certificate-diagnosis p{background:#f0f9ff;border:1px solid #bae6fd;border-left:4px solid #3b82f6;padding:12px;border-radius:6px;margin:0;color:#1f2937}.certificate-recommendations p{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;padding:12px;border-radius:6px;margin:0;color:#1f2937}.certificate-restrictions p{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f59e0b;padding:12px;border-radius:6px;margin:0;color:#1f2937}.certificate-notes{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.notes-icon{width:16px;height:16px;color:#64748b;margin-top:2px}.certificate-preview{background:white;border:2px solid #3b82f6;border-radius:12px;padding:32px;margin:20px 0;box-shadow:0 8px 32px #0000001a}.certificate-header-preview{text-align:center;margin-bottom:32px;border-bottom:2px solid #e2e8f0;padding-bottom:24px}.certificate-header-preview h1{font-size:32px;font-weight:700;color:#3b82f6;margin:0 0 8px}.certificate-header-preview h2{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 12px}.certificate-header-preview p{font-size:14px;color:#64748b;margin:0}.certificate-body-preview{line-height:1.8}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}.preview-section h3{font-size:16px;font-weight:600;color:#3b82f6;margin-bottom:12px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.preview-details p{margin:8px 0;font-size:14px;color:#1f2937}.diagnosis-section,.recommendations-section,.restrictions-section{margin-bottom:24px}.diagnosis-section h3,.recommendations-section h3,.restrictions-section h3{font-size:16px;font-weight:600;color:#3b82f6;margin-bottom:12px}.diagnosis-content,.recommendations-content,.restrictions-content{background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;padding:16px;border-radius:8px;font-size:14px;color:#1f2937;line-height:1.6}.rest-days-section{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:20px;margin-bottom:24px}.rest-days-section h3{font-size:16px;font-weight:600;color:#dc2626;margin-bottom:8px}.rest-days-content{font-size:24px;font-weight:700;color:#dc2626}.doctor-signature{display:flex;justify-content:space-between;align-items:flex-end;margin-top:40px;padding-top:24px;border-top:1px solid #e2e8f0}.signature-section h4{font-size:14px;font-weight:600;color:#3b82f6;margin-bottom:8px}.signature-section p{margin:4px 0;font-size:14px;color:#1f2937}.stamp-section{text-align:center}.stamp-placeholder{width:120px;height:60px;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9ca3af;margin-bottom:12px}.signature-line{width:120px;height:2px;background:#374151;margin-bottom:8px}.stamp-section p{font-size:12px;color:#64748b;margin:0}.patient-info-section{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-bottom:24px}.patient-info-section h4{font-size:16px;font-weight:600;color:#0c4a6e;margin-bottom:12px}.patient-summary{display:flex;align-items:center;gap:12px}.patient-icon{width:24px;height:24px;color:#0284c7}.patient-summary div{display:flex;flex-direction:column;gap:4px}.patient-summary strong{font-size:16px;color:#0c4a6e}.patient-summary span{font-size:12px;color:#0369a1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}@media (max-width: 768px){.certificates-stats{grid-template-columns:repeat(2,1fr)}.certificates-grid{grid-template-columns:1fr;padding:16px}.preview-grid{grid-template-columns:1fr}.doctor-signature{flex-direction:column;gap:24px;text-align:center}.form-grid{grid-template-columns:1fr}}@media (max-width: 480px){.certificates-stats{grid-template-columns:1fr}.certificate-preview{padding:20px}.certificate-header-preview h1{font-size:24px}.certificate-header-preview h2{font-size:16px}}.billing-section{padding:24px;background:#f8fafc;min-height:100vh}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:white;padding:24px;border-radius:16px;box-shadow:0 4px 16px #0000000d}.title-icon{width:28px;height:28px;color:#3b82f6}.header-actions{display:flex;gap:12px}.financial-summary{margin-bottom:32px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.summary-card{display:flex;align-items:center;gap:16px;padding:24px;background:white;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-color)}.summary-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.summary-card.total{--card-color: #3b82f6;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%)}.summary-card.paid{--card-color: #22c55e;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.summary-card.remaining{--card-color: #ef4444;background:linear-gradient(135deg,#fef2f2 0%,#fecaca 100%)}.summary-card.rate{--card-color: #8b5cf6;background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 100%)}.summary-icon{width:48px;height:48px;padding:12px;border-radius:12px;background:rgba(255,255,255,.8);color:var(--card-color);box-shadow:0 4px 12px #0000001a}.summary-content{display:flex;flex-direction:column}.summary-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1}.summary-label{font-size:14px;color:#64748b;margin-top:4px;font-weight:500}.billing-tabs{background:white;border-radius:16px;box-shadow:0 4px 16px #0000000d;overflow:hidden}.tabs-list{display:flex;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0}.tab-btn{display:flex;align-items:center;gap:8px;padding:20px 28px;background:transparent;border:none;cursor:pointer;transition:all .2s ease;color:#64748b;font-weight:600;border-bottom:3px solid transparent}.tab-btn:hover{color:#3b82f6;background:rgba(59,130,246,.05)}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:white}.tab-icon{width:20px;height:20px}.tab-content{padding:32px;min-height:400px}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:24px}.invoice-card{background:white;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #0000000d;overflow:hidden;transition:all .3s ease;position:relative}.invoice-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transform:scaleX(0);transition:transform .3s ease}.invoice-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.invoice-card:hover:before{transform:scaleX(1)}.invoice-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0}.invoice-info h3{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 8px}.invoice-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.invoice-date{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b}.meta-icon{width:16px;height:16px}.invoice-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-icon{width:14px;height:14px}.invoice-actions{display:flex;gap:8px}.action-btn.view{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-color:#90caf9}.action-btn.view:hover{background:#1976d2;border-color:#1976d2}.action-btn.view:hover .action-icon{color:#fff}.action-btn.print{background:linear-gradient(135deg,#f3e5f5 0%,#e1bee7 100%);border-color:#ce93d8}.action-btn.print:hover{background:#7b1fa2;border-color:#7b1fa2}.action-btn.print:hover .action-icon{color:#fff}.action-btn.download{background:linear-gradient(135deg,#e8f5e8 0%,#c8e6c9 100%);border-color:#a5d6a7}.action-btn.download:hover{background:#388e3c;border-color:#388e3c}.action-btn.download:hover .action-icon{color:#fff}.action-icon{width:18px;height:18px;transition:color .2s ease}.invoice-content{padding:24px}.services-list{margin-bottom:24px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;margin-bottom:8px;border:1px solid #e2e8f0;transition:all .2s ease}.service-item:hover{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#bae6fd}.service-name{font-weight:600;color:#1f2937;font-size:14px}.service-price{font-weight:700;color:#3b82f6;font-size:16px}.invoice-totals{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px}.total-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.total-row:last-child{border-bottom:none}.total-row.discount{color:#22c55e;font-weight:600}.total-row.insurance{color:#3b82f6;font-weight:600}.total-row.tax{color:#64748b}.total-row.final{font-size:18px;font-weight:700;color:#1f2937;border-top:2px solid #e2e8f0;margin-top:12px;background:white;padding:16px;border-radius:8px;box-shadow:0 2px 8px #0000000d}.payment-status{background:white;border-radius:12px;padding:20px;border:1px solid #e2e8f0;margin-top:16px}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:16px;font-weight:600}.payment-row.paid{color:#22c55e;background:#f0fdf4;padding:12px 16px;border-radius:8px;margin-bottom:8px}.payment-row.remaining{color:#ef4444;background:#fef2f2;padding:12px 16px;border-radius:8px}.invoice-notes{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:12px;border:1px solid #bae6fd;border-left:4px solid #3b82f6}.notes-icon{width:20px;height:20px;color:#3b82f6;margin-top:2px}.invoice-notes span{color:#1f2937;line-height:1.6;font-style:italic}.payments-list{display:flex;flex-direction:column;gap:20px}.payment-card{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}.payment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a)}.payment-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.payment-info h4{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 4px}.payment-invoice{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:12px}.payment-amount{font-size:24px;font-weight:700;color:#22c55e;background:#f0fdf4;padding:8px 16px;border-radius:12px;border:1px solid #bbf7d0}.payment-details{border-top:1px solid #e2e8f0;padding-top:20px}.payment-meta{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.payment-meta span{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b;background:#f8fafc;padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0}.payment-notes{font-style:italic;color:#64748b;margin:0;background:#f8fafc;padding:12px;border-radius:8px;border-left:4px solid #3b82f6}.financial-report{display:flex;flex-direction:column;gap:32px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.report-card{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:28px;box-shadow:0 4px 16px #0000000d;transition:all .2s ease}.report-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.report-card h3{font-size:20px;font-weight:700;color:#1f2937;margin-bottom:24px;display:flex;align-items:center;gap:8px}.report-stats{display:flex;flex-direction:column;gap:16px}.report-stat{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.report-stat:hover{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#bae6fd}.stat-label{color:#64748b;font-size:14px;font-weight:500}.stat-value{font-weight:700;color:#1f2937;font-size:16px}.stat-value.paid{color:#22c55e}.stat-value.remaining{color:#ef4444}.payment-chart{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:28px;text-align:center;box-shadow:0 4px 16px #0000000d}.payment-chart h3{font-size:20px;font-weight:700;color:#1f2937;margin-bottom:24px}.chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:250px;color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;border:2px dashed #e2e8f0}.chart-icon{width:64px;height:64px;margin-bottom:16px;opacity:.5}.chart-placeholder p{font-size:16px;font-weight:500}.btn-primary{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-outline{background:white;color:#3b82f6;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000d}.btn-outline:hover{background:#3b82f6;color:#fff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 6px 16px #3b82f64d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:16px;border:2px dashed #e2e8f0}.empty-state h3{font-size:24px;font-weight:700;margin-bottom:12px;color:#374151}.empty-state p{font-size:16px;margin-bottom:28px;line-height:1.6}@media (max-width: 1024px){.summary-grid{grid-template-columns:repeat(2,1fr)}.invoices-grid,.report-grid{grid-template-columns:1fr}}@media (max-width: 768px){.billing-section{padding:16px}.billing-header{flex-direction:column;gap:16px;align-items:stretch;padding:20px}.header-actions{justify-content:center}.summary-grid{grid-template-columns:1fr;gap:16px}.tabs-list{flex-direction:column}.tab-btn{justify-content:center;border-bottom:none;border-left:3px solid transparent}.tab-btn.active{border-left-color:#3b82f6;border-bottom-color:transparent}.tab-content{padding:20px}.payment-meta{flex-direction:column;gap:12px}.invoice-header{flex-direction:column;gap:16px;align-items:stretch}.invoice-actions{justify-content:center}}@media (max-width: 480px){.invoice-meta{flex-direction:column;gap:8px;align-items:flex-start}.payment-header{flex-direction:column;gap:12px;align-items:stretch;text-align:center}.action-btn{width:38px;height:38px}.action-icon{width:16px;height:16px}}.dental-chart-container{padding:24px;background:#f8fafc;min-height:100vh}.dental-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:white;padding:24px;border-radius:16px;box-shadow:0 4px 16px #0000000d}.chart-actions{display:flex;gap:12px}.teeth-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.teeth-stats .stat-item{display:flex;align-items:center;gap:16px;padding:24px;background:white;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}.teeth-stats .stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--stat-color)}.teeth-stats .stat-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.teeth-stats .stat-item.healthy{--stat-color: #22c55e;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.teeth-stats .stat-item.need-treatment{--stat-color: #ef4444;background:linear-gradient(135deg,#fef2f2 0%,#fecaca 100%)}.teeth-stats .stat-item.treated{--stat-color: #3b82f6;background:linear-gradient(135deg,#f0f9ff 0%,#dbeafe 100%)}.teeth-stats .stat-item.missing{--stat-color: #6b7280;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%)}.teeth-stats .stat-icon{width:32px;height:32px;padding:6px;border-radius:12px;background:rgba(255,255,255,.8);color:var(--stat-color);box-shadow:0 4px 12px #0000001a}.teeth-stats .stat-number{font-size:24px;font-weight:700;color:#1f2937;line-height:1}.teeth-stats .stat-label{font-size:14px;color:#64748b;margin-top:4px;font-weight:500}.legend{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:28px;margin-bottom:32px;box-shadow:0 4px 16px #0000000d}.legend h3{font-size:20px;font-weight:700;color:#1f2937;margin-bottom:20px;text-align:center}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.legend-item{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.legend-item:hover{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#bae6fd;transform:translateY(-1px)}.legend-color{width:40px;height:40px;border-radius:8px;border:2px solid;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;box-shadow:0 4px 12px #0000001a}.legend-text{display:flex;flex-direction:column;gap:4px}.legend-label{font-weight:700;color:#1f2937;font-size:16px}.legend-description{font-size:12px;color:#64748b;line-height:1.4}.dental-chart{background:white;border:1px solid #e2e8f0;border-radius:20px;padding:40px;box-shadow:0 8px 32px #00000014;position:relative;overflow:hidden}.dental-chart:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#3b82f6)}.jaw{margin-bottom:48px}.jaw-title{text-align:center;font-size:20px;font-weight:700;color:#1f2937;margin-bottom:24px;padding:12px 24px;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:12px;border:1px solid #bae6fd}.teeth-row{display:flex;align-items:center;justify-content:center;gap:32px}.teeth-side{display:flex;flex-direction:column;align-items:center;gap:16px}.side-label{font-size:14px;color:#64748b;font-weight:600;background:#f8fafc;padding:6px 12px;border-radius:20px;border:1px solid #e2e8f0}.teeth-grid{display:flex;gap:6px}.tooth{width:48px;height:60px;border:3px solid;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px;background:white;box-shadow:0 4px 12px #0000001a}.tooth:hover{transform:scale(1.15) translateY(-4px);box-shadow:0 12px 32px #0003;z-index:10}.tooth.high{box-shadow:0 0 0 3px #f59e0b,0 4px 12px #0000001a}.tooth.urgent{box-shadow:0 0 0 3px #ef4444,0 4px 12px #0000001a;animation:urgentPulse 2s infinite}@keyframes urgentPulse{0%,to{box-shadow:0 0 0 3px #ef4444,0 4px 12px #0000001a}50%{box-shadow:0 0 0 6px #ef444480,0 4px 12px #0000001a}}.tooth-number{font-size:11px;font-weight:700;line-height:1;background:rgba(255,255,255,.9);padding:2px 4px;border-radius:4px;color:#374151}.tooth-icon{font-size:20px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.tooth-indicator{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003}.tooth-indicator.notes{top:-5px;right:-5px;background:#3b82f6}.tooth-indicator.priority{top:-5px;left:-5px;background:#ef4444}.center-line{width:3px;height:80px;background:linear-gradient(180deg,#e2e8f0,#cbd5e1,#e2e8f0);border-radius:2px;box-shadow:0 2px 8px #0000001a}.jaw-separator{display:flex;align-items:center;justify-content:center;gap:20px;margin:40px 0}.separator-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#cbd5e1,transparent)}.separator-text{font-size:16px;color:#64748b;font-weight:600;padding:8px 20px;background:white;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 8px #0000000d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;border-radius:8px;box-shadow:0 25px 50px -12px #00000040;width:90%;max-width:650px;max-height:90vh;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.tooth-info{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-bottom:24px;text-align:center}.tooth-info h4{font-size:18px;font-weight:700;color:#0c4a6e;margin:0;line-height:1.4}.form-group label{display:block;font-weight:500;color:var(--color-text);font-size:14px}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:none}.form-textarea{resize:vertical;min-height:100px}.form-select{cursor:pointer}@media (max-width: 1024px){.teeth-stats,.legend-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dental-chart-container{padding:16px}.dental-chart{padding:24px}.dental-chart-header{flex-direction:column;gap:16px;align-items:stretch;padding:20px}.chart-actions{justify-content:center}.teeth-stats{grid-template-columns:1fr;gap:16px}.teeth-grid{gap:4px}.tooth{width:36px;height:48px;padding:4px}.tooth-number{font-size:9px}.tooth-icon{font-size:16px}.teeth-row{gap:20px}.legend-grid{grid-template-columns:1fr}.modal-content{width:95%;margin:16px}.modal-header,.modal-body,.modal-footer{padding:20px}}@media (max-width: 480px){.tooth{width:32px;height:42px}.tooth-number{font-size:8px}.tooth-icon{font-size:14px}.center-line{height:60px}.jaw-title{font-size:16px}.side-label{font-size:12px}}.photo-gallery{padding:24px;background:#f8fafc;min-height:100vh}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:white;padding:24px;border-radius:16px;box-shadow:0 4px 16px #0000000d}.view-controls{display:flex;gap:4px;background:#f1f5f9;border-radius:10px;padding:4px;border:1px solid #e2e8f0}.view-btn{padding:10px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#64748b}.view-btn.active{background:white;color:#3b82f6;box-shadow:0 2px 8px #0000001a}.view-icon{width:18px;height:18px}.photos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.category-stat{display:flex;align-items:center;gap:16px;padding:20px;background:white;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}.category-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--category-color)}.category-stat:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.category-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #0000001a}.category-info{display:flex;flex-direction:column;gap:2px}.category-count{font-size:20px;font-weight:700;color:#1f2937}.category-label{font-size:12px;color:#64748b;font-weight:600}.category-size{font-size:11px;color:#9ca3af}.gallery-filters{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 16px #0000000d}.search-section{margin-bottom:20px}.search-container:focus-within{border-color:#3b82f6;background:white;box-shadow:0 0 0 4px #3b82f61a}.search-icon{color:#64748b;margin-left:8px;width:20px;height:20px}.search-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#1f2937;font-weight:500}.category-filters{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{padding:12px 20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:25px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#64748b;font-weight:600}.filter-btn:hover{background:rgba(59,130,246,.1);border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px)}.filter-btn.active{background:var(--category-color, #3b82f6);border-color:var(--category-color, #3b82f6);color:#fff;box-shadow:0 4px 16px #0003}.photos-container{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000000d}.photos-grid.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.photo-card{background:white;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000000d;transition:all .3s ease;position:relative}.photo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transform:scaleX(0);transition:transform .3s ease}.photo-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.photo-card:hover:before{transform:scaleX(1)}.photo-preview{position:relative;height:220px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-card:hover .photo-preview img{transform:scale(1.05)}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.7),rgba(0,0,0,.5));display:flex;align-items:center;justify-content:center;gap:16px;opacity:0;transition:all .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.photo-preview:hover .photo-overlay{opacity:1}.overlay-btn{width:44px;height:44px;border-radius:50%;background:white;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0003}.overlay-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.overlay-btn.delete{background:#ef4444;color:#fff}.overlay-btn.delete:hover{background:#dc2626}.overlay-icon{width:20px;height:20px}.category-badge{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-info{padding:20px}.photo-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 8px;line-height:1.3}.photo-description{font-size:13px;color:#64748b;margin:0 0 16px;line-height:1.5}.photo-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.meta-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;background:#f8fafc;padding:6px 10px;border-radius:8px}.meta-icon{width:14px;height:14px}.photo-tags{display:flex;flex-wrap:wrap;gap:8px}.photo-tag{display:flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-radius:16px;font-size:11px;color:#64748b;border:1px solid #e2e8f0;transition:all .2s ease}.photo-tag:hover{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#93c5fd;color:#1d4ed8}.tag-icon{width:10px;height:10px}.upload-category{margin-bottom:28px}.upload-category label{display:block;font-weight:700;color:#1f2937;margin-bottom:16px;font-size:16px}.category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.category-option{cursor:pointer}.category-option input[type=radio]{display:none}.category-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:2px solid #e2e8f0;border-radius:16px;transition:all .2s ease;background:white}.category-option input[type=radio]:checked+.category-content{border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);box-shadow:0 4px 16px #3b82f633}.category-emoji{font-size:28px}.category-name{font-size:13px;font-weight:600;color:#1f2937;text-align:center}.upload-zone{border:3px dashed #cbd5e1;border-radius:16px;padding:48px;text-align:center;transition:all .3s ease;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)}.upload-zone:hover{border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);transform:translateY(-2px)}.file-input{display:none}.upload-area{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:16px}.upload-icon{width:64px;height:64px;color:#3b82f6;margin-bottom:8px}.upload-area h3{font-size:20px;font-weight:700;color:#1f2937;margin:0}.upload-area p{color:#64748b;margin:0;font-size:14px}.upload-note{font-size:12px;color:#9ca3af;font-style:italic}.empty-gallery{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:16px;border:2px dashed #e2e8f0}.empty-icon{width:80px;height:80px;margin-bottom:20px;opacity:.5}.empty-gallery h3{font-size:24px;font-weight:700;margin-bottom:12px;color:#374151}.empty-gallery p{font-size:16px;margin-bottom:28px;line-height:1.6}.photos-grid.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.photos-grid.list{display:flex;flex-direction:column;gap:20px}.photos-grid.list .photo-card{display:flex;flex-direction:row;height:120px}.photos-grid.list .photo-preview{width:160px;height:120px;flex-shrink:0}.photos-grid.list .photo-info{flex:1;display:flex;flex-direction:column;justify-content:space-between}@media (max-width: 1024px){.photos-stats{grid-template-columns:repeat(3,1fr)}.photos-grid.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.photo-gallery{padding:16px}.gallery-header{flex-direction:column;gap:16px;align-items:stretch;padding:20px}.photos-stats{grid-template-columns:repeat(2,1fr);gap:12px}.photos-grid.grid{grid-template-columns:1fr;gap:20px}.photos-grid.list .photo-card{flex-direction:column;height:auto}.photos-grid.list .photo-preview{width:100%;height:200px}.category-options{grid-template-columns:repeat(2,1fr)}.upload-zone{padding:32px 20px}.upload-icon{width:48px;height:48px}.upload-area h3{font-size:18px}}@media (max-width: 480px){.photos-stats,.category-options{grid-template-columns:1fr}.category-filters{flex-direction:column}.filter-btn{text-align:center}.photo-meta,.photo-tags{gap:6px}}.connection-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;min-width:400px;max-width:600px;padding:16px 20px;border-radius:12px;box-shadow:0 4px 16px #00000026;display:flex;align-items:center;justify-content:space-between;gap:16px;animation:slideDown .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.connection-banner.offline{background:linear-gradient(135deg,#fee2e2 0%,#fef3c7 100%);border-left:4px solid #dc2626}.connection-banner.server-error{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-left:4px solid #dc2626}.connection-banner.database-error{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left:4px solid #f59e0b}.connection-banner.online{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-left:4px solid #10b981}.banner-content{display:flex;align-items:flex-start;gap:12px;flex:1}.banner-icon{font-size:24px;line-height:1;flex-shrink:0}.banner-text{flex:1}.banner-text strong{display:block;font-size:15px;font-weight:600;margin-bottom:4px;color:#1f2937}.banner-text p{margin:0;font-size:13px;color:#4b5563;line-height:1.4}.banner-text small{display:block;margin-top:4px;font-size:11px;color:#6b7280;font-weight:500}.banner-actions{display:flex;gap:8px;align-items:center}.banner-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.banner-btn.retry{background-color:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.banner-btn.retry:hover:not(:disabled){background-color:#f9fafb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.banner-btn.retry:disabled{opacity:.5;cursor:not-allowed}.banner-btn.close{background-color:transparent;color:#6b7280;padding:4px 8px;font-size:18px;line-height:1}.banner-btn.close:hover{color:#1f2937;background-color:#0000000d}.connection-banner.offline .banner-text strong,.connection-banner.server-error .banner-text strong{color:#dc2626}.connection-banner.database-error .banner-text strong{color:#d97706}.connection-banner.online .banner-text strong{color:#059669}.connection-banner.offline .banner-btn.retry,.connection-banner.server-error .banner-btn.retry{border:1px solid #fca5a5;color:#dc2626}.connection-banner.database-error .banner-btn.retry{border:1px solid #fcd34d;color:#d97706}.connection-banner.online .banner-btn.retry{border:1px solid #6ee7b7;color:#059669}@keyframes slideDown{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}@media (max-width: 640px){.connection-banner{min-width:unset;width:calc(100% - 40px);max-width:unset;left:20px;right:20px;transform:none;padding:14px 16px}.banner-content{gap:10px}.banner-icon{font-size:20px}.banner-text strong{font-size:14px}.banner-text p{font-size:12px}.banner-btn{padding:6px 12px;font-size:12px}.banner-actions{gap:6px}}@media (prefers-color-scheme: dark){.connection-banner.offline,.connection-banner.server-error{background:linear-gradient(135deg,#7f1d1d 0%,#991b1b 100%)}.connection-banner.database-error{background:linear-gradient(135deg,#78350f 0%,#92400e 100%)}.connection-banner.online{background:linear-gradient(135deg,#065f46 0%,#047857 100%)}.banner-text strong,.banner-text p{color:#fff}.banner-btn.retry{background-color:#ffffffe6}.banner-btn.close{color:#ffffffb3}.banner-btn.close:hover{color:#fff;background-color:#ffffff1a}}.error-fallback-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb 0%,#1e40af 50%,#1e3a8a 100%);position:relative;overflow:hidden;padding:40px 20px}.error-bg-circle{position:absolute;background:rgba(255,255,255,.08);border-radius:50%}.error-bg-circle-1{width:500px;height:500px;top:-100px;left:-100px;animation:errorFloat 6s ease-in-out infinite}.error-bg-circle-2{width:300px;height:300px;bottom:-50px;right:-50px;animation:errorFloat 8s ease-in-out infinite reverse}@keyframes errorFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.error-content-wrapper{position:relative;z-index:1;width:100%;max-width:600px;animation:errorSlideIn .8s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-brand-logo{background:white;padding:12px 20px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a;margin-bottom:30px}.error-brand-logo img{width:160px;height:auto;object-fit:contain}.error-card{background:white;padding:50px 40px;border-radius:24px;box-shadow:0 20px 60px #00000040;text-align:center}.error-icon-wrapper{margin-bottom:24px;animation:errorPulse 2s ease-in-out infinite}.error-icon{color:#dc2626}@keyframes errorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-title{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 12px}.error-subtitle{color:#64748b;font-size:16px;line-height:1.6;margin:0 0 32px}.error-details{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;padding:16px;border-radius:12px;margin-bottom:24px}.error-details-summary{cursor:pointer;font-weight:600;color:#475569;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px}.error-details-content{font-size:12px;overflow:auto;margin-top:12px;padding:12px;background:#1e293b;border-radius:8px;color:#ef4444;line-height:1.5;max-height:200px;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.error-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s ease;border:none;font-family:inherit}.error-btn-primary{background:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb40}.error-btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 16px #2563eb59}.error-btn-primary:active{transform:translateY(0)}.error-btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.error-btn-secondary:hover{background:#e2e8f0;transform:translateY(-2px)}.error-btn-secondary:active{transform:translateY(0)}.error-footer{margin-top:8px}.error-divider{height:1px;background-color:#e2e8f0;margin:20px 0}.error-support-text{color:#64748b;font-size:14px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px}.error-support-link{color:#2563eb;font-weight:500;text-decoration:none;transition:all .2s ease}.error-support-link:hover{text-decoration:underline;color:#1e40af}@media (max-width: 768px){.error-fallback-container{padding:30px 20px}.error-brand-logo{padding:10px 16px;margin-bottom:20px}.error-brand-logo img{width:140px}.error-card{padding:40px 30px;border-radius:16px}.error-title{font-size:24px}.error-subtitle{font-size:15px}.error-icon-wrapper svg{width:60px;height:60px}.error-bg-circle-1,.error-bg-circle-2{display:none}}@media (max-width: 480px){.error-card{padding:30px 20px}.error-brand-logo img{width:120px}.error-title{font-size:22px}.error-actions{flex-direction:column}.error-btn{width:100%;justify-content:center}.error-support-text{flex-direction:column;gap:4px}}
