*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Arial,sans-serif;background:#f2f7f8;color:#16313b}header{background:#0b6d69;color:white;padding:16px max(20px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center}header strong{font-size:20px}header small{display:block;opacity:.8;margin-top:3px}header a{color:white}nav{display:flex;gap:8px;overflow:auto;background:white;padding:12px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid #dde7e9}nav a{white-space:nowrap;text-decoration:none;color:#27605e;background:#eef7f5;padding:10px 13px;border-radius:9px;font-size:14px}main{max-width:1100px;margin:24px auto;padding:0 16px}.heading{display:flex;justify-content:space-between;align-items:center}.heading h1{font-size:26px}.panel,.stat{background:white;border:1px solid #dce8e9;border-radius:15px;padding:22px;box-shadow:0 2px 10px #143d3910;margin:16px 0}.stats,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat span{color:#637a81;display:block;font-size:13px}.stat b{font-size:27px;display:block;margin-top:8px;color:#087c74}label{display:block;font-weight:600;font-size:14px;margin:13px 0}input,select,textarea{width:100%;padding:12px;margin-top:6px;border:1px solid #cadcde;border-radius:9px;background:#fff;font:inherit;color:#16313b}button,.button{display:inline-block;border:0;background:#087b72;color:white;padding:12px 17px;border-radius:9px;font-weight:700;cursor:pointer;text-decoration:none;font:inherit}button:hover,.button:hover{background:#075d57}.small{padding:7px 9px;font-size:12px}.inline{display:inline-block;margin-left:8px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}td,th{text-align:left;padding:12px;border-bottom:1px solid #e3eeee}th{background:#eff8f7}.pill{background:#e8f6f1;padding:5px 8px;border-radius:20px;font-size:12px}.alert{padding:12px;background:#fff0f0;color:#9a1d24;border-radius:8px}.success{padding:12px;background:#e4f8ee;color:#17623c;border-radius:8px}.muted{color:#6b8086;font-size:13px}.login{max-width:480px;margin:8vh auto}.login h1{color:#087b72}.login button{width:100%}.slip{text-align:center;max-width:600px;margin:10px auto}.slip p{font-size:14px}.bookingno{font-size:24px;font-weight:800;letter-spacing:1px;padding:14px;background:#f1f8f7}.print{display:block;margin:15px auto}footer{text-align:center;color:#6b8086;font-size:12px;padding:25px}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}header{padding:14px}nav{padding:10px}.heading h1{font-size:22px}.panel{padding:16px}}@media print{header,nav,footer,.heading,.print,.alert,.success{display:none!important}body{background:white}main{margin:0;padding:0}.slip{box-shadow:none;border:0;margin:0 auto;max-width:100%}@page{size:A5;margin:12mm}}

.lookup{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0 20px}.lookup input{flex:1;min-width:200px}.lookup button{width:auto}

@media print{nav,header,.heading,.print,footer,form{display:none!important}.slip{border:0!important;box-shadow:none!important;max-width:148mm;margin:0 auto;padding:8mm!important}body{background:white!important;color:black!important}}

