*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#f0f4f8;color:#1a202c;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0003}.app-header h1{font-size:1.4rem;font-weight:700;letter-spacing:.5px}.app-header .subtitle{font-size:.8rem;opacity:.85}.header-logo{background:#fff;color:#1e40af;font-weight:900;font-size:1.1rem;width:2.4rem;height:2.4rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.main-content{flex:1;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .15s;white-space:nowrap}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.97)}.btn-primary{background:#2563eb;color:#fff}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-warning{background:#d97706;color:#fff}.btn-ghost{background:transparent;color:#4b5563;border:1px solid #d1d5db}.btn-ghost:hover{background:#f3f4f6}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014;overflow:hidden}.card-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:1rem}.card-body{padding:1.25rem}.severity-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.severity-stable{background:#dcfce7;color:#166534}.severity-watcher{background:#fef9c3;color:#854d0e}.severity-unstable{background:#fee2e2;color:#991b1b}.patient-list{display:flex;flex-direction:column;gap:.75rem}.patient-card{border-radius:10px;border:2px solid transparent;transition:box-shadow .15s,border-color .15s;cursor:default}.patient-card:hover{box-shadow:0 4px 12px #0000001a}.patient-card.dragging{box-shadow:0 8px 24px #0000002e;border-color:#93c5fd}.patient-card-inner{padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem}.drag-handle{color:#9ca3af;cursor:grab;font-size:1.1rem;padding:.2rem;flex-shrink:0}.drag-handle:active{cursor:grabbing}.patient-info{flex:1;min-width:0}.patient-name{font-weight:700;font-size:.95rem}.patient-meta{font-size:.78rem;color:#6b7280;margin-top:.1rem}.patient-actions{display:flex;gap:.4rem;flex-shrink:0}.severity-group{margin-bottom:1.25rem}.severity-group-header{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;margin-bottom:.5rem;border-bottom:2px solid currentColor}.severity-group-header.stable{color:#16a34a;border-color:#86efac}.severity-group-header.watcher{color:#d97706;border-color:#fde68a}.severity-group-header.unstable{color:#dc2626;border-color:#fca5a5}.severity-group-header h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.form-section{margin-bottom:1.5rem;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.form-section-header{background:#eff6ff;padding:.75rem 1rem;display:flex;align-items:flex-start;gap:.6rem;border-bottom:1px solid #dbeafe}.form-section-letter{background:#2563eb;color:#fff;font-weight:900;font-size:1.1rem;width:2rem;height:2rem;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-section-title{font-weight:700;font-size:.95rem;color:#1e40af}.form-section-hint{font-size:.78rem;color:#3b82f6;margin-top:.15rem;line-height:1.4}.form-section-body{padding:1rem;display:flex;flex-direction:column;gap:.85rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-label{font-size:.8rem;font-weight:600;color:#374151}.form-hint{font-size:.73rem;color:#6b7280;font-style:italic}input[type=text],input[type=number],textarea,select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;background:#fff}input:focus,textarea:focus,select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.action-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem;align-items:center;padding:.6rem .75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.action-item input{background:#fff}.action-item-done{display:flex;align-items:center;gap:.3rem;font-size:.78rem}.contingency-item{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center;padding:.6rem .75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.contingency-item input{background:#fff}.readoff-container{display:flex;flex-direction:column;gap:1.5rem}.readoff-patient{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:border-color .2s}.readoff-patient.active{border-color:#3b82f6}.readoff-patient-header{background:#f0f4f8;padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.readoff-patient.active .readoff-patient-header{background:#eff6ff}.readoff-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.readoff-section{display:flex;flex-direction:column;gap:.3rem}.readoff-section-label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.readoff-letter{background:#2563eb;color:#fff;font-size:.7rem;font-weight:900;width:1.4rem;height:1.4rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.readoff-text{font-size:.875rem;line-height:1.6;white-space:pre-wrap}.readoff-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.readoff-list li{font-size:.875rem;padding:.3rem .6rem;background:#f9fafb;border-radius:4px;border-left:3px solid #3b82f6}.readoff-list li.done{opacity:.5;text-decoration:line-through;border-left-color:#9ca3af}.readoff-nav{display:flex;justify-content:center;gap:.75rem;padding:1rem;position:sticky;bottom:0;background:#f0f4f8;border-top:1px solid #e5e7eb;margin-top:1rem}.readoff-progress{text-align:center;font-size:.8rem;color:#6b7280;padding:.5rem}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 0;margin-bottom:.5rem}.toolbar .spacer{flex:1}.empty-state{text-align:center;padding:3rem 1rem;color:#9ca3af}.empty-state .icon{font-size:3rem;margin-bottom:.75rem}.empty-state p{font-size:.9rem}.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:#1e293b;color:#fff;padding:.65rem 1rem;border-radius:8px;font-size:.85rem;box-shadow:0 4px 12px #0003;animation:slideIn .2s ease;z-index:1000}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.view-tabs{display:flex;gap:.3rem;padding:.75rem 0}.view-tab{padding:.45rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#6b7280;transition:all .15s}.view-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}.view-tab:hover:not(.active){background:#f3f4f6}.text-muted{color:#6b7280}.mt-1{margin-top:.25rem}.gap-items{display:flex;gap:.5rem;flex-wrap:wrap}
