@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800&display=swap";
.btn{font-family:var(--font-family);border-radius:var(--border-radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.6rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#fff;box-shadow:0 4px 12px #0084c626}.btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 20px #0084c640}.btn-secondary{background:linear-gradient(135deg, var(--color-secondary), var(--color-secondary-hover));color:#fff;box-shadow:0 4px 12px #5ac56c26}.btn-secondary:hover{transform:translateY(-1.5px);box-shadow:0 6px 20px #5ac56c40}.btn-outline{border-color:var(--color-border);color:var(--color-text);box-shadow:0 2px 4px var(--color-shadow);background-color:#fff}.btn-outline:hover{background-color:var(--color-bg);border-color:var(--color-border-hover);transform:translateY(-.5px)}.btn-danger{background-color:var(--color-danger);color:#fff;box-shadow:0 4px 12px #ef444426}.btn-danger:hover{background-color:#dc2626;transform:translateY(-1px)}.btn-sm{border-radius:var(--border-radius-full);padding:.5rem 1.2rem;font-size:.82rem}.card{background:var(--color-card-bg);-webkit-backdrop-filter:blur(16px);border-radius:var(--border-radius-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);border:1px solid #ffffffb3;padding:2.25rem;position:relative;box-shadow:0 10px 30px -10px #0f172a0d,0 1px 3px #0f172a05}.card:before{content:"";border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);height:4px;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;left:0;right:0}.card-hover:hover{border-color:#ffffffe6;transform:translateY(-2px);box-shadow:0 20px 40px -15px #0f172a14,0 1px 5px #0f172a08}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding-bottom:1.25rem;display:flex}.form-group{margin-bottom:1.5rem}.form-label{color:var(--color-heading);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.6rem;font-size:.85rem;font-weight:700;display:block}.form-control{border-radius:var(--border-radius-sm);border:1.5px solid var(--color-border);width:100%;font-family:var(--font-family);color:var(--color-heading);transition:all var(--transition-fast);background-color:#fffffff2;padding:.8rem 1.1rem;font-size:.95rem;box-shadow:inset 0 1px 2px #0f172a05}.form-control::placeholder{color:var(--color-text-muted);opacity:.7}.form-control:hover{border-color:var(--color-border-hover)}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light), inset 0 1px 2px #0084c60d;background-color:#fff;outline:none}select.form-control{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2em;padding-right:2.5rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.badge{border-radius:var(--border-radius-full);text-transform:uppercase;letter-spacing:.75px;align-items:center;gap:.35rem;padding:.35rem .9rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-blue{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-orange{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-green{background-color:var(--color-secondary-light);color:var(--color-secondary)}.badge-red{background-color:var(--color-danger-light);color:var(--color-danger)}.alert{border-radius:var(--border-radius-md);box-shadow:0 4px 12px var(--color-shadow);border-left:5px solid;align-items:flex-start;gap:.85rem;margin-bottom:1.75rem;padding:1.1rem 1.4rem;font-size:.92rem;display:flex}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:#92400e}.alert-danger{background-color:var(--color-danger-light);border-color:var(--color-danger);color:#991b1b}.alert-success{background-color:var(--color-secondary-light);border-color:var(--color-secondary);color:#166534}.flex-grow{flex-grow:1}.min-h-screen{min-height:100dvh}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.color-muted{color:var(--color-text-muted)}
.timeline{justify-content:space-between;margin:3.5rem 0 2.5rem;padding:0 2rem;display:flex;position:relative}.timeline:before{content:"";background-color:var(--color-border);z-index:1;border-radius:var(--border-radius-full);width:100%;height:5px;position:absolute;top:18px;left:0}.timeline-progress{background:linear-gradient(to right, var(--color-primary), var(--color-secondary));z-index:2;height:5px;transition:width var(--transition-normal);border-radius:var(--border-radius-full);position:absolute;top:18px;left:0}.timeline-step{z-index:3;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.timeline-circle{border:4px solid var(--color-border);width:40px;height:40px;color:var(--color-text-muted);transition:all var(--transition-normal);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex;box-shadow:0 2px 5px #0000000d}.timeline-step.active .timeline-circle{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 6px var(--color-primary-light), 0 4px 10px #0084c626;transform:scale(1.15)}.timeline-step.completed .timeline-circle{background:linear-gradient(135deg, var(--color-secondary), var(--color-secondary-hover));color:#fff;border-color:#0000;box-shadow:0 4px 8px #5ac56c33}.timeline-label{color:var(--color-text-muted);text-align:center;letter-spacing:-.1px;max-width:140px;margin-top:.75rem;font-size:.82rem;font-weight:700}.timeline-step.active .timeline-label{color:var(--color-primary);font-weight:800}.timeline-step.completed .timeline-label{color:var(--color-secondary)}
.patient-list{flex-direction:column;gap:1rem;margin-top:1.75rem;display:flex}.patient-row{border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 4px var(--color-shadow);background:#fff;justify-content:space-between;align-items:center;padding:1.4rem 1.75rem;display:flex}.patient-row:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:translate(4px);box-shadow:0 6px 16px #0084c614}.patient-meta{flex-direction:column;gap:.35rem;display:flex}.patient-title{color:var(--color-heading);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.patient-sub{color:var(--color-text-muted);gap:1.25rem;font-size:.88rem;display:flex}.patient-sub strong{color:var(--color-heading)}.patient-action{align-items:center;gap:1.25rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--border-radius-lg);border:1px solid var(--color-border);background:#fff;width:100%;max-width:680px;max-height:90vh;padding:2.5rem;animation:.35s cubic-bezier(.16,1,.3,1) modalSlideUp;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a40,0 0 1px #0f172a1a}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.grid-2{grid-template-columns:1fr 1fr;gap:1.75rem;display:grid}@media (max-width:768px){.grid-2{grid-template-columns:1fr}.timeline{flex-wrap:wrap;gap:1.5rem;padding:0}.timeline:before,.timeline-progress{display:none}.timeline-step{flex:0 0 calc(50% - 1rem)}.patient-row{flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.25rem}.patient-row:hover{transform:none}.patient-action{border-top:1px solid var(--color-border);justify-content:space-between;width:100%;padding-top:.75rem}.modal-content{padding:1.5rem}}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}@media (max-width:900px){.grid-3{grid-template-columns:1fr}}.vitals-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.85rem;margin:1.25rem 0;display:grid}.vital-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);text-align:center;transition:all var(--transition-fast);padding:1rem .75rem}.vital-card:hover{border-color:var(--color-border-hover);box-shadow:0 4px 8px var(--color-shadow);background-color:#fff;transform:translateY(-1px)}.vital-val{color:var(--color-primary);letter-spacing:-.5px;font-size:1.35rem;font-weight:800}.vital-lbl{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem;font-size:.72rem;font-weight:700}.prescription-table{border-collapse:separate;border-spacing:0;border-radius:var(--border-radius-sm);border:1px solid var(--color-border);width:100%;margin-top:1.25rem;overflow:hidden}.prescription-table th,.prescription-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.9rem 1rem}.prescription-table tr:last-child td{border-bottom:none}.prescription-table th{color:var(--color-heading);text-transform:uppercase;letter-spacing:.5px;background-color:#f1f5f9;font-size:.8rem;font-weight:700}.prescription-table td select,.prescription-table td input{border:1.5px solid var(--color-border);width:100%;font-family:var(--font-family);transition:all var(--transition-fast);background-color:#fff;border-radius:6px;padding:.55rem .75rem;font-size:.9rem}.prescription-table td select:focus,.prescription-table td input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.back-bar{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.card-registration{border-top:5px solid var(--color-primary)}.card-login{border-top:5px solid var(--color-warning)}
:root{--color-bg:#f8f9fa;--color-card-bg:#ffffffe0;--color-heading:#0f172a;--color-text:#334155;--color-text-muted:#64748b;--color-primary:#0084c6;--color-primary-hover:#0072ac;--color-primary-light:#e0f2fe;--color-secondary:#5ac56c;--color-secondary-hover:#48a658;--color-secondary-light:#f0fdf4;--color-danger:#ef4444;--color-danger-light:#fef2f2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-shadow:#0f172a0a;--color-shadow-hover:#0f172a14;--color-footer-bg:#0f172a;--font-family:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--border-radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--color-primary-circle:#0084c6}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#0084c60f 0,#0000 40%),radial-gradient(at 100% 0,#5ac56c0f 0,#0000 40%),radial-gradient(at 50% 100%,#0084c608 0,#0000 50%);background-attachment:fixed;flex-direction:column;width:100%;min-height:100%;margin:0;padding:0;font-size:16px;line-height:1.6;display:flex}.page-wrapper{flex-direction:column;flex-grow:1;justify-content:space-between;width:100%;display:flex}h1,h2,h3,h4,h5,h6{color:var(--color-heading);font-family:var(--font-family);letter-spacing:-.02em;font-weight:700;line-height:1.25}p{color:var(--color-text);font-family:var(--font-family)}a{color:var(--color-primary);font-family:var(--font-family);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}@media (max-width:640px){.app-container{padding:0 1rem}}.header{-webkit-backdrop-filter:blur(20px);z-index:100;background:#ffffffbf;border-bottom:1px solid #e2e8f0cc;padding:.5rem 0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo-group{align-items:center;gap:.85rem;display:flex}.logo-circle{border-radius:var(--border-radius-full);background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;justify-content:center;align-items:center;width:2.85rem;height:2.85rem;font-size:1.3rem;font-weight:800;display:flex;box-shadow:0 4px 14px #0084c640}.logo-text h1{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.logo-text p{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:-.1rem;font-size:.72rem;font-weight:700}
