@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Outfit:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";:root{--blue-primary:#1a6fd4;--blue-light:#0ea5e9;--blue-pale:#daeeff;--blue-bg:#f0f6ff;--text-dark:#0f1f33;--text-mid:#344b60;--text-soft:#6b87a2;--text-muted:#b0c4d8;--bg-white:#fff;--bg-input:#f5f8fc;--bg-surface:#f0f6ff;--border-light:#dce8f5;--border-blue:#1a6fd440;--shadow-sm:0 2px 8px #0e5aa80f;--shadow-md:0 4px 24px #0e5aa81a;--shadow-lg:0 8px 40px #0e5aa824;--transition-fast:.15s ease;--transition:.2s ease;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--font-sans:"Roboto", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Roboto", sans-serif}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-surface);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}#root{width:100%;min-height:100vh;overflow-x:clip}::-webkit-scrollbar{width:6px}:focus-visible{outline:2px solid var(--blue-primary);outline-offset:2px}a{color:var(--blue-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--blue-light)}iframe.goog-te-banner-frame.skiptranslate{display:none!important}body{top:0!important}.goog-logo-link{display:none!important}.goog-te-gadget{color:#0000!important}#google_translate_element,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}.goog-text-highlight{box-shadow:none!important;background-color:#0000!important}body>.skiptranslate{display:none!important}:root{--meril-blue:#1e88e5;--meril-blue-dark:#1565c0;--meril-teal:#00acc1;--meril-accent:#7c3aed;--auth-text-dark:#0f172a;--auth-text-gray:#64748b;--auth-border:#e2e8f0;--auth-radius:16px}*{box-sizing:border-box;margin:0;padding:0}.auth-page{flex-direction:row;width:100vw;height:100vh;font-family:Roboto,sans-serif;display:flex;overflow:hidden}.auth-aside{flex:none;width:65%;min-width:65%;max-width:65%;position:relative;overflow:hidden}.carousel-container{width:100%;height:100%;position:relative;overflow:hidden}.carousel-slide{opacity:0;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;padding:56px 64px;transition:opacity 1.2s ease-in-out;display:flex;position:absolute;inset:0}.carousel-slide.active{opacity:1;z-index:1}.carousel-slide:before{content:"";z-index:0;background:linear-gradient(#00000005 0%,#00000026 50%,#000000a6 100%);position:absolute;inset:0}.carousel-content{z-index:2;color:#fff;position:relative}.carousel-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;letter-spacing:.5px;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:100px;align-items:center;gap:8px;width:fit-content;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.carousel-badge-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.carousel-text{text-shadow:0 2px 8px #0006;max-width:540px;font-size:28px;font-weight:700;line-height:1.35}.carousel-indicators{z-index:10;gap:10px;display:flex;position:absolute;bottom:40px;left:64px}.indicator{cursor:pointer;background:#ffffff59;border-radius:2px;width:32px;height:4px;transition:all .4s}.indicator.active{background:#fff;width:56px}.auth-main{background:linear-gradient(160deg,#f0f4ff 0%,#faf5ff 50%,#f0fdff 100%);flex:none;justify-content:center;align-items:center;width:35%;min-width:35%;max-width:35%;padding:28px 20px;display:flex;position:relative;overflow:hidden auto}.auth-main:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f11f,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.auth-main:after{content:"";pointer-events:none;background:radial-gradient(circle,#00acc11f,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;bottom:-60px;left:-60px}.auth-card-container{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:100%;padding:0 10px;display:flex;position:relative}.brand-header{text-align:center;margin-bottom:28px}.brand-logo-img{filter:drop-shadow(0 2px 6px #1e88e533);width:auto;height:52px;margin-bottom:10px}.product-name{background:linear-gradient(135deg, var(--meril-blue), var(--meril-teal));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:22px;font-weight:800;display:block}.brand-motto{color:var(--auth-text-gray);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:500}.auth-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #ffffffb3;border-radius:24px;width:100%;padding:32px 28px 28px;box-shadow:0 4px 6px -1px #0000000f,0 20px 50px -12px #6366f126,inset 0 1px #ffffffe6}.auth-header{text-align:center;margin-bottom:32px}.auth-title{color:var(--auth-text-dark);letter-spacing:-.5px;margin-bottom:6px;font-size:26px;font-weight:800}.auth-subtitle{color:var(--auth-text-gray);font-size:14px;font-weight:500}.field-label{color:var(--auth-text-dark);letter-spacing:.2px;margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field-input{border:1.5px solid var(--auth-border);width:100%;color:var(--auth-text-dark);background:#fff;border-radius:12px;padding:11px 16px;font-family:Roboto,sans-serif;font-size:14px;transition:all .22s}.field-input:focus{border-color:var(--meril-blue);background:#fff;outline:none;box-shadow:0 0 0 4px #1e88e51f}.input-with-toggle{position:relative}.toggle-eye{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-eye:hover{color:var(--meril-blue)}.form-options{justify-content:space-between;align-items:center;margin-top:6px;margin-bottom:28px;display:flex}.remember-me{color:var(--auth-text-gray);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.remember-me input[type=checkbox]{accent-color:var(--meril-blue);cursor:pointer;width:15px;height:15px}.btn-login-new{background:linear-gradient(135deg, var(--meril-blue) 0%, var(--meril-teal) 60%, #26c6da 100%);color:#fff;cursor:pointer;letter-spacing:.4px;border:none;border-radius:12px;width:100%;padding:13px;font-family:Roboto,sans-serif;font-size:15px;font-weight:700;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 4px 15px #1e88e566,0 1px 3px #0000001a}.btn-login-new:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26 0%,#0000 60%);transition:opacity .25s;position:absolute;inset:0}.btn-login-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1e88e580,0 4px 10px #0000001a}.btn-login-new:hover:before{opacity:1}.btn-login-new:active{transform:translateY(0);box-shadow:0 4px 12px #1e88e559}.btn-login-new:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-footer{text-align:center;color:var(--auth-text-gray);margin-top:24px;font-size:13.5px;font-weight:500}.alert-error{color:#be123c;text-align:center;background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid #fecdd3;border-radius:10px;margin-bottom:20px;padding:11px 16px;font-size:13px;font-weight:500}@media (width<=1024px){.auth-aside{display:none}.auth-main{background:#fff;padding:24px 20px}.auth-main:before,.auth-main:after{display:none}.auth-card{box-shadow:none;background:0 0;border:none;padding:32px 0}}:root{--blue-primary:#1a6fd4;--blue-light:#0ea5e9;--blue-pale:#daeeff;--blue-bg:#f0f6ff;--text-dark:#0f1f33;--text-mid:#344b60;--text-soft:#6b87a2;--text-muted:#b0c4d8;--border-light:#dce8f5;--input-bg:#f5f8fc;--white:#fff;--radius:10px;--radius-lg:14px;--shadow-form:0 4px 32px #0e5aa814;--transition:.2s ease;--font-sans:"Roboto", sans-serif;--font-display:"Roboto", sans-serif}.auth-page{background:var(--blue-bg);min-height:100vh;font-family:var(--font-sans);display:flex}.auth-main{background:var(--white);box-shadow:var(--shadow-form);z-index:2;flex-direction:column;flex:0 0 900px;justify-content:center;min-height:100vh;padding:44px 52px;display:flex;position:relative;overflow-y:auto}.brand{align-items:center;gap:12px;margin-bottom:36px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--blue-primary) 0%, var(--blue-light) 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 16px #1a6fd452}.brand-icon svg{width:26px;height:26px}.brand-text{flex-direction:column;gap:2px;display:flex}.brand-name{font-family:var(--font-display);color:var(--blue-primary);letter-spacing:1.5px;font-size:22px;font-weight:800;line-height:1}.brand-tagline{color:var(--text-muted);letter-spacing:.8px;font-size:10px;font-weight:600}.auth-card{width:100%}.auth-header{margin-bottom:28px}.auth-logo.mobile-only{display:none}.auth-title{font-family:var(--font-display);color:var(--text-dark);letter-spacing:-.3px;margin-bottom:5px;font-size:26px;font-weight:700}.auth-subtitle{color:var(--text-soft);font-size:14px;line-height:1.5}.step-indicator{justify-content:center;align-items:center;gap:0;margin-top:18px;display:flex;position:relative}.step-track{background:var(--border-light);z-index:0;width:160px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.step-fill{background:linear-gradient(90deg, var(--blue-primary), var(--blue-light));border-radius:1px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.step-dot{z-index:1;background:var(--white);border:2px solid var(--border-light);width:34px;height:34px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 38px;font-size:13px;font-weight:600;transition:all .3s;display:flex;position:relative}.step-dot.active{border-color:var(--blue-primary);color:var(--blue-primary);background:#eff6ff;box-shadow:0 0 0 4px #1a6fd41f}.step-dot.done{color:var(--white);background:#16a34a;border-color:#16a34a}.alert{border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:18px;padding:11px 15px;font-size:13px;font-weight:500;animation:.25s alertIn;display:flex}@keyframes alertIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.alert-error{color:#c0392b;background:#fff2f4;border:1px solid #fca5a5}.auth-form{flex-direction:column;gap:18px;display:flex}.form-step{flex-direction:column;gap:16px;animation:.3s stepIn;display:flex}@keyframes stepIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-mid);transition:color var(--transition);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.optional{color:var(--text-muted);font-size:11px;font-weight:400}.field-group.is-focused .field-label{color:var(--blue-primary)}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);transition:color var(--transition);z-index:1;pointer-events:none;align-items:center;display:flex;position:absolute;left:13px}.field-group.is-focused .input-icon{color:var(--blue-primary)}.field-input{background:var(--input-bg);border:1.5px solid var(--border-light);border-radius:var(--radius);width:100%;font-family:var(--font-sans);color:var(--text-dark);transition:all var(--transition);-webkit-appearance:none;outline:none;padding:11px 14px 11px 42px;font-size:14px}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{border-color:var(--blue-primary);background:var(--white);box-shadow:0 0 0 3px #1a6fd41c}.field-input.input-error{border-color:#f87171}.field-input.input-error:focus{box-shadow:0 0 0 3px #f8717124}.field-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23b0c4d8'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:17px;padding-right:38px}.field-select option{background:var(--white);color:var(--text-dark)}.field-hint{font-size:12px}.field-hint--error{color:#ef4444}.field-hint--success{color:#16a34a}.toggle-password{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex;position:absolute;right:11px}.toggle-password:hover{color:var(--blue-primary)}.password-strength{flex-direction:column;gap:8px;margin-top:4px;display:flex}.strength-bar-track{background:var(--border-light);border-radius:2px;height:4px;overflow:hidden}.strength-bar-fill{border-radius:2px;height:100%;transition:width .4s,background .4s}.strength-info{flex-direction:column;gap:6px;display:flex}.strength-label{text-align:right;font-size:12px;font-weight:600}.strength-requirements{flex-wrap:wrap;gap:6px;display:flex}.req-item{color:var(--text-muted);transition:color var(--transition);align-items:center;gap:4px;font-size:11px;display:flex}.req-item.met{color:#16a34a}.req-dot{font-size:10px}.form-options{justify-content:space-between;align-items:center;display:flex}.checkbox-label{cursor:pointer;color:var(--text-soft);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13px;display:flex}.terms-label{align-items:flex-start;line-height:1.6}.checkbox-input{display:none}.checkbox-custom{border:1.5px solid var(--border-light);background:var(--input-bg);width:18px;height:18px;transition:all var(--transition);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.checkbox-input:checked~.checkbox-custom{background:var(--blue-primary);border-color:var(--blue-primary)}.checkbox-input:checked~.checkbox-custom:after{content:"";border:2px solid var(--white);border-top:none;border-left:none;width:5px;height:9px;position:absolute;transform:rotate(45deg)translate(-1px,-1px)}.forgot-link{color:var(--blue-primary);transition:color var(--transition);font-size:13px;font-weight:500;text-decoration:none}.forgot-link:hover{color:var(--blue-light);text-decoration:underline}.role-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.role-card{background:var(--input-bg);border:1.5px solid var(--border-light);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);font-family:var(--font-sans);color:var(--text-soft);flex-direction:column;align-items:center;gap:6px;padding:13px 8px;display:flex}.role-card:hover{color:var(--blue-primary);background:#eff6ff;border-color:#1a6fd459;transform:translateY(-2px);box-shadow:0 4px 14px #1a6fd41a}.role-card.selected{border-color:var(--blue-primary);color:var(--blue-primary);background:#dbeafe;box-shadow:0 0 0 3px #1a6fd41f}.role-icon{font-size:24px;line-height:1}.role-label{text-align:center;font-size:11px;font-weight:600}.btn-primary{background:linear-gradient(135deg, var(--blue-primary) 0%, var(--blue-light) 100%);width:100%;color:var(--white);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:15px;font-weight:600;display:flex;position:relative;box-shadow:0 4px 18px #1a6fd452}.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-loading{pointer-events:none}.btn-secondary{background:var(--input-bg);color:var(--text-soft);font-family:var(--font-sans);border:1.5px solid var(--border-light);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);align-items:center;gap:8px;padding:13px 20px;font-size:14px;font-weight:500;display:flex}.btn-secondary:hover{color:var(--blue-primary);background:#eff6ff;border-color:#1a6fd44d}.spinner{border:2px solid #ffffff59;border-top-color:var(--white);border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.form-nav{gap:12px;margin-top:4px;display:flex}.auth-divider{text-align:center;color:var(--text-muted);margin:8px 0;font-size:12px;position:relative}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-light);width:calc(50% - 68px);height:1px;position:absolute;top:50%}.auth-divider:before{left:0}.auth-divider:after{right:0}.social-logins{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:4px;display:grid}.btn-social{background:var(--white);border:1.5px solid var(--border-light);border-radius:var(--radius);font-family:var(--font-sans);color:var(--text-mid);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.btn-social:hover{background:var(--input-bg);border-color:#b0c4d8;transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.auth-footer{text-align:center;color:var(--text-soft);margin-top:20px;font-size:13px}.auth-footer a{color:var(--blue-primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-aside{background:linear-gradient(145deg,#d4eeff 0%,#bcd9ff 40%,#cce6ff 100%);flex:1;padding:0;display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#1a6fd424 0%,#0000 70%);border-radius:50%;width:480px;height:480px;position:absolute;top:-80px;right:-80px}.auth-aside:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#0ea5e91a 0%,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-60px;left:-40px}.aside-illustration{z-index:1;width:100%;height:100%;position:relative}.aside-illustration img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.aside-stats,.auth-bg,.bg-blob,.bg-grid{display:none}@media (width<=1024px){.auth-main{flex:0 0 440px;padding:40px}}@media (width<=860px){.auth-page{flex-direction:column}.auth-aside{display:none}.auth-main{box-shadow:none;flex:1;min-height:100vh;padding:40px 28px}.auth-logo.mobile-only{margin:0 auto 16px;display:flex}.auth-header{text-align:center}.field-row{grid-template-columns:1fr}}@media (width<=480px){.auth-main{padding:32px 18px}.social-logins{grid-template-columns:1fr}.role-grid{grid-template-columns:repeat(2,1fr)}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:.45s cubic-bezier(.22,1,.36,1) cardIn}.success-screen{background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;min-height:100vh;padding:40px 24px;display:flex}.success-icon{width:80px;height:80px;animation:.5s cubic-bezier(.34,1.56,.64,1) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-title{font-family:var(--font-display);color:var(--text-dark);font-size:28px;font-weight:700}.success-msg{color:var(--text-soft);text-align:center;font-size:15px;line-height:1.6}.success-dots{gap:8px;display:flex}.success-dots span{background:var(--blue-primary);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite dotPulse}.success-dots span:nth-child(2){animation-delay:.2s}.success-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.5;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.alert-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.alert-modal{background:#fff;border-left:4px solid;border-radius:12px;align-items:center;gap:16px;min-width:360px;max-width:480px;padding:24px 28px;animation:.3s slideUp;display:flex;box-shadow:0 20px 25px -5px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.alert-success{border-left-color:#10b981}.alert-error{border-left-color:#ef4444}.alert-warning{border-left-color:#f59e0b}.alert-info{border-left-color:#3b82f6}.alert-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.alert-message{color:var(--text-main,#1e293b);flex:1;font-size:15px;font-weight:500;line-height:1.5}.alert-close{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.alert-close:hover{background:var(--field-bg,#f1f5f9);color:var(--text-main,#1e293b)}:root{--sys-bg:#f0f2f5;--sheet-bg:#fff;--header-bg:#fafafa;--brand-blue:#005eb8;--brand-blue-hover:#004f9e;--focus-ring:#60a5fa33;--border-light:#e2e8f0;--border-field:#94a3b8;--field-bg:#fff;--field-bg-ro:#f8fafc;--text-main:#1e293b;--text-muted:#475569;--text-label:#334155;--danger:#dc2626;--success:#059669;--radius-sm:4px;--radius-md:6px;--font-sans:"Roboto", system-ui, sans-serif;--trans-fast:.1s ease-out}.preg-page{background:var(--sys-bg);min-height:100vh;font-family:var(--font-sans);color:var(--text-main);flex-direction:column;display:flex}.preg-appbar{background:var(--sheet-bg);border-bottom:1px solid var(--border-light);z-index:100;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.preg-appbar-top{justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex}.preg-title-group h1{color:var(--text-main);letter-spacing:-.01em;font-size:16px;font-weight:600}.preg-title-group span{color:var(--text-muted);border-left:1px solid var(--border-light);margin-left:12px;padding-left:12px;font-size:12px;font-weight:500}.preg-back-btn{color:var(--danger);cursor:pointer;border-radius:var(--radius-md);transition:all var(--trans-fast);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.preg-back-btn:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.preg-global-search{background:var(--sys-bg);border-radius:var(--radius-md);border:1px solid var(--border-light);align-items:center;gap:8px;padding:4px;display:flex}.sm-search{background:0 0;border:none;width:280px}.sm-search:focus{box-shadow:none}.preg-tabs{background:var(--header-bg);border-top:1px solid var(--border-light);gap:8px;padding:0 24px;display:flex}.preg-tab{height:48px;color:var(--text-muted);cursor:pointer;transition:color var(--trans-fast);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.preg-tab:hover:not(:disabled){color:var(--brand-blue)}.preg-tab.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue)}.preg-tab:disabled{opacity:.5;cursor:not-allowed}.preg-tab-badge{border-radius:var(--radius-sm);background:var(--border-light);width:18px;height:18px;color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.preg-tab.active .preg-tab-badge{background:var(--brand-blue);color:#fff}.preg-body{flex-direction:column;flex:1;align-items:stretch;padding:24px;display:flex}.preg-card{background:var(--sheet-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;max-width:100%;margin-bottom:20px;box-shadow:0 1px 2px #00000005}.preg-card-header{background:var(--header-bg);border-bottom:1px solid var(--border-light);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:12px 20px}.preg-card-title{color:var(--brand-blue);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.preg-card-body{padding:20px}.preg-meta-strip{align-items:center;gap:32px;display:flex}.preg-meta-item{flex-direction:column;gap:4px;display:flex}.preg-meta-label{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.preg-meta-value{color:var(--text-main);font-size:15px;font-weight:700}.preg-avatar{cursor:pointer;color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;margin-left:auto;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,inset 0 2px 4px #fffc}.preg-avatar:hover{border:2px solid var(--brand-blue);color:var(--brand-blue);background:#eff6ff;transform:translateY(-2px)scale(1.02);box-shadow:0 10px 20px -3px #005eb833,0 4px 6px -2px #005eb81a}.preg-avatar svg{margin-bottom:3px;transition:transform .3s}.preg-avatar:hover svg{transform:scale(1.15)translateY(-1px)}.preg-avatar span{text-transform:uppercase;letter-spacing:.03em;text-align:center;font-size:10px;font-weight:800;line-height:1.1;transition:opacity .3s}.preg-avatar img{object-fit:cover;width:100%;height:100%}.preg-grid{grid-template-columns:repeat(4,1fr);gap:12px 20px;display:grid}.preg-grid-2{grid-template-columns:repeat(2,1fr)}.preg-grid-3{grid-template-columns:repeat(3,1fr)}.preg-col-span-2{grid-column:span 2}.preg-col-span-3{grid-column:span 3}.preg-col-span-4{grid-column:span 4}.preg-field{flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.preg-field:has(.preg-select:focus){z-index:10}.preg-label{color:var(--text-label);font-size:12px;font-weight:600}.preg-input,.preg-select,.preg-textarea{border:1px solid var(--border-field);border-radius:var(--radius-sm);background:var(--field-bg);width:100%;height:38px;font-size:13px;font-family:var(--font-sans);color:var(--text-main);transition:all var(--trans-fast);appearance:none;padding:8px 12px}.preg-input:focus,.preg-select:focus,.preg-textarea:focus{border-color:var(--brand-blue);box-shadow:inset 0 0 0 1px var(--brand-blue), 0 0 0 3px var(--focus-ring);background:#fdfefe;outline:none}.preg-input[readonly],.preg-input:disabled,.preg-select:disabled{background:var(--field-bg-ro);border-color:var(--border-light);color:var(--text-muted);cursor:not-allowed}.preg-input.sm{max-width:90px}.preg-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.preg-select:hover{border-color:var(--brand-blue)}.preg-select option{padding:8px;font-size:13px}.preg-inline{gap:-1px;display:flex}.preg-inline .preg-input,.preg-inline .preg-select{border-radius:0;flex:1}.preg-inline>:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.preg-inline>:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.preg-inline .preg-select.sm{flex:0 0 70px}.preg-inline>:focus{z-index:2;position:relative}.preg-textarea{resize:vertical;min-height:60px;padding:8px}.preg-checkbox-row{color:var(--text-main);cursor:pointer;align-items:center;gap:6px;padding-top:20px;font-size:13px;font-weight:500;display:flex}.preg-checkbox-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-blue);cursor:pointer;margin:0}.preg-age-group{gap:-1px;display:flex}.preg-age-group .preg-input{text-align:center;border-radius:0;padding:0 4px}.preg-age-group>:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.preg-age-group>:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.preg-age-group>:focus{z-index:2;position:relative}.preg-action-bar{background:var(--header-bg);border-top:1px solid var(--border-light);z-index:100;justify-content:flex-end;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;bottom:0}.btn-primary{background:var(--brand-blue);color:#fff;border:1px solid var(--brand-blue);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;width:250px;height:52px;padding:0 16px;font-size:16px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000001a}.btn-primary:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}.btn-ghost{background:var(--sheet-bg);border:1px solid var(--border-field);width:175px;height:52px;color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #00000005}.bill-table-wrapper{border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.preg-card-body table{border-collapse:collapse;width:100%}.preg-card-body th{background:var(--sys-bg);color:var(--text-label);text-transform:uppercase;border-bottom:1px solid var(--border-light);padding:8px 12px;font-size:12px;font-weight:600}.preg-card-body td{border-bottom:1px solid var(--border-light);color:var(--text-main);padding:8px 12px;font-size:13px}.preg-card-body tr:last-child td{border-bottom:none}.bill-total-row{background:var(--header-bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);justify-content:space-between;align-items:center;padding:12px;font-size:15px;font-weight:700;display:flex}.bill-due-val{color:var(--brand-blue);font-size:18px}.bill-prefix{align-items:center;display:flex}.bill-prefix span{background:var(--sys-bg);border:1px solid var(--border-field);border-radius:var(--radius-sm) 0 0 var(--radius-sm);height:32px;color:var(--text-muted);border-right:none;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:flex}.bill-prefix .preg-input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.preg-phone-prefix{align-items:center;display:flex}.preg-phone-prefix .country-code{background:var(--sys-bg);border:1px solid var(--border-field);border-radius:var(--radius-sm) 0 0 var(--radius-sm);height:32px;color:var(--text-main);-webkit-user-select:none;user-select:none;border-right:none;align-items:center;padding:0 10px;font-size:13px;font-weight:600;display:flex}.preg-phone-prefix .preg-input{border-radius:0 var(--radius-sm) var(--radius-sm) 0;flex:1}.badge{text-transform:uppercase;border-radius:2px;align-items:center;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex}.badge-routine{color:#059669;background:#ecfdf5;border:1px solid #10b981}.badge-urgent{color:#d97706;background:#fffbeb;border:1px solid #f59e0b}.badge-emergency{color:#dc2626;background:#fef2f2;border:1px solid #ef4444}.camera-overlay{z-index:200;background:#1e293bb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.camera-box{background:var(--sheet-bg);border-radius:var(--radius-md);flex-direction:column;gap:12px;width:400px;padding:20px;display:flex;box-shadow:0 10px 25px #0000001a}.camera-box h3{color:var(--text-main);font-size:15px;font-weight:600}.camera-video{aspect-ratio:4/3;border-radius:var(--radius-sm);background:#000;overflow:hidden}.camera-video video{object-fit:cover;width:100%;height:100%}.camera-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.search-modal-box{background:var(--sheet-bg);border-radius:var(--radius-md);width:100%;max-width:800px;padding:24px;animation:.3s ease-out modalScaleUp;box-shadow:0 20px 25px -5px #0000001a}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.search-form-grid{background:var(--header-bg);border-radius:var(--radius-md);border:1px solid var(--border-light);grid-template-columns:repeat(3,1fr) auto;align-items:flex-end;gap:12px;margin-bottom:20px;padding:16px;display:grid}.location-chip{color:#0369a1;background:#e0f2fe;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.search-results-table{border-collapse:collapse;width:100%;font-size:13px}.search-results-table th{background:var(--header-bg);text-align:left;border-bottom:1px solid var(--border-light);color:var(--text-label);z-index:10;padding:10px 12px;font-weight:600;position:sticky;top:0}.search-results-table td{border-bottom:1px solid var(--border-light);color:var(--text-main);padding:12px}.search-results-table tr:hover{background:#f8fafc}.select-btn-sm{background:var(--brand-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600}.select-btn-sm:hover{background:var(--brand-blue-hover)}.search-results-container{border:1px solid var(--border-light);border-radius:var(--radius-sm);max-height:350px;margin-top:20px;overflow-y:auto}.search-form{align-items:center;gap:12px;margin-top:16px;display:flex}.search-type-select{flex:0 0 140px}.search-query-input{flex:1}.search-execute-btn{flex:0 0 100px;width:auto!important;height:32px!important;font-size:13px!important}.select-btn-primary{background:var(--brand-blue);color:#fff;cursor:pointer;transition:background var(--trans-fast);border:none;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600}.select-btn-primary:hover{background:var(--brand-blue-hover)}@media (width<=1000px){.preg-grid{grid-template-columns:repeat(3,1fr)}.preg-card{margin-left:0;margin-right:0}}@media (width<=768px){.preg-grid{grid-template-columns:repeat(2,1fr)}.preg-col-span-3,.preg-col-span-4{grid-column:span 2}}@media (width<=480px){.preg-grid{grid-template-columns:1fr}.preg-col-span-2,.preg-col-span-3,.preg-col-span-4{grid-column:span 1}}:root{--bil-bg:#f1f4f8;--bil-surface:#fff;--bil-surface-2:#f8fafc;--bil-border:#dde2ea;--bil-border-2:#c8d0db;--bil-blue:#0052cc;--bil-blue-hover:#0041a8;--bil-blue-light:#e8f0fe;--bil-blue-mid:#4285f4;--bil-green:#0a7c59;--bil-green-light:#e6f4ef;--bil-amber:#b45309;--bil-amber-light:#fef3c7;--bil-red:#c0392b;--bil-red-light:#fef2f2;--bil-text:#1a202c;--bil-text-mid:#4a5568;--bil-text-soft:#718096;--bil-text-xsoft:#a0aec0;--bil-font:"Roboto", system-ui, sans-serif;--bil-mono:"Roboto", sans-serif;--bil-radius:6px;--bil-radius-lg:10px;--bil-shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--bil-shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a}.bil-page{background:var(--bil-bg);font-family:var(--bil-font);color:var(--bil-text);flex:1;padding:20px 24px 100px;overflow-y:auto}.bil-confirmed-banner{border-radius:var(--bil-radius-lg);background:linear-gradient(135deg,#edfaf4 0%,#d4f5e6 100%);border:1.5px solid #6fcf97;align-items:center;gap:16px;margin-bottom:20px;padding:14px 20px;animation:.4s cubic-bezier(.22,1,.36,1) bil-banner-in;display:flex}@keyframes bil-banner-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bil-confirmed-icon{background:var(--bil-green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #0a7c5959}.bil-confirmed-title{color:var(--bil-green);margin-bottom:4px;font-size:15px;font-weight:700}.bil-confirmed-sub{color:var(--bil-text-mid);flex-wrap:wrap;align-items:center;gap:4px;font-size:12.5px;display:flex}.bil-inv-chip{background:var(--bil-green);color:#fff;font-family:var(--bil-mono);letter-spacing:.5px;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.bil-confirmed-qr{background:#fff;border:1px solid #0a7c5940;border-radius:6px;flex-shrink:0;margin-left:auto;padding:4px}.bil-layout{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.bil-card{background:var(--bil-surface);border:1px solid var(--bil-border);border-radius:var(--bil-radius-lg);box-shadow:var(--bil-shadow-sm);overflow:hidden}.bil-card-head{background:var(--bil-surface-2);border-bottom:1px solid var(--bil-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.bil-card-title{color:var(--bil-blue);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.bil-card-title svg{flex-shrink:0}.bil-item-count{color:var(--bil-text-soft);background:var(--bil-border);text-transform:none;letter-spacing:0;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.bil-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bil-card-body{padding:0}.bil-pkg-select{height:30px;font-size:12.5px;font-family:var(--bil-font);color:var(--bil-blue);background:var(--bil-blue-light);border-radius:var(--bil-radius);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%230052cc' stroke-width='3'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1.5px solid #c7d7fb;padding:0 28px 0 10px;font-weight:600;transition:all .15s}.bil-pkg-select:focus{border-color:var(--bil-blue);outline:none;box-shadow:0 0 0 3px #0052cc1f}.bil-btn-sm{height:30px;font-size:12.5px;font-weight:600;font-family:var(--bil-font);border-radius:var(--bil-radius);cursor:pointer;border:1.5px solid;padding:0 12px;transition:all .15s}.bil-btn-add{background:var(--bil-blue-light);color:var(--bil-blue);border-color:#c7d7fb}.bil-btn-add:hover{border-color:var(--bil-blue);background:#d0e3ff}.bil-btn-clear{background:var(--bil-red-light);color:var(--bil-red);border-color:#fecaca}.bil-btn-clear:hover{background:#fee2e2;border-color:#fca5a5}.bil-items-table{border-collapse:collapse;width:100%;font-size:13.5px}.bil-items-table thead th{text-align:left;color:var(--bil-text-soft);text-transform:uppercase;letter-spacing:.06em;background:var(--bil-surface-2);border-bottom:1px solid var(--bil-border);padding:10px 16px;font-size:11px;font-weight:700}.bil-th-no{width:40px;text-align:center!important}.bil-th-amt{width:160px;text-align:right!important}.bil-th-del{width:44px}.bil-item-row{border-bottom:1px solid var(--bil-border);transition:background .1s}.bil-item-row:last-child{border-bottom:none}.bil-item-row:hover{background:#fafcff}.bil-row-empty{opacity:.55}.bil-td-no{text-align:center;color:var(--bil-text-xsoft);font-size:11.5px;font-family:var(--bil-mono);padding:10px 8px;font-weight:600}.bil-td-amt{text-align:right;padding:8px 16px}.bil-td-del{text-align:center;padding:8px}.bil-inline-input{border-radius:var(--bil-radius);width:100%;font-size:13.5px;font-family:var(--bil-font);color:var(--bil-text);box-sizing:border-box;background:0 0;border:1.5px solid #0000;padding:6px 10px;transition:all .15s}.bil-inline-input:hover{border-color:var(--bil-border-2);background:var(--bil-surface-2)}.bil-inline-input:focus{border-color:var(--bil-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #0052cc1a}.bil-inline-input::placeholder{color:var(--bil-text-xsoft)}.bil-input-num{text-align:right;font-family:var(--bil-mono);max-width:130px;margin-left:auto;font-weight:600;display:block}.bil-locked-text{color:var(--bil-text);padding:6px 10px;font-size:13.5px;display:block}.bil-locked-amt{font-family:var(--bil-mono);color:var(--bil-text);font-size:13.5px;font-weight:600}.bil-del-btn{width:28px;height:28px;color:var(--bil-text-xsoft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.bil-del-btn:hover{background:var(--bil-red-light);color:var(--bil-red)}.bil-subtotal-row{background:var(--bil-surface-2);border-top:1px solid var(--bil-border);color:var(--bil-text-mid);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.bil-subtotal-row strong{font-family:var(--bil-mono);color:var(--bil-text);font-size:14px}.bil-aside{flex-direction:column;gap:12px;display:flex}.bil-payment-card{border-top:3px solid var(--bil-blue)}.bil-payment-body{flex-direction:column;gap:14px;display:flex;padding:18px 16px!important}.bil-pay-field{flex-direction:column;gap:5px;display:flex}.bil-pay-label{color:var(--bil-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.bil-pay-input,.bil-pay-select{height:34px;font-size:13.5px;font-family:var(--bil-font);color:var(--bil-text);background:var(--bil-surface-2);border:1.5px solid var(--bil-border);border-radius:var(--bil-radius);appearance:none;box-sizing:border-box;width:100%;padding:0 10px;transition:all .15s}.bil-pay-input:focus,.bil-pay-select:focus{border-color:var(--bil-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #0052cc1a}.bil-pay-input:disabled,.bil-pay-select:disabled{background:var(--bil-surface-2);color:var(--bil-text-mid);cursor:not-allowed;opacity:.7}.bil-pay-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='3'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:28px}.bil-status-pending{color:var(--bil-amber);background:var(--bil-amber-light);border-color:#fcd34d}.bil-status-completed{color:var(--bil-green);background:var(--bil-green-light);border-color:#6ee7b7}.bil-status-waived{color:var(--bil-text-soft)}.bil-divider{background:var(--bil-border);height:1px}.bil-summary-rows{flex-direction:column;gap:8px;display:flex}.bil-sum-row{color:var(--bil-text-mid);justify-content:space-between;font-size:13px;display:flex}.bil-sum-disc{color:var(--bil-green);font-weight:500}.bil-total-box{background:linear-gradient(135deg, var(--bil-blue-light), #dbeafe);border-radius:var(--bil-radius-lg);border:1.5px solid #bfdbfe;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bil-total-label{color:var(--bil-blue);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.bil-total-val{color:var(--bil-blue);font-size:22px;font-weight:700;font-family:var(--bil-mono);letter-spacing:-.5px}.bil-method-badge{color:var(--bil-text-mid);background:var(--bil-surface-2);border:1px solid var(--bil-border);border-radius:20px;align-items:center;gap:6px;width:fit-content;padding:5px 12px;font-size:12px;font-weight:600;display:flex}.bil-ref-card{background:var(--bil-surface);border:1px solid var(--bil-border);border-radius:var(--bil-radius-lg);box-shadow:var(--bil-shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.bil-ref-row{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.bil-ref-label{color:var(--bil-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:600}.bil-ref-val{color:var(--bil-text);font-weight:700;font-family:var(--bil-mono);font-size:12.5px}.bil-inv-no{color:var(--bil-blue)}.bil-action-bar{z-index:200;background:var(--bil-surface);border-top:1px solid var(--bil-border);padding:12px 24px;position:sticky;bottom:0;box-shadow:0 -4px 16px #00000012}.bil-pre-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.bil-post-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bil-action-divider{background:var(--bil-border);flex-shrink:0;width:1px;height:32px;margin:0 4px}.bil-action-btn{height:40px;font-size:13.5px;font-weight:600;font-family:var(--bil-font);border-radius:var(--bil-radius-lg);cursor:pointer;white-space:nowrap;border:1.5px solid;align-items:center;gap:7px;padding:0 18px;transition:all .18s;display:inline-flex}.bil-action-ghost{color:var(--bil-text-mid);border-color:var(--bil-border-2);background:#fff}.bil-action-ghost:hover{background:var(--bil-surface-2);color:var(--bil-text);border-color:#b0bac7}.bil-action-primary{background:var(--bil-blue);color:#fff;border-color:var(--bil-blue);height:44px;padding:0 26px;font-size:14px;box-shadow:0 2px 8px #0052cc4d}.bil-action-primary:hover{background:var(--bil-blue-hover);border-color:var(--bil-blue-hover);transform:translateY(-1px);box-shadow:0 4px 14px #0052cc61}.bil-action-primary:active{box-shadow:none;transform:translateY(0)}.bil-action-modify{background:var(--bil-amber-light);color:var(--bil-amber);border-color:#fcd34d}.bil-action-modify:hover{background:#fde68a;border-color:#f59e0b;transform:translateY(-1px)}.bil-action-barcode{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.bil-action-barcode:hover{background:#e2e8f0;border-color:#94a3b8;transform:translateY(-1px)}.bil-action-qr{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.bil-action-qr:hover{background:#e0e7ff;border-color:#a5b4fc;transform:translateY(-1px)}.bil-action-print{background:var(--bil-green-light);color:var(--bil-green);border-color:#6ee7b7}.bil-action-print:hover{background:#d1fae5;border-color:#34d399;transform:translateY(-1px)}@media print{@page{size:auto;margin:0}body,html{background:#fff!important;margin:0!important;padding:0!important}.sidebar,header,.preg-appbar,.preg-tabs,.preg-action-bar,.bil-action-bar,.bil-card-actions,.bil-del-btn,.bil-confirmed-banner{display:none!important}.main-content,.preg-page,.preg-body{width:100%!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.bil-layout{gap:30px;max-width:100%;padding:40px;flex-direction:column-reverse!important;margin:0 auto!important;display:flex!important}.bil-layout:after{content:"MERIL ENTERPRISE HIMS - OFFICIAL PAYMENT RECEIPT";text-align:center;color:#000;border-bottom:4px double #000;order:-2;margin-bottom:30px;padding-bottom:16px;font-size:22px;font-weight:800;display:block}.bil-ref-card{border-radius:8px;order:-1;grid-template-columns:1fr 1fr;gap:16px;padding:20px;box-shadow:none!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;display:grid!important}.bil-card{box-shadow:none!important;border:none!important;padding:0!important}.bil-items-table{border-collapse:collapse;width:100%}.bil-items-table th{-webkit-print-color-adjust:exact;color:#000!important;background:#f1f5f9!important;border-top:2px solid #000!important;border-bottom:2px solid #000!important}.bil-items-table td{border-bottom:1px solid #cbd5e1!important;padding:12px 8px!important}.bil-total-box{-webkit-print-color-adjust:exact;color:#000!important;box-shadow:none!important;background:#fff!important;border:2px solid #000!important}.bil-inline-input{pointer-events:none;color:#000!important;background:0 0!important;border:none!important;padding:0!important}select.bil-inline-input{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media (width<=900px){.bil-layout{grid-template-columns:1fr}.bil-aside{grid-template-columns:1fr 1fr;gap:12px;display:grid}}@media (width<=640px){.bil-page{padding:14px 14px 120px}.bil-card-head{flex-direction:column;align-items:flex-start}.bil-card-actions,.bil-pkg-select{width:100%}.bil-aside{grid-template-columns:1fr}.bil-post-actions{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.bil-pre-actions{flex-direction:column-reverse;width:100%}.bil-action-primary,.bil-action-ghost{justify-content:center;width:100%}.bil-action-btn{padding:0 14px;font-size:12.5px}.bil-action-divider{display:none}}.staff-header{justify-content:space-between;align-items:center;display:flex}.table-toolbar{background:var(--header-bg);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.search-input-wrapper input{width:100%;padding-left:36px}.search-input-wrapper svg{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.staff-table th{text-align:left;background:var(--header-bg);color:var(--text-label);text-transform:uppercase;border-bottom:1px solid var(--border-light);padding:12px 20px;font-size:12px;font-weight:600}.staff-table tr:hover{background:var(--field-bg-ro)}.role-badge{text-transform:capitalize;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.role-doctor{color:#3b82f6;background:#eff6ff;border:1px solid #dbeafe}.role-nurse{color:#10b981;background:#ecfdf5;border:1px solid #dcfce7}.role-receptionist{color:#ef4444;background:#fef2f2;border:1px solid #fee2e2}.role-pharmacist{color:#f59e0b;background:#fffbeb;border:1px solid #fef3c7}.role-hr{color:#8b5cf6;background:#f5f3ff;border:1px solid #ede9fe}.role-other{color:#64748b;background:#f8fafc;border:1px solid #f1f5f9}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a66;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-light);border-radius:16px;flex-direction:column;width:100%;max-width:600px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;background:#fff!important}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:24px 32px;display:flex;background:#fff!important}.modal-header-info{border-left:4px solid var(--brand-blue);padding-left:16px}.modal-header-info h3{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700;color:#1e293b!important}.modal-header-info p{margin:4px 0 0;font-size:13px;color:#64748b!important}.modal-body{flex-direction:column;gap:24px;max-height:70vh;padding:32px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);background:#f8fafc;justify-content:flex-end;gap:12px;padding:20px 32px;display:flex}.preg-field{flex-direction:column;gap:8px;display:flex}.preg-label{color:var(--text-label);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.preg-input,.preg-select{border:1.5px solid var(--border-light);width:100%;height:42px;color:var(--text-main);background:#fff;border-radius:10px;padding:0 14px;font-family:inherit;font-size:14px;transition:all .2s}.preg-input:focus,.preg-select:focus{border-color:var(--brand-blue);background:#fff;outline:none;box-shadow:0 0 0 4px #005eb81a}.preg-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.input-with-icon .preg-input{padding-left:42px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.modal-footer .btn-primary{border-radius:10px;width:auto;height:44px;padding:0 24px}.modal-footer .btn-ghost{border:1px solid var(--border-light);border-radius:10px;width:auto;height:44px;padding:0 24px}.close-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{color:#dc2626;background:#fee2e2}.infra-page{flex-direction:column;gap:20px;padding:24px;display:flex}.infra-header{justify-content:space-between;align-items:center;display:flex}.infra-header h1{color:var(--text-main);margin:0;font-size:24px;font-weight:700}.infra-tabs{border-bottom:2px solid var(--border-light);gap:12px;padding-bottom:0;display:flex}.infra-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.infra-tab-btn:hover{color:var(--brand-blue)}.infra-tab-btn.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue)}.infra-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:10px;display:grid}.infra-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:12px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.infra-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.infra-card-header{justify-content:space-between;align-items:flex-start;display:flex}.infra-name{color:var(--text-main);font-size:16px;font-weight:700}.infra-status-dot{border-radius:50%;width:8px;height:8px}.status-available{background:var(--success);box-shadow:0 0 0 3px #05966922}.status-occupied{background:#3b82f6;box-shadow:0 0 0 3px #3b82f622}.status-maintenance{background:var(--danger);box-shadow:0 0 0 3px #dc262622}.infra-details{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.infra-detail-item{background:var(--sys-bg);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.infra-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:8px;margin-top:8px;padding-top:12px;display:flex}.infra-empty{text-align:center;background:var(--header-bg);border:2px dashed var(--border-light);border-radius:var(--radius-md);grid-column:1/-1;padding:80px 20px}.infra-empty h3{color:var(--text-main);margin:12px 0 4px}.infra-empty p{color:var(--text-muted);font-size:14px}.staff-page{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex}.staff-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.staff-header h1{color:var(--text-main);margin:0;font-size:24px;font-weight:700}.staff-header p{color:var(--text-muted);margin:4px 0 0;font-size:14px}.history-toggle-card{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.btn-toggle{background:var(--field-bg);border:1px solid var(--border-light);cursor:pointer;width:60px;color:var(--text-muted);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;transition:all .2s}.btn-toggle.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);box-shadow:0 0 8px #2563eb4d}.staff-table-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;overflow:visible;box-shadow:0 1px 3px #0000000a}.staff-table-card>.staff-table{border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden}.table-toolbar{background:var(--header-bg);border-bottom:1px solid var(--border-light);border-radius:var(--radius-md) var(--radius-md) 0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.filters-toolbar{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:20px;padding:12px 20px;display:flex}.toolbar-top{align-items:center;gap:12px;display:flex}.filter-row{flex-direction:row;flex:1;align-items:center;gap:16px;display:flex}.filter-item{flex-direction:column;gap:6px;display:flex;position:relative}.filter-item label{color:var(--brand-blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:800}.filter-input{background:#fff;padding:8px 10px;font-size:13px}.search-input-wrapper{width:240px;position:relative}.search-input-wrapper input{box-sizing:border-box;width:100%;padding-left:36px}.search-input-wrapper svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.staff-table{border-collapse:collapse;width:100%}.staff-table th{text-align:left;background:var(--header-bg);color:var(--text-label);text-transform:uppercase;border-bottom:1px solid var(--border-light);white-space:nowrap;padding:12px 20px;font-size:12px;font-weight:600}.staff-table td{border-bottom:1px solid var(--border-light);color:var(--text-main);vertical-align:middle;padding:14px 20px;font-size:14px}.staff-table tr:last-child td{border-bottom:none}.staff-table tr:hover td{background:var(--field-bg-ro)}.room-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status-badge{text-transform:capitalize;white-space:nowrap;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-scheduled{color:#3b82f6;background:#eff6ff;border:1px solid #dbeafe}.status-ongoing{color:#d97706;background:#fffbeb;border:1px solid #fef3c7}.status-completed{color:#10b981;background:#ecfdf5;border:1px solid #d1fae5}.status-cancelled{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.btn-icon-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex}.btn-icon-delete:hover{color:#ef4444;background:#fef2f2}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-md);background:#fff;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.modal-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:18px;font-weight:700}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex}.btn-close:hover{color:var(--text-main);background:#f1f5f9}.modal-body{flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow:visible auto}.modal-footer{background:var(--header-bg);border-top:1px solid var(--border-light);border-radius:0 0 var(--radius-md) var(--radius-md);flex-shrink:0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.searchable-select-container{width:100%;position:relative}.searchable-select-container.disabled{opacity:.6;pointer-events:none}.searchable-select-trigger{border:1.5px solid var(--border-input,#e2e8f0);border-radius:var(--radius-sm,8px);cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:9px 12px;font-size:13.5px;transition:border-color .2s,box-shadow .2s;display:flex}.searchable-select-trigger:hover{border-color:#cbd5e1}.searchable-select-trigger.open{border-color:var(--brand-blue,#2563eb);box-shadow:0 0 0 3px #2563eb1a}.searchable-select-trigger span{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.searchable-select-trigger span.placeholder{color:var(--text-muted,#94a3b8)}.searchable-select-trigger span.selected{color:var(--text-main,#0f172a)}.searchable-select-trigger svg{color:#94a3b8;flex-shrink:0;transition:transform .2s}.searchable-select-trigger svg.rotate{transform:rotate(180deg)}.searchable-select-dropdown{border-radius:var(--radius-sm,8px);z-index:9999;background:#fff;border:1.5px solid #e2e8f0;flex-direction:column;min-width:100%;max-height:260px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 4px 6px -1px #00000012,0 10px 25px -5px #0000001f}.searchable-select-search{background:#fafbfc;border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.searchable-select-search svg{color:#94a3b8;flex-shrink:0}.searchable-select-search input{color:var(--text-main,#0f172a);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.searchable-select-search input::placeholder{color:#cbd5e1}.searchable-select-options{flex:1;padding:4px 0;overflow-y:auto}.searchable-select-option{cursor:pointer;color:var(--text-main,#0f172a);padding:9px 14px;font-size:13.5px;line-height:1.4;transition:background .15s}.searchable-select-option:hover{background:#f0f6ff}.searchable-select-option.selected{color:var(--brand-blue,#2563eb);background:#2563eb14;font-weight:600}.searchable-select-no-results{text-align:center;color:var(--text-muted,#94a3b8);padding:16px;font-size:13px;font-style:italic}.filter-select .searchable-select-trigger{min-height:36px;padding:8px 10px;font-size:13px}.preg-field .searchable-select-container{width:100%}.preg-field .searchable-select-trigger{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;min-height:42px;padding:10px 13px;font-size:14px}.preg-field .searchable-select-trigger:hover{background:#fff;border-color:#cbd5e1}.preg-field .searchable-select-trigger.open{border-color:var(--brand-blue,#2563eb);box-shadow:0 0 0 3px #3b82f61f, inset 0 0 0 1px var(--brand-blue,#2563eb);background:#fff}@media (width<=768px){.staff-page{gap:16px;padding:16px}.staff-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-row{grid-template-columns:1fr 1fr}.search-input-wrapper{width:100%}.toolbar-top{flex-direction:column;align-items:stretch}.staff-table{font-size:13px}.staff-table th,.staff-table td{padding:10px 12px}}@media (width<=480px){.stats-grid,.filter-row{grid-template-columns:1fr}.modal-content{border-radius:16px 16px 0 0;max-height:95vh}.modal-overlay{align-items:flex-end;padding:0}.modal-footer{flex-direction:column-reverse;gap:8px}.modal-footer .btn-ghost,.modal-footer .btn-primary{text-align:center;width:100%}}.sdm-overlay{z-index:8000;-webkit-backdrop-filter:blur(6px);background:#0a14288c;justify-content:center;align-items:center;padding:20px;animation:.22s sdm-overlay-in;display:flex;position:fixed;inset:0}@keyframes sdm-overlay-in{0%{opacity:0}to{opacity:1}}.sdm-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:500px;animation:.28s cubic-bezier(.22,1,.36,1) sdm-modal-in;display:flex;box-shadow:0 0 0 1px #0000000f,0 8px 24px #0000001a,0 32px 64px #0000002e}@keyframes sdm-modal-in{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.sdm-header{background:linear-gradient(#fafbfd,#f7f9fc);border-bottom:1px solid #e8edf3;border-radius:16px 16px 0 0;flex-shrink:0;align-items:center;gap:12px;padding:20px 24px 18px;display:flex}.sdm-header-accent{background:linear-gradient(#3b82f6 0%,#6366f1 100%);border-radius:3px;flex-shrink:0;width:4px;height:22px}.sdm-title{color:#0f172a;letter-spacing:-.3px;flex:1;margin:0;font-size:17px;font-weight:700}.sdm-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s,transform .2s;display:flex}.sdm-close:hover{color:#dc2626;background:#fee2e2;transform:rotate(90deg)}.sdm-body{flex-direction:column;gap:18px;padding:24px;display:flex}.sdm-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.sdm-field{flex-direction:column;gap:7px;display:flex}.sdm-label{color:#475569;text-transform:uppercase;letter-spacing:.55px;font-size:11.5px;font-weight:700}.sdm-required{color:#ef4444;margin-left:2px}.sdm-optional{color:#94a3b8;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.sdm-input{box-sizing:border-box;color:#0f172a;appearance:none;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.sdm-input:hover:not(:focus){background:#fff;border-color:#cbd5e1}.sdm-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.sdm-textarea{resize:vertical;min-height:74px;line-height:1.55}.sdm-input-icon{align-items:center;display:flex;position:relative}.sdm-input-icon svg{color:#94a3b8;pointer-events:none;flex-shrink:0;position:absolute;left:12px}.sdm-input-padded{padding-left:36px}.sdm-time-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid}.sdm-time-divider{color:#94a3b8;text-align:center;padding-bottom:11px;font-size:18px;line-height:1}.sdm-footer{background:linear-gradient(#f7f9fc,#f3f6fa);border-top:1px solid #e8edf3;border-radius:0 0 16px 16px;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.sdm-btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:9px;padding:9px 20px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .18s}.sdm-btn-cancel:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.sdm-btn-submit{color:#fff;cursor:pointer;letter-spacing:.1px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 22px;font-family:inherit;font-size:13.5px;font-weight:700;transition:all .18s;display:flex}.sdm-btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3b82f661}.sdm-btn-submit:active{box-shadow:none;transform:translateY(0)}.ss-trigger{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:42px;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.ss-trigger:hover:not(.ss-open):not(.ss-disabled){background:#fff;border-color:#cbd5e1}.ss-trigger.ss-open{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.ss-trigger.ss-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ss-value{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;text-align:left;flex:1;min-width:0;font-size:14px;overflow:hidden}.ss-placeholder{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;text-align:left;flex:1;min-width:0;font-size:14px;overflow:hidden}.ss-chevron{color:#94a3b8;flex-shrink:0;transition:transform .2s}.ss-chevron-up{transform:rotate(180deg)}.ss-dropdown{z-index:9999;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;max-height:260px;animation:.16s cubic-bezier(.22,1,.36,1) ss-drop-in;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 8px #0000000f,0 12px 32px #0000001f}@keyframes ss-drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ss-search-row{background:#fafbfc;border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:8px;padding:9px 12px;display:flex}.ss-search-row svg{color:#94a3b8;flex-shrink:0}.ss-search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:13px}.ss-search-input::placeholder{color:#cbd5e1}.ss-options{flex:1;padding:4px 0;overflow-y:auto}.ss-option{color:#1e293b;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:9px 14px;font-size:13.5px;line-height:1.45;transition:background .12s;overflow:hidden}.ss-option:hover{background:#f0f6ff}.ss-option-selected{color:#2563eb;background:#3b82f614;font-weight:600}.ss-option-selected:hover{background:#3b82f624}.ss-no-results{text-align:center;color:#94a3b8;padding:18px 14px;font-size:13px;font-style:italic}@media (width<=540px){.sdm-overlay{align-items:flex-end;padding:0}.sdm-modal{border-radius:18px 18px 0 0;max-height:95dvh}.sdm-body{padding:20px 16px}.sdm-header,.sdm-footer{padding-left:16px;padding-right:16px}.sdm-time-row{grid-template-columns:1fr;gap:18px}.sdm-time-divider{display:none}.sdm-footer{flex-direction:column-reverse;gap:8px}.sdm-btn-cancel,.sdm-btn-submit{justify-content:center;width:100%}}:root{--bp-font:"Roboto", -apple-system, sans-serif;--bp-mono:"Roboto", sans-serif;--bp-ink:#0a0f1e;--bp-ink-2:#334155;--bp-ink-3:#64748b;--bp-ink-4:#94a3b8;--bp-surface:#fff;--bp-canvas:#f4f6fa;--bp-wash:#f8fafc;--bp-line:#e4e8ef;--bp-line-2:#cbd5e1;--bp-blue:#2563eb;--bp-blue-mid:#3b82f6;--bp-blue-pale:#eff6ff;--bp-blue-tint:#dbeafe;--bp-green:#059669;--bp-green-pale:#ecfdf5;--bp-red:#dc2626;--bp-red-pale:#fef2f2;--bp-amber:#d97706;--bp-amber-pale:#fffbeb;--bp-radius-sm:6px;--bp-radius:10px;--bp-radius-lg:14px;--bp-radius-xl:20px;--bp-shadow-xs:0 1px 3px #0a0f1e0f;--bp-shadow-sm:0 2px 8px #0a0f1e14, 0 1px 3px #0a0f1e0d;--bp-shadow-md:0 8px 24px #0a0f1e1a, 0 2px 6px #0a0f1e0f;--bp-shadow-lg:0 20px 60px #0a0f1e24, 0 4px 16px #0a0f1e14;--bp-shadow-xl:0 32px 80px #0a0f1e2e, 0 8px 24px #0a0f1e1a;--bp-focus:0 0 0 3px #2563eb2e;--bp-transition:.22s cubic-bezier(.4, 0, .2, 1)}.billing-packages-page{font-family:var(--bp-font);background:var(--bp-canvas);min-height:100vh;color:var(--bp-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:36px 40px 60px}.billing-packages-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.billing-packages-header h1{color:var(--bp-ink);letter-spacing:-.7px;margin:0 0 6px;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.15}.billing-packages-header p{color:var(--bp-ink-3);margin:0;font-size:14px;font-weight:400;line-height:1.55}.btn-primary{background:var(--bp-blue);color:#fff;font-family:var(--bp-font);letter-spacing:.1px;border-radius:var(--bp-radius);cursor:pointer;transition:background var(--bp-transition), transform var(--bp-transition), box-shadow var(--bp-transition);white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #2563eb40,inset 0 1px #ffffff1f}.btn-primary svg{flex-shrink:0}.btn-ghost{font-family:var(--bp-font);color:var(--bp-ink-2);background:var(--bp-surface);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius-sm);cursor:pointer;transition:all var(--bp-transition);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-ghost:hover{background:var(--bp-wash);border-color:var(--bp-line-2);color:var(--bp-ink);box-shadow:var(--bp-shadow-xs)}.btn-ghost:active{transform:scale(.98)}.billing-filters{background:var(--bp-surface);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius-lg);box-shadow:var(--bp-shadow-xs);transition:border-color var(--bp-transition), box-shadow var(--bp-transition);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;padding:14px 18px;display:flex}.billing-filters:focus-within{border-color:var(--bp-blue-mid);box-shadow:var(--bp-focus)}.billing-filters .preg-input,.billing-filters .preg-select{border-radius:var(--bp-radius-sm);border:1.5px solid var(--bp-line);background:var(--bp-wash);height:40px;font-family:var(--bp-font);color:var(--bp-ink);transition:all var(--bp-transition);outline:none;min-width:0;padding:0 13px;font-size:13.5px}.billing-filters .preg-input:focus,.billing-filters .preg-select:focus{border-color:var(--bp-blue-mid);background:var(--bp-surface);box-shadow:var(--bp-focus)}.billing-filters .preg-input:hover:not(:focus),.billing-filters .preg-select:hover:not(:focus){border-color:var(--bp-line-2);background:var(--bp-surface)}.billing-filters .preg-input::placeholder{color:var(--bp-ink-4)}.billing-filters>span{color:var(--bp-ink-4);white-space:nowrap;font-size:13px;font-weight:600;font-family:var(--bp-mono);letter-spacing:.2px;margin-left:auto}.packages-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));align-items:start;gap:22px;display:grid}.package-card{background:var(--bp-surface);border-radius:var(--bp-radius-xl);border:1.5px solid var(--bp-line);transition:transform var(--bp-transition), box-shadow var(--bp-transition), border-color var(--bp-transition);box-shadow:var(--bp-shadow-xs);flex-direction:column;display:flex;position:relative;overflow:hidden}.package-card:before{content:"";background:linear-gradient(90deg, var(--bp-blue), #6366f1, #8b5cf6, var(--bp-blue));opacity:0;pointer-events:none;height:3px;transition:opacity var(--bp-transition);background-size:250% 100%;animation:4s infinite paused stripePulse;position:absolute;inset:0 0 auto}.package-card:hover:before{opacity:1;animation-play-state:running}@keyframes stripePulse{0%,to{background-position:0%}50%{background-position:100%}}.package-card:hover{box-shadow:var(--bp-shadow-md);border-color:var(--bp-line-2);transform:translateY(-5px)}.package-card.inactive{opacity:.55;background:var(--bp-wash);filter:saturate(.6)}.package-card.inactive:hover{box-shadow:var(--bp-shadow-xs);transform:none}.package-card-header{border-bottom:1.5px solid var(--bp-line);background:var(--bp-wash);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 16px;display:flex}.package-card-title{color:var(--bp-ink);letter-spacing:-.3px;word-break:break-word;font-size:15.5px;font-weight:700;line-height:1.3}.package-card-id{font-family:var(--bp-mono);color:var(--bp-ink-4);letter-spacing:.6px;text-transform:uppercase;margin-top:5px;font-size:10.5px}.preg-badge{text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;border-radius:99px;flex-shrink:0;align-items:center;padding:4px 11px;font-size:10.5px;font-weight:700;display:inline-flex}.package-card-body{flex-direction:column;flex:1;padding:18px 20px;display:flex}.package-department-badge{background:var(--bp-blue-pale);color:#1e40af;border:1px solid var(--bp-blue-tint);letter-spacing:.5px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;border-radius:99px;max-width:100%;margin-bottom:14px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block;overflow:hidden}.package-description{color:var(--bp-ink-3);word-break:break-word;margin-bottom:16px;font-size:13px;line-height:1.65}.package-items-preview{border-top:1.5px solid var(--bp-line);border-bottom:1.5px solid var(--bp-line);margin-top:auto;padding:12px 0}.package-item-count{font-family:var(--bp-mono);color:var(--bp-ink-4);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:10.5px;font-weight:500}.package-item-row{justify-content:space-between;align-items:center;gap:8px;padding:5px 0;display:flex}.package-item-name{color:var(--bp-ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.package-item-amount{font-family:var(--bp-mono);color:var(--bp-ink);flex-shrink:0;font-size:13px;font-weight:500}.package-more-items{color:var(--bp-ink-4);margin-top:8px;font-size:11.5px;font-style:italic;font-weight:500}.package-footer{border-top:1.5px solid var(--bp-line);background:var(--bp-wash);flex-direction:column;gap:14px;padding:16px 20px 18px;display:flex}.package-price-section{flex-direction:column;gap:3px;display:flex}.package-discount-text{font-family:var(--bp-mono);color:var(--bp-green);text-transform:uppercase;letter-spacing:.5px;font-size:10.5px;font-weight:500}.package-total{font-family:var(--bp-mono);color:var(--bp-blue);letter-spacing:-.5px;font-size:24px;font-weight:500;line-height:1.1}.package-original-price{font-family:var(--bp-mono);color:var(--bp-ink-4);font-size:12px;font-weight:400;text-decoration:line-through}.package-actions{gap:8px;width:100%;display:flex}.package-actions .btn-ghost{border-radius:var(--bp-radius-sm);border:1.5px solid var(--bp-line);background:var(--bp-surface);color:var(--bp-ink-2);cursor:pointer;text-align:center;transition:all var(--bp-transition);white-space:nowrap;flex:1;padding:9px 0;font-size:13px;font-weight:600}.package-actions .btn-ghost:hover{background:var(--bp-wash);border-color:var(--bp-line-2);color:var(--bp-ink);box-shadow:var(--bp-shadow-xs)}.package-actions .btn-ghost[style*="color: var(--danger)"],.package-actions .btn-ghost[style*=danger]{color:var(--bp-red)!important}.package-actions .btn-ghost[style*=danger]:hover{background:var(--bp-red-pale)!important;color:#b91c1c!important;border-color:#fca5a5!important}.packages-empty-state{text-align:center;color:var(--bp-ink-4);background:var(--bp-surface);border:2px dashed var(--bp-line);border-radius:var(--bp-radius-xl);transition:all var(--bp-transition);padding:80px 40px}.packages-empty-state:hover{border-color:var(--bp-line-2);box-shadow:var(--bp-shadow-sm)}.packages-empty-state svg{opacity:.35;transition:opacity var(--bp-transition), transform var(--bp-transition);margin:0 auto 20px;display:block}.packages-empty-state:hover svg{opacity:.55;transform:scale(1.06)rotate(-2deg)}.packages-empty-state p{color:var(--bp-ink-3);margin:0;max-width:340px;margin-inline:auto;font-size:14px;font-weight:500;line-height:1.65}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--bp-surface);width:100%;max-width:660px;max-height:92vh;box-shadow:var(--bp-shadow-xl), 0 0 0 1px #0a0f1e12;border-radius:20px;flex-direction:column;animation:.32s cubic-bezier(.22,1,.36,1) both modalIn;display:flex;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1.5px solid var(--bp-line);background:var(--bp-wash);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px 20px;display:flex}.modal-header h3{color:var(--bp-ink);letter-spacing:-.4px;align-items:center;gap:11px;margin:0;font-size:17px;font-weight:700;display:flex}.modal-header h3:before{content:"";background:var(--bp-blue);border-radius:2px;flex-shrink:0;width:3px;height:18px;display:inline-block}.modal-close{border:1.5px solid var(--bp-line);border-radius:var(--bp-radius-sm);width:36px;height:36px;color:var(--bp-ink-3);cursor:pointer;transition:all var(--bp-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex}.modal-close:hover{background:var(--bp-red-pale);color:var(--bp-red);border-color:#fca5a5;transform:rotate(90deg)}.modal-body{scrollbar-width:thin;scrollbar-color:var(--bp-line) transparent;flex:1;padding:26px 28px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:5px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--bp-line-2);border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:#bfdbfe}.modal-body>div>div{animation:.24s both fieldIn}.modal-body>div>div:first-child{animation-delay:40ms}.modal-body>div>div:nth-child(2){animation-delay:80ms}.modal-body>div>div:nth-child(3){animation-delay:.12s}.modal-body>div>div:nth-child(4){animation-delay:.16s}.modal-body>div>div:nth-child(5){animation-delay:.2s}.modal-body>div>div:nth-child(6){animation-delay:.24s}.modal-body>div>div:nth-child(7){animation-delay:.28s}@keyframes fieldIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-body .preg-field{flex-direction:column;gap:7px;margin-bottom:0;display:flex}.modal-body .preg-label{color:var(--bp-ink-3);text-transform:uppercase;letter-spacing:.7px;font-size:11.5px;font-weight:700;display:block}.modal-body .preg-input,.modal-body .preg-select,.modal-body .preg-textarea{font-family:var(--bp-font);color:var(--bp-ink);background:var(--bp-wash);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius);box-sizing:border-box;width:100%;transition:all var(--bp-transition);appearance:none;outline:none;padding:10px 13px;font-size:14px}.modal-body .preg-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;height:44px;padding-right:36px}.modal-body .preg-input:focus,.modal-body .preg-select:focus,.modal-body .preg-textarea:focus{border-color:var(--bp-blue-mid);background:var(--bp-surface);box-shadow:var(--bp-focus)}.modal-body .preg-input:hover:not(:focus),.modal-body .preg-select:hover:not(:focus),.modal-body .preg-textarea:hover:not(:focus){border-color:var(--bp-line-2);background:var(--bp-surface)}.modal-body .preg-textarea{resize:vertical;min-height:78px;line-height:1.6}.modal-body>div>div:has(input[type=checkbox]){background:var(--bp-wash);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius);cursor:pointer;transition:all var(--bp-transition);align-items:center;gap:10px;padding:12px 14px;display:flex}.modal-body>div>div:has(input[type=checkbox]):hover{border-color:var(--bp-blue-mid);background:var(--bp-blue-pale)}.modal-body input[type=checkbox]{width:17px;height:17px;accent-color:var(--bp-blue);cursor:pointer;border-radius:4px;flex-shrink:0}.quick-add-items{background:var(--bp-wash);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius);flex-wrap:wrap;gap:7px;margin-top:10px;padding:13px;display:flex}.quick-add-btn{font-family:var(--bp-font);color:var(--bp-ink-2);background:var(--bp-surface);border:1.5px solid var(--bp-line);cursor:pointer;transition:all var(--bp-transition);white-space:nowrap;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;line-height:1.5}.quick-add-btn:hover{background:var(--bp-blue-pale);border-color:var(--bp-blue-mid);color:var(--bp-blue);transform:translateY(-2px);box-shadow:0 3px 10px #2563eb26}.quick-add-btn:active{transform:translateY(0)}.item-row{background:var(--bp-wash);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius);transition:all var(--bp-transition);align-items:center;gap:9px;padding:9px 12px;display:flex}.item-row:hover{border-color:var(--bp-line-2);background:var(--bp-surface);box-shadow:var(--bp-shadow-xs)}.item-row:focus-within{border-color:var(--bp-blue-mid);background:var(--bp-surface);box-shadow:var(--bp-focus)}.item-row input{font-family:var(--bp-font);color:var(--bp-ink);outline:none;flex:1;min-width:0;font-size:13.5px;font-weight:500;box-shadow:none!important;background:0 0!important;border:none!important;padding:2px 4px!important}.item-row input::placeholder{color:var(--bp-ink-4);font-weight:400}.item-row input[type=number]{font-family:var(--bp-mono);text-align:right;flex:none;width:100px;font-size:13.5px;font-weight:500}.remove-item-btn{width:28px;height:28px;color:var(--bp-ink-4);border-radius:var(--bp-radius-sm);cursor:pointer;transition:all var(--bp-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:flex}.remove-item-btn:hover{background:var(--bp-red-pale);color:var(--bp-red);transform:scale(1.15)}.preview-card{background:var(--bp-blue-pale);border:1.5px solid var(--bp-blue-tint);border-radius:var(--bp-radius-lg);padding:20px 22px;position:relative;overflow:hidden}.preview-card:before{content:"";background:linear-gradient(90deg, var(--bp-blue), #6366f1, #8b5cf6, var(--bp-blue));background-size:250% 100%;height:2.5px;animation:5s infinite previewStripe;position:absolute;inset:0 0 auto}@keyframes previewStripe{0%,to{background-position:0%}50%{background-position:100%}}.preview-card-header{font-family:var(--bp-mono);text-transform:uppercase;letter-spacing:.8px;color:var(--bp-blue-mid);align-items:center;gap:10px;margin-bottom:16px;font-size:10.5px;font-weight:500;display:flex}.preview-card-header:after{content:"";background:#3b82f633;flex:1;height:1px}.preview-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:13.5px;display:flex}.preview-row span:first-child{color:var(--bp-ink-3);font-weight:400}.preview-row span:last-child{font-family:var(--bp-mono);color:var(--bp-ink);font-weight:500}.preview-total{color:var(--bp-ink);border-top:1.5px solid #3b82f638;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;padding-top:14px;font-size:13.5px;font-weight:600;display:flex}.preview-total span:last-child{font-family:var(--bp-mono);color:var(--bp-blue);letter-spacing:-.5px;font-size:20px;font-weight:500}.modal-footer{border-top:1.5px solid var(--bp-line);background:var(--bp-wash);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:18px 28px;display:flex}.modal-footer .btn-ghost{border-radius:var(--bp-radius);padding:10px 20px;font-size:13.5px}.modal-footer .btn-primary{border-radius:var(--bp-radius);padding:10px 26px;font-size:13.5px}.preg-input,.preg-select{font-family:var(--bp-font);color:var(--bp-ink);background:var(--bp-wash);border:1.5px solid var(--bp-line);border-radius:var(--bp-radius);transition:all var(--bp-transition);appearance:none;box-sizing:border-box;outline:none;padding:10px 13px;font-size:14px}.preg-input:focus,.preg-select:focus{border-color:var(--bp-blue-mid);background:var(--bp-surface);box-shadow:var(--bp-focus)}@media (width<=900px){.billing-packages-page{padding:28px 24px 48px}.packages-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}.billing-packages-header h1{font-size:24px}}@media (width<=768px){.billing-packages-page{padding:22px 18px 40px}.billing-packages-header{flex-direction:column;align-items:flex-start;gap:14px}.billing-packages-header h1{font-size:22px}.btn-primary{justify-content:center;width:100%}.billing-filters{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}.billing-filters .preg-input,.billing-filters .preg-select{width:100%!important}.billing-filters>span{text-align:center;margin-left:0!important}.packages-grid{grid-template-columns:1fr;gap:16px}.package-card-header{padding:16px 16px 14px}.package-card-body{padding:16px}.package-footer{padding:14px 16px 16px}}@media (width<=480px){.billing-packages-page{padding:18px 14px 36px}.billing-packages-header h1{font-size:20px}.billing-packages-header p{font-size:13px}.package-total{font-size:22px}.package-actions .btn-ghost{padding:8px 0;font-size:12px}}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal-container{border-radius:20px 20px 0 0;max-height:96vh;animation:.32s cubic-bezier(.22,1,.36,1) both sheetUp}@keyframes sheetUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header,.modal-body,.modal-footer{padding-left:20px;padding-right:20px}.modal-footer{flex-direction:column-reverse;gap:8px}.modal-footer .btn-ghost,.modal-footer .btn-primary{text-align:center;justify-content:center;width:100%}.item-row input[type=number]{width:82px;font-size:13px}.quick-add-btn{padding:5px 10px;font-size:11.5px}}@media (width>=641px) and (width<=900px){.modal-container{max-width:580px;margin:0 auto}.packages-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--blue-950:#172554;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--amber-400:#fbbf24;--amber-500:#f59e0b;--rose-400:#f87171;--rose-500:#ef4444;--violet-400:#a78bfa;--violet-500:#8b5cf6;--bg-base:#f0f4f9;--bg-surface:var(--white);--bg-input:var(--white);--border:#e2e8f0;--border-focus:var(--blue-500);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-400);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 4px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 8px 28px #0000001a, 0 4px 10px #0000000f;--shadow-xl:0 20px 56px #00000021, 0 8px 20px #00000014;--shadow-blue:0 4px 18px #2563eb38;--shadow-blue-lg:0 8px 28px #2563eb47;--shadow-card-hover:0 8px 28px #2563eb21, 0 3px 10px #00000012;--t-fast:.14s cubic-bezier(.4,0,.2,1);--t-base:.22s cubic-bezier(.4,0,.2,1);--t-spring:.3s cubic-bezier(.34,1.56,.64,1)}.lab-test-management{background:var(--bg-base);min-height:100vh;color:var(--text-primary);padding:28px 32px;font-family:Roboto,sans-serif;animation:.4s cubic-bezier(.4,0,.2,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.header{margin-bottom:28px}.header h1{letter-spacing:-.035em;color:var(--text-primary);align-items:center;gap:12px;margin-bottom:22px;font-family:Roboto,sans-serif;font-size:clamp(22px,2.4vw,34px);font-weight:800;line-height:1.15;display:flex}.header h1:before{content:"";border-radius:var(--r-md);background:#0d2554 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M19.8 18.4L14 10.67V6.75l1.35-1.35c.18-.18.28-.43.28-.69V2.25c0-.41-.34-.75-.75-.75h-6c-.41 0-.75.34-.75.75v2.46c0 .26.1.51.28.69L10 6.75v3.92L4.2 18.4c-.77 1.16-.13 2.73 1.3 2.73h13c1.43 0 2.07-1.57 1.3-2.73z'/%3E%3C/svg%3E") 50% no-repeat;flex-shrink:0;width:32px;height:32px;display:inline-block;box-shadow:0 4px 12px #0d255433}.tabs{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-full);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:3px;width:fit-content;max-width:100%;padding:4px;display:flex}.tabs button{color:var(--text-secondary);cursor:pointer;border-radius:var(--r-full);transition:color var(--t-base), background var(--t-base), box-shadow var(--t-base);white-space:nowrap;background:0 0;border:none;outline:none;padding:9px 22px;font-family:Roboto,sans-serif;font-size:13.5px;font-weight:500}.tabs button:hover:not(.active){color:var(--blue-600);background:var(--blue-50)}.tabs button.active{color:var(--white);background:#0d2554;font-weight:600;box-shadow:0 4px 12px #0d255433}.tests-section,.categories-section,.containers-section,.sample-types-section{animation:.28s cubic-bezier(.4,0,.2,1) both sectionIn}@keyframes sectionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-header{border-bottom:2px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;display:flex}.section-header h2{color:var(--text-primary);letter-spacing:-.025em;align-items:center;gap:10px;font-family:Roboto,sans-serif;font-size:clamp(17px,1.8vw,22px);font-weight:700;display:flex}.section-header h2:before{content:"";border-radius:var(--r-full);background:#0d2554;flex-shrink:0;width:4px;height:22px;display:inline-block}.tests-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.categories-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.containers-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.test-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-xl);transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;padding:20px 22px;display:flex;position:relative;overflow:hidden}.test-card:before{content:"";background:linear-gradient(90deg, var(--blue-500), var(--blue-300));transform-origin:0;height:3px;transition:transform var(--t-base);border-radius:var(--r-xl) var(--r-xl) 0 0;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.test-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--blue-200);transform:translateY(-3px)}.test-card:hover:before{transform:scaleX(1)}.test-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.test-header h3{color:var(--gray-900);letter-spacing:-.01em;font-family:Roboto,sans-serif;font-size:15px;font-weight:700;line-height:1.3}.test-code{background:var(--blue-950);color:var(--blue-300);border-radius:var(--r-sm);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border:1px solid #60a5fa33;flex-shrink:0;padding:4px 10px;font-family:Roboto,sans-serif;font-size:10px;font-weight:600}.test-details{background:var(--gray-50);border-radius:var(--r-lg);border:1px solid var(--gray-100);flex-direction:column;gap:7px;margin-bottom:14px;padding:12px 14px;display:flex}.test-details p{color:var(--text-secondary);align-items:baseline;gap:6px;font-size:12.5px;line-height:1.4;display:flex}.test-details p strong{color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;min-width:82px;font-family:Roboto,sans-serif;font-size:10px;font-weight:500}.test-actions{gap:8px;margin-top:auto;display:flex}.category-card,.container-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-xl);transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);box-shadow:var(--shadow-sm);padding:20px 22px;position:relative;overflow:hidden}.category-card:after,.container-card:after{content:"";background:linear-gradient(90deg, var(--blue-500), var(--blue-200));transform-origin:0;height:2px;transition:transform var(--t-base);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.category-card:hover,.container-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--blue-200);transform:translateY(-3px)}.category-card:hover:after,.container-card:hover:after{transform:scaleX(1)}.category-card h3,.container-card h3{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-family:Roboto,sans-serif;font-size:15px;font-weight:700}.category-card p{color:var(--text-secondary);font-size:13px;line-height:1.6}.container-details{background:var(--gray-50);border-radius:var(--r-md);border:1px solid var(--gray-100);flex-direction:column;gap:6px;margin-top:10px;padding:10px 12px;display:flex}.container-details p{color:var(--text-secondary);align-items:baseline;gap:8px;font-size:12px;line-height:1.4;display:flex}.container-details p strong{color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;min-width:64px;font-family:Roboto,sans-serif;font-size:10px;font-weight:500}.btn-primary{background:var(--blue-600);color:var(--white);border-radius:var(--r-full);cursor:pointer;transition:transform var(--t-spring), box-shadow var(--t-base), background var(--t-base);box-shadow:var(--shadow-blue);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-family:Roboto,sans-serif;font-size:13.5px;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--blue-700);box-shadow:var(--shadow-blue-lg);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--white);color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-base);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Roboto,sans-serif;font-size:13.5px;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--blue-400);color:var(--blue-600);background:var(--blue-50);transform:translateY(-1px)}.btn-edit{color:var(--amber-500);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);background:0 0;border:1.5px solid #f59e0b59;justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-family:Roboto,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.btn-edit:hover{background:var(--amber-500);color:var(--white);border-color:var(--amber-500);transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b4d}.btn-delete{color:var(--rose-500);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);background:0 0;border:1.5px solid #ef44444d;justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-family:Roboto,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.btn-delete:hover{background:var(--rose-500);color:var(--white);border-color:var(--rose-500);transform:translateY(-1px);box-shadow:0 4px 14px #ef444447}.btn-remove{color:var(--text-muted);border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);background:0 0;justify-content:center;align-items:center;padding:5px 10px;font-family:Roboto,sans-serif;font-size:11.5px;font-weight:600;display:inline-flex}.btn-remove:hover{border-color:var(--rose-400);color:var(--rose-500);background:#ef44440f}.btn-ai{background:linear-gradient(135deg, var(--blue-800), #4c1d95);color:var(--violet-400);border-radius:var(--r-full);cursor:pointer;transition:transform var(--t-spring), box-shadow var(--t-base);white-space:nowrap;border:1.5px solid #a78bfa4d;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:Roboto,sans-serif;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #8b5cf638}.btn-ai:hover{border-color:var(--violet-400);transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf659}.btn-ai:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ai-icon{background:linear-gradient(135deg, var(--violet-400), var(--violet-500));color:var(--white);letter-spacing:.1em;border-radius:3px;padding:2px 7px;font-family:Roboto,sans-serif;font-size:9.5px;font-weight:800}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#1118278c;justify-content:center;align-items:center;padding:20px;animation:.18s both overlayIn;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--r-2xl);width:100%;max-width:min(900px,100%);max-height:92dvh;box-shadow:var(--shadow-xl), 0 0 0 1.5px #2563eb1f;flex-direction:column;animation:.3s cubic-bezier(.34,1.32,.64,1) both modalIn;display:flex;overflow:hidden}.modal-form-content{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:24px 28px;overflow-y:auto}.modal-form-content::-webkit-scrollbar{width:6px}.modal-form-content::-webkit-scrollbar-track{background:0 0}.modal-form-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.modal-form-content::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}.modal-header{border-bottom:1.5px solid var(--border);background:var(--white);z-index:10;border-radius:var(--r-2xl) var(--r-2xl) 0 0;justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:sticky;top:0}.modal-header h2{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-family:Roboto,sans-serif;font-size:19px;font-weight:700;display:flex}.modal-header h2:before{content:"";border-radius:var(--r-sm);background:#0d2554 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpath d='M19.8 18.4L14 10.67V6.75l1.35-1.35c.18-.18.28-.43.28-.69V2.25c0-.41-.34-.75-.75-.75h-6c-.41 0-.75.34-.75.75v2.46c0 .26.1.51.28.69L10 6.75v3.92L4.2 18.4c-.77 1.16-.13 2.73 1.3 2.73h13c1.43 0 2.07-1.57 1.3-2.73z'/%3E%3C/svg%3E") 50% no-repeat;flex-shrink:0;width:28px;height:28px;display:inline-block;box-shadow:0 4px 12px #0d255433}.close-btn{background:var(--gray-100);border:1.5px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:var(--r-md);transition:all var(--t-fast);z-index:20;flex-shrink:0;justify-content:center;align-items:center;font-family:sans-serif;font-size:20px;line-height:1;display:flex;position:absolute;top:20px;right:24px}.close-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fee2e2;transform:rotate(90deg)}.test-form{flex-direction:column;flex:1;min-height:0;display:flex}.category-form,.container-form{flex-direction:column;padding:24px 28px;display:flex}.form-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px;display:grid}.form-group{margin-bottom:18px}.form-group label{color:var(--gray-700);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-family:Roboto,sans-serif;font-size:11.5px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--bg-input);width:100%;color:var(--text-primary);transition:border-color var(--t-base), box-shadow var(--t-base), background var(--t-base);appearance:auto;outline:none;padding:10px 13px;font-family:Roboto,sans-serif;font-size:13.5px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:hover:not(:focus),.form-group select:hover:not(:focus),.form-group textarea:hover:not(:focus){border-color:var(--gray-300);background:var(--gray-50)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue-500);background:var(--white);box-shadow:0 0 0 3.5px #3b82f61f}.form-group select{cursor:pointer}.form-group textarea{resize:vertical;min-height:84px;line-height:1.65}.parameters-section{background:var(--gray-50);border-radius:var(--r-xl);border:1.5px solid var(--border);margin:8px 0 20px;padding:20px 22px}.parameters-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.parameters-header h3{color:var(--text-primary);align-items:center;gap:8px;font-family:Roboto,sans-serif;font-size:16px;font-weight:700;display:flex}.parameters-header h3:before{content:"";background:var(--blue-500);border-radius:var(--r-full);width:3px;height:18px;display:inline-block}.parameter-buttons{flex-wrap:wrap;gap:8px;display:flex}.parameter-row{background:var(--white);border-radius:var(--r-lg);border:1.5px solid var(--border);transition:border-color var(--t-base), box-shadow var(--t-base);margin-bottom:10px;padding:16px 18px}.parameter-row:hover{border-color:var(--blue-200);box-shadow:0 2px 12px #3b82f614}.parameter-row:last-child{margin-bottom:0}.parameter-header{border-bottom:1px solid var(--border);grid-template-columns:1fr .55fr auto auto;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:grid}.parameter-header input{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--white);color:var(--text-primary);transition:border-color var(--t-base), box-shadow var(--t-base);outline:none;width:100%;padding:9px 11px;font-family:Roboto,sans-serif;font-size:13px}.parameter-header input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #3b82f61a}.demographic-toggle{color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--gray-50);transition:all var(--t-fast);align-items:center;gap:7px;padding:6px 12px;font-family:Roboto,sans-serif;font-size:12.5px;font-weight:500;display:flex}.demographic-toggle:hover{border-color:var(--blue-400);color:var(--blue-600);background:var(--blue-50)}.demographic-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue-600);cursor:pointer;flex-shrink:0;margin:0}.demographic-ranges{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.general-ranges{display:block}.demographic-group{background:var(--gray-50);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-fast);padding:12px 14px}.demographic-group:hover{border-color:var(--blue-200)}.demographic-group h4{color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin-bottom:10px;font-family:Roboto,sans-serif;font-size:10px;font-weight:600;display:flex}.demographic-group h4:before{content:"";background:var(--blue-400);border-radius:50%;flex-shrink:0;width:6px;height:6px}.range-values,.critical-values{grid-template-columns:1fr 1fr;gap:7px;display:grid}.range-values input,.critical-values input{border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--white);width:100%;color:var(--text-primary);transition:border-color var(--t-base), box-shadow var(--t-base);outline:none;padding:7px 9px;font-family:Roboto,sans-serif;font-size:12px}.range-values input:focus,.critical-values input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #3b82f61a}.range-values input::placeholder,.critical-values input::placeholder{color:var(--text-muted);font-size:10.5px}.form-actions{border-top:1.5px solid var(--border);background:var(--white);border-radius:0 0 var(--r-2xl) var(--r-2xl);flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;padding:24px 28px;display:flex}.form-actions .btn-secondary,.form-actions .btn-primary{min-width:140px;padding:12px 28px}.tests-grid:empty:after,.categories-grid:empty:after,.containers-grid:empty:after{content:"No records found. Add one to get started.";text-align:center;color:var(--text-muted);background:var(--white);border:1.5px dashed var(--border);border-radius:var(--r-xl);grid-column:1/-1;padding:60px 24px;font-family:Roboto,sans-serif;font-size:13.5px}@media (width>=1600px){.tests-grid{grid-template-columns:repeat(4,1fr)}.categories-grid{grid-template-columns:repeat(5,1fr)}}@media (width<=1280px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1100px){.tests-grid{grid-template-columns:repeat(2,1fr)}.categories-grid{grid-template-columns:repeat(3,1fr)}.containers-grid{grid-template-columns:repeat(2,1fr)}.tabs{width:100%;overflow-x:auto}}@media (width<=768px){.lab-test-management{padding:18px 16px}.tests-grid,.containers-grid,.categories-grid,.form-grid{grid-template-columns:repeat(2,1fr)}.demographic-ranges{grid-template-columns:repeat(3,1fr)}.section-header{flex-direction:column;align-items:flex-start}.btn-primary{width:100%}}@media (width<=580px){.lab-test-management{padding:14px 12px}.header h1{font-size:20px}.tabs{border-radius:10px}.tabs button{padding:8px 14px;font-size:12px}.tests-grid,.categories-grid,.containers-grid,.form-grid,.parameter-header,.demographic-ranges{grid-template-columns:1fr}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--r-2xl) var(--r-2xl) 0 0;max-width:100%;max-height:96dvh}.modal-header{border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:16px 18px}.modal-form-content,.category-form,.container-form{padding:16px 18px}.form-actions{flex-direction:column-reverse;padding:16px 18px}.form-actions .btn-primary,.form-actions .btn-secondary{justify-content:center;width:100%}.parameters-header{flex-direction:column;align-items:flex-start}.parameter-buttons{width:100%}.parameter-buttons .btn-ai,.parameter-buttons .btn-secondary{flex:1;justify-content:center}.test-actions{flex-wrap:wrap}}.lab-worklist-page{background:#f8fafc;max-width:1600px;min-height:100vh;margin:0 auto;padding:24px}.worklist-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding:24px 32px;display:flex;box-shadow:0 4px 12px #0f172a08}.worklist-header h1{color:#0f172a;letter-spacing:-.5px;margin-bottom:4px;font-size:28px;font-weight:800}.worklist-header p{color:#64748b;font-size:15px;font-weight:500}.now-serving-banner{color:#fff;background:linear-gradient(135deg,#0d2554 0%,#1e3a8a 100%);border-radius:16px;margin-top:24px;overflow:hidden;box-shadow:0 10px 25px #0d255433}.serving-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;display:flex}.serving-left{flex:1;min-width:280px}.serving-label{text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:8px;font-size:14px;font-weight:600}.serving-main{align-items:center;gap:24px;display:flex}.serving-token{letter-spacing:-1px;font-size:38px;font-weight:800}.serving-name{opacity:.95;font-size:26px;font-weight:400}.serving-right{text-align:right;border-left:1px solid #fff3;padding-left:20px}.pending-count-label{opacity:.7;margin-bottom:4px;font-size:12px}.pending-count-value{font-size:32px;font-weight:700}@media (width<=768px){.serving-content{flex-direction:column;align-items:flex-start;padding:20px}.serving-right{text-align:left;border-top:1px solid #fff3;border-left:none;width:100%;padding-top:16px;padding-left:0}.serving-main{flex-direction:column;align-items:flex-start;gap:8px}.serving-token{font-size:32px}.serving-name{font-size:20px}}.worklist-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.worklist-header-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.worklist-header-bar h3{color:#0f172a;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:700;display:flex}.count-badge{color:#475569;background:#e2e8f0;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.refresh-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .2s;display:flex}.refresh-btn:hover{background:#f3f4f6;border-color:#9ca3af}.empty-state{text-align:center;padding:60px}.empty-icon{margin-bottom:16px;font-size:48px}.empty-state p{color:#6b7280;font-size:14px}.worklist-table-container{overflow-x:auto}.worklist-table{border-collapse:collapse;width:100%}.worklist-table th{text-align:left;color:#fff;text-transform:uppercase;letter-spacing:1px;background:#0d2554;padding:14px 20px;font-size:11px;font-weight:700}.worklist-table th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.worklist-table th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.worklist-table td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:14px}.worklist-table tbody tr{transition:background .2s}.worklist-table tbody tr:hover{background:#f8fafc!important}.worklist-table tbody tr.status-collected{background:#f0f9ff}.worklist-table tbody tr.status-in-progress{background:#faf5ff}.worklist-table tbody tr.status-completed{background:#f0fdf4}.patient-info{flex-direction:column;display:flex}.patient-name{color:#1e293b;font-weight:500}.patient-reg{color:#6b7280;font-size:12px}.test-name-cell{color:#374151;max-width:200px;font-weight:500}.status-badge{color:#fff;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.acknowledge-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.acknowledge-btn:hover{background:#16a34a;transform:translateY(-1px)}.sample-id-text{color:#3b82f6;font-family:monospace;font-size:12px;font-weight:500}.print-preview-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.print-preview-modal{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:24px;box-shadow:0 20px 50px #0003}.print-preview-modal h3{color:#1e293b;text-align:center;margin-bottom:20px}.label-preview{text-align:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;margin-bottom:20px;padding:20px}.label-preview .sample-id{color:#1e293b;margin-bottom:10px;font-family:monospace;font-size:18px;font-weight:700}.label-preview svg{max-width:100%;margin:10px 0}.label-preview .patient-name{color:#374151;margin-top:8px;font-weight:600}.label-preview .test-name{color:#6b7280;margin-top:4px;font-size:12px}.label-preview .dept-info{color:#9ca3af;margin-top:4px;font-size:11px}.preview-actions{gap:12px;display:flex}.preview-actions button{cursor:pointer;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.print-again-btn{color:#fff;background:#0d2554;border:none}.print-again-btn:hover{background:#2563eb}.close-btn{color:#374151;background:#fff;border:1px solid #d1d5db}.close-btn:hover{background:#f3f4f6;transform:none!important}.close{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:24px;transition:color .2s;position:absolute;top:15px;right:20px}.close:hover{color:#111827;transform:none!important}.view-results-btn{color:#fff;cursor:pointer;background:#0d2554;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.view-results-btn:hover{background:#1a3a7a;transform:translateY(-1px)}.complete-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.complete-btn:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e33}.close-preview-btn{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.close-preview-btn:hover{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.results-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 20px 50px #0003}.results-modal h3{color:#1e293b;text-align:center;margin-bottom:16px}.results-header{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px 16px}.results-header p{color:#374151;margin:4px 0;font-size:14px}.results-table{border-collapse:collapse;width:100%;margin-bottom:16px}.results-modal .results-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:12px;font-size:12px;font-weight:600;color:#fff!important;background:#0d2554!important}.results-table tr:hover{background:#f9fafb}tr.flag-high .result-value,tr.flag-h .result-value{color:#ef4444}tr.flag-low .result-value,tr.flag-l .result-value{color:#3b82f6}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@media print{.lab-worklist-page{display:none}}.lab-verification-page{max-width:1400px;margin:0 auto;padding:24px}.verification-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.verification-header h1{color:#1e293b;margin:0;font-size:24px;font-weight:600}.filter-section{align-items:center;gap:12px;display:flex}.filter-section label{color:#4b5563;font-size:14px;font-weight:500}.filter-section select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:14px}.refresh-btn{color:#fff;cursor:pointer;background:#0d2554;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.refresh-btn:hover{background:#1a3a7a}.tests-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.tests-table{border-collapse:collapse;width:100%}.tests-table th{text-align:left;color:#374151;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;padding:16px;font-size:13px;font-weight:600}.tests-table td{color:#4b5563;border-bottom:1px solid #e5e7eb;padding:16px;font-size:14px}.tests-table tr:hover{background:#f9fafb}.tests-table tr.status-test-done{background:#ecfeff}.tests-table tr.status-verified{background:#f5f3ff}.tests-table tr.status-approved{background:#f0fdf4}.sample-id{color:#1e293b;font-family:monospace;font-weight:600}.status-badge{color:#fff;text-transform:uppercase;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}.verify-btn{color:#fff;cursor:pointer;background:#0d2554;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.verify-btn:hover{background:#1a3a7a;transform:translateY(-1px);box-shadow:0 4px 12px #0d255433}.approve-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.approve-btn:hover{background:#16a34a;transform:translateY(-1px)}.approved-text{color:#22c55e;font-weight:600}.no-data{text-align:center;color:#6b7280;padding:48px;font-style:italic}.verification-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0003}.verification-modal h2{color:#fff;background:#0d2554;margin:0;padding:24px;font-size:20px}.test-details{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:24px}.test-details p{color:#4b5563;margin:8px 0;font-size:14px}.test-details strong{color:#1e293b}.results-section{padding:24px}.results-section h3{color:#1e293b;margin:0 0 16px;font-size:16px}.results-table{border-collapse:collapse;width:100%}.results-table th{text-align:left;color:#fff;text-transform:uppercase;background:#0d2554;padding:12px;font-size:12px;font-weight:600}.results-table td{border-bottom:1px solid #e5e7eb;padding:12px;font-size:14px}.result-value{color:#1e293b;font-weight:700}tr.flag-high .result-value,tr.flag-h .result-value,tr.flag-High .result-value{color:red;font-weight:800}tr.flag-low .result-value,tr.flag-l .result-value,tr.flag-Low .result-value{color:#00f;font-weight:800}.flag-badge{text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}.flag-badge.normal{color:#166534;background:#dcfce7}.flag-badge.low,.flag-badge.l{color:#1e40af;background:#eff6ff}.flag-badge.high,.flag-badge.h{color:#991b1b;background:#fef2f2}.flag-badge.critical{color:#7f1d1d;background:#fecaca;animation:1s infinite pulse}tr.flag-low,tr.flag-l{background:#f8fafc}tr.flag-high,tr.flag-h{background:#fffcfc}tr.flag-critical{background:#fef2f2}.verification-notes{padding:0 24px 24px}.verification-notes label{color:#374151;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.verification-notes textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:14px}.verification-notes textarea:focus{border-color:#0d2554;outline:none;box-shadow:0 0 0 3px #0d25541a}.modal-actions{gap:16px;padding:0 24px 24px;display:flex}.verify-submit-btn{color:#fff;cursor:pointer;background:#0d2554;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.verify-submit-btn:hover{background:#1a3a7a;transform:translateY(-1px);box-shadow:0 4px 12px #0d255433}.btn-modal-cancel{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:12px;font-family:Roboto,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-modal-cancel:hover{color:#b91c1c;background:#fee2e2;border-color:#fecaca}:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--blue-950:#172554;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-150:#edf2f7;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--ok-bg:#f0fdf4;--ok-text:#14532d;--ok-border:#86efac;--ok-strong:#16a34a;--high-bg:#fff1f2;--high-text:#881337;--high-border:#fda4af;--high-strong:red;--low-bg:#eff6ff;--low-text:#1e40af;--low-border:#bfdbfe;--low-strong:#00f;--crit-bg:#1e1b4b;--crit-text:#c4b5fd;--crit-border:#7c3aed;--bg-base:#f0f5fb;--bg-surface:#fff;--bg-sunken:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-muted:var(--slate-400);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 14px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 10px 32px #0f172a1a, 0 4px 8px #0f172a0d;--shadow-xl:0 24px 64px #0f172a24, 0 8px 20px #0f172a12;--shadow-blue:0 4px 16px #2563eb3d, 0 1px 4px #2563eb1f;--ease-out:cubic-bezier(0,0,.2,1);--ease-spring:cubic-bezier(.34,1.48,.64,1);--t-fast:.13s var(--ease-out);--t-base:.2s var(--ease-out);--t-spring:.28s var(--ease-spring)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-300)}::selection{color:var(--blue-900);background:#3b82f624}.lab-report-download-page{max-width:1500px;color:var(--text-primary);animation:lrd-page-in .38s var(--ease-out) both;margin:0 auto;padding:24px 32px 48px;font-family:Roboto,-apple-system,sans-serif}@keyframes lrd-page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.report-header-section{border-bottom:1.5px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;padding-bottom:16px;display:flex}.report-header-section h1{color:var(--text-primary);letter-spacing:-.035em;align-items:center;gap:11px;margin:0 0 4px;font-family:Roboto,sans-serif;font-size:clamp(20px,2vw,28px);font-weight:800;line-height:1.1;display:flex}.report-header-section h1:before{content:"";border-radius:var(--r-md);background:#0d2554 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14,2 14,8 20,8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10,9 9,9 8,9'/%3E%3C/svg%3E") 50% no-repeat;flex-shrink:0;width:32px;height:32px;display:inline-flex;box-shadow:0 4px 12px #0d255433}.subtitle{color:var(--text-muted);margin:0;font-size:13px;font-style:italic}.search-section{background:var(--bg-surface);border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);margin-bottom:20px;padding:16px 20px}.search-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.filter-group{flex-direction:column;gap:5px;display:flex}.filter-group label{color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;font-family:Roboto,sans-serif;font-size:10.5px;font-weight:600}.filter-group input{border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);background:var(--bg-sunken);transition:border-color var(--t-base), box-shadow var(--t-base), background var(--t-fast);outline:none;min-width:200px;padding:9px 12px;font-family:Roboto,sans-serif;font-size:13px}.search-input{min-width:260px}.filter-group input::placeholder{color:var(--text-muted);font-size:12.5px;font-style:italic}.filter-group input:hover:not(:focus){border-color:var(--slate-300);background:#fff}.filter-group input:focus{border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px #3b82f61a}.search-btn,.reset-btn{border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);white-space:nowrap;border:none;outline:none;align-self:flex-end;align-items:center;gap:6px;height:fit-content;padding:9px 18px;font-family:Roboto,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.search-btn{color:#fff;background:#0d2554;box-shadow:0 4px 12px #0d255433}.search-btn:hover{background:#1a3a7a;transform:translateY(-1px);box-shadow:0 6px 20px #0d25544d}.reset-btn{background:var(--bg-sunken);color:var(--text-secondary);border:1.5px solid var(--border)}.reset-btn:hover{border-color:var(--slate-300);color:var(--text-primary);background:var(--slate-100);transform:translateY(-1px)}.reports-table-container{background:var(--bg-surface);border-radius:var(--r-xl);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.table-toolbar{border-bottom:1.5px solid var(--border);background:var(--slate-50);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.table-toolbar-actions{gap:10px;display:flex}.toolbar-export-btn,.toolbar-download-all-btn{border:1.5px solid var(--border);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background:#fff;outline:none;align-items:center;gap:8px;padding:7px 16px;font-family:Roboto,sans-serif;font-size:11.5px;font-weight:700;display:inline-flex}.toolbar-export-btn:hover{background:var(--slate-100);border-color:var(--slate-300);color:var(--text-primary);transform:translateY(-1px)}.toolbar-download-all-btn{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-200)}.toolbar-download-all-btn:hover{background:var(--blue-600);color:#fff;border-color:var(--blue-600);box-shadow:var(--shadow-blue);transform:translateY(-1px)}.table-toolbar-title{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:8px;font-family:Roboto,sans-serif;font-size:14px;font-weight:700;display:flex}.table-result-count{color:var(--text-muted);background:var(--slate-100);border:1px solid var(--border);border-radius:var(--r-full);padding:2px 10px;font-family:Roboto,sans-serif;font-size:10.5px;font-weight:500}.reports-table{border-collapse:collapse;width:100%;font-size:13.5px}.reports-table thead{z-index:2;position:sticky;top:0}.reports-table th{text-align:left;background:var(--slate-50);color:var(--slate-500);text-transform:uppercase;letter-spacing:.1em;border-bottom:1.5px solid var(--border);white-space:nowrap;padding:12px 16px;font-family:Roboto,sans-serif;font-size:10px;font-weight:600}.reports-table th:first-child{padding-left:20px}.reports-table th:last-child{text-align:right;padding-right:20px}.reports-table tbody tr{border-bottom:1px solid var(--slate-100);transition:background var(--t-fast)}.reports-table tbody tr:last-child{border-bottom:none}.reports-table tbody tr:hover{background:var(--blue-50)}.reports-table td{color:var(--text-secondary);vertical-align:middle;padding:13px 16px}.reports-table td:first-child{padding-left:20px}.reports-table td:last-child{text-align:right;padding-right:20px}.sample-id{color:var(--blue-800);background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--r-sm);letter-spacing:.04em;padding:3px 9px;font-family:Roboto,sans-serif;font-size:12.5px;font-weight:600;display:inline-block}.patient-name-cell{color:var(--text-primary);font-size:13.5px;font-weight:600}.date-cell{color:var(--text-muted);font-family:Roboto,sans-serif;font-size:12px}.view-btn{background:var(--ok-bg);color:var(--ok-text);border:1.5px solid var(--ok-border);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);white-space:nowrap;outline:none;align-items:center;gap:6px;padding:7px 16px;font-family:Roboto,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.no-data,.loading{text-align:center;color:var(--text-muted);letter-spacing:.03em;padding:56px 24px;font-family:Roboto,sans-serif;font-size:13px}.loading{font-style:italic;animation:1.5s ease-in-out infinite lrd-pulse}@keyframes lrd-pulse{0%,to{opacity:1}50%{opacity:.45}}.modal-overlay{-webkit-backdrop-filter:blur(10px)saturate(.9);z-index:99999;isolation:isolate;background:#0912288c;justify-content:center;align-items:center;padding:20px;animation:.16s both lrd-overlay-in;display:flex;position:fixed;inset:0}@keyframes lrd-overlay-in{0%{opacity:0}to{opacity:1}}.report-modal{border-radius:var(--r-2xl);width:100%;max-width:920px;max-height:92dvh;box-shadow:var(--shadow-xl), 0 0 0 1px #2563eb12;animation:lrd-modal-in .28s var(--ease-spring) both;scrollbar-width:thin;scrollbar-color:var(--border) transparent;z-index:100000;background:#fff;position:relative;overflow-y:auto}@keyframes lrd-modal-in{0%{opacity:0;transform:scale(.96)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{background:var(--slate-800);border-radius:var(--r-2xl) var(--r-2xl) 0 0;z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex;position:sticky;top:0}.modal-header h2{color:#fff;letter-spacing:-.015em;align-items:center;gap:9px;margin:0;font-family:Roboto,sans-serif;font-size:16px;font-weight:700;display:flex}.modal-header h2:before{content:"";border-radius:var(--r-sm);background:#ffffff1f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14,2 14,8 20,8'/%3E%3C/svg%3E") 50% no-repeat;border:1px solid #ffffff2e;flex-shrink:0;width:22px;height:22px;display:inline-block}.modal-actions{align-items:center;gap:8px;display:flex}.download-btn,.print-btn{border-radius:var(--r-full);cursor:pointer;transition:all var(--t-spring);white-space:nowrap;border:none;outline:none;align-items:center;gap:6px;padding:7px 16px;font-family:Roboto,sans-serif;font-size:12.5px;font-weight:600;display:inline-flex}.download-btn{background:var(--blue-600);color:#fff;box-shadow:var(--shadow-blue)}.download-btn:hover{background:var(--blue-700);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb52}.print-btn{color:#ffffffd9;background:#ffffff1a;border:1.5px solid #ffffff2e}.print-btn:hover{color:#fff;background:#ffffff2e;transform:translateY(-1px)}.close-modal-btn{border-radius:var(--r-md);color:#ffffffb3;cursor:pointer;width:30px;height:30px;transition:all var(--t-fast);background:#ffffff14;border:1.5px solid #ffffff24;outline:none;flex-shrink:0;justify-content:center;align-items:center;font-family:sans-serif;font-size:16px;line-height:1;display:flex}.close-modal-btn:hover{color:#fb7185;background:#f43f5e2e;border-color:#f43f5e59;transform:rotate(90deg)}.report-preview{background:#fff;padding:40px 44px;font-family:Roboto,sans-serif}.report-header{border-bottom:3px solid var(--slate-800);grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:20px;display:grid;position:relative}.report-header:before{content:"";background:linear-gradient(90deg, var(--blue-600) 0%, var(--blue-400) 50%, transparent 100%);height:4px;position:absolute;top:-40px;left:-44px;right:-44px}.hospital-logo-placeholder{background:var(--slate-800);border-radius:var(--r-md);color:#ffffff80;letter-spacing:.1em;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-family:Roboto,sans-serif;font-size:10px;font-weight:800;display:flex}.hospital-info{flex:1}.hospital-name{color:var(--slate-900);letter-spacing:-.03em;margin-bottom:4px;font-family:Roboto,sans-serif;font-size:22px;font-weight:800;line-height:1.1}.hospital-address{color:var(--text-muted);font-size:12px;line-height:1.6}.report-meta-box{text-align:right;flex-shrink:0}.report-title{color:var(--blue-600);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;font-family:Roboto,sans-serif;font-size:13px;font-weight:700}.report-id-badge{color:var(--slate-500);background:var(--slate-100);border:1px solid var(--border);border-radius:var(--r-sm);letter-spacing:.06em;padding:2px 8px;font-family:Roboto,sans-serif;font-size:10px;font-weight:600;display:inline-block}.section{margin-bottom:24px}.section-title{color:var(--blue-700);text-transform:uppercase;letter-spacing:.14em;background:var(--blue-50);border-left:3px solid var(--blue-500);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:14px;padding:8px 12px;font-family:Roboto,sans-serif;font-size:9.5px;font-weight:700}.info-grid{grid-template-columns:repeat(3,1fr);gap:10px 32px;display:grid}.info-row{flex-direction:column;gap:2px;display:flex}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:Roboto,sans-serif;font-size:9px;font-weight:600}.info-value{color:var(--text-primary);font-size:13.5px;font-weight:600}.results-table{border-collapse:collapse;width:100%;font-size:13px}.results-table thead tr{background:var(--slate-800)}.results-table th{text-align:left;color:#fff9;text-transform:uppercase;letter-spacing:.12em;border:none;padding:10px 12px;font-family:Roboto,sans-serif;font-size:9px;font-weight:600}.results-table th:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm);padding-left:16px}.results-table th:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0;padding-right:16px}.results-table tbody tr{border-bottom:1px solid var(--slate-100);transition:background var(--t-fast)}.results-table tbody tr:hover{background:var(--slate-50)}.results-table tbody tr:last-child{border-bottom:none}.results-table td{vertical-align:middle;padding:12px}.results-table td:first-child{padding-left:16px}.results-table td:last-child{padding-right:16px}.result-value{color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700}.result-value.normal,.result-value.n{color:var(--ok-strong)}.result-value.low,.result-value.l{color:var(--low-strong)}.result-value.high,.result-value.h{color:var(--high-strong)}.result-value.critical,.result-value.c{color:var(--crit-border);font-weight:800;animation:2s ease-in-out infinite lrd-critical-blink}@keyframes lrd-critical-blink{0%,to{opacity:1}50%{opacity:.6}}.flag-badge{border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.08em;border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-family:Roboto,sans-serif;font-size:9.5px;font-weight:700;display:inline-flex}.flag-badge.normal{background:var(--ok-bg);color:var(--ok-text);border-color:var(--ok-border)}.flag-badge.low{background:var(--low-bg);color:var(--low-text);border-color:var(--low-border)}.flag-badge.high{background:var(--high-bg);color:var(--high-text);border-color:var(--high-border)}.flag-badge.critical{background:var(--crit-bg);color:var(--crit-text);border-color:var(--crit-border)}.reference-range{color:var(--text-muted);font-family:Roboto,sans-serif;font-size:11.5px}.notes-text{background:var(--blue-50);border-left:3px solid var(--blue-400);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--text-secondary);margin:0;padding:14px 16px;font-size:13px;font-style:italic;line-height:1.65}.footer{border-top:1.5px solid var(--border);margin-top:32px;padding-top:20px}.audit-row{flex-wrap:wrap;gap:32px;margin-bottom:6px;display:flex}.audit-item{align-items:baseline;gap:8px;font-size:12.5px;display:flex}.info-label.verified-by{color:#7c3aed;text-transform:uppercase;letter-spacing:.1em;font-family:Roboto,sans-serif;font-size:9px;font-weight:700}.info-value.approved-by{color:var(--ok-strong);font-weight:600}.signature-section{justify-content:space-between;margin-top:56px;padding:0 24px;display:flex}.signature-box{text-align:center;min-width:180px}.signature-line{border-top:1px solid var(--slate-400);color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:52px;padding-top:8px;font-family:Roboto,sans-serif;font-size:10.5px;font-weight:600}.report-footer-note{text-align:center;border-top:1px dashed var(--slate-200);color:var(--text-muted);letter-spacing:.03em;margin-top:32px;padding-top:16px;font-family:Roboto,sans-serif;font-size:11px}.report-footer-note p{margin:3px 0}@media (width<=1280px){.lab-report-download-page{padding:20px 24px 40px}.info-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=960px){.report-header{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.report-meta-box{text-align:left;grid-column:1/-1}}@media (width<=768px){.lab-report-download-page{padding:14px 14px 32px}.search-filters{flex-direction:column;align-items:stretch}.filter-group input{min-width:unset;width:100%}.search-input{min-width:unset}.search-btn,.reset-btn{justify-content:center;width:100%}.info-grid{grid-template-columns:1fr 1fr;gap:10px 20px}.report-preview{padding:24px 22px}.modal-overlay{align-items:flex-end;padding:0}.report-modal{border-radius:var(--r-2xl) var(--r-2xl) 0 0;max-width:100%;max-height:96dvh}.modal-header{border-radius:var(--r-2xl) var(--r-2xl) 0 0}.signature-section{gap:20px;padding:0 8px}}@media (width<=580px){.info-grid{grid-template-columns:1fr}.modal-actions{gap:6px}.download-btn,.print-btn{padding:6px 12px;font-size:12px}.reports-table th:nth-child(3),.reports-table td:nth-child(3){display:none}.audit-row{flex-direction:column;gap:10px}}@media print{.modal-overlay{background:#fff;padding:0;display:block;position:static}.report-modal{max-height:none;box-shadow:none;border:none;border-radius:0}.modal-header{display:none!important}.report-preview{padding:16px 20px;font-size:12px}.report-header:before{display:none}.hospital-name{font-size:18px}.results-table thead tr{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#1e293b!important}.section-title,.flag-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.signature-section{margin-top:32px}.report-footer-note{margin-top:20px}@page{margin:18mm 14mm;size:A4}}.inv-vendor-page{background:var(--sys-bg);font-family:var(--font-sans);flex:1;padding:32px;overflow-y:auto}.inv-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.inv-title{font-family:var(--font-display);color:var(--text-dark);font-size:28px;font-weight:700}.inv-subtitle{color:var(--text-soft);margin-top:4px;font-size:14px}.inv-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#ffffffb3;border:1px solid #ffffff80;overflow:hidden}.inv-toolbar{border-bottom:1px solid var(--border-light);background:#ffffff80;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.inv-search{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);width:320px;transition:box-shadow var(--transition);align-items:center;padding:8px 16px;display:flex}.inv-search:focus-within{box-shadow:0 0 0 2px var(--blue-pale);border-color:var(--blue-primary)}.inv-search input{width:100%;color:var(--text-dark);background:0 0;border:none;outline:none;margin-left:8px;font-size:14px}.inv-table{border-collapse:collapse;width:100%}.inv-table th{text-align:left;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;background:#f0f6ff80;padding:16px 24px;font-size:12px;font-weight:600}.inv-table td{color:var(--text-mid);border-bottom:1px solid var(--border-light);padding:16px 24px;font-size:14px}.inv-table tr:hover td{background:#ffffffe6}.inv-table tr:last-child td{border-bottom:none}.inv-badge{border-radius:20px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.inv-badge.active{color:#059669;background:#ecfdf5}.inv-badge.inactive{color:#dc2626;background:#fef2f2}.inv-badge.blacklisted{color:#475569;background:#f1f5f9}.btn-primary{background:var(--blue-primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);box-shadow:var(--shadow-sm);border:none;padding:10px 20px;font-size:14px;font-weight:600}.btn-primary:hover{background:var(--blue-light);transform:translateY(-1px)}.inv-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f1f3366;justify-content:flex-end;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.inv-drawer{background:var(--bg-white);flex-direction:column;width:500px;height:100vh;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex;box-shadow:-4px 0 24px #0000001a}.inv-drawer-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:24px;display:flex}.inv-drawer-header h2{font-family:var(--font-display);color:var(--text-dark);font-size:20px}.inv-drawer-close{color:var(--text-soft);cursor:pointer;transition:color var(--transition);background:0 0;border:none;font-size:24px}.inv-drawer-close:hover{color:var(--text-dark)}.inv-drawer-body{flex:1;padding:24px;overflow-y:auto}.inv-modal{background:var(--bg-white);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:90vh;margin:auto;animation:.3s cubic-bezier(.16,1,.3,1) modalScaleIn;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}.inv-modal-header{border-bottom:1px solid var(--border-light);background:#fffffff2;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.inv-modal-header h2{font-family:var(--font-display);color:var(--text-dark);margin:0;font-size:20px}.inv-modal-close{color:var(--text-soft);cursor:pointer;transition:color var(--transition);background:0 0;border:none;font-size:24px;line-height:1}.inv-modal-close:hover{color:var(--text-dark)}.inv-modal-body{flex:1;padding:24px;overflow-y:auto}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.inv-drawer-footer{border-top:1px solid var(--border-light);background:var(--bg-surface);justify-content:flex-end;gap:12px;padding:24px;display:flex}.inv-form-group{margin-bottom:20px}.inv-form-group label{color:var(--text-label);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.inv-input,.inv-select,.inv-textarea{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;font-family:var(--font-sans);color:var(--text-dark);transition:all var(--transition);padding:10px 14px;font-size:14px}.inv-input:focus,.inv-select:focus,.inv-textarea:focus{border-color:var(--blue-primary);background:var(--bg-white);outline:none;box-shadow:0 0 0 3px #1a6fd426}.inv-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.action-btn{color:var(--text-soft);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;padding:4px}.action-btn:hover{background:var(--blue-pale);color:var(--blue-primary)}:root{--primary:#4f46e5;--primary-dark:#3730a3;--primary-light:#eef2ff;--primary-mid:#c7d2fe;--success:#059669;--success-light:#d1fae5;--success-mid:#6ee7b7;--danger:#dc2626;--danger-light:#fee2e2;--warning:#d97706;--warning-light:#fef3c7;--info:#2563eb;--info-light:#dbeafe;--neutral-50:#f8fafc;--neutral-100:#f1f5f9;--neutral-200:#e2e8f0;--neutral-300:#cbd5e1;--neutral-400:#94a3b8;--neutral-500:#64748b;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1e293b;--neutral-900:#0f172a;--white:#fff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000012, 0 2px 6px #0000000d;--shadow-lg:0 10px 30px #00000017, 0 4px 12px #0000000f;--shadow-glow:0 0 0 3px #4f46e52e;--transition:all .22s cubic-bezier(.4, 0, .2, 1);--font:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.billings-container{font-family:var(--font);max-width:1440px;color:var(--neutral-800);background:var(--neutral-50);min-height:100vh;margin:0 auto;padding:28px 32px 60px}.billings-container h1{color:var(--neutral-900);letter-spacing:-.4px;align-items:center;gap:12px;margin-bottom:28px;font-size:26px;font-weight:700;display:flex}.billings-container h1:before{content:"";background:linear-gradient(180deg, var(--primary), var(--primary-dark));border-radius:var(--radius-pill);width:4px;height:28px;display:inline-block}.billing-tabs{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);width:fit-content;box-shadow:var(--shadow-sm);gap:4px;margin-bottom:28px;padding:5px;display:flex}.billing-tabs button{border-radius:var(--radius-md);cursor:pointer;color:var(--neutral-500);transition:var(--transition);white-space:nowrap;letter-spacing:.1px;background:0 0;border:none;padding:10px 26px;font-size:13.5px;font-weight:500}.billing-tabs button:hover{background:var(--neutral-100);color:var(--neutral-700)}.billing-tabs button.active{background:var(--primary);color:var(--white);box-shadow:0 2px 8px #4f46e559}.billing-content{flex-direction:column;gap:20px;display:flex}.section{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--neutral-200);box-shadow:var(--shadow-sm);transition:var(--transition);padding:24px 28px}.section:hover{box-shadow:var(--shadow-md)}.section h2{color:var(--neutral-800);border-bottom:1px solid var(--neutral-200);letter-spacing:-.1px;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:14px;font-size:15px;font-weight:600;display:flex}.section h2:before{content:"";background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.section h3{color:var(--neutral-700);letter-spacing:.2px;text-transform:uppercase;margin-bottom:14px;font-size:11.5px;font-weight:600}.patient-search select{border:1.5px solid var(--neutral-200);border-radius:var(--radius-md);width:100%;font-size:14px;font-family:var(--font);color:var(--neutral-800);background:var(--neutral-50);appearance:none;cursor:pointer;transition:var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding:11px 14px}.patient-search select:hover{border-color:var(--neutral-300)}.patient-search select:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);background-color:var(--white);outline:none}.patient-info{background:linear-gradient(135deg, var(--primary-light), #f0f4ff);border-radius:var(--radius-md);border:1px solid var(--primary-mid);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 20px;margin-top:14px;padding:18px 20px;display:grid}.patient-info p{color:var(--neutral-700);align-items:baseline;gap:6px;font-size:13.5px;display:flex}.patient-info p strong{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.4px;min-width:72px;font-size:12px;font-weight:600}.services-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;display:grid}.service-category{background:var(--neutral-50);border-radius:var(--radius-md);border:1px solid var(--neutral-200);padding:18px}.service-list{flex-direction:column;gap:8px;max-height:320px;padding-right:4px;display:flex;overflow-y:auto}.service-list::-webkit-scrollbar{width:5px}.service-list::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:var(--radius-pill)}.service-list::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-pill)}.service-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.service-item{background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:1px solid var(--neutral-200);align-items:center;gap:10px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.service-item:before{content:"";background:var(--primary);opacity:0;width:3px;transition:var(--transition);position:absolute;top:0;bottom:0;left:0}.service-item:hover{border-color:var(--primary-mid);transform:translateY(-1px);box-shadow:0 2px 8px #4f46e51a}.service-item:hover:before{opacity:1}.service-item:active{transform:translateY(0)}.service-name{color:var(--neutral-800);flex:1;font-size:13.5px;font-weight:500}.service-code{color:var(--neutral-500);background:var(--neutral-100);border-radius:var(--radius-sm);letter-spacing:.5px;padding:3px 8px;font-family:SF Mono,Fira Code,monospace;font-size:11px;font-weight:600}.service-price{color:var(--success);text-align:right;min-width:56px;font-size:13.5px;font-weight:700}.add-btn{background:var(--primary);color:var(--white);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;letter-spacing:.2px;border:none;padding:6px 12px;font-size:12px;font-weight:600}.add-btn:hover{background:var(--primary-dark);transform:scale(1.03)}.add-btn:active{transform:scale(.97)}.selected-services h2{margin-bottom:20px}.services-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--neutral-200);width:100%;margin-bottom:24px;overflow:hidden}.services-table th{background:var(--neutral-800);color:var(--neutral-200);letter-spacing:.6px;text-transform:uppercase;text-align:left;white-space:nowrap;padding:13px 14px;font-size:11px;font-weight:600}.services-table th:first-child{border-radius:0}.services-table td{color:var(--neutral-700);border-bottom:1px solid var(--neutral-100);background:var(--white);vertical-align:middle;padding:13px 14px;font-size:13.5px}.services-table tbody tr:last-child td{border-bottom:none}.services-table tbody tr:hover td{background:var(--neutral-50)}.qty-input{border:1.5px solid var(--neutral-200);border-radius:var(--radius-sm);text-align:center;width:64px;font-size:13.5px;font-family:var(--font);color:var(--neutral-800);transition:var(--transition);background:var(--neutral-50);padding:7px 10px;font-weight:500}.qty-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);background:var(--white);outline:none}.remove-btn{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #fca5a5;padding:6px 12px;font-size:12px;font-weight:600}.remove-btn:hover{background:var(--danger);color:var(--white);border-color:var(--danger);transform:scale(1.03)}.lab-select{border:1.5px solid var(--primary-mid);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-dark);font-size:12.5px;font-family:var(--font);cursor:pointer;appearance:none;min-width:200px;transition:var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:7px 32px 7px 10px;font-weight:500}.lab-select:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);outline:none}.lab-select option{background:var(--white);color:var(--neutral-800);font-size:12.5px}.billing-summary{background:var(--neutral-50);border-radius:var(--radius-md);border:1px solid var(--neutral-200);margin-top:8px;padding:24px}.discount-row,.payment-method-row,.notes-row{grid-template-columns:160px 1fr;align-items:center;gap:14px;margin-bottom:16px;display:grid}.discount-row label,.payment-method-row label,.notes-row label{color:var(--neutral-600);letter-spacing:.1px;white-space:nowrap;font-size:13px;font-weight:600}.discount-row input,.payment-method-row select,.notes-row textarea{border:1.5px solid var(--neutral-200);border-radius:var(--radius-md);font-size:14px;font-family:var(--font);color:var(--neutral-800);background:var(--white);transition:var(--transition);width:100%;padding:10px 14px}.payment-method-row select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}.discount-row input:focus,.payment-method-row select:focus,.notes-row textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);outline:none}.notes-row{align-items:flex-start}.notes-row textarea{resize:vertical;min-height:88px;line-height:1.6}.totals-row{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--neutral-200);flex-direction:column;gap:8px;margin-top:20px;padding:18px 20px;display:flex}.totals-row p{color:var(--neutral-600);border-bottom:1px dashed var(--neutral-200);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:14px;display:flex}.totals-row p:last-child{border-bottom:none;padding-bottom:0}.net-amount{margin-top:4px;padding-top:10px;color:var(--success)!important;border-bottom:none!important;font-size:18px!important;font-weight:700!important}.lab-summary{border-radius:var(--radius-md);background:#f0f9ff;border:1px solid #bae6fd;margin-top:18px;padding:18px 20px}.lab-summary h4{color:#0369a1;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:12px;font-weight:700}.lab-assignment{border-bottom:1px dashed #bae6fd;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.lab-assignment:last-child{border-bottom:none;padding-bottom:0}.lab-assignment .test-name{color:var(--neutral-800);flex:1;font-weight:600}.lab-assignment .arrow{color:var(--neutral-400);font-size:16px}.lab-assignment .lab-name{color:#0369a1;border-radius:var(--radius-pill);background:#e0f2fe;padding:3px 10px;font-size:12px;font-weight:600}.action-buttons{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.btn-primary{background:var(--primary);color:var(--white);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);letter-spacing:.2px;transition:var(--transition);border:none;padding:12px 28px;position:relative;overflow:hidden;box-shadow:0 2px 8px #4f46e54d}.btn-primary:after{content:"";opacity:0;transition:var(--transition);background:#fff;position:absolute;inset:0}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #4f46e566}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px #4f46e54d}.btn-primary:disabled{background:var(--neutral-300);color:var(--neutral-400);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--white);color:var(--neutral-700);border:1.5px solid var(--neutral-300);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);transition:var(--transition);padding:12px 28px}.btn-secondary:hover{background:var(--neutral-100);border-color:var(--neutral-400);color:var(--neutral-800)}.btn-secondary:active{transform:scale(.98)}.bill-receipt{border:2px solid var(--primary);position:relative}.bill-receipt:before{content:"Receipt";background:var(--primary);color:var(--white);letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-pill);padding:3px 12px;font-size:11px;font-weight:700;position:absolute;top:-14px;left:28px}.receipt-actions{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.receipt-content{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--neutral-200);padding:30px}.receipt-header{text-align:center;border-bottom:2px dashed var(--neutral-200);margin-bottom:28px;padding-bottom:20px}.receipt-header h3{color:var(--neutral-900);text-transform:none;letter-spacing:-.3px;margin-bottom:8px;font-size:22px;font-weight:700}.receipt-header p{color:var(--neutral-500);margin:4px 0;font-size:13.5px}.receipt-patient{background:var(--neutral-50);border-radius:var(--radius-md);border:1px solid var(--neutral-200);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 16px;margin-bottom:24px;padding:16px 20px;display:grid}.receipt-patient h4{color:var(--neutral-700);text-transform:uppercase;letter-spacing:.6px;grid-column:1/-1;margin-bottom:10px;font-size:12px;font-weight:700}.receipt-patient p{color:var(--neutral-600);margin:0;font-size:13.5px}.receipt-table{border-collapse:separate;border-spacing:0;border:1px solid var(--neutral-200);border-radius:var(--radius-md);width:100%;margin:0 0 24px;overflow:hidden}.receipt-table th{background:var(--neutral-800);color:var(--neutral-200);letter-spacing:.6px;text-transform:uppercase;text-align:left;padding:12px 14px;font-size:11px;font-weight:700}.receipt-table td{border-bottom:1px solid var(--neutral-100);color:var(--neutral-700);padding:11px 14px;font-size:13.5px}.receipt-table tbody tr:last-child td{border-bottom:none}.receipt-table tbody tr:hover td{background:var(--neutral-50)}.receipt-totals{text-align:right;background:var(--neutral-50);border-radius:var(--radius-md);border:1px solid var(--neutral-200);padding:18px 20px}.receipt-totals p{color:var(--neutral-600);margin:6px 0;font-size:14px}.receipt-totals .net{color:var(--success);border-top:2px solid var(--neutral-200);margin-top:12px;padding-top:12px;font-size:20px;font-weight:700}.lab-codes-section{border-radius:var(--radius-md);background:#f0fdf4;border:2px dashed #86efac;margin-top:28px;padding:22px}.lab-codes-section h4{color:#166534;text-transform:uppercase;letter-spacing:.6px;margin-bottom:16px;font-size:12px;font-weight:700}.barcode-display,.qr-display{text-align:center;margin:16px 0}.barcode-display p,.qr-display p{color:#166534;margin-bottom:10px;font-size:13px;font-weight:600}.qr-display img{border-radius:var(--radius-md);background:var(--white);border:2px solid #86efac;max-width:180px;padding:8px}.receipt-footer{text-align:center;border-top:1px dashed var(--neutral-200);color:var(--neutral-400);margin-top:28px;padding-top:20px;font-size:12.5px}.bill-history h2{margin-bottom:20px}.history-table{border-collapse:separate;border-spacing:0;border:1px solid var(--neutral-200);border-radius:var(--radius-md);width:100%;overflow:hidden}.history-table th{background:var(--neutral-800);color:var(--neutral-200);letter-spacing:.6px;text-transform:uppercase;text-align:left;white-space:nowrap;padding:14px 16px;font-size:11px;font-weight:700}.history-table td{color:var(--neutral-700);border-bottom:1px solid var(--neutral-100);background:var(--white);vertical-align:middle;padding:14px 16px;font-size:13.5px}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover td{background:var(--neutral-50)}.status-badge{border-radius:var(--radius-pill);letter-spacing:.4px;text-transform:uppercase;padding:4px 12px;font-size:11.5px;font-weight:700;display:inline-block}.status-badge.pending{background:var(--warning-light);color:var(--warning);border:1px solid #fcd34d}.status-badge.paid{background:var(--success-light);color:var(--success);border:1px solid var(--success-mid)}.status-badge.partial{background:var(--info-light);color:var(--info);border:1px solid #93c5fd}.status-badge.cancelled{background:var(--danger-light);color:var(--danger);border:1px solid #fca5a5}.view-btn{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid);border-radius:var(--radius-sm);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font);transition:var(--transition);padding:7px 14px}.view-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #4f46e540}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.payment-modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg), 0 0 0 1px #0000000f;padding:32px;animation:.22s cubic-bezier(.4,0,.2,1) slideUp}.payment-modal h3{color:var(--neutral-900);letter-spacing:-.2px;margin-bottom:6px;font-size:18px;font-weight:700}.payment-modal>p{color:var(--neutral-500);margin:4px 0;font-size:13.5px;line-height:1.6}.payment-modal>p:last-of-type{border-bottom:1px solid var(--neutral-200);margin-bottom:20px;padding-bottom:20px}.payment-form{flex-direction:column;gap:16px;margin:18px 0;display:flex}.payment-form label{color:var(--neutral-600);letter-spacing:.2px;margin-bottom:-8px;font-size:12.5px;font-weight:600}.payment-form input,.payment-form select{border:1.5px solid var(--neutral-200);border-radius:var(--radius-md);width:100%;font-size:14px;font-family:var(--font);color:var(--neutral-800);background:var(--neutral-50);transition:var(--transition);padding:11px 14px}.payment-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}.payment-form input:focus,.payment-form select:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);background:var(--white);outline:none}.modal-actions{gap:12px;margin-top:24px;display:flex}.modal-actions .btn-primary,.modal-actions .btn-secondary{text-align:center;flex:1}@media (width>=768px) and (width<=1024px){.billings-container{padding:22px 24px 48px}.billings-container h1{font-size:22px}.services-grid{grid-template-columns:1fr}.services-table th:nth-child(3),.services-table td:nth-child(3){display:none}.billing-tabs{width:100%}.billing-tabs button{text-align:center;flex:1}.discount-row,.payment-method-row{grid-template-columns:130px 1fr}.action-buttons{flex-direction:row}.history-table th:nth-child(3),.history-table td:nth-child(3){display:none}}@media (width<=767px){.billings-container{padding:16px 14px 48px}.billings-container h1{margin-bottom:18px;font-size:20px}.billing-tabs{width:100%}.billing-tabs button{text-align:center;flex:1;padding:9px 12px;font-size:13px}.section{border-radius:var(--radius-md);padding:18px 16px}.services-grid{grid-template-columns:1fr}.services-table,.services-table thead,.services-table tbody,.services-table th,.services-table td,.services-table tr{width:100%;display:block}.services-table thead{display:none}.services-table tbody tr{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px;padding:14px;display:grid}.services-table td{border:none;padding:4px 0;font-size:13px}.services-table td:first-child{color:var(--neutral-800);border-bottom:1px solid var(--neutral-100);grid-column:1/-1;margin-bottom:4px;padding-bottom:8px;font-size:14px;font-weight:600}.services-table td:last-child{grid-column:1/-1;justify-content:flex-end;padding-top:8px;display:flex}.discount-row,.payment-method-row,.notes-row{grid-template-columns:1fr;gap:6px}.discount-row label,.payment-method-row label,.notes-row label{font-size:12px}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{text-align:center;justify-content:center;width:100%}.receipt-actions{flex-direction:column}.receipt-content{padding:18px 14px}.bill-history{-webkit-overflow-scrolling:touch;overflow-x:auto}.history-table{min-width:560px}.lab-select{min-width:160px;font-size:11.5px}.patient-info{grid-template-columns:1fr}.totals-row{padding:14px 16px}.payment-modal{border-radius:var(--radius-lg);padding:24px 20px}.modal-actions{flex-direction:column}.billing-summary{padding:18px 14px}.service-item{flex-wrap:wrap;gap:8px}.service-name{flex:100%}.add-btn{margin-left:auto}}@media (width>=1280px){.services-grid{grid-template-columns:repeat(2,1fr)}.discount-row,.payment-method-row{grid-template-columns:160px minmax(0,480px)}}@media print{.billing-tabs,.action-buttons,.receipt-actions,.no-print{display:none!important}.billings-container{background:#fff;padding:0}.section{box-shadow:none;break-inside:avoid;border:1px solid #ccc}.receipt-content{border:none;padding:0}}:root{--white:#fff;--blue-dark:#0a2a6e;--blue-mid:#1648c2;--blue-soft:#3b82f6;--blue-pale:#dbeafe;--blue-faint:#eff6ff;--black:#0a0f1a;--gray-800:#1e293b;--gray-600:#475569;--gray-300:#cbd5e1;--gray-100:#f1f5f9;--green:#16a34a;--font-display:"Roboto", sans-serif;--font-body:"Roboto", sans-serif;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px}.tv-mode-container{background:var(--gray-100);width:100vw;height:100vh;color:var(--black);font-family:var(--font-body);flex-direction:column;display:flex;overflow:hidden}.tv-header{background:var(--blue-dark);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.2rem 3.5rem;display:flex}.tv-logo-area{align-items:center;gap:1.1rem;display:flex}.tv-logo-icon{border-radius:var(--radius-sm);background:#ffffff1f;border:1.5px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.tv-logo-icon svg{fill:#fff;width:26px;height:26px}.tv-logo-text h1{font-family:var(--font-display);color:#fff;letter-spacing:-.5px;font-size:clamp(1.1rem,2vw,1.65rem);font-weight:800;line-height:1.2}.tv-logo-text p{color:#ffffff80;letter-spacing:2.5px;text-transform:uppercase;margin-top:2px;font-size:clamp(.6rem,.9vw,.75rem);font-weight:600}.tv-header-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.tv-clock{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1}.tv-date{color:#ffffff80;letter-spacing:2px;text-transform:uppercase;font-size:clamp(.6rem,.85vw,.72rem);font-weight:600}.tv-main-content{flex:1;display:flex;overflow:hidden}.tv-now-serving-section{background:var(--white);border-right:2px solid var(--gray-100);flex-direction:column;flex:1.45;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3.5vw,3rem);display:flex}.tv-section-label{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:clamp(1rem,2vh,1.6rem);font-size:clamp(.65rem,1vw,.8rem);font-weight:700;display:flex}.tv-section-label.live{color:var(--blue-mid)}.tv-section-label.upcoming{color:var(--gray-600)}.live-dot{background:var(--blue-mid);border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.5s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}.tv-now-serving-card{background:var(--blue-dark);border-radius:var(--radius-xl);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden}.tv-now-serving-card:before{content:"";pointer-events:none;background:radial-gradient(70% 50% at 50% 100%,#3b82f638 0%,#0000 70%);position:absolute;inset:0}.tv-token-label{font-family:var(--font-display);color:#ffffff8c;text-transform:uppercase;letter-spacing:5px;z-index:1;margin-bottom:clamp(.3rem,1vh,.6rem);font-size:clamp(.7rem,1.2vw,1rem);font-weight:700;position:relative}.tv-token-number{font-family:var(--font-display);color:#fff;letter-spacing:-6px;z-index:1;margin:clamp(.3rem,1vh,.6rem) 0 clamp(.8rem,2vh,1.5rem);font-size:clamp(6rem,16vw,13rem);font-weight:800;line-height:.9;position:relative}.tv-patient-name{font-family:var(--font-display);color:#fff;z-index:1;margin-bottom:clamp(.8rem,2vh,1.5rem);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;line-height:1.1;position:relative}.tv-department-name{color:#ffffffb3;z-index:1;background:#ffffff1a;border:1.5px solid #ffffff2e;border-radius:100px;padding:clamp(.5rem,1.2vh,.9rem) clamp(1.2rem,3vw,2.2rem);font-size:clamp(.85rem,1.4vw,1.1rem);font-weight:600;line-height:1.4;position:relative}.tv-department-name strong{color:#fff;font-weight:800}.tv-empty-state{background:var(--blue-faint);border-radius:var(--radius-xl);border:2px dashed var(--blue-pale);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.8rem;padding:2rem;display:flex}.tv-empty-icon{background:var(--blue-pale);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:.4rem;display:flex}.tv-empty-icon svg{width:32px;height:32px;fill:var(--blue-soft)}.tv-empty-state h3{font-family:var(--font-display);color:var(--gray-600);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800}.tv-empty-state p{color:var(--gray-300);font-size:clamp(.85rem,1.3vw,1rem)}.tv-next-in-line-section{background:var(--gray-100);flex-direction:column;flex:1;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.tv-next-list{flex-direction:column;flex:1;gap:clamp(.6rem,1.4vh,1rem);display:flex}.tv-next-card{background:var(--white);border-radius:var(--radius-md);border:1.5px solid var(--gray-300);align-items:center;gap:clamp(.8rem,1.5vw,1.4rem);padding:clamp(.9rem,2vh,1.4rem) clamp(1.2rem,2.5vw,1.8rem);transition:border-color .2s;display:flex}.tv-next-card:hover{border-color:var(--blue-soft)}.tv-next-rank{font-family:var(--font-display);color:var(--gray-300);text-align:center;flex-shrink:0;width:20px;font-size:clamp(.7rem,.9vw,.8rem);font-weight:700}.tv-next-token{font-family:var(--font-display);color:var(--blue-mid);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:clamp(60px,8vw,88px);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}.tv-next-info{flex:1;min-width:0}.tv-next-name{font-family:var(--font-display);color:var(--black);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1rem,1.8vw,1.45rem);font-weight:700;overflow:hidden}.tv-next-dept{color:var(--gray-600);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:clamp(.7rem,.95vw,.8rem);font-weight:500;overflow:hidden}.tv-empty-list{background:var(--white);border-radius:var(--radius-md);text-align:center;font-family:var(--font-display);color:var(--gray-600);border:1.5px dashed var(--gray-300);flex:1;justify-content:center;align-items:center;padding:clamp(2rem,5vh,3.5rem) 2rem;font-size:clamp(.9rem,1.3vw,1.05rem);font-weight:700;display:flex}.tv-footer-stats{background:var(--white);border-radius:var(--radius-md);border:1.5px solid var(--gray-300);justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(.8rem,1.8vh,1.3rem);padding:clamp(.9rem,2vh,1.3rem) clamp(1.2rem,2.5vw,1.8rem);display:flex}.tv-stat-box{flex-direction:column;gap:2px;display:flex}.tv-stat-label{color:var(--gray-600);text-transform:uppercase;letter-spacing:2.5px;font-size:clamp(.58rem,.82vw,.68rem);font-weight:700}.tv-stat-value{font-family:var(--font-display);color:var(--blue-dark);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;line-height:1}.tv-stat-divider{background:var(--gray-300);flex-shrink:0;width:1px;height:34px}.tv-statusbar{background:var(--blue-dark);flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem 3.5rem;display:flex}.tv-statusbar-left{color:#ffffff73;letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:.5rem;font-size:clamp(.58rem,.82vw,.7rem);font-weight:600;display:flex}.tv-online-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:6px;height:6px}.tv-statusbar-right{color:#ffffff73;letter-spacing:1px;text-transform:uppercase;font-size:clamp(.58rem,.82vw,.7rem);font-weight:600}.track-container{color:#0f172a;background-color:#f8fafc;min-height:100vh;font-family:Roboto,sans-serif}.track-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.5rem 2rem;box-shadow:0 1px 3px #0000000d}.track-logo{color:#1e3a8a;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.track-content{flex-direction:column;gap:2rem;max-width:800px;margin:3rem auto;padding:0 1.5rem;display:flex}.track-search-card{text-align:center;background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #00000008}.track-search-card h2{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.track-search-card p{color:#64748b;margin-bottom:2rem}.track-search-form{gap:1rem;max-width:500px;margin:0 auto;display:flex}.track-search-form input{border:2px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:1rem 1.5rem;font-family:monospace;font-size:1.1rem;transition:border-color .2s}.track-search-form input:focus{border-color:#3b82f6}.track-search-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:0 2rem;font-size:1.1rem;font-weight:600;transition:background .2s}.track-search-form button:hover{background:#1d4ed8}.track-search-form button:disabled{cursor:not-allowed;background:#94a3b8}.track-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-top:1.5rem;padding:1rem;font-weight:500}.track-result-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000008}.track-result-header{color:#fff;background:#1e293b;flex-wrap:wrap;justify-content:space-between;gap:2rem;padding:2rem;display:flex}.track-info-group{flex-direction:column;gap:.25rem;display:flex}.track-label{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-size:.875rem}.track-value{font-size:1.25rem;font-weight:600}.track-value-mono{color:#60a5fa;font-family:monospace;font-size:1.25rem;font-weight:600}.track-timeline{padding:3rem 2rem}.track-step{gap:1.5rem;padding-bottom:3rem;display:flex;position:relative}.track-step:last-child{padding-bottom:0}.track-step:not(:last-child):after{content:"";background:#e2e8f0;width:2px;position:absolute;top:40px;bottom:-10px;left:19px}.track-step.completed:not(:last-child):after{background:#3b82f6}.track-step-icon{color:#fff;z-index:1;background:#f1f5f9;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex}.track-step.completed .track-step-icon{background:#3b82f6;border-color:#3b82f6}.track-step.pending .track-step-content{opacity:.6}.track-step-title{color:#0f172a;margin:0 0 .25rem;font-size:1.2rem;font-weight:600}.track-step-desc{color:#64748b;margin:0 0 .5rem;font-size:.95rem}.track-step-time{color:#94a3b8;background:#f1f5f9;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:500}.track-success-banner{color:#166534;text-align:center;background:#dcfce7;border-top:1px solid #bbf7d0;padding:1.5rem 2rem;font-size:1.1rem;font-weight:600}@media (width<=600px){.track-search-form{flex-direction:column}.track-search-form input,.track-search-form button{width:100%}}.inventory-master{max-width:1400px;margin:0 auto;padding:20px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-main,#1a1a2e);margin:0;font-size:24px;font-weight:600}.filters{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.filter-group{gap:8px;display:flex}.search-input{border:1px solid #e0e0e0;border-radius:8px;min-width:250px;padding:10px 16px;font-size:14px}.filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 16px;font-size:14px}.btn-primary{background:var(--brand-blue,#4361ee);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary{color:var(--text-main,#1a1a2e);cursor:pointer;background:#f1f3f4;border:none;border-radius:8px;padding:10px 16px;font-size:14px;transition:all .2s}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#5f6368;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:14px 16px;font-size:12px;font-weight:600}.data-table td{color:var(--text-main,#1a1a2e);border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:14px}.data-table tr:hover{background:#f8f9fa}.stock-badge{border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.status-ok{color:#155724;background:#d4edda}.status-low{color:#856404;background:#fff3cd}.status-critical{color:#721c24;background:#f8d7da}.status-out{color:#721c24;background:#f5c6cb;font-weight:600}.status-badge{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.status-badge.active{color:#155724;background:#d4edda}.status-badge.inactive{color:#383d41;background:#e2e3e5}.status-badge.expired{color:#721c24;background:#f8d7da}.status-badge.quarantine{color:#856404;background:#fff3cd}.actions{gap:8px;display:flex}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px;transition:background .2s}.btn-icon:hover{background:#f1f3f4}.btn-icon.delete:hover{background:#f8d7da}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;overflow:hidden}.modal-large{max-width:1000px}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-main,#1a1a2e);margin:0;font-size:18px}.close-btn{cursor:pointer;color:#5f6368;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:background .2s;display:flex}.close-btn:hover{background:#f1f3f4}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}form{padding:20px 24px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#5f6368;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.form-group input,.form-group select{border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--brand-blue,#4361ee);outline:none}.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px}.modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.loading{text-align:center;color:#5f6368;padding:40px}:root{--font-serif:"Roboto", sans-serif;--navy:#0d2554;--border:#e2e8f0;--bg:#f8fafc;--blue:#1a56db;--teal:#0d9488;--amber:#d97706;--red:#dc2626;--green:#16a34a}.inv-net-page{background:var(--bg);min-height:100vh;font-family:var(--font-serif);flex-direction:column;gap:24px;padding:24px 28px;display:flex}.inv-net-header{justify-content:space-between;align-items:center;display:flex}.inv-net-header-left{align-items:center;gap:16px;display:flex}.inv-net-header-icon{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:32px;display:flex;box-shadow:0 1px 3px #0000001a}.inv-net-header-title{color:var(--navy);font-size:22px;font-weight:700}.inv-net-header-sub{color:#64748b;margin-top:2px;font-size:13px;font-style:italic}.inv-net-role-badge{background:var(--navy);color:#fff;letter-spacing:.5px;text-transform:uppercase;border-radius:100px;padding:6px 14px;font-size:11px;font-weight:700}.inv-net-view-toggle{background:#e2e8f0;border-radius:8px;gap:2px;padding:3px;display:flex}.inv-net-view-toggle button{font-family:var(--font-serif);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.inv-net-view-toggle button.active{color:var(--navy);background:#fff;box-shadow:0 1px 2px #0000001a}.inv-net-summary-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inv-summary-pill{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:10px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #0000000d}.inv-summary-pill:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 6px 12px #00000014}.inv-summary-num{color:var(--navy);align-items:center;gap:6px;font-size:20px;font-weight:800;display:flex}.inv-summary-label{color:#64748b;white-space:nowrap;font-size:13px;font-weight:600}.inv-summary-pill.ok{border-left:5px solid var(--green)}.inv-summary-pill.low{border-left:5px solid var(--amber)}.inv-summary-pill.critical{border-left:5px solid var(--red)}.inv-summary-pill.oos{border-left:5px solid #475569}.inv-summary-pill.value{border-left:5px solid var(--teal);background:#f0fdfa}.inv-net-clear-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.inv-net-clear-btn:hover{color:var(--red);background:#fee2e2;border-color:#fca5a5}.inv-net-export-btn{background:var(--green);color:#fff;font-family:var(--font-serif);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #10b98126}.inv-net-export-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 6px 16px #10b98140}.inv-net-export-btn svg{opacity:.9}.inv-net-kpi-row{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.inv-net-kpi{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s;display:flex;box-shadow:0 1px 3px #0000000d}.inv-net-kpi:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.inv-net-kpi.danger{background:#fff1f2}.inv-net-kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.inv-net-kpi-val{color:#0f172a;font-size:24px;font-weight:700;line-height:1}.inv-net-kpi-label{color:#64748b;margin-top:4px;font-size:12px;font-weight:600}.inv-net-kpi-sub{color:#94a3b8;margin-top:2px;font-size:10px;font-style:italic}.inv-net-charts-row{grid-template-columns:320px 1fr 340px;gap:16px;display:grid}.inv-net-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.inv-net-card-head{flex-direction:column;margin-bottom:16px;display:flex}.inv-net-card-title{color:var(--navy);font-size:15px;font-weight:700}.inv-net-card-sub{color:#94a3b8;margin-top:2px;font-size:11px;font-style:italic}.inv-net-donut-wrap{flex-direction:column;align-items:center;gap:16px;display:flex}.inv-net-donut-svg{width:140px;height:140px}.inv-net-donut-legend{flex-direction:column;gap:6px;width:100%;display:flex}.inv-net-legend-row{align-items:center;gap:8px;font-size:11px;display:flex}.inv-net-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.inv-net-legend-cat{color:#475569;flex:1;font-weight:600}.inv-net-legend-val{color:#94a3b8;font-weight:700}.inv-net-trend-wrap{padding:10px 0}.inv-net-trend-labels{color:#94a3b8;justify-content:space-between;margin-top:8px;font-size:10px;font-weight:600;display:flex}.inv-net-horiz-bars{flex-direction:column;gap:10px;display:flex}.inv-net-hbar-row{align-items:center;gap:12px;display:flex}.inv-net-hbar-label{color:#334155;white-space:nowrap;text-overflow:ellipsis;width:100px;font-size:11px;font-weight:600;overflow:hidden}.inv-net-hbar-track{background:#f1f5f9;border-radius:100px;flex:1;height:10px;overflow:hidden}.inv-net-hbar-fill{border-radius:100px;height:100%}.inv-net-hbar-val{text-align:right;color:#64748b;width:60px;font-size:11px;font-weight:700}.inv-net-bottom-row{grid-template-columns:1fr 320px;gap:16px;display:grid}.inv-net-table-card{padding:0}.inv-net-table-wrap{overflow-x:auto}.inv-net-table{border-collapse:collapse;width:100%}.inv-net-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1px solid var(--border);background:#f8fafc;padding:12px 18px;font-size:10px}.inv-net-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 18px}.inv-net-table tr:last-child td{border-bottom:none}.inv-net-table tr:hover td{background:#f8fafc}.inv-tbl-name{color:#0f172a;font-size:13px;font-weight:700}.inv-tbl-code{color:#94a3b8;margin-top:1px;font-size:10px;font-style:italic;font-weight:600}.inv-tbl-num{color:#334155;font-size:14px;font-weight:700}.inv-tbl-rev{color:var(--teal);font-size:13px;font-weight:700}.inv-tbl-level{text-transform:uppercase;color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.inv-tbl-alert{color:var(--red);font-size:12px;font-weight:700}.inv-tbl-ok{color:var(--green);font-size:12px;font-weight:700}.inv-status-badge{white-space:nowrap;border-radius:100px;padding:3px 8px;font-size:10px;font-weight:700}.row-warn{background:#fffcf0}.row-warn:hover td{background:#fff9e6!important}.inv-net-right-col{flex-direction:column;gap:16px;display:flex}.inv-net-alert-list{flex-direction:column;display:flex}.inv-net-alert-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.inv-net-alert-row:last-child{border-bottom:none}.inv-net-filters{gap:12px;display:flex}.inv-net-search{border:1px solid var(--border);font-family:var(--font-serif);border-radius:10px;flex:1;padding:10px 16px;font-size:14px}.inv-net-select{border:1px solid var(--border);font-family:var(--font-serif);background:#fff;border-radius:10px;min-width:180px;padding:10px 16px;font-size:14px}.inv-net-loading{color:#64748b;height:100vh;font-family:var(--font-serif);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.inv-net-spinner{border:4px solid var(--border);border-top-color:var(--blue);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.inv-net-error{text-align:center;color:var(--red);font-family:var(--font-serif);padding:40px;font-weight:700}.inv-net-empty{text-align:center;color:#94a3b8;padding:24px;font-size:13px;font-style:italic}.inv-net-table-full th{z-index:10;position:sticky;top:0}.inv-net-table-footer{border-top:1px solid var(--border);color:#94a3b8;background:#f8fafc;padding:12px 18px;font-size:11px;font-style:italic}@media (width<=1200px){.inv-net-kpi-row{grid-template-columns:repeat(3,1fr)}.inv-net-charts-row{grid-template-columns:1fr 1fr}.inv-net-bottom-row{grid-template-columns:1fr}}@media (width<=768px){.inv-net-kpi-row{grid-template-columns:1fr 1fr}.inv-net-charts-row{grid-template-columns:1fr}.inv-net-filters{flex-direction:column}}.ap-page{max-width:1400px;margin:0 auto;padding:24px;animation:.4s ease-out fadeIn}.ap-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.ap-title-area h1{color:#1e293b;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800}.ap-title-area p{color:#64748b;margin:4px 0 0;font-size:15px}.ap-stats-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:32px;display:grid}.ap-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:20px;padding:24px;transition:all .3s;display:flex;box-shadow:0 4px 6px -1px #0000000d}.ap-stat-card:hover{border-color:#cbd5e1;transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.ap-stat-icon{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.ap-stat-info h3{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:13px;font-weight:600}.ap-stat-info .stat-value{color:#0f172a;margin:0;font-size:26px;font-weight:800}.ap-tabs-nav{border-bottom:2px solid #e2e8f0;gap:32px;margin-bottom:24px;display:flex}.ap-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:12px 4px;font-size:15px;font-weight:600;transition:all .2s;position:relative}.ap-tab-btn:hover,.ap-tab-btn.active{color:#0d2554}.ap-tab-btn.active:after{content:"";background:#0d2554;border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.ap-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.ap-table-wrapper{overflow-x:auto}.ap-table{border-collapse:collapse;text-align:left;width:100%}.ap-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:16px 20px;font-size:12px;font-weight:700}.ap-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:14px}.ap-table tr:hover{background:#f8fafc}.ap-table tr.overdue{background:#fff1f2}.ap-table tr.overdue:hover{background:#ffe4e6}.status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.status-paid{color:#15803d;background:#dcfce7}.status-partial{color:#b45309;background:#fef3c7}.status-pending{color:#b91c1c;background:#fee2e2}.ap-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ap-modal{background:#fff;border-radius:20px;width:100%;max-width:550px;animation:.3s ease-out modalSlideUp;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ap-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:24px;display:flex}.ap-modal-header h2{color:#1e293b;margin:0;font-size:20px;font-weight:700}.ap-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:24px;transition:color .2s;display:flex}.ap-modal-close:hover{color:#475569}.ap-modal-body{padding:24px}.ap-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ap-field{margin-bottom:20px}.ap-field label{color:#475569;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.ap-input,.ap-select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.ap-input:focus,.ap-select:focus{background:#fff;border-color:#0d2554;outline:none;box-shadow:0 0 0 4px #0d25541a}.ap-submit-btn{color:#fff;cursor:pointer;background:#0d2554;border:none;border-radius:12px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700;transition:all .2s}.ap-submit-btn:hover{background:#1a3a7a;transform:translateY(-1px);box-shadow:0 4px 12px #0d255440}.ap-pay-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.ap-pay-btn:hover{background:#059669;box-shadow:0 2px 8px #10b9814d}.ap-payment-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:20px;padding:16px}.summary-row{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.summary-row:last-child{border-top:1px dashed #bfdbfe;margin-bottom:0;padding-top:8px;font-weight:700}.overdue-text{color:#dc2626;margin-top:2px;font-size:11px;font-weight:700;display:block}:root{--page-bg:#f0f4f8;--white:#fff;--navy:#0d2554;--blue:#1a56db;--blue-mid:#3b82f6;--blue-pale:#dbeafe;--blue-faint:#eff6ff;--slate:#475569;--slate-light:#94a3b8;--border:#e2e8f0;--border-mid:#cbd5e1;--black:#0f172a;--success:#16a34a;--warn:#d97706;--danger:#dc2626;--node-central:#0d2554;--node-sub:#1648c2;--node-center:#0ea5e9;--font-display:"Roboto", sans-serif;--font-body:"Roboto", sans-serif;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000d}.hospitals-page{background:var(--page-bg);min-height:100vh;font-family:var(--font-body);flex-direction:column;display:flex}.h-topbar{background:var(--white);border-bottom:1px solid var(--border);height:60px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.h-topbar-left{align-items:center;gap:14px;display:flex}.h-topbar-icon{background:var(--navy);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.h-topbar-icon svg{fill:#fff;width:20px;height:20px}.h-topbar-title{font-family:var(--font-display);color:var(--black);font-size:16px;font-weight:700}.h-topbar-sub{color:var(--slate-light);margin-top:1px;font-size:12px;font-weight:500}.h-topbar-right{align-items:center;gap:10px;display:flex}.h-stats-strip{background:var(--border);border-bottom:1px solid var(--border);flex-shrink:0;gap:1px;display:flex}.h-stat-cell{background:var(--white);flex:1;align-items:center;gap:12px;padding:12px 20px;display:flex}.h-stat-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.h-stat-icon.navy{background:#e8edf8}.h-stat-icon.blue{background:var(--blue-pale)}.h-stat-icon.sky{background:#e0f2fe}.h-stat-icon.green{background:#dcfce7}.h-stat-num{font-family:var(--font-display);color:var(--black);font-size:22px;font-weight:800;line-height:1}.h-stat-lbl{color:var(--slate-light);text-transform:uppercase;letter-spacing:.8px;margin-top:2px;font-size:11px;font-weight:600}.h-spin{animation:1s linear infinite h-spin}@keyframes h-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.h-stat-icon svg,.h-topbar-icon svg{display:block}.h-body{flex:1;height:calc(100vh - 115px);display:flex;overflow:hidden}.h-sidebar{background:var(--white);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.h-sidebar-section{border-bottom:1px solid var(--border);padding:16px}.h-sidebar-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--slate-light);margin-bottom:10px;font-size:10px;font-weight:700}.h-search{position:relative}.h-search input{border:1.5px solid var(--border-mid);width:100%;font-size:13px;font-family:var(--font-body);color:var(--black);background:var(--page-bg);border-radius:8px;outline:none;padding:8px 10px 8px 32px;transition:border-color .15s}.h-search input:focus{border-color:var(--blue-mid);background:#fff}.h-search-icon{fill:none;width:14px;height:14px;stroke:var(--slate-light);stroke-width:2px;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.h-node-list{flex:1;padding:8px;overflow-y:auto}.h-node-list::-webkit-scrollbar{width:4px}.h-node-list::-webkit-scrollbar-track{background:0 0}.h-node-list::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.h-node-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 10px;transition:background .12s;display:flex}.h-node-item:hover{background:var(--blue-faint)}.h-node-item.selected{background:var(--blue-pale)}.h-node-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dot-central{background:var(--node-central)}.dot-sub{background:var(--node-sub)}.dot-center{background:var(--node-center)}.h-node-item-name{color:var(--black);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.h-node-item-code{color:var(--slate-light);background:var(--page-bg);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.h-legend{flex-direction:column;gap:8px;display:flex}.h-legend-row{align-items:center;gap:8px;display:flex}.h-legend-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.h-legend-text{color:var(--slate);font-size:12px;font-weight:500}.h-graph-area{background:var(--page-bg);flex:1;position:relative;overflow:hidden}.h-graph-bg{opacity:.6;pointer-events:none;background-image:radial-gradient(circle,#c8d8f0 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.h-graph-svg{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%}.h-graph-svg:active{cursor:grabbing}.graph-node-group{cursor:pointer}.graph-node-group:hover .graph-node-outer{filter:drop-shadow(0 0 10px #3b82f680)}.h-detail-panel{background:var(--white);border:1px solid var(--border);width:260px;box-shadow:var(--shadow-lg);z-index:10;border-radius:14px;animation:.2s slideIn;position:absolute;top:16px;right:16px;overflow:hidden}.h-detail-header{justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 16px;display:flex}.h-detail-badge{text-transform:uppercase;letter-spacing:1px;border-radius:100px;padding:3px 8px;font-size:10px;font-weight:700}.badge-central{color:var(--navy);background:#e8edf8}.badge-sub{background:var(--blue-pale);color:var(--blue)}.badge-center{color:#0369a1;background:#e0f2fe}.h-detail-close{background:var(--page-bg);cursor:pointer;width:24px;height:24px;color:var(--slate);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.h-detail-close:hover{background:var(--border)}.h-detail-name{font-family:var(--font-display);color:var(--black);padding:0 16px 10px;font-size:15px;font-weight:700;line-height:1.2}.h-detail-code{color:var(--blue);background:var(--blue-faint);letter-spacing:.5px;border-radius:6px;margin:0 16px 12px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.h-detail-rows{border-top:1px solid var(--border);flex-direction:column;gap:9px;padding:12px 16px;display:flex}.h-detail-row{align-items:flex-start;gap:8px;display:flex}.h-detail-row-icon{background:var(--page-bg);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:11px;display:flex}.h-detail-row-label{color:var(--slate-light);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.h-detail-row-val{color:var(--black);font-size:13px;font-weight:600;line-height:1.3}.h-detail-actions{border-top:1px solid var(--border);gap:8px;padding:12px 16px;display:flex}.h-graph-controls{z-index:10;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:20px;right:16px}.h-ctrl-btn{background:var(--white);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--slate);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:600;transition:all .15s;display:flex}.h-ctrl-btn:hover{background:var(--blue-faint);color:var(--blue);border-color:var(--blue-mid)}.h-view-toggle{background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:10;border-radius:10px;display:flex;position:absolute;top:16px;left:16px;overflow:hidden}.h-vtbtn{cursor:pointer;color:var(--slate);font-size:12px;font-weight:600;font-family:var(--font-body);border:none;border-right:1px solid var(--border);background:0 0;align-items:center;gap:5px;padding:7px 14px;transition:all .15s;display:flex}.h-vtbtn:last-child{border-right:none}.h-vtbtn:hover{color:var(--black)}.h-vtbtn.active{background:var(--navy);color:#fff}.h-tooltip{pointer-events:none;background:var(--black);color:#fff;white-space:nowrap;z-index:20;opacity:0;border-radius:6px;margin-top:-8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s;position:absolute;transform:translate(-50%)translateY(-100%)}.h-tooltip.visible{opacity:1}.h-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;height:100%;padding:24px;display:grid;overflow-y:auto}.h-grid-card{background:var(--white);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;transition:box-shadow .2s,transform .2s;overflow:hidden}.h-grid-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.h-grid-card-top{height:5px}.top-central{background:var(--node-central)}.top-sub{background:var(--node-sub)}.top-center{background:var(--node-center)}.h-grid-card-body{padding:16px}.h-gc-row1{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.h-gc-name{font-family:var(--font-display);color:var(--black);flex:1;margin-right:8px;font-size:14px;font-weight:700;line-height:1.2}.h-gc-code{color:var(--blue);background:var(--blue-faint);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.h-gc-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-bottom:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.h-gc-fields{flex-direction:column;gap:5px;display:flex}.h-gc-field{color:var(--slate);align-items:center;gap:6px;font-size:12px;display:flex}.h-gc-field span:first-child{font-size:13px}.h-gc-field strong{color:var(--black);font-weight:600}.h-grid-card-foot{border-top:1px solid var(--border);gap:6px;padding:10px 16px;display:flex}.h-graph-area .leaflet-container{background:#e8eff7;width:100%;height:100%;font-family:var(--font-body)!important}.leaflet-popup-content-wrapper{overflow:hidden;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:0!important}.leaflet-popup-content{font-family:var(--font-body)!important;margin:12px 14px!important}.leaflet-popup-tip-container{display:none!important}.leaflet-popup-close-button{color:var(--slate)!important;font-size:16px!important;top:8px!important;right:10px!important}.leaflet-control-attribution{background:#ffffffd9!important;border-radius:4px 0 0!important;font-size:10px!important}.leaflet-control-zoom{overflow:hidden;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important;border-radius:10px!important}.leaflet-control-zoom a{background:var(--white)!important;color:var(--slate)!important;border-bottom:1px solid var(--border)!important;width:36px!important;height:36px!important;font-size:16px!important;font-weight:600!important;line-height:36px!important;transition:background .12s,color .12s!important}.leaflet-control-zoom a:last-child{border-bottom:none!important}.leaflet-control-zoom a:hover{background:var(--blue-faint)!important;color:var(--blue)!important}.h-map-legend{background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:1000;border-radius:10px;min-width:160px;padding:12px 14px;position:absolute;bottom:48px;left:16px}.h-map-legend-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--slate-light);margin-bottom:10px;font-size:10px;font-weight:700}.h-map-legend-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.h-map-legend-row:last-of-type{margin-bottom:0}.h-map-notice{color:#92400e;z-index:1000;box-shadow:var(--shadow-sm);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;max-width:340px;padding:6px 12px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:16px;left:16px}.btn-map-view{background:var(--blue-faint);width:100%;color:var(--blue);border:1px solid var(--blue-pale);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;transition:all .15s;display:flex}.btn-map-view:hover{background:var(--blue-pale);border-color:var(--blue-mid)}.h-coords-section{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:4px;padding-top:16px;display:flex}.btn-geocode{background:var(--blue-faint);width:100%;color:var(--blue);border:1.5px solid var(--blue-pale);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;transition:all .15s;display:flex}.btn-geocode:hover:not(:disabled){background:var(--blue-pale);border-color:var(--blue-mid)}.btn-geocode:disabled{opacity:.5;cursor:not-allowed}.btn-geocode.loading{color:#93c5fd;background:#eff6ff;border-color:#bfdbfe}.h-geo-hint{color:var(--slate-light);text-align:center;padding:2px 0;font-size:11px;font-weight:500}.h-geo-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.h-geo-results{background:var(--page-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.h-geo-results-label{text-transform:uppercase;letter-spacing:1px;color:var(--slate-light);border-bottom:1px solid var(--border);padding:8px 12px 6px;font-size:10px;font-weight:700}.h-geo-result-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;font-family:var(--font-body);color:var(--slate);text-align:left;background:0 0;align-items:flex-start;gap:8px;padding:9px 12px;font-size:12px;font-weight:500;line-height:1.4;transition:background .12s;display:flex}.h-geo-result-item:last-child{border-bottom:none}.h-geo-result-item:hover{background:var(--white);color:var(--black)}.h-geo-result-item.active{background:var(--blue-faint);color:var(--blue);font-weight:600}.h-mini-map-wrap{border:1.5px solid var(--border-mid);border-radius:10px;flex-direction:column;display:none;overflow:hidden}.h-mini-map-wrap.visible{display:flex}.h-mini-map{background:#e8eff7;width:100%;height:200px}.h-mini-map-hint{background:var(--page-bg);border-top:1px solid var(--border);color:var(--slate-light);align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.h-mini-map .leaflet-control-zoom{margin:8px!important}.h-mini-map .leaflet-control-zoom a{width:26px!important;height:26px!important;font-size:14px!important;line-height:26px!important}.h-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.h-modal{background:var(--white);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border-radius:14px;animation:.2s modalPop;overflow:hidden}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.h-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.h-modal-header h2{font-family:var(--font-display);color:var(--black);font-size:16px;font-weight:700}.h-modal-body{max-height:60vh;padding:20px 24px;overflow-y:auto}.h-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.h-form-group{margin-bottom:14px}.h-form-group label{color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.h-form-group input,.h-form-group select,.h-form-group textarea{border:1.5px solid var(--border-mid);width:100%;font-size:13px;font-family:var(--font-body);color:var(--black);background:var(--white);border-radius:8px;outline:none;padding:9px 12px;transition:border-color .15s}.h-form-group input:focus,.h-form-group select:focus,.h-form-group textarea:focus{border-color:var(--blue-mid);box-shadow:0 0 0 3px #3b82f61a}.h-form-group textarea{resize:vertical;min-height:80px}.btn-primary{background:var(--navy);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;border-radius:8px;padding:9px 18px;transition:background .15s}.btn-primary:hover{background:#0a1e45}.btn-secondary{color:var(--black);border:1.5px solid var(--border-mid);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:8px;padding:9px 18px;transition:all .15s}.btn-secondary:hover{border-color:var(--blue-mid);color:var(--blue)}.btn-ghost{color:var(--blue-mid);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:6px;padding:5px 8px;transition:background .12s}.btn-ghost:hover{background:var(--blue-faint)}.btn-danger{color:var(--danger);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:6px;padding:5px 8px;transition:background .12s}.btn-danger:hover{background:#fef2f2}.h-empty{color:var(--slate-light);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;height:100%;font-size:14px;font-weight:500;display:flex}.h-empty svg{opacity:.3;width:48px;height:48px}.h-loading{color:var(--slate);flex:1;justify-content:center;align-items:center;gap:10px;height:100%;font-size:14px;font-weight:500;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-serif:"Roboto", sans-serif;--font-sans:"Roboto", sans-serif;--blue:#1a56db;--teal:#0d9488;--amber:#d97706;--green:#16a34a;--navy:#0d2554;--border:#e2e8f0;--bg:#f4f6f9}.dash-page{background:var(--bg);min-height:100vh;font-family:var(--font-serif);flex-direction:column;display:flex}.dash-topbar{background:var(--navy);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.dash-topbar-left{align-items:center;gap:14px;display:flex}.dash-topbar-icon{background:#ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.dash-topbar-title{font-family:var(--font-serif);color:#fff;letter-spacing:.2px;font-size:15px;font-weight:700}.dash-topbar-sub{color:#ffffff80;margin-top:1px;font-size:11px;font-style:italic}.dash-topbar-right{align-items:center;gap:8px;display:flex}.dash-live-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}.dash-live-text{color:#4ade80;letter-spacing:.5px;font-size:11px;font-weight:700;font-family:var(--font-serif)}.dash-body{flex-direction:column;flex:1;gap:18px;padding:22px 28px 32px;display:flex;overflow-y:auto}.dash-network-strip{background:var(--border);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden;box-shadow:0 1px 3px #0000000d}.dash-net-cell{background:#fff;align-items:center;gap:12px;padding:14px 18px;display:flex}.dash-net-icon{background:#f8fafc;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dash-net-num{color:#0f172a;font-size:24px;font-weight:700;line-height:1;font-family:var(--font-serif)}.dash-net-label{color:#334155;margin-top:2px;font-size:12px;font-weight:600}.dash-net-sub{color:#94a3b8;margin-top:1px;font-size:10px;font-style:italic}.dash-branch-strip{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:14px;padding:14px 22px;display:flex;box-shadow:0 1px 3px #0000000d}.dash-branch-icon{background:#f0f4f8;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dash-branch-name{color:#0f172a;font-size:17px;font-weight:700;font-family:var(--font-serif)}.dash-branch-meta{align-items:center;gap:10px;margin-top:4px;display:flex}.dash-kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.dash-kpi-card{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:3px;padding:18px;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 1px 3px #0000000f}.dash-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.dash-kpi-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dash-kpi-icon{border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.dash-kpi-badge{font-size:10px;font-weight:700;font-family:var(--font-serif);border-radius:100px;align-items:center;padding:2px 7px;display:flex}.dash-kpi-badge.up{color:var(--green);background:#dcfce7}.dash-kpi-badge.down{color:#dc2626;background:#fef2f2}.dash-kpi-value{color:#0f172a;font-size:26px;font-weight:700;line-height:1;font-family:var(--font-serif)}.dash-kpi-label{color:#64748b;margin-top:3px;font-size:12px;font-weight:600}.dash-kpi-sub{color:#94a3b8;font-size:11px;font-style:italic}.dash-kpi-spark{margin-top:10px}.dash-card{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.dash-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.dash-card-title{color:#0f172a;font-size:13px;font-weight:700;font-family:var(--font-serif)}.dash-card-sub{color:#94a3b8;font-size:11px;font-style:italic}.dash-tab-group{background:#f1f5f9;border-radius:6px;gap:2px;padding:3px;display:flex}.dash-tab{cursor:pointer;color:#64748b;font-size:11px;font-weight:600;font-family:var(--font-serif);background:0 0;border:none;border-radius:4px;padding:4px 11px;transition:all .15s}.dash-tab.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px #0000001a}.dash-charts-row{grid-template-columns:1fr 360px;gap:14px;display:grid}.line-graph-wrap{width:100%;padding:12px 16px 8px;overflow:hidden}.line-graph-svg{width:100%;height:170px;display:block}.donut-wrap{align-items:center;gap:16px;padding:14px 18px;display:flex}.donut-svg{flex-shrink:0;width:152px;height:152px}.donut-total-num{fill:#0f172a;font-size:16px;font-weight:700;font-family:var(--font-serif)}.donut-total-lbl{fill:#94a3b8;font-size:9px;font-weight:600}.donut-legend{flex-direction:column;flex:1;gap:6px;display:flex}.donut-legend-row{align-items:center;gap:7px;display:flex}.donut-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.donut-cat{color:#334155;flex:1;font-size:11px;font-weight:500}.donut-pct{color:#64748b;font-size:10px;font-weight:700}.horiz-bar-chart{flex-direction:column;gap:10px;display:flex}.horiz-bar-row{align-items:center;gap:10px;display:flex}.horiz-bar-label{color:#334155;white-space:nowrap;text-overflow:ellipsis;width:130px;font-size:12px;font-weight:600;font-family:var(--font-serif);flex-shrink:0;overflow:hidden}.horiz-bar-track{background:#f1f5f9;border-radius:100px;flex:1;height:14px;overflow:hidden}.horiz-bar-fill{border-radius:100px;min-width:4px;height:100%;transition:width .5s}.horiz-bar-count{text-align:right;color:#475569;width:28px;font-size:12px;font-weight:700;font-family:var(--font-serif)}.dash-bottom-row{grid-template-columns:1fr 300px;gap:14px;display:grid}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:12px}.dash-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;font-family:var(--font-serif);background:#f8fafc;padding:9px 14px}.dash-table td{vertical-align:middle;font-family:var(--font-serif);border-bottom:1px solid #f1f5f9;padding:11px 14px}.dash-table tr:last-child td{border-bottom:none}.dash-table tr:hover td{background:#f8fafc}.dash-tbl-name{color:#0f172a;font-size:12px;font-weight:600}.dash-tbl-code{color:#94a3b8;margin-top:1px;font-size:10px;font-style:italic;font-weight:600}.dash-tbl-num{color:#334155;font-size:13px;font-weight:700}.dash-tbl-tests{color:var(--blue)!important}.dash-tbl-rev{color:var(--green);font-size:12px;font-weight:700}.dash-level-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:9px;font-weight:700;font-family:var(--font-serif);border-radius:100px;padding:3px 7px}.dash-pending-badge{color:#64748b;min-width:26px;height:20px;font-size:11px;font-weight:700;font-family:var(--font-serif);background:#f1f5f9;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.dash-pending-badge.has-pending{color:var(--amber);background:#fef3c7}.dash-activity-card{flex-direction:column;display:flex}.dash-activity-list{flex:1;max-height:380px;padding:2px 0;overflow-y:auto}.dash-activity-item{border-bottom:1px solid #f8fafc;align-items:flex-start;gap:9px;padding:9px 14px;display:flex}.dash-activity-item:last-child{border-bottom:none}.dash-activity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.dash-activity-body{flex:1;min-width:0}.dash-activity-label{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;font-family:var(--font-serif);overflow:hidden}.dash-activity-meta{color:#94a3b8;align-items:center;gap:7px;margin-top:2px;font-size:10px;font-style:italic;display:flex}.dash-activity-status{font-style:normal;font-weight:700}.dash-activity-time{color:#cbd5e1;flex-shrink:0;font-size:10px;font-weight:600}.dash-loading{color:#64748b;font-size:13px;font-weight:600;font-family:var(--font-serif);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.dash-spinner{border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}.dash-error{text-align:center;color:#dc2626;font-weight:600;font-family:var(--font-serif);padding:40px}.dash-chart-empty{text-align:center;color:#cbd5e1;font-size:12px;font-style:italic;font-weight:500;font-family:var(--font-serif);padding:32px}@media (width<=1100px){.dash-kpi-row,.dash-network-strip{grid-template-columns:repeat(2,1fr)}.dash-charts-row,.dash-bottom-row{grid-template-columns:1fr}}@media (width<=680px){.dash-body{padding:14px}.dash-kpi-row{grid-template-columns:1fr 1fr}}.disaster-page{background-color:var(--bg-surface);flex-direction:column;flex:1;gap:24px;padding:24px;display:flex}.disaster-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-icon{border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);color:var(--blue-primary);background:#fff;justify-content:center;align-items:center;padding:12px;display:flex}.header-left h1{color:var(--text-dark);margin:0;font-size:24px;font-weight:700}.header-left h1 span{color:var(--blue-primary)}.header-left p{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 0;font-size:12px;font-weight:600}.header-actions{align-items:center;gap:16px;display:flex}.time-filters{border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;gap:4px;padding:4px;display:flex}.btn-filter{color:var(--text-soft);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600}.btn-filter:hover{background:var(--bg-surface);color:var(--text-dark)}.btn-filter.active{background:var(--blue-pale);color:var(--blue-primary)}.btn-export{background:var(--blue-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:flex}.btn-export:hover{background:var(--blue-light)}.disaster-main{grid-template-columns:3fr 1fr;gap:24px;display:grid}.main-content,.sidebar-content{flex-direction:column;gap:24px;display:flex}@media (width<=1200px){.disaster-main{grid-template-columns:1fr}}.summary-cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=900px){.summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;flex-direction:column;justify-content:space-between;gap:16px;padding:20px;display:flex;box-shadow:0 1px 2px #00000005}.summary-header{justify-content:space-between;align-items:flex-start;display:flex}.summary-icon{color:var(--blue-primary)}.trend-badge{align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.trend-badge.up{color:#ef4444}.trend-badge.down{color:#10b981}.trend-badge.stable{color:var(--text-soft)}.summary-body p{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:12px;font-weight:600}.summary-body h3{color:var(--text-dark);margin:0;font-size:28px;font-weight:700}.map-district-grid{grid-template-columns:2fr 1fr;gap:24px;height:500px;display:grid}@media (width<=900px){.map-district-grid{grid-template-columns:1fr;height:auto}}.map-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;flex-direction:column;padding:24px;display:flex}.map-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.map-header h3{color:var(--text-mid);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:14px;font-weight:700}.map-legend{gap:16px;display:flex}.legend-item{color:var(--text-soft);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.dot-high{background:#ef4444}.dot-med{background:#f59e0b}.dot-low{background:#10b981}.map-container{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);flex:1;position:relative;overflow:hidden}.district-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;flex-direction:column;height:100%;max-height:500px;display:flex;overflow:hidden}.district-header{border-bottom:1px solid var(--border-light);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.district-header h3{color:var(--text-mid);text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.district-header span{color:var(--text-muted);font-size:11px;font-weight:700}.district-list{flex:1;padding:8px 0;overflow-y:auto}.district-item{border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.district-item:hover{background:var(--bg-surface)}.district-item:last-child{border-bottom:none}.district-info{align-items:center;gap:12px;display:flex}.district-rank{color:var(--text-muted);width:20px;font-size:13px;font-weight:700}.district-details p{color:var(--text-dark);margin:0;font-size:14px;font-weight:700}.district-details span{color:var(--text-soft);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.district-stats{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.district-stats .cases{color:var(--text-dark);font-size:16px;font-weight:800}.charts-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=900px){.charts-grid{grid-template-columns:1fr}}.chart-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;padding:24px}.chart-card h3{color:var(--text-mid);text-transform:uppercase;letter-spacing:.05em;margin:0 0 24px;font-size:14px;font-weight:700}.chart-container{width:100%;height:300px}.intel-box{background:var(--blue-pale);border-radius:var(--radius-md);border-left:4px solid var(--blue-primary);padding:20px}.intel-header{color:var(--blue-primary);align-items:center;gap:8px;margin-bottom:12px;display:flex}.intel-header h4{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:13px;font-weight:700}.intel-box p{color:var(--text-mid);margin:0;font-size:14px;line-height:1.6}.intel-highlight{color:var(--text-dark);background:#fff;border-radius:4px;padding:2px 6px;font-weight:700}.alert-panel{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;flex-direction:column;height:600px;display:flex;overflow:hidden}.alert-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.alert-header h3{color:var(--text-mid);text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.alert-list{flex:1;padding:8px;overflow-y:auto}.alert-item{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition-fast);padding:16px}.alert-item:hover{background:var(--bg-surface)}.alert-item:last-child{border-bottom:none}.alert-type-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.alert-type-header span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.alert-msg{color:var(--text-dark);margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4}.alert-time{color:var(--text-muted);margin:0;font-size:11px;font-weight:500}.alert-footer{border-top:1px solid var(--border-light);background:var(--bg-surface);text-align:center;padding:16px}.btn-alert-link{color:var(--blue-primary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:700}.btn-alert-link:hover{color:var(--blue-light)}.disaster-footer{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:24px;display:flex}.footer-copy{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:11px;font-weight:700}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--blue-primary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.map-tooltip{border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;background:#fff;width:220px;padding:16px;position:absolute;top:16px;right:16px}.tooltip-title{color:var(--text-dark);border-bottom:1px solid var(--border-light);margin:0 0 12px;padding-bottom:8px;font-size:14px;font-weight:700}.tooltip-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tooltip-row span:first-child{color:var(--text-soft);font-size:12px}.tooltip-row span:last-child{color:var(--text-dark);font-size:13px;font-weight:700}.tooltip-disease{color:var(--blue-primary)!important}.dd-modal-overlay{z-index:2000;background:#0f1f3399;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dd-modal-content{border-radius:var(--radius-md);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;display:flex;overflow:hidden}.dd-modal-header{border-bottom:1px solid var(--border-light);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:24px;display:flex}.dd-header-left{align-items:center;gap:16px;display:flex}.dd-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:12px;display:flex}.dd-header-left h2{color:var(--text-dark);margin:0 0 4px;font-size:24px;font-weight:800}.dd-header-left p{color:var(--text-soft);margin:0;font-size:13px}.btn-close{color:var(--text-soft);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:8px}.btn-close:hover{background:var(--border-light);color:var(--text-dark)}.dd-modal-body{grid-template-columns:1fr 1fr;gap:32px;padding:32px 24px;display:grid;overflow-y:auto}@media (width<=768px){.dd-modal-body{grid-template-columns:1fr}}.dd-stats-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.dd-stat-box{background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:16px}.dd-stat-box p{color:var(--text-soft);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.dd-stat-box h4{color:var(--text-dark);margin:0 0 8px;font-size:24px;font-weight:800}.dd-trend{align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.dd-trend.up{color:#ef4444}.dd-chart-box,.dd-list-box{border-radius:var(--radius-sm);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.dd-box-title{color:var(--text-dark);text-transform:uppercase;align-items:center;gap:8px;margin:0 0 20px;font-size:13px;font-weight:700;display:flex}.dd-resource-item{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dd-resource-item span{color:var(--text-mid);text-transform:capitalize;font-size:13px;font-weight:600}.dd-progress-bar{align-items:center;gap:12px;width:140px;display:flex}.dd-bar-track{background:var(--border-light);border-radius:4px;flex:1;height:8px;overflow:hidden}.dd-bar-fill{height:100%}.dd-progress-bar span{color:var(--text-soft);text-align:right;text-transform:uppercase;width:50px;font-size:11px;font-weight:700}.dd-facility-item{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.dd-facility-rank{background:var(--blue-pale);width:32px;height:32px;color:var(--blue-primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.dd-facility-name{color:var(--text-dark);font-size:14px;font-weight:600}.dd-modal-footer{background:var(--bg-surface);border-top:1px solid var(--border-light);justify-content:flex-end;gap:16px;padding:24px;display:flex}.btn-secondary{border:1px solid var(--border-light);color:var(--text-dark);border-radius:var(--radius-sm);cursor:pointer;background:#fff;padding:10px 20px;font-size:13px;font-weight:600}.btn-secondary:hover{background:var(--bg-input)}.machine-page{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex}.machine-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.machine-header h1{color:var(--text-main);margin:0;font-size:24px;font-weight:700}.machine-header p{color:var(--text-muted);margin:4px 0 0;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.stat-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 1px 2px #00000005}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.stat-value{color:var(--brand-blue);font-size:28px;font-weight:700}.branch-section{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;margin-bottom:24px;padding:20px;box-shadow:0 1px 3px #0000000a}.branch-title{color:var(--text-main);border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:8px;font-size:18px;font-weight:700}.machine-table{border-collapse:collapse;width:100%}.machine-table th{text-align:left;background:var(--header-bg);color:var(--text-label);text-transform:uppercase;border-bottom:1px solid var(--border-light);padding:12px 16px;font-size:12px;font-weight:600}.machine-table td{border-bottom:1px solid var(--border-light);color:var(--text-main);padding:14px 16px;font-size:14px}.machine-table tr:last-child td{border-bottom:none}.machine-table tr:hover td{background:var(--field-bg-ro)}.status-badge{text-transform:uppercase;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-online{color:#10b981;background:#ecfdf5;border:1px solid #d1fae5}.status-offline{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.status-maintenance{color:#d97706;background:#fffbeb;border:1px solid #fef3c7}.btn-refresh{background:#0d2554!important}.btn-refresh:hover{background:#1a3a7a!important}:root{--sidebar-bg:#0a1628;--sidebar-border:#ffffff0f;--sidebar-hover:#ffffff0a;--sidebar-active-bg:#3b82f61f;--sidebar-active-border:#60a5fa40;--sidebar-muted:#64748b;--sidebar-text:#94a3b8;--sidebar-white:#e2e8f0;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:#fff;flex-direction:column;flex-shrink:0;width:260px;height:100vh;transition:width .28s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden auto}.sidebar.collapsed{width:72px}.sidebar-header{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;gap:10px;min-height:72px;padding:20px 18px 20px 20px;display:flex;position:relative}.sidebar-logo-container{background:linear-gradient(135deg,#1e40af 0%,#1d4ed8 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sidebar-brand{letter-spacing:.08em;color:var(--sidebar-white);white-space:nowrap;flex:1;font-size:14px;font-weight:700;overflow:hidden}.sidebar.collapsed .sidebar-brand{opacity:0;width:0}.sidebar-toggle{background:var(--blue-500);border:2.5px solid var(--sidebar-bg);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.sidebar.collapsed .sidebar-toggle{transform:translateY(-50%)rotate(180deg)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex;overflow-y:auto}.nav-item{color:var(--sidebar-text);border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-white)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--blue-400);border-color:var(--sidebar-active-border)}.nav-icon{width:20px;height:20px}.nav-text{flex:1;transition:opacity .2s}.sidebar.collapsed .nav-text{opacity:0;width:0}.nav-dropdown{flex-direction:column;display:flex}.dropdown-arrow{margin-left:auto;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.nav-submenu{flex-direction:column;margin-top:4px;padding-left:40px;display:flex}.nav-subitem{color:var(--sidebar-muted);white-space:normal;word-break:break-word;padding:6px 0;font-size:13px;line-height:1.4;text-decoration:none;transition:color .2s;display:block}.nav-subitem:hover{color:var(--sidebar-white)}.nav-subitem.active{color:var(--blue-400);font-weight:500}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:10px}.user-profile{gap:10px;padding:8px;display:flex}.user-avatar{background:#1d4ed8;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;display:flex}.user-info{flex-direction:column;display:flex}.sidebar.collapsed .user-info{display:none}.logout-btn{width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:none;border-radius:8px;gap:10px;padding:10px;display:flex}.logout-btn:hover{color:#f87171;background:#dc26261a}.nav-dropdown .nav-item{text-align:left;cursor:pointer;appearance:none;background:0 0;border:1px solid #0000;outline:none;width:100%}.nav-dropdown .nav-item:focus,.nav-dropdown .nav-item:active,.nav-dropdown .nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-white)}.nav-dropdown .nav-item.active{background:var(--sidebar-active-bg);color:var(--blue-400);border-color:var(--sidebar-active-border)}
