@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f7f9fc;color:#111827}a{color:inherit;text-decoration:none}.layout{min-height:100vh}header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-bottom:1px solid #e5e7eb}.topbar{max-width:1120px;margin:0 auto;padding:14px 18px;display:flex;gap:12px;align-items:center}.topbar-logo{font-weight:600;font-size:1.05rem;display:flex;gap:8px;align-items:center}.topbar-user{font-weight:500;color:#9ca3af}.spacer{flex:1}.search{position:relative;flex:1;min-width:160px}.search input{width:100%;border:1px solid #d1d5db;border-radius:999px;padding:10px 14px 10px 36px;font:inherit;transition:border-color .2s ease;background:#fff}.search input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.search svg{position:absolute;top:50%;left:12px;width:18px;height:18px;transform:translateY(-50%);color:#9ca3af}.btn{border-radius:10px;border:1px solid transparent;padding:10px 16px;font-weight:500;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,background .2s ease,color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;background:#f3f4f6;color:#1f2937}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{border-color:#d1d5db;background:#fff;color:#1f2937}.btn-outline:hover:not(:disabled){background:#f3f4f6}.btn-primary{background:#4f46e5;color:#fff;border-color:#4f46e5}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-small{padding:6px 12px;border-radius:8px;font-size:.85rem}main{max-width:1120px;margin:0 auto;padding:24px 18px 32px}.tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.tabs button{padding:10px 18px;border:none;background:transparent;font-weight:500;cursor:pointer;border-radius:10px 10px 0 0;color:#6b7280;transition:background .2s ease,color .2s ease}.tabs button:hover{color:#374151}.tabs button.active{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-bottom-color:transparent}.tab-panel{margin-top:18px}.grid{display:grid;gap:16px}@media (min-width: 768px){.grid-md-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-lg-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.dashboard-charts{margin-top:18px}.chart-card{display:flex;flex-direction:column;gap:12px}.chart-card .chart{height:260px}@media (min-width: 1024px){.span-3{grid-column:span 3}.span-2{grid-column:span 2}}.card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:18px 20px;box-shadow:0 12px 30px #0f172a0d}.card h3{margin:0 0 10px;font-size:.95rem;color:#4b5563;font-weight:600}.stat-value{font-size:1.9rem;font-weight:700;margin-bottom:4px}.stat-subtitle{color:#6b7280;font-size:.85rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;padding:12px 0;color:#9ca3af;font-weight:500;border-bottom:1px solid #e5e7eb}td{padding:14px 0;border-bottom:1px solid #f3f4f6}.table-scroll{overflow-x:auto}.table-progress-cell{display:flex;gap:12px;align-items:center;width:210px}.table-progress-value{width:45px;text-align:right}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-weight:500;font-size:.75rem;background:#e5e7eb;color:#111827}.badge-alert{background:#fee2e2;color:#b91c1c}.progress{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden;flex:1}.progress span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#818cf8)}.patients-grid{display:grid;gap:16px}@media (min-width: 768px){.patients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.patient-card{display:flex;flex-direction:column;gap:12px}.patient-card-header{display:flex;justify-content:space-between;align-items:center}.patient-card-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.patient-card-progress{display:flex;gap:12px;align-items:center}.card-actions{display:flex;gap:10px;flex-wrap:wrap}.label{display:block;font-size:.85rem;color:#6b7280;margin-bottom:6px}.input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:10px 14px;font:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.muted{color:#6b7280;font-size:.85rem}.muted-spaced{margin-top:6px}.value-strong{font-weight:600;color:#1f2937}.checkbox-row{display:flex;gap:10px;align-items:center}.table-scroll::-webkit-scrollbar,.drawer-body::-webkit-scrollbar{height:6px;width:6px}.table-scroll::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb{border-radius:999px;background:#94a3b880}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:stretch;justify-content:flex-end;z-index:40}.drawer-panel{width:100%;max-width:720px;background:#fff;display:flex;flex-direction:column;animation:slideIn .24s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:20px;border-bottom:1px solid #edeff2;display:flex;justify-content:space-between;align-items:center}.drawer-subtitle{margin:0;font-size:.75rem}.drawer-title{margin:4px 0 0;font-size:1.2rem;font-weight:600}.drawer-title-secondary{font-weight:400;color:#6b7280}.drawer-body{padding:22px;overflow-y:auto;flex:1;background:#f9fafc;display:flex;flex-direction:column;gap:18px}.drawer-form{display:flex;flex-direction:column;gap:12px}.drawer-form-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.drawer-form-row .input{max-width:120px}.drawer-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.drawer-plan-action{display:flex;align-items:flex-end}.drawer-week-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.week-chip{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.week-chip-grid{display:flex;flex-direction:column;gap:6px;margin-top:10px}.week-chip-cell{border-radius:10px;border:1px solid #d1d5db;padding:6px 0;display:inline-flex;justify-content:center;align-items:center;gap:6px;font-size:.85rem}.table-scroll,.drawer-body,.editor-board{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.5) transparent}.meal-grid{width:100%;border-collapse:collapse;font-size:.8rem}.meal-grid th,.meal-grid td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.editor-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.editor-board{border:1px dashed #d1d5db;border-radius:14px;padding:16px;background:#f9fafb}.editor-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.editor-item{padding:12px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 8px 18px #0f172a0d;cursor:grab}.editor-sidebar{display:flex;flex-direction:column;gap:16px}.editor-repeat{display:flex;gap:10px;align-items:center}.editor-repeat .input{max-width:120px}.editor-repeat select.input{max-width:140px}.alert-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.divider{height:1px;background:#e5e7eb;margin:20px 0}.card-bordered{border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-top:16px;background:#fff}.card-bordered-title{margin:0 0 12px;font-weight:600}.alert-checkbox-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.scenario-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.scenario-list li{display:flex;justify-content:space-between;gap:12px;align-items:center}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.login-title{margin:0}.login-form{display:flex;flex-direction:column;gap:14px}.login-hint{text-align:center;font-size:.75rem}.settings-grid{display:grid;gap:16px}@media (min-width: 768px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-time-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:8px}.settings-threshold{display:flex;gap:10px;align-items:center;margin-top:8px}footer{max-width:1120px;margin:0 auto;padding:28px 18px 40px;color:#9ca3af;font-size:.75rem}@media (max-width: 640px){.topbar{flex-wrap:wrap}.search{order:3;width:100%}}
