@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap";:root{--hospital-primary: #25509E;--hospital-accent: #5ACAD9;--hospital-secondary: #6c757d;--hospital-bg: #E3F2FD;--hospital-error: #dc3545;--hospital-success: #28a745;--hospital-text: #212529;--hospital-card: #25509E;--hospital-border: rgba(90, 202, 217, .3);--hospital-radius: 40px;--hospital-pill: 50px;--hospital-shadow: 0 10px 30px rgba(0, 0, 0, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Manrope,sans-serif;background-color:var(--hospital-bg);color:var(--hospital-text);line-height:1.6;height:100vh;width:100vw;overflow-x:hidden;font-weight:600}#root{min-height:100vh;display:flex;flex-direction:column}.auth-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header-illustration{flex:0 0 40%;background-size:cover;background-position:center;display:flex;justify-content:center;align-items:center;padding:2rem}.bottom-sheet{flex:1;background-color:var(--hospital-card);border-top-left-radius:var(--hospital-radius);border-top-right-radius:var(--hospital-radius);padding:3rem 2rem 2rem;box-shadow:0 -10px 40px #0000004d;display:flex;flex-direction:column;align-items:center;color:#fff;z-index:10;margin-top:-20px;overflow-y:auto;max-height:calc(100vh - 40px)}.container{position:relative;z-index:2;width:100%;max-width:480px;margin:0 auto;padding:2rem 1rem;box-sizing:border-box}.card{width:100%;display:flex;flex-direction:column;align-items:center}.title{font-size:1.8rem;font-weight:800;color:#fff;margin-bottom:.5rem;text-align:center;font-family:Manrope,sans-serif}.subtitle{font-size:1rem;color:#fffc;margin-bottom:2.5rem;text-align:center;font-weight:400}.form-group{margin-bottom:1.5rem;width:100%}label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.75rem;color:#ffffffe6}input{width:100%;padding:1rem 1.5rem;border:2px solid var(--hospital-border);border-radius:var(--hospital-pill);font-size:1rem;transition:border-color .2s,box-shadow .2s;background:#fff;color:var(--hospital-primary);font-family:Manrope,sans-serif;font-weight:600}input:focus{outline:none;border-color:var(--hospital-accent);box-shadow:0 0 0 4px #5acad933}.date-input-wrapper{position:relative;width:100%}.date-input-wrapper input[type=date]{padding-right:3.5rem}.date-input-wrapper .calendar-icon{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:var(--hospital-primary);pointer-events:none;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;color:transparent;background:transparent;cursor:pointer}.custom-dropdown-container{position:relative;width:100%;margin-bottom:1.5rem}.custom-dropdown-header{width:100%;padding:1.2rem 1.5rem;font-size:1rem;border:2px solid var(--hospital-border);border-radius:var(--hospital-pill);background-color:#fff;color:var(--hospital-primary);cursor:pointer;font-weight:700;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;box-sizing:border-box;overflow:hidden}.custom-dropdown-header span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left;margin-right:10px}.custom-dropdown-header:hover{border-color:var(--hospital-accent)}.custom-dropdown-header.open{border-color:var(--hospital-accent);box-shadow:0 0 0 4px #5acad933}.custom-dropdown-list{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border-radius:20px;box-shadow:0 15px 40px #00000026;z-index:1000;max-height:300px;overflow-y:auto;padding:.5rem;border:1px solid #f0f0f0;animation:slideInDown .2s ease}.custom-dropdown-item{padding:1rem 1.5rem;border-radius:12px;cursor:pointer;color:var(--hospital-primary);font-weight:600;transition:background .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown-item:hover{background:#f0f7ff;color:var(--hospital-accent)}.custom-dropdown-item.selected{background:var(--hospital-primary);color:#fff}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-select-arrow{display:flex;align-items:center;transition:transform .3s ease}.custom-dropdown-header.open .custom-select-arrow{transform:rotate(180deg)}button{width:100%;padding:1.1rem;background-color:var(--hospital-accent);color:var(--hospital-primary);border:none;border-radius:var(--hospital-pill);font-size:1rem;font-weight:800;cursor:pointer;transition:all .3s ease;font-family:Manrope,sans-serif;text-transform:uppercase;letter-spacing:1px}button.secondary{background-color:transparent;border:2px solid var(--hospital-accent);color:var(--hospital-accent);margin-top:1rem}button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #5acad966}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.branding-logo{height:80px;width:auto;max-width:320px;object-fit:contain;margin-bottom:2rem;background:#fff;padding:10px 20px;border-radius:12px;filter:none}.otp-container{display:flex;gap:12px;justify-content:center;margin-bottom:2rem;width:100%}.otp-box{width:50px;height:65px;text-align:center;font-size:2.2rem!important;font-weight:800!important;border:4px solid var(--hospital-border)!important;border-radius:16px;background-color:#fff!important;color:#000!important;line-height:65px!important;padding:0!important;-webkit-text-fill-color:#000000!important;opacity:1!important;visibility:visible!important;z-index:100!important;pointer-events:auto!important;caret-color:#25509e}.otp-box:focus{outline:none;border-color:var(--hospital-accent);box-shadow:0 0 0 5px #5acad94d;transform:translateY(-2px)}.data-card{background:#fff;border-radius:24px;padding:1.5rem;margin-bottom:1rem;border:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;transition:all .2s;width:100%;color:var(--hospital-text)}.view-btn{background:var(--hospital-primary);color:#fff;padding:.8rem 1.6rem;border-radius:50px;font-size:.85rem;font-weight:800;width:auto!important}.dashboard-container{width:100%;max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem;opacity:1!important}.dashboard-header{background:#fff;padding:1.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 40px #0000000f;border-radius:30px;margin-bottom:3rem;color:var(--hospital-primary)}.profile-avatar{width:48px;height:48px;background:var(--hospital-accent);color:var(--hospital-primary);border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem}.patient-info .name{font-weight:800;color:var(--hospital-primary);display:block}.logout-pill{background:#f8f9fa;color:var(--hospital-primary);border:1px solid #eee;padding:.6rem 1.5rem;border-radius:50px;font-size:.85rem;font-weight:800;cursor:pointer;width:auto!important}.search-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:3rem 0}.search-card-premium{background:#fff;padding:3rem 2rem;border-radius:40px;text-align:center;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:2px solid transparent;cursor:pointer;box-shadow:0 15px 35px #0000000a;display:flex;flex-direction:column;align-items:center;color:var(--hospital-primary)}.search-card-premium.active{border-color:var(--hospital-accent);box-shadow:0 25px 60px #5acad933;transform:translateY(-5px)}.icon-circle{width:80px;height:80px;background:#f0f7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.detail-view-container{background:#fff;padding:3rem;border-radius:40px;box-shadow:0 20px 60px #0000000d;width:100%}.back-link{display:inline-flex;align-items:center;gap:.75rem;color:var(--hospital-primary);text-decoration:none;font-weight:800;margin-bottom:2rem;font-size:.95rem;padding:10px 15px;border-radius:10px;transition:background .2s}.back-link:hover{background:#25509e0d}.print-btn-float{background:var(--hospital-accent);color:var(--hospital-primary);padding:1.25rem 3rem;border-radius:50px;font-weight:900;box-shadow:0 15px 40px #5acad966;width:auto!important;display:flex;align-items:center;gap:1rem;border:none;cursor:pointer}.medicine-card-lovable{background:var(--hospital-primary);color:#fff;padding:1.75rem;border-radius:24px;margin-bottom:1.25rem;cursor:pointer;transition:all .3s ease}.medicine-card-lovable.expanded{background:#fff;color:var(--hospital-text);border:2px solid #f0f4f8;box-shadow:0 20px 50px #00000014}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:3rem 0;border-top:2px dashed #ddd;border-bottom:2px dashed #ddd;padding:2.5rem 0}.report-cell{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:10px}.bill-table-classic{width:100%;border-collapse:collapse}.bill-table-classic th{border-bottom:3px solid #333;padding:15px 0;text-align:left;font-size:.9rem;font-weight:900}.bill-table-classic td{padding:18px 0;border-bottom:1px solid #f0f0f0}.table-responsive-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0}.security-lockout{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:2rem}.animated{animation-duration:.6s;animation-fill-mode:both}.fadeIn{animation-name:fadeIn}.slideUp{animation-name:slideUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.footer-credits{text-align:center;padding:4rem 0;color:#999;font-size:.9rem;font-weight:600}@media(max-width:480px){.bottom-sheet{padding:2.5rem 1.5rem!important}.container{padding:1rem .5rem!important}.title{font-size:1.5rem!important;margin-bottom:.25rem}.subtitle{font-size:.9rem!important;margin-bottom:1.5rem!important}.otp-container{gap:8px!important}.otp-box{width:42px!important;height:58px!important;line-height:58px!important;font-size:1.8rem!important;border-radius:12px!important;border-width:3px!important}.custom-dropdown-header{padding:1rem 1.2rem!important;font-size:.95rem!important}.detail-view-container{padding:1.5rem!important;border-radius:24px!important}.report-grid{grid-template-columns:1fr!important;gap:1.5rem!important;padding:1.5rem 0!important;margin:1.5rem 0!important}.report-cell{font-size:.85rem!important}.bill-table-classic th,.bill-table-classic td{white-space:nowrap;padding:12px 10px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media print{.no-print{display:none!important}}
