:root{font-family:Segoe UI,Arial,sans-serif;color:#23354e;background:#f2f6fc;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d7e2ef;background:#fff;color:#245da8;border-radius:7px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px}button.primary{background:#1766cf;color:white;border-color:#1766cf}button.danger{color:#b53143}button:disabled{opacity:.45;cursor:default}input,select,textarea{padding:10px;border:1px solid #cbd8e8;border-radius:6px;width:100%;background:#fff;color:#23354e}input[type=checkbox]{width:auto}label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600}textarea{min-height:70px;resize:vertical}h1{font-size:25px;margin:0 0 8px}h2{font-size:20px;margin:0}h3{font-size:16px}p{color:#61758d;line-height:1.5}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.shell.collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{background:#123c73;color:white;padding:22px 12px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-weight:700;font-size:21px;margin:0 8px 30px}.brand small{display:block;font-size:12px;opacity:.7;margin-top:6px}.sidebar button{display:flex;justify-content:flex-start;gap:12px;width:100%;background:transparent;color:#d6e7ff;border:0;text-align:left;margin-bottom:5px}.sidebar button.active{background:#2c5890;color:white}.collapsed .nav-text,.collapsed .brand{display:none}.topbar{display:flex;gap:15px;align-items:center;background:#fff;border-bottom:1px solid #e0e8f2;padding:13px 24px}.topbar .spacer{flex:1}.content{padding:26px;max-width:1800px}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:22px 0}.toolbar label{margin:0;min-width:145px}.toolbar button:first-child{margin-right:auto}.card{background:white;border:1px solid #e0e8f2;border-radius:10px;padding:20px;box-shadow:0 4px 12px #16335c05}.table-wrap{overflow:auto;max-height:65vh}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;white-space:nowrap;background:#edf3fb;color:#31516f;position:sticky;top:0;z-index:1}th,td{padding:12px 10px;border-bottom:1px solid #e9eff6;vertical-align:middle}td.actions{white-space:nowrap}td.actions button{padding:6px 8px;margin-right:4px}.muted{color:#73869c;font-size:12px}.badge{display:inline-block;background:#e8f5ef;color:#247251;padding:4px 9px;border-radius:20px;font-size:12px}.badge.cancel{background:#fbe9ed;color:#b0394d}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.span{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.line-grid{display:grid;grid-template-columns:1.2fr 2fr 110px 130px 36px;gap:8px;align-items:center;margin:8px 0}.pay-grid{display:grid;grid-template-columns:120px 120px 1fr 36px;gap:8px;margin:8px 0}.totals{margin:18px 0 0 auto;max-width:420px;display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:16px}.totals strong{text-align:right}.error{color:#ae253d;padding:10px;background:#fff0f2;border-radius:6px}.login{max-width:430px;margin:12vh auto;padding:34px}.login h1{color:#164984}.login .brand{margin:0 0 25px;color:#164984}dialog{border:1px solid #d9e3f0;border-radius:12px;padding:24px;width:min(1100px,95vw);max-height:92vh;color:#23354e}dialog::backdrop{background:#0c224977}dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}#toast{position:fixed;bottom:20px;right:20px;background:#183c68;color:white;border-radius:8px;padding:14px 20px;max-width:600px;z-index:2000;display:none}.permission{display:flex;flex-direction:row;align-items:center}.invoice-print{display:none}.company-logo{max-width:100px;max-height:65px;object-fit:contain}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stats strong{display:block;font-size:26px;color:#1766cf}.stats span{font-size:13px;color:#6e8197}.empty{padding:40px;text-align:center;color:#77899f}@media(max-width:900px){.shell{grid-template-columns:64px minmax(0,1fr)}.nav-text,.brand{display:none}.grid{grid-template-columns:1fr 1fr}.content{padding:14px}.line-grid{grid-template-columns:1fr 1fr 90px 100px 36px}.topbar{padding:10px}}@media print{@page{size:A5 landscape;margin:8mm}body{background:white;font-size:10px}.shell,dialog,#toast{display:none!important}.invoice-print{display:block!important;color:black}.invoice-print table{font-size:10px}.invoice-print th,.invoice-print td{padding:5px;border-color:#ccc}.invoice-print h1{font-size:18px}.invoice-print h2{font-size:14px}.invoice-print .print-header{text-align:center}.invoice-print .print-meta{display:flex;justify-content:space-between;gap:20px}.invoice-print th{position:static;background:#eee}.invoice-print .totals{font-size:12px;max-width:300px}.invoice-print p{color:black;margin:3px 0}.invoice-print .company-logo{max-height:40px}.invoice-print .caption{text-align:center;margin-top:12px}}

/* Form layout must not override the login workflow's hidden state. */
.login [hidden]{display:none!important}
.mfa-steps{padding-left:22px;max-width:620px}.mfa-steps>li{margin:14px 0}.mfa-steps p{margin:7px 0}.mfa-qr{display:block;width:260px;max-width:100%;height:auto;background:white;margin:12px 0}.mfa-steps details{margin:10px 0}.mfa-steps summary{cursor:pointer;color:#245da8}.mfa-steps details label{margin-top:8px}#mfa-skip{margin:10px 0}#mfa-secret{font-family:monospace}
@media print{.invoice-print .table-wrap{max-height:none;overflow:visible}.invoice-print tr{break-inside:avoid}.invoice-print thead{display:table-header-group}}

@media print{html{background:white}.invoice-print .totals{break-inside:avoid}}

@media print{:root{background:#fff!important}body{background:#fff!important}}

@media print{
 @page{size:A5 landscape;margin:6mm}
 .invoice-print .bill-company{border:1px solid #000;text-align:center;position:relative;padding:2mm 3mm;margin-bottom:1.5mm;min-height:22mm;line-height:1.25}
 .invoice-print .bill-company.has-logo{padding-left:24mm;padding-right:24mm}
 .invoice-print .bill-company .company-logo{position:absolute;left:3mm;top:3mm;width:18mm;max-width:18mm;height:18mm;max-height:18mm;object-fit:contain}
 .invoice-print .bill-company h1{font:bold 17px Arial,sans-serif;margin:0 0 1mm;overflow-wrap:anywhere}
 .invoice-print .bill-company-caption{font-weight:bold;font-size:12px;white-space:pre-line;margin-bottom:1mm}
 .invoice-print .bill-company div{overflow-wrap:anywhere}
 .invoice-print.bill-document{font:11px Arial,sans-serif;display:flex!important;flex-direction:column;min-height:134mm;color:#000}
 .bill-document .bill-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:3mm;margin-bottom:1.5mm}
 .bill-document .bill-title h2{font-size:14px;margin:0;text-decoration:underline;text-align:center}
 .bill-document .bill-title>strong{text-align:right;overflow-wrap:anywhere}
 .bill-document table{font-size:11px;width:100%;border-collapse:collapse;table-layout:fixed}
 .bill-document .bill-patient{border:1px solid #000;margin-bottom:1.5mm}
 .bill-patient col:nth-child(1){width:13%}.bill-patient col:nth-child(2){width:32%}.bill-patient col:nth-child(3),.bill-patient col:nth-child(5){width:10%}.bill-patient col:nth-child(4){width:17%}.bill-patient col:nth-child(6){width:18%}
 .bill-document .bill-patient td{padding:.8mm 1mm;border:0;vertical-align:top;white-space:normal;overflow-wrap:anywhere}
 .bill-document .bill-value{font-weight:bold}
 .bill-document .bill-value:before{content:': ';font-weight:normal}
 .bill-document .bill-services{flex:1;min-height:30mm;margin-bottom:2mm}
 .bill-document .bill-services th{border-top:1px solid #000;border-bottom:1px solid #000;background:#fff;font-weight:bold;padding:1mm;position:static}
 .bill-document .bill-services td{border:0;padding:.8mm 1mm;white-space:normal;overflow-wrap:anywhere}
 .bill-document .bill-services th:first-child{width:68%}.bill-document .bill-services th:nth-child(2){width:17%}.bill-document .bill-services th:last-child{width:15%}
 .bill-document .bill-number{text-align:right!important;white-space:nowrap}
 .bill-document .bill-bottom{border:1px solid #000;display:grid;grid-template-columns:1fr 1fr;gap:3mm;padding:1.5mm;break-inside:avoid}
 .bill-document .bill-words{display:block;text-transform:uppercase;font-size:10px;min-height:6mm;margin-bottom:1mm;overflow-wrap:anywhere}
 .bill-document .bill-payment th{border:1px solid #000;background:#fff;padding:.5mm 1mm;position:static}
 .bill-document .bill-payment td,.bill-document .bill-totals td,.bill-document .bill-totals th{border:0;background:#fff;padding:.5mm 1mm;position:static}
 .bill-document .bill-totals th{font-weight:bold;text-align:left;width:65%;white-space:normal;text-transform:none}
 .bill-document .bill-totals tr:last-child{font-weight:bold}
 .bill-document .bill-footer{display:flex;align-items:end;justify-content:space-between;gap:5mm;margin-top:2mm;font-size:9px;line-height:1.6;break-inside:avoid}
 .bill-document .bill-footer>strong{max-width:55%;text-align:center}
 .bill-document .bill-discount-note{font-size:9px;margin-top:1mm;break-inside:avoid}
}
@media print{.bill-document th{color:#000}}
