:root{--color-white:#fff;--color-light-gray:#eee;--color-blue:#005fa8;--color-primary:#186f98;--color-secondary:#0d4a6a;--color-text-dark:#333;--color-text-light:#555;--font-body:"Montserrat";--font-heading:"Montserrat";--font-weight-body:400;--font-weight-heading:800;--font-weight-bold:600;--border-radius-medium:10px;--border-radius-large:20px;--box-shadow:0 5px 15px #0000001a}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--font-body);font-size:16px;line-height:28px;font-weight:var(--font-weight-body);letter-spacing:1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-white);color:var(--color-text-dark);margin:0;padding:0}*{box-sizing:border-box}a{color:var(--color-primary);text-decoration:none;transition:color .2s}p{color:var(--color-text-light);margin-bottom:24px;font-size:16px;line-height:28px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-heading);color:var(--color-text-dark);letter-spacing:0;margin:0 0 13px;line-height:1.3}h1{margin-bottom:6px;font-size:45px}h2{margin-bottom:6px;font-size:32px}h3{margin-bottom:6px;font-size:24px}main{flex-grow:1}.container{margin:0 auto;padding:0 24px}.header{background-color:var(--color-white);z-index:10;border-bottom:none;width:100%;padding:0;position:sticky;top:0;box-shadow:0 2px 5px #00000014}.header-content{justify-content:space-between;align-items:center;height:90px;margin:0 auto;padding:0 40px;display:flex}.logo{font-family:var(--font-heading);font-size:18px;font-weight:var(--font-weight-heading);text-transform:uppercase;color:var(--color-primary);letter-spacing:1px;line-height:1.4}.navigation{gap:30px;display:flex}.navigation a{color:var(--color-text-dark);font-family:var(--font-body);font-weight:var(--font-weight-bold);text-transform:none;padding-bottom:5px;font-size:16px;text-decoration:none;transition:color .2s;position:relative}.navigation a:hover{color:var(--color-primary)}.navigation a:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width .3s ease-out;position:absolute;bottom:0;left:0}.navigation a:hover:after{width:100%}.nav-legal-mobile{display:none}.menu-toggle{cursor:pointer;z-index:1002;background:0 0;border:none;width:30px;height:25px;display:none;position:relative}.menu-toggle span{background-color:var(--color-primary);border-radius:3px;width:100%;height:3px;transition:transform .3s ease-in-out,opacity .3s ease-in-out;display:block;position:absolute}.menu-toggle span:first-child{top:0}.menu-toggle span:nth-child(2){top:10px}.menu-toggle span:nth-child(3){top:20px}.menu-toggle.open span:first-child{transform:rotate(45deg)translate(7px,7px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}.footer{background-color:var(--color-secondary);color:#dedede;text-align:center;padding:50px 0}.footer p{color:#dedede;letter-spacing:1px;margin:5px 0}.footer .legal-links{margin-top:10px}.footer a{color:var(--color-white);font-weight:var(--font-weight-bold)}.footer a:hover{color:var(--color-light-blue)}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.legal-container{background-color:var(--color-white);border-radius:var(--border-radius-large);max-width:900px;box-shadow:var(--box-shadow);margin:48px auto;padding:32px 24px;animation:.6s ease-out forwards fadeIn}.legal-container h1{color:var(--color-primary);border-bottom:2px solid var(--color-light-blue);margin-bottom:24px;padding-bottom:8px;font-size:40px}.legal-container h2{color:var(--color-secondary);margin-top:40px;margin-bottom:16px;font-size:29px}.legal-container p,.legal-container li{color:var(--color-text-light);margin-bottom:16px;line-height:1.8}.legal-container ul{margin-bottom:24px;padding-left:25px;list-style-type:disc}.legal-container a{font-weight:var(--font-weight-bold)}.dashboard-wrapper{min-height:100vh;font-family:var(--font-body);color:var(--color-text-dark);background-color:#f8f9fa;padding:40px}.dashboard-header{background-color:var(--color-white);border-radius:var(--border-radius-medium);border:1px solid var(--color-light-gray);justify-content:space-between;align-items:center;margin-bottom:30px;padding:24px;display:flex;box-shadow:0 2px 4px #0000000d}.dashboard-title h1{color:var(--color-secondary);margin:0 0 5px;font-size:24px}.dashboard-subtitle{color:var(--color-text-light);margin:0;font-size:14px}.badge-admin{color:var(--color-blue);text-transform:uppercase;background-color:#e3f2fd;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:600}.table-card{background-color:var(--color-white);border-radius:var(--border-radius-medium);border:1px solid var(--color-light-gray);overflow:hidden;box-shadow:0 2px 4px #0000000d}.table-container{overflow-x:auto}.surgery-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:20px}.surgery-table thead{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;background-color:#f1f5f9;font-size:12px}.surgery-table th{border-bottom:1px solid var(--color-light-gray);padding:14px;font-weight:600}.surgery-table td{vertical-align:top;border-bottom:1px solid #f0f0f0;padding:14px}.surgery-table tr:hover{background-color:#f8fafc}.surgery-table tr:last-child td{border-bottom:none}.surgery-table tr.past-appointment{background-color:#f1f5f9}.surgery-table tr.past-appointment:hover{background-color:#e2e8f0}.empty-state{text-align:center;color:#999;padding:40px;font-style:italic}.data-primary{color:var(--color-text-dark);font-weight:600;display:block}.data-secondary{color:var(--color-text-light);margin-top:2px;font-size:12px;display:block}.data-highlight{color:var(--color-primary);font-weight:500;display:block}.user-badge{align-items:center;gap:8px;display:flex}.user-avatar{background-color:var(--color-light-gray);width:24px;height:24px;color:var(--color-text-light);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 2px 4px #186f9833}.btn-primary:hover{background-color:var(--color-secondary);transform:translateY(-1px)}.btn-actions{justify-content:flex-end;gap:8px;display:flex}.btn-edit{color:var(--color-primary);background:0 0;border:1px solid #0000;padding:4px 8px}.btn-edit:hover{background-color:#f0f9ff}.btn-delete{color:#dc2626;background:0 0;border:1px solid #0000;padding:4px 8px}.btn-delete:hover{background-color:#fef2f2}.btn-cancel{color:var(--color-text-light);background-color:#0000}.btn-cancel:hover{background-color:#f1f1f1}.form-grid-layout{grid-template-columns:1fr;gap:20px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-row-3{grid-template-columns:1fr 2fr;gap:15px;display:grid}.form-label{color:var(--color-text-light);text-transform:uppercase;margin-bottom:0;font-size:12px;font-weight:700;display:block}.form-input,.form-textarea,.form-select{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #186f981a}.checkbox-group{background-color:#f8f9fa;border:1px solid #eee;border-radius:6px;flex-direction:column;gap:5px;padding:8px;display:flex}.radio-group{align-items:center;gap:15px;font-size:14px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.checkbox-label input{accent-color:var(--color-primary);width:16px;height:16px}.form-section-title{text-transform:uppercase;color:var(--color-primary);border-bottom:2px solid #f0f0f0;margin-top:0;margin-bottom:16px;padding-bottom:8px;font-size:14px;font-weight:700}.form-section-title.secondary{color:#16a34a}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 25px #00000026}.modal-header{border-bottom:1px solid var(--color-light-gray);background-color:#f8f9fa;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px;display:flex}.modal-header h2{color:var(--color-secondary);margin:0;font-size:20px}.btn-close{color:#999;cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.modal-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-body{flex:1;padding:10px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-light-gray);background-color:#fff;flex-shrink:0;justify-content:flex-end;gap:12px;padding:20px 30px;display:flex;position:sticky;bottom:0}.admin-panel{background-color:#fff9db;border:1px solid #ffe066;border-radius:8px;grid-column:1/-1;margin-bottom:20px;padding:15px}.header-actions{gap:10px;display:flex}.badge-admin-content{align-items:center;gap:4px;display:inline-flex}.btn-admin-export{color:#fff;background-color:#10b981;border:none;align-items:center;gap:6px;display:flex}.btn-admin-export:hover{background-color:#059669}.btn-pdf-export{color:#fff;background-color:#e74c3c;border:none;align-items:center;gap:6px;display:flex}.btn-pdf-export:hover{background-color:#c0392b}.search-container{max-width:400px;margin-bottom:20px;position:relative}.search-icon{color:#9ca3af;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-field{padding-left:40px}.th-sort-wrapper{cursor:pointer;align-items:center;gap:5px;display:flex}.td-content-wrapper{align-items:center;gap:6px;display:flex}.td-subtext-wrapper{align-items:center;gap:4px;display:flex}.th-pointer{cursor:pointer}.cell-align-right{text-align:right}.admin-label-wrapper{align-items:center;gap:8px;margin-bottom:8px;display:flex}.admin-label-text{color:#856404;margin:0}.section-title-wrapper{align-items:center;gap:8px;display:flex}.input-icon-group{position:relative}.input-icon-absolute{color:#999;position:absolute;top:12px;left:10px}.input-with-indent{padding-left:35px}.label-blue{color:#2b6cb0}.label-dark-blue{color:#2c5282}.checkbox-flex-wrapper{align-items:center;gap:6px;display:flex}.checkbox-blue-bg{background-color:#ebf8ff;border-color:#bee3f8;margin-top:16px}.checkbox-margin-top{margin-top:16px}.form-row-margin-top{margin-top:15px}.address-input-margin{margin-bottom:10px}.sort-icon{vertical-align:middle;width:14px;height:14px;display:inline-block}.sort-icon-inactive{color:#9ca3af}.sort-icon-active{color:#2563eb}.login-wrapper{background-color:#f8f9fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background-color:var(--color-white);border-radius:var(--border-radius-large);width:100%;max-width:420px;box-shadow:var(--box-shadow);padding:40px}.login-title{font-family:var(--font-heading);color:var(--color-primary);text-align:center;font-size:28px;font-weight:var(--font-weight-bold);margin-bottom:30px}.login-error{color:#b91c1c;text-align:center;background-color:#fee2e2;border-radius:6px;margin-bottom:20px;padding:10px;font-size:14px}.two-factor-header{text-align:center;margin-bottom:15px}.two-factor-title{font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0}.two-factor-subtitle{color:var(--color-text-light);margin:5px 0 0;font-size:13px}.input-code{text-align:center;letter-spacing:3px;font-size:18px}.btn-full{justify-content:center;width:100%;margin-top:10px;padding:12px}.btn-back{width:100%;color:var(--color-text-light);background:0 0;justify-content:center;margin-top:10px;font-size:13px}.btn-back:hover{color:var(--color-primary);text-decoration:underline}.settings-container{max-width:800px;margin:0 auto;padding:0 0 50px}.settings-container.admin-view{flex-wrap:wrap;align-items:flex-start;gap:24px;max-width:100%;display:flex}.settings-col-main{flex:2;min-width:300px}.settings-col-side{flex:1;min-width:300px}.card-header-flex{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title-group{align-items:center;gap:10px;display:flex}.card-title-group h3{color:var(--color-secondary);margin:0}.alert{border-radius:6px;padding:12px;font-size:14px;font-weight:500}.alert-success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.alert-error{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.status-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;display:flex}.status-box.active{background-color:#f0fdf4;border-color:#86efac}.status-active{color:#16a34a;font-weight:700}.status-inactive{color:var(--color-text-light);font-weight:700}.role-badge{text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:700}.role-badge.admin{color:#4338ca;background-color:#e0e7ff}.role-badge.user{color:#374151;background-color:#f3f4f6}.icon-primary{color:var(--color-primary)}.icon-secondary{color:var(--color-text-light)}.icon-danger{color:#dc2626}.icon-success{color:#16a34a}.edit-user-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:20px}.qr-container{text-align:center;margin:20px 0}.qr-image{background:#fff;border:1px solid #ddd;border-radius:8px;padding:5px}.terms-wrapper{align-items:flex-start;gap:12px;margin:24px 0;transition:all .2s;display:flex}.terms-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin-top:4px}.terms-text{color:var(--color-text-light);text-transform:none;cursor:pointer;margin:0;font-size:14px;font-weight:400;line-height:1.6}.terms-link{color:var(--color-primary);border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:border-color .2s}.terms-link:hover{border-bottom-color:var(--color-primary)}.error-highlight{background-color:#fef2f2;border:1px solid #ef4444;border-radius:6px;padding:10px}.alert-error-box{color:#b91c1c;background-color:#fee2e2;border:1px solid #ef4444;border-radius:6px;align-items:center;gap:8px;margin-bottom:15px;padding:10px;font-size:13px;display:flex}.doc-link-container{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:12px;margin-top:12px;padding:6px 10px;display:inline-flex}.doc-link-btn{align-items:center;gap:8px;font-size:13px;display:inline-flex}.doc-password-btn{border:1px solid #e2e8f0;align-items:center;gap:6px;height:100%;font-size:12px;display:inline-flex}.checkbox-toggle-past{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 12px}.checkbox-toggle-past.active{background-color:#e0f2fe;border-color:#7dd3fc}.checkbox-toggle-text{color:#64748b;align-items:center;gap:6px;font-size:14px;display:flex}.checkbox-toggle-past.active .checkbox-toggle-text{color:#0284c7}.shared-user-badge{color:#186f98;background:#e0f2fe;border:1px solid #bae6fd;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.shared-user-remove{cursor:pointer;color:#186f98;align-items:center;margin-left:2px;transition:color .2s;display:flex}.shared-user-remove:hover{color:#0d4a6a}.share-input-label{color:#186f98;align-items:center;gap:6px;display:flex}.share-input-field{border-color:#bae6fd}.share-input-field:focus{border-color:#186f98;box-shadow:0 0 0 3px #186f981a}@media (min-width:768px){.legal-container{padding:48px 64px}.form-grid-layout{grid-template-columns:1fr 1fr}}@media (max-width:1024px){h1{font-size:40px}h2{font-size:29px}.container{padding:0 24px}.header-content{height:80px;padding:0 24px}.logo{font-size:16px}html{scroll-padding-top:80px}}@media (max-width:767px){body{letter-spacing:0}.container{padding:0 16px}.header-content{flex-wrap:nowrap;height:80px;padding:0 24px}.logo{font-size:14px}.menu-toggle{display:block}.navigation{background-color:var(--color-white);z-index:1001;flex-direction:column;justify-content:center;align-items:center;gap:25px;width:100%;height:calc(100vh - 80px);padding:40px;animation:.3s ease-out fadeIn;display:none;position:fixed;top:80px;left:0}.navigation.open{display:flex}.navigation a{padding:10px;font-size:24px}.navigation a:after{display:none}.nav-legal-mobile{font-size:16px;font-weight:var(--font-weight-body);color:var(--color-text-light);margin-top:20px;display:block}}@font-face{font-family:Montserrat;font-style:normal;font-weight:100;src:local(""),url(/fonts/montserrat-v25-latin-100.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;src:local(""),url(/fonts/montserrat-v25-latin-200.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;src:local(""),url(/fonts/montserrat-v25-latin-300.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;src:local(""),url(/fonts/montserrat-v25-latin-regular.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;src:local(""),url(/fonts/montserrat-v25-latin-500.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;src:local(""),url(/fonts/montserrat-v25-latin-600.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;src:local(""),url(/fonts/montserrat-v25-latin-700.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;src:local(""),url(/fonts/montserrat-v25-latin-800.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;src:local(""),url(/fonts/montserrat-v25-latin-900.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:100;src:local(""),url(/fonts/montserrat-v25-latin-100italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:200;src:local(""),url(/fonts/montserrat-v25-latin-200italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:300;src:local(""),url(/fonts/montserrat-v25-latin-300italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:400;src:local(""),url(/fonts/montserrat-v25-latin-italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:500;src:local(""),url(/fonts/montserrat-v25-latin-500italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:600;src:local(""),url(/fonts/montserrat-v25-latin-600italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:700;src:local(""),url(/fonts/montserrat-v25-latin-700italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:800;src:local(""),url(/fonts/montserrat-v25-latin-800italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:900;src:local(""),url(/fonts/montserrat-v25-latin-900italic.woff2)format("woff2")}
