@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap);body{background-color:#000;color:#fff;margin:0;padding:0}button,input,select,textarea{font-family:inherit}.App{background-color:#2e3033;display:flex;flex-direction:column;font-family:Roboto Flex,sans-serif;height:100vh;min-height:100vh;text-align:center}.App,body,html{overflow:hidden}body,html{height:100%;margin:0;padding:0}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#000;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.main-container{background-color:#2e3033;display:flex;flex:1 1;margin-top:48px;overflow:hidden;position:relative;width:100%}.content,.main-container{height:calc(100vh - 48px)}.content{background-color:#f5f5f5;margin-left:0;overflow-y:auto;padding:0;transition:margin-left .3s ease}@media (min-width:768px){.content{margin-left:240px}}button{background-color:#b0b0b0;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s ease}button:hover{background-color:#8a8a8a}.agenda{flex-grow:1;width:100%}.app-header{background-color:#2e3033;box-shadow:0 2px 8px rgba(0,0,0,.3);left:0;padding:.5rem 0;position:fixed;right:0;top:0;z-index:1000}.header-content{align-items:center;display:flex;gap:.8rem;height:100%;padding-left:30px}.header-logo{height:32px;width:auto}.header-title{color:#fff;font-size:1.5rem;font-weight:600;letter-spacing:.5px;margin:0}.sidebar{background-color:#1e1f22;height:calc(100vh - 48px);left:0;overflow-x:hidden;overflow-y:auto;top:48px;transition:width .3s ease,transform .3s ease;width:240px;z-index:1000}.sidebar,.sidebar-toggle{color:#fff;position:fixed}.sidebar-toggle{background:none;border:none;cursor:pointer;display:none;font-size:24px;left:15px;top:15px;z-index:1100}.sidebar-item{align-items:center;color:#fff;display:flex;padding:12px 20px;text-decoration:none;transition:background-color .3s ease}.sidebar-item:hover{background-color:hsla(0,0%,100%,.1)}.sidebar-icon{font-size:18px;margin-right:10px}.sidebar.collapsed{width:60px}.sidebar.collapsed .sidebar-item{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-icon{margin-right:0}.sidebar-nav-items{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding-bottom:100px;padding-top:12px}.sidebar-content{display:flex;flex-direction:column;height:100%}.signout-button{align-items:center;background:none;background-color:#212121;border:none;bottom:0;box-shadow:0 -4px 6px -2px rgba(0,0,0,.1);color:#f44;cursor:pointer;display:flex;padding:15px;position:absolute;text-align:left;transition:width .3s ease;width:100%;width:240px;z-index:10}.signout-button:hover{background-color:rgba(255,68,68,.1)}.sidebar.collapsed .signout-button{justify-content:center;padding:15px 0;width:60px}.tenant-info{border-bottom:1px solid #444;padding:20px;text-align:center}.tenant-info h3{word-wrap:break-word;color:#b0b0b0;font-size:14px;font-weight:400;margin:0;white-space:normal}.collapse-toggle{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;bottom:60px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;left:50%;padding:0;position:absolute;transform:translateX(-50%);transition:background-color .2s ease;width:36px;z-index:15}.toggle-icon{font-size:18px;margin:0}.sidebar.collapsed .collapse-toggle{left:50%;transform:translateX(-50%)}.collapse-toggle:hover{background-color:hsla(0,0%,100%,.2)}@media (min-width:768px){.content{margin-left:240px;transition:margin-left .3s ease}.sidebar.collapsed+.content{margin-left:60px}}@media (max-width:768px){.sidebar{height:calc(100vh - 48px);left:0;padding-top:12px;position:fixed;top:48px;transform:translateX(-100%);transition:transform .3s ease;z-index:1050}.signout-button{width:240px}.sidebar.collapsed .signout-button{width:60px}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:block}}.listing-pr{flex:1 1;justify-content:center}.listing-pr h1,.listing-pr p{margin-bottom:20px}.listing-pr button,.listing-pr select,.react-datepicker-wrapper{background-color:grey;border:none;color:#000;cursor:pointer;margin:10px 0;padding:5px 10px}.listing-pr button{padding:10px 20px}.listing-pr{align-items:center;background-color:#343434;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;max-width:600px;padding:20px;width:60%}.spacing{margin-bottom:20px}.flex-container{align-items:center;display:flex}.remove-button{background-color:red;border:none;cursor:pointer;margin-left:10px}.patient-search-container{max-width:200px;min-width:100px;position:relative;width:fit-content;z-index:1000}.search-input-container{display:flex;gap:8px;margin-bottom:8px}.search-input{background:#2a2a2a;border-radius:6px;padding:12px;transition:all .2s ease}.search-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2)}.search-button{border-radius:6px;padding:12px 24px;transition:all .2s ease}.search-button:disabled{background:#444;cursor:not-allowed;transform:none}.patient-dropdown{background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.3);left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.patient-option{border-bottom:1px solid #444;cursor:pointer;padding:12px 16px;transition:all .2s ease}.patient-option:last-child{border-bottom:none}.patient-option:hover{background:linear-gradient(135deg,rgba(74,144,226,.1),rgba(53,122,189,.1));transform:translateX(4px)}.patient-name{color:#fff;display:block;font-weight:500;margin-bottom:4px}.patient-cpf{color:#888;display:block;font-size:12px}.no-results{background:#222;border-radius:6px;margin-top:8px;padding:16px}.patient-dropdown::-webkit-scrollbar{width:8px}.patient-dropdown::-webkit-scrollbar-track{background:#222;border-radius:4px}.patient-dropdown::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.patient-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.new-patient-link{color:#4caf50;cursor:pointer;display:block;font-weight:500;margin-top:8px;text-decoration:none}.new-patient-link:hover{text-decoration:underline}.new-patient-option{text-decoration:none}.new-patient-option .patient-name{color:#4caf50}.transcription-container{background:#1a1a1a;box-sizing:border-box;height:100vh;overflow-y:auto;padding:2rem;width:100%}.audio-controls{align-items:center;background:linear-gradient(145deg,#222,#2d2d2d);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;position:sticky;top:0;z-index:100}.record-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.75rem;transition:all .3s ease}.record-button:hover{background:linear-gradient(135deg,#357abd,#2868a5);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.record-button:active{box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(1px)}.recording-indicator{animation:pulse 1.5s infinite;color:#f44;font-weight:600;text-shadow:0 0 10px rgba(255,68,68,.3)}.audio-player{background:#333;border-radius:8px;flex:1 1;max-width:400px}.transcription-area{background:linear-gradient(145deg,#222,#2d2d2d);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);min-height:200px;padding:2rem}.content-section{background:rgba(42,42,42,.6);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);margin-bottom:2rem;padding:1.5rem}.content-section h3{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;font-size:1.3rem;font-weight:600;letter-spacing:.5px;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.anamnesis-text,.transcription-text{color:#fff;font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;overflow-x:hidden;width:100%}.anamnesis-text pre{word-wrap:break-word;color:#fff;margin:0;overflow-x:hidden;white-space:pre-wrap;width:100%}.edit-container{width:100%}.edit-textarea{background:#333;border:1px solid #444;border-radius:8px;color:#fff;font-size:1.1rem;line-height:1.8;margin-bottom:1rem;min-height:200px;padding:1.2rem;resize:vertical;transition:border-color .3s ease;width:100%}.edit-textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2);outline:none}.action-buttons{display:flex;gap:1rem;margin-top:1.5rem}.action-button{align-items:center;background:linear-gradient(135deg,#555,#444);border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;font-size:.95rem;gap:.5rem;padding:.6rem 1.2rem}.action-button:hover{background:linear-gradient(135deg,#666,#555);box-shadow:0 4px 6px rgba(0,0,0,.2);transform:translateY(-1px)}.action-button:active{box-shadow:0 1px 2px rgba(0,0,0,.1);transform:translateY(1px)}.loading-container{flex-direction:column;gap:1.5rem;padding:3rem;text-align:center}.loading-container p{color:#4a90e2;font-size:1.1rem;font-weight:500}.error-message{box-shadow:0 4px 6px rgba(255,68,68,.1);font-weight:500;padding:1.2rem;text-align:center}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.content{background:#141414;flex:1 1;height:100vh;overflow:hidden;position:relative}*{box-sizing:border-box;margin:0;padding:0}.audio-controls-wrapper{align-items:center;display:flex;gap:16px;width:100%}.record-button{flex-shrink:0}.patient-search-container{flex-grow:1;max-width:300px}.patient-info{display:flex;flex-direction:column;font-size:1.1rem;gap:.5rem;line-height:1.6}.patient-info p{margin:0}.patient-info strong{margin-right:.5rem}.pacientes-container{background:#1a1a1a;box-sizing:border-box;height:100vh;overflow-y:auto;padding:2rem;width:100%}.add-patient-section,.search-section{background:linear-gradient(145deg,#222,#2d2d2d);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);margin-bottom:2rem;padding:1.5rem}.section-title{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;font-size:1.3rem;font-weight:600;letter-spacing:.5px;margin:0 0 1.5rem;padding-bottom:.5rem}.patient-info{background:rgba(42,42,42,.6);border-radius:10px;color:#fff;margin-bottom:2rem;padding:1.5rem}.patient-info p{display:flex;gap:.5rem;margin:.5rem 0}.patient-info strong{color:#4a90e2;min-width:120px}.patient-info-grid{grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.info-item{background:rgba(50,50,50,.4);border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;padding:.8rem 1rem;transition:all .2s ease}.highlight-item{background:rgba(74,144,226,.15);border:1px solid rgba(74,144,226,.3)}.highlight-item .info-label{color:#5a9be6}.info-item:hover{background:rgba(60,60,60,.4);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.address-info{grid-column:span 2}.info-label{color:#4a90e2;font-size:.8rem;font-weight:500;margin-bottom:.3rem}.info-value{color:#fff;font-size:1rem;word-break:break-word}.form-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{gap:.5rem}.form-group label{color:#4a90e2;font-size:.9rem}.form-input{background:#333;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;padding:.8rem;transition:all .3s ease}.form-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2);outline:none}select.form-input{cursor:pointer}.submit-button{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem 1.75rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2868a5);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.message{border-radius:6px;font-weight:500;margin-top:1rem;padding:1rem;text-align:center}.success-message{background:linear-gradient(135deg,rgba(74,144,226,.1),rgba(53,122,189,.1));border:1px solid rgba(74,144,226,.3);color:#4a90e2}.error-message{background:linear-gradient(135deg,rgba(255,68,68,.1),rgba(255,68,68,.05));border:1px solid rgba(255,68,68,.3);color:#f44}.icon-spin{animation:spin 1s linear infinite}.patient-actions{display:flex;gap:12px;margin-bottom:20px;margin-top:20px;width:100%}.delete-button,.edit-button{align-items:center;border:none;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;text-align:center;transition:all .2s ease}.edit-button{background:linear-gradient(135deg,#4caf50,#45a049)}.edit-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.delete-button{background:linear-gradient(135deg,#dc3545,#c82333)}.delete-button:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.delete-confirm{background:#2a2a2a;border:1px solid rgba(220,53,69,.3);border-radius:8px;margin-top:15px;padding:20px}.delete-confirm p{color:#ff6b6b;font-weight:500;margin:0 0 20px;text-align:center}.confirm-buttons{display:flex;gap:12px;width:100%}.confirm-no,.confirm-yes{align-items:center;border:none;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;text-align:center;transition:all .2s ease}.confirm-yes{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.confirm-yes:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.confirm-yes:disabled{cursor:not-allowed;opacity:.7;transform:none}.confirm-no,.confirm-yes:disabled{background:linear-gradient(135deg,#6c757d,#5a6268)}.confirm-no{color:#fff}.confirm-no:hover{background:linear-gradient(135deg,#5a6268,#4e555b);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.patient-info .form-group{margin-bottom:16px}.patient-info input,.patient-info select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.patient-info input:focus,.patient-info select:focus{border-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.2);outline:none}.patient-info .readonly-field{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#999;margin:0;padding:8px}.patient-bookings-section{background-color:rgba(42,42,42,.6);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;margin-top:2rem;padding:1rem}.patient-bookings-section h4{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.5rem}.bookings-list{gap:1rem}.booking-item{grid-gap:1rem;align-items:center;background-color:#2a2a2a;border:1px solid hsla(0,0%,100%,.05);box-shadow:0 2px 4px rgba(0,0,0,.2);display:grid;gap:1rem;grid-template-columns:auto auto 1fr auto;padding:1rem}.booking-item.completed{background-color:rgba(76,175,80,.2);border:1px solid rgba(76,175,80,.3)}.booking-time{color:#bbb}.booking-procedures{display:flex;flex-wrap:wrap;gap:.5rem}.procedure-name{background-color:rgba(74,144,226,.2);border:1px solid rgba(74,144,226,.3);border-radius:4px;color:#4a90e2}.booking-status,.procedure-name{font-size:.9rem;padding:.25rem .5rem}.booking-status{border-radius:4px;color:#e0e0e0;font-weight:500}.pagination-controls{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.pagination-controls button{background-color:#333;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.pagination-controls button:hover:not(:disabled){background-color:#444;transform:translateY(-1px)}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.loading-indicator,.pagination-controls span{color:#bbb}.booking-container{background:#1a1a1a;box-sizing:border-box;height:100vh;overflow-y:auto;padding:2rem 2rem 4rem;width:100%}.booking-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}.booking-section{background:linear-gradient(145deg,#222,#2d2d2d);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);padding:1.5rem}.booking-section h3{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;font-size:1.3rem;font-weight:600;letter-spacing:.5px;margin:0 0 1.5rem;padding-bottom:.5rem}.professional-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.professional-card{background:#444;border-radius:8px;color:#fff;cursor:pointer;padding:15px;transition:all .3s ease}.professional-card:hover{background:#4a90e2;transform:scale(1.05)}.professional-card.selected{background:#4a90e2;border:2px solid #fff}.procedure-search{margin-bottom:15px}.procedure-search-input{background:#444;border:none;border-radius:8px;color:#fff;font-size:14px;padding:12px;width:100%}.procedure-search-input::placeholder{color:hsla(0,0%,100%,.6)}.procedure-list{background:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;max-height:300px;overflow-y:auto}.procedure-item{border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;cursor:pointer;padding:12px 15px;transition:background .2s ease}.procedure-item:hover{background:#4a90e2}.procedure-item:last-child{border-bottom:none}.subprocedure-list{background:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;max-height:300px;overflow-y:auto}.subprocedure-header{align-items:center;background:#333;border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;display:flex;gap:10px;padding:12px 15px}.subprocedure-header button{background:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px;transition:all .3s ease}.subprocedure-header button:hover{background:#357abd}.subprocedure-item{border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;cursor:pointer;padding:12px 15px;transition:background .2s ease}.subprocedure-item:hover{background:#4a90e2}.selected-procedures{border-top:1px solid hsla(0,0%,100%,.1);margin-top:20px;padding-top:15px}.selected-procedures h4{color:#4a90e2;margin-bottom:12px}.selected-procedure-item{align-items:center;background:linear-gradient(145deg,#444,#3d3d3d);border-left:4px solid #4a90e2;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px 15px}.procedure-details{display:flex;flex-direction:column;flex-grow:1;width:100%}.procedure-name{color:#e0e0e0;font-weight:500;margin-bottom:8px}.subprocedure-name{color:#4a90e2;font-style:italic}.procedure-value-edit{gap:8px}.procedure-value-edit label{color:#999;font-size:.85rem;width:65px}.procedure-value-edit input{background:#333;border:1px solid hsla(0,0%,100%,.1);border-radius:4px;color:#fff;flex-grow:1;font-size:.9rem;max-width:120px;padding:8px 10px}.procedure-value-edit input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2);outline:none}.procedure-actions{gap:5px;margin-left:auto}.discount-button,.remove-button{align-items:center;border:none;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.15);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.discount-button:hover{transform:scale(1.05)}.remove-button{background-color:#e74c3c;font-size:1.2rem}.remove-button:hover{background-color:#c0392b;transform:scale(1.05)}.discount-overlay{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);min-width:70px;right:45px;top:38px}.discount-overlay-header{border-bottom:1px solid hsla(0,0%,100%,.1);color:#4a90e2;font-size:.9rem;font-weight:500;margin-bottom:5px;padding-bottom:5px;text-align:center}.discount-overlay:before{background:#333;border-left:1px solid hsla(0,0%,100%,.1);border-top:1px solid hsla(0,0%,100%,.1);content:"";height:12px;position:absolute;right:15px;top:-6px;transform:rotate(45deg);width:12px}.discount-overlay button{padding:6px 10px}.discount-overlay button:hover{background-color:#4a90e2}.time-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.time-card{background:#444;border-radius:8px;color:#fff;cursor:pointer;padding:10px;text-align:center;transition:all .3s ease}.time-card:hover{background:#4a90e2;transform:scale(1.05)}.time-card.selected{background:#4a90e2;border:2px solid #fff}.date-input{background:#444;border:none;border-radius:8px;color:#fff;padding:12px;width:100%}.date-input::-webkit-calendar-picker-indicator{filter:invert(1)}.book-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1.5rem;padding:.75rem 1.75rem;transition:all .3s ease;width:100%}.book-button:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2868a5);box-shadow:0 6px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.book-button:disabled{cursor:not-allowed;opacity:.7}.date-time-container{display:flex;flex-direction:column;gap:15px}.date-time-container .duration-input,.date-time-container .time-grid{margin-top:10px}.time-selection-container{display:flex;gap:15px;justify-content:center;width:100%}.time-column{background:#444;border-radius:8px;padding:10px;width:120px}.time-column h4{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;margin-bottom:10px;padding-bottom:5px;text-align:center}.time-scroll{align-items:center;display:flex;flex-direction:column;max-height:200px;overflow-y:auto;scrollbar-color:#4a90e2 #444;scrollbar-width:thin}.time-scroll::-webkit-scrollbar{width:8px}.time-scroll::-webkit-scrollbar-track{background:#444}.time-scroll::-webkit-scrollbar-thumb{background-color:#4a90e2;border-radius:4px}.time-item{color:#fff;cursor:pointer;padding:10px;text-align:center;transition:all .3s ease}.time-item:hover{background:rgba(74,144,226,.3)}.time-item.selected{background:#4a90e2;color:#fff;font-weight:700}.success-message{border-radius:5px;font-weight:700;margin-top:15px;padding:10px}.success-message.success{background-color:rgba(76,175,80,.1);color:#4caf50}.success-message.error{background-color:rgba(244,67,54,.1);color:#f44336}.booking-tabs{border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;margin-bottom:20px}.tab-button{background-color:#222;border-bottom:2px solid transparent;flex:1 1;font-weight:500;padding:10px 15px}.tab-button.active{background-color:#2d2d2d;border-bottom-color:#4a90e2}.tab-button:hover{background-color:#2a2a2a;color:hsla(0,0%,100%,.8)}.bookings-list{overflow-x:auto}.bookings-list table{background-color:#1e1e1e;box-shadow:0 1px 3px rgba(0,0,0,.3);color:#e0e0e0;margin-bottom:20px}.bookings-list td,.bookings-list th{border-bottom:1px solid #333}.bookings-list th{background-color:#2a2a2a;color:#e0e0e0}.bookings-list tr:nth-child(2n){background-color:#f9f9f9}.loading-container{height:200px}.bookings-search-container{background:linear-gradient(145deg,#222,#2d2d2d);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;width:100%}.bookings-search-filters{grid-gap:15px;align-items:flex-end;display:grid;gap:15px;grid-template-columns:repeat(3,1fr) auto;margin-bottom:20px}.bookings-search-filters>div{display:flex;flex-direction:column;gap:8px}.bookings-search-filters label{color:#4a90e2;font-weight:500;margin-bottom:5px}.bookings-search-filters .date-input,.bookings-search-filters select{background-color:#444;border:none;border-radius:8px;color:#fff;font-size:14px;padding:10px;width:100%}.search-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;height:42px;padding:0 15px;transition:all .3s ease}.search-button:hover{background:linear-gradient(135deg,#357abd,#2868a5);box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.bookings-list table{background-color:#2a2a2a;border-collapse:collapse;margin-top:15px;width:100%}.bookings-list td,.bookings-list th{border:1px solid hsla(0,0%,100%,.1);color:#fff;padding:12px;text-align:left}.bookings-list th{background-color:#333;color:#4a90e2;font-weight:600}.bookings-list tr:nth-child(2n){background-color:rgba(74,144,226,.05)}.bookings-list tr:hover{background-color:rgba(74,144,226,.1)}.modal-overlay{background-color:rgba(0,0,0,.5)}.modal-content{background:#2a2a2a;box-shadow:0 2px 10px rgba(0,0,0,.1);min-width:300px;position:relative}.modal-content h3{color:#fff;margin-top:0}.modal-content p{color:#e0e0e0;margin:10px 0}.modal-content ul{list-style-type:none;margin:0;padding:0}.modal-content li{color:#ff6b6b;font-weight:500;padding:5px 0}.close-button{background:none;color:#666;font-size:20px;position:absolute;right:10px;top:10px}.close-button:hover{color:#333}.form-group input[type=datetime-local],.form-group input[type=number],.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.procedure-edit-item{display:flex;gap:1rem;margin-bottom:.5rem}.procedure-edit-item input[type=text]{border:1px solid #ddd;border-radius:4px;flex:2 1;padding:.5rem}.procedure-edit-item input[type=number]{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:.5rem}.action-button{font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.action-button.success{background-color:#4caf50;color:#fff}.action-button.success:hover{background-color:#45a049}.action-button.danger{background-color:#f44336;color:#fff}.action-button.danger:hover{background-color:#da190b}.action-button.secondary{background-color:#f5f5f5;color:#333}.action-button.secondary:hover{background-color:#e0e0e0}.modal-content.dark{background:linear-gradient(145deg,#222,#2d2d2d);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 15px rgba(0,0,0,.3);color:#fff}.modal-content.dark h2{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;margin-bottom:1.5rem;padding-bottom:.5rem}.modal-content.dark .form-group label{color:#4a90e2}.dark-input{background:#444!important;border:1px solid hsla(0,0%,100%,.1)!important;color:#fff!important}.dark-input:focus{border-color:#4a90e2!important;box-shadow:0 0 0 2px rgba(74,144,226,.2);outline:none}.dark-input::-webkit-calendar-picker-indicator{filter:invert(1)}.modal-content.dark .action-button{background:#444;color:#fff}.modal-content.dark .action-button:hover{background:#555}.modal-content.dark .action-button.success{background:#4caf50}.modal-content.dark .action-button.success:hover{background:#45a049}.modal-content.dark .action-button.danger{background:#f44336}.modal-content.dark .action-button.danger:hover{background:#da190b}.modal-content.dark .action-button.secondary{background:#333;color:#fff}.modal-content.dark .action-button.secondary:hover{background:#444}.google-calendar-banner{align-items:center;background:linear-gradient(145deg,#2d2d2d,#383838);border:1px solid rgba(74,144,226,.3);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;justify-content:space-between;margin-bottom:20px;overflow:hidden;padding:15px 20px;position:relative}.google-calendar-banner:before{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#4a90e2,#357abd,#4a90e2);content:"";height:2px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.google-calendar-banner p{color:#fff;font-weight:500;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.2)}.google-calendar-button{background:linear-gradient(135deg,#4285f4,#357abd);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#fff;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.google-calendar-button:hover{background:linear-gradient(135deg,#357abd,#2868a5);box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-1px)}.search-status{display:flex;flex-direction:column;gap:8px}.status-checkboxes{align-items:center;display:flex;gap:16px}.status-checkbox{align-items:center;cursor:pointer;display:flex;gap:4px;-webkit-user-select:none;user-select:none}.status-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.patient-last-bookings{background:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;margin-top:15px;padding:12px}.patient-last-bookings h4{color:#4a90e2;font-size:14px;margin-bottom:10px;margin-top:0}.last-bookings-list{display:flex;flex-direction:column;gap:8px}.last-booking-item{background:#333;border-left:3px solid #4a90e2;border-radius:6px;cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;transition:all .2s ease}.last-booking-item:hover{background:#3a3a3a;transform:translateX(2px)}.last-booking-procedure{color:#e0e0e0;font-size:13px}.last-booking-procedure:not(:last-child):after{content:",";margin-right:4px}.last-booking-date{color:#888;font-size:12px;margin-left:auto}.discount-buttons{display:flex;gap:5px;margin-top:5px}.discount-buttons button{background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:2px 5px;transition:background-color .2s}.discount-buttons button:hover{background-color:#ccc}.discount-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-left:8px;padding:5px 10px;transition:background-color .2s}.discount-button:hover{background-color:#357abd}.discount-overlay{background-color:#333;border:1px solid hsla(0,0%,100%,.1);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:5px;margin-top:5px;padding:8px;position:absolute;z-index:10}.discount-overlay button{background-color:#444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:5px 10px;text-align:center;transition:background-color .2s}.discount-overlay button:hover{background-color:#555}.procedure-value-edit{align-items:center;display:flex;margin-top:5px;position:relative}.view-toggle-buttons{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.view-toggle-button{background-color:#333;border:1px solid hsla(0,0%,100%,.1);border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 15px;transition:all .2s ease}.view-toggle-button.active{background-color:#1976d2;border-color:#1976d2;color:#fff}.view-toggle-button:hover:not(.active){background-color:#444}.calendar-view{overflow-x:auto;width:100%}.calendar-days{display:flex;flex-direction:column;gap:30px}.calendar-day{background-color:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:20px;padding:15px}.calendar-date-header{border-bottom:1px solid #444;color:#4a90e2;font-size:1.2rem;margin:0 0 15px;padding-bottom:10px}.calendar-professionals{display:flex;flex-direction:column;gap:25px}.calendar-professional{display:flex;flex-direction:column;margin-bottom:30px;padding-bottom:50px}.professional-name{color:#e0e0e0;font-size:1.1rem;margin:0 0 10px}.time-grid-container{background-color:#222;border:1px solid #444;border-radius:4px;display:flex;height:650px;min-height:480px;min-height:calc(40px*var(--total-hours, 12));overflow:visible;position:relative}.time-markers{background-color:#333;border-right:1px solid #444;height:100%;min-height:100%;position:relative;width:60px}.time-marker{color:#aaa;font-size:.8rem;height:20px;line-height:20px;position:absolute;text-align:center;width:100%}.appointment-grid{background:linear-gradient(180deg,transparent 49.9%,#444 50%,transparent 50.1%);background-size:100% 8.33333%;background-size:100% calc(100%/var(--total-hours, 12));flex:1 1;height:100%;min-height:100%;position:relative;width:100%}.appointment-block{border:1px solid hsla(0,0%,100%,.2);border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.2);box-sizing:border-box;color:#fff;cursor:pointer;left:5px;max-height:none!important;overflow:hidden;padding:5px;position:absolute;transition:opacity .2s;width:calc(100% - 10px);z-index:1}.appointment-block:hover{box-shadow:0 4px 8px rgba(0,0,0,.3);opacity:.9;transform:scale(1.02);z-index:2}.appointment-content{font-size:.85rem;line-height:1.2;overflow:hidden;padding:2px;text-overflow:ellipsis;white-space:nowrap}.appointment-procedure,.appointment-procedures,.appointment-time{display:none}@media (max-width:768px){.time-grid-container{height:500px}.appointment-content{font-size:.75rem}.time-marker{font-size:.7rem}}.room-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.room-card{background:#444;border-radius:8px;color:#fff;cursor:pointer;padding:15px;transition:all .3s ease}.room-card:hover{background:#4a90e2;transform:scale(1.05)}.room-card.selected{background:#4a90e2;border:2px solid #fff}.room-card h4{color:#fff;margin:0 0 .5rem}.room-card p{color:hsla(0,0%,100%,.8);font-size:.9rem;margin:0}.room-bookings{background:#333;border-radius:8px;margin-top:1.5rem;padding:1rem}.room-bookings h4{border-bottom:1px solid #555;color:#fff;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.room-bookings-list{display:flex;flex-direction:column;gap:.75rem}.room-booking-item{align-items:center;background:#444;border-radius:4px;color:#fff;display:flex;padding:.75rem}.room-booking-time{background:#4a90e2;border-radius:4px;font-weight:700;margin-right:1rem;min-width:50px;padding:.25rem .5rem;text-align:center}.room-booking-patient{flex:1 1;font-weight:500}.room-booking-professional{color:hsla(0,0%,100%,.7);font-style:italic;margin-left:1rem}.loading-indicator{color:#ccc;padding:1rem}.room-time-slots{background:#333;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.time-slots-header{background:#222;border-bottom:1px solid #555;display:flex;padding:.5rem}.time-slots-container{max-height:300px;overflow-y:auto;padding:.5rem}.hour-slots{margin-bottom:.5rem}.time-slot{background:#444;border-radius:4px;display:flex;margin-bottom:2px;padding:.3rem .5rem}.time-slot.occupied{background-color:rgba(59,130,246,.1)}.time-slot.simulated{background-color:rgba(253,224,71,.2)}.time-slot.conflict{background-color:rgba(239,68,68,.1)}.time-slot.selected{border-left:3px solid #4a90e2}.time-slot-label{color:#aaa;font-weight:700;width:60px}.time-slot-content{flex:1 1}.slot-booking{background:#4a90e2;border-radius:3px;font-size:.85rem;max-width:100%;overflow:hidden;padding:.1rem .3rem;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.slot-booking.existing{background-color:#3b82f6;color:#fff}.slot-booking.simulated{background-color:#fbbf24;color:#333}.slot-booking.simulated.conflict{background-color:#ef4444;color:#fff;font-weight:700}.conflict-warning{background-color:#fee2e2;border:1px solid #ef4444;border-radius:4px;color:#b91c1c;font-size:14px;margin-top:10px;padding:8px 12px}.conflict-warning p{margin:0}.room-bookings-list h5{border-bottom:1px solid #555;color:#fff;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.room-booking-message{background-color:#f8f9fa;border-left:4px solid #17a2b8;border-radius:4px;color:#495057;font-size:14px;margin-top:10px;padding:10px}.room-booking-message p{margin:0}.spinner-container{align-items:center;display:flex;justify-content:center;width:100%}.spinner{border-style:solid;border-width:5px}.spinner-small{height:25px;width:25px}.spinner-medium,.spinner-small{border-color:#3498db rgba(0,0,0,.1) rgba(0,0,0,.1)}.spinner-medium{height:50px;width:50px}.spinner-large{border-color:#3498db rgba(0,0,0,.1) rgba(0,0,0,.1);height:75px;width:75px}body.config-page{background-color:#111;margin:0;min-height:100vh;padding:0}.config-container{background-color:#222;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2);color:#f0f0f0;display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:800px;overflow:hidden;padding:20px}.config-container h2{border-bottom:2px solid #444;color:#f0f0f0;margin-bottom:20px;padding-bottom:10px}.config-section{background-color:#333;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.2);margin-bottom:15px;padding:15px}.config-section h3{color:#f0f0f0;margin-bottom:10px}.cache-reset-container{align-items:center;display:flex;gap:15px}.cache-reset-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s ease}.cache-reset-button:hover{background-color:#d32f2f}.cache-reset-notification{animation:fadeIn .5s;background-color:#4caf50;border-radius:4px;color:#fff;padding:10px}.config-description{color:#bbb;font-size:.9em;margin-top:10px}.tabs-container{border-bottom:1px solid #444;display:flex;margin-bottom:20px}.tab{border:1px solid transparent;border-radius:4px 4px 0 0;color:#bbb;cursor:pointer;padding:10px 20px;transition:all .3s ease}.tab.active,.tab:hover{background-color:#333}.tab.active{border:1px solid;border-color:#444 #444 #333;color:#fff;font-weight:700;margin-bottom:-1px}.tab-content{flex:1 1;overflow:auto}.procedures-editor{background-color:#333;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.2);display:flex;flex-direction:column;height:100%;padding:15px}.procedures-header{align-items:center;background-color:#333;border-bottom:1px solid #444;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;position:sticky;top:0;transition:background-color .2s ease;z-index:10}.procedures-header:hover{background-color:#363636}.search-container{flex:1 1;max-width:300px}.search-input{background-color:#222;border:1px solid #555;padding:8px 12px}.search-input:focus{border-color:#0b7dda;box-shadow:0 0 0 2px rgba(11,125,218,.25)}.procedures-actions{display:flex;gap:10px}.procedures-list{flex:1 1;overflow-y:auto;padding-right:5px}.action-button{font-size:14px;padding:8px 12px;transition:background-color .3s ease}.add-button{background-color:#4caf50;color:#fff}.add-button:hover{background-color:#45a049}.save-button{background-color:#2196f3;color:#fff}.save-button:hover{background-color:#0b7dda}.save-button:disabled{background-color:#2c5d8c;color:#aaa;cursor:not-allowed}.remove-button{background-color:#f44336;color:#fff}.remove-button:hover{background-color:#d32f2f}.remove-button.small{font-size:12px;padding:4px 8px}.subcategory-button{align-items:center;background-color:#4caf50;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;display:flex;font-weight:700;justify-content:center;margin-left:8px;padding:8px 14px;transition:all .2s ease}.subcategory-button:hover{background-color:#45a049;box-shadow:0 3px 6px rgba(0,0,0,.3);transform:translateY(-1px)}.subcategory-button:active{box-shadow:0 1px 2px rgba(0,0,0,.2);transform:translateY(1px)}.status-message{animation:fadeIn .5s;border-radius:4px;margin-bottom:15px;padding:10px}.status-message.success{background-color:rgba(0,128,0,.2);border:1px solid rgba(0,128,0,.3);color:#7bdb7b}.status-message.error{background-color:rgba(128,0,0,.2);border:1px solid rgba(128,0,0,.3);color:#f77}.loading-message{color:#bbb;padding:20px;text-align:center}.procedure-item{border:1px solid #444;border-radius:4px;margin-bottom:10px;overflow:hidden}.procedure-header{align-items:center;background-color:#2a2a2a;border-left:3px solid transparent;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px;transition:background-color .2s ease}.procedure-header:hover{background-color:#363636}.procedure-header:hover,.procedure-header[data-has-subcategories]:not([data-has-subcategories=""]){border-left-color:#4caf50}.procedure-name{align-items:center;color:#f0f0f0;display:flex;flex:1 1;font-size:16px;margin:0 15px 0 0}.dropdown-icon{align-items:center;background-color:#444;border-radius:4px;color:#fff;display:inline-flex;font-size:12px;height:26px;justify-content:center;margin-right:10px;transition:all .2s ease;width:26px}.procedure-item:hover .dropdown-icon{background-color:#4caf50}.procedure-header[data-has-subcategories]:not([data-has-subcategories=""]):after{background-color:#4caf50;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.2);color:#fff;content:attr(data-has-subcategories);display:inline-block;font-size:12px;margin-left:10px;padding:3px 8px;transition:all .2s ease}.procedure-actions{align-items:center;display:flex;gap:15px;position:relative;z-index:3}.procedure-actions button,.procedure-actions input{pointer-events:auto}.value-editor{align-items:center;color:#f0f0f0;display:flex;gap:5px}.value-input{background-color:#222;border:1px solid #555;border-radius:4px;color:#fff;padding:4px 8px;position:relative;width:80px;z-index:2}.value-input:focus{border-color:#0b7dda;box-shadow:0 0 0 2px rgba(11,125,218,.25);outline:none}.subcategories-container{background-color:#2c2c2c;border-top:1px solid #444;padding:15px}.subcategories-container h4{color:#bbb;margin-bottom:10px;margin-top:0}.subcategories-list{display:flex;flex-direction:column;gap:8px}.subcategory-item{align-items:center;background-color:#3a3a3a;border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}.subcategory-name{color:#f0f0f0;font-size:14px}.subcategory-actions{align-items:center;display:flex;gap:10px}.procedures-list::-webkit-scrollbar{width:8px}.procedures-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.procedures-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.procedures-list::-webkit-scrollbar-thumb:hover{background:#777}.procedures-list{scrollbar-color:#555 #2a2a2a;scrollbar-width:thin}.button-icon{display:inline-block;font-size:18px;font-weight:700;line-height:1;margin-right:5px}.financeiro-container{background-color:#1a1a1a;color:#e0e0e0;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px;width:100%}.financeiro-tabs{border-bottom:1px solid #333;display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.caixa-container .bookings-list{max-height:none!important}.professional-group{background-color:#1e1e1e;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);padding:20px}.professional-group h3{color:#e0e0e0;margin-bottom:15px}.total-value.editable{cursor:pointer;transition:all .2s}.total-value.editable:hover{color:#007bff}.amount-input{border:1px solid #ccc;border-radius:4px;font-size:1em;padding:4px 8px;width:120px}.button-group{display:flex;gap:10px;justify-content:flex-start}.modal-overlay{background-color:rgba(0,0,0,.7)}.modal-content{border:1px solid #333;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;padding:20px;width:90%}.modal-content,.modal-content.dark{background-color:#1e1e1e;color:#e0e0e0}.booking-details{grid-gap:15px;display:grid;gap:15px;margin:20px 0}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{color:#999}.detail-value{background-color:#2a2a2a;border:1px solid #333;border-radius:4px;font-size:16px;padding:8px}.detail-value.editable{align-items:center;display:flex}.commission-input{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;font-size:14px;padding:8px;width:120px}.action-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s ease}.action-button:hover{background-color:#357abd}.action-button.update{background-color:#4caf50;margin-right:10px}.action-button.update:disabled{background-color:#ccc;cursor:not-allowed}.pagamentos-container{background-color:#1e1e1e;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);color:#e0e0e0;padding:20px}.commission-list{max-height:60vh;overflow-y:auto;padding:20px}.commission-item{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.professional-name{font-size:1.1em;font-weight:700}.commission-input{align-items:center;display:flex;gap:10px}.commission-input input{background:#333;border:1px solid #444;border-radius:4px;color:#fff;padding:8px;width:120px}.date-selection{align-items:center;background:#2a2a2a;border-radius:4px;display:flex;gap:10px;margin-bottom:20px;padding:15px}.date-selection label{color:#999;font-weight:500;min-width:140px}.date-selection .date-input{flex:1 1;max-width:200px}.installments-table{margin-bottom:1rem;margin-top:1rem}.installment-row{grid-gap:10px;align-items:center;gap:10px;grid-template-columns:1fr 1fr 2fr}.installment-row input{margin:0}.required{color:#f44;margin-left:4px}.checkbox-group{margin:15px 0}.checkbox-container{align-items:center;cursor:pointer;display:flex;font-size:16px;padding-left:35px;position:relative;-webkit-user-select:none;user-select:none}.checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:#2a2a2a;border:2px solid #4a90e2;border-radius:4px;height:25px;left:0;position:absolute;transition:all .2s ease;width:25px}.checkbox-container:hover input~.checkmark{background-color:#333}.checkbox-container input:checked~.checkmark{background-color:#4a90e2}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;height:10px;left:8px;top:4px;transform:rotate(45deg);width:5px}.alert-message{background-color:rgba(255,68,68,.1);border:1px solid #f44;border-radius:4px;color:#f44;font-size:14px;margin:10px 0;padding:12px}.installments-table{background-color:#2a2a2a;border-radius:8px;margin:15px 0;padding:15px}.installment-row{grid-gap:15px;background-color:#1e1e1e;border-radius:4px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:10px;padding:10px}.installment-row input{background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:14px;padding:8px;width:100%}.installment-row input:focus{border-color:#4a90e2;outline:none}.installments-total{align-items:center;border-top:1px solid #444;display:flex;font-weight:500;justify-content:space-between;margin-top:15px;padding-top:15px}.installments-total .total-amount{color:#4a90e2;font-size:16px}.file-upload-wrapper{margin-top:8px}.file-upload-label{background-color:#2c2c2c;border:1px solid #444;border-radius:4px;cursor:pointer;padding:8px 12px;transition:all .2s}.file-upload-label:hover{background-color:#3c3c3c}.report-button{gap:8px;transition:background-color .2s}.report-button svg{font-size:16px}.payment-modal{background-color:#1e1e1e;border:1px solid #333;border-radius:12px;max-width:600px;width:90%}.payment-modal .modal-header{align-items:center;background-color:#2a2a2a;border-bottom:1px solid #333;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px}.payment-modal .modal-header h2{color:#e0e0e0;font-size:1.5rem;margin:0}.payment-modal .close-button{background:none;border:none;color:#999;cursor:pointer;font-size:24px;padding:0 8px}.payment-modal .close-button:hover{color:#e0e0e0}.payment-modal .modal-body{padding:20px}.payment-modal .details-row{display:flex;gap:20px;margin-bottom:20px}.payment-modal .details-group{flex:1 1}.payment-modal .details-group.full-width{flex:1 1 100%}.payment-modal label{color:#999;display:block;font-size:.9rem;margin-bottom:8px}.payment-modal .reference-code{background:rgba(74,144,226,.1);border-radius:4px;color:#4a90e2;padding:4px 8px}.payment-modal .date-field{color:#e0e0e0}.payment-modal .supplier-name{color:#e0e0e0;font-weight:500}.payment-modal .status-badge{border-radius:12px;display:inline-block;font-size:.9rem;padding:4px 12px;text-transform:uppercase}.payment-modal .status-badge.sent{background-color:#2196f3;color:#fff}.payment-modal .status-badge.paid{background-color:#4caf50;color:#fff}.payment-modal .amount-container{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;position:relative;width:100%}.payment-modal .success-message{animation:fadeIn .3s ease;bottom:-24px;color:#4caf50;font-size:.9rem;position:absolute}.payment-modal .save-button:disabled{background-color:#666;cursor:not-allowed}.payment-modal .amount-input:disabled{cursor:not-allowed;opacity:.7}.payment-modal .amount-display{align-items:center;color:#4caf50;display:flex;font-size:1.2rem;font-weight:500;gap:8px;justify-content:center;width:100%}.payment-modal .amount-display.editable{cursor:pointer}.payment-modal .amount-display.editable:hover{color:#45a049}.payment-modal .edit-icon{font-size:.9rem;opacity:.7}.payment-modal .amount-input{background-color:#2a2a2a;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-size:1.1rem;padding:8px 12px;width:150px}.payment-modal .amount-input:focus{border-color:#4a90e2;outline:none}.payment-modal .save-button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.payment-modal .save-button:hover{background-color:#45a049}.payment-modal .description-text,.payment-modal .notes-text{color:#e0e0e0;line-height:1.4}.payment-modal .download-button{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.payment-modal .download-button:hover{background-color:#357abd}.payment-modal .mark-paid-button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:20px;padding:12px 24px;transition:background-color .2s;width:100%}.payment-modal .mark-paid-button:hover{background-color:#45a049}.payment-modal .file-actions{display:flex;flex-direction:column;gap:12px;position:relative}.payment-modal .file-upload-section{align-items:center;display:flex;gap:12px}.payment-modal .file-upload-wrapper{flex:1 1}.payment-modal .file-upload-label{align-items:center;background-color:#2c2c2c;border:1px solid #444;border-radius:6px;color:#e0e0e0;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s}.payment-modal .file-upload-label:hover{background-color:#3c3c3c;border-color:#666}.payment-modal .file-upload-label svg{color:#4a90e2;font-size:1.1rem}.description-edit-container{display:flex;flex-direction:column;width:100%}.description-input{border:1px solid #ccc;border-radius:4px;font-size:14px;margin-bottom:10px;min-height:80px;padding:8px;resize:vertical;width:100%}.description-edit-container .save-button{align-self:flex-end}@media print{.caixa-search-filters,.dark-button,.financeiro-tabs,.report-button,.sidebar,header{display:none!important}.financeiro-container,.report-page{display:block!important;position:static!important}.content,.financeiro-container,.report-page{height:auto!important;overflow:visible!important}table{border-collapse:collapse!important;page-break-inside:auto!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{page-break-after:auto!important}.grand-total,.total-row,tr{page-break-inside:avoid!important}}.supplier-search-container{position:relative;width:100%}.search-input-container{width:100%}.search-input{background-color:#2b2b2b;border:1px solid #444;color:#fff;padding:8px;width:100%}.search-input::placeholder{color:#888}.loading-indicator{color:#fff;padding:8px;text-align:center}.loading-indicator,.supplier-dropdown{background:#2b2b2b;border:1px solid #444;border-radius:0 0 4px 4px;border-top:none}.supplier-dropdown{box-shadow:0 4px 6px rgba(0,0,0,.3);left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.supplier-option{align-items:center;border-bottom:1px solid #444;color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:8px}.supplier-option:last-child{border-bottom:none}.supplier-option:hover{background-color:#3b3b3b}.supplier-name{color:#fff;font-weight:500}.supplier-cnpj{color:#888;font-size:.9em}.no-results{background:#2b2b2b;border:1px solid #444;border-radius:0 0 4px 4px;border-top:none;color:#888;padding:8px;text-align:center}.table-container{margin-top:20px;max-height:600px;overflow-y:auto}.table-container table{border-collapse:collapse;width:100%}.table-container thead{background-color:#f8f9fa;position:sticky;top:0;z-index:1}.table-container th{border-bottom:2px solid #ddd;padding:12px;text-align:left}.table-container td{border-bottom:1px solid #eee;padding:10px}.table-container .clickable-row:hover{background-color:rgba(74,144,226,.1);cursor:pointer}.estoque-container{background:#1a1a1a;box-sizing:border-box;height:100%;overflow-y:auto;padding:2rem;width:100%}.table-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.table-actions button{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.8rem 1.2rem;transition:all .3s ease}.table-actions button.success{background:#2ecc71}.table-actions button.danger{background:#e74c3c}.table-actions button:hover{box-shadow:0 4px 15px rgba(0,0,0,.2);transform:translateY(-2px)}.estoque-tabs{border-bottom:1px solid hsla(0,0%,100%,.1);margin-bottom:1.5rem}.tab-button{color:hsla(0,0%,100%,.6);font-size:1rem;padding:1rem 2rem}.tab-button.active:after{background:#4a90e2}.tab-button:hover{color:#4a90e2}table{background:#2a2a2a;border-radius:12px;overflow:hidden}td,th{border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;padding:1rem}th{background:#222;color:#4a90e2;font-weight:600}tr:hover{background:rgba(74,144,226,.1);transition:background .2s ease}.modal-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background:#2a2a2a;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.3);color:#fff;max-height:90vh;max-width:900px;overflow-y:auto;padding:2rem;position:relative;width:90%}.modal-header{align-items:center;border-bottom:2px solid rgba(74,144,226,.3);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.5rem}.modal-header h2{color:#4a90e2;font-size:1.5rem;margin:0}.close-button{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:color .3s ease}.close-button:hover{color:#4a90e2}.primary-button{background:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.8rem 1.5rem;transition:all .3s ease}.primary-button:hover{background:#357abd;box-shadow:0 4px 15px rgba(0,0,0,.2);transform:translateY(-2px)}.form-group{margin-bottom:1.5rem}.form-group label{color:hsla(0,0%,100%,.8);margin-bottom:.5rem}.form-group input,.form-group textarea{background:#444;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;font-size:1rem;padding:.8rem;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4a90e2;outline:none}.modal-actions{gap:1rem;margin-top:2rem}.modal-actions button{border-radius:8px;font-size:.9rem;padding:.8rem 1.5rem;transition:all .3s ease}.modal-actions button.primary{background:#4a90e2;color:#fff}.modal-actions button.secondary{background:#666;color:#fff}.modal-actions button:hover{box-shadow:0 4px 15px rgba(0,0,0,.2);transform:translateY(-2px)}@media (max-width:768px){.table-actions{flex-direction:column}.table-actions button{width:100%}.modal-content{padding:1rem;width:95%}.add-item-row{flex-wrap:wrap}.product-search-wrapper{flex:1 1 100%;margin-bottom:.5rem;min-width:100%}.price-input,.quantity-input{flex:0 0 auto;width:calc(50% - .25rem)}}.loading{color:#666;padding:1rem;text-align:center}.error-message{background-color:rgba(231,76,60,.2);border:1px solid rgba(231,76,60,.5);border-radius:8px;color:#e74c3c;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-message svg{margin-right:.5rem}.insufficient-items{border-top:1px solid rgba(231,76,60,.3);margin-top:.5rem;padding-top:.5rem}.insufficient-items p{font-weight:500;margin:.5rem 0}.insufficient-items ul{list-style-type:none;margin:.5rem 0;padding-left:.5rem}.insufficient-items li{border-bottom:1px solid rgba(231,76,60,.2);display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.insufficient-items li strong{margin-right:.5rem}.insufficient-items li span{color:rgba(231,76,60,.9)}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:500;padding:1rem}.load-more,.success-message{margin:1rem 0;text-align:center}.load-more{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:block;padding:.75rem;width:100%}.load-more:hover{background-color:#e9ecef}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:rgba(74,144,226,.1);cursor:pointer}.add-item-row{align-items:flex-start;display:flex;gap:.5rem;width:100%}.product-search-wrapper{flex:1 1;max-width:600px;min-width:300px}.quantity-input{flex:0 0 70px;width:70px}.price-input,.quantity-input{background:#444;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;font-size:1rem;height:42px;padding:.8rem}.price-input{flex:0 0 90px;width:90px}input[type=number]{padding-right:.4rem}.product-search-dropdown{min-width:300px}.items-list{margin-top:20px}.items-list h3{margin-bottom:10px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.modal-actions button.success{background-color:#4caf50;color:#fff}.modal-actions button.success:hover{background-color:#45a049}.modal-actions button.success.disabled,.modal-actions button.success:disabled{background-color:#88c98a;box-shadow:none;color:#e0e0e0;cursor:not-allowed;transform:none}.modal-actions button:not(.success){background-color:#f44336;color:#fff}.modal-actions button:not(.success):hover{background-color:#da190b}.form-row{gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1 1;min-width:200px}.status-badge{border-radius:4px;display:inline-block;font-size:.9em;font-weight:500;padding:4px 8px}.status-badge.aberta{background-color:#e3f2fd;color:#1976d2}.status-badge.fechada{background-color:#e8f5e9;color:#388e3c}.status-filter{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-left:10px;padding:8px}.status-filter:focus{border-color:#007bff;outline:none}.search-container{align-items:center;display:flex}.search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:.5rem 1rem;transition:border-color .2s;width:250px}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25);outline:none}.product-search-select{z-index:1100}.file-upload-wrapper{align-items:center;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;padding:8px}.file-upload-label{align-items:center;color:#333;display:flex;gap:8px}.file-upload-label svg{margin-right:8px}.file-upload-label:hover{color:#007bff}.invoice-details{background:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;margin-bottom:24px;padding:20px}.details-section{display:flex;flex-direction:column;gap:16px}.details-row{display:flex;gap:24px}.details-group{display:flex;flex:1 1;flex-direction:column;gap:4px}.details-group label{color:hsla(0,0%,100%,.6);font-size:.85rem;font-weight:500}.details-group span{color:hsla(0,0%,100%,.9);font-size:1rem;font-weight:500}.details-group .total-value{color:#2ecc71;font-size:1.1rem;font-weight:600}.items-section{margin-top:24px}.items-section h3{color:#4a90e2;font-size:1.1rem;margin-bottom:16px}.date-filters{gap:1rem}.date-input-group{gap:.5rem}.date-input-group label{color:#666;font-size:.9rem}.date-input-group input[type=date],.date-input-group select.status-select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.date-input-group select.status-select{background:#2a2a2a;color:#fff;cursor:pointer}.date-input-group select.status-select:focus{border-color:#4a90e2;outline:none}.filter-button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.filter-button:hover{background-color:#e0e0e0}.filter-button:disabled{cursor:not-allowed;opacity:.6}.dark-button{background-color:#2a2a2a;border:1px solid #444;font-size:.9rem;padding:.5rem 1rem}.dark-button:hover{background-color:#3a3a3a;box-shadow:0 4px 15px rgba(0,0,0,.2);transform:translateY(-2px)}.dark-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.delete-button{align-items:center;background-color:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:4px 8px;transition:background-color .2s}.delete-button:hover{background-color:#c00}.supplier-details{background-color:#2b2b2b;border:1px solid #444;border-radius:4px;color:#fff;margin-top:20px;padding:20px}.supplier-details h3{color:#fff;margin-bottom:20px;margin-top:0}.details-header{display:flex;justify-content:flex-end;margin-bottom:15px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item label{color:#888;font-size:.9em}.detail-item span{color:#fff;font-size:1.1em}.full-width{grid-column:1/-1}.edit-button{align-items:center;background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:5px 8px;transition:background-color .2s}.edit-button:hover{background-color:#357abd}.form-actions{align-items:center;display:flex;justify-content:space-between;margin-top:2rem}.form-actions>div{display:flex;flex:1 1;gap:1rem;justify-content:flex-end}.form-actions button{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;height:45px;justify-content:center;padding:0 1.5rem;transition:all .3s ease;width:150px}.form-actions .delete-button{background-color:#e74c3c;color:#fff;width:150px}.form-actions .delete-button:hover{background-color:#c0392b;box-shadow:0 4px 10px rgba(0,0,0,.2);transform:translateY(-2px)}.form-actions .delete-button:disabled{box-shadow:0 2px 5px rgba(0,0,0,.1);cursor:not-allowed;opacity:.6;transform:none}.form-actions .cancel-button{background-color:#7f8c8d;color:#fff}.form-actions .cancel-button:hover{background-color:#6c7a7d;box-shadow:0 4px 10px rgba(0,0,0,.2);transform:translateY(-2px)}.form-actions .submit-button{background-color:#2ecc71;color:#fff}.form-actions .submit-button:hover{background-color:#27ae60;box-shadow:0 4px 10px rgba(0,0,0,.2);transform:translateY(-2px)}.form-actions .submit-button:disabled{box-shadow:0 2px 5px rgba(0,0,0,.1);cursor:not-allowed;opacity:.6;transform:none}.report-button{align-items:center;background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:5px;margin-right:10px;padding:8px 16px;transition:background-color .3s}.report-button:hover{background-color:#357abd}.success-modal{background-color:rgba(76,175,80,.9);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);left:50%;padding:20px;top:20px;transform:translateX(-50%);z-index:9999}.success-modal,.success-modal-fullscreen{animation:fadeIn .3s ease-out;color:#fff;position:fixed}.success-modal-fullscreen{align-items:center;background-color:rgba(46,204,113,.95);bottom:0;display:flex;justify-content:center;left:0;right:0;top:0;z-index:10000}.success-modal-fullscreen.fade-out{animation:fadeOut .3s ease-out forwards}.success-modal-fullscreen .success-content{align-items:center;display:flex;flex-direction:column;gap:20px;max-width:500px;padding:30px;text-align:center}.success-modal-fullscreen h2{font-size:28px;margin:0}.success-modal-fullscreen p{font-size:18px;margin:0}.success-content{font-weight:700;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.product-search-select{position:relative;width:100%}.product-search-input{background:#444;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;font-size:1rem;padding:.8rem;width:100%}.product-search-input:focus{border-color:#4a90e2;outline:none}.product-search-dropdown{background:#2a2a2a;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.product-search-item{border-bottom:1px solid hsla(0,0%,100%,.1);cursor:pointer;padding:.8rem}.product-search-item:last-child{border-bottom:none}.product-search-item:hover{background:rgba(74,144,226,.1)}.product-search-item-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:.3rem}.product-search-item-name{color:#fff;font-weight:500}.product-search-item-code{color:#4a90e2;font-size:.9em}.product-search-item-details{color:hsla(0,0%,100%,.6);display:flex;font-size:.85em;justify-content:space-between}.reports-container{background-color:#1a1a1a;color:#e0e0e0;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px;width:100%}.reports-tabs{border-bottom:1px solid #333;display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.tab-button{background:none;color:#999;font-family:inherit;transition:all .3s ease}.tab-button.active{border-bottom:2px solid #4a90e2;color:#4a90e2}.caixa-container{background-color:#1e1e1e;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;padding:20px}.caixa-search-filters{flex:0 0 auto;margin-bottom:20px}.date-filters{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.quick-filters{display:flex;gap:10px}.quick-filter-button{background:#2a2a2a;border:1px solid #333;border-radius:4px;color:#e0e0e0;cursor:pointer;padding:8px 16px;transition:all .3s ease}.quick-filter-button:hover{background:#333}.date-input-group{align-items:center;display:flex;gap:8px}.date-input-group label{color:#999;font-weight:500}.date-input,.status-select{background-color:#2a2a2a;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:14px;padding:8px}.dark-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s ease}.dark-button:hover{background-color:#357abd}.loading-container{min-height:200px}.bookings-list{flex:1 1 auto;gap:20px;max-height:100%;min-height:0;padding-bottom:24px}.procedure-group{background-color:#1e1e1e;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);padding:20px}.procedure-group h3{color:#e0e0e0;margin-bottom:15px}table{background-color:#1e1e1e;border-collapse:collapse;margin-top:10px;width:100%}td,th{border-bottom:1px solid #333;padding:12px;text-align:left}td,th{color:#e0e0e0}th{font-weight:500}.total-row,th,tr:hover{background-color:#2a2a2a}.total-row{font-weight:500}.grand-total{background-color:#2a2a2a;border:1px solid #333;border-radius:8px;color:#e0e0e0;margin-top:20px;padding:20px}.total-value{font-size:18px;margin-top:10px}.procedure-stats,.total-value{display:flex;justify-content:space-between}.procedure-stats{color:#ccc;font-size:16px;margin-top:15px}h2{color:#e0e0e0;margin-bottom:20px}.nexus-ai-container{background-color:#222;bottom:48px;display:flex;left:0;max-height:calc(100vh - 16px);overflow:hidden;position:absolute;right:0;top:0}.nexus-sidebar{background-color:#212121;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;height:100%;width:260px}.new-chat-button{background-color:#5e35b1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin:16px;padding:12px}.new-chat-button:hover{background-color:#4527a0}.conversations-list{display:flex;flex-direction:column;flex-grow:1;max-height:calc(100vh - 100px);overflow-y:auto;padding-bottom:8px}.conversation-item{align-items:center;background:none;border:none;border-radius:6px;color:#e0e0e0;cursor:pointer;display:flex;font-family:inherit;font-size:14px;margin:4px 8px;min-height:44px;overflow:hidden;padding:12px 16px;pointer-events:all;text-align:left;text-overflow:ellipsis;transition:background-color .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;width:100%}.conversation-item:hover{background-color:#333}.conversation-item.active{background-color:#3c2b7d;font-weight:500}.chat-area{background-color:#222;display:flex;flex-direction:column;flex-grow:1;height:100%;overflow:hidden;position:relative;width:calc(100% - 260px)}.messages-container{display:flex;flex:1 1 auto;flex-direction:column;overflow-y:auto;padding:20px 20px 70px}.empty-state{color:#b0b0b0;margin:auto;text-align:center}.empty-state h2{color:#9575cd;font-size:24px;margin-bottom:10px}.message{display:flex;flex-direction:column;margin-bottom:16px;max-width:90%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{border-radius:12px;line-height:1.5;padding:12px 16px}.message.user .message-content{background-color:#5e35b1;color:#fff}.message.assistant .message-content{background-color:#333;color:#e0e0e0;text-align:left}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{color:#9575cd;font-weight:600;margin-bottom:8px;margin-top:16px}.message-content h3{border-bottom:1px solid #444;font-size:1.17em;padding-bottom:4px}.message-content b,.message-content strong{font-weight:700}.message-content ol,.message-content ul{margin-bottom:12px;margin-left:24px}.message-content li{margin-bottom:4px}.message-content a{color:#7e57c2;text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content p{margin-bottom:8px}.message-content code{background-color:#2d2d2d;border-radius:3px;font-family:monospace;padding:2px 4px}.message-content pre{background-color:#2d2d2d;border-radius:4px;margin-bottom:12px;overflow-x:auto;padding:12px}.message-content.loading{align-items:center;display:flex;height:40px;justify-content:center}.loading-dot{animation:bounce 1.4s ease-in-out infinite both;background-color:#b0b0b0;border-radius:50%;display:inline-block;height:8px;margin:0 4px;width:8px}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-area{align-items:center;background-color:#1e1e1e;border-top:1px solid #333;bottom:0;box-sizing:border-box;display:flex;height:56px;left:0;padding:10px 16px;position:absolute;right:0}.input-area textarea{background-color:#2d2d2d;border:1px solid #444;border-radius:6px;color:#e0e0e0;flex-grow:1;font-family:inherit;font-size:14px;max-height:36px;overflow-y:auto;padding:8px 12px;resize:none}.input-area textarea:focus{border-color:#5e35b1;outline:none}.send-button{background-color:#5e35b1;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-left:10px;padding:8px 14px}.send-button:hover:not(:disabled){background-color:#4527a0}.send-button:disabled{background-color:#444;cursor:not-allowed}.prontuario-container{color:#f5f5f5;height:calc(100vh - 88px);margin:0 auto;max-width:100%;overflow-y:auto;padding:20px;width:100%}.prontuario-tabs{border-bottom:1px solid #444;display:flex;margin-bottom:20px}.tab-button{background:transparent;border:none;color:#aaa;cursor:pointer;font-size:16px;padding:10px 20px;position:relative;transition:color .3s}.tab-button.active{color:#fff;font-weight:600}.tab-button.active:after{background-color:#4a90e2;bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.prontuario-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.form-row{display:flex;flex-wrap:wrap;gap:20px}.form-group{flex:1 1;min-width:200px}.form-group label{color:#ccc;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#f5f5f5;font-size:14px;padding:10px;width:100%}.form-group textarea{min-height:150px;resize:vertical}.patient-info{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:20px;padding:15px}.patient-info h3{color:#4a90e2;font-size:18px;margin-bottom:15px;margin-top:0}.patient-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));width:100%}.patient-info-item{margin-bottom:10px}.patient-info-item label{color:#999;display:block;font-size:12px;margin-bottom:4px}.patient-info-item span{color:#f5f5f5;font-size:14px}.booking-info{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:20px;padding:15px}.booking-info h3{color:#4a90e2;font-size:18px;margin-bottom:15px;margin-top:0}.button-container{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background-color .3s}.button-primary{background-color:#4a90e2;color:#fff}.button-primary:hover{background-color:#3a80d2}.button-secondary{background-color:#555;color:#fff}.button-secondary:hover{background-color:#666}.loading-container{align-items:center;display:flex;height:300px;justify-content:center;width:100%}.booking-selection{margin-bottom:20px}.booking-selection h3{color:#4a90e2;font-size:18px;margin-bottom:15px}.bookings-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding-right:10px;width:100%}.booking-item{background:#2a2a2a;border-left:3px solid transparent;border-radius:6px;cursor:pointer;padding:12px 15px;transition:all .2s ease}.booking-item:hover{background:#333;transform:translateX(2px)}.booking-item.active{background:#333;border-left:3px solid #4a90e2}.booking-date{color:#e0e0e0;font-size:14px;font-weight:500;margin-bottom:4px}.booking-professional{color:#bbb;font-size:13px;margin-bottom:4px}.booking-procedures{color:#999;font-size:12px}.save-status{border-radius:4px;margin-top:10px;padding:12px;text-align:center}.save-status.success{background-color:rgba(25,135,84,.2);border:1px solid rgba(25,135,84,.3);color:#75b798}.save-status.error{background-color:rgba(220,53,69,.2);border:1px solid rgba(220,53,69,.3);color:#ea868f}.prontuario-content{height:auto;overflow-y:auto;width:100%}.patient-selection{align-items:center;background:#2a2a2a;border:1px solid #444;border-radius:8px;display:flex;margin-bottom:20px;padding:15px 20px;width:100%}.patient-selection label{color:#4a90e2;font-size:16px;font-weight:600;margin-right:15px;white-space:nowrap}.patient-selection .form-group{flex:1 1;margin:0}.patient-selection .form-group label{display:none}.recent-bookings{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:20px;padding:15px;width:100%}.recent-bookings h3{align-items:center;color:#4a90e2;display:flex;font-size:18px;margin-bottom:15px;margin-top:0}.booking-patient{color:#e0e0e0;font-size:14px;font-weight:500;margin-bottom:4px}.dashboard{background:transparent;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.dashboard-container{background:#1e1e1e;border:1px solid #333;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.3);margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{align-items:center;border-bottom:2px solid #333;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-title{gap:1rem}.dashboard-title,.nexus-logo{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:700}.nexus-logo{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;height:50px;justify-content:center;width:50px}.dashboard-actions{align-items:center;display:flex;gap:1rem}.refresh-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px rgba(102,126,234,.3);color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.refresh-button:hover:not(:disabled){box-shadow:0 6px 20px rgba(102,126,234,.4);transform:translateY(-2px)}.refresh-button:disabled{animation:spin 1s linear infinite;cursor:not-allowed;opacity:.6}.dashboard-user{color:#ccc;font-weight:600;gap:.75rem}.dashboard-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:#333;border-radius:50%;font-size:1.2rem;height:40px;justify-content:center;width:40px}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem}.dashboard-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dash-card{background:#2a2a2a;border:1px solid #444;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.2);cursor:pointer;padding:1.5rem;transition:all .3s ease}.dash-card:hover{box-shadow:0 12px 35px rgba(0,0,0,.3);transform:translateY(-2px)}.dash-card{gap:1rem}.card-icon,.dash-card{align-items:center;display:flex}.card-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:1.5rem;height:60px;justify-content:center;width:60px}.card-info{display:flex;flex-direction:column;gap:.25rem}.card-number{color:#fff;font-size:2rem;font-weight:700;line-height:1.1}.card-label{color:#ccc;font-size:.9rem;font-weight:500}.dashboard-chart{background:#2a2a2a;border:1px solid #444;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.2);padding:1.5rem}.chart-title{align-items:center;color:#fff;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.chart-bars{align-items:end;display:flex;gap:1rem;height:220px;justify-content:space-between;padding:0 1rem}.chart-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;height:100%;justify-content:flex-end}.chart-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px 4px 0 0;min-height:10px;transition:all .3s ease;width:100%}.chart-bar:hover{opacity:.8}.chart-label{color:#ccc;font-size:.8rem;font-weight:500}.chart-day-label{color:#999;font-size:.7rem;font-weight:500;margin-top:.25rem}.dashboard-loading{align-items:center;color:#ccc;display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.dashboard{padding:1rem}.dashboard-container{padding:1.5rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.dashboard-actions{flex-direction:column;gap:.75rem}.dashboard-cards{grid-template-columns:1fr}.chart-bars{gap:.5rem;height:170px}}
/*# sourceMappingURL=main.f7a56f31.css.map*/