.auth-container{align-items:center;background:linear-gradient(135deg,#0a3f43f5,#0f5d5ee0),repeating-linear-gradient(135deg,#0000 0 22px,#ffffff0a 23px 24px);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.auth-form{background:var(--surface);border:1px solid #ffffff80;border-radius:8px;box-shadow:0 24px 70px #0423264d;max-width:400px;padding:2.5rem;width:100%}.auth-form h1{color:var(--teal);font-family:Georgia,Times New Roman,serif;font-size:1.75rem;margin-bottom:.5rem;text-align:center}.auth-form h2{color:var(--ink-soft);font-size:1.5rem;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid var(--line);border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f5d5e1f;outline:none}.auth-form button{font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem;width:100%}.auth-form button:disabled{cursor:not-allowed;opacity:.6}.auth-link{color:var(--ink-soft);margin-top:1.5rem;text-align:center}.auth-link a{font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (max-width:480px){.auth-form{margin:1rem;padding:1.5rem}.auth-form h1{font-size:1.5rem}.auth-form h2{font-size:1.25rem}}.auth-container{overflow:hidden;position:relative}.auth-container:after,.auth-container:before{border:1px solid #e7c3a938;border-radius:50%;content:"";pointer-events:none;position:fixed}.auth-container:before{height:520px;left:-300px;top:-180px;width:520px}.auth-container:after{bottom:-190px;height:430px;right:-250px;width:430px}.auth-form{border-radius:18px;padding:clamp(1.75rem,5vw,2.8rem);position:relative;z-index:1}.auth-form h1{letter-spacing:-.03em}.auth-form h1:before{background:#e7c3a9;border-radius:9px;color:var(--teal-dark);content:"+";display:inline-grid;font:1.5rem/1 Segoe UI,sans-serif;height:2rem;margin-right:.5rem;place-items:center;vertical-align:-.2rem;width:2rem}.form-group input,.form-group select{border-radius:10px}.auth-container{background:radial-gradient(circle at 20% 15%,#28d7c02e,#0000 24rem),radial-gradient(circle at 85% 85%,#a98cff33,#0000 26rem),#061522}.auth-form{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#091d2dd6;border:1px solid #5fcdd74d;box-shadow:0 28px 90px #0000006b,0 0 40px #28d7c014}.auth-form h1{color:#dffffb}.form-group label{color:#c7e2e4}.auth-link a{color:var(--teal)}.auth-container{background:linear-gradient(135deg,#e7f0ec,#f8faf7 55%,#dceae5)}.auth-container:after,.auth-container:before{border-color:#2f716c21}.auth-form{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff0;border:1px solid #dce8e3;box-shadow:0 24px 60px #214f5024}.auth-form h1{color:var(--teal-dark)}.auth-form h1:before{background:var(--clay);color:#fff}.auth-form h2,.auth-link{color:var(--ink-soft)}.form-group label{color:var(--ink)}.auth-container .btn:hover,.auth-container button:hover{color:#24363a!important}.auth-container .btn-primary:hover{color:#fff!important}.auth-form .alert-error{background:#fff1f0!important;border:1px solid #c9433d!important;border-left:4px solid #a52b27!important;color:#721c1c!important;font-weight:650}.auth-form .alert-success{background:#edf9f2!important;border:1px solid #2e8059!important;border-left:4px solid #236344!important;color:#164b31!important;font-weight:650}@media (max-width:600px){.auth-container{align-items:flex-start;padding:1rem .65rem}.auth-form{border-radius:14px;margin:.5rem 0;padding:1.25rem}.auth-form h1{font-size:1.35rem}.auth-form h2{margin-bottom:1.25rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}}.home-container{background:var(--paper);display:flex;flex-direction:column;min-height:100vh}.home-header{box-shadow:0 8px 24px #0a3f432e;color:#fff;padding:1.15rem 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.home-header h1{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;margin:0}.header-nav{align-items:center;display:flex;gap:1rem}.header-nav span{color:#d6e5df}.home-main{flex:1 1;margin:0 auto;max-width:1280px;padding:3rem 1.25rem 4rem;width:100%}.hero{align-items:flex-start;background:linear-gradient(110deg,#0a3f43f7,#0f5d5ed6),repeating-linear-gradient(135deg,#0000 0 22px,#ffffff0a 23px 24px);border-radius:8px;box-shadow:0 22px 50px #0a3f4333;color:#fff;display:flex;flex-direction:column;justify-content:center;margin-bottom:4rem;min-height:430px;padding:4rem clamp(1.5rem,6vw,6rem)}.hero h2{color:#fff;font-size:clamp(2.4rem,6vw,5rem);font-weight:400;line-height:1.04;margin-bottom:1rem;max-width:720px}.hero p{color:#d6e5df;font-size:1.15rem;margin-bottom:2rem;max-width:560px}.hero .btn-primary{background:#e7c3a9;color:var(--teal-dark)}.features{margin-top:0}.features h3{font-family:Georgia,Times New Roman,serif;font-size:2.25rem;margin-bottom:2rem}.features-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;border-top:3px solid var(--clay);box-shadow:var(--shadow);padding:1.75rem}.feature-card h4{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;margin-bottom:1rem}.feature-card ul{list-style:none;padding:0}.feature-card li{padding:.5rem 0 .5rem 1.5rem;position:relative}.feature-card li:before{content:"•";font-weight:700;left:0;position:absolute}.home-footer{color:#fff;margin-top:2rem;padding:2rem;text-align:center}.home-footer p{margin:0}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.hero h2{font-size:1.75rem}.hero{min-height:380px;padding:2.25rem 1.5rem}.hero p{font-size:1rem}.features-grid{grid-template-columns:1fr}}.home-header{position:sticky;top:0;z-index:5}.home-header h1{letter-spacing:-.02em}.hero{border-radius:20px;overflow:hidden;position:relative}.hero:after{border:1px solid #e7c3a94d;border-radius:50%;box-shadow:0 0 0 28px #e7c3a90d,0 0 0 58px hsla(25,56%,78%,.035);content:"";height:360px;position:absolute;right:-110px;top:-120px;width:360px}.hero>*{position:relative;z-index:1}.features-grid{gap:1.25rem}.feature-card{border-radius:14px;transition:transform .18s ease,box-shadow .18s ease}.feature-card:hover{box-shadow:0 22px 42px #17383b21;transform:translateY(-5px)}.home-container{background:linear-gradient(135deg,#07131f,#0b2535 55%,#101b35)}.home-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#051420e0;border-bottom:1px solid #28d7c047}.header-nav span{color:#b7d1d6}.hero{background:radial-gradient(circle at 85% 15%,#a98cff4d,#0000 20rem),linear-gradient(120deg,#061928fa,#094f5beb);border:1px solid #28d7c047;box-shadow:0 30px 80px #00000059,0 0 50px #28d7c014}.hero h2{color:#ecffff}.hero p{color:#b9d9dc}.hero .btn-primary{background:linear-gradient(135deg,#28d7c0,#1688a1);color:#061923}.feature-card h4,.features h3{color:#e7ffff}.feature-card{background:#0d2030d1;border-color:#5fcdd733;border-top-color:var(--teal)}.feature-card li{color:#a7c1c8}.home-footer{background:#061521;border-top:1px solid #28d7c02e;color:#94b5bc}.home-container{background:#f6f7f4}.home-header{background:var(--teal-dark);border-bottom:0;box-shadow:0 8px 24px #214f5024}.header-nav span{color:#dceae5}.hero{background:linear-gradient(105deg,#e5f0eb,#f8faf7 62%,#d9e9e2);border:1px solid #d4e3de;box-shadow:0 24px 55px #214f501f;min-height:450px}.hero:before{border:1px solid #2f716c2e;border-radius:50%;box-shadow:0 0 0 24px #2f716c0a,0 0 0 48px rgba(47,113,108,.025);color:#2f716c47;content:"+";display:grid;font:5rem/1 Segoe UI,sans-serif;height:180px;place-items:center;position:absolute;right:14%;top:50%;transform:translateY(-50%);width:180px}.hero h2{color:var(--teal-dark);max-width:650px}.hero p{color:#5f7372}.hero .btn-primary{background:var(--teal);color:#fff}.feature-card h4,.features h3{color:var(--ink)}.feature-card{background:#fff;border-color:var(--line);border-top-color:var(--clay)}.feature-card li{color:var(--ink-soft)}.feature-card li:before{color:var(--clay)}.home-footer{background:var(--teal-dark);border-top:0;color:#dceae5}.home-container .btn:hover,.home-container button:hover{color:#24363a!important}.home-container .btn-primary:hover{color:#fff!important}@media (max-width:600px){.home-header{padding:.8rem 0}.home-header .header-content{align-items:stretch;gap:.7rem;padding:0 .8rem}.home-header h1{font-size:1.25rem}.header-nav{gap:.5rem;justify-content:space-between;width:100%}.header-nav span{font-size:.8rem}.header-nav .btn{font-size:.85rem;padding:.55rem .7rem}.home-main{padding:1rem .75rem 2rem}.hero{border-radius:16px;margin-bottom:2rem;min-height:0;padding:2rem 1.25rem}.hero:after,.hero:before{opacity:.35;transform:scale(.65);transform-origin:right center}.hero h2{font-size:2.25rem;max-width:100%}.hero p{font-size:.95rem;margin-bottom:1.4rem}.hero .btn{width:100%}.features h3{font-size:1.7rem;margin-bottom:1rem}.features-grid{gap:.75rem}.feature-card{padding:1.15rem}}.dashboard-container{background:linear-gradient(90deg,rgba(15,93,94,.035) 1px,#0000 1px),var(--paper);display:flex;flex-direction:column;min-height:100vh}.dashboard-header{box-shadow:0 8px 24px #0a3f432e;color:#fff;padding:1.15rem 0}.dashboard-header .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.dashboard-header h1{color:#fff;font-size:1.35rem;margin:0}.dashboard-header h1:before{align-items:center;border:1px solid #ffffff61;border-radius:50%;color:#e7c3a9;content:"+";display:inline-flex;font-family:Segoe UI,sans-serif;font-size:1.2rem;height:2rem;justify-content:center;margin-right:.7rem;width:2rem}.header-user{align-items:center;display:flex;gap:1rem}.header-user span{color:#d6e5df;font-size:.9rem}.dashboard-main{flex:1 1;margin:0 auto;max-width:1280px;padding:2.5rem 1.25rem 4rem;width:100%}.reception-nav{background:#dcece5b8;border:1px solid var(--line);border-radius:7px;display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;padding:.4rem}.reception-nav button{background:#0000;box-shadow:none;font-size:.9rem}.reception-nav button.active,.reception-nav button:hover{background:var(--teal)}.dashboard-section{margin-bottom:2rem}.patient-month{margin-bottom:1.75rem}.patient-month>h3{color:var(--teal-dark);font-size:1.25rem;margin:0 0 .7rem .2rem;text-transform:capitalize}.patient-month-filter{align-items:center;display:flex;gap:.75rem;margin:0 0 1rem;max-width:360px}.patient-month-filter label{color:#435657;font-weight:700;white-space:nowrap}.patient-month-filter select{margin:0}.patient-month .card{margin-bottom:0}.appointment-filters{grid-gap:.75rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;gap:.75rem;grid-template-columns:minmax(220px,1.6fr) minmax(160px,1fr) minmax(160px,1fr) auto;margin-bottom:1rem;padding:.85rem}.appointment-filters input,.appointment-filters select{margin:0}.filter-result-count{color:#435657;font-size:.85rem;font-weight:700;white-space:nowrap}.pagination-controls{align-items:center;color:#435657;display:flex;font-weight:700;gap:1rem;justify-content:center;padding-top:1rem}@media (max-width:768px){.appointment-filters{grid-template-columns:1fr}.filter-result-count{white-space:normal}}.dashboard-section h2{font-size:1.65rem;margin-bottom:1rem}.subsection-title{margin-top:2.5rem}.appointment-form{grid-gap:1rem;background:#fffdf8eb;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.5rem}.appointment-form label{color:var(--ink);display:flex;flex-direction:column;font-size:.86rem;font-weight:600;gap:.4rem;letter-spacing:.01em}.appointment-form button,.appointment-form textarea,.form-actions{grid-column:1/-1}.form-actions{display:flex;gap:.75rem}.form-help{color:#64748b;margin:0}.dashboard-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2.5rem}.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;padding:1.35rem;position:relative}.dashboard-card:after{border:1px solid #c8755b40;border-radius:50%;bottom:-22px;content:"";height:82px;position:absolute;right:-18px;width:82px}.dashboard-card h3{color:var(--ink-soft);font-size:.82rem;letter-spacing:.08em;margin-bottom:1rem;margin-top:0;text-transform:uppercase}.dashboard-card p{color:#64748b;margin:.5rem 0}.stat-value{font-size:2.45rem;font-weight:700;margin:.5rem 0}.stat-label{color:var(--ink-soft);font-size:.875rem}.appointments-table{background:var(--surface);border-collapse:collapse;border-radius:8px;box-shadow:var(--shadow);overflow:hidden;width:100%}.appointments-table th{background-color:var(--mint);color:var(--teal-dark);font-size:.78rem;font-weight:600;letter-spacing:.07em;text-align:left;text-transform:uppercase}.appointments-table td,.appointments-table th{border-bottom:1px solid var(--line);padding:1rem}.appointments-table tr:hover{background-color:#f2f7f3}.status-badge{border-radius:999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status-scheduled{background-color:#e2f0eb;color:#176052}.status-confirmed{background-color:#e8f1d9;color:#55702b}.status-completed{background-color:#eee4d9;color:#80563c}.status-cancelled{background-color:#fff0ed;color:#9d4036}.empty-state{color:var(--ink-soft);padding:2.5rem;text-align:center}.empty-state p{margin-bottom:1rem}@media (max-width:768px){.dashboard-header .header-content{flex-direction:column;gap:1rem}.header-user{justify-content:space-between;width:100%}.dashboard-grid{grid-template-columns:1fr}.reception-nav{display:grid;grid-template-columns:1fr 1fr}.appointment-form{grid-template-columns:1fr}.appointments-table{font-size:.875rem}.appointments-table td,.appointments-table th{padding:.75rem}}.dashboard-container .btn-secondary:hover,.dashboard-container .doctor-tabs button:hover:not(.active),.dashboard-container .reception-nav button:hover:not(.active){background:#d8e9e4!important}@media (max-width:600px){.appointment-filters,.appointment-form,.card,.dashboard-container,.dashboard-main,.dashboard-main>div,.dashboard-section,.doctor-call-panel,.notification-list,.reception-call-panel,.reception-today-list{max-width:100%!important;min-width:0!important;width:100%!important}.dashboard-header .header-content{max-width:100%;padding:0 .75rem;width:100%}.brand-lockup,.doctor-call-panel>div,.header-user,.reception-call-panel>div,.today-appointment-card>div,.user-meta{max-width:100%;min-width:0!important}.brand-lockup h1,.doctor-call-panel h2,.reception-call-panel h2,.today-appointment-card span,.today-appointment-card strong{overflow-wrap:anywhere;white-space:normal!important}.doctor-tabs,.reception-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important;min-width:0!important;overflow:hidden;width:100%!important}.doctor-tabs button,.reception-nav button{max-width:100%!important;min-width:0!important;white-space:normal;width:100%!important}.today-appointment-actions,.today-appointment-card{max-width:100%;width:100%}.today-appointment-actions{align-items:stretch;flex-direction:column}.doctor-call-button,.reception-call-badge,.today-appointment-actions .btn{min-width:0!important;text-align:center;white-space:normal;width:100%!important}.card:has(.appointments-table){overflow:hidden}.appointments-table{-webkit-overflow-scrolling:touch;display:block!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;width:100%!important}.btn,button,input,select,textarea{max-width:100%}.dashboard-header{padding:.8rem 0}.dashboard-header .header-content{align-items:stretch;padding:0 .8rem}.dashboard-header h1{font-size:1.05rem}.header-date,.header-kicker{display:none}.header-user{flex-wrap:wrap;gap:.6rem}.user-meta{flex:1 1;min-width:0}.user-meta strong{display:block;max-width:15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user .btn{font-size:.85rem;padding:.55rem .75rem}.dashboard-main{padding:1.25rem .75rem 2.5rem}.page-intro h2{font-size:1.5rem}.page-intro p{font-size:.9rem}.doctor-tabs,.reception-nav{gap:.35rem;grid-template-columns:1fr 1fr}.doctor-tabs button,.reception-nav button{font-size:.78rem;min-height:2.6rem;padding:.55rem .4rem}.appointment-form,.card,.dashboard-card{margin-bottom:1rem;padding:1rem}.dashboard-grid{gap:.75rem}.dashboard-grid,.dashboard-section{margin-bottom:1.25rem}.dashboard-section h2{font-size:1.25rem;margin-bottom:.7rem}.appointment-form{gap:.75rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.appointment-filters{gap:.55rem;grid-template-columns:1fr;padding:.65rem}.doctor-call-panel,.reception-call-panel,.today-appointment-card{padding:1rem!important}.today-appointment-card{flex-wrap:wrap;gap:.65rem}.today-appointment-card>div{min-width:0}.today-appointment-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointments-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;white-space:nowrap}.appointments-table td,.appointments-table th{padding:.65rem .7rem}.appointments-table .form-actions{flex-direction:row;min-width:12rem}.appointments-table .form-actions .btn{white-space:nowrap;width:auto}.pagination-controls{flex-wrap:wrap;gap:.5rem}.pagination-controls .btn{padding:.55rem .7rem}.inline-medical-record{overflow-wrap:anywhere}}.dashboard-container .appointments-table .status-badge.status-scheduled,.dashboard-container .status-badge.status-scheduled,.dashboard-container .today-appointment-card .status-badge.status-scheduled{background:#17645d!important;border:1px solid #0f4f49!important;color:#fff!important;font-weight:800!important;text-shadow:none!important}.dashboard-container .appointments-table .status-badge.status-in_progress,.dashboard-container .status-badge.status-in_progress,.dashboard-container .today-appointment-card .status-badge.status-in_progress{background:#8a4f08!important;border:1px solid #693a02!important;color:#fff!important;font-weight:800!important;text-shadow:none!important}.doctor-agenda-inline-hidden,.doctor-summary-hidden,.reception-summary-hidden{display:none!important}.doctor-call-panel,.reception-call-panel{align-items:center;background:linear-gradient(135deg,#edf8f4,#fff);border:1px solid #b9d8ce;border-radius:18px;box-shadow:0 8px 24px #1f4f5014;display:flex;gap:1.5rem;justify-content:space-between;margin:1.25rem 0 1.5rem;padding:1.5rem 1.75rem}.doctor-call-panel h2,.reception-call-panel h2{color:#173f40;margin:.25rem 0 .35rem}.doctor-call-panel p,.reception-call-panel p{color:#496365;margin:0}.doctor-call-kicker,.reception-call-kicker{color:#237267;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.doctor-call-button{min-width:170px}.reception-call-panel.is-called{background:linear-gradient(135deg,#fff6df,#fff);border-color:#e5ae55}.reception-call-panel.is-called h2{color:#734d16}.reception-call-badge{background:#d8952f;border-radius:999px;color:#fff;font-size:.75rem;font-weight:800;padding:.65rem .85rem;white-space:nowrap}.completed-appointments-section{margin-top:2rem}.reception-called-patient{color:#734d16;display:block;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1;margin:.35rem 0 .15rem}.reception-today-list{background:#fff;border:1px solid #d6e5df;border-radius:14px;overflow:hidden}.today-appointment-card{align-items:center;background:#0000;border:0;border-bottom:1px solid #e3ece8;border-radius:0;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.15rem}.today-appointment-card:last-child{border-bottom:0}.today-appointment-card.is-active{background:#fff8e9}.today-appointment-card strong{color:#173f40;display:block;font-size:1.05rem}.today-appointment-card span:not(.status-badge){color:#5c7070;display:block;font-size:.9rem;margin-top:.25rem}.today-appointment-actions{align-items:center;display:flex;gap:.75rem}@media (max-width:760px){.doctor-call-panel,.reception-call-panel{align-items:flex-start;flex-direction:column}.doctor-call-button{width:100%}.today-appointment-card{align-items:flex-start;flex-direction:column}.today-appointment-actions{flex-wrap:wrap}}.appointments-table td{color:#1f3032!important;font-weight:500}.appointments-table th{color:#173f40!important;font-weight:700}.appointments-table tbody tr:hover td{background:#e5f2ed!important;color:#142527!important}.dashboard-container .btn-secondary:hover,.dashboard-container .doctor-tabs button:hover:not(.active),.dashboard-container .reception-nav button:hover:not(.active){border-color:#214f50!important}.appointments-table .status-scheduled{background:#c5e5dc!important;color:#124f45!important}.appointments-table .status-confirmed{background:#d9e8c4!important;color:#3f5a1f!important}.appointments-table .status-in_progress{background:#efd6b8!important;color:#68421f!important}.appointments-table .status-completed{background:#d8e0df!important;color:#263d3e!important}.appointments-table .status-cancelled{background:#f2c9c3!important;color:#742d27!important}.appointments-table{background:#fff!important;color:#24363a!important}.appointments-table th{background:#edf4f1!important;color:#214f50!important}.appointments-table td{background:#fff!important;color:#344b4d!important}.appointments-table .status-badge{font-weight:700}.appointments-table .status-scheduled{background:#dcefe9!important;color:#155b50!important}.appointments-table .status-confirmed{background:#e7eee0!important;color:#4e6828!important}.appointments-table .status-in_progress{background:#f4e7d8!important;color:#765333!important}.appointments-table .status-completed{background:#e8eceb!important;color:#435657!important}.appointments-table .status-cancelled{background:#fbe5e1!important;color:#8b3931!important}.dashboard-container .btn-danger:hover,.dashboard-container .btn-primary:hover,.dashboard-container .btn-success:hover,.dashboard-container .btn-warning:hover,.dashboard-container .doctor-tabs button.active:hover,.dashboard-container .reception-nav button.active:hover{color:#fff!important}.dashboard-container .btn-secondary:hover,.dashboard-container .doctor-tabs button:hover:not(.active),.dashboard-container .reception-nav button:hover:not(.active){color:#214f50!important}.dashboard-container{background:linear-gradient(90deg,rgba(47,113,108,.025) 1px,#0000 1px),var(--paper);background-size:52px 52px}.dashboard-header{background:var(--teal-dark);box-shadow:0 8px 24px #214f5024}.dashboard-header h1:before{border-color:#ffffff59;color:#e1b58d}.header-user span{color:#dceae5}.doctor-tabs,.reception-nav{background:#edf4f1;border-color:var(--line)}.doctor-tabs button,.reception-nav button{color:var(--ink-soft)}.doctor-tabs button.active,.doctor-tabs button:hover,.reception-nav button.active,.reception-nav button:hover{background:var(--teal);color:#fff}.appointment-form{background:#fffffff5}.dashboard-card:after{border-color:#bd8b633d}.dashboard-section h2{color:var(--ink)}.appointments-table{background:#fff}.appointments-table tbody tr:hover,.appointments-table tbody tr:hover td{color:var(--ink)!important}.expanded-record-row td{background:#f1f8f5}.inline-medical-record{box-shadow:inset 0 0 25px #2f716c0d}.stat-value{text-shadow:none}.reception-notifications{margin-top:1.5rem}.notification-list{max-height:13rem;overflow-y:auto;scrollbar-width:thin}.notification-list p{border-bottom:1px solid var(--line);margin:0;padding:.85rem 0}.notification-list p:last-child{border-bottom:0}.expanded-record-row td{background:#dcece559;padding:.75rem 1rem 1rem}.inline-medical-record{background:#fff;border-left:4px solid var(--teal);border-radius:.5rem;padding:1rem 1.2rem}.inline-medical-record h3{margin-top:0}.doctor-tabs{background:#081d2ccc;border:1px solid var(--line);border-radius:14px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.35rem;width:fit-content}.doctor-tabs button{background:#0000;color:var(--ink-soft);min-width:8.5rem}.doctor-tabs button.active{background:linear-gradient(135deg,#28d7c0,#1688a1);box-shadow:0 0 18px #28d7c038;color:#03151e}.doctor-tabs button:disabled{cursor:not-allowed;opacity:.45}.doctor-care-panel{margin:0 auto;max-width:980px}.doctor-notifications .notification-list{max-height:13rem;overflow-y:auto}.dashboard-card{background:linear-gradient(145deg,#102a3af5,#091b2af5)}.dashboard-card:hover{box-shadow:0 20px 48px #00000061,0 0 24px #28d7c014}.appointments-table tbody tr:hover{background:#28d7c01a;color:azure}.dashboard-header{background:linear-gradient(115deg,#07534f,#087f73 58%,#0c9180);padding:.85rem 0;position:sticky;top:0;z-index:10}.brand-lockup{align-items:center;display:flex;gap:.75rem}.brand-mark{background:#e7c3a9;border-radius:12px;box-shadow:0 6px 16px #0000001f;color:var(--teal-dark);display:grid;font:2rem/1 Segoe UI,sans-serif;height:2.7rem;place-items:center;width:2.7rem}.dashboard-header h1{font-size:1.18rem;letter-spacing:.01em}.header-kicker{color:#a9c7bd;display:block;font-size:.7rem;letter-spacing:.1em;margin-top:.15rem;text-transform:uppercase}.header-user{gap:1.2rem}.user-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.18rem}.user-meta strong{color:#fff;font-size:.88rem}.header-date,.user-meta span{color:#b9d3c9;font-size:.75rem}.header-date{border-left:1px solid #fff3;padding-left:1.2rem;text-transform:capitalize}.dashboard-main{max-width:1320px;padding-top:2.8rem}.page-intro{margin-bottom:2.1rem}.page-intro .eyebrow{color:var(--clay);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.page-intro h2{font-size:clamp(2rem,4vw,2.8rem);margin:.4rem 0 .35rem}.page-intro p{color:var(--ink-soft);margin:0}.dashboard-container{background:linear-gradient(135deg,#07131f,#0b2233 48%,#081824)}.dashboard-header{background:linear-gradient(105deg,#061622,#0b3447 55%,#124d59);border-bottom:1px solid #28d7c04d;box-shadow:0 8px 35px #00000059}.dashboard-header h1{color:#efffff}.dashboard-header h1:before{border-color:#28d7c0a6;box-shadow:0 0 16px #28d7c047;color:var(--teal)}.reception-nav{background:#0a2333b8;border-color:var(--line);box-shadow:0 12px 30px #00000029}.reception-nav button{color:var(--ink-soft)}.reception-nav button.active,.reception-nav button:hover{background:linear-gradient(135deg,#1b9d9d,#2474a0);box-shadow:0 0 18px #28d7c033;color:#fff}.dashboard-section h2{color:#dcffff}.dashboard-card:after{border-color:#28d7c040}.dashboard-card h3,.form-help,.stat-label{color:var(--ink-soft)}.stat-value{color:var(--teal);text-shadow:0 0 20px #28d7c040}.appointments-table{background:#0a1d2ce6}.status-scheduled{background:#28d7c029;color:#8ff8e8}.status-confirmed{background:#a98cff33;color:#d9caff}.status-in_progress{background:#ffc45c33;color:#ffe0a2}.status-completed{background:#8497a933;color:#c3d0d7}.status-cancelled{background:#e26b8733;color:#ffb9c9}.expanded-record-row td{background:#103948a6}.inline-medical-record{background:#091e2deb;border-left-color:var(--teal);box-shadow:inset 0 0 25px #28d7c00f}.dashboard-card{background:linear-gradient(145deg,#fff,#f8fcfb);transition:transform .18s ease,box-shadow .18s ease}.dashboard-card:hover{box-shadow:0 20px 42px #17383b21;transform:translateY(-3px)}.appointments-table{border:1px solid var(--line)}.appointments-table td:last-child,.appointments-table th:last-child{white-space:nowrap}.appointments-table tbody tr:last-child td{border-bottom:0}.appointments-table tbody tr{transition:background .18s ease}.appointments-table tbody tr:hover{background:#f1f9f6}.appointments-table td:last-child .btn{font-size:.82rem;padding:.55rem .8rem}.dashboard-section>h2{font-size:1.45rem}.status-badge{font-size:.76rem;letter-spacing:.02em}@media (max-width:768px){.dashboard-header{position:static}.header-date{display:none}.user-meta{align-items:flex-start}.dashboard-main{padding-top:2rem}.page-intro{margin-bottom:1.6rem}}.appointments-table tbody tr:hover,.appointments-table tbody tr:hover td{background:#28d7c01a!important;color:azure!important}.dashboard-container input:hover,.dashboard-container select:hover,.dashboard-container textarea:hover{border-color:#9fc5bb!important}.dashboard-container .btn:hover,.dashboard-container button:hover{color:#24363a!important}.dashboard-container .btn-danger:hover,.dashboard-container .btn-primary:hover,.dashboard-container .btn-success:hover,.dashboard-container .btn-warning:hover{color:#fff!important}.dashboard-container .btn-secondary:hover,.dashboard-container .doctor-tabs button:hover,.dashboard-container .reception-nav button:hover{background:#d8e9e4!important;color:#214f50!important}.dashboard-container .doctor-tabs button.active:hover,.dashboard-container .reception-nav button.active:hover{background:#2f716c!important;color:#fff!important}.appointments-table tbody tr:hover,.appointments-table tbody tr:hover td{background:#f1f8f5!important;color:#24363a!important}@media (max-width:600px){.appointment-filters,.appointment-form,.card,.dashboard-container,.dashboard-main,.dashboard-main>div,.dashboard-section,.doctor-call-panel,.notification-list,.reception-call-panel,.reception-today-list{box-sizing:border-box;max-width:100%!important;min-width:0!important;width:100%!important}.dashboard-header .header-content{max-width:100%;padding:0 .75rem;width:100%}.brand-lockup,.doctor-call-panel>div,.header-user,.reception-call-panel>div,.today-appointment-card>div,.user-meta{max-width:100%;min-width:0!important}.brand-lockup h1,.doctor-call-panel h2,.reception-call-panel h2,.today-appointment-card span,.today-appointment-card strong{overflow-wrap:anywhere;white-space:normal!important}.doctor-tabs,.reception-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important;min-width:0!important;overflow:hidden;width:100%!important}.doctor-tabs button,.reception-nav button{max-width:100%!important;min-width:0!important;white-space:normal;width:100%!important}.today-appointment-actions,.today-appointment-card{max-width:100%;width:100%}.today-appointment-actions{align-items:stretch;flex-direction:column}.doctor-call-button,.reception-call-badge,.today-appointment-actions .btn{min-width:0!important;text-align:center;white-space:normal;width:100%!important}.appointments-table{-webkit-overflow-scrolling:touch;display:block!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;width:100%!important}.btn,button,input,select,textarea{max-width:100%}}*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#17383b;--ink-soft:#547174;--teal:#0f5d5e;--teal-dark:#0a3f43;--mint:#dcece5;--clay:#c8755b;--paper:#f7f4ed;--surface:#fffdf8;--line:#dbe4df;--shadow:0 16px 42px #17383b17;--primary-color:var(--teal);--secondary-color:var(--ink-soft);--success-color:#2f8068;--danger-color:#b9554b;--warning-color:#bd7c3b;--light-bg:var(--paper)}body{-webkit-font-smoothing:antialiased;font-family:Avenir Next,DM Sans,Segoe UI,sans-serif}h1,h2,h3,h4,h5,h6{letter-spacing:0;line-height:1.2}h1,h2{font-family:Georgia,Times New Roman,serif}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem;margin-bottom:.75rem}p{line-height:1.6;margin-bottom:1rem}input,select,textarea{background:#fff;background:var(--surface);border:1px solid #dde7e3;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:1rem;padding:.85rem .95rem;width:100%}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #0f5d5e1f;outline:none}.btn,button{align-items:center;border:none;border-radius:5px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.45rem;justify-content:center;padding:.78rem 1.1rem;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.btn:hover,button:hover{box-shadow:0 8px 18px #17383b1f;transform:translateY(-1px)}.btn-primary{background-color:#2f716c;background-color:var(--teal);color:#fff}.btn-primary:hover{background-color:#214f50;background-color:var(--teal-dark)}.btn-secondary{background-color:#e6f0ed;background-color:var(--mint)}.btn-secondary:hover{background-color:#c9e1d7}.btn-success{background-color:#2f8068;background-color:var(--success-color);color:#fff}.btn-danger{background-color:#b9554b;background-color:var(--danger-color);color:#fff}.btn-warning{background-color:#bd7c3b;background-color:var(--warning-color);color:#fff}.card{background:#fff;background:var(--surface);border:1px solid #dde7e3;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 38px #24444314;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.alert{border-left:4px solid;border-radius:6px;margin-bottom:1rem;padding:.9rem 1rem}.alert-success{background-color:#ecf7f1;border-color:#2f8068;border-color:var(--success-color);color:#1f5b4a}.alert-error{background-color:#fff0ed;border-color:#b9554b;border-color:var(--danger-color);color:#7b3029}.alert-warning{background-color:#fff6e8;border-color:#bd7c3b;border-color:var(--warning-color);color:#754619}table{border-collapse:collapse;width:100%}th{background-color:#e6f0ed;background-color:var(--mint);border-bottom:1px solid #dde7e3;border-bottom:1px solid var(--line);font-weight:600;text-align:left}td,th{padding:1rem}td{border-bottom:1px solid #dde7e3;border-bottom:1px solid var(--border-color)}tr:hover{background-color:#f2f7f3}.spinner{animation:spin 1s linear infinite;border:3px solid #dde7e3;border-top:3px solid #2f716c;border:3px solid var(--line);border-radius:50%;border-top-color:var(--teal);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.btn,button{padding:.5rem 1rem}table{font-size:.875rem}td,th{padding:.5rem}}::selection{background:#0f5d5e2e;color:#214f50;color:var(--teal-dark)}body{background-image:radial-gradient(circle at 10% 0,#c8755b14,#0000 30rem)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c8755b6b;outline-offset:2px}.btn-primary{box-shadow:0 8px 16px #0f5d5e2e}.btn-secondary{border:1px solid #0f5d5e1a}.appointment-form,.appointments-table,.card,.dashboard-card{border-radius:14px}:root{--paper:#f4f8f7;--line:#e2ebe8;--ink:#18333b;--ink-soft:#6b7f84;--teal:#087f73;--teal-dark:#07534f;--mint:#e5f4ef;--shadow:0 18px 50px #14414214}body{background:radial-gradient(circle at 88% -10%,#dcefe9 0,#0000 30rem),#f6f7f4;background:radial-gradient(circle at 88% -10%,#dcefe9 0,#0000 30rem),var(--paper)}input,select,textarea{background:#fbfdfc;border-radius:11px;transition:border-color .2s,box-shadow .2s,background .2s}input:hover,select:hover,textarea:hover{background:#fff;border-color:#b8d5ce}.btn,button{border-radius:11px;font-weight:650;letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,#0b8b7c,#07655f)}.btn-danger{background:linear-gradient(135deg,#c65f59,#a54243)}.appointment-form,.card,.dashboard-card{border-color:#d6e5e1e6}.alert{border-left-width:0;border-radius:12px;box-shadow:0 8px 22px #1441420f}:root{--ink:#e8f3f5;--ink-soft:#9db4bd;--teal:#28d7c0;--teal-dark:#071c2b;--mint:#12394a;--clay:#a98cff;--paper:#07131f;--surface:#0d2030e0;--line:#5fcdd733;--shadow:0 20px 60px #00000047}body{background-color:#f6f7f4;background-color:var(--paper);background-image:radial-gradient(circle at 10% 0,#28d7c026,#0000 32rem),radial-gradient(circle at 90% 85%,#a98cff1f,#0000 30rem)}h1,h2,h3,h4,h5,h6{font-family:Avenir Next,Segoe UI,sans-serif}input,select,textarea{background:#071826d9}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #28d7c026,0 0 22px #28d7c01f}.btn,button{border-radius:12px}.btn-primary{background:linear-gradient(135deg,#28d7c0,#1688a1);box-shadow:0 0 22px #28d7c033;color:#03151e}.btn-primary:hover{background:linear-gradient(135deg,#5ee8d7,#28a8c0)}.btn-secondary{background:#24495be6;border:1px solid #dde7e3;border:1px solid var(--line);color:#d7f7f4}.btn-danger{background:linear-gradient(135deg,#e26b87,#a84568)}.appointment-form,.card,.dashboard-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}table{color:#24363a;color:var(--ink)}th{background:linear-gradient(90deg,#144253f2,#123043f2);border-color:#dde7e3;border-color:var(--line);color:#c9fffa}tr:hover{background:#28d7c00f}.alert-success{background:#26a4892e;color:#b9fff0}.alert-error{background:#be3b5f33;color:#ffd1dc}.btn-secondary:hover{background:linear-gradient(135deg,#28556a,#1d7890);border-color:#28d7c08c;color:azure}input:hover,select:hover,textarea:hover{background:#0c2637fa;border-color:#28d7c08c}.btn:hover,button:hover{color:#f4ffff}:root{--ink:#24363a;--ink-soft:#6e7d7e;--teal:#2f716c;--teal-dark:#214f50;--mint:#e6f0ed;--clay:#bd8b63;--paper:#f6f7f4;--surface:#fff;--line:#dde7e3;--border-color:var(--line);--shadow:0 16px 38px #24444314}body{background:#f6f7f4;background:var(--paper);background-image:radial-gradient(circle at 100% 0,#d6e7e0a6,#0000 28rem)}body,h1,h2,h3,h4,h5,h6{color:#24363a;color:var(--ink)}h1,h2,h3,h4,h5,h6{font-family:Georgia,Times New Roman,serif}input,select,textarea{background:#fcfdfc;border-color:#dde7e3;border-color:var(--line);border-radius:8px;color:#24363a;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#2f716c;border-color:var(--teal);box-shadow:0 0 0 3px #2f716c1f}.btn,button{border-radius:7px;font-weight:600}.btn:hover,button:hover{color:inherit}.btn-primary{background:#2f716c;background:var(--teal);box-shadow:0 7px 16px #2f716c2e}.btn-primary:hover{background:#214f50;background:var(--teal-dark)}.btn-secondary{background:#e6f0ed;background:var(--mint);border:1px solid #d3e3de}.btn-secondary,.btn-secondary:hover{color:#214f50;color:var(--teal-dark)}.btn-secondary:hover{background:#d8e9e4}.appointment-form,.card,.dashboard-card{background:#fff;background:var(--surface);border-color:#dde7e3;border-color:var(--line);box-shadow:0 16px 38px #24444314;box-shadow:var(--shadow)}th{background:#edf4f1;color:#214f50;color:var(--teal-dark)}td{border-color:#dde7e3;border-color:var(--line)}tr:hover{background:#f5faf8}.dashboard-container .appointments-table tbody tr:hover td{background:#e5f2ed!important;color:#142527!important}.dashboard-container .appointments-table td{color:#1f3032!important}.dashboard-container .appointments-table th{color:#173f40!important}.dashboard-container .btn-secondary:hover,.dashboard-container .doctor-tabs button:hover:not(.active),.dashboard-container .reception-nav button:hover:not(.active){background:#214f50!important;color:#fff!important}.dashboard-container input:hover,.dashboard-container select:hover,.dashboard-container textarea:hover,input:hover,select:hover,textarea:hover{background:#fff!important;color:#24363a!important}input:hover,select:hover,textarea:hover{border-color:#9fc5bb!important}input:hover::placeholder,textarea:hover::placeholder{color:#718181!important}.btn-secondary:hover{background:#d8e9e4!important;color:#214f50!important}.btn-danger:hover,.btn-primary:hover,.btn-success:hover,.btn-warning:hover{color:#fff!important}.dashboard-container .expanded-record-row td,.dashboard-container .expanded-record-row td:hover,.dashboard-container .inline-medical-record,.dashboard-container .inline-medical-record h3,.dashboard-container .inline-medical-record p,.dashboard-container .inline-medical-record strong{background:#fff!important;color:#1f3032!important}.dashboard-container .inline-medical-record h3{color:#214f50!important}#root,body,html{max-width:100%;overflow-x:hidden;width:100%}canvas,img,svg{max-width:100%}
/*# sourceMappingURL=main.956ff247.css.map*/