:root{
  --gold:#b89b4a;
  --gold-dark:#8f7431;
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#e5e7eb;
  --success:#16a34a;
  --danger:#dc2626;
  --warning:#f59e0b;
  --shadow:0 18px 45px rgba(31,41,55,.08);
  --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
.login-page{min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(circle at top left,rgba(184,155,74,.18),transparent 35%),linear-gradient(135deg,#fff,#f7f8fa)}

.login-card{width:min(430px,100%);
  background:#fff;
  border:1px solid var(--border);
  border-radius:30px;
  box-shadow:var(--shadow);padding:34px;
  text-align:center}

.login-logo{width:120px;
  margin:0 auto 15px;
  display:block}

.login-card h1{margin:0;
  font-size:32px;
  letter-spacing:-.03em}.login-card .subtitle{color:var(--gold-dark);
    font-weight:700;margin:6px 0 4px}.login-card .tagline{color:var(--muted);margin-bottom:26px}

.alert{padding:13px 16px;
  border-radius:14px;
  margin:0 0 18px;
  text-align:left;
  font-weight:600}
  
.alert.error{background:#fef2f2;color:#991b1b}
.alert.success{background:#f0fdf4;color:#166534}

.form-group{text-align:left;
  margin-bottom:16px}.form-group label{display:block;
    font-weight:700;margin-bottom:8px}
    
.form-control{width:100%;
  border:1px solid var(--border);
  border-radius:15px;
  padding:13px 15px;font-size:15px;
  background:#fff;outline:none}
  
.form-control:focus{border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(184,155,74,.12)}

.password-wrap{display:flex;
  gap:8px}
  
  .password-wrap input{flex:1}
  .eye-btn{border:1px solid var(--border);
    background:#fff;
    border-radius:14px;
    padding:0 13px;cursor:pointer}
    
.btn{display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;border:0;
  border-radius:15px;
  padding:12px 18px;
  font-weight:800;
  cursor:pointer}
  
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:white}
  
.btn-light{background:#fff;
  border:1px solid var(--border)}
  
.btn-danger{background:var(--danger);
  color:#fff}
  
.btn-success{background:var(--success);
  color:#fff}
  
.w-100{width:100%}

.muted{color:var(--muted)}

.demo-box{margin-top:20px;
  text-align:left;
  background:#f9fafb;
  border:1px dashed var(--border);
  border-radius:18px;
  padding:14px;
  font-size:13px;
  color:var(--muted)}

.app-shell{display:flex;
  min-height:100vh}
  
.sidebar{width:286px;background:#fff;
  border-right:1px solid var(--border);
  padding:22px;
  position:fixed;
  top:0;bottom:0;
  left:0;z-index:50}
  

.nav-menu{display:grid;
  gap:8px;margin-top:22px}
  
.nav-menu a{padding:13px 15px;
  border-radius:15px;
  color:#374151;
  font-weight:700}
  
.nav-menu a:hover,.nav-menu a.active{background:rgba(184,155,74,.14);color:var(--gold-dark)}

.main{margin-left:286px;
  width:calc(100% - 286px);
  padding:24px}
  
.topbar{height:82px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:0 10px 30px rgba(31,41,55,.04);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  margin-bottom:24px}
  
.topbar h1{font-size:25px;
  margin:0}
  
.topbar p{margin:4px 0 0;
  color:var(--muted)}
  
.menu-toggle{display:none;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:9px 12px;
  font-size:20px}
  
.user-chip{text-align:right}

.user-chip span{display:block;
  font-weight:800}
  
.user-chip small{color:var(--muted)}

.grid{display:grid;gap:18px}
.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px}
  
.stat{position:relative;
  overflow:hidden}
  
.stat:before{content:'';
  position:absolute;
  left:0;top:0;
  width:6px;
  height:100%;
  background:var(--gold)}
  
.stat h3{margin:0;
  color:var(--muted);
  font-size:14px}
  
.stat strong{display:block;
  font-size:34px;
  margin-top:10px}
  
.section-title{display:flex;
  justify-content:space-between;
  align-items:center;
  margin:28px 0 14px}
  
.section-title h2{margin:0;
  font-size:22px}
  
.table-wrap{overflow:auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left}th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f9fafb}tr:last-child td{border-bottom:0}.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.active{background:#dcfce7;color:#166534}.badge.inactive{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-card{max-width:840px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-actions{display:flex;gap:10px;align-items:center}
@media(max-width:980px){.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%;padding:16px}.menu-toggle{display:block}.topbar{height:auto;gap:14px;padding:16px;align-items:flex-start}.user-chip{display:none}}
@media(max-width:620px){.grid.cards,.form-row{grid-template-columns:1fr}.login-card{padding:24px}.topbar h1{font-size:20px}.card{padding:18px}}

.sidebar {
    width: 280px;
    background: #ffffff;
    border-right: 1px solid #eee;
    min-height: 100vh;
    padding: 22px 18px;
    box-shadow: 4px 0 20px rgba(0,0,0,0.04);
}


.nav-menu {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nav-menu a {
    text-decoration: none;
    color: #333;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 15px;
    transition: all 0.2s ease;
}

.nav-menu a:hover {
    background: #f8f5eb;
    color: #9b8342;
    transform: translateX(3px);
}

.nav-section{
    margin:14px 6px 4px;   /* was 20px 6px 8px */
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#999;
    font-weight:700;
}
@media (max-width: 768px) {
    .sidebar {
        width: 100%;
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #eee;
    }
}

/* ===== Clean Sidebar ===== */

.sidebar{
    width:280px;
    background:#fff;
    min-height:100vh;
    padding:22px 20px;
    border-right:1px solid #e5e7eb;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
}

.brand-vertical{
    text-align:center;
    padding-bottom:24px;
    margin-bottom:24px;
    border-bottom:1px solid #ececec;
}

.brand-logo{
    width:95px !important;
    max-width:95px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 14px !important;
}

.brand-vertical h2{
    margin:0;
    font-size:22px;
    font-weight:800;
    color:#13294b;
}

.brand-subtitle{
    margin-top:6px;
    font-size:13px !important;
    color:#555 !important;
    font-weight:600 !important;
}

.brand-tagline{
    margin-top:6px;
    font-size:11px;
    color:#b8943d;
    font-weight:700;
}

.nav-menu{
    display:flex;
    flex-direction:column;
    gap:2px;              /* was 6px or 8px */
}

.nav-menu a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 12px;     /* was 12px 14px */
    border-radius:10px;
    font-size:15px;
    font-weight:600;
    color:#333;
    transition:all .2s ease;
}

.nav-menu a:hover,
.nav-menu a.active{
    background:#f8f5eb;
    color:#9b8342;
}

.nav-section{
    margin:14px 6px 4px;   /* was 20px 6px 8px */
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#999;
    font-weight:700;
}

.main{
    margin-left:280px;
    width:calc(100% - 280px);
}

.main{
    margin-left:280px;
    width:calc(100% - 280px);
    padding:24px;
}

.topbar{
    margin-left:0;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px 22px;
    align-items:start;
}

.form-grid > div{
    display:flex;
    flex-direction:column;
}

.form-grid label{
    font-weight:600;
    font-size:13px;
    margin-bottom:6px;
}

.card input,
.card select,
.card textarea{
    width:100%;
    padding:11px 12px;
    border:1px solid #d1d5db;
    border-radius:12px;
    font-size:14px;
    outline:none;
}

.form-full{
    margin-top:18px;
    display:flex;
    flex-direction:column;
}

.card select,
.card textarea{
    width:100%;
    padding:11px 12px;
    border:1px solid #d1d5db;
    border-radius:12px;
    font-size:14px;
    outline:none;
}

.card input:focus,
.card select:focus,
.card textarea:focus{
    border-color:#b89b4a;
    box-shadow:0 0 0 3px rgba(184,155,74,.15);
}

.card textarea{
    min-height:80px;
    resize:vertical;
}

.form-full{
    margin-top:18px;
}

.form-actions{
    margin-top:22px;
    display:flex;
    gap:12px;
}

@media(max-width:1100px){
    .form-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .form-grid{
        grid-template-columns:1fr;
    }
}
.form-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:18px 24px !important;
}

.form-grid > div{
    display:flex !important;
    flex-direction:column !important;
}

.form-full{
    margin-top:18px;
    display:flex;
    flex-direction:column;
}

.main .card .form-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:18px 22px !important;
    align-items:start !important;
}

.main .card .form-grid > div,
.main .card .form-full,
.main .card .form-status{
    display:flex !important;
    flex-direction:column !important;
}

.main .card label{
    font-weight:600;
    font-size:13px;
    margin-bottom:6px;
}

.main .card input,
.main .card select,
.main .card textarea{
    width:100% !important;
    padding:11px 12px !important;
    border:1px solid #d1d5db !important;
    border-radius:12px !important;
    font-size:14px !important;
}

.form-actions{
    margin-top:22px;
    display:flex;
    gap:12px;
}

/* ===== Patient Management Dashboard v2 ===== */
.page-heading-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin:10px 0 0;
}
  
  .page-heading-row h2{margin:0 0 5px;
    font-size:24px}

  .patient-stat-grid{
    margin-top:30px;
}
    
  .page-heading-row p{margin:0;
    color:var(--muted)}

.patient-stat-grid{margin-bottom:22px}.patient-search-card{padding:16px 18px}.patient-search-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-field-wrap{position:relative;flex:1 1 420px}.search-field-wrap input{padding-left:42px}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:22px;color:#9ca3af;pointer-events:none}
.patient-list-title{margin-top:24px}.patient-list-title>div,.section-title>div{display:flex;flex-direction:column;gap:4px}.section-title small{color:var(--muted)}
.patient-table-wrap{box-shadow:0 12px 32px rgba(31,41,55,.06)}.patient-table{min-width:1120px}.patient-name-cell{display:flex;align-items:center;gap:11px}.patient-name-cell small{display:block;color:var(--muted);margin-top:3px;font-size:12px}.patient-avatar{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#f3ead0;color:#7a6124;font-weight:800;flex:0 0 36px}
.patient-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.patient-actions form{margin:0}.action-btn{border:0;border-radius:9px;padding:7px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.action-btn.order{background:#e8f0ff;color:#1d4ed8}.action-btn.edit{background:#f3ead0;color:#7a6124}.action-btn.delete{background:#fee2e2;color:#b91c1c}
.empty-state{padding:28px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.pagination span{font-weight:700;color:#4b5563}.page-link{padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:#fff;font-weight:700}.page-link.disabled{opacity:.45;pointer-events:none}
.patient-form-section{scroll-margin-top:20px;margin-top:28px}.patient-form-card{margin-bottom:24px}.form-status{margin-top:18px;max-width:260px;display:flex;flex-direction:column}.form-status label{font-weight:600;font-size:13px;margin-bottom:6px}
@media(max-width:760px){.page-heading-row{align-items:stretch;flex-direction:column}.page-heading-row .btn{width:100%}.patient-search-form .btn{flex:1}.pagination{justify-content:center}.patient-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.patient-stat-grid{grid-template-columns:1fr}.patient-search-form .btn{width:100%;flex-basis:100%}}

/* ===== Laboratory Requests v1.2 ===== */
.lab-request-heading{margin-bottom:22px}
.lab-request-card{margin-bottom:26px}
.lab-section-title{margin-top:0}
.lab-section-title small{color:var(--muted)}
.request-number-preview{padding:9px 13px;border-radius:12px;background:#f8f5eb;color:#7a6124;font-weight:800;border:1px solid #eadfbd}
.lab-request-top-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:18px;margin-bottom:18px}
.lab-request-top-grid>div,.lab-request-bottom-grid>div:first-child{display:flex;flex-direction:column}
.lab-request-card label{font-weight:700;font-size:13px;margin-bottom:7px}
.patient-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fafafa;margin-bottom:22px}
.patient-summary div{min-width:0}.patient-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.patient-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-test-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.lab-test-toolbar h3{margin:0 0 4px}.lab-test-toolbar p{margin:0;color:var(--muted);font-size:13px}.lab-test-toolbar input{max-width:340px}
.lab-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:430px;overflow:auto;padding:2px}
.lab-test-option{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:#fff;cursor:pointer;margin:0!important;transition:.18s ease}
.lab-test-option:hover{border-color:#d4bd79;background:#fffdf7}.lab-test-option.selected{border-color:var(--gold);background:#fffaf0;box-shadow:0 0 0 3px rgba(184,155,74,.10)}.lab-test-option[hidden]{display:none!important}
.lab-test-option input{position:absolute;opacity:0;pointer-events:none;width:1px!important}.lab-test-check{width:21px;height:21px;flex:0 0 21px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;position:relative}.lab-test-option input:checked+.lab-test-check{background:var(--gold);border-color:var(--gold)}.lab-test-option input:checked+.lab-test-check:after{content:'✓';position:absolute;color:#fff;font-size:14px;font-weight:900;left:3px;top:-1px}
.lab-test-info{min-width:0;flex:1}.lab-test-info strong{display:block;margin-bottom:4px}.lab-test-info small{display:block;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-test-option>b{color:#7a6124;font-size:13px;white-space:nowrap}
.lab-request-bottom-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin-top:22px}.request-total-box{border-radius:17px;background:#f8f5eb;border:1px solid #eadfbd;padding:17px;display:grid;gap:12px}.request-total-box>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.request-total-box span{color:#6b5a2c;font-size:13px}.request-total-box strong{font-size:19px;color:#5f4a17}
.laboratory-request-table{min-width:1150px}.table-subtext{display:block;color:var(--muted);margin-top:4px}.badge.priority-routine{background:#e8f0ff;color:#1d4ed8}.badge.priority-urgent{background:#fff7d6;color:#92400e}.badge.priority-stat{background:#fee2e2;color:#b91c1c}.badge.status-pending{background:#fff7d6;color:#92400e}.badge.status-sample_collected,.badge.status-in_progress{background:#e8f0ff;color:#1d4ed8}.badge.status-completed,.badge.payment-paid{background:#dcfce7;color:#166534}.badge.status-cancelled{background:#fee2e2;color:#991b1b}.badge.payment-unpaid{background:#fee2e2;color:#991b1b}.badge.payment-partial{background:#fff7d6;color:#92400e}.badge.payment-waived{background:#f3f4f6;color:#4b5563}
.btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.lab-request-top-grid,.lab-request-bottom-grid{grid-template-columns:1fr}.patient-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-test-grid{grid-template-columns:1fr}.lab-test-toolbar{align-items:stretch;flex-direction:column}.lab-test-toolbar input{max-width:none}}
@media(max-width:520px){.patient-summary{grid-template-columns:1fr}.lab-test-option{align-items:flex-start}.lab-test-option>b{display:none}}

/* ===== Sample Collection v1.3 ===== */
.sample-heading{margin-bottom:22px}
.sample-stat-grid{margin:0 0 24px}
.sample-section-title{margin-top:4px}
.sample-table-wrap{margin-bottom:26px;box-shadow:0 12px 32px rgba(31,41,55,.06)}
.sample-queue-table{min-width:1180px}
.recent-sample-table{min-width:1080px}
.sample-test-list{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.action-btn.collect{background:#dcfce7;color:#166534;padding:8px 11px}
.sample-collection-section{scroll-margin-top:18px;margin:8px 0 28px}
.sample-collection-card{margin-bottom:0}
.sample-patient-summary{margin-bottom:16px}
.sample-test-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.sample-test-summary>div{padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:#fafafa}
.sample-test-summary strong{display:block;margin-bottom:4px}
.sample-test-summary span{font-size:12px;color:var(--muted)}
.sample-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sample-form-grid>div{display:flex;flex-direction:column}
.sample-form-grid label{font-weight:700;font-size:13px;margin-bottom:7px}
.recent-sample-title{margin-top:26px}
@media(max-width:850px){.sample-test-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.sample-test-summary{grid-template-columns:1fr}}

/* Billing & Payment */
.billing-heading{margin-bottom:22px}
.billing-stat-grid{margin:0 0 24px}
.billing-section-title{margin-top:4px}
.billing-table-wrap{margin-bottom:26px;box-shadow:0 12px 32px rgba(31,41,55,.06)}
.billing-queue-table{min-width:1180px}
.recent-payment-table{min-width:1080px}
.billing-test-list{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.billing-payment-section,.billing-receipt-section{scroll-margin-top:18px;margin:8px 0 28px}
.billing-payment-card,.billing-receipt-card{margin-bottom:0}
.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.billing-summary-grid>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:#fafafa}
.billing-summary-grid small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.billing-summary-grid strong{display:block}
.billing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.billing-form-grid>div{display:flex;flex-direction:column}
.billing-form-grid label{font-weight:700;font-size:13px;margin-bottom:7px}
.receipt-brand{text-align:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px dashed var(--border)}
.receipt-brand strong{display:block;font-size:20px}
.receipt-brand span{display:block;color:var(--muted);margin-top:4px}
.receipt-test-table{width:100%;margin-top:8px}
.receipt-test-table th:last-child,.receipt-test-table td:last-child{text-align:right}
.receipt-totals{max-width:360px;margin:18px 0 0 auto}
.receipt-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}
.receipt-totals .receipt-net{border-top:1px solid var(--border);margin-top:5px;padding-top:12px;font-size:17px}
.payment-test-table{margin-bottom:20px}
.recent-payment-title{margin-top:26px}
@media(max-width:900px){.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.billing-summary-grid,.billing-form-grid{grid-template-columns:1fr}}
@media print{
  .sidebar,.topbar,.billing-heading,.billing-stat-grid,.billing-section-title,.billing-table-wrap,.billing-payment-section,.recent-payment-title{display:none!important}
  .app,.main{display:block!important;margin:0!important;padding:0!important;background:#fff!important}
  .billing-receipt-section{display:block!important;margin:0!important}
  .billing-receipt-card{box-shadow:none!important;border:none!important}
  .billing-receipt-section .section-title{display:none!important}
}

/* ===== Result Entry v1.5 ===== */
.result-heading{margin-bottom:24px}
.result-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}
.result-section-title{margin-top:6px}
.result-table-wrap{margin-bottom:28px}
.action-btn.result{background:#e8f0ff;color:#1746c7}
.action-btn.result:hover{background:#d7e4ff}
.result-entry-section{scroll-margin-top:20px;margin-top:30px}
.result-entry-card{padding:20px}
.result-patient-summary{margin-bottom:20px}
.result-parameter-wrap{box-shadow:none;border:1px solid var(--border)}
.result-parameter-table input{min-width:120px}
.result-parameter-table td:nth-child(2){width:170px}
.result-parameter-table td:nth-child(6){width:220px}
.result-help{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:#fff8e7;color:#765a14;font-size:13px}
.result-flag{min-width:76px;text-align:center}
.flag-normal{background:#dcfce7;color:#166534}
.flag-low,.flag-high,.flag-abnormal{background:#fee2e2;color:#991b1b}
.flag-not_set{background:#eef2f7;color:#64748b}
.recent-result-title{margin-top:30px}
.status-completed{background:#dcfce7;color:#166534}
@media(max-width:1100px){.result-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.result-stat-grid{grid-template-columns:1fr}.result-entry-card{padding:14px}.result-parameter-table input{min-width:105px}}

/* ===== Result Entry v1.5.1 usability polish ===== */
.result-value-input.result-input-invalid{
    border-color:#dc2626!important;
    box-shadow:0 0 0 3px rgba(220,38,38,.10)!important;
}
.result-input-error{
    display:block;
    min-height:16px;
    margin-top:5px;
    color:#b91c1c;
    font-size:11px;
    font-weight:600;
}
.result-live-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:16px 0 4px;
}
.result-live-summary>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 13px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fafafa;
}
.result-live-summary span{color:var(--muted);font-size:12px;font-weight:600}
.result-live-summary strong{font-size:16px}
.result-parameter-row[data-flag="normal"]{background:rgba(22,163,74,.025)}
.result-parameter-row[data-flag="low"],
.result-parameter-row[data-flag="high"]{background:rgba(220,38,38,.025)}
@media(max-width:760px){.result-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.result-live-summary{grid-template-columns:1fr}}

/* ===== Pathologist Verification v1.6 ===== */
.verification-heading{margin-bottom:24px}
.verification-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}
.verification-table-wrap{margin-bottom:28px;box-shadow:0 12px 32px rgba(31,41,55,.06)}
.verification-table{min-width:1250px}
.action-btn.verify{background:#efe8ff;color:#6d28d9;padding:8px 12px}
.verification-review-section{scroll-margin-top:18px;margin-top:30px}
.verification-review-card{padding:20px}
.verification-summary{margin-bottom:20px}
.verification-result-wrap{box-shadow:none;border:1px solid var(--border);margin-bottom:20px}
.verification-result-table{min-width:1050px}
.verification-result-row.flag-row-low,.verification-result-row.flag-row-high,.verification-result-row.flag-row-abnormal{background:rgba(220,38,38,.025)}
.verification-form{display:flex;flex-direction:column}
.verification-form label{font-weight:700;font-size:13px;margin-bottom:7px}
.verification-form textarea{min-height:110px}
.verification-actions{flex-wrap:wrap}
.verification-approve{background:#16a34a!important;color:#fff!important}
.verification-return{background:#dc2626!important;color:#fff!important}
.status-verified{background:#dcfce7;color:#166534}
.released-report-table{min-width:1100px}
.result-return-note{margin-bottom:16px}
@media(max-width:1100px){.verification-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.verification-stat-grid{grid-template-columns:1fr}.verification-review-card{padding:14px}.verification-actions .btn{width:100%}}

/* ===== Laboratory Report v1.7 ===== */
.action-btn.report{background:#e8f0ff;color:#1746c7;padding:8px 12px}
.report-screen-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:6px 0 22px}
.report-screen-actions h2{margin:0 0 4px}.report-screen-actions p{margin:0;color:var(--muted)}
.report-action-buttons{display:flex;gap:10px;flex-wrap:wrap}
.lab-report-sheet{max-width:1120px;margin:0 auto 40px;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 50px rgba(31,41,55,.08);padding:30px;color:#111827}
.lab-report-header{display:flex;justify-content:space-between;gap:28px;padding-bottom:20px;border-bottom:2px solid #b89b4a}
.lab-report-brand{display:flex;align-items:center;gap:18px}.lab-report-brand img{width:92px;height:auto}.lab-report-brand h1{margin:0;font-size:24px;color:#102544}.lab-report-brand p{margin:4px 0;color:#4b5563}.lab-report-brand strong{display:block;color:#8f7431;font-size:15px}
.lab-report-meta{min-width:230px;display:grid;gap:8px}.lab-report-meta>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #d1d5db;padding-bottom:7px}.lab-report-meta span{font-size:12px;color:#6b7280}.lab-report-meta strong{font-size:13px}.report-ready-text{color:#166534}
.lab-report-patient-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:22px 0;border:1px solid #dfe3e8;border-radius:14px;overflow:hidden}.lab-report-patient-grid>div{padding:12px 14px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.lab-report-patient-grid span{display:block;color:#6b7280;font-size:11px;margin-bottom:4px}.lab-report-patient-grid strong{font-size:13px;word-break:break-word}
.lab-report-test-block{margin-top:22px}.lab-report-test-block h2{margin:0;padding:10px 14px;background:#f8f5eb;border:1px solid #eadfbd;border-bottom:0;border-radius:12px 12px 0 0;font-size:17px;color:#5f4a17}.lab-report-test-block table{width:100%;border-collapse:collapse;border:1px solid #dfe3e8}.lab-report-test-block th,.lab-report-test-block td{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:13px}.lab-report-test-block th{background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase}.report-flag-label{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.report-flag-normal{background:#dcfce7;color:#166534}.report-flag-high,.report-flag-low,.report-flag-abnormal{background:#fee2e2;color:#991b1b}.report-result-row.report-flag-high,.report-result-row.report-flag-low,.report-result-row.report-flag-abnormal{background:#fffafa}
.lab-report-comment{margin-top:22px;padding:14px 16px;border-left:4px solid #b89b4a;background:#fcfaf2}.lab-report-comment span{display:block;font-size:12px;font-weight:800;color:#6b5a2c}.lab-report-comment p{margin:7px 0 0}
.lab-report-footer{display:grid;grid-template-columns:1fr 1fr 220px;gap:24px;align-items:end;margin-top:38px;padding-top:24px;border-top:1px solid #d1d5db}.report-signature-box{min-height:80px;border-bottom:1px solid #6b7280;padding-bottom:8px}.report-signature-box span,.report-signature-box small{display:block;color:#6b7280;font-size:11px}.report-signature-box strong{display:block;margin:18px 0 3px}.report-stamp-box{height:90px;border:1px dashed #9ca3af;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:12px}
.lab-report-confidential{text-align:center;margin-top:24px;padding-top:14px;border-top:1px dashed #d1d5db;color:#6b7280;font-size:10px}
@media(max-width:950px){.lab-report-patient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-report-footer{grid-template-columns:1fr 1fr}.report-stamp-box{grid-column:1/-1}.lab-report-header{flex-direction:column}.lab-report-meta{min-width:0}}
@media(max-width:600px){.report-screen-actions{flex-direction:column}.lab-report-sheet{padding:16px;border-radius:14px}.lab-report-patient-grid{grid-template-columns:1fr}.lab-report-footer{grid-template-columns:1fr}.lab-report-brand img{width:72px}.lab-report-brand h1{font-size:20px}}
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff!important}.sidebar,.topbar,.report-screen-actions{display:none!important}.app,.main,.report-page-main{display:block!important;margin:0!important;padding:0!important;background:#fff!important}.lab-report-sheet{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.lab-report-header{break-inside:avoid}.lab-report-test-block{break-inside:avoid}.lab-report-footer{break-inside:avoid}.lab-report-brand img{width:75px}.lab-report-patient-grid{font-size:11px}.lab-report-test-block th,.lab-report-test-block td{padding:7px 8px;font-size:10.5px}.lab-report-test-block h2{padding:7px 10px;font-size:14px}.lab-report-confidential{font-size:8.5px}
}
