*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,sans-serif;background:#f4f6f8;color:#333}a{text-decoration:none;color:inherit}ul{list-style:none}button{cursor:pointer;border:none;outline:none}header{background:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000000f}.logo{font-size:1.5rem;font-weight:600;color:#2a6fed}nav ul{display:flex;gap:20px}nav a{font-size:.95rem;color:#555}nav a:hover,nav a.active{color:#2a6fed}.container{display:flex;height:calc(100vh - 68px)}.sidebar{width:220px;background:#fff;padding:20px;border-right:1px solid #e0e2e5}.sidebar a{display:block;margin-bottom:16px;font-size:.95rem;color:#555;padding:8px;border-radius:4px}.sidebar a.active,.sidebar a:hover{background:#edf4ff;color:#2a6fed}main{flex:1;overflow-y:auto;padding:24px}.main-content,.main-section{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.main-content{min-height:calc(100% - 24px)}.main-section{margin-bottom:24px;padding:20px}h2{margin-bottom:20px;color:#2a6fed;font-size:1.5rem}.main-section h2{font-size:1.2rem;margin-bottom:16px}h3{font-size:1.2rem;margin:16px 0;color:#334155}.modal-content h3{margin-bottom:16px;font-size:1.1rem;color:#2a6fed}p{margin-bottom:14px;line-height:1.6}.section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #f0f2f5}.section:last-child{border-bottom:none}.two-column{display:flex;gap:24px}.left-column{flex:1;display:flex;flex-direction:column;gap:24px}.right-column{flex:1.5}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}.feature-card{background:#f9fafb;padding:18px;border-radius:6px;border:1px solid #f0f2f5}.feature-card h4{color:#2a6fed;margin-bottom:8px}.patient-info{background:#f9fafb;border-radius:6px;padding:16px;border:1px solid #f0f2f5}.patient-info p{margin-bottom:10px;font-size:.95rem;padding:6px 0;border-bottom:1px solid #f0f2f5}.patient-info p:last-child{border-bottom:none;margin-bottom:0}.patient-info strong{color:#2a6fed;display:inline-block;width:100px}.patient-info input{width:120px;padding:4px;border:1px solid #ddd;border-radius:4px}.metrics-container{background:#f9fafb;border-radius:6px;padding:16px;border:1px solid #f0f2f5}.metrics-table,.dosing-table{width:100%;border-collapse:collapse}.metrics-table th,.metrics-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f2f5;font-size:.9rem}.metrics-table th{background:#f1f5f9;font-weight:600;color:#334155}.metrics-table tr:hover td{background:#f8fafc}.metrics-table input{width:80px;padding:4px;border:1px solid #ddd;border-radius:4px}.dosing-container{position:relative;padding-bottom:40px}.dosing-table{border-radius:6px;border:1px solid #f0f2f5}.dosing-table thead{background:#f1f5f9}.dosing-table th{padding:12px 16px;text-align:left;font-size:.9rem;font-weight:600;color:#334155;border-bottom:1px solid #e2e8f0;position:sticky;top:0}.dosing-table td{padding:12px 16px;text-align:left;font-size:.9rem;border-bottom:1px solid #f0f2f5;transition:background .2s}.dosing-table tbody tr:hover td{background:#f8fafc}.dosing-table tbody{display:block;max-height:400px;overflow-y:auto}.dosing-table thead,.dosing-table tbody tr{display:table;width:100%;table-layout:fixed}.btn{padding:8px 16px;border-radius:4px;font-size:.9rem;transition:all .2s}.btn-primary,.btn-compute{background:#2a6fed;color:#fff}.btn-primary:hover,.btn-compute:hover{background:#1d5ede;transform:translateY(-1px)}.btn-edit{background:#ffce54;color:#333;padding:6px 12px}.btn-edit:hover{background:#ffc430;transform:translateY(-1px)}.btn-add{background:#48bb78;color:#fff}.btn-add:hover{background:#38a169}.btn-remove{background:#f56565;color:#fff;padding:4px 8px;font-size:.8rem}.btn-remove:hover{background:#e53e3e}.chart-wrapper{position:relative;width:100%;height:400px;margin:20px 0}canvas{width:100%!important;height:100%!important;object-fit:contain}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none}.spinner{border:4px solid #f3f3f3;border-top:4px solid #2A6FED;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:none;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:320px;box-shadow:0 4px 12px #00000026}.modal-content label{display:block;margin:8px 0 4px;font-size:.9rem}.modal-content input{width:100%;padding:8px;font-size:.9rem;margin-bottom:12px;border:1px solid #ccc;border-radius:4px;transition:border .2s}.modal-content input:focus{border-color:#2a6fed;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.switch{position:relative;display:inline-block;width:56px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#e0e0e0;border-radius:28px;box-shadow:inset 0 2px 4px #0000001a;transition:all .3s ease}.slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:all .3s ease}input:not(:checked)+.slider{background-color:#4ecdc4}input:not(:checked)+.slider:before{transform:translate(0)}input:checked+.slider{background-color:#ff6b6b}input:checked+.slider:before{transform:translate(28px)}.slider:after{position:absolute;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;transition:all .3s ease}.switch:hover .slider{box-shadow:0 0 0 3px #4ecdc433}input:checked+.slider:hover{box-shadow:0 0 0 3px #ff6b6b33}
