.app-shell{min-height:100vh;display:flex;background:#f5f7fb}.app-main{flex:1;min-width:0;margin-left:var(--sidebar-w);min-height:100vh}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.app-content{padding:28px;max-width:1600px;margin:0 auto;width:100%}.list-search{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:min(100%,720px);margin:0 0 20px;padding:12px 14px;color:var(--ink-500);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0a2f6b0a}.list-search:focus-within{border-color:var(--navy-600);box-shadow:0 0 0 3px #1553b81f}.list-search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;flex:1 1 240px;min-width:0}.list-search-field>svg{flex:0 0 auto}.list-search input{width:100%;min-width:0;min-height:44px;padding:8px 0;color:var(--ink-900);background:transparent;border:0;outline:0;font:inherit}.list-sort{position:relative;flex:0 0 160px}.list-sort select{width:100%;min-height:44px;padding:0 38px 0 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,#f7f9fc);color:var(--ink-800);font:inherit;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.list-sort select:focus{border-color:var(--navy-600);outline:0;box-shadow:0 0 0 3px #1553b81f}.list-search-status{grid-column:1 / -1;margin:-4px 0 10px;color:var(--ink-500);font-size:.85rem}.list-search-status[hidden],#main-content [data-search-group][hidden],#main-content [data-search-item][hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar-backdrop{display:none}@media(max-width:991px){.app-main{margin-left:0}.app-content{padding:20px}.topbar{padding:0 20px}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:999}.sidebar.open~.sidebar-backdrop{display:block}}:root{--navy-900: #071f4a;--navy-800: #0a2f6b;--navy-700: #0a3d8f;--navy-600: #1553b8;--blue-100: #e6eefb;--blue-50: #f3f7fd;--red-600: #d91e25;--red-700: #b8141a;--red-50: #fdecec;--gold-400: #e8c46a;--green-600:#15803d;--green-50: #e8f6ee;--amber-600:#b45309;--amber-50: #fef3e2;--ink-900: #14213d;--ink-700: #3b4a66;--ink-500: #6b7a95;--line: #dde6f3;--surface: #ffffff;--page: #f3f7fc;--radius: 14px;--radius-sm:10px;--shadow: 0 1px 2px rgba(10,47,107,.06), 0 6px 20px rgba(10,47,107,.06);--surface-muted: #f7f9fc;--line-strong: #cbd7e7;--focus-ring: rgba(21, 83, 184, .2);--shadow-card: 0 1px 2px rgba(10, 47, 107, .035), 0 8px 24px rgba(10, 47, 107, .055);--motion-fast: .16s ease;--sidebar-w: 280px;--font: "Poppins", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink-900);background:var(--page);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--navy-800);line-height:1.25;margin:0 0 .35rem}p{margin:0 0 .5rem;color:var(--ink-700)}a{color:var(--navy-600)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.text-muted{color:var(--ink-500)}:focus-visible{outline:3px solid rgba(21,83,184,.45);outline-offset:2px;border-radius:6px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-900) 100%);color:#fff;z-index:50;overflow-y:auto;border-right:4px solid var(--red-600);transition:transform .25s ease}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand .brand-icon{width:50px;height:50px;flex:none;background:#fff;border-radius:50%;padding:2px;box-shadow:0 0 0 3px #e8c46a8c;overflow:hidden}.sidebar-brand .brand-icon img,.sidebar-brand .brand-icon svg{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.sidebar-brand h1{color:#fff;font-size:1.2rem;margin:0;letter-spacing:.2px}.sidebar-brand span{color:#b8caee;font-size:.75rem;letter-spacing:.4px}.sidebar-navigation{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:3px}.nav-section{padding:16px 12px 6px}.nav-section--spacer{padding-top:14px}.nav-section span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#8fa8d6}.nav-link{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:#d6e2f8;text-decoration:none;font-size:.92rem;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:#ffffff24;color:#fff;font-weight:600}.nav-link.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--red-600)}.nav-link>span:first-child{display:inline-flex;flex:none}.nav-svg{width:20px;height:20px}.nav-quick-action{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0a;color:#edf4ff;text-decoration:none;font-size:.78rem;font-weight:700;transition:transform .15s ease,border-color .15s ease,background .15s ease}.nav-quick-action:hover{transform:translateY(-1px);border-color:#fff3;background:#ffffff14}.nav-quick-action.is-active{background:linear-gradient(90deg,#e211273d,#ffffff14);border-color:#ffffff47}.nav-quick-action span:first-child{display:inline-flex;flex:none}.nav-quick-action .nav-svg{width:17px;height:17px}.sidebar-bottom{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:10px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:#ffffff12}.sidebar-user-avatar{width:36px;height:36px;flex:none;border-radius:50%;background:var(--gold-400);color:var(--navy-900);display:grid;place-items:center;font-weight:800}.sidebar-user strong{display:block;color:#fff;font-size:.85rem;line-height:1.2}.sidebar-user small{display:block;color:#a9bde3;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.system-status{display:flex;align-items:center;gap:8px;font-size:.78rem;color:#a9bde3}.status-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px #3ddc8433}.logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--red-600);color:#fff;border:0;font:inherit;font-weight:600;cursor:pointer;transition:background .15s}.logout-button:hover{background:var(--red-700)}@media(max-width:991px){.sidebar{transform:translate(-100%);box-shadow:0 0 40px #00000059}.sidebar.open{z-index:1000;transform:translate(0)}body.sidebar-open{overflow:hidden}}.dashboard-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:24px}.card-body{padding:0}.card>.card-header{margin:-24px -24px 20px;padding:18px 24px;background:var(--blue-50);border-radius:var(--radius) var(--radius) 0 0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.card-header h2,.card-header h3{margin:0;font-size:1.15rem}.card-header p{margin:2px 0 0;color:var(--ink-500);font-size:.9rem}.card-header>a:not(.primary-button):not(.secondary-button):not(.btn){font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap;color:var(--navy-600);padding:8px 14px;border-radius:999px;background:var(--blue-100)}.card-header>a:not(.primary-button):not(.secondary-button):not(.btn):hover{background:#d3e2fa}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-header h1{font-size:1.5rem;margin:0}.primary-button,.secondary-button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);font:inherit;font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s,transform .05s,box-shadow .15s}.primary-button,.btn-primary{background:var(--navy-700);color:#fff}.primary-button:hover,.btn-primary:hover{background:var(--navy-800);box-shadow:0 4px 14px #0a3d8f4d}.secondary-button,.btn-secondary{background:#fff;color:var(--navy-700);border-color:#b9cbe8}.secondary-button:hover,.btn-secondary:hover{background:var(--blue-50);border-color:var(--navy-600)}.btn-danger{background:var(--red-600);color:#fff}.btn-danger:hover{background:var(--red-700)}.btn-sm{padding:6px 12px;font-size:.82rem}.primary-button:active,.secondary-button:active,.btn:active{transform:translateY(1px)}button:disabled,.primary-button[disabled]{opacity:.55;cursor:not-allowed}.badge{display:inline-block;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600}.badge-success{background:var(--green-50);color:var(--green-600)}.alert{padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:18px;border:1px solid}.alert ul{margin:6px 0 0;padding-left:20px}.alert p{color:inherit;margin:4px 0 0}.alert-success{background:var(--green-50);color:#14532d;border-color:#b7e3c8}.alert-danger{background:var(--red-50);color:#7f1d1d;border-color:#f5b5b7}.reminder-box{display:flex;gap:10px;align-items:center;background:var(--amber-50);color:#7a4a06;border:1px solid #f3d9a8;border-left:4px solid var(--amber-600);padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:22px}.form-section{border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;background:#fff}.form-section-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.form-section-head h4{margin:0;font-size:1.02rem}.form-section-head p{margin:0;font-size:.85rem;color:var(--ink-500)}.step-number{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--navy-700),var(--navy-600));box-shadow:0 0 0 4px var(--blue-100)}.form-group{margin-bottom:18px}.form-group:last-child{margin-bottom:0}.form-group>label,label.field-label{display:block;font-size:.88rem;font-weight:600;color:var(--ink-900);margin-bottom:6px}.form-group>label span{font-weight:400;color:var(--ink-500)}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}.form-group small{display:block;margin-top:6px;color:var(--ink-500);font-size:.8rem}.form-row,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-row .form-group,.form-grid .form-group{margin-bottom:0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],select,textarea{width:100%;padding:11px 14px;font:inherit;color:var(--ink-900);background:#fff;border:1.5px solid #c6d4ea;border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-600);box-shadow:0 0 0 4px #1553b826}input[readonly]{background:var(--blue-50);color:var(--ink-700);cursor:default}select:disabled{background:#eef2f8;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--navy-700)}.app-password-field{position:relative;display:flex;align-items:center}.app-password-field input{padding-right:48px}.app-password-toggle{position:absolute;top:50%;right:10px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--navy-700);cursor:pointer;transform:translateY(-50%)}.app-password-toggle:hover,.app-password-toggle:focus-visible{background:#1553b814;outline:none}.app-password-toggle svg{width:18px;height:18px}.app-password-toggle [data-password-icon=hide]{display:none}.center-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--blue-50);border:1.5px solid #c6d4ea}.center-card input{border:0;background:transparent;padding:4px 0;font-weight:600;box-shadow:none}.center-icon{font-size:1.5rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:8px}.schedule-summary,.preview-panel{background:var(--blue-50);border:1px dashed #9db8e0;border-radius:var(--radius-sm);padding:14px 16px}.schedule-summary__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.schedule-summary__header strong{color:var(--navy-800);font-size:.95rem}.schedule-summary__badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--green-50);color:var(--green-700);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.schedule-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.schedule-summary__grid>div{display:grid;gap:4px;padding:12px 14px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line)}.schedule-summary__grid span{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500)}.schedule-summary__grid strong{color:var(--ink-900);font-size:.94rem;font-weight:600}.preview-panel ul{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow-y:auto}.preview-panel li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.82rem}.intake-section{margin-bottom:8px}.intake-section>h3{font-size:1.05rem;margin-bottom:14px}.appointments-list,.medical-records-list{display:grid;gap:16px}.appointment-preview{display:flex;gap:18px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-left:4px solid var(--navy-700);border-radius:var(--radius);background:#fff;transition:box-shadow .15s}.appointment-preview:hover{box-shadow:var(--shadow)}.appointment-date{flex:none;width:66px;text-align:center;overflow:hidden;border-radius:12px;background:var(--blue-100);border:1px solid #c8d9f3}.appointment-date strong{display:block;background:var(--red-600);color:#fff;font-size:.72rem;letter-spacing:1px;text-transform:uppercase;padding:4px 0}.appointment-date span{display:block;font-size:1.55rem;font-weight:800;color:var(--navy-800);padding:6px 0 8px;line-height:1}.appointment-details{flex:1;min-width:0}.appointment-details h4{font-size:1.05rem}.appointment-details p{margin-bottom:4px;font-size:.92rem;overflow-wrap:anywhere}.doctor-profile-line,.doctor-service-line{display:flex;align-items:center;gap:6px}.doctor-service-line{color:var(--navy-700);font-weight:600}.appointment-status,.status-badge{display:inline-flex;align-items:center;margin-top:8px;padding:5px 12px;border:1px solid rgba(19,78,154,.12);border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;background:var(--blue-100);color:var(--navy-700);line-height:1.25}.status-pending{background:var(--amber-50);color:var(--amber-600)}.status-confirmed,.status-approved,.status-scheduled{background:var(--blue-100);color:var(--navy-700)}.status-completed,.status-active,.status-dispensed{background:var(--green-50);color:var(--green-600)}.status-cancelled,.status-canceled,.status-rejected,.status-no_show{background:var(--red-50);color:var(--red-700)}.status-inactive,.status-unknown{background:#eef1f5;color:#536176}.prescription-status-active,.prescription-status-dispensed,.prescription-status-completed{background:var(--green-50);color:var(--green-600)}.prescription-status-pending{background:var(--amber-50);color:var(--amber-600)}.prescription-status-cancelled{background:var(--red-50);color:var(--red-700)}.prescription-details{margin-top:12px;padding:14px 16px;background:var(--blue-50);border-radius:var(--radius-sm);border:1px solid var(--line)}.medicine-item{margin-top:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--red-600);border-radius:var(--radius-sm)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 18px}.empty-state{text-align:center;padding:40px 20px}.empty-icon,.empty-state-icon{width:76px;height:76px;margin:0 auto 14px;display:grid;place-items:center;font-size:2rem;border-radius:50%;background:var(--blue-100)}.empty-state h3,.empty-state h4{margin-bottom:4px}.empty-state p{max-width:420px;margin:0 auto 16px;color:var(--ink-500)}.table-responsive{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}.data-table th{text-align:left;padding:12px 16px;background:var(--navy-800);color:#fff;font-size:.76rem;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.data-table td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}.data-table tbody tr:nth-child(2n){background:var(--blue-50)}.data-table tbody tr:hover{background:#e9f1fc}.pill{display:inline-block;min-width:34px;text-align:center;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.82rem}.pill--green{background:var(--green-50);color:var(--green-600)}.pill--red{background:var(--red-50);color:var(--red-700)}.consultation-list,.patient-list{display:grid;gap:16px}.consultation-list-card,.patient-card{display:flex;gap:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:box-shadow .15s}.consultation-list-card:hover,.patient-card:hover{box-shadow:var(--shadow)}.patient-card{align-items:center}.consultation-list-date{flex:none;width:66px;text-align:center;border-radius:12px;background:var(--blue-100);overflow:hidden;align-self:flex-start}.consultation-list-date strong{display:block;background:var(--red-600);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;padding:4px 0}.consultation-list-date span{display:block;font-size:1.55rem;font-weight:800;color:var(--navy-800);padding:6px 0 8px;line-height:1}.consultation-list-content{flex:1;min-width:0}.consultation-list-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.consultation-list-header h4{margin:0}.consultation-list-label,.profile-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:1.2px;color:var(--ink-500)}.consultation-list-information,.consultation-patient-information,.staff-prescription-information,.staff-medicine-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.consultation-list-information span,.consultation-info-item span,.staff-prescription-information span,.staff-medicine-details span,.consultation-information span,.staff-medicine-instructions span{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500);margin-bottom:2px}.consultation-list-information strong,.consultation-info-item strong,.staff-prescription-information strong,.staff-medicine-details strong{color:var(--ink-900);font-weight:600;font-size:.92rem}.consultation-list-action{margin-top:14px}.patient-avatar,.consultation-patient-avatar{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;background:var(--blue-100);border:2px solid #c8d9f3}.patient-information{flex:1;min-width:0}.patient-information h4{margin:0 0 4px}.patient-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.86rem;color:var(--ink-700)}.consultation-details-page{display:grid;gap:22px}.consultation-patient-header{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--radius);background:linear-gradient(135deg,var(--blue-100),#fff);border:1px solid var(--line)}.consultation-patient-avatar{width:64px;height:64px;font-size:1.9rem;background:#fff}.consultation-patient-name h2{margin:0;font-size:1.3rem}.consultation-patient-name p{margin:0}.consultation-info-item{padding:12px 14px;background:var(--blue-50);border-radius:var(--radius-sm);border:1px solid var(--line)}.medical-section{border:1px solid var(--line);border-radius:var(--radius);padding:20px}.medical-section-header{display:flex;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.medical-section-header h3{margin:0}.medical-section-header p{margin:0;font-size:.85rem;color:var(--ink-500)}.medical-section-icon,.medicine-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;background:var(--blue-100)}.prescription-section-icon,.medicine-icon{background:var(--red-50)}.consultation-information{display:grid;gap:14px}.consultation-information>div{padding:12px 14px;background:var(--blue-50);border-radius:var(--radius-sm)}.consultation-information p{margin:0;color:var(--ink-900)}.consultation-notes{border-left:3px solid var(--gold-400);background:#fffaf0!important}.staff-prescription-list{display:grid;gap:16px}.staff-prescription-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff}.staff-prescription-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.staff-prescription-header h4{margin:0}.prescribed-medicines{margin-top:16px}.prescribed-medicines-title{font-weight:700;color:var(--navy-800);margin-bottom:10px;font-size:.9rem;text-transform:uppercase;letter-spacing:.6px}.staff-medicine-card{padding:14px;border:1px solid var(--line);border-left:3px solid var(--red-600);border-radius:var(--radius-sm);margin-bottom:10px}.staff-medicine-main{display:flex;gap:12px;align-items:center;margin-bottom:12px}.staff-medicine-main h4,.staff-medicine-main p{margin:0}.staff-medicine-instructions{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.consultation-details-footer{display:flex;justify-content:flex-end}.welcome-banner{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 32px 104px;margin-bottom:24px;border-radius:var(--radius);background:linear-gradient(135deg,#f4f8fe,#dfeafc 46%,#e9f2ff);border:1px solid var(--line);box-shadow:var(--shadow-card)}.welcome-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(217,30,37,.08),transparent 35%);z-index:0}.welcome-banner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:var(--ek-wave-banner) center bottom / 100% 240% no-repeat;opacity:.9;pointer-events:none}.welcome-banner>div:first-child{position:relative;z-index:1;max-width:640px}.welcome-label{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--red-700);background:#ffffffe6;padding:4px 12px;border-radius:999px;margin-bottom:10px;border:1px solid rgba(217,30,37,.1)}.welcome-banner h1{font-size:clamp(1.5rem,2vw,2.3rem);line-height:1.2;margin-bottom:8px;color:var(--navy-800)}.welcome-banner p{color:var(--ink-700);margin:0;max-width:42rem}.welcome-icon{position:relative;z-index:1;flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:2.4rem;background:#ffffffd1;border:1px solid rgba(21,83,184,.12);box-shadow:0 0 0 8px #ffffff80,var(--shadow)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:24px}.stat-card{position:relative;display:flex;gap:16px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);border-top:4px solid var(--navy-700);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.doctor-dashboard .stats-grid{margin-top:8px}.doctor-dashboard .stat-card{border-top-color:#0d6ecb;background:linear-gradient(180deg,#fff,#f9fbff)}.doctor-dashboard .stat-card .stat-icon{background:linear-gradient(135deg,#0d6ecb1f,#0f4ca00d);border:1px solid rgba(13,110,203,.12)}.doctor-dashboard .dashboard-card{background:linear-gradient(180deg,#fff,#f9fbff)}.doctor-dashboard .appointment-preview{border-left-color:#0d6ecb;background:linear-gradient(180deg,#fff,#fbfdff)}.doctor-dashboard .quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doctor-dashboard .quick-action{display:grid;gap:8px;align-items:center;justify-items:start;padding:16px 18px;border:1px solid #dfeaf5;border-radius:14px;background:linear-gradient(180deg,#fff,#f3f8ff);color:var(--navy-800);box-shadow:0 8px 20px #0c35740a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.doctor-dashboard .quick-action:hover{transform:translateY(-2px);border-color:#b7d0ef;box-shadow:0 16px 28px #0d377014}.doctor-dashboard .quick-action span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#0d6ecb24,#277bff0a);font-size:1.4rem}.doctor-dashboard .quick-action strong{color:var(--navy-800);font-size:.96rem}.doctor-dashboard .quick-action small{color:var(--ink-500);font-size:.77rem}.doctor-dashboard .dashboard-card .card-header a,.doctor-prescriptions-page .card-header a,.patient-profile-page .card-header a{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid rgba(17,63,126,.12);border-radius:999px;background:#f4f8ff;color:var(--navy-700);font-size:.78rem;font-weight:700;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.doctor-dashboard .dashboard-card .card-header a:hover,.doctor-prescriptions-page .card-header a:hover,.patient-profile-page .card-header a:hover{background:#eaf2ff;border-color:#113f7e2e;transform:translateY(-1px)}.doctor-dashboard .empty-state{border:1px solid #edf2fa;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#fff)}.doctor-dashboard .empty-state .primary-button{min-height:42px;padding:0 18px;border-radius:10px}.doctor-dashboard .welcome-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px 28px 36px}.doctor-dashboard .welcome-banner>div:first-child{max-width:none}.doctor-dashboard .welcome-banner .welcome-icon{width:74px;height:74px;margin-left:auto;box-shadow:0 0 0 8px #ffffff85}.doctor-dashboard .welcome-banner .doctor-welcome-actions{position:relative;z-index:1;grid-column:1 / -1;justify-self:start;margin-top:8px}.doctor-dashboard .welcome-banner .doctor-welcome-actions .primary-button{min-height:48px;padding:0 22px;border-radius:12px;font-weight:700;box-shadow:0 12px 24px #0f3c8e24}.doctor-dashboard .welcome-banner:after{height:36px;opacity:.55}.form-group select,.form-group textarea,.form-group input,.form-group .center-card input{max-width:100%}.form-group select{font-size:.95rem}.form-section-head{margin-bottom:10px}.schedule-summary__grid{gap:12px}@media(max-width:640px){.doctor-dashboard .welcome-banner{grid-template-columns:1fr;padding:22px 18px 26px;gap:14px}.doctor-dashboard .welcome-banner .welcome-icon{margin-left:0;width:62px;height:62px;font-size:1.9rem}.doctor-dashboard .doctor-welcome-actions{width:100%}.doctor-dashboard .doctor-welcome-actions .primary-button,.form-actions .primary-button,.form-actions .secondary-button{width:100%;justify-content:center}.doctor-dashboard .quick-actions{grid-template-columns:1fr}.doctor-dashboard .appointment-preview{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 12px 14px}.doctor-dashboard .appointment-date{min-height:72px}.schedule-summary__grid{grid-template-columns:1fr 1fr}}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0a2f6b14;border-color:var(--line-strong)}.stat-card:nth-child(2){border-top-color:var(--red-600)}.stat-card:nth-child(3){border-top-color:var(--gold-400)}.stat-card:nth-child(4){border-top-color:var(--green-600)}.stat-card:nth-child(5){border-top-color:var(--navy-600)}.stat-card:nth-child(6){border-top-color:var(--amber-600)}.stat-icon{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg,var(--blue-100),#ffffff);border:1px solid rgba(21,83,184,.08)}.stat-information{display:grid}.stat-label{font-size:.78rem;font-weight:700;color:var(--ink-500);text-transform:uppercase;letter-spacing:.55px}.stat-value{font-size:clamp(1.6rem,2vw,2rem);font-weight:800;color:var(--navy-800);line-height:1.1}.stat-information small{color:var(--ink-500);font-size:.8rem}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}.dashboard-grid--even{grid-template-columns:1fr 1fr}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#f9fbff,var(--blue-50));text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--navy-600);background:#fff}.quick-action span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:1.4rem;background:#fff;border:1px solid rgba(21,83,184,.12);box-shadow:inset 0 1px #ffffffe6}.quick-action strong{color:var(--navy-800);font-size:.96rem}.quick-action small{color:var(--ink-500);font-size:.78rem}.doctor-appointments-list{display:grid;gap:18px}.doctor-appointment-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:var(--shadow-card)}.doctor-appointment-card:hover{border-color:var(--navy-600);box-shadow:0 14px 28px #0a2f6b14}.doctor-appointment-date{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%;border-radius:16px;background:linear-gradient(180deg,var(--blue-100),#eef5ff);border:1px solid rgba(21,83,184,.12);text-align:center;overflow:hidden}.doctor-appointment-date strong{display:block;width:100%;padding:8px 0;background:var(--red-600);color:#fff;font-size:.72rem;letter-spacing:1px;text-transform:uppercase}.doctor-appointment-date>span{display:block;width:100%;padding:12px 0 10px;font-size:1.7rem;font-weight:800;color:var(--navy-800)}.doctor-appointment-content{display:grid;gap:14px}.doctor-appointment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.doctor-appointment-header h4{margin:0;font-size:1.15rem}.doctor-appointment-header p{margin:2px 0 0;color:var(--ink-500)}.doctor-appointment-label{display:inline-block;margin-bottom:6px;color:var(--red-700);font-size:.68rem;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.doctor-appointment-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.doctor-appointment-information>div{padding:12px 14px;border-radius:var(--radius-sm);background:var(--blue-50);border:1px solid var(--line)}.doctor-appointment-information span{display:block;margin-bottom:4px;color:var(--ink-500);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.doctor-appointment-information strong{color:var(--ink-900);font-weight:600}.doctor-appointment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.doctor-appointment-actions>*{flex:0 0 auto}.consult-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px;align-items:start}.consultation-create-page .patient-panel,.patient-panel{position:sticky;top:24px;display:grid;gap:14px;padding:20px;border-radius:var(--radius);background:linear-gradient(180deg,#f6f9ff,#edf4ff);border:1px solid var(--line);box-shadow:var(--shadow-card)}.consultation-create-page .patient-panel-head,.patient-panel-head{display:flex;gap:14px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--line)}.consultation-create-page .patient-panel-head>div:last-child,.patient-panel-head>div:last-child{display:grid;min-width:0}.consultation-create-page .patient-panel-head>div:last-child>strong,.patient-panel-head>div:last-child>strong{font-size:1.05rem;color:var(--navy-800)}.consultation-create-page .patient-panel-head small,.patient-panel-head small{color:var(--ink-500)}.patient-fact{display:grid;gap:5px;padding:12px 14px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line)}.patient-fact span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500)}.patient-fact strong{color:var(--ink-900)}.prescription-context-grid{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;margin-bottom:20px}.prescription-patient-summary,.prescription-consultation-summary{display:grid;gap:12px;padding:18px;background:var(--blue-50);border:1px solid var(--line);border-radius:var(--radius)}.prescription-patient-summary h4,.prescription-consultation-summary h4{margin:0 0 4px;font-size:1rem;color:var(--navy-800)}.prescription-patient-summary p,.prescription-consultation-summary p{margin:0}.prescription-form-section{padding:20px}.prescription-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.prescription-wide-field{grid-column:1 / -1}.prescription-form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px}.prescription-detail-page .card-header{align-items:flex-start}.prescription-detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.prescription-entry-form,.intake-form{display:grid;gap:18px}.intake-form>hr{margin:0}.intake-form .intake-section{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-card)}.intake-form .intake-section>h3{margin:0 0 16px;font-size:1.02rem;color:var(--navy-800)}.intake-form .form-grid{gap:18px}.intake-patient-summary .appointment-details{display:grid;gap:10px;padding:18px;border-radius:var(--radius);background:var(--blue-50);border:1px solid var(--line)}@media(max-width:991px){.doctor-appointment-card{grid-template-columns:70px minmax(0,1fr)}.consult-layout,.prescription-context-grid,.prescription-form-grid{grid-template-columns:1fr}.patient-panel{position:static}.prescription-detail-actions{justify-content:flex-start}}@media(max-width:640px){.doctor-appointment-card{grid-template-columns:1fr;padding:16px}.doctor-appointment-date{min-height:0}.doctor-appointment-header{flex-direction:column}.doctor-appointment-information{grid-template-columns:1fr}.intake-form .intake-section{padding:16px}.prescription-form-actions{justify-content:stretch}.prescription-form-actions>*{flex:1 1 100%}}.info-panel,.insight-box{display:grid;gap:12px;padding:18px;border-radius:var(--radius);background:var(--blue-50);border:1px solid var(--line)}.info-panel strong,.insight-box strong{color:var(--navy-800)}.info-panel p,.insight-box p{margin:0;color:var(--ink-700)}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#1553b814;color:var(--navy-700);font-size:.76rem;font-weight:700}.status-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.75}.info-list{display:grid;gap:12px}.info-item{display:flex;gap:12px;align-items:flex-start;padding:12px;background:var(--blue-50);border-radius:var(--radius-sm)}.info-icon{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}.info-item strong{color:var(--navy-800)}.info-item p{margin:0;font-size:.86rem}.health-reminder{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border:0;border-left:6px solid var(--red-600)}.health-reminder h3{color:#fff}.health-reminder p{color:#d6e2f8;margin:0}.reminder-icon{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;background:#ffffff24}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.auth-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding:48px 56px;background:#fbfdff var(--ek-hero-image) center center / cover no-repeat}.auth-hero-brand{display:flex;align-items:center;gap:14px}.auth-hero-brand img{width:72px;height:72px;border-radius:50%;box-shadow:0 0 0 3px var(--gold-400),var(--shadow);background:#fff}.auth-hero-brand strong{display:block;color:var(--navy-800);font-size:1.35rem}.auth-hero-brand span{color:var(--ink-500);font-size:.85rem}.auth-hero h2{margin-top:36px;font-size:2.1rem;max-width:460px;color:var(--navy-800)}.auth-hero h2 em{font-style:normal;color:var(--red-600)}.auth-hero p{max-width:440px;font-size:1.02rem}.auth-panel{display:grid;place-items:center;padding:40px 24px;background:var(--page)}.auth-card{width:100%;max-width:440px;background:#fff;padding:36px 32px;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 40px #0a2f6b1f;border-top:5px solid var(--navy-700)}.auth-card-logo{display:none}.auth-card h1{font-size:1.6rem;margin-bottom:4px}.auth-card>p{color:var(--ink-500);margin-bottom:24px}.auth-field{margin-bottom:18px}.auth-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}.auth-error{color:var(--red-700);font-size:.82rem;margin-top:6px}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;font-size:.88rem}.auth-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.auth-card .primary-button{width:100%;padding:12px;font-size:1rem}.auth-switch{text-align:center;margin:22px 0 0;font-size:.9rem}.auth-switch a{font-weight:700}.auth-foot{text-align:center;margin-top:18px;font-size:.76rem;color:var(--ink-500)}@media(max-width:1100px){.dashboard-grid,.dashboard-grid--even{grid-template-columns:1fr}.welcome-banner{padding-bottom:96px}}@media(max-width:991px){.auth-page{grid-template-columns:1fr}.auth-hero{display:none}.auth-card-logo{display:block;width:64px;height:64px;border-radius:50%;margin:0 auto 14px;box-shadow:0 0 0 3px var(--gold-400)}.auth-card{text-align:left}.welcome-banner{flex-direction:column;align-items:flex-start}.welcome-icon{width:68px;height:68px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.dashboard-card,.card{padding:16px}.form-row,.form-grid,.quick-actions{grid-template-columns:1fr}.appointment-preview,.consultation-list-card,.patient-card{flex-direction:column}.patient-card{align-items:stretch}.welcome-banner{padding:22px 20px 92px}.welcome-banner h1{font-size:1.45rem}.welcome-icon{display:none}.form-actions>*{flex:1}.card-header>a{align-self:flex-start}.health-reminder{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px 18px}}.auth-page{position:relative;min-height:100vh;min-height:100dvh;width:100%;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background-image:var(--ek-hero-image);background-position:center center;background-size:cover;background-repeat:no-repeat}.auth-page:before{content:"";position:absolute;inset:0;background:#0023462e;z-index:0}.auth-hero{position:relative;z-index:1;background:transparent!important;display:flex;flex-direction:column;justify-content:flex-start;padding:48px 56px}.auth-panel{position:relative;z-index:1;background:transparent!important;display:grid;place-items:center;padding:40px 50px}.auth-card{width:100%;max-width:440px;background:#ffffffe0!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.65);border-radius:22px;box-shadow:0 25px 60px #00000038,0 8px 25px #0000001f;padding:36px 32px}.auth-page .auth-panel,.auth-page .auth-hero{background-color:transparent!important}@media(max-width:991px){.auth-page{display:block;background-position:center center}.auth-hero{display:none}.auth-panel{min-height:100vh;min-height:100dvh;padding:24px 18px}.auth-card{max-width:440px}}.schedule-create-action{display:inline-flex;align-items:center;justify-content:center;gap:8px}.schedule-create-action>span{font-size:1.25rem;font-weight:500;line-height:1}.schedule-list-card{overflow:hidden;border:1px solid #e2e9f2;border-radius:16px;background:#fff;box-shadow:0 8px 26px #132f520b}.schedule-list-card>.card-header{padding:20px 22px;border-bottom:1px solid #e9eef5;background:#fbfcfe}.schedule-list-card>.card-header h2{margin:0;color:var(--navy-900);font-size:1.08rem}.schedule-list-card>.card-header p{margin:5px 0 0;color:#687b90;font-size:.87rem}.schedule-list-card>.card-body{display:grid;gap:17px;padding:clamp(14px,2.5vw,22px)}.schedule-list-guidance{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid #dce7f4;border-radius:11px;background:#f5f9fe}.schedule-guidance-icon{display:grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border-radius:50%;background:#dfeafa;color:var(--navy-700);font-size:.78rem;font-weight:800}.schedule-list-guidance p{margin:0;color:#52677f;font-size:.85rem;line-height:1.5}.schedule-list-guidance strong{color:var(--navy-800)}.schedule-list-card .list-search{margin:0}.schedule-groups{display:grid;gap:25px}.schedule-group{display:grid;gap:12px;min-width:0}.schedule-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e7edf4}.schedule-group-heading h3{margin:0;color:var(--navy-900);font-size:.98rem}.schedule-group-heading p{margin:3px 0 0;color:#718397;font-size:.8rem}.schedule-group-heading>span{display:grid;min-width:30px;min-height:30px;place-items:center;padding:0 8px;border:1px solid #dce6f2;border-radius:999px;background:#f4f8fd;color:var(--navy-700);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.schedule-card-details{display:grid;gap:3px;margin-top:7px;color:#576c83;font-size:.8rem;line-height:1.4}.schedule-card-details strong{color:#718397;font-size:.69rem;letter-spacing:.035em;text-transform:uppercase}.schedule-card .schedule-card-heading{align-items:center}.schedule-card .schedule-availability{max-width:150px;justify-content:center;text-align:center;line-height:1.3}.schedule-card .schedule-availability.is-past{background:#eef1f5;color:#657386}.schedule-card-past{background:#fafbfd;border-color:#e8edf3}.schedule-card-past .schedule-card-date{background:#f0f2f5}.schedule-card-past .schedule-card-date strong,.schedule-card-past .schedule-card-heading h3{color:#58687a}.schedule-card-past .schedule-capacity-track>span{background:#98a6b8}.schedule-delete-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#a3383b;font:inherit;font-size:.81rem;font-weight:600;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.schedule-delete-button svg,.schedule-protected-label svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.schedule-delete-button:hover{border-color:#f0d1d1;background:#fff5f5;color:#8d252a}.schedule-delete-button:focus-visible{outline:3px solid rgba(217,30,37,.2);outline-offset:2px}.schedule-protected-label{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;color:#64758a;font-size:.76rem;line-height:1.4;white-space:normal}.schedule-protected-label svg{color:#718397}@media(max-width:760px){.schedule-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-overview>div:last-child{grid-column:1 / -1}.schedule-card{grid-template-columns:58px minmax(0,1fr)}.schedule-card-action{grid-column:2;justify-self:start}}@media(max-width:480px){.schedule-list-card>.card-header{padding:16px}.schedule-card{align-items:start;gap:10px;padding:12px}.schedule-card-main{gap:9px}.schedule-card .schedule-card-heading{align-items:flex-start}.schedule-card .schedule-availability{align-self:flex-start}.schedule-card-action,.schedule-card-action form{width:100%}.schedule-card-action .schedule-delete-button{width:100%;justify-content:flex-start;padding-left:10px}.schedule-protected-label{justify-content:flex-start;padding:8px 2px}}.ek-auth{position:relative;min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px;background-image:var(--ek-hero-image);background-position:center center;background-size:cover;background-repeat:no-repeat;overflow-y:auto}.ek-auth:before{content:"";position:fixed;inset:0;background:#0023462e;z-index:0}.ek-auth>*{position:relative;z-index:1}.ek-auth-brand{position:absolute;inset:0 auto 0 0;display:flex;width:min(38%,520px);align-items:center;overflow:hidden;padding:48px clamp(24px,4vw,64px);background:linear-gradient(155deg,#071f4af7,#0a3d8feb);color:#fff}.ek-brand-content{position:relative;z-index:1;max-width:360px}.ek-seal{display:block;width:76px;height:76px;margin-bottom:22px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.16))}.ek-wordmark{margin:0 0 12px;color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1}.ek-wordmark-red{color:#ffd5d5}.ek-brand-sub{max-width:340px;color:#dbe7fa;font-size:.95rem;line-height:1.7}.ek-tagline{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.ek-tagline span{padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;font-size:.75rem;font-weight:600}.ek-skyline{position:absolute;right:0;bottom:0;left:0;width:100%;height:200px;opacity:.72}.ek-auth-panel{width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin-left:min(38%,520px);display:grid;place-items:center;padding:40px}.ek-card{width:100%;max-width:500px;padding:38px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:#fff;box-shadow:0 24px 60px #071f4a2e}.ek-card--wide{max-width:none}.ek-auth form{width:100%}.ek-auth input,.ek-auth select,.ek-auth textarea{width:100%;box-sizing:border-box}.ek-auth label{display:block;margin-bottom:6px;font-weight:600}.ek-card h2{margin-bottom:8px;color:var(--navy-800);font-size:1.55rem}.ek-card-intro{margin-bottom:24px;color:var(--ink-500)}.ek-field{margin-bottom:18px}.ek-field label{display:block;margin-bottom:7px;color:var(--ink-900);font-weight:600}.ek-input--otp{text-align:center;font-size:1.35rem!important;font-weight:700;letter-spacing:.35em}.ek-btn{display:inline-flex;width:100%;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:var(--navy-700);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,box-shadow .15s}.ek-btn:hover{background:var(--navy-800);box-shadow:0 5px 14px #0a3d8f33}.ek-btn--ghost{border-color:var(--line);background:#fff;color:var(--navy-700)}.ek-btn--ghost:hover{background:var(--blue-50)}.ek-alert{margin-bottom:18px;padding:12px 14px;border:1px solid #f5b5b7;border-radius:10px;background:var(--red-50);color:var(--red-700)}.ek-alert--success{border-color:#b7e3c8;background:var(--green-50);color:var(--green-600)}.ek-alert p{margin:0;color:inherit}.ek-foot{margin:22px 0 0;text-align:center}.ek-link{color:var(--navy-600);font-weight:600;text-decoration:none}.ek-link:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:768px){.ek-auth{padding:20px 14px;align-items:center}.ek-auth-panel{min-height:0;margin-left:0;padding:20px 0}.ek-card{padding:28px 22px}.ek-auth-brand{display:none}}.user-menu{position:relative}.user-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:6px 8px;border-radius:12px;cursor:pointer;color:#172033}.user-trigger:hover{background:#f3f6fa}.user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-meta strong{font-size:14px;font-weight:700}.user-meta small{font-size:12px;color:#718096}.avatar{width:40px;height:40px;min-width:40px;border-radius:50%;display:grid;place-items:center;background:#0b4f8a;color:#fff;font-weight:700}.user-trigger .chevron{transition:transform .2s ease}.user-menu.open .chevron{transform:rotate(180deg)}.user-menu .dropdown{position:absolute;top:calc(100% + 10px);right:0;width:270px;background:#fff;border:1px solid #e5eaf0;border-radius:14px;box-shadow:0 18px 45px #0f172a29,0 4px 12px #0f172a14;padding:8px;display:none;z-index:1000}.user-menu.open .dropdown{display:block}.dropdown-head{padding:12px;border-bottom:1px solid #edf0f4;margin-bottom:5px}.dropdown-head strong{display:block;font-size:14px;color:#172033}.dropdown-head small{display:block;margin-top:4px;font-size:12px;color:#718096}.user-menu .dropdown a,.user-menu .dropdown button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#263548;font-size:14px;text-decoration:none;text-align:left;cursor:pointer}.user-menu .dropdown a:hover{background:#f3f7fb}.user-menu .dropdown .dropdown-danger{color:#c62828}.user-menu .dropdown .dropdown-danger:hover{background:#fff1f1}.register-page{min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px 5vw}.register-layout{width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(620px,1.1fr);gap:32px;align-items:center}.register-brand{color:#fff;width:100%;max-width:480px;padding:0}.register-brand-header{margin-bottom:25px}.register-brand-header img{width:62px;height:62px}.register-brand-name strong{font-size:26px}.register-brand h2{font-size:40px}.register-brand p{font-size:14px;line-height:1.55}.register-card{width:100%;background:#fffffff5;border:1px solid rgba(255,255,255,.75);border-radius:18px;padding:23px 26px;box-shadow:0 24px 55px #0003,0 5px 18px #00000014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.register-card-header{margin-bottom:17px}.register-card-logo{width:46px;height:46px}.register-card-header h1{font-size:22px}.register-card-header p{font-size:12px}.register-form{gap:12px}.register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.register-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.register-field label{margin-bottom:4px;font-size:11px}.register-field input,.register-field select{height:38px;font-size:12px;padding:0 10px}.register-field textarea{min-height:55px;font-size:12px;padding:8px 10px}.register-section{margin-top:2px}.register-section-badge{width:22px;height:22px;flex-basis:22px;font-size:10px}.register-section-text strong{font-size:12px}.register-section-text small{font-size:9px}.register-submit{height:42px;font-size:13px}.register-switch{margin-top:10px}.register-foot{margin-top:8px}.auth-page{grid-template-columns:1fr 1fr!important;padding:0!important;gap:0!important}.auth-hero{padding:40px 7vw!important;justify-content:center!important}.auth-hero-brand{margin-bottom:28px!important}.auth-hero h2{max-width:500px;margin-top:0!important}.auth-hero p{max-width:500px}.auth-panel{padding:35px 7vw 35px 4vw!important}.auth-card{max-width:460px!important;width:100%!important}.register-page{padding:24px 32px!important}.register-layout{width:100%!important;max-width:1180px!important;margin:0 auto!important;grid-template-columns:.85fr 1.15fr!important;gap:32px!important}.register-brand{width:100%!important;max-width:470px!important;justify-self:end!important}.register-panel{width:100%!important;max-width:680px!important;justify-self:start!important}.register-card{width:100%!important;max-width:680px!important;padding:30px 32px!important;border-radius:20px!important}.register-card input,.register-card select,.register-card textarea{min-height:46px!important;font-size:14px!important}.register-card label{font-size:13px!important;margin-bottom:6px!important}.register-card .form-grid,.register-card .register-grid,.register-card .field-grid{gap:14px!important}@media(max-width:900px){.register-page{padding:20px 16px!important}.register-layout{grid-template-columns:1fr!important;gap:20px!important;max-width:680px!important}.register-brand,.register-panel,.register-card{max-width:680px!important;justify-self:center!important}}.admin-health-center-services-section{margin-top:28px;padding-top:24px;border-top:1px solid #e5e7eb}.admin-health-center-services-heading h4{margin:0;font-size:18px}.admin-health-center-services-heading p{margin:5px 0 18px;color:#6b7280;font-size:13px}.admin-health-center-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-health-center-service-option{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;background:#fff;transition:.2s ease}.admin-health-center-service-option:hover{border-color:#9ca3af}.admin-health-center-service-option input{margin-top:3px;width:17px;height:17px;flex:0 0 auto}.admin-health-center-service-check{display:none}.admin-health-center-service-content{display:flex;flex-direction:column;gap:3px}.admin-health-center-service-content strong{font-size:14px}.admin-health-center-service-content small{color:#6b7280;font-size:11px;font-weight:600}.admin-health-center-service-content span{color:#6b7280;font-size:12px;line-height:1.5}@media(max-width:700px){.admin-health-center-services-grid{grid-template-columns:1fr}}.admin-doctor-services-section{margin-top:28px;padding-top:24px;border-top:1px solid #e5e7eb}.admin-doctor-services-heading h4{margin:0;font-size:18px}.admin-doctor-services-heading p{margin:5px 0 18px;color:#6b7280;font-size:13px}.admin-doctor-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-doctor-service-option{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;background:#fff}.admin-doctor-service-option:hover{border-color:#9ca3af}.admin-doctor-service-option input{width:17px;height:17px;margin-top:3px;flex:0 0 auto}.admin-doctor-service-content{display:flex;flex-direction:column;gap:3px}.admin-doctor-service-content strong{font-size:14px}.admin-doctor-service-content small{color:#6b7280;font-size:11px;font-weight:600}.admin-doctor-service-content span{color:#6b7280;font-size:12px;line-height:1.5}@media(max-width:700px){.admin-doctor-services-grid{grid-template-columns:1fr}}@media print{.no-print{display:none!important}body{margin:0;background:#fff}}.topbar{gap:20px;box-shadow:0 2px 12px #0a2f6b0a}.topbar-title{min-width:0;margin-right:auto}.topbar-title small{display:block;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.topbar-title h1{overflow:hidden;margin:2px 0 0;color:var(--navy-800);font-size:1.15rem;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:12px}.menu-toggle,.icon-button{position:relative;display:inline-grid;width:42px;height:42px;flex:none;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy-800);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.menu-toggle:hover,.icon-button:hover{border-color:#b9cbe8;background:var(--blue-50);color:var(--navy-600)}.menu-toggle{display:none}.badge-count{position:absolute;top:-4px;right:-4px;display:grid;min-width:19px;height:19px;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:999px;background:var(--red-600);color:#fff;font-size:.68rem;font-weight:700;line-height:1}.app-footer{padding:18px 28px 24px;color:var(--ink-500);font-size:.8rem;text-align:center}.skip-link{position:fixed;top:12px;left:12px;z-index:2000;transform:translateY(-160%);padding:10px 14px;border-radius:var(--radius-sm);background:var(--navy-800);color:#fff;font-weight:600;text-decoration:none}.skip-link:focus{transform:translateY(0)}@media(max-width:991px){.menu-toggle{display:inline-grid}.app-footer{padding:16px 20px 22px}}@media(max-width:640px){.topbar{min-height:64px;gap:12px;padding:0 14px}.topbar-title h1{font-size:1rem}.topbar-actions{gap:6px}.user-trigger{gap:0;padding:4px}.user-meta,.user-trigger .chevron{display:none}.avatar{width:36px;min-width:36px;height:36px}.user-menu .dropdown{right:-4px;width:min(270px,calc(100vw - 28px))}.app-content{padding:16px 14px}.page-header{align-items:flex-start}.page-header h1{font-size:1.3rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.admin-app-content .dashboard-card,.admin-app-content .card{border-radius:16px;box-shadow:0 4px 18px #0a2f6b0d}.admin-app-content .form-section,.admin-app-content .medical-section{border-radius:14px;box-shadow:0 2px 10px #0a2f6b09}.admin-app-content .table-responsive{box-shadow:0 2px 12px #0a2f6b0a}.admin-app-content .page-header{margin-bottom:22px}.admin-app-content .form-actions{padding-top:16px;border-top:1px solid var(--line)}.admin-dashboard .welcome-banner{min-height:0;align-items:center;padding:30px 32px 104px;background:linear-gradient(135deg,#f4f8fe,#dce8fa);border:1px solid var(--line);box-shadow:var(--shadow)}.admin-dashboard .welcome-banner:after{height:84px;background:var(--ek-wave-banner) center bottom / 100% 250% no-repeat}.admin-dashboard .welcome-banner>div:first-child{max-width:640px}.admin-dashboard .welcome-label{color:var(--red-700);background:#fff;border-color:#f5c0c2}.admin-dashboard .welcome-banner h1{color:var(--navy-800);font-size:1.8rem}.admin-dashboard .welcome-banner p{color:var(--ink-700)}.admin-dashboard .welcome-icon{width:84px;height:84px;background:#fff;box-shadow:0 0 0 6px #fff9,var(--shadow)}.admin-dashboard .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-dashboard .stat-card{min-width:0;gap:12px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--navy-600);box-shadow:0 4px 16px #0a2f6b0d;transition:transform .18s ease,box-shadow .18s ease}.admin-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #0a2f6b14}.admin-dashboard .stat-card:nth-child(2){border-left-color:var(--red-600)}.admin-dashboard .stat-card:nth-child(3){border-left-color:var(--gold-400)}.admin-dashboard .stat-card:nth-child(4){border-left-color:var(--green-600)}.admin-dashboard .stat-card:nth-child(5){border-left-color:var(--red-600)}.admin-dashboard .stat-card:nth-child(6){border-left-color:var(--gold-400)}.admin-dashboard .stat-card:nth-child(7){border-left-color:var(--green-600)}.admin-dashboard .stat-icon{width:46px;height:46px;font-size:1.3rem}.admin-dashboard .stat-label{font-size:.7rem;line-height:1.35}.admin-dashboard .stat-value{font-size:1.7rem}.admin-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:18px}.admin-dashboard .dashboard-card{margin-bottom:0}.admin-dashboard .card-header{align-items:center}.admin-dashboard .card-header h3{font-size:1.1rem}.admin-dashboard .activity-list{display:grid;gap:0}.admin-dashboard .activity-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-dashboard .activity-item:last-child{border-bottom:0}.admin-dashboard .activity-icon{flex:none;display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--blue-100)}.admin-dashboard .activity-information{min-width:0}.admin-dashboard .activity-information strong{color:var(--navy-800)}.admin-dashboard .activity-information p{margin:3px 0}.admin-dashboard .activity-information small{color:var(--ink-500)}.admin-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-dashboard .quick-action{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;align-items:center;min-height:88px;padding:12px;border:1px solid #e3ebf8;border-radius:14px;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 4px 12px #071f4a08;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.admin-dashboard .quick-action:hover{transform:translateY(-2px);border-color:#c9dff7;box-shadow:0 10px 22px #071f4a14}.admin-dashboard .quick-action span{grid-row:span 2;display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#0f5db41f,#0f5db40a)}.admin-dashboard .quick-action strong{align-self:end}.admin-dashboard .quick-action small{align-self:start;color:var(--ink-600)}@media(max-width:1100px){.admin-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard .dashboard-grid{grid-template-columns:1fr}.admin-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.admin-dashboard .welcome-banner{padding:22px 20px 96px}.admin-dashboard .welcome-banner h1{font-size:1.4rem}.admin-dashboard .welcome-icon{display:none}.admin-dashboard .stats-grid{gap:10px}.admin-dashboard .stat-card{gap:10px;padding:14px 12px}.admin-dashboard .stat-icon{width:38px;height:38px;font-size:1.1rem}.admin-dashboard .stat-value{font-size:1.45rem}.admin-dashboard .quick-actions{grid-template-columns:1fr}}.doctor-app-content .dashboard-card,.doctor-app-content .card{border-radius:16px;box-shadow:0 4px 18px #0a2f6b0d}.doctor-app-content .form-section,.doctor-app-content .medical-section{border-radius:14px;box-shadow:0 2px 10px #0a2f6b09}.doctor-app-content .table-responsive{box-shadow:0 2px 12px #0a2f6b0a}.doctor-dashboard .welcome-banner{min-height:224px;align-items:flex-start;padding:32px;background:linear-gradient(115deg,var(--navy-900),var(--navy-700));border:0;box-shadow:0 14px 32px #071f4a2e}.doctor-dashboard .welcome-banner:after{height:100%;background:radial-gradient(ellipse at 86% 105%,rgba(217,30,37,.7),transparent 38%),radial-gradient(ellipse at 100% 0%,rgba(255,255,255,.12),transparent 46%)}.doctor-dashboard .welcome-banner>div:first-child{max-width:620px}.doctor-dashboard .welcome-label{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.doctor-dashboard .welcome-banner h1{color:#fff;font-size:clamp(1.65rem,3vw,2.25rem)}.doctor-dashboard .welcome-banner p{max-width:540px;color:#dbe7fa}.doctor-dashboard .welcome-icon{width:72px;height:72px;background:#ffffff1f;box-shadow:0 0 0 1px #fff3}.doctor-welcome-actions{position:absolute;z-index:1;right:32px;bottom:28px}.doctor-welcome-actions .primary-button{color:var(--navy-900);background:#fff}.doctor-welcome-actions .primary-button:hover{background:var(--blue-50)}.doctor-dashboard .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.doctor-dashboard .stat-card{min-width:0;gap:12px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--navy-600);box-shadow:0 4px 16px #0a2f6b0d;transition:transform .18s ease,box-shadow .18s ease}.doctor-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #0a2f6b14}.doctor-dashboard .stat-card:nth-child(2){border-left-color:var(--red-600)}.doctor-dashboard .stat-card:nth-child(3){border-left-color:var(--gold-400)}.doctor-dashboard .stat-card:nth-child(4){border-left-color:var(--green-600)}.doctor-dashboard .stat-icon{width:46px;height:46px;font-size:1.3rem}.doctor-dashboard .stat-label{font-size:.7rem;line-height:1.35}.doctor-dashboard .stat-value{font-size:1.7rem}.doctor-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:18px}.doctor-dashboard .card-header{align-items:center}.doctor-dashboard .card-header h3{font-size:1.1rem}.doctor-dashboard .appointment-preview{min-height:150px;align-items:center;border-left-width:5px;background:linear-gradient(110deg,#fff,var(--blue-50))}.doctor-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doctor-dashboard .quick-action{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:12px;align-items:center;min-height:88px;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 4px 12px #071f4a08;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.doctor-dashboard .quick-action:hover{transform:translateY(-2px);border-color:#cadcf1;box-shadow:0 10px 22px #071f4a14}.doctor-dashboard .quick-action span{grid-row:span 2;display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:var(--blue-100)}.doctor-dashboard .quick-action strong{align-self:end}.doctor-dashboard .quick-action small{align-self:start;color:var(--ink-600)}@media(max-width:1100px){.doctor-dashboard .stats-grid,.doctor-dashboard .dashboard-grid,.doctor-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.doctor-dashboard .dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.doctor-dashboard .welcome-banner{min-height:250px;padding:24px 20px 88px}.doctor-dashboard .welcome-icon{display:grid;width:52px;height:52px;font-size:1.6rem}.doctor-welcome-actions{right:auto;bottom:20px;left:20px}.doctor-dashboard .stats-grid{gap:10px}.doctor-dashboard .stat-card{gap:10px;padding:14px 12px}.doctor-dashboard .stat-icon{width:38px;height:38px;font-size:1.1rem}.doctor-dashboard .stat-value{font-size:1.45rem}.doctor-dashboard .quick-actions{grid-template-columns:1fr}}.staff-app-content .dashboard-card,.staff-app-content .card{border-radius:16px;box-shadow:0 4px 18px #0a2f6b0d}.staff-app-content .form-section,.staff-app-content .medical-section{border-radius:14px;box-shadow:0 2px 10px #0a2f6b09}.staff-app-content .table-responsive{box-shadow:0 2px 12px #0a2f6b0a}.staff-app-content .data-table th{background:var(--navy-800)}.staff-app-content .page-header{margin-bottom:22px}.staff-app-content .form-actions{padding-top:16px;border-top:1px solid var(--line)}.staff-dashboard .welcome-banner{min-height:0;align-items:center;padding:30px 32px 104px;background:linear-gradient(135deg,#f4f8fe,#dce8fa);border:1px solid var(--line);box-shadow:var(--shadow)}.staff-dashboard .welcome-banner:after{height:84px;background:var(--ek-wave-banner) center bottom / 100% 250% no-repeat}.staff-dashboard .welcome-banner>div:first-child{max-width:640px}.staff-dashboard .welcome-label{color:var(--red-700);background:#fff;border-color:#f5c0c2}.staff-dashboard .welcome-banner h1{color:var(--navy-800);font-size:1.8rem}.staff-dashboard .welcome-banner p{color:var(--ink-700)}.staff-dashboard .welcome-icon{width:84px;height:84px;background:#fff;box-shadow:0 0 0 6px #fff9,var(--shadow)}.staff-welcome-actions{margin-top:14px}.staff-focus-pill{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 12px;border:1px solid rgba(34,92,168,.12);border-radius:999px;background:#ffffffb8;color:var(--navy-700);font-size:.76rem;font-weight:700;letter-spacing:.02em}.staff-focus-dot{width:8px;height:8px;border-radius:50%;background:var(--green-600);box-shadow:0 0 0 4px #14af5c1f}.staff-welcome-actions .primary-button{min-height:46px;padding:0 18px;border-radius:12px;box-shadow:0 10px 22px #1141891f}.staff-dashboard .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.staff-dashboard .stat-card{min-width:0;gap:12px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--navy-600);box-shadow:0 4px 16px #0a2f6b0d;transition:transform .18s ease,box-shadow .18s ease}.staff-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #0a2f6b14}.staff-dashboard .stat-card:nth-child(2){border-left-color:var(--red-600)}.staff-dashboard .stat-card:nth-child(3){border-left-color:var(--gold-400)}.staff-dashboard .stat-card:nth-child(4){border-left-color:var(--green-600)}.staff-dashboard .stat-icon{width:46px;height:46px;font-size:1.3rem}.staff-dashboard .stat-label{font-size:.7rem;line-height:1.35}.staff-dashboard .stat-value{font-size:1.7rem}.staff-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.staff-dashboard .card-header{align-items:center}.staff-dashboard .card-header h3{font-size:1.1rem}.staff-dashboard .info-item{padding:14px;border:1px solid #e5edf8;border-radius:12px;background:linear-gradient(180deg,#fff,#f9fbff);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.staff-dashboard .info-item:hover{transform:translateY(-1px);border-color:#cfe0f8;box-shadow:0 10px 20px #1434580f}.staff-dashboard .info-item p{margin-top:3px}.staff-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-dashboard .quick-action{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;align-items:center;padding:12px;border:1px solid #e2ebf8;background:linear-gradient(180deg,#fff,#f8fbff);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.staff-dashboard .quick-action:hover{transform:translateY(-2px);border-color:#bfd5f5;box-shadow:0 12px 24px #0f3d7e12}.staff-dashboard .quick-action span{grid-row:span 2;display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#0f5db41f,#0f5db40a)}.staff-dashboard .quick-action strong{align-self:end}.staff-dashboard .quick-action small{align-self:start}.staff-dashboard .health-reminder{box-shadow:0 12px 28px #071f4a24}@media(max-width:1100px){.staff-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-dashboard .dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.staff-dashboard .welcome-banner{padding:22px 20px 96px}.staff-dashboard .welcome-banner h1{font-size:1.4rem}.staff-dashboard .welcome-icon{display:none}.staff-dashboard .stats-grid{gap:10px}.staff-dashboard .stat-card{gap:10px;padding:14px 12px}.staff-dashboard .stat-icon{width:38px;height:38px;font-size:1.1rem}.staff-dashboard .stat-value{font-size:1.45rem}.staff-dashboard .quick-actions{grid-template-columns:1fr}}.patient-dashboard .welcome-banner{min-height:0;align-items:center;padding:30px 32px 104px;background:linear-gradient(135deg,#f4f8fe,#dce8fa);border:1px solid var(--line);box-shadow:var(--shadow)}.patient-dashboard .welcome-banner:after{height:84px;background:var(--ek-wave-banner) center bottom / 100% 250% no-repeat}.patient-dashboard .welcome-banner>div:first-child{max-width:640px}.patient-dashboard .welcome-label{color:var(--red-700);background:#fff;border-color:#f5c0c2}.patient-dashboard .welcome-banner h1{color:var(--navy-800);font-size:1.8rem}.patient-dashboard .welcome-banner p{color:var(--ink-700)}.patient-dashboard .welcome-icon{width:84px;height:84px;background:#fff;box-shadow:0 0 0 6px #fff9,var(--shadow)}.patient-welcome-actions{margin-top:14px}.patient-dashboard .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.patient-dashboard .stat-card{min-width:0;gap:12px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--navy-600);box-shadow:0 4px 16px #0a2f6b0d;transition:transform .18s ease,box-shadow .18s ease}.patient-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #0a2f6b14}.patient-dashboard .stat-card:nth-child(2){border-left-color:var(--red-600)}.patient-dashboard .stat-card:nth-child(3){border-left-color:var(--gold-400)}.patient-dashboard .stat-card:nth-child(4){border-left-color:var(--green-600)}.patient-dashboard .stat-icon{width:46px;height:46px;font-size:1.3rem}.patient-dashboard .stat-label{font-size:.7rem;line-height:1.35}.patient-dashboard .stat-value{font-size:1.7rem}.patient-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:18px}.patient-dashboard .dashboard-card{border-radius:16px;box-shadow:0 4px 18px #0a2f6b0d}.patient-dashboard .card-header{align-items:center}.patient-dashboard .card-header h3{font-size:1.1rem}.patient-dashboard .appointment-preview{min-height:150px;align-items:center;border-left-width:5px;background:linear-gradient(110deg,#fff,var(--blue-50))}.patient-dashboard .appointment-details p{color:var(--ink-700)}.patient-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.patient-dashboard .quick-action{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:12px;align-items:center;min-height:88px;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 4px 12px #071f4a08;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.patient-dashboard .quick-action:hover{transform:translateY(-2px);border-color:#cadcf1;box-shadow:0 10px 22px #071f4a14}.patient-dashboard .quick-action span{grid-row:span 2;display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:var(--blue-100)}.patient-dashboard .quick-action strong{align-self:end}.patient-dashboard .quick-action small{align-self:start;color:var(--ink-600)}.patient-dashboard .health-reminder{box-shadow:0 12px 28px #071f4a24}@media(max-width:1100px){.patient-dashboard .stats-grid,.patient-dashboard .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.patient-dashboard .dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.patient-dashboard .welcome-banner{padding:22px 20px 96px}.patient-dashboard .welcome-icon{display:none}.patient-dashboard .welcome-banner h1{font-size:1.4rem}.patient-dashboard .stats-grid{gap:10px}.patient-dashboard .stat-card{gap:10px;padding:14px 12px}.patient-dashboard .stat-icon{width:38px;height:38px;font-size:1.1rem}.patient-dashboard .stat-value{font-size:1.45rem}}html{scroll-behavior:smooth}.app-content>.page-header{padding:4px 0 2px}.app-content>.page-header h1{color:var(--navy-800);font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.025em}.app-content>.page-header p{max-width:720px;margin-top:5px;color:var(--ink-500)}.app-content>.dashboard-card,.app-content>.card,.app-content .dashboard-grid>.dashboard-card,.app-content .dashboard-grid--even>.dashboard-card{border-color:#e1e9f4;box-shadow:0 5px 20px #0a2f6b0e}.app-content .card-header{align-items:center}.app-content .card-header h2,.app-content .card-header h3{letter-spacing:-.015em}.app-content .primary-button,.app-content .secondary-button,.app-content .btn{min-height:40px}.app-content .primary-button:hover,.app-content .btn-primary:hover{box-shadow:0 5px 14px #0a3d8f33}.app-content :is(input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=url],select,textarea){min-height:44px;border-color:#cbd8e9;border-radius:10px}.app-content textarea{min-height:96px}.app-content :is(input,select,textarea):disabled{color:#73819a;background:#f1f4f8;cursor:not-allowed}.app-content :is(input,select,textarea)[aria-invalid=true]{border-color:var(--red-600)}.app-content .form-group>label,.app-content label.field-label{margin-bottom:7px;color:var(--navy-800)}.app-content .form-section{border-color:#e1e9f4;box-shadow:0 3px 14px #0a2f6b09}.app-content .table-responsive{border-color:#dfe7f2;border-radius:12px;scrollbar-color:#9eb4d4 #f1f5fb}.app-content .data-table{font-size:.88rem}.app-content .data-table th{padding-top:14px;padding-bottom:14px;background:var(--navy-800)}.app-content .data-table td{padding-top:13px;padding-bottom:13px}.app-content .data-table tbody tr:last-child td{border-bottom:0}.app-content .data-table a:not(.btn):not(.primary-button){font-weight:600;text-decoration-thickness:1px;text-underline-offset:2px}.app-content .empty-state{padding:48px 20px}.app-content .empty-state-icon,.app-content .empty-icon{color:var(--navy-700)}.app-content .alert,.app-content .form-success-box,.app-content .form-error-box{border-radius:12px}.app-content .pagination{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:20px}.app-content .pagination :is(a,span){display:inline-flex;min-width:38px;min-height:38px;align-items:center;justify-content:center;padding:6px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy-700);text-decoration:none}.app-content .pagination .active span,.app-content .pagination span[aria-current=page] span{border-color:var(--navy-700);background:var(--navy-700);color:#fff}.app-content .pagination a:hover{border-color:var(--navy-600);background:var(--blue-50)}.app-content .admin-user-card,.app-content .admin-service-card,.app-content .patient-card,.app-content .consultation-list-card,.app-content .staff-prescription-card{border-color:#e1e9f4;box-shadow:0 3px 14px #0a2f6b0a}.app-content .patient-card:hover,.app-content .consultation-list-card:hover,.app-content .admin-user-card:hover,.app-content .admin-service-card:hover{border-color:#bfd0e8;box-shadow:0 8px 22px #0a2f6b17}.app-content .form-actions{align-items:center}@media(max-width:640px){.app-content>.page-header{gap:12px}.app-content>.page-header>:is(a,button,.btn){width:100%}.app-content .dashboard-card,.app-content .card{border-radius:13px}.app-content .card-header{gap:10px}.app-content .card-header>a:not(.primary-button):not(.secondary-button):not(.btn){padding:7px 11px}.app-content .form-actions{justify-content:stretch}.app-content .form-actions>:is(a,button,.btn){flex:1 1 auto}.app-content .admin-user-card,.app-content .patient-card,.app-content .consultation-list-card{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html body .register-page{min-height:100vh;min-height:100dvh;align-items:center;padding:32px;background:linear-gradient(110deg,#071f4ac7,#0a3d8f3d),var(--ek-hero-image) center / cover no-repeat}html body .register-layout{width:min(1180px,100%);max-width:1180px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,54px)}html body .register-brand{max-width:470px;color:#fff}html body .register-brand-logo{box-shadow:0 0 0 3px var(--gold-400),0 8px 25px #0003}html body .register-brand h2{color:#fff;font-size:clamp(2rem,3.8vw,2.7rem);line-height:1.12}html body .register-panel{width:100%;max-width:680px}html body .register-card{width:100%;max-width:680px;padding:clamp(24px,3vw,36px);border:1px solid rgba(255,255,255,.8);border-top:5px solid var(--navy-700);border-radius:18px;background:#fffffff7;box-shadow:0 24px 55px #071f4a38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html body .register-header h1{color:var(--navy-800)}html body .register-field label{color:var(--ink-900);font-size:.84rem}html body .register-field input,html body .register-field select,html body .register-field textarea{min-height:44px;border:1px solid #cbd8e9;border-radius:10px;background-color:#fff;color:var(--ink-900);font-family:var(--font);font-size:.9rem}html body .register-button{min-height:46px;border-radius:10px;background:var(--navy-700);font:inherit;font-weight:700}html body .register-button:hover{background:var(--navy-800);box-shadow:0 5px 14px #0a3d8f33}html body .register-switch a{color:var(--navy-600)}@media(max-width:1000px){html body .register-layout{max-width:680px;grid-template-columns:minmax(0,1fr);gap:20px}html body .register-brand{max-width:none;text-align:center}html body .register-brand-top{justify-content:center;margin-bottom:16px}html body .register-brand-description{margin-right:auto;margin-left:auto}}@media(max-width:600px){html body .register-page{align-items:flex-start;padding:16px 12px}html body .register-layout{gap:16px}html body .register-brand h2{font-size:1.8rem}html body .register-card{padding:22px 16px}html body .register-grid{grid-template-columns:minmax(0,1fr)}}.app-content>.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.app-content>.page-header>div:first-child,.card-header>div:first-child{flex:1 1 280px;min-width:0}.app-content>.page-header>:last-child,.card-header>div:not(:first-child){display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto}.card-header>div:not(:first-child)>form,.card-header>div:not(:first-child)>a,.card-header>div:not(:first-child)>button{margin:0}.app-content>.page-header>:is(a,button,.btn,.primary-button,.secondary-button){flex:none;min-width:150px}.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions,.header-actions{margin-left:auto}.admin-doctor-action,.admin-user-action{display:flex;flex:0 0 148px;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}.admin-doctor-action>*,.admin-user-action>*,.admin-doctor-action form>*,.admin-user-action form>*{width:100%}.admin-doctor-action .current-admin-label,.admin-user-action .current-admin-label{justify-content:center;min-height:36px}.patient-action{flex:0 0 auto;align-self:center}.consultation-list-action,.staff-appointment-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.admin-staff-detail-actions,.patient-profile-footer,.staff-profile-footer,.staff-appointment-footer,.health-center-back-action{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.admin-staff-detail-actions>*,.admin-staff-detail-actions form{margin:0}.admin-staff-toggle-form{display:flex}.form-actions,.admin-doctor-form-actions,.admin-health-center-form-actions,.admin-service-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.form-actions>:is(a,button,.btn),.admin-doctor-form-actions>:is(a,button),.admin-health-center-form-actions>:is(a,button),.admin-service-form-actions>:is(a,button){min-width:150px}.admin-service-footer{justify-content:flex-end}.admin-service-footer-actions{margin-right:auto}.admin-service-status-form{display:flex;flex:0 0 150px}.admin-service-status-form>button{width:100%}.doctor-appointment-actions{justify-content:flex-end;padding-top:12px;border-top:1px solid var(--line)}.doctor-prescription-actions{justify-content:flex-end}.doctor-prescription-actions>.btn{flex:0 1 180px}.data-table td form{display:inline-flex;margin:0}.data-table td :is(.btn,.primary-button,.secondary-button){white-space:nowrap}.empty-state>:is(a,.primary-button,.secondary-button,.btn){margin-top:8px}@media(max-width:760px){.app-content>.page-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:18px}.app-content>.page-header>:last-child{width:100%;margin-left:0}.app-content>.page-header>:is(a,button,.btn,.primary-button,.secondary-button){width:100%}.card-header>div:not(:first-child){width:100%;justify-content:flex-start;margin-left:0}.admin-doctor-action,.admin-user-action{flex:1 0 100%;flex-direction:row;align-items:stretch;justify-content:flex-start}.admin-doctor-action>*,.admin-user-action>*,.admin-doctor-action form,.admin-user-action form{flex:1 1 125px;width:auto}.admin-doctor-action form>*,.admin-user-action form>*{width:100%}.admin-doctor-action .current-admin-label,.admin-user-action .current-admin-label{flex:1 1 100%;width:auto}.patient-action{flex:1 0 100%;justify-content:flex-start}.patient-action>*{width:100%}}@media(max-width:560px){.app-content>.page-header>:last-child,.card-header>div:not(:first-child),.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions,.header-actions,.form-actions,.admin-doctor-form-actions,.admin-health-center-form-actions,.admin-service-form-actions,.admin-service-footer-actions,.admin-doctor-detail-actions,.admin-health-center-footer-actions,.doctor-appointment-actions,.doctor-prescription-actions,.consultation-list-action,.staff-appointment-actions,.admin-staff-detail-actions,.patient-profile-footer,.staff-profile-footer,.staff-appointment-footer,.health-center-back-action{width:100%;justify-content:stretch}.app-content>.page-header>:last-child>*,.card-header>div:not(:first-child)>*,.admin-doctor-header-actions>*,.admin-health-center-header-actions>*,.admin-service-header-actions>*,.header-actions>*,.form-actions>*,.admin-doctor-form-actions>*,.admin-health-center-form-actions>*,.admin-service-form-actions>*,.admin-service-footer-actions>*,.admin-doctor-detail-actions>*,.admin-health-center-footer-actions>*,.doctor-appointment-actions>*,.doctor-prescription-actions>*,.consultation-list-action>*,.staff-appointment-actions>*,.admin-staff-detail-actions>*,.patient-profile-footer>*,.staff-profile-footer>*,.staff-appointment-footer>*,.health-center-back-action>*{flex:1 1 100%;width:100%;min-width:0}.admin-service-footer{align-items:stretch}.admin-service-status-form{flex:1 1 100%}.doctor-prescription-actions>.btn{flex-basis:100%}.data-table td form,.data-table td form>button{width:100%}.app-content .card-header>a:not(.primary-button):not(.secondary-button):not(.btn){width:fit-content}}.consult-layout{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.6fr);align-items:start;gap:18px}.consult-layout>form{min-width:0}.consult-layout .patient-panel{display:grid;gap:12px}.patient-panel-head{align-items:center}.patient-panel-head>div:last-child{display:grid;gap:3px;min-width:0}.patient-panel-head small{color:var(--ink-500)}.patient-fact>span{display:block;margin-bottom:4px;color:var(--ink-500);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.patient-fact>strong{display:block;color:var(--navy-800);font-size:.88rem;overflow-wrap:anywhere}.intake-section{margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.intake-section>h3{padding-bottom:10px;border-bottom:1px solid var(--line)}.intake-section .form-grid{align-items:start}.intake-section label:has(input[type=checkbox]){display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--blue-50);cursor:pointer}.intake-section label input[type=checkbox]{flex:none}.field-error{margin-top:6px;color:var(--red-700);font-size:.8rem;font-weight:500}.patient-profile-card,.health-center-profile-card{display:grid;gap:18px}.patient-profile-action,.health-center-profile-action{display:flex;align-items:center;justify-content:flex-end;gap:9px}.patient-profile-action>a,.health-center-back-action>a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #d4e1f2;border-radius:10px;background:var(--blue-50);color:var(--navy-700);font-size:.88rem;font-weight:600;text-decoration:none}.patient-profile-action>a:hover,.health-center-back-action>a:hover{border-color:#b9cbe8;background:var(--blue-100)}.patient-profile-name,.patient-profile-information{min-width:0}.patient-profile-name h2,.patient-profile-information h2{margin:2px 0 5px;color:var(--navy-800);font-size:1.4rem;overflow-wrap:anywhere}.patient-profile-name p{margin:0;color:var(--ink-500)}.patient-profile-meta{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--ink-700);font-size:.85rem}.patient-profile-meta>span{overflow-wrap:anywhere}.history-card,.consultation-card,.consultation-list-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 13px #0a2f6b09}.history-card{display:flex;align-items:flex-start;gap:14px}.history-date{width:58px;flex:none;overflow:hidden;border:1px solid #d4e1f2;border-radius:11px;background:var(--blue-100);text-align:center}.history-date strong{display:block;padding:4px;background:var(--red-600);color:#fff;font-size:.68rem;text-transform:uppercase}.history-date>span{display:block;padding:5px 0;color:var(--navy-800);font-size:1.3rem;font-weight:800}.history-content,.consultation-card{min-width:0;flex:1}.history-content h4,.consultation-header h4{margin:0 0 7px;color:var(--navy-800)}.history-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--ink-700);font-size:.83rem}.history-meta>span{overflow-wrap:anywhere}.history-description{margin:10px 0;padding:10px 12px;border-left:3px solid var(--gold-400);border-radius:0 9px 9px 0;background:#fffaf0}.consultation-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.consultation-header>div>span{color:var(--ink-500);font-size:.82rem}.consultation-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.consultation-information>div,.patient-consultation-information>div{min-width:0;padding:12px 14px;border:1px solid #e2eaf5;border-radius:10px;background:var(--blue-50)}.consultation-information>div>span,.patient-consultation-information>div>span{display:block;margin-bottom:4px;color:var(--ink-500);font-size:.69rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.consultation-information p,.patient-consultation-information strong{margin:0;color:var(--ink-900);font-size:.87rem;overflow-wrap:anywhere}.patient-consultation-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.doctor-name{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--blue-100);color:var(--navy-700);font-size:.8rem;font-weight:600}.patient-consultation-card{min-width:0;padding:16px;border:1px solid var(--line);border-left:3px solid var(--navy-600);border-radius:12px;background:#fff}.patient-consultation-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:9px}.patient-prescription-details{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.patient-prescription-details>span{color:var(--ink-700);font-size:.82rem;overflow-wrap:anywhere}.consultation-info-item,.staff-prescription-information>div{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--blue-50)}.consultation-info-item span,.staff-prescription-information span,.staff-medicine-details span{display:block;color:var(--ink-500);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.consultation-info-item strong,.staff-prescription-information strong,.staff-medicine-details strong{display:block;overflow-wrap:anywhere;color:var(--navy-800);font-size:.88rem}.consultation-details-page{gap:18px}.medical-section{padding:18px;background:#fff}.staff-prescription-card{box-shadow:0 3px 14px #0a2f6b0a}.staff-medicine-card{background:linear-gradient(140deg,#fff,var(--blue-50))}.staff-medicine-instructions{margin-top:10px;padding:10px 12px;border-radius:9px;background:#fffaf0}.staff-appointment-footer,.admin-staff-detail-actions,.health-center-back-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.admin-staff-toggle-form{display:flex;margin:0}.staff-appointment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.appointment-information,.prescription-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:10px}.appointment-information>div,.prescription-meta>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--blue-50)}.appointment-information span,.prescription-meta span{display:block;margin-bottom:4px;color:var(--ink-500);font-size:.68rem;font-weight:700;text-transform:uppercase}.appointment-information strong,.prescription-meta strong{color:var(--navy-800);font-size:.88rem;overflow-wrap:anywhere}.appointment-patient{display:flex;align-items:center;gap:10px;min-width:180px}.appointment-patient h4{margin:0}.health-center-appointment-card{align-items:center}.health-center-status .status-badge{margin:0}.prescription-document{max-width:900px;margin:0 auto;padding:clamp(18px,4vw,40px);border:1px solid #d8e2ef;border-top:5px solid var(--navy-700);border-radius:12px;background:#fff;box-shadow:0 5px 18px #0a2f6b0f}.prescription-header{padding-bottom:18px;border-bottom:2px solid var(--navy-800);text-align:center}.prescription-header h2,.prescription-header h3{margin-bottom:3px;color:var(--navy-800)}.prescription-header p{margin:5px 0 0;color:var(--ink-500)}.prescription-meta{margin:16px 0}.prescription-section{margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.prescription-section h4{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.prescription-section>p:last-child{margin-bottom:0}.prescription-medicine{margin-top:10px;padding:13px;border:1px solid #e2eaf5;border-left:3px solid var(--red-600);border-radius:9px;background:var(--blue-50)}.prescription-medicine h3{margin:0 0 4px;font-size:1rem}.prescription-medicine p{margin-bottom:8px;overflow-wrap:anywhere}.prescription-signature{display:grid;justify-items:center;gap:4px;width:min(300px,100%);margin:48px 0 0 auto;text-align:center}.prescription-signature .signature-line{width:100%;margin-bottom:8px;border-top:1px solid var(--ink-900)}.activity-list{display:grid;gap:10px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.activity-icon{display:grid;width:40px;height:40px;flex:none;place-items:center;border-radius:11px;background:var(--blue-100);color:var(--navy-700);font-size:1.15rem}.activity-information{min-width:0;flex:1}.activity-information strong{color:var(--navy-800)}.activity-information p{margin:3px 0;overflow-wrap:anywhere}.activity-information small{color:var(--ink-500)}.consultation-list-action{margin-top:12px}.health-centers-page>.card-header,.admin-services-page>.card-header{align-items:center}.admin-health-center-status,.admin-service-status,.health-center-status{flex:none}.admin-health-center-status .status-badge,.admin-service-status .status-badge,.health-center-status .status-badge,.admin-health-center-status-form,.admin-service-status-form,.admin-doctor-status-form,.admin-user-status-form{margin:0}.admin-doctor-form-page,.admin-health-center-form-page,.admin-service-form-page{max-width:1120px}.admin-doctor-form,.admin-health-center-form,.admin-service-form,.admin-services-page{width:100%}.staff-profile-page{display:grid;gap:14px}.staff-profile-label{display:inline-block;margin-bottom:5px;color:var(--red-700);font-size:.68rem;font-weight:700;letter-spacing:.08em}.staff-profile-status{display:inline-flex;width:fit-content;padding:5px 10px;border-radius:999px;background:var(--green-50);color:var(--green-600);font-size:.82rem}.staff-profile-footer{margin-top:0;padding-top:14px;border-top:1px solid var(--line)}.prescription-list{display:grid;gap:12px}.prescription-card{min-width:0;padding:15px;border:1px solid var(--line);border-left:3px solid var(--red-600);border-radius:11px;background:#fff}.prescription-instructions{margin-top:10px;padding:11px 13px;border-radius:9px;background:#fffaf0;color:var(--ink-700)}.medicine-list{display:grid;gap:9px;margin-top:10px}.medicine-information{min-width:0}.medicine-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:8px 12px;margin-top:8px}.medicine-meta>span{color:var(--ink-700);font-size:.82rem;overflow-wrap:anywhere}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.staff-appointment-footer{padding-top:14px;border-top:1px solid var(--line)}.staff-appointment-prescription{margin-bottom:16px}.staff-appointment-medicine-heading{margin:12px 0 8px;color:var(--navy-800);font-size:.95rem}.staff-appointment-medicine{margin:8px 0 0 10px;padding:12px}.staff-appointment-actions{justify-content:flex-start}.text-danger{color:var(--red-700)}@media(max-width:900px){.consult-layout{grid-template-columns:minmax(0,1fr)}.consult-layout .patient-panel{position:static}}@media(max-width:640px){.history-card{gap:10px}.patient-profile-header{align-items:flex-start}.patient-profile-action{width:100%;justify-content:flex-start}.patient-profile-action>a{width:100%}.staff-appointment-footer>*,.admin-staff-detail-actions>*,.health-center-back-action>*{flex:1 1 100%}.appointment-patient{min-width:0}.appointment-information{grid-template-columns:minmax(0,1fr)}.header-actions{width:100%}.header-actions>*{flex:1 1 100%}}.admin-doctor-list,.admin-user-list,.admin-health-center-list,.admin-service-list,.health-center-list,.doctor-appointments-list,.doctor-prescription-list{display:grid;gap:14px}.admin-doctor-card,.admin-user-card,.admin-health-center-card,.admin-service-card,.health-center-card,.doctor-appointment-card,.doctor-prescription-card,.patient-history-card,.patient-consultation-card,.patient-prescription-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 14px #0a2f6b0a;transition:border-color .15s,box-shadow .15s,transform .15s}.admin-doctor-card:hover,.admin-user-card:hover,.admin-health-center-card:hover,.admin-service-card:hover,.health-center-card:hover,.doctor-appointment-card:hover,.doctor-prescription-card:hover,.patient-history-card:hover,.patient-consultation-card:hover,.patient-prescription-card:hover{transform:translateY(-1px);border-color:#bfd0e8;box-shadow:0 8px 22px #0a2f6b14}.admin-doctor-card,.admin-user-card,.admin-health-center-header,.health-center-header{display:flex;align-items:center;gap:16px}.admin-doctor-avatar,.admin-user-avatar,.admin-health-center-icon,.health-center-icon,.admin-health-center-profile-icon,.admin-health-center-resource-avatar,.health-center-avatar,.resource-avatar,.doctor-prescription-icon{display:grid;width:52px;height:52px;flex:none;place-items:center;border:1px solid #d4e1f2;border-radius:14px;background:var(--blue-100);color:var(--navy-700);font-size:1.45rem}.admin-doctor-information,.admin-user-information,.admin-health-center-title,.health-center-title,.admin-service-title,.doctor-appointment-content{flex:1;min-width:0}.admin-doctor-label,.admin-user-label,.admin-health-center-label,.health-center-label,.admin-service-label,.doctor-appointment-label,.doctor-prescription-label,.patient-section-label,.patient-profile-label,.patient-prescription-instructions>span,.doctor-prescription-instructions>span{display:inline-block;margin-bottom:5px;color:var(--ink-500);font-size:.68rem;font-weight:700;letter-spacing:.09em}.admin-doctor-information h4,.admin-user-information h4,.admin-health-center-title h4,.health-center-title h4,.admin-service-title h4{margin:0 0 6px;color:var(--navy-800);font-size:1.05rem}.admin-doctor-meta,.admin-user-meta,.admin-health-center-information,.health-center-information,.admin-service-information,.admin-doctor-detail-grid,.admin-health-center-summary,.health-center-information-grid,.patient-information-grid,.doctor-appointment-information,.doctor-prescription-information,.doctor-prescription-medicine-details,.patient-prescription-details,.admin-report-summary,.staff-profile-information-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:10px 16px}.admin-doctor-meta>span,.admin-user-meta>span{overflow-wrap:anywhere;color:var(--ink-700);font-size:.84rem}.admin-doctor-action,.admin-user-action,.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions,.admin-service-footer-actions,.admin-doctor-detail-actions,.admin-health-center-footer-actions,.doctor-prescription-actions,.doctor-appointment-actions,.health-center-footer,.patient-action{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-doctor-action,.admin-user-action{justify-content:flex-end}.admin-doctor-action form,.admin-user-action form,.admin-service-footer form,.admin-service-footer-actions form,.admin-health-center-footer form{margin:0}.status-button{min-height:40px;padding:8px 13px;border:1px solid transparent;border-radius:9px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.status-button.deactivate{border-color:#f1c0c2;background:var(--red-50);color:var(--red-700)}.status-button.deactivate:hover{border-color:var(--red-600);background:#fbdcdd}.status-button.activate{border-color:#b8dfc6;background:var(--green-50);color:var(--green-600)}.status-button.activate:hover{border-color:var(--green-600);background:#d8f0e1}.user-status-badge,.current-admin-label{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.user-status-badge.active{background:var(--green-50);color:var(--green-600)}.user-status-badge.inactive{background:#eef1f5;color:#536176}.current-admin-label{background:var(--blue-100);color:var(--navy-700)}.admin-doctor-details,.admin-health-center-details-page,.health-center-details-page,.patient-details-page,.patient-profile-page,.doctor-prescriptions-page{display:grid;gap:18px}.admin-doctor-profile,.admin-health-center-profile-header,.health-center-profile-header,.staff-profile-header,.patient-profile-header,.doctor-prescription-header,.doctor-prescription-date{display:flex;align-items:center;gap:16px}.admin-doctor-large-avatar,.patient-profile-avatar,.staff-profile-avatar{display:grid;width:68px;height:68px;flex:none;place-items:center;border:1px solid #d4e1f2;border-radius:18px;background:var(--blue-100);color:var(--navy-700);font-size:1.9rem}.admin-doctor-detail-card,.admin-health-center-summary>div,.health-center-info-item,.admin-health-center-information>div,.health-center-information>div,.admin-service-information>div,.doctor-appointment-information>div,.doctor-prescription-information>div,.patient-information-grid>div,.staff-profile-info-item,.admin-report-summary>div{min-width:0;padding:13px 14px;border:1px solid #e2eaf5;border-radius:11px;background:var(--blue-50)}.admin-doctor-detail-label,.admin-health-center-summary span,.health-center-info-item>span,.admin-health-center-information span,.health-center-information span,.admin-service-information span,.doctor-appointment-information span,.doctor-prescription-information>div>span,.patient-information-grid>div>span,.staff-profile-info-item>span,.admin-report-summary>div>span{display:block;margin-bottom:4px;color:var(--ink-500);font-size:.69rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.admin-doctor-detail-card strong,.admin-health-center-summary strong,.health-center-info-item strong,.admin-health-center-information strong,.health-center-information strong,.admin-service-information strong,.doctor-appointment-information strong,.doctor-prescription-information strong,.patient-information-grid strong,.staff-profile-info-item strong,.admin-report-summary strong{display:block;overflow-wrap:anywhere;color:var(--navy-800);font-size:.9rem;font-weight:600}.admin-doctor-detail-actions{justify-content:space-between;padding-top:16px;border-top:1px solid var(--line)}.admin-health-center-profile-header{align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.admin-health-center-profile-information,.health-center-profile-name{flex:1;min-width:0}.admin-health-center-profile-information h2,.health-center-profile-name h2,.staff-profile-information h2,.patient-profile-name h2{margin:0 0 5px;color:var(--navy-800);font-size:1.45rem;overflow-wrap:anywhere}.admin-health-center-profile-information p,.health-center-profile-name p{margin:0;color:var(--ink-500)}.admin-health-center-section-heading,.section-title,.admin-report-section-header,.staff-profile-section-heading,.patient-section-heading{display:flex;align-items:center;gap:13px;margin-bottom:16px}.admin-health-center-section-icon,.section-icon,.admin-report-icon,.patient-section-icon{display:grid;width:44px;height:44px;flex:none;place-items:center;border-radius:12px;background:var(--blue-100);color:var(--navy-700);font-size:1.3rem}.admin-health-center-section-heading span,.admin-report-section-header span:not(.admin-report-icon),.staff-profile-section-label{color:var(--ink-500);font-size:.68rem;font-weight:700;letter-spacing:.08em}.admin-health-center-section-heading h3,.section-title h3,.admin-report-section-header h4,.staff-profile-section-heading h3,.patient-section-heading h3{margin:1px 0 3px;color:var(--navy-800);font-size:1.05rem}.admin-health-center-section-heading p,.admin-report-section-header p,.staff-profile-section-heading p{margin:0;color:var(--ink-500);font-size:.84rem}.admin-health-center-resource-list,.health-center-resource-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}.admin-health-center-resource-card,.health-center-resource-card{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.admin-health-center-resource-information,.resource-information{min-width:0}.admin-health-center-resource-information h4,.resource-information h4{margin:0 0 2px;color:var(--navy-800);font-size:.92rem}.admin-health-center-resource-information p,.resource-information p{margin:0;color:var(--ink-500);font-size:.82rem}.admin-health-center-empty-state,.health-center-empty-state{padding:24px 16px;border:1px dashed #c8d7eb;border-radius:12px;background:var(--blue-50);text-align:center}.admin-health-center-empty-state>div{margin-bottom:6px;font-size:1.7rem}.admin-health-center-empty-state h4,.health-center-empty-state h4{margin-bottom:4px}.admin-health-center-empty-state p,.health-center-empty-state p{margin:0;color:var(--ink-500)}.admin-health-center-details-page .dashboard-card{margin-bottom:0}.admin-health-center-appointment-list{display:grid;gap:10px}.admin-health-center-appointment-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.admin-health-center-appointment-patient,.admin-health-center-appointment-information{min-width:0}.admin-health-center-appointment-information{display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--ink-500);font-size:.82rem}.admin-service-header,.health-center-profile-header{display:flex;align-items:center;gap:14px}.admin-service-icon{display:grid;width:50px;height:50px;flex:none;place-items:center;border-radius:14px;background:var(--red-50);color:var(--red-700);font-size:1.4rem}.admin-service-title>p,.health-center-title>p{margin:0;color:var(--ink-500);font-size:.84rem}.admin-service-description{margin-top:14px;padding:12px 14px;border-left:3px solid var(--gold-400);border-radius:0 10px 10px 0;background:#fffaf0}.admin-service-description>span{color:var(--ink-500);font-size:.68rem;font-weight:700;letter-spacing:.06em}.admin-service-description p{margin:4px 0 0}.admin-service-footer,.admin-health-center-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.admin-report-section{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-report-section:first-of-type{margin-top:0}.admin-report-section-header{margin-bottom:14px}.admin-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-report-card{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid var(--line);border-top:3px solid var(--navy-600);border-radius:12px;background:linear-gradient(180deg,#fff,var(--blue-50))}.admin-report-card:nth-child(4n+2){border-top-color:var(--red-600)}.admin-report-card:nth-child(4n+3){border-top-color:var(--gold-400)}.admin-report-card:nth-child(4n+4){border-top-color:var(--green-600)}.admin-report-card-icon{font-size:1.3rem}.admin-report-card-label{color:var(--ink-500);font-size:.68rem;font-weight:700;letter-spacing:.055em}.admin-report-card strong{color:var(--navy-800);font-size:1.65rem;line-height:1.1}.admin-report-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.admin-report-summary strong{font-size:1.35rem}.form-error-box,.alert-error,.error-message{margin-bottom:18px;padding:13px 16px;border:1px solid #f1b8bb;border-radius:11px;background:var(--red-50);color:var(--red-700)}.form-error-box ul{margin:6px 0 0;padding-left:20px}.form-success-box,.success-message{margin-bottom:18px;padding:13px 16px;border:1px solid #b7dfc5;border-radius:11px;background:var(--green-50);color:#14532d}.admin-doctor-form-grid,.admin-health-center-form-grid,.admin-service-form-grid,.admin-staff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-doctor-form-field,.admin-health-center-form-field,.admin-service-form-field,.admin-staff-form-field{min-width:0}.admin-doctor-form-field label,.admin-health-center-form-field label,.admin-service-form-field label,.admin-staff-form-field label{display:block;margin-bottom:7px;color:var(--navy-800);font-size:.86rem;font-weight:600}.admin-doctor-form-field input,.admin-doctor-form-field select,.admin-health-center-form-field input,.admin-health-center-form-field select,.admin-service-form-field input,.admin-service-form-field select,.admin-service-form-field textarea,.admin-staff-form-field input,.admin-staff-form-field select{width:100%}.admin-doctor-form-actions,.admin-health-center-form-actions,.admin-service-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.admin-health-center-form-footer,.admin-health-center-form-page .full-width,.admin-service-form-page .full-width{grid-column:1 / -1}.health-center-details-page .dashboard-card{margin-bottom:0}.health-center-profile-header{align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.health-center-profile-name{flex:1;min-width:0}.health-center-profile-name h2{margin:0 0 5px;color:var(--navy-800)}.health-center-profile-name p{margin:0;color:var(--ink-500)}.health-center-section-card{display:grid;gap:14px}.health-center-appointment-list{display:grid;gap:10px}.health-center-appointment-card{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px}.staff-profile-header{margin:4px 0 20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,var(--blue-50),#fff)}.staff-profile-section{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.staff-profile-information-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.doctor-appointment-card{display:flex;align-items:flex-start;gap:16px}.doctor-appointment-date{width:64px;flex:none;overflow:hidden;border:1px solid #d4e1f2;border-radius:12px;background:var(--blue-100);text-align:center}.doctor-appointment-date strong{display:block;padding:4px;background:var(--red-600);color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.doctor-appointment-date>span{display:block;padding:6px 0;color:var(--navy-800);font-size:1.4rem;font-weight:800}.doctor-appointment-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.doctor-appointment-header h4,.doctor-prescription-header h4{margin:0 0 3px;color:var(--navy-800)}.doctor-appointment-header p,.doctor-prescription-date p{margin:0;color:var(--ink-500);font-size:.84rem}.doctor-appointment-information{margin-bottom:14px}.doctor-prescription-header{justify-content:space-between;gap:12px;margin-bottom:14px}.doctor-prescription-icon{width:44px;height:44px}.doctor-prescription-medicines{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--blue-50)}.doctor-prescription-section-title{display:grid;gap:3px;margin-bottom:10px}.doctor-prescription-section-title>span{color:var(--ink-500);font-size:.67rem;font-weight:700;letter-spacing:.08em}.doctor-prescription-section-title>strong{color:var(--navy-800)}.doctor-prescription-items{display:grid;gap:9px}.doctor-prescription-item{padding:12px;border:1px solid #dfe7f2;border-left:3px solid var(--red-600);border-radius:10px;background:#fff}.doctor-prescription-medicine-name{margin-bottom:8px;color:var(--navy-800)}.doctor-prescription-medicine-details{gap:6px 12px}.doctor-prescription-medicine-details span{color:var(--ink-700);font-size:.82rem}.doctor-prescription-item-instructions,.doctor-prescription-instructions{margin-top:10px;padding:10px 12px;border-radius:9px;background:#fffaf0;color:var(--ink-700);font-size:.84rem}.doctor-prescription-instructions p{margin:4px 0 0}.doctor-prescription-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.patient-details-page .dashboard-card,.patient-profile-page .dashboard-card{margin-bottom:0}.patient-panel{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.patient-panel-head,.patient-history-top,.patient-consultation-header,.patient-prescription-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.patient-fact,.patient-info-item{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--blue-50)}.patient-section-card,.medical-record-section,.patient-history-section{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.patient-history-list,.patient-consultation-list,.patient-prescription-list{display:grid;gap:12px}.patient-history-date,.patient-history-time{color:var(--ink-500);font-size:.84rem}.patient-history-details,.patient-prescription-details{margin-top:10px}.patient-prescription-items{display:grid;gap:9px;margin-top:12px}.patient-prescription-item{padding:12px;border-left:3px solid var(--red-600);border-radius:0 9px 9px 0;background:var(--blue-50)}.patient-prescription-empty,.patient-empty-state{padding:24px;border:1px dashed #c8d7eb;border-radius:12px;color:var(--ink-500);text-align:center}.patient-profile-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.patient-details,.appointment-details{min-width:0}.patient-details>p,.appointment-details>p{overflow-wrap:anywhere}.admin-service-page .card-header,.admin-health-centers-page .card-header{align-items:center}@media(max-width:900px){.admin-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.admin-doctor-form-grid,.admin-health-center-form-grid,.admin-service-form-grid,.admin-staff-form-grid{grid-template-columns:minmax(0,1fr)}.admin-health-center-form-footer,.admin-health-center-form-page .full-width,.admin-service-form-page .full-width{grid-column:auto}.admin-doctor-card,.admin-user-card,.doctor-appointment-card{align-items:flex-start}.admin-doctor-action,.admin-user-action{justify-content:flex-start}}@media(max-width:560px){.admin-report-grid{grid-template-columns:minmax(0,1fr)}.admin-doctor-card,.admin-user-card,.admin-health-center-header,.health-center-header,.admin-service-header,.doctor-appointment-card{flex-wrap:wrap}.admin-doctor-action,.admin-user-action{width:100%}.admin-doctor-action>*,.admin-user-action>*{flex:1 1 auto}.admin-doctor-action>:is(a,button),.admin-user-action>:is(a,button){justify-content:center}.doctor-appointment-content{width:calc(100% - 80px)}.admin-health-center-profile-header,.health-center-profile-header{flex-wrap:wrap}}.primary-button,.secondary-button,.btn,.btn-primary,.btn-secondary,.btn-danger,.status-button,.logout-button{min-height:44px;padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:600;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.primary-button,.btn-primary{border:1px solid var(--navy-700);background:linear-gradient(135deg,var(--navy-700),var(--navy-600));color:#fff;box-shadow:0 3px 8px #0a3d8f24}.primary-button:hover,.btn-primary:hover{border-color:var(--navy-800);background:var(--navy-800);color:#fff;box-shadow:0 5px 13px #0a2f6b33;transform:translateY(-1px)}.secondary-button,.btn-secondary{border:1px solid #c7d5e9;background:#fff;color:var(--navy-700);box-shadow:0 1px 2px #0a2f6b0a}.secondary-button:hover,.btn-secondary:hover{border-color:#9bb4da;background:var(--blue-50);color:var(--navy-800);box-shadow:0 3px 9px #0a2f6b14;transform:translateY(-1px)}.btn-danger{border:1px solid var(--red-600);background:var(--red-600);color:#fff;box-shadow:0 2px 7px #d91e2524}.btn-danger:hover{border-color:var(--red-700);background:var(--red-700);color:#fff;box-shadow:0 4px 11px #b8141a2e;transform:translateY(-1px)}.status-button.deactivate:hover,.status-button.activate:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.btn:active,.btn-primary:active,.btn-secondary:active,.btn-danger:active,.status-button:active,.logout-button:active{transform:translateY(0);box-shadow:none}.primary-button:focus-visible,.secondary-button:focus-visible,.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.status-button:focus-visible,.logout-button:focus-visible{outline:3px solid rgba(21,83,184,.38);outline-offset:2px}.primary-button:disabled,.secondary-button:disabled,.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.status-button:disabled,.logout-button:disabled{border-color:#d8dee8;background:#e9edf3;color:#758198;box-shadow:none;cursor:not-allowed;opacity:1;transform:none}.btn-sm{min-height:36px;padding:7px 12px;border-radius:8px;font-size:.82rem}.card-header>a:not(.primary-button):not(.secondary-button):not(.btn){display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #d4e1f2;border-radius:10px;background:var(--blue-50);color:var(--navy-700);font-weight:600;line-height:1.25;text-align:center;text-decoration:none;white-space:normal;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.card-header>a:not(.primary-button):not(.secondary-button):not(.btn):hover{border-color:#b9cbe8;background:var(--blue-100);color:var(--navy-800)}.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions,.admin-service-footer-actions,.admin-doctor-detail-actions,.admin-health-center-footer-actions,.doctor-prescription-actions,.doctor-appointment-actions,.health-center-footer,.patient-action,.form-actions,.patient-welcome-actions,.staff-welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions{justify-content:flex-end}.admin-service-footer{align-items:center;gap:12px}.admin-service-footer-actions form,.admin-service-status-form,.doctor-appointment-actions form,.admin-doctor-action form,.admin-user-action form{display:flex;margin:0}.admin-service-footer-actions form>button,.admin-service-status-form>button,.doctor-appointment-actions form>button,.admin-doctor-action form>button,.admin-user-action form>button{width:100%}.doctor-prescription-actions>.btn{flex:1 1 150px}.doctor-appointment-actions>*,.admin-doctor-action>*,.admin-user-action>*{min-width:0}.form-actions{justify-content:flex-end;gap:10px}.form-actions>:is(a,button,.btn),.admin-doctor-form-actions>*,.admin-health-center-form-actions>*,.admin-service-form-actions>*{min-width:140px}.logout-button{border:1px solid var(--red-600);box-shadow:0 2px 6px #d91e2529}@media(max-width:640px){.card-header{align-items:stretch}.card-header>a:not(.primary-button):not(.secondary-button):not(.btn){width:fit-content;max-width:100%}.admin-doctor-header-actions,.admin-health-center-header-actions,.admin-service-header-actions,.admin-service-footer-actions,.admin-doctor-detail-actions,.admin-health-center-footer-actions,.doctor-prescription-actions,.doctor-appointment-actions,.health-center-footer,.patient-action,.form-actions,.admin-doctor-form-actions,.admin-health-center-form-actions,.admin-service-form-actions{gap:8px}.doctor-prescription-actions>.btn,.form-actions>:is(a,button,.btn),.admin-doctor-form-actions>*,.admin-health-center-form-actions>*,.admin-service-form-actions>*{flex:1 1 100%;min-width:0}.admin-service-footer{align-items:stretch}.admin-service-footer-actions,.admin-service-status-form{flex:1 1 100%}.admin-service-footer-actions>a,.admin-service-footer-actions form,.admin-service-status-form>button{flex:1 1 0}.doctor-appointment-actions>*,.doctor-appointment-actions form,.doctor-appointment-actions form>button{flex:1 1 100%}.patient-welcome-actions>*,.staff-welcome-actions>*{width:100%}}html body .auth-page{position:relative;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);overflow:auto;background:var(--ek-hero-image) center / cover no-repeat;isolation:isolate}html body .auth-page:before{position:absolute;z-index:-1;background:linear-gradient(110deg,#071f4ad6,#0a3d8fa8 48%,#071f4a57)}html body .auth-page .auth-hero{justify-content:center;padding:clamp(32px,6vw,88px);background:transparent;color:#fff}html body .auth-page .auth-hero-brand{gap:16px}html body .auth-page .auth-hero-brand img{width:76px;height:76px;padding:3px;border:2px solid rgba(255,255,255,.88);box-shadow:0 0 0 4px #e8c46ab3,0 8px 24px #0003;object-fit:cover}html body .auth-page .auth-hero-brand strong,html body .auth-page .auth-hero-brand span,html body .auth-page .auth-hero h2,html body .auth-page .auth-hero p{color:#fff}html body .auth-page .auth-hero-brand span{color:#dbe7fa}html body .auth-page .auth-hero h2{max-width:560px;margin:42px 0 14px;font-size:clamp(2.25rem,4.2vw,3.6rem);line-height:1.12;letter-spacing:-.035em;text-shadow:0 3px 20px rgba(0,0,0,.18)}html body .auth-page .auth-hero h2 em{color:#f5d477}html body .auth-page .auth-hero p{max-width:490px;color:#e5edfb;font-size:1.04rem;line-height:1.75}html body .auth-page .auth-panel{min-width:0;padding:clamp(24px,4vw,64px);background:transparent}html body .auth-page .auth-card{max-width:480px;padding:clamp(28px,3vw,42px);border:1px solid rgba(255,255,255,.82);border-top:5px solid var(--red-600);border-radius:20px;background:#fffffff7;box-shadow:0 24px 70px #071f4a47;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html body .auth-page .auth-card-logo{width:68px;height:68px;padding:3px;border:2px solid #fff;box-shadow:0 0 0 3px var(--gold-400),0 5px 14px #071f4a1f;object-fit:cover}html body .auth-page .auth-card h1{margin:0 0 6px;color:var(--navy-800);font-size:clamp(1.55rem,2.5vw,1.85rem);letter-spacing:-.025em}html body .auth-page .auth-card>p:not(.auth-switch):not(.auth-foot){margin-bottom:26px;color:var(--ink-500)}html body .auth-page .auth-field{margin-bottom:20px}html body .auth-page .auth-field label{margin-bottom:8px;color:var(--ink-900);font-size:.88rem}html body .auth-page .auth-field input{min-height:48px;padding:11px 14px;border:1px solid #cbd8e9;border-radius:10px;background:#fff;font-size:.93rem}html body .auth-page .auth-field input:focus{border-color:var(--navy-600);box-shadow:0 0 0 4px #1553b824}html body .auth-page .auth-row{margin:4px 0 22px;color:var(--ink-700)}html body .auth-page .auth-row a,html body .auth-page .auth-switch a{color:var(--navy-700);font-weight:700;text-decoration:none}html body .auth-page .auth-row a:hover,html body .auth-page .auth-switch a:hover{color:var(--red-700);text-decoration:underline;text-underline-offset:3px}html body .auth-page .auth-check{min-height:40px;gap:9px}html body .auth-page .auth-check input{width:18px;height:18px;margin:0;accent-color:var(--navy-700)}html body .auth-page .auth-card .primary-button{min-height:48px;border-radius:10px;font-size:.98rem}html body .auth-page .auth-switch{margin-top:22px;color:var(--ink-700)}html body .auth-page .auth-foot{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}html body .register-page{background:linear-gradient(110deg,#071f4ad1,#0a3d8f8f 52%,#071f4a47),var(--ek-hero-image) center / cover no-repeat}html body .register-card{border-top:5px solid var(--red-600);border-radius:20px;box-shadow:0 24px 70px #071f4a47}html body .register-header h1{font-size:clamp(1.45rem,2.5vw,1.8rem);letter-spacing:-.025em}html body .register-header p{font-size:.88rem}html body .register-field label{margin-bottom:7px;font-size:.83rem}html body .register-field input,html body .register-field select,html body .register-field textarea{min-height:46px;padding:10px 12px;border:1px solid #cbd8e9;border-radius:10px;background:#fff;font-family:var(--font);font-size:.9rem}html body .register-field textarea{min-height:88px}html body .register-field input:focus,html body .register-field select:focus,html body .register-field textarea:focus{border-color:var(--navy-600);box-shadow:0 0 0 4px #1553b824}html body .register-button{min-height:48px;border:1px solid var(--navy-700);border-radius:10px;background:linear-gradient(135deg,var(--navy-700),var(--navy-600));box-shadow:0 4px 12px #0a3d8f2e;font-size:.95rem}html body .register-button:hover{background:var(--navy-800);box-shadow:0 6px 16px #0a2f6b38;transform:translateY(-1px)}html body .register-switch,html body .register-foot{font-size:.82rem}html body .ek-auth{align-items:stretch;justify-content:flex-start;padding:0;background:linear-gradient(110deg,#071f4a66,#0a3d8f2e),var(--ek-hero-image) center / cover no-repeat}html body .ek-auth:before{position:fixed;background:#071f4a29}html body .ek-auth-brand{width:min(38%,520px);background:linear-gradient(155deg,#071f4af5,#0a3d8fe6)}html body .ek-seal{padding:3px;border:2px solid #fff;border-radius:50%;background:#fff;object-fit:cover;box-shadow:0 0 0 4px #e8c46ab3,0 5px 16px #0000002e}html body .ek-auth-panel{padding:clamp(24px,4vw,64px)}html body .ek-card{max-width:520px;padding:clamp(28px,4vw,42px);border-top:5px solid var(--red-600);border-radius:20px;box-shadow:0 24px 70px #071f4a3d}html body .ek-card h2{font-size:clamp(1.5rem,2.5vw,1.85rem)}html body .ek-card-intro{line-height:1.65}html body .ek-field input{min-height:48px;border-radius:10px}html body .ek-btn{min-height:48px;border-radius:10px;background:linear-gradient(135deg,var(--navy-700),var(--navy-600));box-shadow:0 3px 9px #0a3d8f24}html body .ek-btn:hover{background:var(--navy-800);box-shadow:0 5px 14px #0a2f6b33;transform:translateY(-1px)}html body .ek-btn--ghost{border-color:#c7d5e9;background:#fff;color:var(--navy-700);box-shadow:none}html body .ek-btn--ghost:hover{border-color:#9bb4da;background:var(--blue-50);color:var(--navy-800)}@media(max-width:991px){html body .auth-page{display:block;background-position:center}html body .auth-page:before{background:linear-gradient(135deg,#071f4aad,#0a3d8f6b)}html body .auth-page .auth-hero{display:none}html body .auth-page .auth-panel{min-height:100vh;min-height:100dvh;padding:24px 18px}html body .register-page{align-items:flex-start}}@media(max-width:768px){html body .ek-auth{align-items:center;padding:18px 14px}html body .ek-auth-brand{display:none}html body .ek-auth-panel{min-height:0;margin-left:0;padding:12px 0}}@media(max-width:600px){html body .register-page{padding:20px 12px}html body .register-layout{gap:16px}html body .register-brand-top{margin-bottom:12px}html body .register-brand-logo{width:48px;height:48px}html body .register-brand-name strong{font-size:22px}html body .register-brand h2{font-size:1.7rem}html body .register-brand-description{margin-top:10px;font-size:.88rem}html body .register-card{padding:22px 17px}html body .register-grid{grid-template-columns:minmax(0,1fr)}}html body .register-section-heading{width:100%;margin-top:5px;padding-top:12px;border-top:1px solid var(--line)}html body .register-section-heading--first{margin-top:0;padding-top:0;border-top:0}html body .register-section-heading h2{margin:0;color:var(--navy-800);font-size:.9rem;font-weight:700;letter-spacing:-.01em}html body .register-section-heading+.register-grid{margin-top:-7px}.ea-page{--ea-primary: #0b4f8a;--ea-primary-dark: #083e6d;--ea-text: #172033;--ea-label: #344054;--ea-muted: #5b6678;--ea-border: #d0d5dd;--ea-surface: #ffffff;--ea-soft: #f4f7fb;--ea-danger: #b42318;--ea-danger-bg: #fef3f2;--ea-danger-border: #fecdca;--ea-success: #1b6b3f;--ea-success-bg: #ecfdf3;--ea-success-border: #abefc6;--ea-ring: rgba(11, 79, 138, .28);--ea-radius: 10px;--ea-radius-lg: 16px;min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding:32px 40px;font-family:var(--font, "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif);color:var(--ea-text);background:linear-gradient(100deg,#042641b8,#04264161 55%,#0426412e),var(--ek-hero-image, none) center / cover no-repeat;background-color:#0b3a5f}.ea-page *,.ea-page *:before,.ea-page *:after{box-sizing:border-box}.ea-shell{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:56px;align-items:center}.ea-shell--wide{grid-template-columns:340px minmax(0,1fr);gap:48px}.ea-brand{color:#fff}.ea-brand-top{display:flex;align-items:center;gap:14px;margin-bottom:36px}.ea-brand-logo{width:60px;height:60px;padding:3px;object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 8px 24px #00000040}.ea-brand-name strong{display:block;font-size:26px;line-height:1.1;font-weight:700;letter-spacing:-.3px}.ea-brand-name span{display:block;margin-top:3px;font-size:13px;color:#ffffffe0}.ea-headline{margin:0;max-width:460px;font-size:40px;line-height:1.12;font-weight:700;letter-spacing:-1px;text-shadow:0 3px 16px rgba(0,0,0,.25)}.ea-shell--wide .ea-headline{font-size:34px}.ea-lead{margin:16px 0 0;max-width:420px;font-size:15px;line-height:1.65;color:#ffffffeb}.ea-points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;max-width:420px}.ea-points li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:#fffffff2}.ea-points li:before{content:"";flex:0 0 20px;height:20px;margin-top:1px;border-radius:50%;background:#ffffff2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 10.5l2.8 2.8L14 8'/%3E%3C/svg%3E") center / 100% no-repeat}.ea-card{width:100%;background:var(--ea-surface);border-radius:var(--ea-radius-lg);padding:36px 36px 24px;box-shadow:0 24px 56px #0000003d,0 4px 14px #00000014}.ea-shell--wide .ea-card{padding:32px 36px 22px}.ea-card-seal{display:block;width:56px;height:56px;margin:0 0 18px;object-fit:contain;border-radius:50%}.ea-title{margin:0;font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.4px;color:var(--ea-text)}.ea-subtitle{margin:8px 0 24px;font-size:14px;line-height:1.55;color:var(--ea-muted)}.ea-note{margin:-12px 0 20px;font-size:13px;color:var(--ea-muted)}.ea-note span{color:var(--ea-danger)}.ea-alert{margin-bottom:20px;padding:12px 14px;border-radius:var(--ea-radius);border:1px solid;border-left-width:4px;font-size:13.5px;line-height:1.5}.ea-alert p{margin:0}.ea-alert p+p{margin-top:4px}.ea-alert ul{margin:6px 0 0;padding-left:18px}.ea-alert--danger{color:var(--ea-danger);background:var(--ea-danger-bg);border-color:var(--ea-danger-border);border-left-color:var(--ea-danger)}.ea-alert--success{color:var(--ea-success);background:var(--ea-success-bg);border-color:var(--ea-success-border);border-left-color:var(--ea-success)}.ea-form{display:grid;gap:18px}.ea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.ea-full{grid-column:1 / -1}.ea-section{display:grid;gap:16px}.ea-section+.ea-section{padding-top:20px;border-top:1px solid #eaecf0}.ea-section-title{margin:0;font-size:15px;font-weight:600;color:var(--ea-text)}.ea-field label,.ea-label{display:block;margin-bottom:6px;font-size:13px;line-height:1.3;font-weight:600;color:var(--ea-label)}.ea-field label .ea-req{color:var(--ea-danger)}.ea-field label small{color:var(--ea-muted);font-weight:400;font-size:12px}.ea-field input:not([type=checkbox]),.ea-field select{display:block;width:100%;height:46px;padding:0 14px;font:inherit;font-size:14px;color:var(--ea-text);background-color:#fff;border:1px solid var(--ea-border);border-radius:var(--ea-radius);transition:border-color .15s ease,box-shadow .15s ease}.ea-field select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235b6678' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.ea-field input::placeholder{color:#98a2b3}.ea-field input:hover,.ea-field select:hover{border-color:#98a2b3}.ea-field input:focus,.ea-field select:focus,.ea-field input:focus-visible,.ea-field select:focus-visible{outline:none;border-color:var(--ea-primary);box-shadow:0 0 0 4px var(--ea-ring)}.ea-field input[aria-invalid=true],.ea-field select[aria-invalid=true]{border-color:var(--ea-danger)}.ea-field input[aria-invalid=true]:focus,.ea-field select[aria-invalid=true]:focus{box-shadow:0 0 0 4px #b4231833}.ea-error{margin:6px 0 0;font-size:12.5px;color:var(--ea-danger)}.ea-hint{margin:6px 0 0;font-size:12.5px;color:var(--ea-muted)}.ea-password{position:relative}.ea-password input{padding-right:70px!important}.ea-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);min-width:52px;height:32px;padding:0 10px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ea-primary);background:transparent;border:0;border-radius:6px;cursor:pointer}.ea-toggle:hover{background:var(--ea-soft)}.ea-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ea-ring)}.ea-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ea-check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ea-label);cursor:pointer}.ea-check input{width:18px;height:18px;margin:0;accent-color:var(--ea-primary);cursor:pointer}.ea-check input:focus-visible{outline:3px solid var(--ea-ring);outline-offset:2px}.ea-link{color:var(--ea-primary);font-weight:600;text-decoration:none;border-radius:4px}.ea-link:hover{text-decoration:underline}.ea-link:focus-visible{outline:3px solid var(--ea-ring);outline-offset:2px}.ea-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:48px;padding:0 20px;font:inherit;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:var(--ea-primary);border:1px solid var(--ea-primary);border-radius:var(--ea-radius);box-shadow:0 6px 14px #0b4f8a33;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.ea-btn:hover{background:var(--ea-primary-dark);border-color:var(--ea-primary-dark)}.ea-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ea-ring)}.ea-btn:disabled,.ea-btn[aria-busy=true]{opacity:.7;cursor:not-allowed}.ea-btn--ghost{color:var(--ea-primary);background:#fff;border-color:var(--ea-border);box-shadow:none}.ea-btn--ghost:hover{background:var(--ea-soft);border-color:var(--ea-primary)}.ea-switch{margin:20px 0 0;text-align:center;font-size:14px;color:var(--ea-muted)}.ea-foot{margin:18px 0 0;padding-top:16px;border-top:1px solid #eaecf0;text-align:center;font-size:12px;color:var(--ea-muted)}.ea-otp{height:64px!important;text-align:center;font-size:28px!important;font-weight:600;letter-spacing:.6em;text-indent:.6em;font-variant-numeric:tabular-nums}.ea-divider{display:flex;align-items:center;gap:12px;margin:22px 0 14px;font-size:13px;color:var(--ea-muted)}.ea-divider:before,.ea-divider:after{content:"";flex:1;height:1px;background:#eaecf0}@media(max-width:1000px){.ea-page{padding:28px 24px;align-items:flex-start}.ea-shell,.ea-shell--wide{grid-template-columns:1fr;max-width:640px;gap:28px}.ea-brand{text-align:center}.ea-brand-top{justify-content:center;margin-bottom:20px;text-align:left}.ea-headline,.ea-shell--wide .ea-headline{max-width:none;font-size:30px}.ea-lead{margin-left:auto;margin-right:auto}.ea-points{display:none}}@media(max-width:600px){.ea-page{padding:16px 12px 28px}.ea-brand-top{margin-bottom:14px}.ea-brand-logo{width:48px;height:48px}.ea-brand-name strong{font-size:22px}.ea-headline,.ea-shell--wide .ea-headline{font-size:24px}.ea-lead{display:none}.ea-card,.ea-shell--wide .ea-card{padding:24px 18px 18px;border-radius:14px}.ea-card-seal{display:none}.ea-title{font-size:23px}.ea-grid{grid-template-columns:1fr}.ea-field input:not([type=checkbox]),.ea-field select{font-size:16px}.ea-otp{font-size:26px!important;letter-spacing:.45em;text-indent:.45em}}@media(prefers-reduced-motion:reduce){.ea-page *{transition:none!important}}.patient-announcements-page,.announcement-detail-page,.notifications-page,.announcement-management-page{--announcement-ink: #142b45;--announcement-muted: #65758a;--announcement-blue: #1769aa;--announcement-teal: #16a58b;color:var(--announcement-ink)}.announcement-hero,.announcement-management-hero,.notifications-hero{position:relative;display:flex;min-height:222px;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;margin-bottom:32px;padding:34px 38px;border:1px solid #dcecf0;border-radius:24px;background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.72) 0 2px,transparent 3px) 0 0 / 32px 32px,linear-gradient(112deg,#e9f7f5,#f2f8ff 62%,#e5f1ff);box-shadow:0 16px 42px #1e4a6714}.announcement-hero-copy,.announcement-management-hero>div:first-child,.notifications-hero-copy{position:relative;z-index:1;max-width:620px}.announcement-eyebrow,.announcement-section-kicker{display:inline-flex;align-items:center;gap:8px;color:#187766;font-size:.74rem;font-weight:800;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}.announcement-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#1ca88d;box-shadow:0 0 0 4px #1ca88d1f}.announcement-hero h2,.announcement-management-hero h2,.notifications-hero h2{margin:12px 0 9px;color:#142b45;font-size:clamp(1.8rem,3.4vw,2.65rem);font-weight:800;letter-spacing:-.045em;line-height:1.12}.announcement-hero p,.announcement-management-hero p,.notifications-hero p{max-width:570px;margin:0;color:#5d7085;font-size:.98rem;line-height:1.75}.announcement-hero-art{position:absolute;top:-58px;right:10%;display:grid;width:230px;height:230px;place-items:center;border:1px solid rgba(37,139,143,.12);border-radius:50%;background:#ffffff52;color:#168a83;transform:rotate(-12deg)}.announcement-hero-orbit{position:absolute;inset:23px;border:1px dashed rgba(28,139,143,.28);border-radius:50%}.announcement-hero-cross{display:grid;width:88px;height:88px;place-items:center;border:1px solid rgba(23,105,170,.12);border-radius:26px;background:linear-gradient(145deg,#fff,#e4f4f6);box-shadow:0 18px 34px #1e5b761f;color:#159781;font-size:5rem;font-weight:300;line-height:1}.announcement-hero-heart{position:absolute;right:12px;bottom:42px;display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#fff;box-shadow:0 9px 22px #1e5b7621;color:#e67578;font-size:1.25rem}.announcement-hero-count{position:absolute;right:32px;bottom:24px;display:flex;align-items:baseline;gap:8px;color:#557184;font-size:.82rem}.announcement-hero-count strong{color:#176f79;font-size:1.35rem}.announcement-feed-heading,.announcement-management-heading,.notification-group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 2px 17px}.announcement-feed-heading h3,.announcement-management-heading h3,.notification-group-heading h3{margin:5px 0 0;color:#183149;font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.announcement-section-kicker{color:#708398;font-size:.68rem}.announcement-feed-note{color:#8190a0;font-size:.82rem}.announcement-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.announcement-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid #e3eaf0;border-radius:19px;background:#fff;box-shadow:0 8px 24px #1a364f0b;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.announcement-card:hover{border-color:#cbdfe5;box-shadow:0 16px 34px #1a455f1c;transform:translateY(-3px)}.announcement-card--featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr)}.announcement-card-visual{position:relative;display:flex;min-height:210px;overflow:hidden;align-items:center;justify-content:center;background:radial-gradient(circle at 78% 22%,rgba(255,255,255,.65) 0 2px,transparent 3px) 0 0 / 26px 26px,linear-gradient(135deg,#c8eeea,#dcecff);color:#12847d;text-decoration:none}.announcement-card:not(.announcement-card--featured) .announcement-card-visual{min-height:174px}.announcement-card-visual img,.announcement-management-thumb img{width:100%;height:100%;object-fit:cover}.announcement-card-visual img{position:absolute;inset:0;transition:transform .45s ease}.announcement-card:hover .announcement-card-visual img{transform:scale(1.04)}.announcement-visual-mark{display:grid;width:76px;height:76px;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#ffffffa8;box-shadow:0 15px 30px #296f7b1a;font-size:4rem;font-weight:300;line-height:1}.announcement-visual-caption{position:absolute;right:18px;bottom:16px;color:#13525da6;font-size:.7rem;font-weight:800;letter-spacing:.09em;line-height:1.25;text-align:right;text-transform:uppercase}.announcement-featured-label{position:absolute;top:16px;left:16px;padding:7px 11px;border:1px solid rgba(255,255,255,.7);border-radius:99px;background:#ffffffe6;color:#176f79;font-size:.7rem;font-weight:800;letter-spacing:.03em}.announcement-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px 23px 21px}.announcement-card--featured .announcement-card-content{justify-content:center;padding:30px clamp(24px,4vw,44px)}.announcement-card-meta,.announcement-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 13px;color:#8291a0;font-size:.75rem}.announcement-source{display:inline-flex;min-width:0;align-items:center;gap:7px;color:#397578;font-weight:700}.announcement-source-icon{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:7px;background:#e6f6f2;color:#168d7c;font-size:.72rem}.announcement-card h3{margin:13px 0 8px;color:#183149;font-size:1.2rem;font-weight:800;letter-spacing:-.025em;line-height:1.35}.announcement-card--featured h3{max-width:540px;margin-top:15px;font-size:clamp(1.45rem,2.5vw,2rem)}.announcement-card h3 a{color:inherit;text-decoration:none}.announcement-card h3 a:hover{color:#1769aa}.announcement-excerpt{margin:0 0 18px;color:#6d7d8e;font-size:.9rem;line-height:1.7}.announcement-read-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#167a78;font-size:.83rem;font-weight:800;text-decoration:none}.announcement-read-link span{transition:transform .18s ease}.announcement-read-link:hover{color:#105e68}.announcement-read-link:hover span{transform:translate(2px,-2px)}.announcement-empty{display:flex;min-height:270px;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;border:1px dashed #cedde5;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbfd);text-align:center}.announcement-empty-icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:14px;border-radius:18px;background:#e8f6f3;color:#178778;font-size:1.45rem}.announcement-empty h3{margin:0 0 7px;color:#1c344b;font-size:1.2rem}.announcement-empty p{max-width:420px;margin:0;color:#738396;font-size:.9rem;line-height:1.7}.announcement-empty .primary-button{margin-top:18px}.announcement-detail-page{max-width:920px;margin:0 auto;padding:clamp(20px,4vw,42px);border:1px solid #e4ebf0;border-radius:22px;background:#fff;box-shadow:0 14px 38px #1a364f0e}.announcement-back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;color:#527185;font-size:.84rem;font-weight:700;text-decoration:none}.announcement-back-link:hover{color:#1769aa}.announcement-back-link span{font-size:1.15rem}.announcement-detail-header{margin-bottom:24px}.announcement-detail-header h2{max-width:780px;margin:10px 0 16px;color:#172f47;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.045em;line-height:1.15}.announcement-detail-meta{gap:10px;font-size:.84rem}.announcement-meta-separator{width:4px;height:4px;border-radius:50%;background:#b7c4cf}.announcement-detail-image{max-height:460px;overflow:hidden;margin:0 0 30px;border-radius:17px;background:#e8f3f5}.announcement-detail-image img{display:block;width:100%;max-height:460px;object-fit:cover}.announcement-detail-body{color:#3e5369;font-size:1rem;line-height:1.9;overflow-wrap:anywhere}.announcement-detail-footer{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;padding:20px;border:1px solid #e1efed;border-radius:15px;background:linear-gradient(110deg,#f0faf7,#f4f8ff)}.announcement-detail-footer>div:first-child{min-width:0;flex:1 1 240px}.announcement-footer-mark{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;background:#dff4ee;color:#138675;font-size:2rem;font-weight:300}.announcement-detail-footer div{flex:1}.announcement-detail-footer strong{color:#1d4856;font-size:.87rem}.announcement-detail-footer p{margin:3px 0 0;color:#718294;font-size:.78rem}.notifications-hero{min-height:185px;margin-bottom:30px;background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.72) 0 2px,transparent 3px) 0 0 / 32px 32px,linear-gradient(112deg,#e9f7f5,#f2f8ff)}.notifications-hero-icon{display:grid;width:66px;height:66px;flex:0 0 66px;place-items:center;border:1px solid rgba(255,255,255,.85);border-radius:21px;background:#ffffffb8;box-shadow:0 12px 26px #2463711a;color:#168879}.notifications-hero-icon svg{width:30px;height:30px}.notifications-hero-copy{flex:1}.notifications-hero h2{margin-top:5px}.notifications-summary{display:flex;align-items:center;gap:18px;padding:15px 19px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:#ffffff94}.notifications-summary-stat{display:grid;gap:2px;text-align:center}.notifications-summary-stat strong{color:#185d68;font-size:1.25rem;line-height:1.1}.notifications-summary-stat span{color:#6d8291;font-size:.7rem;font-weight:700}.notifications-summary-divider{width:1px;height:32px;background:#d7e5e8}.notification-group{margin-bottom:30px}.notification-group-heading{align-items:center}.notification-count-pill{padding:6px 11px;border:1px solid #d8efea;border-radius:99px;background:#effaf7;color:#16816f;font-size:.73rem;font-weight:800}.notification-list{display:grid;gap:12px}.notification-card{display:flex;gap:16px;padding:20px 22px;border:1px solid #e1e9ef;border-radius:16px;background:#fff;box-shadow:0 6px 18px #1a364f09}.notification-card--unread{border-color:#cce9e2;background:linear-gradient(105deg,#fbfffe,#f3fbf9)}.notification-card-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:13px;background:#e3f5f0;color:#168879;font-size:1rem}.notification-card--read .notification-card-icon{background:#f0f3f6;color:#7e8d9b;font-size:.85rem}.notification-card-copy{flex:1;min-width:0}.notification-card-topline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;margin-bottom:7px}.notification-type-label{color:#16816f;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.notification-card-topline time{color:#8794a1;font-size:.73rem}.notification-card h4{margin:0 0 5px;color:#1a354c;font-size:.99rem;font-weight:800}.notification-card p{margin:0;color:#687b8e;font-size:.87rem;line-height:1.65;overflow-wrap:anywhere}.notification-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:14px}.notification-card-actions form{margin:0}.notification-mark-read{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#77899a;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.notification-mark-read:hover{color:#176d69}.notification-group--read .notification-card{padding-top:17px;padding-bottom:17px}.notification-group--read .notification-card p{font-size:.83rem}.notification-group--read .announcement-read-link{margin-top:10px;font-size:.78rem}.notifications-empty{min-height:230px}.announcement-management-hero{min-height:190px;flex-wrap:wrap;margin-bottom:30px;padding:30px 34px 76px}.announcement-management-hero>.primary-button{position:relative;z-index:1;flex:0 0 auto}.announcement-management-hero>.primary-button span{margin-right:5px;font-size:1.1rem;vertical-align:-1px}.announcement-management-stats{position:absolute;right:32px;bottom:17px;display:flex;gap:23px}.announcement-management-stats>div{display:flex;align-items:baseline;gap:7px}.announcement-management-stats strong{color:#176f79;font-size:1rem}.announcement-management-stats span{color:#718596;font-size:.74rem}.announcement-management-list{display:grid;gap:13px}.announcement-management-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid #e2e9ef;border-radius:17px;background:#fff;box-shadow:0 5px 16px #1a364f09;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.announcement-management-card:hover{border-color:#d1e1e7;box-shadow:0 11px 25px #1a364f13;transform:translateY(-1px)}.announcement-management-thumb{display:grid;width:105px;height:88px;overflow:hidden;place-items:center;border-radius:12px;background:linear-gradient(145deg,#e0f4ef,#e7f0ff);color:#178779;font-size:2.5rem}.announcement-management-copy{min-width:0}.announcement-management-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;color:#7f8d9b;font-size:.72rem}.announcement-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;font-size:.68rem;font-weight:800}.announcement-status>span{width:6px;height:6px;border-radius:50%}.announcement-status--published{background:#e8f7f0;color:#25835d}.announcement-status--published>span{background:#30a36e}.announcement-status--draft{background:#f1f3f6;color:#718096}.announcement-status--draft>span{background:#98a4b2}.announcement-management-copy h4{overflow:hidden;margin:8px 0 4px;color:#1a354c;font-size:1rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.announcement-management-copy p{display:-webkit-box;overflow:hidden;margin:0 0 5px;color:#718194;font-size:.8rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.announcement-management-copy small{color:#8a97a4;font-size:.7rem}.announcement-management-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:275px}.announcement-management-actions form{display:flex;margin:0}.announcement-management-actions button{min-height:34px;padding:6px 10px;border:1px solid #dce5ec;border-radius:8px;background:#fff;color:#526a7b;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700}.announcement-management-actions button:hover{border-color:#b7d8d1;background:#f1faf7;color:#167567}.announcement-management-actions .announcement-delete-button{border-color:#f0d9dc;color:#b84f5b}.announcement-management-actions .announcement-delete-button:hover{border-color:#eab9bf;background:#fff5f5;color:#a33643}.announcement-management-page .announcement-management-heading{margin-top:8px}.announcement-management-page .announcement-page-navigation{margin:8px 0 22px}.announcement-management-page .announcement-page-navigation .secondary-button{min-height:46px;padding:0 20px;border-radius:12px;border:1px solid #dfeaf4;background:linear-gradient(180deg,#fff,#f4f9ff);color:#214b7c;font-weight:700;box-shadow:0 8px 18px #183d5f0a}.announcement-management-page .announcement-page-navigation .secondary-button:hover{border-color:#bfd8f0;background:linear-gradient(180deg,#f8fbff,#edf6ff);color:#183a68}.announcement-management-page .list-search{margin-bottom:18px}.announcement-management-page .list-search .search-input,.announcement-management-page .list-search select{min-height:46px;border-radius:12px;border:1px solid #dfeaf3;background:#fff;box-shadow:inset 0 1px #ffffffbf}.announcement-management-page .list-search .search-input:focus,.announcement-management-page .list-search select:focus{border-color:#7bb8b0;box-shadow:0 0 0 4px #5ea2921f;outline:none}.announcement-management-page .announcement-management-card{background:linear-gradient(180deg,#fff,#fbfdff)}.announcement-management-page .announcement-management-actions a,.announcement-management-page .announcement-management-actions button{min-height:36px;padding:8px 11px;border-radius:10px;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.announcement-management-page .announcement-management-actions a:hover,.announcement-management-page .announcement-management-actions button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #173d5c0f}.announcement-management-page .announcement-management-actions .announcement-delete-button{min-width:86px}@media(max-width:760px){.announcement-management-hero{display:grid;grid-template-columns:1fr;align-items:start;padding:24px 20px}.announcement-management-hero>.primary-button{width:100%;justify-content:center}.announcement-management-card{grid-template-columns:1fr;gap:14px;padding:14px}.announcement-management-thumb{width:100%;height:170px}.announcement-management-actions{justify-content:stretch;max-width:none}.announcement-management-actions>*{flex:1 1 48%}.announcement-management-actions form{width:100%}.announcement-management-actions a,.announcement-management-actions button{width:100%;justify-content:center}}.announcement-form-page{overflow:hidden;border:1px solid #e1eaf0;border-radius:20px;background:#fff;box-shadow:0 12px 32px #1a364f0e}.announcement-form-page>.card-header{padding:25px 28px;border-bottom:1px solid #e7edf1;background:linear-gradient(110deg,#f0faf7,#f3f7ff)}.announcement-form-page>.card-header h3{color:#183149;font-size:1.35rem;font-weight:800}.announcement-form-page>.stacked-form{padding:26px 28px 30px}.announcement-form-page .form-grid{gap:19px}.announcement-form-page .form-field label:not(.checkbox-field label){color:#344d63;font-size:.82rem;font-weight:700}.announcement-form-page .form-field input:not([type=checkbox]),.announcement-form-page .form-field select,.announcement-form-page .form-field textarea{border-color:#dce5ec;border-radius:10px;background-color:#fbfcfe}.announcement-form-page .form-field input:focus,.announcement-form-page .form-field select:focus,.announcement-form-page .form-field textarea:focus{border-color:#71b9ac;background:#fff;box-shadow:0 0 0 3px #2099821c;outline:0}.announcement-form-page .checkbox-field{padding:12px 14px;border:1px solid #deeee8;border-radius:10px;background:#f5fbf8}.announcement-form-page .form-actions{margin-top:8px;padding-top:18px;border-top:1px solid #edf1f4}.announcement-current-image{display:block;width:min(100%,360px);max-height:220px;margin-top:8px;border:1px solid #e1e9ef;border-radius:12px;object-fit:cover}.patient-announcement-preview .announcement-preview-list{gap:12px}.patient-announcement-preview .announcement-preview-item{align-items:flex-start;padding:13px;border:1px solid #e7edf1;border-radius:12px;background:#fbfdfd}.patient-announcement-preview .announcement-preview-item .info-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:#e7f6f2}.patient-announcement-preview .announcement-preview-item strong a{color:#1b4358;text-decoration:none}.patient-announcement-preview .announcement-preview-item strong a:hover{color:#1769aa}.patient-announcement-preview .announcement-preview-item p{margin-top:4px;color:#708194;font-size:.8rem;line-height:1.55}@media(max-width:900px){.announcement-hero-art{right:2%;opacity:.55}.announcement-hero-copy,.announcement-management-hero>div:first-child{max-width:68%}.announcement-detail-footer{align-items:stretch;flex-direction:column}.announcement-detail-footer>.secondary-button,.announcement-detail-footer>.primary-button{width:100%;justify-content:center}.announcement-management-card{grid-template-columns:82px minmax(0,1fr)}.announcement-management-thumb{width:82px;height:78px}.announcement-management-actions{grid-column:2;justify-content:flex-start;max-width:none}}@media(max-width:640px){.announcement-hero,.announcement-management-hero,.notifications-hero{min-height:auto;align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px;padding:25px 22px;border-radius:18px}.announcement-hero-copy,.announcement-management-hero>div:first-child{max-width:none}.announcement-hero-art{top:auto;right:-62px;bottom:-94px;width:180px;height:180px;opacity:.28}.announcement-hero-count{position:relative;right:auto;bottom:auto;z-index:1}.announcement-hero h2,.announcement-management-hero h2,.notifications-hero h2{font-size:1.8rem}.announcement-hero p,.announcement-management-hero p,.notifications-hero p{font-size:.88rem}.announcement-feed-heading,.announcement-management-heading,.notification-group-heading{align-items:flex-start}.announcement-feed-note{display:none}.announcement-feed{grid-template-columns:1fr;gap:14px}.announcement-card--featured{grid-column:auto;display:flex}.announcement-card-visual,.announcement-card:not(.announcement-card--featured) .announcement-card-visual{min-height:180px}.announcement-card-content,.announcement-card--featured .announcement-card-content{padding:18px}.announcement-detail-page{padding:21px 17px;border-radius:17px}.announcement-detail-footer{align-items:flex-start;flex-wrap:wrap;padding:16px}.announcement-detail-footer>.secondary-button{width:100%;justify-content:center}.notifications-hero{align-items:flex-start}.notifications-summary{align-self:stretch;justify-content:center;padding:11px}.notification-card{gap:11px;padding:16px 14px}.notification-card-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}.notification-card-topline{align-items:flex-start;flex-direction:column;gap:4px}.announcement-management-hero>.primary-button{width:100%;justify-content:center}.announcement-management-stats{position:relative;right:auto;bottom:auto;display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:8px}.announcement-management-stats>div{align-items:flex-start;flex-direction:column;gap:2px}.announcement-management-card{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px;padding:12px}.announcement-management-thumb{width:64px;height:64px;border-radius:10px;font-size:2rem}.announcement-management-copy h4{margin-top:7px;font-size:.91rem;white-space:normal}.announcement-management-copy p{font-size:.75rem}.announcement-management-actions{grid-column:1 / -1;justify-content:flex-start}.announcement-form-page>.card-header,.announcement-form-page>.stacked-form{padding-right:17px;padding-left:17px}}@media(prefers-reduced-motion:reduce){.announcement-card,.announcement-card-visual img,.announcement-read-link span,.announcement-management-card{transition:none}}.announcement-hero,.announcement-management-hero,.notifications-hero{min-height:0;margin-bottom:24px;padding:23px 25px;border:1px solid #e2e8ed;border-radius:14px;background:#fff;box-shadow:none}.announcement-hero h2,.announcement-management-hero h2,.notifications-hero h2{margin:0 0 5px;color:#263849;font-size:1.45rem;font-weight:700;letter-spacing:-.02em}.announcement-hero p,.announcement-management-hero p,.notifications-hero p{color:#6b7785;font-size:.9rem;line-height:1.55}.announcement-hero-art,.announcement-feed-note,.announcement-section-kicker,.announcement-featured-label,.announcement-management-stats{display:none}.announcement-hero-count{position:static;flex:0 0 auto;color:#6b7785}.announcement-hero-count strong{color:#344b60;font-size:1rem}.announcement-feed-heading,.announcement-management-heading,.notification-group-heading{margin:0 0 12px}.announcement-feed-heading h3,.announcement-management-heading h3,.notification-group-heading h3{margin:0;color:#2b3e50;font-size:1.05rem;font-weight:700;letter-spacing:0}.announcement-feed{grid-template-columns:1fr;gap:12px}.announcement-card,.announcement-card--featured{display:grid;grid-column:auto;grid-template-columns:148px minmax(0,1fr);flex-direction:row;border-color:#e3e8ed;border-radius:13px;box-shadow:none}.announcement-card:hover,.announcement-management-card:hover{border-color:#d5dee5;box-shadow:0 4px 12px #1a364f0d;transform:none}.announcement-card-visual,.announcement-card:not(.announcement-card--featured) .announcement-card-visual{min-height:132px;background:#f0f5f7}.announcement-card-visual img{transition:none}.announcement-card:hover .announcement-card-visual img{transform:none}.announcement-visual-mark{width:42px;height:42px;border:0;border-radius:12px;background:#e4f0ee;box-shadow:none;color:#328477;font-size:1.4rem}.announcement-card-content,.announcement-card--featured .announcement-card-content{justify-content:center;padding:15px 18px}.announcement-card-meta{gap:7px 11px;color:#758292}.announcement-source{color:#557267}.announcement-source-icon{display:none}.announcement-card h3,.announcement-card--featured h3{margin:7px 0 4px;color:#2b3e50;font-size:1rem;font-weight:700;letter-spacing:0}.announcement-excerpt{margin-bottom:9px;color:#687787;font-size:.84rem;line-height:1.55}.announcement-read-link{color:#39776e;font-size:.8rem}.announcement-read-link:hover span{transform:none}.announcement-empty{min-height:190px;border:1px solid #e3e8ed;border-radius:14px;background:#fff}.announcement-empty-icon{width:42px;height:42px;margin-bottom:10px;border-radius:13px;background:#eef5f3;color:#4c887d;font-size:1rem}.announcement-empty h3{color:#34485b;font-size:1.05rem}.announcement-empty p{color:#758292;font-size:.85rem}.announcement-detail-page{padding:26px;border-color:#e3e8ed;border-radius:14px;box-shadow:none}.announcement-back-link{margin-bottom:20px;color:#637486}.announcement-detail-header h2{margin:0 0 12px;color:#263849;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.025em}.announcement-detail-meta{color:#758292}.announcement-detail-image{max-height:390px;margin-bottom:22px;border-radius:12px}.announcement-detail-image img{max-height:390px}.announcement-detail-body{color:#46596c;font-size:.96rem;line-height:1.8}.announcement-detail-footer{gap:12px;margin-top:25px;padding:15px;border:1px solid #e4eae9;border-radius:12px;background:#f8fbfa}.announcement-footer-mark{width:36px;height:36px;flex-basis:36px;border-radius:10px;background:#eaf3f1;color:#4c887d;font-size:1.5rem}.announcement-detail-footer strong{color:#344b54;font-size:.83rem}.announcement-detail-footer p{color:#758292;font-size:.76rem}.notifications-hero{align-items:center}.notifications-hero-copy{max-width:none}.notification-count-pill{border-color:#dfe8e4;background:#f3f8f6;color:#54776c;font-weight:700}.notification-group{margin-bottom:24px}.notification-list{gap:8px}.notification-card{gap:12px;padding:15px 17px;border-color:#e3e8ed;border-radius:12px;box-shadow:none}.notification-card--unread{border-color:#d8e8e3;border-left:3px solid #74aa9a;background:#fbfdfc}.notification-card-copy{width:100%}.notification-card-topline{margin-bottom:5px}.notification-card-topline time{color:#84909c;font-size:.72rem}.notification-card h4{margin-bottom:4px;color:#2c4052;font-size:.92rem;font-weight:700}.notification-card p{color:#687787;font-size:.83rem;line-height:1.55}.notification-card-actions{gap:10px 18px;margin-top:10px}.notification-mark-read{color:#687a89}.notification-group--read .notification-card{padding-top:13px;padding-bottom:13px}.announcement-management-hero{flex-direction:row;flex-wrap:nowrap;padding:20px 22px}.announcement-management-hero>div:first-child{max-width:none}.announcement-management-hero>.primary-button{flex:0 0 auto}.announcement-management-hero>.primary-button span{margin:0}.announcement-management-card{grid-template-columns:76px minmax(0,1fr) auto;gap:14px;padding:13px;border-color:#e3e8ed;border-radius:12px;box-shadow:none}.announcement-management-thumb{width:76px;height:68px;border-radius:9px;background:#f0f5f7;color:#56877d;font-size:1.7rem}.announcement-management-meta{gap:6px 10px}.announcement-status{padding:3px 8px;font-weight:700}.announcement-management-copy h4{margin:6px 0 3px;color:#2b3e50;font-size:.92rem;font-weight:700}.announcement-management-copy p{margin-bottom:3px;color:#6d7b89;font-size:.78rem}.announcement-management-actions{gap:5px}.announcement-management-actions button{min-height:32px;padding:5px 9px;border-color:#e0e6eb;border-radius:7px;color:#566a7b;font-weight:600}.announcement-management-actions button:hover{border-color:#ccd9d5;background:#f7faf9;color:#456d63}.announcement-management-actions .announcement-delete-button{border-color:#eadfe0;color:#a56b70}.announcement-management-actions .announcement-delete-button:hover{border-color:#e3cdcf;background:#fcf8f8;color:#96555b}@media(max-width:640px){.announcement-hero,.announcement-management-hero,.notifications-hero{align-items:flex-start;flex-direction:column;gap:12px;padding:18px;border-radius:12px}.announcement-hero-count{gap:5px}.announcement-card,.announcement-card--featured{grid-template-columns:1fr}.announcement-card-visual,.announcement-card:not(.announcement-card--featured) .announcement-card-visual{min-height:150px;max-height:190px}.announcement-card-content,.announcement-card--featured .announcement-card-content{padding:14px}.announcement-detail-page{padding:20px 16px;border-radius:12px}.announcement-detail-footer{align-items:flex-start}.announcement-detail-footer>.secondary-button{width:auto;margin-left:48px}.announcement-management-hero>.primary-button{width:auto}.announcement-management-card{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:11px}.announcement-management-thumb{width:58px;height:58px}.announcement-management-actions{grid-column:1 / -1}}.announcement-image-preview-trigger{cursor:zoom-in}button.announcement-image-preview-trigger{padding:0;border:0;font:inherit}.announcement-image-preview-trigger:focus-visible{outline:3px solid rgba(23,105,170,.45);outline-offset:3px}.announcement-card-visual.announcement-image-preview-trigger,.announcement-management-thumb .announcement-image-preview-trigger{position:relative;width:100%;color:inherit}.announcement-card-visual.announcement-image-preview-trigger:after,.announcement-management-thumb .announcement-image-preview-trigger:after{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:6px;background:#162532b8;color:#fff;content:"Preview";font-size:.68rem;font-weight:600;opacity:0;transition:opacity .15s ease}.announcement-card-visual.announcement-image-preview-trigger:hover:after,.announcement-card-visual.announcement-image-preview-trigger:focus-visible:after,.announcement-management-thumb .announcement-image-preview-trigger:hover:after,.announcement-management-thumb .announcement-image-preview-trigger:focus-visible:after{opacity:1}.announcement-management-thumb .announcement-image-preview-trigger{display:block;height:100%;overflow:hidden;border-radius:inherit}.announcement-management-thumb .announcement-image-preview-trigger img{display:block}.announcement-detail-image .announcement-image-preview-trigger{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:inherit;background:transparent;cursor:zoom-in}.announcement-detail-image .announcement-image-preview-trigger img{display:block;transition:filter .18s ease}.announcement-detail-image .announcement-image-preview-trigger:hover img{filter:brightness(.94)}.announcement-image-preview-hint{position:absolute;right:12px;bottom:12px;padding:6px 10px;border-radius:7px;background:#162532b8;color:#fff;font-size:.72rem;font-weight:600}.announcement-current-image{position:relative;display:block;width:min(100%,360px);max-height:220px;padding:0;overflow:hidden;border:1px solid #e1e9ef;border-radius:12px;background:#f0f5f7}.announcement-current-image img{display:block;width:100%;max-height:220px;object-fit:cover}.announcement-upload-preview{display:flex;align-items:center;gap:10px;margin-top:10px;color:#607181;font-size:.78rem}.announcement-upload-preview[hidden]{display:none}.announcement-upload-preview img{width:92px;height:68px;border:1px solid #e1e8ed;border-radius:8px;background:#f2f5f7;object-fit:cover}.announcement-upload-preview button{width:92px;height:68px;padding:0;overflow:hidden;border:0;border-radius:8px;background:transparent}.announcement-upload-preview button img{display:block}.image-preview-modal{position:fixed;width:min(94vw,1100px);max-width:none;max-height:92vh;padding:48px 20px 16px;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#101820;box-shadow:0 24px 90px #0006;color:#fff}.image-preview-modal[open]{animation:image-preview-enter .18s ease-out both}.image-preview-modal::backdrop{background:#09121bc2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.image-preview-modal>img{display:block;width:100%;max-height:calc(92vh - 100px);border-radius:8px;object-fit:contain}.image-preview-modal>p{margin:12px 42px 0;color:#e1e8ed;font-size:.85rem;text-align:center}.image-preview-close{position:absolute;top:10px;right:11px;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#ffffff1a;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1}.image-preview-close:hover{background:#fff3}.image-preview-close:focus-visible,.modal-actions button:focus-visible{outline:3px solid rgba(128,194,255,.8);outline-offset:2px}.modal-backdrop[hidden]{display:none}.modal-backdrop:not([hidden]){position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:18px;background:#1423327a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop:not([hidden]) .modal{width:min(100%,440px);padding:26px;border:1px solid #e2e9ee;border-radius:16px;background:#fff;box-shadow:0 22px 70px #12283d38;animation:confirmation-modal-enter .16s ease-out both}.modal-backdrop .modal h3{margin:0 0 8px;color:#263849;font-size:1.15rem}.modal-backdrop .modal p{margin:0;color:#687787;font-size:.9rem;line-height:1.6}.modal-backdrop .modal-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:14px;border-radius:12px;background:#f1f5f7;color:#567083;font-size:1.25rem;font-weight:700}.modal-backdrop .modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.confirmation-open{overflow:hidden}@keyframes image-preview-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes confirmation-modal-enter{0%{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.image-preview-modal{width:100vw;max-height:100dvh;padding:54px 10px 14px;border:0;border-radius:12px}.image-preview-modal>img{max-height:calc(100dvh - 100px)}.modal-backdrop:not([hidden]){padding:14px}.modal-backdrop:not([hidden]) .modal{padding:21px}}@media(prefers-reduced-motion:reduce){.image-preview-modal[open],.modal-backdrop:not([hidden]) .modal{animation:none}}.announcement-card-open{display:block;color:inherit;text-decoration:none}.announcement-card-open h3{transition:color .16s ease}.announcement-card-open:hover h3,.announcement-card-open:focus-visible h3{color:#276e68}.announcement-card-open:focus-visible,.notification-open-link:focus-visible{border-radius:5px;outline:2px solid #6b9e95;outline-offset:3px}.announcement-detail-label{display:inline-block;margin-bottom:8px;color:#5c7c72;font-size:.73rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.announcement-detail-header{padding-bottom:18px;border-bottom:1px solid #e9edf0}.announcement-detail-header h2{max-width:760px;line-height:1.28;overflow-wrap:anywhere}.announcement-detail-meta{align-items:center}.announcement-detail-image{margin-top:22px}.announcement-detail-body{max-width:720px;margin:0 auto;padding:6px 0 12px;color:#46596a;font-size:1rem;line-height:1.9;white-space:normal}.announcement-detail-body br+br{content:"";display:block;margin-top:.55em}.announcement-detail-footer{justify-content:space-between}.announcement-detail-footer>div{flex:initial}.announcement-detail-footer>.secondary-button{display:inline-flex;align-items:center;gap:7px}.notification-unread-label{display:inline-flex;align-items:center;gap:6px;color:#477b69;font-size:.7rem;font-weight:700}.notification-unread-label>span{width:7px;height:7px;border-radius:50%;background:#56a27e}.notification-open-link{display:block;width:fit-content;max-width:100%;color:inherit;text-decoration:none}.notification-open-link h4{transition:color .16s ease}.notification-open-link:hover h4{color:#276e68}.notification-card--read .notification-open-link{margin-bottom:7px}.notification-card--unread{transition:border-color .16s ease,background-color .16s ease}.notification-card--unread:hover{border-color:#c7ddd5;background:#f8fcfa}.notification-mark-read{min-height:36px;padding:5px 9px;border:1px solid transparent;border-radius:7px;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.notification-mark-read:hover{border-color:#dce8e3;background:#f4f8f6}.image-preview-close{transition:background-color .15s ease,transform .15s ease}.image-preview-close:hover{transform:scale(1.04)}.modal-backdrop:not([hidden]) .modal{transform-origin:center}@media(max-width:640px){.announcement-detail-footer{align-items:flex-start;flex-direction:column}.announcement-detail-footer>.secondary-button{margin-left:0}.notification-open-link{width:100%}}@media(prefers-reduced-motion:reduce){.announcement-card-open h3,.notification-open-link h4,.notification-card--unread,.notification-mark-read,.image-preview-close{transition:none}}.doctor-app-content>.dashboard-card,.doctor-app-content>.card,.staff-app-content>.dashboard-card,.staff-app-content>.card{padding:clamp(20px,2.6vw,32px);border-color:#e3eaf4;border-radius:18px;box-shadow:0 8px 28px #142d540e}.doctor-app-content .card-header,.staff-app-content .card-header{align-items:center;gap:18px;padding-bottom:20px;margin-bottom:24px}.doctor-app-content .card-header h2,.doctor-app-content .card-header h3,.staff-app-content .card-header h2,.staff-app-content .card-header h3{color:var(--navy-900);font-size:clamp(1.12rem,1.4vw,1.35rem);letter-spacing:-.02em}.doctor-app-content .card-header p,.staff-app-content .card-header p{max-width:620px;margin-top:5px;color:var(--ink-500);line-height:1.65}.doctor-app-content .list-search,.staff-app-content .list-search{max-width:560px;margin-bottom:24px}.doctor-app-content .form-section,.staff-app-content .form-section,.doctor-app-content .intake-section,.staff-app-content .intake-section,.doctor-app-content .medical-section,.staff-app-content .medical-section,.doctor-app-content .medical-record-section,.staff-app-content .medical-record-section{padding:22px;border:1px solid #e4ebf5;border-radius:15px;background:#fff;box-shadow:0 3px 12px #142d5409}.doctor-app-content .form-section+.form-section,.staff-app-content .form-section+.form-section,.doctor-app-content .intake-section+.intake-section,.staff-app-content .intake-section+.intake-section{margin-top:18px}.doctor-app-content .form-section-head,.staff-app-content .form-section-head{align-items:flex-start;padding-bottom:15px;border-bottom:1px solid #edf1f7}.doctor-app-content .form-section-head h4,.staff-app-content .form-section-head h4,.doctor-app-content .intake-section>h3,.staff-app-content .intake-section>h3{color:var(--navy-900)}.doctor-app-content .form-group>label,.staff-app-content .form-group>label{margin-bottom:8px;color:#263852;font-size:.87rem}.doctor-app-content .form-group textarea,.staff-app-content .form-group textarea{min-height:116px;line-height:1.65}.doctor-app-content .form-group input:not([type=checkbox]),.doctor-app-content .form-group select,.doctor-app-content .form-group textarea,.staff-app-content .form-group input:not([type=checkbox]),.staff-app-content .form-group select,.staff-app-content .form-group textarea{border-color:#d6e0ee;border-radius:10px;background-color:#fff}.doctor-app-content .form-actions,.staff-app-content .form-actions{gap:12px;padding-top:18px;border-top:1px solid #e9eef5}.doctor-app-content .form-actions .primary-button,.doctor-app-content .form-actions .secondary-button,.staff-app-content .form-actions .primary-button,.staff-app-content .form-actions .secondary-button{min-height:46px;padding-inline:22px}.doctor-app-content .appointment-preview,.staff-app-content .appointment-preview,.doctor-app-content .consultation-list-card,.staff-app-content .consultation-list-card,.doctor-app-content .patient-card,.staff-app-content .patient-card{border-color:#e3eaf4;border-radius:15px;box-shadow:0 3px 14px #142d540a}.doctor-app-content .appointment-preview:hover,.staff-app-content .appointment-preview:hover,.doctor-app-content .consultation-list-card:hover,.staff-app-content .consultation-list-card:hover,.doctor-app-content .patient-card:hover,.staff-app-content .patient-card:hover{border-color:#c9d7e9;box-shadow:0 8px 22px #142d5413}.clinical-workspace .card-header{margin-bottom:24px}.consult-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr);align-items:start;gap:22px}.consultation-create-page .patient-panel{display:grid;align-content:start;gap:12px;padding:20px;border:1px solid #dce7f5;border-radius:16px;background:linear-gradient(160deg,#f5f9ff,#fff 72%)}.consultation-create-page .patient-panel-head{justify-content:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px solid #e2eaf4}.consultation-create-page .patient-panel-head>div:last-child>strong{display:block;color:var(--navy-900);font-size:1.02rem;line-height:1.4}.consultation-create-page .patient-panel-head small{display:block;margin-top:4px;font-size:.8rem}.consultation-create-page .patient-fact{background:#fff}.consultation-main-column{display:grid;min-width:0;gap:18px}.consultation-main-column>.dashboard-card{margin:0;padding:22px;border-color:#e4ebf5;border-radius:15px;box-shadow:0 3px 12px #142d5409}.consultation-main-column>.dashboard-card .card-header{margin-bottom:18px}.clinical-form{display:grid;gap:16px}.clinical-form .form-section{margin:0}.clinical-form .form-section-head .step-number{width:32px;height:32px;font-size:.86rem}.prescription-context-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:16px;margin-bottom:22px}.prescription-patient-summary,.prescription-consultation-summary{min-width:0;margin:0!important;padding:20px;border:1px solid #e2eaf4;border-radius:15px;background:#f7faff}.prescription-patient-summary h4,.prescription-consultation-summary h4{margin:0 0 12px;color:var(--navy-900);font-size:1rem}.prescription-patient-summary p,.prescription-consultation-summary p{margin:8px 0 0;color:var(--ink-700);line-height:1.6;overflow-wrap:anywhere}.prescription-entry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:22px;border:1px solid #e4ebf5;border-radius:16px;background:#fff}.prescription-entry-form>.form-group:nth-last-of-type(-n+2),.prescription-entry-form>div:last-child{grid-column:1 / -1}.prescription-entry-form>div:last-child{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 0!important;padding-top:18px;border-top:1px solid #e9eef5}.prescription-entry-form>div:last-child .secondary-button{margin-left:0!important}.intake-patient-summary{padding:20px;background:#f7faff}.intake-patient-summary .appointment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px 18px}.intake-patient-summary .appointment-details>p{margin:0;padding:10px 12px;border:1px solid #e4ebf5;border-radius:10px;background:#fff;color:var(--ink-700);overflow-wrap:anywhere}.intake-form>hr{display:none}.intake-form .intake-section{margin:18px 0}.intake-form .intake-section>h3{padding-bottom:12px;border-bottom:1px solid #e9eef5}.intake-form .form-grid{gap:16px}.appointment-detail-card+.appointment-detail-card{margin-top:18px}.appointment-detail-card .patient-details,.appointment-detail-card .appointment-details{color:var(--ink-700);line-height:1.7}.appointment-detail-card .patient-details>p,.appointment-detail-card .appointment-details>p{padding:10px 12px;border-bottom:1px solid #edf1f7;overflow-wrap:anywhere}.consultation-detail-page .consultation-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.consultation-detail-page .consultation-information>div{padding:15px;border:1px solid #e4ebf5;border-radius:12px;background:#f8faff}.consultation-detail-page .consultation-information>div>span{display:block;margin-bottom:6px;color:var(--ink-500);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.consultation-detail-page .consultation-information>div>p{margin:0;color:var(--ink-700);line-height:1.65;overflow-wrap:anywhere}@media(max-width:900px){.consult-layout,.prescription-context-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.doctor-app-content>.dashboard-card,.doctor-app-content>.card,.staff-app-content>.dashboard-card,.staff-app-content>.card{padding:18px;border-radius:14px}.doctor-app-content .card-header,.staff-app-content .card-header{align-items:flex-start;margin-bottom:18px;padding-bottom:16px}.doctor-app-content .form-section,.staff-app-content .form-section,.doctor-app-content .intake-section,.staff-app-content .intake-section,.doctor-app-content .medical-section,.staff-app-content .medical-section,.doctor-app-content .medical-record-section,.staff-app-content .medical-record-section{padding:16px}.prescription-entry-form{grid-template-columns:minmax(0,1fr);padding:16px}.prescription-entry-form>.form-group,.prescription-entry-form>div:last-child{grid-column:1}.prescription-entry-form>div:last-child>*{flex:1 1 100%;width:100%}}.app-content{padding:clamp(18px,2.6vw,32px)}.app-content>.dashboard-card,.app-content>.card,.app-content .dashboard-grid>.dashboard-card,.app-content .dashboard-grid--even>.dashboard-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-card)}.app-content .dashboard-grid,.app-content .dashboard-grid--even,.app-content .stats-grid{gap:clamp(14px,1.8vw,22px)}.app-content .card-header{align-items:center;gap:12px 18px;padding-bottom:18px;margin-bottom:20px}.app-content .card-header h2,.app-content .card-header h3,.app-content .card-header h4{color:var(--navy-900);font-size:clamp(1.05rem,1.25vw,1.22rem);font-weight:700;letter-spacing:-.02em;line-height:1.35}.app-content .card-header p{margin-top:4px;color:var(--ink-500);font-size:.9rem;line-height:1.55}.app-content .stat-card,.app-content .quick-action,.app-content .appointment-preview,.app-content .consultation-list-card,.app-content .patient-card,.app-content .admin-user-card,.app-content .admin-service-card{border-color:var(--line);box-shadow:0 2px 10px #0a2f6b0a}.app-content .stat-card{min-width:0;border-radius:14px}.app-content .stat-value{font-variant-numeric:tabular-nums}.app-content .form-section,.app-content .medical-section,.app-content .medical-record-section,.app-content .intake-section{border-color:var(--line);border-radius:14px;background:var(--surface)}.app-content .form-section-head{gap:12px}.app-content .form-section-head h4,.app-content .intake-section>h3{color:var(--navy-900);font-size:1rem;line-height:1.4}.app-content .form-section-head p,.app-content .form-group small{color:var(--ink-500);line-height:1.55}.app-content :is(input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=url],select,textarea){border-color:var(--line-strong);border-radius:10px;font-size:.93rem}.app-content :is(input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=url],select,textarea):focus{border-color:var(--navy-600);box-shadow:0 0 0 3px var(--focus-ring)}.app-content :is(input,select,textarea)[aria-invalid=true]{border-color:var(--red-600);box-shadow:0 0 0 3px #d91e251f}.app-content .list-search{border-color:var(--line-strong);border-radius:11px;box-shadow:0 2px 8px #0a2f6b09}.app-content .list-search:focus-within{border-color:var(--navy-600);box-shadow:0 0 0 3px var(--focus-ring)}.app-content .table-responsive{border-color:var(--line);border-radius:12px;background:var(--surface);scrollbar-color:#9eb4d4 var(--surface-muted)}.app-content .data-table th{background:var(--navy-800);letter-spacing:.055em}.app-content .data-table tbody tr{transition:background-color var(--motion-fast)}.app-content .empty-state{padding:clamp(28px,4vw,40px) 18px}.app-content .empty-icon,.app-content .empty-state-icon{width:60px;height:60px;margin-bottom:12px;font-size:1.65rem}.app-content .empty-state h3,.app-content .empty-state h4{color:var(--navy-900);font-size:1.05rem}.app-content .empty-state p{line-height:1.6}.consultation-create-page .appointment-date--compact{width:56px;min-width:56px;height:60px}.consultation-create-page .appointment-date-day{font-size:22px}.consultation-main-column>.patient-intake-card{margin:0}.patient-intake-metrics,.patient-intake-notes{display:grid;gap:14px}.patient-intake-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.patient-intake-notes{margin-top:18px}.patient-intake-completed-by{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}@media(max-width:640px){.app-content{padding:16px 14px}.app-content>.dashboard-card,.app-content>.card{padding:18px;border-radius:14px}.app-content .card-header{align-items:flex-start;margin-bottom:18px;padding-bottom:15px}.app-content .empty-state{padding:28px 14px}.patient-intake-metrics,.patient-intake-notes{gap:10px}}@media(prefers-reduced-motion:reduce){.app-content .data-table tbody tr{transition:none}}.patient-dashboard .welcome-banner,.staff-dashboard .welcome-banner,.admin-dashboard .welcome-banner,.doctor-dashboard .welcome-banner{min-height:0;align-items:center;gap:24px;padding:clamp(24px,3.4vw,38px) clamp(24px,3.4vw,38px) 88px;border:1px solid #dce6f2;border-left:4px solid var(--red-600);border-radius:16px;background:linear-gradient(120deg,#fff,#f2f7fd);box-shadow:var(--shadow-card)}.patient-dashboard .welcome-banner:after,.staff-dashboard .welcome-banner:after,.admin-dashboard .welcome-banner:after,.doctor-dashboard .welcome-banner:after{right:0;bottom:0;left:0;z-index:0;height:68px;background:var(--ek-wave-banner) center bottom / 100% 250% no-repeat;opacity:.9;pointer-events:none}.patient-dashboard .welcome-banner>div:first-child,.staff-dashboard .welcome-banner>div:first-child,.admin-dashboard .welcome-banner>div:first-child,.doctor-dashboard .welcome-banner>div:first-child{max-width:720px}.patient-dashboard .welcome-label,.staff-dashboard .welcome-label,.admin-dashboard .welcome-label,.doctor-dashboard .welcome-label{margin-bottom:12px;padding:5px 11px;border:1px solid #dce6f2;border-radius:999px;background:#fff;color:var(--navy-700);font-size:.7rem;letter-spacing:.07em}.patient-dashboard .welcome-banner h1,.staff-dashboard .welcome-banner h1,.admin-dashboard .welcome-banner h1,.doctor-dashboard .welcome-banner h1{margin-bottom:8px;color:var(--navy-900);font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.25}.patient-dashboard .welcome-banner p,.staff-dashboard .welcome-banner p,.admin-dashboard .welcome-banner p,.doctor-dashboard .welcome-banner p{max-width:600px;color:var(--ink-700);font-size:.94rem;line-height:1.65}.patient-dashboard .welcome-icon,.staff-dashboard .welcome-icon,.admin-dashboard .welcome-icon,.doctor-dashboard .welcome-icon{width:64px;height:64px;border:1px solid #dce6f2;border-radius:18px;background:#fff;box-shadow:0 3px 10px #0a2f6b0d;font-size:1.8rem}.doctor-welcome-actions{position:relative;z-index:1;flex:none;margin-left:auto}.doctor-welcome-actions .primary-button{border-color:var(--navy-700);background:var(--navy-700);color:#fff}.doctor-welcome-actions .primary-button:hover{background:var(--navy-800)}.app-content .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}.app-content .stat-card{min-height:86px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--navy-600);border-radius:14px;background:#fff;box-shadow:0 2px 10px #0a2f6b0a}.app-content .stat-icon{width:42px;height:42px;border-radius:12px;font-size:1.2rem}.app-content .stat-label{color:var(--ink-500);font-size:.73rem;font-weight:600;letter-spacing:.015em;line-height:1.4;text-transform:none}.app-content .stat-value{margin-top:2px;color:var(--navy-900);font-size:1.55rem;font-weight:700}.app-content .dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.app-content .quick-action{border-radius:12px;background:#fff;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast)}.app-content .quick-action:hover{transform:translateY(-1px);border-color:#b9cbe8;background:#fbfdff;box-shadow:0 6px 16px #0a2f6b12}.app-content .quick-action strong{color:var(--navy-900)}.app-content .appointment-preview,.app-content .info-item{border-radius:12px}.app-content .activity-item:last-child{padding-bottom:0}.app-content .activity-information p{line-height:1.55;overflow-wrap:anywhere}html body .auth-page{grid-template-columns:minmax(0,1fr) minmax(400px,.82fr);background-color:var(--navy-900)}html body .auth-page:before{background:linear-gradient(115deg,#071f4ae0,#0a3d8f9e 58%,#071f4a7a)}html body .auth-page .auth-hero{padding:clamp(32px,6vw,88px)}html body .auth-page .auth-hero h2{max-width:540px;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.14}html body .auth-page .auth-hero p{max-width:470px;font-size:.98rem;line-height:1.7}html body .auth-page .auth-panel{padding:clamp(20px,3.5vw,52px)}html body .auth-page .auth-card{max-width:460px;padding:clamp(26px,3vw,38px);border:1px solid #e3eaf3;border-top:3px solid var(--red-600);border-radius:18px;background:#fff;box-shadow:0 18px 54px #071f4a38;-webkit-backdrop-filter:none;backdrop-filter:none}html body .auth-page .auth-card>p:not(.auth-switch):not(.auth-foot){margin-bottom:22px;line-height:1.6}html body .auth-page .auth-field{margin-bottom:16px}html body .auth-page .auth-field input{min-height:46px}html body .auth-page .auth-field input:focus{box-shadow:0 0 0 3px var(--focus-ring)}html body .auth-page .auth-card .primary-button{min-height:46px}html body .auth-page .auth-card .alert{font-size:.88rem;line-height:1.55}@media(max-width:1100px){.app-content .dashboard-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.app-content .dashboard-grid,.dashboard-grid,.dashboard-grid--even{grid-template-columns:minmax(0,1fr)}.card-header,.announcement-management-page .announcement-management-heading,.announcement-feed-heading{flex-wrap:wrap;align-items:flex-start}.doctor-appointment-card{grid-template-columns:68px minmax(0,1fr)}.doctor-appointment-information{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){html body .auth-page{display:block;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background-position:center}html body .auth-page:before{position:fixed;inset:0}html body .auth-page .auth-hero{display:none}html body .auth-page .auth-panel{display:grid;min-height:100vh;min-height:100dvh;align-content:center;padding:20px 16px}html body .auth-page .auth-card{width:100%;max-width:440px;margin:auto;padding:26px 22px}html body .auth-page .auth-card-logo{width:58px;height:58px;margin-bottom:16px}.patient-dashboard .welcome-banner,.staff-dashboard .welcome-banner,.admin-dashboard .welcome-banner,.doctor-dashboard .welcome-banner{flex-direction:column;align-items:flex-start;padding:24px 20px 82px}.patient-dashboard .welcome-banner>div:first-child,.staff-dashboard .welcome-banner>div:first-child,.admin-dashboard .welcome-banner>div:first-child,.doctor-dashboard .welcome-banner>div:first-child{width:100%}.patient-dashboard .welcome-icon,.staff-dashboard .welcome-icon,.admin-dashboard .welcome-icon,.doctor-dashboard .welcome-icon{display:none}.doctor-welcome-actions{width:100%;margin:4px 0 0}.doctor-welcome-actions .primary-button{width:100%}.app-content .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-content .stat-card{min-height:74px;gap:9px;padding:12px 10px}.app-content .stat-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}.app-content .stat-label{font-size:.68rem}.app-content .stat-value{font-size:1.35rem}}@media(max-width:640px){.dashboard-card,.card,.doctor-dashboard .dashboard-card,.staff-dashboard .dashboard-card,.patient-dashboard .dashboard-card,.admin-dashboard .dashboard-card{padding:18px 16px}.card-header{gap:10px 12px}.card-header>a,.appointment-list-page .card-header>a{width:auto;align-self:flex-start}.doctor-appointment-card{grid-template-columns:1fr;padding:16px}.doctor-appointment-date{flex-direction:row;align-items:center;justify-content:flex-start;min-height:0;width:100%;overflow:hidden}.doctor-appointment-date strong{width:auto;padding:10px 12px}.doctor-appointment-date>span{width:auto;padding:0 12px;font-size:1.4rem}.doctor-appointment-information,.quick-actions{grid-template-columns:1fr}}@media(max-width:380px){html body .auth-page .auth-card{padding:22px 18px}.patient-dashboard .welcome-icon,.staff-dashboard .welcome-icon,.admin-dashboard .welcome-icon,.doctor-dashboard .welcome-icon{display:none}}@media(prefers-reduced-motion:reduce){.app-content .quick-action{transition:none}}.auth-otp-input{font-variant-numeric:tabular-nums;letter-spacing:.45em;text-align:center}.password-requirements{display:grid;gap:7px;margin:-5px 0 18px;padding:0;color:var(--ink-500);font-size:.8rem;list-style:none}.password-requirements li{display:flex;align-items:center;gap:9px;line-height:1.45;transition:color var(--motion-fast)}.password-requirements li>span{display:grid;width:17px;height:17px;flex:0 0 17px;place-items:center;border:1px solid #bdc8d7;border-radius:50%;background:#fff}.password-requirements li.is-met{color:var(--green-600)}.password-requirements li.is-met>span{border-color:var(--green-600);background:var(--green-50)}.password-requirements li.is-met>span:before{content:"✓";font-size:.7rem;font-weight:800}.password-match-status{min-height:1.25em}.password-match-status.is-match{color:var(--green-600)}.password-match-status.is-mismatch{color:var(--red-700)}@media(prefers-reduced-motion:reduce){.password-requirements li{transition:none}}html body .register-page{background-image:linear-gradient(135deg,#071f4ae0,#0a3d8f94),var(--ek-hero-image)!important}html body .register-layout .register-card{border-top:4px solid var(--red-600)!important}html body .register-page .register-field input:focus,html body .register-page .register-field select:focus,html body .register-page .register-field textarea:focus{border-color:var(--navy-600);box-shadow:0 0 0 3px #1553b81f}html body .register-page .register-button{background:var(--navy-700);box-shadow:0 6px 14px #0a3d8f2e}html body .register-page .register-button:hover{background:var(--navy-800);box-shadow:0 8px 18px #0a2f6b38}html body .register-page .register-switch a{color:var(--navy-600)}html body .register-page .register-step-progress span{background:var(--navy-600)}html body .register-page .register-step-indicator li[aria-current=step]{color:var(--navy-800)}html body .register-page .register-step-indicator li[aria-current=step]>span,html body .register-page .register-step-indicator li.is-complete>span{border-color:var(--navy-600);background:var(--navy-600)}.modal-backdrop:not([hidden]){padding:20px;background:#071f4a94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-backdrop:not([hidden]) .modal{width:min(100%,420px);padding:30px;border:1px solid #e1e8f1;border-top:4px solid var(--navy-600);border-radius:18px;box-shadow:0 24px 72px #071f4a3d}.modal-backdrop[data-confirm-kind=logout] .modal{border-top-color:var(--red-600)}.modal-backdrop .modal h3{margin-bottom:8px;color:var(--navy-900);font-size:1.2rem;letter-spacing:-.015em}.modal-backdrop .modal p{color:var(--ink-700);font-size:.94rem;line-height:1.65}.modal-backdrop .modal-icon{width:46px;height:46px;margin-bottom:16px;border:1px solid #dce6f3;border-radius:14px;background:var(--blue-50);color:var(--navy-700);font-size:1.35rem}.modal-backdrop[data-confirm-kind=logout] .modal-icon{border-color:#f3d4d5;background:#fff3f3;color:var(--red-700)}.modal-backdrop .modal-icon svg{width:22px;height:22px}.modal-backdrop .confirmation-icon-logout,.modal-backdrop[data-confirm-kind=logout] .confirmation-icon-default{display:none}.modal-backdrop[data-confirm-kind=logout] .confirmation-icon-logout{display:block}.health-center-feedback{margin:0 0 16px;padding:12px 16px;border:1px solid #dce6f3;border-radius:12px;background:#f7faff;color:var(--navy-700)}.health-center-feedback--error{border-color:#f0c9c9;background:#fff5f5;color:var(--red-700)}.health-center-feedback--success{border-color:#cce6d8;background:#f2fbf6;color:#216b45}.health-center-delete-button{min-height:40px;padding:9px 14px;border:1px solid #f0c9c9;border-radius:10px;background:#fff5f5;color:var(--red-700);font:inherit;font-weight:600;cursor:pointer}.health-center-delete-button:hover{background:#ffe9e9}.health-center-delete-button:focus-visible{outline:3px solid rgba(163,36,43,.3);outline-offset:2px}.admin-patient-page{width:min(100%,1180px);margin:0 auto;color:var(--navy-700)}.admin-patient-page__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-patient-page__eyebrow{margin:0 0 5px;color:#718397;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-patient-page__header h1{margin:0;color:var(--navy-700);font-size:clamp(1.55rem,3vw,2rem);line-height:1.2}.admin-patient-page__header p:last-child{margin:8px 0 0;color:#64778c}.admin-patient-panel{padding:clamp(16px,3vw,26px);border:1px solid #e2e9f2;border-radius:18px;background:#fff;box-shadow:0 12px 34px #132f520f}.admin-patient-search{margin-bottom:22px}.admin-patient-search>label{display:block;margin-bottom:8px;color:var(--navy-700);font-weight:600}.admin-patient-search__controls{display:flex;align-items:center;gap:10px}.admin-patient-search__controls input{flex:1 1 260px;min-width:0;min-height:44px;padding:10px 13px;border:1px solid #cbd7e5;border-radius:10px;background:#fff;color:#20344d;font:inherit}.admin-patient-search__controls input:focus-visible{border-color:#5680b8;outline:3px solid rgba(65,119,185,.18)}.admin-patient-table-wrap{overflow-x:auto;border:1px solid #e7edf4;border-radius:12px}.admin-patient-table{width:100%;border-collapse:collapse;text-align:left}.admin-patient-table th,.admin-patient-table td{padding:14px 16px;border-bottom:1px solid #edf1f6;vertical-align:middle}.admin-patient-table thead th{background:#f6f9fc;color:#61758d;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-patient-table tbody tr:last-child th,.admin-patient-table tbody tr:last-child td{border-bottom:0}.admin-patient-table tbody th{color:#20344d;font-weight:600}.admin-patient-table__name,.admin-patient-table__number{display:block}.admin-patient-table__number{margin-top:4px;color:#718397;font-size:.83rem;font-weight:400}.admin-patient-status{display:inline-flex;padding:5px 10px;border-radius:999px;background:#f0f3f7;color:#56677a;font-size:.82rem;font-weight:600}.admin-patient-status--active{background:#eaf7ef;color:#216b45}.admin-patient-status--inactive{background:#f4f1f1;color:#745b5b}.admin-patient-pagination{margin-top:20px}.admin-patient-empty{padding:32px 16px;border:1px dashed #d7e1ed;border-radius:12px;text-align:center}.admin-patient-empty h2{margin:0;color:var(--navy-700);font-size:1.1rem}.admin-patient-empty p{margin:7px 0 0;color:#718397}@media(max-width:640px){.admin-patient-page__header{align-items:flex-start}.admin-patient-search__controls{align-items:stretch;flex-wrap:wrap}.admin-patient-search__controls input{flex-basis:100%}.admin-patient-table{min-width:560px}}.appointment-booking-schedule__label{display:block;margin-bottom:10px;color:var(--navy-700);font-weight:600}.appointment-calendar{max-width:520px;padding:clamp(14px,3vw,20px);border:1px solid #e1e9f2;border-radius:16px;background:#fbfcfe}.appointment-calendar__header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:16px}.appointment-calendar__header h5{margin:0;color:var(--navy-700);font-size:1rem;text-align:center}.appointment-calendar__nav{display:grid;width:42px;height:42px;place-items:center;border:1px solid #dbe5ef;border-radius:11px;background:#fff;color:var(--navy-700);font-size:1.5rem;line-height:1;cursor:pointer}.appointment-calendar__nav:disabled{color:#a7b3c1;cursor:not-allowed;opacity:.55}.appointment-calendar__weekdays,.appointment-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.appointment-calendar__weekdays{margin-bottom:6px;color:#718397;font-size:.76rem;font-weight:700;text-align:center}.appointment-calendar__weekdays span{padding:5px 0}.appointment-calendar__day,.appointment-calendar__spacer{min-width:0;min-height:42px}.appointment-calendar__day{display:grid;place-items:center;padding:4px;border:1px solid transparent;border-radius:11px;background:#eaf2fb;color:#1f4775;font:inherit;font-weight:600;cursor:pointer}.appointment-calendar__day:hover:not(:disabled){border-color:#a8c1df;background:#dceafa}.appointment-calendar__day.is-selected{border-color:var(--navy-700);background:var(--navy-700);color:#fff}.appointment-calendar__day.is-disabled{background:transparent;color:#a8b2bf;cursor:not-allowed}.appointment-calendar__day:focus-visible,.appointment-calendar__nav:focus-visible,.appointment-time-slot:focus-within{outline:3px solid rgba(65,119,185,.28);outline-offset:2px}.appointment-calendar__status,.appointment-time-slots__empty{margin:12px 0 0;color:#687b90;font-size:.88rem;line-height:1.5}.appointment-time-slots{max-width:520px;margin:14px 0 0;padding:14px;border:1px solid #e1e9f2;border-radius:14px}.appointment-time-slots legend{padding:0 5px;color:var(--navy-700);font-size:.92rem;font-weight:700}.appointment-time-slots__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.appointment-time-slot{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px 9px;min-height:54px;padding:9px 11px;border:1px solid #dce5ef;border-radius:11px;background:#fff;cursor:pointer}.appointment-time-slot.is-selected{border-color:#527eae;background:#f0f6fc}.appointment-time-slot input{grid-row:span 2;width:17px;height:17px;margin:0;accent-color:var(--navy-700)}.appointment-time-slot__time{color:#203a58;font-weight:700}.appointment-time-slot__remaining{color:#718397;font-size:.78rem}@media(max-width:480px){.appointment-calendar{padding:12px}.appointment-calendar__weekdays,.appointment-calendar__grid{gap:3px}.appointment-calendar__day,.appointment-calendar__spacer{min-height:38px}.appointment-time-slots{padding:11px}.appointment-time-slots__list{grid-template-columns:1fr}}.modal-backdrop[data-confirm-kind=logout] .modal-actions .primary-button{border-color:var(--red-600);background:var(--red-600);color:#fff}.modal-backdrop[data-confirm-kind=logout] .modal-actions .primary-button:hover{border-color:var(--red-700);background:var(--red-700)}.modal-backdrop .modal-actions{gap:10px;margin-top:24px}.modal-backdrop .modal-actions button{min-height:44px;padding:10px 16px}@media(max-width:560px){.modal-backdrop:not([hidden]){padding:14px}.modal-backdrop:not([hidden]) .modal{padding:24px 20px;border-radius:16px}.modal-backdrop .modal-actions{flex-direction:column}.modal-backdrop .modal-actions button{width:100%}}@media(max-width:380px){.app-content .stats-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.modal-backdrop:not([hidden]) .modal{animation:none}}.page-eyebrow{display:block;margin-bottom:5px;color:var(--red-700);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.doctor-prescriptions-page .doctor-prescription-card{display:grid;gap:16px;padding:clamp(16px,2.5vw,24px);border:1px solid var(--line);border-radius:16px;background:linear-gradient(150deg,#fff,#f8fbff);box-shadow:var(--shadow-card)}.doctor-prescriptions-page .doctor-prescription-header{align-items:center;gap:14px}.doctor-prescriptions-page .doctor-prescription-date{min-width:0}.doctor-prescriptions-page .doctor-prescription-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid #dce6f3;border-radius:14px;background:var(--blue-50);color:var(--navy-700);font-size:1.3rem}.doctor-prescriptions-page .doctor-prescription-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.doctor-prescriptions-page .doctor-prescription-information>div{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.doctor-prescriptions-page .doctor-prescription-information span,.doctor-prescriptions-page .doctor-prescription-summary>span{color:var(--ink-500);font-size:.76rem}.doctor-prescriptions-page .doctor-prescription-information span{display:block;margin-bottom:3px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.doctor-prescriptions-page .doctor-prescription-summary{display:flex;flex-wrap:wrap;gap:8px}.doctor-prescriptions-page .doctor-prescription-summary>span{padding:7px 10px;border:1px solid #e1e9f3;border-radius:999px;background:#fff}.doctor-prescriptions-page .doctor-prescription-actions{display:flex;flex-wrap:wrap;gap:9px;padding-top:4px;border-top:1px solid #e8eef5}.doctor-consultation-detail{display:grid;gap:18px}.doctor-consultation-detail>.card-header{margin-bottom:0}.consultation-detail-patient{margin:0;border-left:4px solid var(--navy-600);background:linear-gradient(110deg,#f4f8ff,#fff)}.consultation-detail-section{display:grid;gap:16px;padding:clamp(16px,2.5vw,22px);border:1px solid var(--line);border-radius:15px;background:#fff}.consultation-detail-section-heading{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.consultation-detail-section-heading>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:var(--blue-100);color:var(--navy-700);font-size:.76rem;font-weight:800}.consultation-detail-section-heading h3{margin:0;color:var(--navy-900);font-size:1rem}.consultation-detail-section-heading p{margin:3px 0 0;color:var(--ink-500);font-size:.82rem}.consultation-detail-facts,.consultation-detail-findings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.consultation-detail-facts>div,.consultation-detail-findings>div{min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#f8faff}.consultation-detail-facts span,.consultation-detail-findings span{display:block;margin-bottom:5px;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.consultation-detail-facts strong,.consultation-detail-findings p{margin:0;color:var(--ink-900);line-height:1.65;overflow-wrap:anywhere}.consultation-prescription-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.consultation-prescription-card h4{margin:2px 0}.consultation-prescription-card p{margin:0;color:var(--ink-500);font-size:.86rem}.consultation-prescriptions-empty{padding:12px}.consultation-detail-actions{margin-top:0}.staff-prescription-detail{display:grid;gap:18px}.staff-prescription-detail>.card-header{margin-bottom:0}.staff-prescription-detail .medical-record-section{margin:0;padding:clamp(16px,2.5vw,22px);border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 2px 10px #0a2f6b09}.staff-prescription-detail .medical-record-section>h4{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--navy-900)}.staff-prescription-detail .prescription-release-actions,.staff-prescription-detail .prescription-release-status{margin:0;padding:16px;border:1px solid #dce6f3;border-radius:13px;background:var(--blue-50)}.staff-prescription-detail .prescription-release-status p{margin:0}.schedule-list-card .card-header{align-items:flex-end}.schedule-list-card .card-header p{margin:4px 0 0}.schedule-list-card .data-table td:last-child{min-width:140px}.schedule-create-page .form-section{padding:clamp(16px,2.5vw,22px);border-radius:15px;box-shadow:0 2px 10px #0a2f6b09}.schedule-create-page .preview-panel{margin:0;padding:18px;border:1px solid #cbdcf2;border-left:4px solid var(--navy-600);border-radius:13px;background:linear-gradient(120deg,#f3f8ff,#fff)}.schedule-create-page .preview-panel>strong{color:var(--navy-900);font-size:1rem}.schedule-create-page .preview-panel ul{max-height:200px}.admin-health-centers-page .admin-health-center-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.admin-health-centers-page .admin-health-center-card{min-width:0;padding:clamp(16px,2.4vw,22px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.admin-health-centers-page .admin-health-center-information>div{min-width:0}.admin-health-centers-page .admin-health-center-information strong{overflow-wrap:anywhere}.admin-health-centers-page .admin-health-center-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.admin-health-centers-page .admin-health-center-footer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-right:auto}.announcement-page-navigation{display:flex;justify-content:flex-end;margin:-6px 0 18px}.announcement-form-page .form-field>small{display:block;margin-top:6px;color:var(--ink-500);font-size:.78rem;line-height:1.5}.announcement-form-page .form-field>input[type=file]{min-height:52px;padding:12px 14px;border:1px dashed #cfe1e7;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f4faf8);color:#3c5e7d;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.announcement-form-page .form-field>input[type=file]:hover{border-color:#99c6b7;background:linear-gradient(180deg,#fff,#f3fbf8)}.announcement-form-page .form-field>input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid #d7e5ed;border-radius:9px;background:#fff;color:#1d4c6b;cursor:pointer;font:inherit;font-size:.74rem;font-weight:700}.announcement-form-page .form-field>textarea{min-height:190px;line-height:1.65}.announcement-form-page .form-field>label>span[aria-hidden=true]{color:var(--red-700)}.announcement-form-page .form-field.checkbox-field{display:grid;gap:5px;padding:14px 16px;border:1px solid #ddf0ea;border-radius:12px;background:linear-gradient(180deg,#f7fdfb,#f1faf8)}.announcement-form-page .form-field.checkbox-field label{display:flex;align-items:center;gap:10px;color:#214865;font-weight:700}.announcement-form-page .form-field.checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:#1f8d75}.announcement-management-page .alert{margin-top:0}@media(max-width:760px){.doctor-prescriptions-page .doctor-prescription-actions>*,.doctor-prescriptions-page .doctor-prescription-actions>a{flex:1 1 100%;justify-content:center}.consultation-prescription-card{align-items:stretch;flex-direction:column}.consultation-prescription-card>a{justify-content:center}.announcement-page-navigation{justify-content:flex-start}}@media(max-width:640px){.admin-health-centers-page .admin-health-center-header-actions,.admin-health-centers-page .admin-health-center-header-actions>*,.admin-health-centers-page .admin-health-center-footer-actions>*{width:100%}.admin-health-centers-page .admin-health-center-footer{align-items:stretch;flex-direction:column}.admin-health-centers-page .admin-health-center-footer form,.admin-health-centers-page .admin-health-center-footer form>*{width:100%}.announcement-form-page>.card-header,.announcement-form-page>.stacked-form{padding-right:18px;padding-left:18px}}@media(prefers-reduced-motion:reduce){.doctor-prescriptions-page .doctor-prescription-card{transition:none}}.doctor-consultation-list-page,.schedule-list-card,.admin-health-centers-page{width:min(100%,1440px);margin-inline:auto}.consultation-list-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px}.consultation-list-summary>div{min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#f8faff}.consultation-list-summary strong{display:block;overflow-wrap:anywhere;font-size:.88rem}.schedule-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.schedule-overview>div{display:grid;gap:4px;padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 9px #0a2f6b09}.schedule-overview span{color:var(--ink-500);font-size:.78rem;font-weight:600}.schedule-overview strong{color:var(--navy-900);font-size:1.55rem;font-variant-numeric:tabular-nums;line-height:1.1}.schedule-card-list{display:grid;gap:12px}.schedule-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.schedule-card:hover{border-color:#c7d8ef;box-shadow:0 6px 18px #0a2f6b0f}.schedule-card-date{display:grid;justify-items:center;gap:1px;padding:8px 4px;border-radius:12px;background:var(--blue-50);color:var(--ink-500);line-height:1.3}.schedule-card-date span:first-child{font-size:.7rem;font-weight:700;text-transform:uppercase}.schedule-card-date strong{color:var(--navy-900);font-size:1.5rem;line-height:1.2}.schedule-card-date span:last-child{font-size:.67rem}.schedule-card-main{display:grid;min-width:0;gap:11px}.schedule-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.schedule-card-eyebrow{display:block;margin-bottom:3px;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.schedule-card-heading h3{margin:0;color:var(--navy-900);font-size:1.1rem;font-variant-numeric:tabular-nums}.schedule-availability{display:inline-flex;flex:0 0 auto;align-items:center;padding:6px 10px;border-radius:999px;font-size:.73rem;font-weight:700}.schedule-availability.is-open{background:var(--green-50);color:var(--green-600)}.schedule-availability.is-full{background:var(--red-50);color:var(--red-700)}.schedule-capacity-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--ink-500);font-size:.73rem}.schedule-capacity-label strong{color:var(--ink-700);font-weight:700;font-variant-numeric:tabular-nums}.schedule-capacity-track{height:7px;overflow:hidden;border-radius:99px;background:#eaf0f8}.schedule-capacity-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy-600),#4b83d2)}.schedule-card-action form{margin:0}.schedule-delete-button{min-height:38px;padding:8px 12px;color:var(--red-700);border-color:#f0c9c9}.schedule-delete-button:hover{background:var(--red-50)}.schedule-protected-label{color:var(--ink-500);font-size:.75rem;white-space:nowrap}.announcement-view-link{display:inline-flex;margin-top:6px;color:var(--navy-600);font-size:.78rem;font-weight:700;text-decoration:none}.announcement-view-link:hover{text-decoration:underline;text-underline-offset:3px}.announcement-management-detail{max-width:980px;margin:0 auto;padding:clamp(20px,4vw,40px);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-card)}.announcement-management-detail .announcement-detail-body{font-size:1rem;line-height:1.8}@media(max-width:760px){.schedule-overview{grid-template-columns:1fr;gap:9px}.schedule-overview>div{grid-template-columns:1fr auto;align-items:center;padding:13px 15px}.schedule-overview strong{font-size:1.25rem}.schedule-card{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px}.schedule-card-action{grid-column:2}.schedule-card-action form,.schedule-card-action button{width:100%}.doctor-consultation-detail .consultation-detail-patient{align-items:flex-start}}@media(max-width:480px){.schedule-card-heading{flex-direction:column;align-items:flex-start}.schedule-availability{white-space:normal}.announcement-management-detail{padding:19px 16px;border-radius:14px}.announcement-management-detail .announcement-detail-footer{align-items:flex-start;flex-direction:column;gap:14px}.announcement-management-detail .announcement-detail-footer .form-actions,.announcement-management-detail .announcement-detail-footer .form-actions>*{width:100%}}@media(prefers-reduced-motion:reduce){.schedule-card{transition:none}}.appointment-list-page{display:grid;gap:18px}.appointment-list-page>.card-header{margin-bottom:0}.appointment-list-page .list-search{margin:0}.appointment-list-page .appointment-preview{align-items:stretch;gap:16px;padding:clamp(14px,2vw,20px);border:1px solid #e0e8f1;border-left:4px solid var(--navy-600);border-radius:15px;background:linear-gradient(145deg,#fff 70%,#f8fbff);box-shadow:0 4px 14px #14305209}.appointment-list-page .appointment-preview:hover{border-color:#c7d7e9;box-shadow:0 9px 24px #14305214}.appointment-list-page .appointment-date{width:60px;flex:0 0 60px;align-self:flex-start;border-color:#d5e2f1;background:#f2f7fd}.appointment-list-page .appointment-date strong{padding:6px 0;font-size:.68rem}.appointment-list-page .appointment-date span{padding:8px 0 9px;font-size:1.4rem}.appointment-record-content{display:grid;align-content:start;gap:15px}.appointment-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-record-heading h4{margin:1px 0 3px;color:var(--navy-900);font-size:1.02rem;line-height:1.4}.appointment-record-eyebrow{color:#718397;font-size:.69rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.appointment-record-time{margin:0;color:#53677e;font-size:.87rem}.appointment-list-page .appointment-record-heading .appointment-status{flex:0 0 auto;margin:0;padding:6px 10px;line-height:1.25;text-align:center}.appointment-record-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:9px}.appointment-record-facts>div{display:grid;align-content:start;gap:3px;min-width:0;padding:10px 12px;border:1px solid #e8edf4;border-radius:10px;background:#ffffffd1}.appointment-record-facts span{color:#718397;font-size:.71rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.appointment-record-facts strong{color:#243b55;font-size:.88rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.appointment-record-facts small{color:#718397;font-size:.79rem}.appointment-record-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding-top:2px}.appointment-record-actions form{display:flex;margin:0}.appointment-record-actions :is(a,button){min-height:42px}.appointment-list-page .alert{margin:0}.app-content :is(input,select,textarea):focus-visible{border-color:#5680b8;outline:3px solid rgba(65,119,185,.2);outline-offset:1px;box-shadow:0 0 0 1px #4177b914}.app-content :is(input,select,textarea)[aria-invalid=true]:focus-visible{border-color:var(--red-600);outline-color:#d91e252e;box-shadow:0 0 0 1px #d91e2514}@media(max-width:640px){.appointment-list-page{gap:14px}.appointment-list-page>.card-header{flex-direction:column;align-items:stretch;gap:12px}.appointment-list-page>.card-header>:is(a,button){width:100%}.appointment-list-page .appointment-preview{gap:12px;padding:13px}.appointment-list-page .appointment-date{width:52px;flex-basis:52px}.appointment-record-heading{flex-direction:column;align-items:flex-start;gap:8px}.appointment-record-facts{grid-template-columns:minmax(0,1fr)}.appointment-record-actions,.appointment-record-actions form,.appointment-record-actions :is(a,button){width:100%}}@media(max-width:760px){.app-content .schedule-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.app-content .schedule-overview>div:last-child{grid-column:1 / -1}}.app-content .schedule-list-card .schedule-card-action .schedule-delete-button{min-height:40px;padding:8px 11px;border:1px solid #f0d1d1;border-radius:9px;background:#fff7f7;color:#a3383b}.app-content .schedule-list-card .schedule-card-action .schedule-delete-button:hover{border-color:#f0d1d1;background:#fff5f5;color:#8d252a}@media(max-width:480px){.app-content .schedule-card-action,.app-content .schedule-card-action form{width:100%}.app-content .schedule-card-action .schedule-delete-button{width:100%;justify-content:flex-start}}@media(max-width:760px){.app-content>.page-header>div:first-child{flex:0 1 auto}.app-content .card-header>div:first-child{flex:0 1 auto}}@media(max-width:560px){.app-content>.page-header>.schedule-create-action{justify-content:center}.app-content>.page-header>.schedule-create-action>span{width:auto;flex:0 0 auto}}@media(max-width:640px){.appointment-list-page .appointment-date{flex:0 0 auto}}.patient-account-profile-page{display:grid;gap:20px;width:min(100%,1040px);margin-inline:auto}.patient-account-profile-page>.card-header{margin-bottom:0}.patient-account-error-summary{margin:0}.patient-account-error-summary a{color:inherit;text-underline-offset:2px}.patient-account-record-card,.patient-account-edit{min-width:0;padding:clamp(16px,2.5vw,24px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.patient-account-record-card{display:grid;gap:18px;background:linear-gradient(140deg,#f7faff,#fff 72%)}.patient-account-eyebrow{color:var(--navy-600);font-size:.7rem;font-weight:800;letter-spacing:.08em}.patient-account-record-card h4{margin:4px 0;color:var(--navy-900);font-size:1.05rem}.patient-account-record-card>div>p,.patient-account-section-heading>p,.patient-account-emergency>p{margin:0;color:var(--ink-500);font-size:.88rem;line-height:1.55}.patient-account-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.patient-account-facts>div{min-width:0;padding:12px 14px;border:1px solid #e3eaf3;border-radius:11px;background:#ffffffe6}.patient-account-facts dt{margin-bottom:4px;color:var(--ink-500);font-size:.74rem;font-weight:700}.patient-account-facts dd{margin:0;color:var(--navy-900);font-size:.92rem;font-weight:700;overflow-wrap:anywhere}.patient-account-section-heading{margin-bottom:20px}.patient-account-section-heading h3{margin:0 0 5px;color:var(--navy-900);font-size:1.12rem}.patient-account-form{display:grid;gap:22px}.patient-account-form .form-grid{align-items:start;gap:16px}.patient-account-form .form-field{display:grid;align-content:start;gap:7px;min-width:0}.patient-account-form .form-field>label{margin:0;color:var(--ink-900);font-size:.86rem;font-weight:700}.patient-account-form .form-field>label>span[aria-hidden=true]{color:var(--red-700)}.patient-account-form .form-field>input,.patient-account-form .form-field>textarea{min-width:0;margin:0}.patient-account-form [aria-invalid=true]{border-color:var(--red-700)}.patient-account-field-error{color:var(--red-700);font-size:.8rem;line-height:1.45}.patient-account-emergency{min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.patient-account-emergency legend{padding:0 6px;color:var(--navy-900);font-size:.95rem;font-weight:700}.patient-account-emergency legend span{color:var(--ink-500);font-size:.8rem;font-weight:500}.patient-account-emergency>p{margin:0 0 14px}.patient-account-form-actions{display:flex;justify-content:flex-end}@media(max-width:640px){.patient-account-facts{grid-template-columns:1fr}.patient-account-emergency{padding:14px}.patient-account-form-actions,.patient-account-form-actions>*{width:100%}.patient-account-form-actions>*{justify-content:center}}
