.navbar{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;justify-content:space-between;align-items:center;padding:12px 6%;display:flex;position:sticky;top:0;box-shadow:0 1px 3px -2px #0003}.logo{align-items:center;gap:10px;display:flex}.logo img{width:42px;height:42px}.logo p{color:#171717;font-size:clamp(16px,2vw,20px);font-weight:500}.nav-menu{color:#505050;gap:28px;font-size:17px;font-weight:400;list-style:none;display:flex}.nav-menu li{cursor:pointer;transition:color .3s,transform .3s;position:relative}.nav-menu li:hover{color:#14b8a6;transform:translateY(-2px)}.nav-menu li:after{content:"";background:#14b8a6;width:0%;height:2px;transition:width .3s;position:absolute;bottom:-6px;left:0}.nav-menu li:hover:after{width:100%}.nav-start{color:#454545;border:1px solid #111;border-radius:50px;align-items:center;gap:10px;padding:10px 18px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.nav-start:hover{color:#fff;background:linear-gradient(135deg,#111,#1f2937)}.nav-start:hover .arrow{transform:translate(5px)}@media (width<=1024px){.nav-menu{gap:18px;font-size:15px}.nav-start{padding:8px 14px;font-size:14px}}@media (width<=768px){.nav-menu{display:none}.nav-start{padding:8px 14px}.logo p{font-size:18px}}.welcome-card{text-align:center;background:linear-gradient(135deg,#f8fffe 0%,#eefcf9 50%,#fff 100%);flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;min-height:calc(100vh - 70px);padding:20px;display:flex}.welcome-tag{color:#0f766e;letter-spacing:1px;background:#14b8a61a;border-radius:30px;padding:8px 18px;font-size:15px;font-weight:600}.welcome-card h1{color:#1e293b;margin:0;font-size:clamp(3rem,8vw,5.5rem);font-weight:700;line-height:1.1}.welcome-card h1 span{color:#14b8a6}.welcome-description{color:#64748b;max-width:650px;margin-bottom:10px;font-size:18px;line-height:1.7}.welcome-booking{color:#fff;background:linear-gradient(135deg,#14b8a6,#0f766e);border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:16px 34px;font-size:17px;font-weight:600;text-decoration:none;transition:transform .35s,box-shadow .35s,background .35s;display:inline-flex;box-shadow:0 12px 30px #14b8a64d}.welcome-booking:hover{background:linear-gradient(135deg,#0f766e,#14b8a6);transform:translateY(-3px);box-shadow:0 18px 35px #14b8a673}.welcome-booking:active{transform:translateY(0)}.arrow{transition:transform .3s}.welcome-booking:hover .arrow{transform:translate(8px)}.login-container{background:linear-gradient(135deg,#f0fdfa,#ecfeff,#fff);justify-content:center;align-items:center;height:100vh;padding:20px;display:flex}.login-wrapper{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px;display:flex}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border-radius:18px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 50px #00000014}.header-text{text-align:center;margin-bottom:25px}.header-text h1{color:#0f172a;margin-bottom:6px;font-size:28px}.header-text p{color:#64748b;font-size:14px}.form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#334155;font-size:14px}.form-group input{border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:all .25s}.form-group input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#14b8a6,#0f766e);border:none;border-radius:10px;margin-top:10px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.form button:hover{transform:translateY(-2px);box-shadow:0 12px 25px #14b8a640}.bottom-text{text-align:center;color:#64748b;margin-top:18px;font-size:14px;display:block}.bottom-text a{color:#14b8a6;font-weight:600;text-decoration:none}.bottom-text a:hover{text-decoration:underline}.guest-login-btn{color:#0f766e;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:2px dashed #14b8a6;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #14b8a60d}.guest-login-btn:hover{color:#fff;background:#14b8a6;border-style:solid;transform:translateY(-2px);box-shadow:0 10px 20px #14b8a633}.guest-login-btn:active{transform:translateY(0)}.guest-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-container{background:linear-gradient(135deg,#f0fdfa,#ecfeff,#fff);justify-content:center;align-items:center;height:100vh;padding:20px;display:flex}.register-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border-radius:18px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 50px #00000014}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}.home-page{background:#f5f8fd;width:100%;min-height:100vh;position:relative}.page{margin-left:250px;transition:margin .4s ease-in-out}.sidebar{z-index:1000;color:#fff;background:linear-gradient(#0d3b8f 0%,#0b2f72 100%);flex-direction:column;width:250px;height:100vh;padding:24px 18px;transition:left .4s ease-in-out,width .4s ease-in-out;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.open{left:0}.menu-btn{z-index:1100;color:#0d3b8f;cursor:pointer;z-index:100;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:none;position:fixed;top:18px;left:18px;box-shadow:0 10px 20px #0000001a}@media (width<=768px){.sidebar{width:85%;max-width:320px;left:-100%}.sidebar.open{left:0}.menu-btn{display:flex}.page{margin-left:0}}.logo{flex-shrink:0;align-items:center;gap:14px;margin-bottom:24px;display:flex}.logo img{background:#fff;border-radius:12px;width:48px;height:48px;padding:6px}.logo-text h2{font-size:24px;font-weight:700}.logo-text p{color:#c7d4f5;font-size:13px}.navlinks{flex-direction:column;flex:1;gap:10px;padding-right:6px;display:flex;overflow-y:auto}.navlinks::-webkit-scrollbar{width:6px}.navlinks::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:20px}.navlinks::-webkit-scrollbar-track{background:0 0}.navlink-buttons{color:#fff;border-radius:14px;flex-shrink:0;align-items:center;gap:14px;min-height:46px;padding:0 16px;text-decoration:none;transition:all .25s;display:flex}.navlink-buttons:hover{background:#255fc8}.navlink-buttons.active{background:#2d69d8;box-shadow:0 10px 20px #0000002e}.navicons{flex-shrink:0;width:20px;height:20px}.navlink-buttons span{font-size:15px;font-weight:500}.doctor-profile{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1a;border-radius:18px;flex-shrink:0;margin-top:18px;padding:18px}.doctor-profile-icon{color:#fff;background:#ffffff1f;border-radius:50%;width:64px;height:64px;margin-bottom:12px;padding:10px}.doctor-profile h2{color:#fff;margin-bottom:4px;font-size:18px;font-weight:600}.doctor-profile p{color:#d3ddf8;margin-bottom:16px;font-size:14px}.doctor-profile hr{background:#ffffff1f;border:none;height:1px;margin:16px 0}.logout-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:12px;width:100%;height:44px;font-size:15px;font-weight:600;transition:all .3s}.logout-button:hover{color:#0d3b8f;background:#fff}.sidebar-backdrop{z-index:99;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);background:#0006;width:100vw;height:100vh;transition:opacity .3s;position:fixed;top:0;left:0}@media (width>=769px){.sidebar-backdrop{display:none}}body{background:#f4f7fc;font-family:Inter,sans-serif}.appointments-page{background:#f4f7fc;width:100%;min-height:100vh;padding:30px}.card{background:#fff;border-radius:18px;align-items:center;gap:18px;padding:22px;transition:all .3s;display:flex;box-shadow:0 5px 20px #0000000f}.card:hover{transform:translateY(-4px)}.icon{border-radius:14px;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.card-content{flex-direction:column;display:flex}.card-content h2{color:#111827;margin:4px 0;font-size:30px}.appointment-card{background:#fff;border-radius:20px;padding:25px;box-shadow:0 5px 20px #0000000f}.toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.search-box{border:1px solid #dbe2ea;border-radius:12px;align-items:center;gap:10px;width:340px;padding:12px 15px;display:flex}.search-box input{background:0 0;border:none;outline:none;width:100%}.add-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;display:flex}.add-btn:hover{background:#1d4ed8}.filters{flex-wrap:wrap;gap:15px;margin-bottom:25px;display:flex}.filters input{background:#fff;border:1px solid #d8dee9;border-radius:10px;outline:none;min-width:180px;padding:12px 15px}.custom-filter-dropdown{min-width:180px;position:relative}.dropdown-trigger-btn{color:#4c566a;cursor:pointer;text-transform:capitalize;background:#fff;border:1px solid #d8dee9;border-radius:10px;outline:none;justify-content:space-between;align-items:center;width:100%;padding:12px 15px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.dropdown-trigger-btn:hover{border-color:#2563eb;box-shadow:0 2px 8px #2563eb14}.dropdown-options-menu{z-index:100;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;flex-direction:column;gap:4px;width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 25px #1f293714}.dropdown-option-item{cursor:pointer;text-align:left;color:#475569;text-transform:capitalize;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13.5px;font-weight:500;transition:all .2s;display:flex}.dropdown-option-item:hover{color:#0f172a;background-color:#f1f5f9}.dropdown-option-item:before{content:"";background-color:#94a3b8;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dropdown-option-item.pending:before{background-color:#2563eb}.dropdown-option-item.completed:before{background-color:#16a34a}.dropdown-option-item.cancelled:before{background-color:#ef4444}table{border-collapse:collapse;width:100%}thead{background:#f8fafc}th{text-align:left;color:#64748b;padding:15px;font-weight:600}td{border-bottom:1px solid #edf2f7;padding:18px 15px}tbody tr:hover{background:#f9fbff}.action-buttons{align-items:center;gap:10px;display:flex;position:relative}.action-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .25s;display:flex}.action-btn.view:hover{color:#fff;background:#2563eb}.action-btn.edit:hover{color:#fff;background:#f59e0b}.action-btn.delete:hover{color:#fff;background:#ef4444}.status{border-radius:50px;padding:6px 14px;font-size:13px;font-weight:600}.pending{color:#2563eb;background:#eaf2ff}.completed{color:#16a34a;background:#eafbf0}.cancelled{color:#fc5555;background:#fff2f2}.status-card{z-index:99;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;flex-direction:column;gap:4px;width:155px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px #1f29371f}.status-card button{cursor:pointer;text-align:left;color:#374151;text-transform:capitalize;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13.5px;font-weight:500;transition:all .2s;display:flex}.status-card button:hover{color:#111827;background-color:#f3f4f6}.status-card button:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-card button.status-btn-pending:before{background-color:#2563eb}.status-card button.status-btn-completed:before{background-color:#16a34a}.status-card button.status-btn-cancelled:before{background-color:#ef4444}@media (width<=900px){.toolbar{flex-direction:column;align-items:stretch;gap:15px}.search-box{width:100%}.filters{flex-direction:column}.custom-filter-dropdown,.filters input{width:100%}table{display:block;overflow-x:auto}}@media (width<=768px){.page-header{margin-bottom:20px;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;display:flex!important}.page-header>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.page-header h1{text-align:center!important;margin:0 auto!important}.page-header p,.notification{display:none!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important;width:100%!important;margin-bottom:20px!important}.card{border-radius:14px;gap:10px;padding:14px}.icon{border-radius:10px;width:44px;height:44px}.icon svg{width:20px!important;height:20px!important}.card-content span{font-size:12px}.card-content h2{margin:2px 0;font-size:20px;line-height:1.1}.card-content small{font-size:11px}.appointment-card{box-shadow:none;background:0 0;padding:16px}.appointment-card table,.appointment-card thead,.appointment-card tbody,.appointment-card th,.appointment-card td,.appointment-card tr{width:100%;display:block}.appointment-card thead{display:none}.appointment-card tr{background:#fff;border:1px solid #e5e7ebcc;border-radius:16px;margin-bottom:16px;padding:16px;box-shadow:0 4px 12px #00000008}.appointment-card td{text-align:right;border:none;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.appointment-card td:last-child{border-bottom:none;padding-bottom:0}.appointment-card td:before{content:attr(data-label);color:#6b7280;text-align:left;font-size:13px;font-weight:600}.appointment-card td[data-label=Actions]{justify-content:flex-end;display:flex}.appointment-card td p{color:#374151;margin:0;font-size:14px}}*{box-sizing:border-box;margin:0;padding:0}.patients-page{background:#f4f7fc;min-height:100vh;padding:30px;font-family:Inter,sans-serif}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h1{color:#111827;font-size:32px}.page-header p{color:#6b7280;margin-top:6px}.notification{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 6px 20px #0000000f}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:22px;display:grid}.card{background:#fff;border-radius:14px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 6px 20px #0000000d}.icon{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;display:flex}.blue{color:#2563eb;background:#eef4ff}.green{color:#16a34a;background:#ebfbef}.orange{color:#ea580c;background:#fff4e8}.red{color:#ef4444;background:#ffecec}.card-content span{color:#6b7280;font-size:13px}.card-content h2{margin:4px 0;font-size:26px}.card-content small{color:#9ca3af}.patients-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 6px 20px #0000000d}.filters-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-row{align-items:center;gap:12px;display:flex}.search-box{border:1px solid #dbe2ea;border-radius:10px;align-items:center;gap:10px;min-width:320px;padding:10px 12px;display:flex}.search-box input{background:0 0;border:0;outline:none}.small-select{background:#fff;border:1px solid #d8dee9;border-radius:10px;padding:10px 12px}.date-input{border:1px solid #d8dee9;border-radius:8px;padding:10px}.patients-table{border-collapse:collapse;width:100%;margin-top:8px}.patients-table thead{background:#f8fafc}.patients-table th{text-align:center;color:#64748b;padding:14px;font-weight:700}.patients-table td{vertical-align:middle;text-align:center;border-bottom:1px solid #edf2f7;padding:14px}.patients-table tbody tr:hover{background:#f9fbff}.patient-info{justify-content:center;align-items:center;gap:12px;display:flex}.avatar{color:#2563eb;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.patient-name{font-weight:600}.patient-id{color:#9ca3af;font-size:13px}.muted{color:#6b7280;font-size:13px}.pill{border-radius:999px;padding:6px 12px;font-weight:700}.pill.active{color:#16a34a;background:#eafbf0}.pill.inactive{color:#ef4444;background:#fff2f2}.action-buttons{justify-content:center;align-items:center;gap:8px;display:flex}.action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.action-btn.view{color:#2563eb;background:#eef5ff}.action-btn.edit{color:#f59e0b;background:#fff7e8}.action-btn.delete{color:#ef4444;background:#ffecec}.action-btn:hover{opacity:.95}.table-footer{color:#6b7280;margin-top:14px;font-size:13px}@media (width<=900px){.search-box{min-width:200px}.filters-row{flex-direction:column;align-items:stretch}.actions-row{justify-content:flex-end}.patients-table{display:block;overflow-x:auto}}.booking-page{max-width:980px;margin:40px auto;padding:0 20px}.booking-top{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:40px;display:flex}.booking-top h1{color:#111827;margin:0;font-size:2rem;font-weight:700}.booking-top p{color:#6b7280;margin-top:4px;font-size:.95rem}.back-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-width:120px;height:46px;padding:0 14px;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.back-btn:hover{background:#f3f4f6}.back-btn:before{content:"←";margin-right:6px;font-size:1rem;display:inline-block}.booking-progress{justify-content:center;align-items:center;margin-bottom:45px;display:flex}.progress-step{flex-direction:column;align-items:center;gap:10px;display:flex}.progress-step span{color:#9ca3af;font-size:.9rem;font-weight:500}.progress-step.active span{color:#2563eb}.circle{color:#6b7280;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-weight:700;transition:all .3s;display:flex}.progress-step.active .circle{color:#fff;background:#2563eb;box-shadow:0 8px 20px #2563eb40}.progress-line{background:#e5e7eb;border-radius:50px;width:180px;height:4px;margin:0 12px;transition:all .35s}.progress-line.active{background:#2563eb}.step-title{margin-bottom:28px}.step-title span{color:#2563eb;background:#2563eb14;border-radius:30px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-block}.step-title h2{color:#111827;margin-top:14px;font-size:1.7rem}.booking-card{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:38px;box-shadow:0 15px 40px #0f172a14}.booking-alert{border-radius:12px;margin-bottom:22px;padding:15px 18px;font-size:.95rem}.booking-alert.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.booking-alert.success{color:#059669;background:#ecfdf5;border:1px solid #bbf7d0}.input-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.input-box{flex-direction:column;display:flex}.input-box.full{grid-column:1/-1}.input-box label{color:#374151;margin-bottom:8px;font-size:.92rem;font-weight:600}.input-box input,.input-box select{background:#fff;border:1px solid #d1d5db;border-radius:14px;outline:none;height:52px;padding:0 16px;font-size:.95rem;transition:all .25s}.input-box input:focus,.input-box select:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.summary-card{background:#f8fafc;border-radius:18px;margin-bottom:30px;padding:24px}.summary-card h3{color:#111827;margin-bottom:22px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.summary-grid div{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.summary-grid small{color:#6b7280;margin-bottom:8px;display:block}.summary-grid p{color:#111827;margin:0;font-weight:600}.appointment-box{margin-bottom:30px}.appointment-box input{width:100%}.footer-buttons{justify-content:space-between;gap:15px;margin-top:20px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:14px;height:50px;padding:0 26px;font-size:.95rem;font-weight:600;transition:all .25s}.primary-button{color:#fff;background:#2563eb}.primary-button:hover{background:#1d4ed8;transform:translateY(-2px)}.secondary-button{color:#374151;background:#f3f4f6}.secondary-button:hover{background:#e5e7eb}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=768px){.booking-page{padding:20px 16px}.booking-top{justify-content:space-between;width:100%}.booking-progress{justify-content:flex-start;padding-bottom:10px;overflow-x:auto}.progress-step{min-width:110px}.progress-line{width:60px}.booking-card{padding:22px}.input-grid,.summary-grid{grid-template-columns:1fr}.booking-top h1{font-size:1.6rem}.step-title h2{font-size:1.4rem}.footer-buttons{flex-direction:column-reverse}.primary-button,.secondary-button{width:100%}}:root{--primary-blue:#0d3b8f;--accent-blue:#2563eb;--hover-blue:#1d4ed8;--bg-blue-light:#eff6ff;--bg-purple-light:#faf8ff;--border-purple-light:#e5dbff;--text-main:#1e293b;--text-muted:#64748b;--text-dark:#0f172a;--card-border:#eaedf2;--card-shadow:0 4px 12px #00000005, 0 1px 3px #00000008}.apmt-container{flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;padding:24px;display:flex}.apmt-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.apmt-back-link{color:var(--accent-blue);align-items:center;gap:8px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .2s;display:flex}.apmt-back-link:hover{transform:translate(-4px)}.apmt-page-title{color:var(--text-dark);font-size:22px;font-weight:600}.apmt-header-right{align-items:center;gap:12px;display:flex}.apmt-id-badge{color:var(--accent-blue);font-size:15px;font-weight:600}.apmt-more-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background .2s;display:flex}.apmt-more-btn:hover{background:#eaedf2}.apmt-layout{grid-template-columns:360px 1fr;align-items:start;gap:24px;display:grid}.apmt-card{border:1px solid var(--card-border);box-shadow:var(--card-shadow);background:#fff;border-radius:16px;flex-direction:column;padding:24px;display:flex;position:relative}.apmt-card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.apmt-card-title{color:var(--text-dark);font-size:17px;font-weight:600}.apmt-card-edit{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.apmt-card-edit:hover{background:var(--bg-blue-light)}.apmt-card-btn{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.apmt-card-btn-primary{background:var(--accent-blue);color:#fff;border:none}.apmt-card-btn-primary:hover{background:var(--hover-blue)}.apmt-card-btn-outline{color:var(--accent-blue);border:1px solid var(--accent-blue);background:0 0}.apmt-card-btn-outline:hover{background:var(--bg-blue-light)}.apmt-card-btn-generated{color:#22c55e;cursor:default;opacity:.9;background:#22c55e1f;border:1px solid #22c55e}.apmt-card-btn-generated:disabled{cursor:default;opacity:.9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-icon{animation:.9s linear infinite spin}.patient-meta{margin-bottom:16px}.patient-name{color:var(--text-dark);font-size:20px;font-weight:600}.patient-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.patient-contacts{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.contact-item{color:var(--text-main);align-items:center;gap:10px;font-size:14px;display:flex}.contact-item svg{color:var(--text-muted)}.contact-item.email-item{color:var(--accent-blue)}.patient-divider{border:none;border-top:1px solid #f1f5f9;margin:0 0 20px}.patient-details-list{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.detail-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-label{color:var(--text-muted);white-space:nowrap;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.detail-label svg{color:var(--text-muted)}.detail-value{color:var(--text-main);text-align:right;max-width:60%;font-size:14px;font-weight:500;line-height:1.4}.view-profile-btn{border:1px solid var(--accent-blue);width:100%;color:var(--accent-blue);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.view-profile-btn:hover{background:var(--bg-blue-light)}.status-badge{background:var(--bg-blue-light);color:var(--accent-blue);text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.apmt-left-col,.apmt-right-col{flex-direction:column;gap:24px;display:flex}.recording-banner{background:var(--bg-blue-light);border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:18px 20px;display:flex}.record-indicator{background:#dbeafe;border:1px solid #bfdbfe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex;position:relative}.record-dot{background:#2563eb;border-radius:50%;width:12px;height:12px;transition:all .3s}.record-dot.dot-pulsing{background:#ef4444;animation:1.2s ease-in-out infinite pulse-dot}.record-dot.dot-uploading{background:#f59e0b;animation:1.5s ease-in-out infinite pulse-dot}.record-dot.dot-error{background:#dc2626}.recording-banner.recording-active{background:#fef2f2;border-color:#fecaca}.recording-banner.recording-active .record-indicator{background:#fee2e2;border-color:#fca5a5}@keyframes pulse-dot{0%{opacity:1;transform:scale(.9)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(.9)}}.recording-banner-text{flex-direction:column;gap:2px;display:flex}.recording-banner-title{color:var(--text-dark);font-size:14px;font-weight:600}.recording-banner-sub{color:var(--text-muted);font-size:13px}.recordings-section-title{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.recordings-section-title span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.recordings-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.recording-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.recording-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000008}.recording-item-left{align-items:center;gap:12px;min-width:0;display:flex}.audio-icon-wrapper{background:var(--bg-blue-light);width:38px;height:38px;color:var(--accent-blue);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.audio-info{flex-direction:column;min-width:0;display:flex}.audio-name{color:var(--text-dark);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.audio-date{color:var(--text-muted);margin-top:2px;font-size:11px}.recording-item-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.audio-play-btn{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:transform .1s;display:flex}.audio-play-btn:hover{transform:scale(1.1)}.audio-duration{color:var(--text-main);text-align:right;min-width:40px;font-size:13px;font-weight:500}.audio-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.audio-menu-btn:hover{color:var(--text-dark)}.recording-footer-actions{justify-content:flex-end;gap:12px;display:flex}.reports-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;overflow-x:auto}.reports-table{border-collapse:collapse;text-align:left;width:100%}.reports-table th{color:var(--text-muted);background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:13px;font-weight:600}.reports-table td{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #eaedf2;padding:16px;font-size:14px}.reports-table tr:last-child td{border-bottom:none}.report-file-cell{align-items:center;gap:12px;display:flex}.pdf-icon-wrapper{color:#ef4444;flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-file-name{color:var(--text-dark);font-weight:500}.table-actions-cell{align-items:center;gap:14px;display:flex}.reports-table th.actions-header,.table-actions-cell{justify-content:flex-start}.action-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.action-icon-btn.view{color:var(--accent-blue)}.action-icon-btn.view:hover{background:var(--bg-blue-light)}.action-icon-btn.download{color:var(--text-muted)}.action-icon-btn.download:hover{color:var(--text-dark);background:#f1f5f9}.action-icon-btn.delete{color:#ef4444}.action-icon-btn.delete:hover{background:#fee2e2}.ai-summary-box{background:var(--bg-purple-light);border:1px solid var(--border-purple-light);border-radius:12px;align-items:flex-start;gap:16px;padding:20px;display:flex}.robot-icon-wrapper{color:#7c3aed;background:#f3ebff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ai-summary-text-block{flex-direction:column;gap:4px;display:flex}.ai-summary-title{color:var(--text-dark);font-size:14px;font-weight:500;line-height:1.4}.ai-summary-sub{color:var(--text-muted);font-size:13px;line-height:1.4}.diagnosis-grid{grid-template-columns:1fr 1fr 240px;gap:20px;margin-bottom:20px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{color:var(--text-dark);font-size:13px;font-weight:600}.form-field textarea{height:100px;color:var(--text-main);resize:none;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:14px;transition:all .2s}.form-field textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2563eb1a}.date-input-container{align-items:center;display:flex;position:relative}.date-input-container input[type=date]{width:100%;height:48px;color:var(--text-main);box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:0 16px;font-family:inherit;font-size:14px}.date-input-container input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.date-input-container input[type=date]:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2563eb1a}.diagnosis-footer-actions{justify-content:flex-end;display:flex}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=1100px){.apmt-layout{grid-template-columns:1fr}.apmt-left-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}}@media (width<=768px){.apmt-container{gap:16px;padding:16px}.apmt-left-col{grid-template-columns:1fr;gap:16px}.apmt-right-col{gap:16px}.apmt-card{padding:16px}.diagnosis-grid{grid-template-columns:1fr;gap:16px}.recording-footer-actions{flex-direction:column;align-items:stretch;gap:10px}.recording-footer-actions button{justify-content:center;width:100%}.apmt-header{text-align:center;flex-direction:column;align-items:center;gap:10px}.apmt-back-link{justify-content:center}.apmt-page-title{text-align:center;font-size:20px}.apmt-header-right{justify-content:center;gap:12px;width:100%}.reports-table-wrapper{background:0 0;border:none}.reports-table,.reports-table thead,.reports-table tbody,.reports-table tr,.reports-table td{width:100%;display:block}.reports-table thead{display:none}.reports-table tr{border:1px solid var(--card-border);background:#f8fafc;border-radius:12px;margin-bottom:12px;padding:12px}.reports-table td{text-align:right;border:none;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.reports-table td:last-child{border-bottom:none;padding-bottom:0}.reports-table td:before{content:attr(data-label);color:var(--text-muted);text-align:left;font-size:13px;font-weight:600}.table-actions-cell{justify-content:flex-end;gap:10px;width:100%}}@media (width<=576px){.apmt-card-header{flex-direction:column;align-items:flex-start;gap:10px}.apmt-card-header .apmt-card-btn,.apmt-card-header .apmt-card-edit{justify-content:center;width:100%}.recording-item{flex-direction:column;align-items:stretch;gap:12px}.recording-item-right{border-top:1px dashed #e2e8f0;justify-content:space-between;width:100%;padding-top:10px}}@media (width<=480px){.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-value{text-align:left;max-width:100%;padding-left:26px}.status-badge{margin-left:26px}}.audio-dropdown-menu{border:1px solid var(--card-border);z-index:10;background:#fff;border-radius:8px;flex-direction:column;min-width:110px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000014}.audio-dropdown-item{width:100%;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background-color .2s;display:flex}.audio-dropdown-item:hover{background-color:#f1f5f9}.audio-dropdown-item.delete-action{color:#ef4444}.audio-dropdown-item.delete-action:hover{background-color:#fef2f2}.record-btn{background:var(--card-bg);border:2px solid var(--accent-blue);width:40px;height:40px;color:var(--accent-blue);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible;box-shadow:0 2px 8px #2563eb1a}.record-btn:hover{background:var(--accent-blue);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb33}.record-btn:active{transform:translateY(0)}.record-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--border-color);color:var(--text-muted);box-shadow:none}.record-btn.recording{color:#fff;background:#ef4444;border-color:#ef4444;animation:2s infinite pulse-red;box-shadow:0 0 #ef4444b3}.record-btn.recording:hover{background:#dc2626;border-color:#dc2626}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.extraction-badge{letter-spacing:.02em;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.extraction-badge--progress{color:#2563eb;background:#2563eb17;border:1px solid #2563eb40}.extraction-badge--done{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e4d}.summary-populated-card{background:linear-gradient(135deg,#fff 0%,#faf8ff 100%);border:1px solid #e5dbff}.summary-risk-badge{text-transform:capitalize;letter-spacing:.02em;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.summary-risk-badge.risk-low{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e4d}.summary-risk-badge.risk-moderate{color:#d97706;background:#f59e0b1a;border:1px solid #f59e0b4d}.summary-risk-badge.risk-high{color:#dc2626;background:#ef44441a;border:1px solid #ef44444d}.summary-overview-box{background:var(--bg-purple-light);border:1px solid var(--border-purple-light);border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:24px;padding:16px 20px;display:flex}.summary-overview-icon{color:#7c3aed;flex-shrink:0;margin-top:2px}.summary-overview-text{color:var(--text-main);margin:0;font-size:14px;line-height:1.6}.summary-details-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.summary-detail-item{background:#f8fafc;border:1px solid #eaedf2;border-radius:12px;padding:16px}.summary-detail-item.summary-detail-full{grid-column:1/-1}.summary-detail-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.summary-detail-header svg{color:#7c3aed;flex-shrink:0}.summary-detail-content{color:var(--text-dark);margin:0;font-size:14px;line-height:1.5}.summary-tag-list{flex-wrap:wrap;gap:8px;display:flex}.summary-tag{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;line-height:1.4;display:inline-block}.summary-tag.tag-symptom{color:#dc2626;background:#ef444414;border:1px solid #ef444433}.summary-tag.tag-observation{color:#2563eb;background:#2563eb14;border:1px solid #2563eb33}.summary-tag.tag-medication{color:#059669;background:#10b98114;border:1px solid #10b98133}.summary-findings-list{color:var(--text-main);margin:0;padding-left:20px;font-size:14px;line-height:1.7;list-style:outside}.summary-findings-list li{margin-bottom:4px}.summary-findings-list li:last-child{margin-bottom:0}.diagnosis-display-grid{grid-template-columns:1fr 1fr 240px;gap:20px;display:grid}.diagnosis-display-item{flex-direction:column;gap:6px;display:flex}.diagnosis-display-item label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.diagnosis-display-item p{color:var(--text-dark);background:#f8fafc;border:1px solid #eaedf2;border-radius:10px;min-height:44px;margin:0;padding:12px;font-size:14px;line-height:1.5}@media (width<=768px){.summary-details-grid{grid-template-columns:1fr}.diagnosis-display-grid{grid-template-columns:1fr;gap:16px}}.summary-header-actions{align-items:center;gap:10px;display:flex}.summary-delete-btn{color:#ef4444;background:0 0;border:1px solid #ef44444d;border-radius:8px;padding:6px 12px;font-size:13px;transition:all .2s}.summary-delete-btn:hover{background:#ef444414;border-color:#ef4444}.summary-delete-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.summary-skeleton-box{pointer-events:none}.summary-skeleton-btn,.summary-skeleton-icon,.summary-skeleton-line{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/800px 100%;border-radius:8px;animation:1.4s linear infinite shimmer}.summary-skeleton-btn{width:90px;height:34px}.summary-skeleton-icon{border-radius:10px;flex-shrink:0;width:44px;height:44px}.summary-skeleton-lines{flex-direction:column;flex:1;gap:10px;display:flex}.summary-skeleton-line{border-radius:6px;height:14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Arimo,Arial,sans-serif}
