:root{--sidebar:#0b4055;--sidebar2:#0d5a70;--accent:#1a8f9c;--bg:#f4f7fa;--text:#24333e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:255px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#fff;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:1040}.brand{display:flex;align-items:center;gap:12px;padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.brand i{font-size:26px}.brand small{display:block;opacity:.75}.sidebar .nav{padding:12px}.sidebar .nav a{color:rgba(255,255,255,.88);text-decoration:none;padding:10px 12px;border-radius:8px;margin:2px 0;display:flex;align-items:center;gap:10px}.sidebar .nav a:hover{background:rgba(255,255,255,.12);color:#fff}.nav-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;padding:14px 12px 5px}.main-content{margin-left:255px;width:calc(100% - 255px)}.card{border:0;box-shadow:0 2px 12px rgba(17,46,66,.07);border-radius:14px}.stat-card .icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#e8f6f8;color:var(--accent);font-size:20px}.table thead th{white-space:nowrap;background:#f0f5f7}.badge-soft{background:#eaf7f0;color:#197046}.form-label{font-weight:600;font-size:.9rem}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.print-only{display:none}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main-content{margin-left:0;width:100%}}@media print{.sidebar,.navbar,.no-print,.btn{display:none!important}.main-content{margin:0;width:100%}.card{box-shadow:none;border:1px solid #ddd}.print-only{display:block}}

/* V2.1: Keep modal action buttons visible on shorter screens.
   Bootstrap's scrollable modal expects header/body/footer to participate in a flex layout.
   Our forms wrap those sections, so make the form the flex container and scroll only the body. */
.modal-dialog-scrollable .modal-content > form{
  display:flex;
  flex-direction:column;
  max-height:100%;
  min-height:0;
  overflow:hidden;
}
.modal-dialog-scrollable .modal-content > form > .modal-header,
.modal-dialog-scrollable .modal-content > form > .modal-footer{
  flex:0 0 auto;
  background:#fff;
  z-index:2;
}
.modal-dialog-scrollable .modal-content > form > .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
}
.modal-dialog-scrollable .modal-content > form > .modal-footer{
  border-top:1px solid #dee2e6;
  box-shadow:0 -6px 14px rgba(17,46,66,.05);
}
@media (max-height:700px){
  .modal-dialog-scrollable{height:calc(100% - 1rem);margin:.5rem auto}
}


/* V2.4 performance/production UI refinements */
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.brand-logo{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:8px;padding:2px;flex:0 0 auto}
.table-responsive{contain:layout paint}.table td,.table th{vertical-align:middle}
.btn{font-weight:600}.page-heading h2{margin-bottom:.15rem}.form-control,.form-select{min-height:42px}
@media(max-width:575px){.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.btn,.page-heading>div:last-child{width:100%}.page-heading>div:last-child .btn{margin-bottom:6px}.container-fluid{padding-left:12px!important;padding-right:12px!important}}

/* V2.8 Easy Reception UI */
.reception-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,#fff,#eef8fb);border:1px solid #dbeaf0;border-radius:18px;padding:22px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:#138092}.easy-stat span{color:#667784;font-size:.83rem;font-weight:600}.easy-stat strong{font-size:1.65rem;margin-top:4px}.easy-actions .easy-action-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dce7ec;border-radius:16px;background:#fff;text-decoration:none;color:#24333e;min-height:104px;transition:.18s;box-shadow:0 2px 10px rgba(17,46,66,.05)}.easy-actions .easy-action-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(17,46,66,.12);border-color:#9fcbd5}.easy-action-card>i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:#edf7f9;color:#117a8a;flex:0 0 auto}.easy-action-card div{flex:1}.easy-action-card strong{display:block;font-size:1.03rem}.easy-action-card small{display:block;color:#6c7d87;margin-top:4px;line-height:1.35}.easy-action-card>span{font-weight:800;color:#147c8e}.easy-action-card.csection>i{background:#fff0f2;color:#ba3d55}.easy-action-card.delivery>i{background:#f5f0ff;color:#7251b5}.easy-action-card.shortstay>i{background:#eef7ff;color:#2675b8}.easy-action-card.nicu>i{background:#fff8e8;color:#a66a00}.easy-steps{list-style:none;padding:0;margin:0;counter-reset:steps}.easy-steps li{position:relative;padding:0 0 18px 44px}.easy-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#e8f6f8;color:#0d7280;font-weight:800;display:grid;place-items:center}.easy-steps span{display:block;color:#6b7c87;font-size:.9rem}.patient-pick{display:grid;grid-template-columns:1fr auto;position:relative;padding:12px 38px 12px 12px;border:1px solid #e2e8ec;border-radius:10px;text-decoration:none;color:#24333e;margin-bottom:8px}.patient-pick span{display:block;color:#6c7a83;font-size:.85rem}.patient-pick i{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.easy-confirm{max-width:850px}.easy-form .form-label{font-size:.95rem}.nav-help{margin:18px 8px;padding:12px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;gap:10px}.nav-help small{display:block;opacity:.8;line-height:1.35}@media(max-width:767px){.reception-hero{align-items:flex-start;flex-direction:column}.easy-actions .easy-action-card{min-height:88px;padding:14px}}

/* R3.0 workflow reorganization */
.workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.workflow-step{display:flex;gap:10px;align-items:flex-start;border:1px solid #dce7ec;border-radius:14px;padding:12px;background:#fbfdfe}.workflow-step>span,.case-step-no{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f6f8;color:#0d7280;font-weight:900;flex:0 0 auto}.workflow-step b{display:block}.workflow-step small{display:block;color:#6b7c87;line-height:1.35;margin-top:2px}.case-flow{display:grid;gap:12px}.case-step{display:flex;gap:14px;align-items:flex-start}.case-step-body{flex:1;min-width:0}.hub-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dce7ec;border-radius:16px;background:#fff;text-decoration:none;color:#24333e;min-height:108px;box-shadow:0 2px 10px rgba(17,46,66,.05);transition:.18s}.hub-card:hover{transform:translateY(-2px);border-color:#9fcbd5;box-shadow:0 8px 24px rgba(17,46,66,.12);color:#24333e}.hub-card>i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#edf7f9;color:#117a8a;font-size:20px;flex:0 0 auto}.hub-card>div{flex:1}.hub-card strong{display:block}.hub-card small{display:block;color:#6b7c87;margin-top:4px;line-height:1.35}.hub-card>span{font-weight:800;color:#147c8e}.quick-treatment-grid .card{min-height:105px;justify-content:center}.quick-treatment-grid small{display:block;margin-top:3px}.quick-charge-buttons .btn{min-width:100px}
@media(max-width:991px){.workflow-steps{grid-template-columns:1fr 1fr}.case-step{padding:14px!important}}
@media(max-width:575px){.workflow-steps{grid-template-columns:1fr}.case-step{gap:10px}.hub-card{min-height:90px;padding:14px}}