/* V1.3 patient master */
.panel small{font-size:.72em;color:#607584}.lookup{display:flex;gap:10px;flex-wrap:wrap}.lookup input{flex:1;min-width:190px}.tablewrap a{color:#087e88;font-weight:600}
/* V1.5 consultation and printable prescription */
textarea{display:block;width:100%;box-sizing:border-box;min-height:80px;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;margin-top:5px;resize:vertical}
.prescription{background:white;color:#111;max-width:820px;margin:0 auto}.rx-head{text-align:center;border-bottom:2px solid #333;margin-bottom:14px}.rx-head h1{margin-bottom:3px}.rx-text{white-space:normal;line-height:1.55;overflow-wrap:anywhere}.prescription h4{margin:14px 0 4px}.rx-sign{text-align:right;margin-top:70px;border-top:1px solid #999;padding-top:8px;max-width:240px;margin-left:auto}
@media print{@page{size:A4;margin:14mm}header,nav,footer,.print,.alert{display:none!important}body,main,.panel{background:white!important;color:black!important;box-shadow:none!important;border:0!important}.prescription{padding:0!important;max-width:none!important}}

/* V1.8 RMP dashboard and printable statement */
@media print{body:has(.rmp-statement) main>.heading,body:has(.rmp-statement) main>.panel:not(.rmp-statement){display:none!important}body:has(.rmp-statement) .rmp-statement{display:block!important;border:0!important;box-shadow:none!important}body:has(.rmp-statement) .rmp-statement .tablewrap{overflow:visible!important}body:has(.rmp-statement) .rmp-statement table{min-width:0;font-size:10px}body:has(.rmp-statement) .rmp-statement th,body:has(.rmp-statement) .rmp-statement td{padding:5px;overflow-wrap:anywhere}}
/* V2.0 phase 1 responsive additions */
.v2labitem{border:1px solid #d9e3e7;border-radius:12px;padding:16px;margin:14px 0;background:#fff}
.v2labitem h3{margin-top:0}
#v2invoiceform .v2service{min-width:220px;width:100%;max-width:100%}
#v2invoiceform .v2qty{min-width:80px;max-width:130px}
@media(max-width:700px){.v2labitem{padding:12px}#v2invoiceform .v2service{min-width:150px}}
@media print{nav,header,footer,form,button,.heading{display:none!important}main{max-width:none!important;margin:0!important;padding:0!important}.panel{box-shadow:none!important;border:0!important;padding:8px!important}.v2labitem{break-inside:avoid}}
/* V2.0 phase 2 report layout */
.v2-report{max-width:980px;margin:auto;background:#fff;color:#142238}.v2-report-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:3px solid #147d8d;padding-bottom:14px}.v2-report-head h2{margin:0;color:#146e80}.v2-report-id{text-align:right;font-size:.85rem}.v2-report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 0}.v2-report-warning{padding:12px;border:1px solid #bd6a39;background:#fff4e8}.v2-result-table input{min-width:100px;max-width:180px}.v2-report-sign{text-align:right;border-top:1px solid #9ba8b3;padding-top:20px;margin-top:32px}@media(max-width:600px){.v2-report-head{flex-direction:column}.v2-report-meta{grid-template-columns:1fr}}@media print{body{background:white!important}.no-print,nav,header,.topbar{display:none!important}.v2-report{box-shadow:none!important;border:0!important;padding:0!important;max-width:100%!important}.v2-report .tablewrap{overflow:visible!important}.v2-report table{width:100%!important}.v2-report th,.v2-report td{font-size:10pt!important;color:black!important}.v2-report-head{border-bottom:2px solid #333!important} @page{size:A4;margin:13mm}}

/* V2.0 Phase 3 - Report verification print layout */
.v2-security-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 0}.v2-barcode svg{width:200px;max-width:100%;height:65px}.v2-qr svg{width:112px;height:112px;image-rendering:pixelated}.v2-verify-url{overflow-wrap:anywhere;font-size:11px;color:#475569}.v2-security-row small{display:block;text-align:center}
@media print{.v2-security-row{break-inside:avoid}.v2-qr svg{width:100px;height:100px}.v2-verify-url{font-size:9px}}
/* V2.0 Phase 4 imaging and external report presentation */
.v2-imaging-print{max-width:960px;margin:auto;background:#fff;color:#1c2837}.v2-imaging-header{display:flex;justify-content:space-between;gap:22px;border-bottom:3px solid #203a60;padding-bottom:18px}.v2-imaging-header h2{margin:0;color:#16375d}.v2-imaging-header h3{letter-spacing:1px}.v2-imaging-number{text-align:right;font-size:13px;white-space:nowrap}.v2-imaging-patient{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f1f5fa;padding:16px;margin:18px 0;border-radius:8px}.v2-imaging-section{margin:24px 0;min-height:65px}.v2-imaging-section h4{border-bottom:1px solid #cbd5e1;padding-bottom:7px;color:#1e426c;letter-spacing:.7px}.v2-imaging-section p{white-space:normal;line-height:1.7}.v2-imaging-signature{text-align:right;margin-top:45px;padding-top:12px;border-top:1px solid #94a3b8}.v2-imaging-editor label{display:block;margin:12px 0}.v2-imaging-editor textarea{width:100%}
@media print{@page{size:A4;margin:16mm 15mm}.v2-imaging-print{max-width:none;box-shadow:none;border:0;padding:0}.v2-imaging-header,.v2-imaging-section,.v2-imaging-signature{break-inside:avoid}.v2-imaging-patient{background:#fff;border:1px solid #aaa}.v2-imaging-header h2,.v2-imaging-section h4{color:#000}}
@media(max-width:600px){.v2-imaging-patient{grid-template-columns:1fr}.v2-imaging-header{flex-direction:column}.v2-imaging-number{text-align:left}}
/* HASAN POLYCLINIC — reference-inspired application shell. Screen only; preserve print layouts. */
@media screen {
:root{--clinic-navy:#052b43;--clinic-deep:#06253b;--clinic-teal:#007e83;--clinic-ink:#0b1d3b;--clinic-line:#dce6ef}
body:has(.clinic-sidebar){background:#f4f8fc;color:var(--clinic-ink);font-family:Arial,system-ui,sans-serif;min-height:100vh}
.clinic-header{position:fixed;z-index:30;left:0;top:0;width:270px;height:112px;padding:18px 20px;background:linear-gradient(150deg,#05283f,#07334c);display:flex;flex-direction:column;align-items:stretch;justify-content:center;border-bottom:1px solid #25566a}
.clinic-brand{display:flex;align-items:center;gap:12px}.clinic-brand strong{font-size:17px;line-height:1.1;display:block;max-width:170px}.clinic-brand small{font-size:12px;color:#ffc529;font-weight:700;opacity:1}.brand-symbol{background:#008f91;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:37px;color:#fff;flex-shrink:0}.sidebar-logout{display:none}
.clinic-sidebar{position:fixed;z-index:29;left:0;top:112px;bottom:0;width:270px;overflow-y:auto;background:linear-gradient(155deg,#052b43,#00334a 65%,#05253b);padding:12px 0 25px;display:flex;flex-direction:column;gap:2px;border:0;scrollbar-width:thin}
.clinic-sidebar a{display:block;flex:none;white-space:normal;color:#e5f2f8;background:transparent;border-radius:0;font-size:14px;font-weight:600;padding:12px 20px;border-left:4px solid transparent;line-height:1.3}
.clinic-sidebar a:hover,.clinic-sidebar a.active{background:linear-gradient(90deg,#008f90,#006571);color:white;border-left-color:#04d9b7}
.clinic-topbar{position:sticky;top:0;z-index:20;margin-left:270px;height:65px;background:white;border-bottom:1px solid var(--clinic-line);display:flex;align-items:center;gap:24px;padding:10px 28px;box-shadow:0 1px 7px #102c4810}
.sidebar-toggle{font-size:22px;background:transparent;color:#102b48;padding:5px 8px}.sidebar-toggle:hover{background:#edf4f9;color:#102b48}.global-search{flex:1;max-width:580px}.global-search input{margin:0;height:41px;padding:9px 15px;border-radius:7px;border:1px solid #cbd8e5;font-size:14px}.topbar-user{margin-left:auto;font-weight:700;font-size:14px;white-space:nowrap}.topbar-user small{display:block;color:#54677e;font-weight:400}.topbar-logout{font-size:13px;color:#0a6384;text-decoration:none}
.clinic-main{margin:0 0 0 270px;max-width:none;padding:22px 24px 50px;min-height:calc(100vh - 65px)}.clinic-main>.heading{margin-bottom:14px}.clinic-main>.heading h1{color:#071d40;font-size:27px;margin:0;font-weight:800}.clinic-main>.heading span{color:#62778b;font-size:13px}
.clinic-main .panel,.clinic-main .stat{background:#fff;border:1px solid #dce5ed;border-radius:9px;box-shadow:0 2px 8px #193c5a0b;padding:20px}.clinic-main .stat{margin:0;min-height:105px}.clinic-main .stat:nth-child(5n+1){background:#eaf6ff;border-color:#c9e5fb}.clinic-main .stat:nth-child(5n+2){background:#e6f8ee;border-color:#c7ecd5}.clinic-main .stat:nth-child(5n+3){background:#f3edff;border-color:#ded1fa}.clinic-main .stat:nth-child(5n+4){background:#fff5e7;border-color:#f5e5c9}.clinic-main .stat:nth-child(5n){background:#fff0f1;border-color:#f5d7da}
.clinic-main .stats{gap:15px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.clinic-main .stat span{font-size:14px;color:#1c314c;font-weight:600}.clinic-main .stat b{color:#0a2343;font-size:29px}.clinic-main h2,.clinic-main h3{color:#0b2143}.clinic-main th{background:#f0f5fa;color:#15263f;font-weight:700}.clinic-main td,.clinic-main th{padding:11px 13px;border-color:#e6edf4}.clinic-main tbody tr:hover{background:#f8fbfe}.clinic-main input,.clinic-main select,.clinic-main textarea{border-color:#cbd9e6;border-radius:7px}.clinic-main input:focus,.clinic-main select:focus,.clinic-main textarea:focus{outline:2px solid #92c7df;outline-offset:1px}.clinic-main button,.clinic-main .button{border-radius:7px;background:#007f89;font-weight:700}.clinic-main button:hover,.clinic-main .button:hover{background:#006a74}.clinic-main .alert,.clinic-main .success{border-radius:7px}
}
@media screen and (max-width:1100px){.clinic-main .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:900px){.clinic-header,.clinic-sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar-open .clinic-header,.sidebar-open .clinic-sidebar{transform:translateX(0)}.clinic-topbar,.clinic-main{margin-left:0}.clinic-topbar{padding:10px 14px;gap:10px}.clinic-main{padding:18px 13px}.topbar-user{display:none}}
@media screen and (max-width:520px){.clinic-main .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.clinic-main .stat{padding:13px;min-height:90px}.clinic-main .stat b{font-size:24px}.clinic-main .stat span{font-size:12px}.clinic-main>.heading h1{font-size:23px}.topbar-logout{display:none}.clinic-topbar{gap:8px}}
@media print{.clinic-header,.clinic-sidebar,.clinic-topbar{display:none!important}.clinic-main{margin:0!important;max-width:none!important}}

/* Reference-matched v2 dashboard and shared system UI; screen-only. */
@media screen {
.clinic-header{width:282px;height:118px;padding-left:36px}.clinic-sidebar{width:282px;top:118px;padding-top:0}.clinic-sidebar a{padding:14px 17px 14px 26px;font-size:15px;display:flex;align-items:center;gap:16px;min-height:47px}.clinic-sidebar a::before{content:'▦';display:inline-grid;place-items:center;width:23px;min-width:23px;font-size:20px;color:#b7cfdf}.clinic-sidebar a[data-icon]::before{content:attr(data-icon)}.clinic-sidebar a.active::before{color:#fff}.clinic-topbar{margin-left:282px;height:63px}.clinic-main{margin-left:282px;padding:16px 24px 45px}.clinic-main>.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.clinic-main>.heading h1{font-size:32px;letter-spacing:-.7px}.clinic-main>.heading span{display:block;font-size:16px;color:#344b64;margin-top:3px}.today-date{border:1px solid #d8e2ed;background:white;padding:14px 17px;border-radius:8px;box-shadow:0 1px 4px #142b4610;font-weight:600;color:#10233d;white-space:nowrap}.profile-avatar{font-size:24px;vertical-align:middle;margin-right:8px}.topbar-user{display:flex;align-items:center}.topbar-user small{font-size:12px}.clinic-main .dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0 0 22px}.dashboard-kpis .stat{text-decoration:none;position:relative;padding:17px 12px 14px 87px;min-height:116px;display:flex;flex-direction:column;justify-content:center;gap:4px;box-shadow:none}.dashboard-kpis .stat span:not(.stat-icon){font-size:15px;color:#10243b;white-space:nowrap}.dashboard-kpis .stat b{font-size:30px;line-height:1.1}.dashboard-kpis .stat small{font-size:11px;color:#287349;font-weight:600}.dashboard-kpis .stat-icon{position:absolute;left:16px;top:23px;width:54px;height:54px;display:grid;place-items:center;background:#d5ecff;color:#137ff0;border-radius:9px;font-size:30px}.dashboard-kpis .stat:nth-child(2) .stat-icon{background:#c8f0d9;color:#059b51}.dashboard-kpis .stat:nth-child(3) .stat-icon{background:#e5d7fa;color:#8742d4}.dashboard-kpis .stat:nth-child(4) .stat-icon{background:#ffe9c7;color:#f39400}.dashboard-kpis .stat:nth-child(5) .stat-icon{background:#fbd6db;color:#d61c2d}.dashboard-columns{display:grid;grid-template-columns:1.28fr 1fr;gap:20px;margin:0 0 20px}.dashboard-columns.bottom{grid-template-columns:1.4fr 1fr}.dashboard-columns .panel{margin:0;padding:17px 20px 20px;min-width:0}.dashboard-columns h2{font-size:20px;margin:0 0 18px;font-weight:800}.bar-plot{height:220px;display:flex;gap:24px;align-items:flex-end;justify-content:space-around;border-bottom:2px solid #a7b5c6;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#e3e9f0 calc(25% - 1px),#e3e9f0 25%);padding:0 24px}.bar-col{height:100%;width:26%;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;position:relative}.bar-col strong{font-size:20px;margin-bottom:5px}.bar-col .bar-track{height:170px;width:100%;max-width:105px;display:flex;align-items:flex-end}.bar-fill{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(#268fff,#1682ed);min-height:2px}.bar-1{background:linear-gradient(#10b879,#059d60)}.bar-2{background:linear-gradient(#a452e5,#8638cf)}.bar-col>span{position:absolute;bottom:-29px;white-space:nowrap;font-size:13px;font-weight:600}.dashboard-chart{padding-bottom:49px!important}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:30px;padding:7px 0}.donut{width:190px;height:190px;flex-shrink:0;border-radius:50%;background:conic-gradient(#1685f8 0 var(--ratio),#16a35c var(--ratio) 100%);display:grid;place-items:center}.donut>div{width:115px;height:115px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut b{font-size:30px}.donut span{font-size:15px}.donut-legend{flex:1;min-width:120px}.donut-legend>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e8edf3;font-size:14px}.donut-legend i{width:16px;height:16px;border-radius:3px}.donut-legend b{margin-left:auto}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head a{color:#0877e4;font-weight:700}.status-chip{border-radius:20px;padding:5px 12px;background:#ffeccc;color:#a65b00;font-weight:700;font-size:12px}.status-chip.ok{background:#d3f5df;color:#126d2b}.quick-actions>a{display:block;text-decoration:none;border-bottom:1px solid #e5edf4;padding:12px 5px;color:#173c60;font-weight:600}.quick-actions>a:hover{color:#007f89;background:#f3fbfc}.clinic-main .panel{border-radius:9px}.clinic-main table{width:100%}.clinic-main .tablewrap{border-radius:5px}.clinic-main details{border-radius:7px}.clinic-main label{font-weight:600}.clinic-main .panel h2{letter-spacing:-.25px}
}
@media screen and (max-width:1400px){.clinic-main .dashboard-kpis{gap:10px}.dashboard-kpis .stat{padding-left:65px}.dashboard-kpis .stat-icon{width:40px;height:40px;left:12px;font-size:24px}.dashboard-kpis .stat span:not(.stat-icon){font-size:12px}.dashboard-kpis .stat b{font-size:25px}}
@media screen and (max-width:1100px){.clinic-main .dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-columns,.dashboard-columns.bottom{grid-template-columns:1fr}}
@media screen and (max-width:900px){.clinic-topbar,.clinic-main{margin-left:0}.clinic-header,.clinic-sidebar{transform:translateX(-100%)}.sidebar-open .clinic-header,.sidebar-open .clinic-sidebar{transform:translateX(0)}}
@media screen and (max-width:600px){.clinic-main>.heading h1{font-size:23px}.clinic-main>.heading span{font-size:12px}.today-date{display:none}.clinic-main .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis .stat{padding:12px 8px 12px 55px;min-height:96px}.dashboard-kpis .stat-icon{left:8px;top:20px;width:38px;height:38px}.dashboard-kpis .stat span:not(.stat-icon){white-space:normal}.donut-wrap{flex-wrap:wrap}.bar-plot{padding:0 6px;gap:10px}.dashboard-columns .panel{padding:14px 10px}.dashboard-columns h2{font-size:17px}}
@media print{.dashboard-columns,.dashboard-kpis{break-inside:avoid}}

/* Compact A6 booking slip: scoped to appointment page, no impact on invoices or prescriptions. */
.a6-booking-slip{width:105mm;max-width:100%;min-height:0;margin:18px auto;padding:6mm!important;border:1px solid #d8e3e8;border-radius:7px;text-align:left;color:#10243c;background:#fff;box-shadow:0 5px 22px #122c4814;font-family:Arial,system-ui,sans-serif}
.a6-booking-slip *{box-sizing:border-box}.a6-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:2px solid #0b7777}.a6-logo{width:35px;height:35px;flex:none;background:#087e7c;color:#fff;border-radius:6px;display:grid;place-items:center;font-size:24px;font-weight:bold}.a6-clinic{min-width:0}.a6-clinic h2{margin:0 0 3px;font-size:15px;line-height:1.2;color:#0b2843;letter-spacing:.2px}.a6-clinic div{font-size:8px;line-height:1.4;color:#526173;overflow-wrap:anywhere}.a6-title{text-align:center;font-size:10px;letter-spacing:1.2px;font-weight:800;color:#0b7777;margin:13px 0 9px}.a6-booking{border:1px solid #c6e5e2;border-radius:5px;background:#eef9f8;text-align:center;padding:8px 4px;margin-bottom:11px}.a6-booking span,.a6-field span{display:block;font-size:8px;color:#687a8b;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.a6-booking strong{display:block;margin-top:4px;font-size:17px;letter-spacing:.5px;color:#102a46;overflow-wrap:anywhere}.a6-details{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.a6-field{padding:7px 0;border-bottom:1px solid #e4ebee;min-width:0}.a6-field strong{display:block;font-size:10.5px;line-height:1.4;margin-top:4px;color:#142c42;overflow-wrap:anywhere}.a6-wide{grid-column:1/-1}.a6-note{font-size:9px;text-align:center;color:#355566;border-top:1px dashed #b4c9d2;padding-top:11px;margin-top:15px;line-height:1.4}
@media print{body:has(.a6-booking-slip) header,body:has(.a6-booking-slip) nav,body:has(.a6-booking-slip) footer,body:has(.a6-booking-slip) .clinic-sidebar,body:has(.a6-booking-slip) .clinic-topbar,body:has(.a6-booking-slip) .heading,body:has(.a6-booking-slip) .print{display:none!important}body:has(.a6-booking-slip) main,body:has(.a6-booking-slip) .clinic-main{margin:0!important;padding:0!important;max-width:none!important}body:has(.a6-booking-slip) .a6-booking-slip{width:95mm!important;max-width:95mm!important;margin:0!important;padding:4mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-inside:avoid!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body:has(.a6-booking-slip) .a6-logo{background:#fff!important;color:#111!important;border:1px solid #222}body:has(.a6-booking-slip) .a6-booking{background:#fff!important;border:1px solid #777!important}body:has(.a6-booking-slip) .a6-title{color:#111!important}}

/* Modern A4 prescription — isolated from booking slip and invoices */
.rx-modern{--rx-navy:#102b45;--rx-teal:#087e84;max-width:794px!important;text-align:left!important;padding:28px 34px!important;border-radius:7px!important;color:#203349;background:#fff;line-height:1.45}
.rx-modern-header{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:3px solid var(--rx-teal)}
.rx-clinic-mark{width:49px;height:49px;flex:0 0 49px;border:2px solid var(--rx-teal);color:var(--rx-teal);display:grid;place-items:center;border-radius:8px;font-size:31px;font-weight:bold}
.rx-clinic-info{flex:1;min-width:0}.rx-clinic-info h1{font-size:23px;line-height:1.2;margin:0 0 4px;color:var(--rx-navy);letter-spacing:.3px}.rx-clinic-info p{margin:1px 0;font-size:11px;color:#526777;overflow-wrap:anywhere}.rx-doc-label{text-align:right;font-size:12px;font-weight:800;letter-spacing:1.2px;color:var(--rx-teal)}
.rx-doctor-band{display:flex;justify-content:space-between;gap:15px;padding:15px 0}.rx-doctor-band>div{display:flex;flex-direction:column;gap:3px}.rx-doctor-band strong{font-size:15px;color:var(--rx-navy)}.rx-kicker,.rx-patient-grid small{font-size:10px;color:#687b8a;font-weight:700;letter-spacing:.7px}.rx-date{text-align:right}
.rx-patient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:15px;background:#f3f8f9;border:1px solid #dce9eb;border-radius:5px}.rx-patient-grid>div{display:flex;flex-direction:column;gap:3px;min-width:0}.rx-patient-grid b{font-size:12px;overflow-wrap:anywhere}.rx-patient-grid>div:first-child{grid-column:span 2}.rx-patient-grid .rx-visit{grid-column:span 2}
.rx-body{padding:18px 0 0}.rx-main-column{min-height:390px}.rx-section{margin:0 0 16px;break-inside:avoid}.rx-section h4{font-size:12px!important;text-transform:uppercase;letter-spacing:.6px;color:var(--rx-teal);margin:0 0 6px!important;padding-bottom:5px;border-bottom:1px solid #e0e9ec}.rx-modern .rx-text{font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.65}.rx-medicines{position:relative;min-height:145px;margin:17px 0 20px;padding:16px 17px 16px 51px;border:1px solid #cfdee2;border-left:4px solid var(--rx-teal);border-radius:4px;break-inside:avoid}.rx-medicines h3{font-size:13px;color:var(--rx-navy);margin:0 0 9px}.rx-symbol{position:absolute;left:13px;top:12px;font-family:Georgia,serif;font-size:29px;color:var(--rx-teal)}.rx-followup{display:flex;gap:14px;align-items:center;padding:10px 12px;background:#f2f8f8;border-left:3px solid var(--rx-teal);font-size:12px;break-inside:avoid}.rx-followup strong{color:var(--rx-teal);font-size:10px;letter-spacing:.6px}.rx-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid #d5e0e5;padding-top:16px;margin-top:25px;break-inside:avoid}.rx-caution{max-width:380px;font-size:10px;color:#647684}.rx-sign-modern{text-align:center;min-width:190px;display:flex;flex-direction:column;gap:3px;font-size:11px}.rx-sign-line{border-bottom:1px solid #657582;height:35px}.rx-sign-modern small{font-size:9px;color:#637484}
@media(max-width:600px){.rx-modern{padding:16px!important}.rx-doc-label{font-size:9px}.rx-clinic-info h1{font-size:18px}.rx-patient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-patient-grid>div:first-child,.rx-patient-grid .rx-visit{grid-column:span 2}.rx-bottom{flex-wrap:wrap}}
@media print{@page{size:A4;margin:12mm}body:has(.rx-modern) header,body:has(.rx-modern) nav,body:has(.rx-modern) footer,body:has(.rx-modern) .clinic-sidebar,body:has(.rx-modern) .clinic-topbar,body:has(.rx-modern) .heading,body:has(.rx-modern) .print{display:none!important}body:has(.rx-modern) main,body:has(.rx-modern) .clinic-main{margin:0!important;padding:0!important;max-width:none!important}body:has(.rx-modern) .rx-modern{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;color:#111!important}.rx-modern-header{border-color:#333!important}.rx-modern .rx-clinic-mark,.rx-modern .rx-clinic-info h1,.rx-modern .rx-doc-label,.rx-modern .rx-section h4,.rx-modern .rx-symbol,.rx-modern .rx-medicines h3,.rx-modern .rx-followup strong{color:#111!important}.rx-modern .rx-clinic-mark{border-color:#333!important}.rx-modern .rx-patient-grid,.rx-modern .rx-followup{background:#fff!important}.rx-modern .rx-medicines{border-left-color:#444!important}.rx-modern .rx-main-column{min-height:380px}}


/* Professional A4 laboratory report, scoped to lab page only */
.lab-modern{position:relative;max-width:900px!important;padding:28px 32px!important;border:1px solid #dce6ed!important;border-radius:8px!important;overflow:hidden;font-family:Arial,system-ui,sans-serif;color:#172d42!important}
.lab-modern .lab-accent{height:7px;background:linear-gradient(90deg,#122b47 0%,#122b47 66%,#078c91 66%,#078c91 100%);margin:-28px -32px 23px}
.lab-modern .lab-eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#16858b;margin-bottom:8px}
.lab-modern .v2-report-head{align-items:center;border-bottom:1px solid #cbd9df;padding-bottom:20px;gap:15px}
.lab-modern .v2-report-head h2{font-size:25px;letter-spacing:.3px;color:#102c47;margin:0 0 7px}
.lab-modern .v2-report-head p{font-size:12px;color:#566b7a;margin:0 0 10px}
.lab-modern .v2-report-head h3{font-size:13px;letter-spacing:1px;color:#087f88;margin:0}
.lab-modern .v2-report-id{display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:145px;font-size:12px}
.lab-modern .v2-report-id strong{font-size:16px;color:#112e48}
.lab-modern .lab-report-label{font-size:10px;letter-spacing:1px;color:#637786;font-weight:700}
.lab-modern .lab-status{padding:5px 10px;border-radius:3px;font-weight:800;font-size:10px;letter-spacing:1px;border:1px solid #b8cbd3}
.lab-modern .lab-verified{background:#e7f5f0;color:#146b52}.lab-modern .lab-draft{background:#fff1e6;color:#92551d}
.lab-modern .lab-section-title{font-size:11px;letter-spacing:1.3px;font-weight:800;color:#0e6573;margin:22px 0 10px;border-left:3px solid #07969a;padding:5px 10px;background:#f1f8fa}
.lab-modern .v2-report-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dce5e9;border-radius:4px;padding:4px 13px}
.lab-modern .v2-report-meta span{padding:10px 5px;border-bottom:1px solid #e8eff1;font-size:12px;overflow-wrap:anywhere}
.lab-modern .v2-report-meta b{color:#526777;margin-right:5px}
.lab-modern .v2-result-table{min-width:0!important;width:100%;border:1px solid #d6e1e7}
.lab-modern .v2-result-table th{background:#183750;color:#fff;font-size:12px;padding:12px 10px}
.lab-modern .v2-result-table td{font-size:12px;padding:12px 10px;border-bottom:1px solid #e1e9ec}
.lab-modern .v2-result-table tbody tr:nth-child(even){background:#f6f9fb}
.lab-modern .v2-report-sign{font-size:12px;color:#273f4c;border-top:1px solid #b4c4cc;padding-top:16px;margin-top:22px}
.lab-modern .v2-security-row{border-top:1px solid #dce7ec;padding-top:16px}
.lab-modern .v2-report-warning{border-radius:3px;font-weight:700}
@media(max-width:600px){.lab-modern{padding:16px!important}.lab-modern .lab-accent{margin:-16px -16px 18px}.lab-modern .v2-report-head{align-items:flex-start}.lab-modern .v2-report-meta{grid-template-columns:1fr}.lab-modern .v2-report-id{align-items:flex-start}}
@media print{@page{size:A4;margin:13mm}body:has(.lab-modern) .clinic-sidebar,body:has(.lab-modern) .clinic-topbar,body:has(.lab-modern) .heading,body:has(.lab-modern) footer{display:none!important}body:has(.lab-modern) main,body:has(.lab-modern) .clinic-main{margin:0!important;padding:0!important;max-width:none!important}.lab-modern{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;max-width:none!important;overflow:visible!important}.lab-modern .lab-accent{margin:0 0 18px;height:5px;background:#222!important}.lab-modern .v2-report-head h2,.lab-modern .v2-report-head h3,.lab-modern .lab-section-title{color:#111!important}.lab-modern .lab-section-title{background:#fff!important;border-left-color:#555!important}.lab-modern .v2-result-table th{background:#eee!important;color:#111!important;border-bottom:2px solid #444!important}.lab-modern .v2-result-table tbody tr:nth-child(even){background:#fff!important}.lab-modern .v2-result-table{break-inside:auto}.lab-modern .v2-result-table tr{break-inside:avoid}.lab-modern .lab-status{background:#fff!important;color:#111!important}.lab-modern .v2-report-head,.lab-modern .v2-report-meta,.lab-modern .v2-security-row{break-inside:avoid}}
/* Professional A4 financial / RMP report suite */
.report-sheet{max-width:1100px;margin:18px auto;background:#fff;color:#1c3044;border:1px solid #d8e3ea;border-radius:8px;padding:26px}.report-letterhead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid #0d7885;padding-bottom:17px;margin-bottom:18px}.report-letterhead h2{font-size:23px;margin:4px 0;color:#102d4a}.report-letterhead p{margin:4px 0;color:#62758a;font-size:12px}.report-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#07878b}.report-type{text-align:right;font-size:19px;font-weight:800;letter-spacing:.5px;color:#0e5869}.report-type small{display:block;font-size:11px;font-weight:500;color:#64748b;margin-top:5px}.report-period{font-size:12px;color:#536779;margin:12px 0 18px}.report-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap}.report-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.report-filter label{margin:0}.report-filter input{min-width:150px}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:15px 0 22px}.report-summary>div{background:#f1f8fa;border:1px solid #d7e9ed;border-radius:6px;padding:13px}.report-summary small{display:block;color:#536a79;font-size:11px}.report-summary strong{display:block;color:#14364f;font-size:19px;margin-top:5px}.report-section{font-size:12px;letter-spacing:1px;font-weight:800;color:#086d7a;border-left:4px solid #0c8590;padding:7px 10px;margin:15px 0}.report-table{min-width:600px}.report-sheet table th{background:#eaf3f6;color:#203e52;font-size:12px}.report-sheet table td{font-size:12px}.report-sheet table tfoot th{border-top:2px solid #1b4056}.report-amount{text-align:right!important;font-variant-numeric:tabular-nums}.report-note{font-size:11px;color:#667788;margin-top:18px}.report-signature{display:flex;justify-content:space-between;margin-top:50px;gap:30px}.report-signature span{border-top:1px solid #657786;padding-top:8px;text-align:center;min-width:150px;font-size:11px}.report-sheet .tablewrap{overflow-x:auto}
@media(max-width:650px){.report-letterhead{gap:8px}.report-type{font-size:14px}.report-letterhead h2{font-size:17px}.report-sheet{padding:14px}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{@page{size:A4;margin:12mm}body:has(.report-sheet) .clinic-sidebar,body:has(.report-sheet) .clinic-topbar,body:has(.report-sheet) header,body:has(.report-sheet) nav,body:has(.report-sheet) footer,body:has(.report-sheet) .heading,body:has(.report-sheet) .no-print,body:has(.report-sheet) button,body:has(.report-sheet) form{display:none!important}body:has(.report-sheet) main,body:has(.report-sheet) .clinic-main{margin:0!important;padding:0!important;max-width:none!important}body:has(.report-sheet) main>.panel:not(.report-sheet){display:none!important}.report-sheet{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}.report-sheet .tablewrap{overflow:visible!important}.report-sheet table{min-width:0!important;width:100%!important}.report-sheet th,.report-sheet td{font-size:9px!important;padding:6px 5px!important;overflow-wrap:anywhere}.report-sheet tr{break-inside:avoid}.report-letterhead{border-bottom:2px solid #333!important}.report-letterhead h2,.report-type,.report-kicker,.report-section{color:#111!important}.report-summary>div{background:#fff!important;border-color:#aaa!important}.report-signature{break-inside:avoid}.report-sheet .report-table thead{display:table-header-group}}


/* Premium clinic login · scoped to unauthenticated view only */
body:has(.clinic-login){background:#f7fafc;color:#152c42}
.clinic-login{max-width:none!important;margin:0!important;padding:0!important;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.clinic-login .login-showcase{position:relative;min-height:100vh;overflow:hidden;padding:43px clamp(30px,5vw,88px);color:white;background:linear-gradient(145deg,#0d243d 0%,#112f4d 53%,#075c67 100%);display:flex;flex-direction:column;justify-content:space-between}
.clinic-login .login-showcase:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff15;border-radius:50%;right:-230px;top:12%;box-shadow:0 0 0 90px #ffffff06,0 0 0 185px #ffffff05;pointer-events:none}
.clinic-login .login-showcase-brand{position:relative;display:flex;align-items:center;gap:13px;font-weight:800;font-size:18px;letter-spacing:.25px;z-index:1}
.clinic-login .login-cross{display:inline-grid;place-items:center;flex-shrink:0;width:43px;height:43px;background:#13b5ae;color:white;border-radius:11px;font-size:25px;box-shadow:0 8px 20px #001a2730}
.clinic-login .login-showcase-brand small{display:block;font-size:10px;letter-spacing:1.6px;color:#b9d6dc;margin-top:5px;font-weight:600}
.clinic-login .login-showcase-content{position:relative;z-index:1;max-width:520px;margin:55px 0}
.clinic-login .login-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#14b6af}
.clinic-login .login-showcase-content h1{font-size:clamp(38px,4.5vw,67px);line-height:1.13;letter-spacing:-2.4px;margin:19px 0 22px;color:white}
.clinic-login .login-showcase-content h1 em{font-style:normal;color:#44d9cd}
.clinic-login .login-showcase-content p{font-size:16px;line-height:1.85;color:#c6dce5;max-width:420px}
.clinic-login .login-illustration{position:relative;margin:45px 0 0 18px;width:250px;height:155px;border-radius:20px;background:linear-gradient(135deg,#ffffff21,#ffffff08);border:1px solid #ffffff3b;box-shadow:0 15px 45px #04162940;display:flex;align-items:center;justify-content:center;gap:30px;transform:rotate(-4deg)}
.clinic-login .login-illustration-cross{font-size:66px;color:#64e0d6}.clinic-login .login-illustration-pulse{font-size:82px;color:#fff}.clinic-login .login-illustration-circle{position:absolute;width:45px;height:45px;right:-17px;top:-18px;background:#14b6af;border-radius:50%;box-shadow:0 0 0 9px #14b6af30}
.clinic-login .login-showcase-footer{position:relative;color:#c6dce5;font-size:12px;letter-spacing:.5px}
.clinic-login .login-form-area{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px 32px;min-width:0}
.clinic-login .login-form-card{width:100%;max-width:420px}.clinic-login .login-form-icon{display:grid;place-items:center;background:#e8f8f6;color:#089e98;width:55px;height:55px;border-radius:14px;font-size:27px;margin-bottom:28px}
.clinic-login .login-form-card h2{font-size:30px;line-height:1.2;letter-spacing:-.9px;margin:10px 0 9px;color:#142d45}
.clinic-login .login-form-subtitle{color:#758698;font-size:14px;line-height:1.7;margin:0 0 30px}
.clinic-login .login-fields label{font-size:13px;font-weight:750;color:#32495f;margin:19px 0 8px}
.clinic-login .login-fields input{height:49px;border-radius:9px;border:1px solid #d9e4ec;background:#fff;padding:12px 15px;margin:8px 0 0;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.clinic-login .login-fields input:focus{border-color:#0fa9a4;box-shadow:0 0 0 3px #0fa9a420}
.clinic-login .login-password-wrap{position:relative}.clinic-login .login-password-wrap input{padding-right:75px;margin-top:0}
.clinic-login .login-password-toggle{position:absolute;right:8px;top:6px;background:transparent!important;color:#287f83!important;font-size:12px;font-weight:750;padding:10px;border-radius:7px}
.clinic-login .login-submit{width:100%;height:50px;margin-top:27px;background:linear-gradient(95deg,#0b9d9c,#087c86);color:white;border:0;border-radius:9px;font-weight:750;font-size:15px;display:flex;justify-content:center;align-items:center;gap:13px;box-shadow:0 10px 20px #088f9030}
.clinic-login .login-submit:hover{background:linear-gradient(95deg,#078986,#086e77)}.clinic-login .login-submit span{font-size:20px}
.clinic-login .login-security{text-align:center;margin-top:26px;color:#8496a5;font-size:12px}.clinic-login .login-bottom{font-size:11px;color:#9aaab6;margin:52px 0 0;text-align:center}.clinic-login .login-mobile-brand{display:none}
.clinic-login .alert{border:1px solid #ffd1d1;background:#fff2f2;color:#9d2630;font-size:13px;margin:15px 0}
@media(max-width:850px){.clinic-login{grid-template-columns:1fr}.clinic-login .login-showcase{display:none}.clinic-login .login-form-area{min-height:100vh;padding:26px 22px}.clinic-login .login-mobile-brand{display:flex;align-items:center;gap:10px;align-self:flex-start;margin-bottom:45px;font-size:15px;color:#12354a}.clinic-login .login-mobile-brand .login-cross{width:36px;height:36px;font-size:21px}.clinic-login .login-form-card{margin:auto}.clinic-login .login-bottom{margin:35px 0 0}}
@media print{.clinic-login{display:none!important}}

/* Mobile navigation: accessible drawer, backdrop and close button. */
.sidebar-backdrop,.sidebar-close{display:none}
@media screen and (max-width:900px){
 .clinic-header,.clinic-sidebar{z-index:101;transition:transform .22s ease;transform:translateX(-105%)}
 .clinic-sidebar{top:70px;bottom:0;width:min(282px,85vw);overflow-y:auto;overscroll-behavior:contain}
 .clinic-header{width:min(282px,85vw);height:70px;padding:12px 15px}
 .sidebar-open .clinic-header,.sidebar-open .clinic-sidebar{transform:translateX(0)}
 .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(3,20,38,.55);z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
 .sidebar-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 .sidebar-close{display:block;align-self:flex-end;flex:none;margin:7px 12px 6px auto;padding:3px 12px;background:transparent;color:#fff;border:1px solid #ffffff55;border-radius:6px;font-size:27px;line-height:1.2;cursor:pointer}
 .sidebar-toggle{cursor:pointer;position:relative;z-index:1;flex:none}
 body.sidebar-open{overflow:hidden}
}
@media print{.sidebar-backdrop,.sidebar-close{display:none!important}}

/* Shared premium responsive design for Super Admin, Reception and RMP workspaces.
   Scoped to screen to preserve prescription, invoice and report printing. */
@media screen {
 body:has(.clinic-sidebar){background:linear-gradient(135deg,#f7fbff 0%,#edf6ff 58%,#f4f9ff 100%);color:#10243d}
 .clinic-sidebar{background:linear-gradient(180deg,#003c49,#005566 54%,#003743)!important}
 .clinic-sidebar a{border-radius:9px;transition:background .18s ease,color .18s ease}
 .clinic-sidebar a:hover,.clinic-sidebar a:focus-visible{background:#087f87!important;color:#fff!important}
 .clinic-topbar{background:#ffffffed!important;backdrop-filter:blur(10px);border-bottom:1px solid #dbeaf2}
 .clinic-main .panel,.clinic-main .stat,.clinic-main .card{border-radius:12px;box-shadow:0 5px 20px #1e53730c;border:1px solid #dce9f3}
 .clinic-main input:focus-visible,.clinic-main select:focus-visible,.clinic-main textarea:focus-visible{outline:2px solid #008f92;outline-offset:1px}
 .clinic-main button,.clinic-main .btn{border-radius:9px}
 .clinic-main .heading h1{color:#10243d}
 .clinic-main .tablewrap{max-width:100%;overflow-x:auto}
}
@media screen and (max-width:700px){
 .clinic-main{padding-bottom:28px}
 .clinic-main .panel{padding:12px}
 .clinic-main .heading{gap:8px}
 .clinic-main .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .clinic-main table{font-size:12px}
 .clinic-main input,.clinic-main select,.clinic-main textarea{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.clinic-sidebar a{transition:none}}
