*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fdfdfd;min-height:100vh;color:#333}.glass{background:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.04)}.glass-strong{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(0,0,0,.08);border-radius:20px;box-shadow:0 12px 48px rgba(0,0,0,.06)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card{background:hsla(0,0%,100%,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.2);border-radius:24px;padding:40px;width:100%;max-width:400px;box-shadow:0 25px 50px rgba(0,0,0,.1)}.logo{text-align:center;margin-bottom:30px}.logo h1{color:#333;font-size:2.5rem;margin-bottom:8px}.logo p{color:#666;font-size:1.1rem}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{margin-bottom:18px}.form-group label{color:#555;margin-bottom:8px;font-weight:500}.form-group input{padding:12px 16px;border:1px solid #ddd;border-radius:12px;background:#fff;color:#333;font-size:16px}.form-group input::placeholder,input::placeholder,textarea::placeholder{color:#999}.form-group input:focus,.form-input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#ff8c00;box-shadow:0 0 0 3px rgba(255,140,0,.15)}.patient-search-container{position:relative}.patient-search-container input{width:100%;padding-right:40px}.clear-patient-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:rgba(231,76,60,.2);color:#e74c3c;border:1px solid rgba(231,76,60,.3);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s ease}.clear-patient-btn:hover{background:rgba(231,76,60,.3);transform:translateY(-50%) scale(1.1)}.patient-dropdown{position:absolute;top:100%;left:0;right:0;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);border-radius:8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 25px rgba(0,0,0,.15)}.patient-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,.2);transition:background .2s ease}.patient-option:hover{background:rgba(52,152,219,.1)}.patient-option:last-child{border-bottom:none}.patient-info{display:flex;flex-direction:column;gap:4px}.patient-name{font-weight:600;color:#333;font-size:.95rem}.patient-details{font-size:.8rem;color:#666;font-weight:500}.no-results{color:#666;font-style:italic}.no-results,.searching-indicator{padding:16px;text-align:center}.searching-text{color:#666;font-style:italic;font-size:.9rem}.login-btn{padding:14px;background:#ff8c00;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.login-btn:hover{background:#e67e00;transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.error-message{color:#ff6b6b;text-align:center;margin-top:15px;font-weight:500}.dashboard-container{display:flex;min-height:100vh;background:#fdfdfd}.sidebar{width:280px;background:#fff;border-right:1px solid #eee;display:flex;flex-direction:column;padding:20px 0}.sidebar-header{padding:0 24px 30px;border-bottom:1px solid hsla(0,0%,100%,.1)}.sidebar-header h2{color:#333;font-size:1.5rem}.nav-menu{list-style:none;padding:20px 0;flex:1 1}.nav-item{padding:12px 24px;color:#666;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .3s ease;font-weight:500}.nav-item:hover{background:#f9f9f9;color:#ff8c00}.nav-item.active{background:#fff8f0;color:#ff8c00;border-right:3px solid #ff8c00}.nav-icon{font-size:1.2rem}.sidebar-footer{padding:20px 24px 0;border-top:1px solid hsla(0,0%,100%,.1)}.logout-btn{width:100%;padding:12px;background:rgba(255,77,79,.05);color:#ff4d4f;border:1px solid rgba(255,77,79,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.logout-btn:hover{background:#ff4d4f;color:#fff;box-shadow:0 4px 12px rgba(255,77,79,.2)}.main-content{flex:1 1;display:flex;flex-direction:column}.content-header{background:#fff;border-bottom:1px solid #eee;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.content-header h1{color:#333;font-size:2rem}.user-info{color:#666;font-weight:500}.content-body{flex:1 1;padding:30px;overflow-y:auto}.page{display:none}.page.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.stat-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;transition:all .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.02)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.05)}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff8f0;border-radius:12px}.stat-content h3{color:#666;font-size:.9rem;margin-bottom:4px;font-weight:500}.stat-number{color:#333;font-size:2rem;font-weight:700}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2{color:#333;font-size:1.8rem}.add-btn{padding:10px 20px;background:#ff8c00;color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease}.add-btn:hover{background:#e67e00;transform:translateY(-2px)}.data-table{background:#fff;border:1px solid #eee;border-radius:16px;overflow:visible;box-shadow:0 2px 12px rgba(0,0,0,.02)}table{width:100%;border-collapse:collapse}thead{background:#fafafa}td,th{padding:16px 20px;text-align:left;color:#333}th{font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}td{border-bottom:1px solid hsla(0,0%,100%,.1)}tbody tr:hover{background:hsla(0,0%,100%,.05)}.action-btn{padding:6px 12px;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;margin-right:8px;transition:all .3s ease}.edit-btn{background:rgba(52,152,219,.2);color:#3498db;border:1px solid rgba(52,152,219,.3)}.edit-btn:hover{background:rgba(52,152,219,.3)}.delete-btn{background:rgba(231,76,60,.2);color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.delete-btn:hover{background:rgba(231,76,60,.3)}.download-btn{background:rgba(155,89,182,.2);color:#9b59b6;border:1px solid rgba(155,89,182,.3)}.download-btn:hover{background:rgba(155,89,182,.3)}.email-btn{background:rgba(59,130,246,.2);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.email-btn:hover{background:rgba(59,130,246,.3)}.header-left{display:flex;align-items:center}.header-search-bar{transition:all .3s ease}.header-search-bar:hover{background:rgba(0,0,0,.08)!important;border-color:#ddd!important;transform:translateY(-1px)}.header-search-bar:active{transform:translateY(0)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border:1px solid #eee;border-radius:20px;margin:5% auto;width:90%;max-width:1000px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 100px rgba(0,0,0,.1)}.modal-header{padding:20px 30px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h2{color:#333;margin:0;font-size:1.5rem}.modal-close{color:#999;font-size:28px;font-weight:700;cursor:pointer;transition:color .3s}.modal-close:hover{color:#ff8c00}.modal-body{padding:40px;overflow:visible}.modal-footer{padding:20px 30px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:15px}.cancel-btn,.submit-btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.cancel-btn{background:#f5f5f5;color:#666;border:1px solid #ddd}.cancel-btn:hover{background:#eee;color:#333}.submit-btn{background:#ff8c00;color:#fff}.submit-btn:hover{background:#e67e00;transform:translateY(-2px)}.secondary-btn{background:#4a90e2;color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.secondary-btn:hover{background:#357abd;transform:translateY(-2px);box-shadow:0 4px 12px rgba(74,144,226,.3)}.action-btn:disabled,.add-btn:disabled,.cancel-btn:disabled,.secondary-btn:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;pointer-events:none}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,140,0,.1);border-left-color:#ff8c00;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{color:#ff8c00;font-weight:600;font-size:1.1rem}@keyframes spin{to{transform:rotate(1turn)}}.split-button-container{display:flex;position:relative;border-radius:8px;overflow:visible}.split-button-container .main-action{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.split-button-container .dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0;padding:10px 12px;margin-left:1px;border-left:1px solid hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;min-width:36px}.save-dropdown-menu{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.1);z-index:1000;min-width:180px;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.dropdown-item{padding:12px 20px;color:#333;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.dropdown-item:hover{background:#f8f9fa;color:#ff8c00}.form-row{display:grid;grid-template-columns:minmax(220px,2.5fr) minmax(100px,1fr) minmax(120px,1.2fr) minmax(120px,1.2fr) auto;grid-gap:18px;gap:18px;align-items:end;margin-bottom:16px;width:100%}.form-row .form-group{margin-bottom:0;min-width:0;display:flex;flex-direction:column}.form-row .form-group label{font-size:.85rem;margin-bottom:8px;color:#666;font-weight:500}.form-row input{width:100%;min-width:0;padding:10px 12px;font-size:.95rem}.line-items-section{margin:30px 0;background:#fafafa;padding:25px;border-radius:16px;border:1px solid #efefef}.line-items-section h3{color:#333;margin-bottom:20px;font-size:1.2rem;text-transform:uppercase;letter-spacing:.5px}.line-item{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;border:1px solid #f0f0f0;transition:background .3s ease}.line-item:hover{background:hsla(0,0%,100%,.08)}.add-item-btn{background:rgba(46,204,113,.2);color:#2ecc71;border:1px solid rgba(46,204,113,.3);padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.95rem;margin-top:8px}.add-item-btn:hover{background:rgba(46,204,113,.35);transform:translateY(-2px)}.remove-item-btn{background:rgba(231,76,60,.2);color:#e74c3c;border:1px solid rgba(231,76,60,.3);padding:8px 10px;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .3s ease;align-self:center;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.remove-item-btn:hover{background:rgba(231,76,60,.3)}.bill-summary{background:#fff8f0;padding:25px;border-radius:12px;margin-top:30px;border:1px solid #ffead1}.summary-row{text-align:right;color:#333;font-size:1.3rem;font-weight:600}.hamburger-btn{display:none;position:fixed;top:15px;left:15px;z-index:1001;background:transparent;color:#ff8c00;border:1.5px solid #ffead1;border-radius:10px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.hamburger-btn:hover{background:#fff8f0;border-color:#ff8c00}.close-sidebar-btn{display:none;background:transparent;border:1.5px solid #eee;color:#666;border-radius:8px;width:34px;height:34px;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.close-sidebar-btn:hover{border-color:#ff8c00;color:#ff8c00;background:#fff8f0}.mobile-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}@media (max-width:1024px){.sidebar{width:240px}.form-row{grid-template-columns:1fr 1fr;gap:15px}}@media (max-width:768px){.close-sidebar-btn,.hamburger-btn{display:flex}.mobile-sidebar-overlay{display:block}.sidebar{position:fixed;top:0;left:-280px;height:100vh;width:280px;z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:20px 0 50px rgba(0,0,0,.1)}.sidebar.open{left:0}.dashboard-container{display:block;min-height:100vh}.main-content{min-height:100vh}.content-header{padding:15px 15px 15px 65px;display:flex;justify-content:space-between;align-items:center}.content-header h1{font-size:1.5rem;margin:0}.user-info{gap:10px!important}.search-shortcut{display:none!important}.search-placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.content-body{padding:15px}.stats-grid{grid-template-columns:1fr;gap:15px}.data-table{margin:0 -15px;border-radius:0;border-left:none;border-right:none;overflow-x:auto}table{min-width:600px}.modal-content{width:95%!important;margin:5% auto!important;max-height:95vh!important}.modal-body{padding:20px}.form-row{display:flex;flex-direction:column;gap:10px;padding:15px;background:#f9f9f9;border-radius:12px;margin-bottom:20px}.form-row .form-group{width:100%}.remove-item-btn{width:100%;margin-top:5px;height:44px}.split-button-container{width:100%}.split-button-container .main-action{flex:1 1}.bill-summary,.summary-row{text-align:center}}@media (max-width:480px){.content-header h1{font-size:1.5rem}.add-btn{padding:8px 12px;font-size:.9rem}.sidebar-header h2{font-size:1.2rem}}select{padding:12px 16px;background:#fff;color:#333;font-size:16px;width:100%;transition:all .2s ease}.back-btn,select{border:1px solid #ddd;border-radius:12px}.back-btn{padding:10px 20px;background:#fdfdfd;color:#555;cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:.95rem}.back-btn:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.status-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;display:inline-flex;align-items:center;justify-content:center;min-width:70px}.status-badge.pending{background:rgba(255,77,79,.1);color:#ff4d4f;border:1px solid rgba(255,77,79,.2)}.status-badge.paid{background:rgba(82,196,26,.1);color:#52c41a;border:1px solid rgba(82,196,26,.2)}.status-badge.completed{background:rgba(39,174,96,.1);color:#27ae60;border:1px solid rgba(39,174,96,.2)}.status-badge.scheduled{background:rgba(230,126,34,.1);color:#e67e22;border:1px solid rgba(230,126,34,.2)}.status-badge.cancelled{background:rgba(192,57,43,.1);color:#c0392b;border:1px solid rgba(192,57,43,.2)}.user-dropdown-modal{background:#fff!important;border:1px solid #f1f2f6!important;border-radius:16px!important;box-shadow:0 15px 45px rgba(0,0,0,.1)!important;animation:dropdownSlideIn .25s cubic-bezier(.16,1,.3,1);transform-origin:top right}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-modal .dropdown-item{transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;padding:12px 14px!important}.user-dropdown-modal .dropdown-item:hover{background:#f8fafc!important;transform:translateX(4px);color:#ff8c00!important}.user-dropdown-modal .dropdown-item:active{transform:scale(.98)}.user-dropdown-modal .dropdown-item[onClick*=handleLogout]:hover{background:#fff1f2!important;color:#ef4444!important}.user-badge:hover{border-color:#ff8c00!important;background:rgba(255,140,0,.02)!important}.user-badge:active{transform:scale(.98)}