:root{--color-bg: #F5F7F5;--color-surface: #FFFFFF;--color-surface-sunken: #EEF2EF;--color-ink: #16241F;--color-ink-soft: #4A5A54;--color-border: #DCE3DE;--color-primary: #0B5D4F;--color-primary-dark: #073D34;--color-primary-tint: #E3EFEC;--color-accent: #C7712B;--color-accent-tint: #F7E9DA;--color-danger: #B3261E;--color-danger-tint: #FBEAE9;--color-info: #3568B0;--color-info-tint: #E8EFF8;--color-success: #2E7D4F;--color-success-tint: #E8F3EC;--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "Inter", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius-sm: 6px;--radius-md: 10px;--sidebar-width: 232px;--shadow-card: 0 1px 2px rgba(22, 36, 31, .06), 0 1px 8px rgba(22, 36, 31, .04)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--color-ink);margin:0 0 4px}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-primary-dark);color:#f5f7f5;display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{padding:22px 20px 16px;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.01em;border-bottom:1px solid rgba(245,247,245,.12)}.sidebar-brand small{display:block;font-family:var(--font-body);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#f5f7f58c;margin-top:2px}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav a{color:#f5f7f5c7;padding:9px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px}.sidebar-nav a:hover{background:#f5f7f514;color:#fff}.sidebar-nav a.active{background:var(--color-accent);color:#fff}.sidebar-section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#f5f7f566;padding:14px 12px 4px}.sidebar-footer{padding:14px 16px;border-top:1px solid rgba(245,247,245,.12);font-size:12.5px}.sidebar-footer button{margin-top:8px;background:transparent;border:1px solid rgba(245,247,245,.3);color:#f5f7f5;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;width:100%}.sidebar-footer button:hover{background:#f5f7f51a}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:58px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.topbar h1{font-size:16px;margin:0}.content{flex:1;padding:24px;max-width:1180px;width:100%;margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;margin-bottom:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px 18px}.stat-card .stat-value{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-primary-dark)}.stat-card .stat-label{font-size:12px;color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12.5px;font-weight:500;color:var(--color-ink-soft)}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 11px;background:var(--color-surface)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:13.5px;cursor:pointer}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-ink)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.error-banner{background:var(--color-danger-tint);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:14px}.success-banner{background:var(--color-success-tint);color:var(--color-success);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:14px}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft);padding:8px 10px;border-bottom:1px solid var(--color-border)}.data-table td{padding:10px;border-bottom:1px solid var(--color-surface-sunken)}.data-table tr:hover td{background:var(--color-surface-sunken)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em}.pill-pending{background:var(--color-accent-tint);color:var(--color-accent)}.pill-paid,.pill-verified,.pill-received,.pill-collected{background:var(--color-success-tint);color:var(--color-success)}.pill-due,.pill-rejected{background:var(--color-danger-tint);color:var(--color-danger)}.pill-draft,.pill-partial{background:var(--color-info-tint);color:var(--color-info)}.flag-H{color:var(--color-danger);font-weight:700}.flag-L{color:var(--color-info);font-weight:700}.flag-N{color:var(--color-success);font-weight:600}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary-dark);background-image:radial-gradient(circle at 20% 20%,rgba(199,113,43,.18),transparent 45%),radial-gradient(circle at 80% 80%,rgba(245,247,245,.06),transparent 40%)}.login-card{background:var(--color-surface);border-radius:var(--radius-md);padding:36px 34px;width:100%;max-width:380px;box-shadow:0 20px 60px #073d3459}.login-mark{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--color-primary-dark);margin-bottom:4px}.login-mark span{color:var(--color-accent)}.login-sub{color:var(--color-ink-soft);font-size:13px;margin-bottom:24px}.report-sheet{background:#fff;padding:0 0 28px;font-family:var(--font-body);font-size:12.5px;color:#1a1a1a;max-width:800px;margin:0 auto;overflow:hidden;border-radius:var(--radius-md)}.report-banner{position:relative;background:linear-gradient(135deg,#0d3b7a,#1e5fbf);color:#fff;padding:22px 28px 30px;overflow:hidden}.report-banner-wave{position:absolute;left:0;right:0;bottom:-1px;height:26px;background:#fff;border-radius:100% 100% 0 0;transform:scaleX(1.3)}.report-lab-name{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:.01em}.report-lab-tagline{font-size:11.5px;opacity:.85;margin-top:2px}.report-lab-contact{font-size:11px;opacity:.85;margin-top:6px}.report-patient-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4px 20px;padding:16px 28px 14px;font-size:12px;border-bottom:2px solid #0D3B7A}.report-patient-name{font-family:var(--font-display);font-size:16px;font-weight:700;grid-column:1 / -1;margin-bottom:4px}.report-barcode{height:34px;background:repeating-linear-gradient(90deg,#1a1a1a 0 2px,transparent 2px 4px,#1a1a1a 4px 5px,transparent 5px 8px);margin-bottom:4px}.report-body{padding:6px 28px 0}.report-category-header{font-family:var(--font-display);font-weight:700;font-size:13px;color:#0d3b7a;padding:14px 0 4px;border-bottom:1.5px solid var(--color-ink);margin-bottom:2px}.report-table{width:100%;border-collapse:collapse;margin-bottom:4px}.report-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);padding:6px 6px 4px;border-bottom:1px solid var(--color-border)}.report-table td{padding:5px 6px;vertical-align:top;font-size:12.5px}.report-table tr:not(:last-child) td{border-bottom:1px solid var(--color-surface-sunken)}.report-method-note{display:block;font-size:10px;color:var(--color-ink-soft);font-style:italic;margin-top:1px}.report-value-abnormal{font-weight:700}.report-endmark{text-align:center;font-size:11px;color:var(--color-ink-soft);margin:18px 28px 0;padding-top:10px;border-top:1px dashed var(--color-border)}.report-sig-row{display:flex;justify-content:space-between;align-items:flex-end;margin:30px 28px 0}.report-sig-block{text-align:center;min-width:160px}.report-sig-block .sig-line{border-top:1px solid var(--color-ink);padding-top:4px;margin-top:30px;font-size:11px;font-weight:600}.report-sig-block .sig-role{font-size:10px;color:var(--color-ink-soft)}.report-footer-banner{margin-top:24px;background:#e7effa;padding:12px 28px;font-size:11px;color:#0d3b7a;display:flex;justify-content:space-between}@media print{.no-print{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}.report-sheet{box-shadow:none}body{background:#fff}@page{size:A4;margin:8mm}.report-sheet{font-size:10.5px;padding-bottom:90px}.report-patient-grid{padding:10px 20px 8px;font-size:10.5px}.report-patient-name{font-size:14px}.report-body{padding:2px 20px 0}.report-category-header{padding:8px 0 3px;font-size:11.5px}.report-table th{padding:3px 6px 2px;font-size:9px}.report-table td{padding:3px 6px;font-size:10.5px}.report-method-note{font-size:8.5px}.report-endmark{margin:10px 20px 0;padding-top:6px;font-size:9.5px}.report-sig-row{margin:14px 20px 0}.report-sig-block .sig-line{margin-top:18px}.report-footer-fixed{position:fixed;bottom:0;left:0;right:0}}.bill-sheet{background:#fff;padding:24px 28px;font-family:var(--font-body);font-size:12.5px;max-width:700px;margin:0 auto}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--color-primary-dark);padding-bottom:12px;margin-bottom:14px}.bill-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;font-size:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--color-border)}.bill-footer{margin-top:24px;display:flex;justify-content:space-between;font-size:11.5px}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:var(--color-ink-soft);font-size:13.5px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input[type=text],.toolbar select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 11px}.checkbox-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-surface-sunken)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16241f73;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-box{background:#fff;border-radius:var(--radius-md);padding:24px;max-width:520px;width:100%;max-height:88vh;overflow-y:auto}
