@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap);body{background-color:#111214;color:#fff;margin:0;padding:0}button,input,select,textarea{font-family:inherit}.App{background-color:#111214;display:flex;flex-direction:column;font-family:Roboto Flex,sans-serif;min-height:100vh;text-align:center}:root{--app-bg:#111214;--surface-1:#181a1d;--surface-2:#202328;--surface-3:#292d33;--border-subtle:hsla(0,0%,100%,.08);--text-primary:#f4f6f8;--text-secondary:#b7bdc7;--accent:#3f8cff;--accent-hover:#2f76dc}body,html{background:#111214;background:var(--app-bg);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:radial-gradient(circle at top left,rgba(63,140,255,.08),transparent 28rem),#111214;background:radial-gradient(circle at top left,rgba(63,140,255,.08),transparent 28rem),var(--app-bg);margin-top:48px;overflow:visible;position:relative;width:100%}.content,.main-container{display:flex;flex:1 1;min-height:calc(100vh - 48px)}.content{background:transparent;flex-direction:column;height:auto;margin-left:0;padding:0;transition:margin-left .3s ease}@media (min-width:768px){.content{margin-left:240px}}button{background-color:#292d33;background-color:var(--surface-3);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}button:hover{background-color:#363b44}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(63,140,255,.85);outline-offset:2px}input,select,textarea{color-scheme:dark}::selection{background:rgba(63,140,255,.35)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#15171a}::-webkit-scrollbar-thumb{background:#343a43;border:2px solid #15171a;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#46505c}.agenda{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%}.app-header{background-color:rgba(24,26,29,.96);border-bottom:1px solid hsla(0,0%,100%,.08);box-shadow:0 8px 24px rgba(0,0,0,.22);left:0;padding:.4rem 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{filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));height:30px;width:auto}.header-title{color:#f4f6f8;font-size:1.35rem;font-weight:600;letter-spacing:0;margin:0}.api-env-badge{align-items:center;background:#f4c430;border:1px solid hsla(0,0%,100%,.22);border-radius:4px;color:#1c1c1c;display:inline-flex;font-size:.72rem;font-weight:700;height:22px;letter-spacing:0;line-height:1;padding:0 8px}.sidebar{background:#181a1d;border-right:1px solid hsla(0,0%,100%,.08);box-shadow:10px 0 28px rgba(0,0,0,.18);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;border-radius:6px;color:#d8dde6;display:flex;gap:10px;margin:2px 10px;padding:11px 12px;text-decoration:none;transition:background-color .2s ease,color .2s ease}.sidebar-item:hover{background-color:hsla(0,0%,100%,.07);color:#fff}.sidebar-icon{color:#9ba6b7;flex:0 0 auto;font-size:18px}.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:#17191c;border:none;bottom:10px;box-shadow:0 -4px 6px -2px rgba(0,0,0,.1);color:#f44;cursor:pointer;display:flex;left:10px;padding:15px;position:absolute;text-align:left;transition:width .3s ease;width:100%;width:calc(100% - 20px);z-index:10}.signout-button:hover{background-color:rgba(255,68,68,.1)}.sidebar.collapsed .signout-button{justify-content:center;left:8px;padding:15px 0;width:44px}.tenant-info{border-bottom:1px solid hsla(0,0%,100%,.08);padding:18px 16px;text-align:center}.tenant-info h3{word-wrap:break-word;color:#f4f6f8;font-size:14px;font-weight:600;margin:0;white-space:normal}.tenant-user-email{color:#9ba6b7;font-size:12px;line-height:1.35;margin:6px 0 0;overflow-wrap:anywhere}.collapse-toggle{align-items:center;background:#242830;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:#303641}@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:calc(100% - 20px)}.sidebar.collapsed .signout-button{width:44px}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:block}}.patient-search-container{max-width:none;min-width:0;position:relative;width:100%;z-index:1000}.search-input-container{display:flex;gap:8px;margin-bottom:8px}.search-input{background:#181a1d;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#f4f6f8;min-height:40px;padding:11px 12px;transition:all .2s ease}.search-input:focus{border-color:rgba(63,140,255,.75);box-shadow:0 0 0 2px rgba(63,140,255,.18)}.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:-webkit-sticky;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}}.transcription-container .content{background:#141414;flex:1 1;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:transparent;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:24px 24px 1rem;width:100%}.booking-grid{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.booking-section{background:#202328;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.16);min-width:0;padding:20px 24px}.booking-section h3{border-bottom:1px solid rgba(63,140,255,.32);color:#f4f6f8;font-size:1rem;font-weight:600;letter-spacing:0;margin:0 0 18px;padding-bottom:12px;text-align:left}.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:#181a1d;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#f4f6f8;font-size:14px;padding:11px 12px;width:100%}.procedure-search-input::placeholder{color:hsla(0,0%,100%,.6)}.procedure-list{background:#181a1d;border:1px solid hsla(0,0%,100%,.08);border-radius:6px;max-height:220px;overflow-y:auto}.procedure-item{border-bottom:1px solid hsla(0,0%,100%,.06);color:#e5e9f0;cursor:pointer;padding:13px 15px;text-align:left;transition:background .2s ease,color .2s ease}.procedure-item:hover{background:rgba(63,140,255,.14);color:#fff}.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%,.08);margin-top:18px;padding-top:16px}.selected-procedures h4{color:#7db0ff;font-size:.92rem;margin:0 0 12px;text-align:left}.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:#181a1d;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#f4f6f8;padding:11px 12px;width:100%}.date-input:focus,.procedure-search-input:focus{border-color:rgba(63,140,255,.75);box-shadow:0 0 0 2px rgba(63,140,255,.18);outline:none}.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:14px;justify-content:flex-start;width:100%}.time-column{background:#181a1d;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;padding:10px;width:112px}.time-column h4{border-bottom:1px solid rgba(63,140,255,.24);color:#7db0ff;font-size:.9rem;margin:0 0 8px;padding-bottom:8px;text-align:center}.time-scroll{align-items:center;display:flex;flex-direction:column;max-height:190px;overflow-y:auto;scrollbar-color:#4c5663 #181a1d;scrollbar-width:thin}.time-scroll::-webkit-scrollbar{width:8px}.time-scroll::-webkit-scrollbar-track{background:#181a1d}.time-scroll::-webkit-scrollbar-thumb{background-color:#4c5663;border-radius:4px}.time-item{border-radius:5px;color:#e5e9f0;cursor:pointer;padding:9px 8px;text-align:center;transition:background .2s ease,color .2s ease;width:100%}.time-item:hover{background:rgba(63,140,255,.14)}.time-item.selected{background:#3f8cff;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;position:relative;z-index:1}.bookings-list .view-toggle-buttons,.bookings-list h3{flex:0 0 auto}.bookings-list>.calendar-view,.bookings-list>table{flex:1 1 auto;min-height:0}.bookings-list table{background-color:#1e1e1e;box-shadow:0 1px 3px rgba(0,0,0,.3);color:#e0e0e0;margin-bottom:0}.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:1rem;min-height:0;padding:1.5rem;position:relative;width:100%;z-index:2}.bookings-search-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;margin-bottom:10px}.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:38px;padding:0 12px;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:0;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)}.booking-modal .modal-content{background:#2a2a2a;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);min-width:300px;padding:20px;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.warning{background-color:#ff9800;color:#fff}.action-button.warning:hover{background-color:#fb8c00}.action-button.secondary{background-color:#f5f5f5;color:#333}.action-button.secondary:hover{background-color:#e0e0e0}.booking-modal .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}.booking-modal .modal-content.wide{width:min(1200px,92vw)}.booking-modal .modal-content.dark h2{border-bottom:2px solid rgba(74,144,226,.3);color:#4a90e2;margin-bottom:1.5rem;padding-bottom:.5rem}.booking-modal .modal-content.dark .form-group label{color:#4a90e2}.booking-modal .dark-input{background:#444!important;border:1px solid hsla(0,0%,100%,.1)!important;color:#fff!important}.booking-modal .dark-input:focus{border-color:#4a90e2!important;box-shadow:0 0 0 2px rgba(74,144,226,.2);outline:none}.booking-modal .dark-input::-webkit-calendar-picker-indicator{filter:invert(1)}.booking-modal .modal-content.dark .action-button{background:#444;color:#fff}.booking-modal .modal-content.dark .action-button:hover{background:#555}.booking-modal .modal-content.dark .action-button.success{background:#4caf50}.booking-modal .modal-content.dark .action-button.success:hover{background:#45a049}.booking-modal .modal-content.dark .action-button.danger{background:#f44336}.booking-modal .modal-content.dark .action-button.danger:hover{background:#da190b}.booking-modal .modal-content.dark .action-button.secondary{background:#333;color:#fff}.booking-modal .modal-content.dark .action-button.secondary:hover{background:#444}.booking-modal .modal-form-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr}.booking-modal .grid-span-2{grid-column:1/-1}.booking-modal .modal-content{max-width:none!important;width:auto}.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-multiselect{position:relative}.status-trigger{background-color:#181a1d;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#f4f6f8;cursor:pointer;min-height:40px;padding:0 12px;text-align:left;width:100%}.status-trigger:hover{background-color:#20252b}.status-trigger.open{outline:2px solid rgba(63,140,255,.5)}.status-dropdown{background:#181a1d;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;box-shadow:0 16px 32px rgba(0,0,0,.34);left:0;padding:8px;position:absolute;right:0;top:calc(100% + 6px);z-index:10}.status-option{align-items:center;color:#e0e0e0;display:flex;gap:8px;padding:8px 10px}.status-option:hover{background-color:rgba(63,140,255,.14);border-radius:6px}.status-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.status-actions{display:flex;gap:8px;justify-content:space-between;margin-top:8px}.status-all,.status-clear{background:#444;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 8px}.status-all:hover,.status-clear:hover{background:#555}.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{flex:1 1 auto;min-height:0;overflow-x:auto;width:100%}.calendar-days,.calendar-view{display:flex;flex-direction:column}.calendar-days{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:-webkit-fit-content;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}.slot-booking.blocking{background-color:#6b7280;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 8px);color:#fff;font-weight:500}.whole-day-checkbox{align-items:center;background:#333;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background .2s ease}.whole-day-checkbox:hover{background:#444}.whole-day-checkbox input[type=checkbox]{accent-color:#4a90e2;cursor:pointer;height:20px;width:20px}.whole-day-checkbox span{font-size:14px}.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}.booking-container .booking-section{background:#202328;border:1px solid hsla(0,0%,100%,.08);border-radius:8px}.booking-container .booking-section h3{border-bottom:1px solid rgba(63,140,255,.32);color:#f4f6f8;font-size:1rem;text-align:left}.booking-container .date-input,.booking-container .procedure-search-input,.booking-container .status-trigger{background:#181a1d;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#f4f6f8;min-height:40px}.booking-container .date-input:focus,.booking-container .procedure-search-input:focus,.booking-container .status-trigger:focus-visible{border-color:rgba(63,140,255,.75);box-shadow:0 0 0 2px rgba(63,140,255,.18);outline:none}.booking-container .duration-input{text-align:left}.booking-container .duration-input label{color:#c9d0dc;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.booking-container .book-button{background:#3f8cff;border:none;border-radius:8px;box-shadow:0 10px 24px rgba(63,140,255,.22);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:18px;padding:.75rem 1.75rem;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;width:100%}.booking-container .book-button:hover:not(:disabled){background:#2f76dc;box-shadow:0 14px 28px rgba(63,140,255,.28);transform:translateY(-1px)}.booking-container .patient-last-bookings{background:#181a1d;border-color:hsla(0,0%,100%,.08)}.booking-container .last-booking-item{background:#20252b;border-left-color:#3f8cff}.booking-container .last-booking-item:hover{background:#26303a}.booking-container .room-booking-message{background-color:rgba(63,140,255,.1);border-left-color:#3f8cff;color:#c9d0dc}@media (max-width:1200px){.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.booking-container{padding:16px}.booking-grid{grid-template-columns:1fr}.booking-section{padding:18px}}.booking-create-page{width:100%}.booking-page-header{align-items:center;display:flex;gap:18px;margin:0 auto 18px;max-width:1680px}.booking-header-icon{align-items:center;background:rgba(63,140,255,.14);border:1px solid rgba(63,140,255,.24);border-radius:50%;color:#63a2ff;display:inline-flex;font-size:1.6rem;height:54px;justify-content:center;width:54px}.booking-page-header h1{color:#f4f6f8;font-size:1.65rem;line-height:1.15;margin:0 0 6px;text-align:left}.booking-page-header p{color:#98a3b5;margin:0;text-align:left}.booking-workspace{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(360px,.95fr);margin:0 auto;max-width:1680px}.booking-main-column,.booking-side-column{display:flex;flex-direction:column;gap:18px;min-width:0}.booking-panel{background:linear-gradient(135deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.01)),#1b1f25;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,.22);min-width:0;padding:20px}.booking-panel h2{align-items:center;color:#f4f6f8;display:flex;font-size:1rem;gap:12px;line-height:1.2;margin:0 0 18px;text-align:left}.booking-panel h2 svg{color:#4f97ff;flex:0 0 auto}.booking-form-grid{grid-gap:22px 18px;display:grid;gap:22px 18px}.booking-form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field{display:flex;flex-direction:column;gap:8px;min-width:0;text-align:left}.booking-field label,.duration-row label{color:#d8dde6;font-size:.88rem;font-weight:600}.booking-panel .date-input,.booking-panel .procedure-search-input,.booking-panel .search-input,.booking-panel .status-trigger{background:rgba(10,13,17,.72);border:1px solid rgba(137,151,170,.24);border-radius:6px;color:#f4f6f8;min-height:42px}.booking-panel textarea.date-input{min-height:126px;resize:vertical}.booking-panel .status-trigger{align-items:center;display:flex;justify-content:space-between}.booking-panel .status-trigger:after{color:#98a3b5;content:"⌄";font-size:1rem}.booking-panel .procedure-list{background:rgba(10,13,17,.54);border-color:rgba(137,151,170,.2);max-height:160px}.booking-panel .procedure-item{align-items:center;display:flex;min-height:42px}.booking-panel .selected-procedures{border-top:0;padding-top:0}.booking-panel .selected-procedures h4{color:#63a2ff}.booking-panel .selected-procedure-item{background:rgba(63,140,255,.12);border:1px solid rgba(63,140,255,.5);border-left:0;border-radius:6px;padding:8px 10px}.booking-panel .procedure-value-edit input{background:rgba(10,13,17,.72);border-color:rgba(137,151,170,.24)}.booking-sticky-panel{position:-webkit-sticky;position:sticky;top:72px}.booking-side-column .booking-panel{padding:18px}.booking-side-column .time-selection-container{gap:12px;justify-content:stretch}.booking-side-column .time-column{background:rgba(10,13,17,.62);flex:1 1;min-width:0;width:auto}.booking-side-column .time-scroll{max-height:144px}.booking-side-column .time-item{min-height:26px;padding:5px 8px}.duration-row{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:86px minmax(0,1fr);margin-top:16px}.duration-row .date-input{min-height:40px}.booking-summary-panel{margin-top:-4px}.booking-summary-list{border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;flex-direction:column;gap:10px;margin-bottom:18px;padding-bottom:16px}.booking-summary-list>div{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:150px minmax(0,1fr);text-align:left}.booking-summary-list span{color:#98a3b5}.booking-summary-list strong{color:#f4f6f8;font-weight:600;overflow-wrap:anywhere;text-align:right}.booking-summary-list div:first-child strong{color:#63a2ff}.booking-summary-panel .book-button{align-items:center;display:inline-flex;gap:10px;justify-content:center;margin-top:0}.booking-confirm-note{align-items:center;color:#98a3b5;display:flex;font-size:.86rem;gap:8px;justify-content:center;margin-top:12px}.booking-confirm-note svg{color:#98a3b5}.booking-workspace .patient-last-bookings{margin-top:18px}@media (max-width:1180px){.booking-workspace{grid-template-columns:1fr}.booking-sticky-panel{position:static}}@media (max-width:760px){.booking-page-header{align-items:flex-start}.booking-form-grid.two-columns,.booking-summary-list>div{grid-template-columns:1fr}.booking-summary-list strong{text-align:left}.duration-row{grid-template-columns:1fr}}.booking-modal.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(2,8,18,.78);padding:24px}.booking-modal .modal-content.dark.wide{background:radial-gradient(circle at 18% 0,rgba(48,115,229,.18),transparent 34%),linear-gradient(145deg,rgba(24,32,47,.98),rgba(13,18,28,.98));border:1px solid rgba(137,164,211,.24);border-radius:16px;box-shadow:0 26px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;max-height:min(92vh,980px);overflow:hidden;padding:0;width:min(960px,calc(100vw - 48px))}.booking-edit-header{align-items:center;border-bottom:1px solid rgba(137,164,211,.14);display:flex;flex:0 0 auto;gap:24px;justify-content:space-between;padding:20px 28px 16px}.booking-edit-title-group{align-items:center;display:flex;gap:18px;min-width:0}.booking-edit-icon{background:linear-gradient(145deg,rgba(35,77,151,.88),rgba(25,48,92,.92));border:1px solid rgba(93,150,255,.55);border-radius:50%;color:#6da8ff;display:grid;flex:0 0 64px;font-size:28px;height:64px;place-items:center;width:64px}.booking-edit-title-row{align-items:center;display:flex;gap:10px;min-width:0}.booking-modal .modal-content.dark .booking-edit-title-row h2{border:0;color:#e9f1ff;font-size:22px;letter-spacing:0;line-height:1.1;margin:0;padding:0}.booking-edit-title-group p{color:#a9b5cb;font-size:13px;margin:6px 0 0}.booking-edit-status{align-items:center;background:rgba(61,133,255,.14);border:1px solid rgba(88,153,255,.4);border-radius:999px;color:#7db0ff;display:inline-flex;font-size:12px;font-weight:600;height:22px;padding:0 10px}.booking-edit-status.finished{background:rgba(47,205,161,.14);border-color:rgba(47,205,161,.45);color:#75e4c3}.booking-edit-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:12px}.booking-close-button,.booking-icon-text-button{align-items:center;background:rgba(7,12,21,.34);border:1px solid rgba(137,164,211,.24);border-radius:8px;color:#e9f1ff;cursor:pointer;display:inline-flex;height:42px;justify-content:center}.booking-icon-text-button{font-weight:600;gap:8px;padding:0 18px}.booking-close-button{font-size:18px;width:42px}.booking-close-button:hover,.booking-icon-text-button:hover{background:rgba(58,92,151,.24);border-color:rgba(120,169,255,.42)}.booking-edit-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 26px 96px}.booking-edit-section{background:rgba(31,40,58,.72);border:1px solid rgba(137,164,211,.16);border-radius:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04);margin:8px 0;padding:16px 18px}.booking-edit-section h3{align-items:center;border:0;color:#63a2ff;display:flex;font-size:16px;font-weight:700;gap:10px;margin:0 0 16px;padding:0}.booking-edit-grid,.booking-financial-grid{grid-gap:14px 22px;display:grid;gap:14px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-edit-section .form-group{margin:0}.booking-edit-section label,.booking-modal .modal-content.dark .form-group label{color:#aeb8ca;font-size:13px;font-weight:600;margin-bottom:7px}.input-with-icon{align-items:stretch;background:rgba(5,10,18,.46);border:1px solid rgba(137,164,211,.15);border-radius:6px;display:flex;overflow:hidden;width:100%}.input-with-icon>svg{align-self:center;color:#4f91ff;flex:0 0 40px;padding:0 12px;width:40px}.booking-modal .input-with-icon .dark-input,.booking-modal .input-with-icon .procedure-search-input{background:transparent!important;border:0!important;border-radius:0}.booking-modal .dark-input,.booking-modal .procedure-search-input{background:rgba(5,10,18,.46)!important;border:1px solid rgba(137,164,211,.15)!important;border-radius:6px;color:#e9f1ff!important;min-height:38px}.booking-modal select.dark-input{background-image:linear-gradient(45deg,transparent 50%,#8fa6c9 0),linear-gradient(135deg,#8fa6c9 50%,transparent 0)!important;background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%!important;background-size:5px 5px,5px 5px!important;padding-right:34px!important}.booking-modal textarea.dark-input{min-height:72px;resize:vertical}.booking-status-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.booking-status-chip{align-items:center;background:rgba(45,66,99,.64);border:1px solid rgba(74,144,226,.55);border-radius:999px;color:#dce9ff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;min-height:32px;padding:0 12px}.booking-status-chip svg:first-child{color:#60a2ff}.booking-status-chip svg:last-child{color:#8fb5f7;font-size:11px}.booking-status-chip.cancelado{background:rgba(115,39,46,.62);border-color:hsla(0,100%,71%,.48);color:#ffe1e1}.booking-status-chip.cancelado svg:first-child,.booking-status-chip.cancelado svg:last-child{color:#ffb0b0}.booking-add-status{margin-top:10px}.booking-timing-grid{margin-top:16px}.booking-add-row-button,.booking-add-status .status-trigger{align-items:center;border-style:dashed;color:#9ab8ec;display:flex;gap:8px;justify-content:center}.booking-modal .procedure-search{margin-bottom:12px}.booking-modal .procedure-list,.booking-modal .subprocedure-list{background:rgba(5,10,18,.5);border-color:rgba(137,164,211,.15);margin-bottom:12px;max-height:180px}.booking-modal .selected-procedures{border-top:0;margin-top:0;padding-top:0}.booking-modal .selected-procedure-item{background:rgba(43,59,88,.78);border:1px solid rgba(74,144,226,.5);border-left:4px solid #4f91ff;border-radius:7px;box-shadow:none}.booking-modal .procedure-details>span{color:#f2f6ff;font-weight:700}.booking-modal .procedure-value-edit label{color:#72a9ff;width:auto}.booking-modal .procedure-value-edit input{flex-grow:0;max-width:132px}.remove-procedure-button{background:rgba(76,19,30,.35);border:1px solid rgba(255,91,91,.28);border-radius:7px;color:#ff6b6b;cursor:pointer;display:grid;flex:0 0 36px;height:36px;place-items:center;width:36px}.booking-add-row-button{background:transparent;border:1px dashed rgba(137,164,211,.22);border-radius:6px;cursor:pointer;margin-top:10px;min-height:38px;width:100%}.financial-total{display:flex;flex-direction:column;gap:7px}.financial-total-input{color:#5ea0ff!important;font-size:18px;font-weight:600;letter-spacing:0;padding-left:12px!important}.booking-financial-grid .financial-total label{padding-left:2px}.booking-modal .file-upload-wrapper{background:transparent;border:0;margin-top:0;padding:0}.financial-proof-upload{align-items:center;align-self:end;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;min-height:38px}.booking-modal .action-button-like,.booking-modal .file-upload-label.action-button-like{background:rgba(12,20,34,.7);border:1px solid rgba(137,164,211,.24);border-radius:7px;color:#dce8fb;font-size:13px;font-weight:700;min-height:38px;padding:0 14px}.booking-modal .action-button-like:hover,.booking-modal .file-upload-label.action-button-like:hover{background:rgba(58,92,151,.24);border-color:rgba(120,169,255,.42)}.booking-modal .action-button-like svg,.booking-modal .file-upload-label.action-button-like svg{color:#6da8ff}.proof-link-button{align-items:center;background:rgba(74,144,226,.12);border:0;border-radius:7px;color:#9ec4ff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;justify-content:flex-start;max-width:230px;min-height:38px;min-width:0;padding:0 12px}.proof-link-button:hover{background:rgba(74,144,226,.2);color:#dce9ff}.proof-link-button:disabled{cursor:not-allowed;opacity:.65}.proof-link-button svg{flex:0 0 auto}.proof-link-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-modal select.dark-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:rgba(5,10,18,.42)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 10 5 5 5-5' stroke='%239AB8EC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 13px center!important;background-repeat:no-repeat!important;background-size:18px 18px!important;padding-right:42px!important}.booking-modal .input-with-icon select.dark-input{background-color:transparent!important}.booking-modal select.dark-input::-ms-expand{display:none}.booking-modal select.dark-input option{background:#101722;color:#e9f1ff}.credit-installment-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.installment-select{width:96px}.payment-status-line{align-items:center;background:rgba(5,10,18,.46);border-radius:6px;color:#aeb8ca;display:flex;font-size:13px;justify-content:space-between;margin-top:14px;min-height:34px;padding:0 12px}.payment-status-line span{align-items:center;color:#ffcf66;display:inline-flex;font-weight:700;gap:6px}.payment-status-line.paid span{color:#75e4c3}.booking-modal .modal-content.dark .modal-actions{align-items:center;background:rgba(18,27,42,.96);border-top:1px solid rgba(137,164,211,.16);bottom:0;display:flex;gap:16px;justify-content:space-between;margin:0;min-height:80px;padding:16px 22px;position:-webkit-sticky;position:sticky;z-index:2}.booking-modal .modal-content.dark .action-button{align-items:center;border:1px solid rgba(137,164,211,.2);border-radius:7px;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:42px;padding:0 18px}.booking-modal .modal-content.dark .action-button.primary{background:linear-gradient(135deg,#4a90ff,#246fe6);border-color:rgba(120,169,255,.55);color:#fff}.booking-modal .modal-content.dark .action-button.danger{background:transparent;border-color:transparent;color:#ff6b6b}.booking-modal .modal-content.dark .action-button.secondary{background:rgba(5,10,18,.36);border-color:rgba(137,164,211,.22);color:#e9f1ff}.booking-save-feedback{align-items:center;background:rgba(18,27,42,.96);border:1px solid rgba(137,164,211,.22);border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.32);color:#e9f1ff;display:flex;gap:13px;min-height:74px;padding:14px 16px;position:fixed;right:18px;top:18px;width:min(320px,calc(100vw - 32px));z-index:1200}.booking-save-feedback.success{border-color:rgba(47,205,161,.46)}.booking-save-feedback.error{border-color:hsla(0,100%,71%,.46)}.booking-save-feedback-icon{background:rgba(74,144,226,.14);border-radius:50%;color:#7db0ff;display:grid;flex:0 0 38px;height:38px;place-items:center;width:38px}.booking-save-feedback.success .booking-save-feedback-icon{background:rgba(47,205,161,.14);color:#75e4c3}.booking-save-feedback.error .booking-save-feedback-icon{background:hsla(0,100%,71%,.14);color:#ff8b8b}.booking-save-feedback span,.booking-save-feedback strong{display:block}.booking-save-feedback strong{font-size:13px;line-height:1.1;margin-bottom:3px}.booking-save-feedback span{color:#aeb8ca;font-size:13px;line-height:1.3}.booking-save-feedback-spinner{animation:booking-save-feedback-spin .8s linear infinite;border:2px solid rgba(125,176,255,.28);border-radius:50%;border-top-color:#7db0ff;height:18px;width:18px}@keyframes booking-save-feedback-spin{to{transform:rotate(1turn)}}@media (max-width:760px){.booking-modal.modal-overlay{padding:12px}.booking-modal .modal-content.dark.wide{max-height:calc(100vh - 24px);width:calc(100vw - 24px)}.booking-edit-header{align-items:flex-start;padding:16px}.booking-edit-icon{flex-basis:48px;font-size:22px;height:48px;width:48px}.booking-edit-header,.booking-edit-title-row{flex-wrap:wrap}.booking-edit-body{padding:0 12px 96px}.booking-edit-grid,.booking-financial-grid{grid-template-columns:1fr}.booking-modal .grid-span-2{grid-column:auto}.booking-modal .modal-content.dark .modal-actions{align-items:stretch;flex-direction:column-reverse}.left-buttons,.right-buttons{justify-content:stretch;width:100%}.booking-modal .modal-content.dark .action-button{flex:1 1}}.bookings-search-container{background:linear-gradient(135deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.01)),#111927;border:1px solid rgba(137,164,211,.24);border-radius:8px;box-shadow:0 18px 42px rgba(0,0,0,.24);padding:24px 28px}.bookings-search-filters{gap:22px;grid-template-columns:minmax(210px,1fr) minmax(260px,1.1fr) minmax(180px,.8fr) minmax(260px,1.1fr);margin-bottom:0}.bookings-search-filters label{color:#6fa8ff;font-size:.86rem;font-weight:700;margin:0}.booking-filter-control,.bookings-search-filters .status-trigger{align-items:center;background:rgba(5,10,18,.46);border:1px solid rgba(137,164,211,.24);border-radius:7px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.035);color:#dce8fb;display:flex;gap:12px;min-height:48px;width:100%}.booking-filter-control{padding:0 14px}.booking-filter-control>svg,.status-trigger-content>svg{color:#8fb5f7;flex:0 0 auto;font-size:16px}.booking-filter-control .date-input,.booking-filter-control .search-input,.booking-filter-control select{background:transparent!important;border:0!important;border-radius:0;box-shadow:none;color:#f4f7fb;min-height:46px;padding:0;width:100%}.booking-filter-control .date-input:focus,.booking-filter-control .search-input:focus,.booking-filter-control select:focus{box-shadow:none;outline:none}.booking-filter-control select{-webkit-appearance:none;appearance:none;color-scheme:dark}.booking-filter-control select optgroup,.booking-filter-control select option{background-color:#111927;color:#f4f7fb}.booking-filter-control.patient-control{align-items:flex-start;padding-bottom:0;padding-top:0;position:relative}.booking-filter-control.patient-control>svg{margin-top:15px}.booking-filter-control .patient-search-container,.booking-filter-control .search-input-container{margin:0}.booking-filter-control .no-results,.booking-filter-control .patient-dropdown{left:-40px;right:-14px;top:calc(100% + 8px)}.bookings-search-filters .status-trigger{justify-content:space-between;overflow:hidden;padding:0 14px}.bookings-search-filters .status-trigger:after{content:none}.status-trigger-content{align-items:center;display:inline-flex;gap:12px;min-width:0}.status-trigger-content span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-chevron{color:#9ab8ec;flex:0 0 auto;transition:transform .2s ease}.status-trigger.open .status-chevron{transform:rotate(180deg)}.status-dropdown{background:#111927;border-color:rgba(137,164,211,.24);box-shadow:0 18px 42px rgba(0,0,0,.42);color:#dce8fb;color-scheme:dark}.status-option{border-radius:6px;color:#dce8fb}.status-option input[type=checkbox]{accent-color:#4a90ff}.status-all,.status-clear{background:rgba(74,144,226,.12);border:1px solid rgba(74,144,226,.24);color:#b8d3ff;min-height:30px}.view-bookings-area{gap:20px;overflow:visible}.view-bookings-area .view-toggle-buttons{align-self:center;background:rgba(5,10,18,.54);border:1px solid rgba(137,164,211,.24);border-radius:8px;display:inline-flex;gap:0;margin:6px 0 8px;padding:3px}.view-bookings-area .view-toggle-button{align-items:center;background:transparent;border:0;border-radius:6px;color:#b8c3d6;display:inline-flex;font-weight:700;gap:10px;justify-content:center;margin:0;min-height:44px;min-width:132px;padding:0 18px}.view-bookings-area .view-toggle-button.active{background:linear-gradient(135deg,#4a90ff,#246fe6);box-shadow:0 8px 18px rgba(36,111,230,.24);color:#fff}.view-bookings-area .view-toggle-button:hover:not(.active){background:rgba(137,164,211,.1);color:#e9f1ff}.bookings-table-shell{background:linear-gradient(135deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.01)),#111927;border:1px solid rgba(137,164,211,.24);border-radius:8px;box-shadow:0 20px 46px rgba(0,0,0,.24);overflow-x:auto;overflow-y:hidden;width:100%}.bookings-list table.bookings-table{background:transparent;border-collapse:separate;border-spacing:0;box-shadow:none;min-width:1120px}.bookings-list .bookings-table td,.bookings-list .bookings-table th{border:0;border-bottom:1px solid rgba(137,164,211,.12);color:#eef4ff;padding:18px 22px;vertical-align:middle}.bookings-list .bookings-table th{background:rgba(24,35,55,.76);color:#eef4ff;font-size:.78rem;font-weight:800;height:58px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.bookings-list .bookings-table td:not(:last-child),.bookings-list .bookings-table th:not(:last-child){border-right:1px solid rgba(137,164,211,.1)}.bookings-list .bookings-table tr:nth-child(2n){background:transparent}.booking-table-row{background:rgba(15,24,38,.58);cursor:pointer;min-height:82px;transition:background .18s ease,box-shadow .18s ease}.bookings-list .bookings-table .booking-table-row.status-realizado{background:linear-gradient(90deg,rgba(21,92,63,.46),rgba(14,61,47,.34))}.booking-table-row:hover{background:rgba(42,65,101,.52);box-shadow:inset 3px 0 0 #4a90ff}.bookings-list .bookings-table .booking-table-row.status-realizado:hover{background:linear-gradient(90deg,rgba(31,128,88,.58),rgba(18,79,58,.44));box-shadow:inset 3px 0 0 #2fcda1}.booking-table-row.read-only{cursor:default}.booking-person-cell,.booking-time-cell{align-items:center;display:flex;gap:12px;min-width:0}.booking-person-cell.compact{gap:10px}.booking-avatar{align-items:center;background:linear-gradient(145deg,rgba(35,77,151,.9),rgba(25,48,92,.94));border:1px solid rgba(93,150,255,.34);border-radius:50%;color:#eef5ff;display:inline-flex;flex:0 0 38px;font-size:.78rem;font-weight:800;height:38px;justify-content:center;width:38px}.booking-avatar.agent,.booking-avatar.professional{background:linear-gradient(145deg,rgba(62,79,111,.95),rgba(38,51,76,.96));border-color:rgba(137,164,211,.24)}.booking-primary-text{color:#f4f7fb;font-size:.93rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-time-cell{color:#f4f7fb;font-size:1rem;font-weight:800}.booking-time-cell svg{color:#4f97ff}.booking-procedure-list{display:flex;flex-wrap:wrap;gap:8px}.booking-procedure-chip{align-items:center;background:rgba(137,164,211,.1);border:1px solid rgba(137,164,211,.16);border-radius:999px;color:#eef4ff;display:inline-flex;font-weight:700;gap:8px;min-height:30px;padding:0 10px;white-space:nowrap}.booking-procedure-chip svg{color:#d6e5ff}.booking-status-badge{align-items:center;background:rgba(74,144,226,.12);border:1px solid rgba(74,144,226,.38);border-radius:999px;color:#7db0ff;display:inline-flex;font-weight:800;gap:8px;min-height:32px;padding:0 12px;white-space:nowrap}.booking-status-info-icon{font-size:.8rem;opacity:.8}.booking-status-badge.status-realizado{background:rgba(47,205,161,.12);border-color:rgba(47,205,161,.36);color:#75e4c3}.booking-status-badge.status-chegou,.booking-status-badge.status-confirmado{background:rgba(92,197,255,.12);border-color:rgba(92,197,255,.38);color:#8fd8ff}.booking-status-badge.status-cancelado{background:hsla(0,100%,71%,.12);border-color:hsla(0,100%,71%,.42);color:#ff9b9b}.booking-status-badge.status-bloqueio{background:rgba(178,190,205,.1);border-color:rgba(178,190,205,.36);color:#c9d4e3}.booking-muted{color:#91a0b6}.booking-observation{color:#f4f7fb;display:block;font-size:.93rem;font-weight:700;line-height:1.35;max-width:260px;overflow:visible;overflow-wrap:anywhere;white-space:normal}.booking-calendar-button{align-items:center;background:transparent;border:0;color:#4f97ff;cursor:pointer;display:inline-flex;font-size:18px;height:24px;justify-content:center;padding:0;width:24px}.booking-calendar-button:hover{color:#8fbdff}.bookings-table-footer{background:rgba(15,24,38,.56);border-top:1px solid rgba(137,164,211,.12);font-weight:600;min-height:54px}.bookings-empty-state,.bookings-table-footer{align-items:center;color:#9faec6;display:flex;justify-content:center}.bookings-empty-state{background:rgba(17,25,39,.72);border:1px solid rgba(137,164,211,.18);border-radius:8px;flex-direction:column;gap:12px;min-height:220px}.bookings-empty-state svg{color:#4f97ff;font-size:28px}.bookings-empty-state p{margin:0}@media (max-width:1180px){.bookings-search-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.bookings-search-container{padding:18px}.bookings-search-filters{grid-template-columns:1fr}.view-bookings-area .view-toggle-buttons{width:100%}.view-bookings-area .view-toggle-button{flex:1 1;min-width: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:-webkit-sticky;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}.status-group{margin-left:auto}.status-compact{font-size:13px;padding:6px 10px}.status-label-compact{font-size:13px}.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:-webkit-sticky;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{background:rgba(0,0,0,.7);bottom:0;left:0;right:0;top:0}.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{border-bottom:2px solid rgba(74,144,226,.3);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}.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}.field-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.field-header label{margin-bottom:0}.transcribe-button{align-items:center;background:rgba(74,144,226,.14);border:1px solid rgba(74,144,226,.5);border-radius:999px;color:#e8f2ff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:7px;padding:7px 11px;transition:background .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap}.transcribe-button:hover:not(:disabled){background:rgba(74,144,226,.25);border-color:rgba(74,144,226,.8);transform:translateY(-1px)}.transcribe-button.recording{background:rgba(220,53,69,.2);border-color:rgba(220,53,69,.75);color:#ffd8dd}.transcribe-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.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;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}.prescription-history{background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:15px}.prescription-history-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.prescription-history-header h3{color:#4a90e2;font-size:18px;margin:0}.prescription-history-header span{color:#aaa;font-size:13px;white-space:nowrap}.prescription-history-empty{color:#aaa;font-size:14px;margin:0}.prescription-history-list{display:flex;flex-direction:column;gap:12px}.prescription-history-item{background:#242424;border:1px solid #3f3f3f;border-radius:6px;padding:12px}.prescription-history-meta{align-items:center;color:#ddd;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.prescription-history-meta span{color:#aaa;font-size:13px}.prescription-history-item pre{background:#1d1d1d;border-radius:4px;color:#e8e8e8;font-family:inherit;font-size:14px;line-height:1.5;margin:0 0 12px;max-height:180px;overflow:auto;padding:10px;white-space:pre-wrap}.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.saving{background-color:rgba(74,144,226,.18);border:1px solid rgba(74,144,226,.3);color:#9dc6f5}.save-status.warning{background-color:rgba(255,193,7,.16);border:1px solid rgba(255,193,7,.32);color:#ffd666}.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:24px;position:relative}.dashboard-container{background:rgba(24,26,29,.94);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.24);margin:0 auto;max-width:1200px;padding:24px}.dashboard-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-title{color:#f4f6f8;gap:1rem}.dashboard-title,.nexus-logo{align-items:center;display:flex;font-size:1.5rem;font-weight:700}.nexus-logo{background:linear-gradient(135deg,#3f8cff,#36b37e);border-radius:8px;color:#fff;height:50px;justify-content:center;width:50px}.dashboard-actions{align-items:center;display:flex;gap:1rem}.refresh-button{align-items:center;background:#2a3038;border:none;border-radius:8px;box-shadow:none;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){background:#343b46;transform:translateY(-2px)}.refresh-button:disabled{animation:spin 1s linear infinite;cursor:not-allowed;opacity:.6}.dashboard-user{color:#b7bdc7;font-weight:600;gap:.75rem}.dashboard-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:#2a3038;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:#202328;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.16);cursor:pointer;padding:1.5rem;transition:all .3s ease}.dash-card:hover{border-color:rgba(63,140,255,.35);box-shadow:0 14px 30px rgba(0,0,0,.24);transform:translateY(-2px)}.dash-card{gap:1rem}.card-icon,.dash-card{align-items:center;display:flex}.card-icon{background:rgba(63,140,255,.14);border-radius:8px;color:#7db0ff;font-size:1.5rem;height:60px;justify-content:center;width:60px}.card-info{display:flex;flex-direction:column;gap:.25rem}.card-number{color:#f4f6f8;font-size:2rem;font-weight:700;line-height:1.1}.card-label{color:#b7bdc7;font-size:.9rem;font-weight:500}.dashboard-chart{background:#202328;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.16);padding:1.5rem}.chart-title{align-items:center;color:#f4f6f8;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(180deg,#3f8cff,#36b37e);border-radius:4px 4px 0 0;min-height:10px;transition:all .3s ease;width:100%}.chart-bar:hover{opacity:.8}.chart-label{color:#b7bdc7;font-size:.8rem;font-weight:500}.chart-day-label{color:#8f98a8;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 hsla(0,0%,100%,.14);border-radius:50%;border-top-color:#3f8cff;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}}.users-page{color:#1a1a1a;padding:16px}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.users-actions{display:flex;gap:8px}.users-search{border:1px solid #ddd;border-radius:4px;min-width:260px;padding:8px}.users-table-wrapper{overflow:auto}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:10px 8px;text-align:left}.users-table thead th{background:#111827;border-bottom:1px solid #374151}.primary{background:#1e88e5;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px}.secondary{background:#eee;color:#333;margin-right:6px}.danger,.secondary{border:none;border-radius:4px;cursor:pointer;padding:6px 10px}.danger{background:#e53935;color:#fff}.danger:disabled{cursor:not-allowed;opacity:.7}.modal-overlay{align-items:center;background:rgba(9,30,66,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{background:#0f172a;border-radius:8px;box-shadow:0 12px 28px rgba(9,30,66,.25);color:#fff;max-width:520px;width:100%}.modal-elevated{border:1px solid #1f2937}.modal-header{align-items:center;background:#111827;border-bottom:1px solid #1f2937;display:flex;justify-content:space-between;padding:14px 18px}.modal-body{gap:12px;padding:16px}.modal-body,.modal-body label{display:flex;flex-direction:column}.modal-body label{gap:6px}.modal-body input,.modal-body select{background:#111827;border:1px solid #334155;border-radius:4px;color:#fff;padding:8px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.close{background:transparent;border:none;color:#e5e7eb;cursor:pointer;font-size:20px}.users-table td,.users-table th{color:#fff}.primary:hover{background:#1976d2}.secondary:hover{background:#e0e0e0}.danger:hover{background:#c62828}
/*# sourceMappingURL=main.54b14c2d.css.map*/