@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #eef1f8;--frame: #f3f5fa;--surface: #ffffff;--muted: #f5f7fb;--line: #e7eaf2;--ink: #16161d;--ink-2: #5d6275;--ink-3: #9aa0b1;--primary: #4f3cf5;--primary-2: #6a5af9;--primary-soft: #ecebff;--dark: #26262e;--blue: #7b96f3;--blue-soft: #e7edfe;--blue-ink: #3552c9;--violet: #9d8cfb;--violet-soft: #eeebff;--violet-ink: #4f3cf5;--green: #74dd98;--green-soft: #e2f8e9;--green-ink: #19854a;--red: #f28383;--red-soft: #fde6e6;--red-ink: #c43030;--orange: #f3a46c;--orange-soft: #fdeede;--orange-ink: #b85a17;--yellow: #f7da7a;--yellow-soft: #fdf6d9;--yellow-ink: #8a6a00;--grey: #c7ccd8;--grey-soft: #eef0f5;--grey-ink: #5d6275;--teal: #5fc9bf;--teal-soft: #ddf5f2;--teal-ink: #0f766e;--r-card: 22px;--r-md: 14px;--shadow: 0 1px 2px rgba(22, 22, 29, .04), 0 8px 24px rgba(22, 22, 29, .04);--font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nums{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.shell{display:grid;grid-template-columns:84px 1fr;min-height:100%;background:linear-gradient(90deg,var(--surface) 0 83px,var(--line) 83px 84px,var(--frame) 84px)}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 0;background:var(--surface);border-right:1px solid var(--line)}.rail-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0;margin-bottom:22px}.rail-btn{position:relative;width:48px;height:48px;border-radius:16px;border:0;background:transparent;display:grid;place-items:center;color:var(--ink-2);flex-shrink:0;text-decoration:none}.rail-btn:hover{background:var(--muted);color:var(--ink)}.rail-btn.active{background:var(--dark);color:#fff}.rail-btn .tip{position:absolute;left:58px;padding:5px 10px;border-radius:8px;background:var(--dark);color:#fff;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px);transition:.12s}.rail-btn:hover .tip,.rail-btn:focus-visible .tip{opacity:1;transform:none}.rail-spacer{flex:1}.main{min-width:0;background:var(--frame)}.page{max-width:1320px;margin:0 auto;padding:22px 32px 48px}.topbar{display:flex;align-items:center;gap:16px;margin-bottom:22px}.search{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:14px;background:var(--surface);color:var(--ink-3);width:min(340px,100%);box-shadow:var(--shadow)}.search input{border:0;outline:0;background:transparent;color:var(--ink);width:100%;min-width:0}.search input::placeholder{color:var(--ink-3)}.today-label{color:var(--primary);font-weight:500;white-space:nowrap}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.sync{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12px;white-space:nowrap}.sync.error{color:var(--red-ink)}.icon-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--surface);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow);flex-shrink:0}.icon-btn:hover{background:var(--muted)}.icon-btn:disabled{opacity:.5;cursor:default}.icon-btn.spin svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.who{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 6px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);max-width:220px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:600;font-size:12px;flex-shrink:0}.h1{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.2}.sub{color:var(--ink-2);margin:6px 0 0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.card{background:var(--surface);border-radius:var(--r-card);padding:20px 22px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;margin:0}.card-note{color:var(--ink-3);font-size:12px}.arrow-btn{margin-left:auto;width:40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--muted);color:var(--ink);flex-shrink:0;text-decoration:none}.arrow-btn:hover{background:var(--line)}.arrow-btn.dark{background:var(--dark);color:#fff}.grid-hoy{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.kpis{grid-column:span 5;display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-card{grid-column:span 7}.agenda-card{grid-column:span 8}.donut-card{grid-column:span 4}.kpi{display:flex;flex-direction:column;min-height:150px}.kpi .card-head{margin-bottom:8px}.kpi-label{font-weight:500;color:var(--ink)}.kpi-value{font-size:34px;font-weight:600;letter-spacing:-.02em;margin-top:auto;line-height:1.1;display:flex;align-items:center;gap:10px}.kpi-note{color:var(--ink-3);font-size:12px;margin-top:8px}.kpi.primary{background:var(--primary);color:#fff}.kpi.primary .kpi-label,.kpi.primary .kpi-note{color:#ffffffd1}.kpi.primary .arrow-btn{background:#fff;color:var(--primary)}.trend{font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;letter-spacing:0}.trend.up{background:var(--green-soft);color:var(--green-ink)}.trend.down{background:var(--red-soft);color:var(--red-ink)}.trend.flat{background:var(--grey-soft);color:var(--grey-ink)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ink-2);font-size:12px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}.bars{position:relative;height:230px;display:grid;grid-template-columns:34px 1fr;gap:8px}.bars-y{position:relative}.bars-y span{position:absolute;right:0;transform:translateY(50%);font-size:11px;color:var(--ink-3)}.bars-plot{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;align-items:end;border-bottom:1px solid var(--line)}.bars-plot .gl{position:absolute;left:0;right:0;border-top:1px dashed var(--line)}.bar{position:relative;display:flex;flex-direction:column-reverse;height:100%;justify-content:flex-start;cursor:default;border:0;background:transparent;padding:0}.bar-stack{display:flex;flex-direction:column-reverse;border-radius:10px 10px 4px 4px;overflow:hidden;width:100%;max-width:34px;margin:0 auto}.bar-stack span{display:block;width:100%}.bar-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:3;pointer-events:none;background:var(--dark);color:#fff;font-size:11px;padding:8px 10px;border-radius:10px;white-space:nowrap;line-height:1.5}.bars-x{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin:8px 0 0 42px}.bars-x span{text-align:center;font-size:11px;color:var(--ink-3);line-height:1.2}.bars-x span b{display:block;color:var(--ink-2);font-weight:500}.bars-x span.is-today b{color:var(--primary)}.donut-wrap{display:flex;align-items:center;gap:20px}.donut-legend{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.donut-legend div{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.donut-legend i{width:9px;height:9px;border-radius:50%;flex-shrink:0}.donut-legend b{margin-left:auto;font-weight:500}.pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0}.tone-blue{background:var(--blue-soft);color:var(--blue-ink)}.tone-violet{background:var(--violet-soft);color:var(--violet-ink)}.tone-green{background:var(--green-soft);color:var(--green-ink)}.tone-red{background:var(--red-soft);color:var(--red-ink)}.tone-orange{background:var(--orange-soft);color:var(--orange-ink)}.tone-yellow{background:var(--yellow-soft);color:var(--yellow-ink)}.tone-grey{background:var(--grey-soft);color:var(--grey-ink)}.tone-teal{background:var(--teal-soft);color:var(--teal-ink)}.chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;background:var(--muted);color:var(--ink-2);font-size:12px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:18px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;color:var(--ink)}.btn:hover{background:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn.dark{background:var(--dark);border-color:var(--dark);color:#fff}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.act-asistio:hover{background:var(--green-soft);border-color:var(--green);color:var(--green-ink)}.btn.act-no_vino:hover{background:var(--red-soft);border-color:var(--red);color:var(--red-ink)}.btn.act-cancelo:hover{background:var(--orange-soft);border-color:var(--orange);color:var(--orange-ink)}.btn.sm{height:32px;padding:0 12px;font-size:12px}.btn.wa{color:var(--green-ink)}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.link-btn{border:0;background:none;padding:0;color:var(--primary);font-weight:500;font-size:12px}.tabs{display:inline-flex;padding:4px;border-radius:14px;background:var(--muted);gap:2px}.tabs button{border:0;background:transparent;height:32px;padding:0 14px;border-radius:10px;font-size:13px;color:var(--ink-2);white-space:nowrap}.tabs button.on{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:var(--shadow)}.appt-list{display:flex;flex-direction:column}.appt{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.appt:first-child{border-top:0}.appt.compact{grid-template-columns:70px minmax(0,1fr)}.appt.compact .appt-side{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.appt.compact .dose-picker{align-items:flex-start}.appt-time{font-weight:600;font-size:13px}.appt-time small{display:block;color:var(--ink-3);font-weight:400;font-size:11px}.appt-main{min-width:0;display:flex;flex-direction:column;gap:4px}.appt-name{font-weight:500;display:flex;align-items:center;gap:8px;min-width:0}.appt-name button{border:0;background:none;padding:0;font-weight:500;text-align:left;min-width:0}.appt-name button:hover{color:var(--primary)}.appt-meta{display:flex;gap:6px;align-items:center;color:var(--ink-3);font-size:12px;min-width:0;flex-wrap:wrap}.appt-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.mark-line{font-size:11px;color:var(--ink-3);display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.dose-picker{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:12px}.inline-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.inline-form input,.inline-form select{height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:0 10px;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:0}.inline-form input[type=number]{width:90px}.inline-form .grow{flex:1;min-width:160px}.inline-form .grow input{width:100%}.rec-list{display:flex;flex-direction:column}.rec{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.rec:first-child{border-top:0}.rec .grow{flex:1;min-width:0}.big-num{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1}.msg-box{width:100%;min-height:120px;border-radius:14px;border:1px solid var(--line);background:var(--muted);padding:12px 14px;font:inherit;font-size:13px;line-height:1.5;resize:vertical}.warn-card{background:var(--yellow-soft);color:#5c4700}.warn-card a,.warn-card button.link-btn{color:#5c4700;text-decoration:underline}.empty{padding:28px 8px;text-align:center;color:var(--ink-3)}.day-group{margin-top:18px}.day-group h3{font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 4px}.state-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.state-cards.five{grid-template-columns:repeat(5,minmax(0,1fr))}.state-card{border:0;padding:0;border-radius:18px;background:var(--surface);overflow:hidden;text-align:left;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;outline:2px solid transparent;outline-offset:0}.state-card .band{padding:9px 14px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-card .body{padding:12px 14px 14px;display:flex;align-items:baseline;gap:8px}.state-card .body b{font-size:26px;font-weight:600;letter-spacing:-.02em}.state-card .body span{color:var(--ink-3);font-size:11px}.state-card.on{outline-color:var(--dark)}.state-card:hover .band{filter:saturate(1.15)}.band.tone-blue{background:var(--blue);color:#fff}.band.tone-violet{background:var(--violet);color:#fff}.band.tone-green{background:var(--green);color:#0f4d2a}.band.tone-red{background:var(--red);color:#fff}.band.tone-orange{background:var(--orange);color:#fff}.band.tone-yellow{background:var(--yellow);color:#5c4700}.band.tone-grey{background:var(--grey);color:#3b3f4c}.band.tone-teal{background:var(--teal);color:#0b3f3a}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.toolbar .count{color:var(--ink-3);font-size:13px;white-space:nowrap}.toolbar .count b{color:var(--ink);font-weight:600}.select{height:40px;padding:0 34px 0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:13px;max-width:240px;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='%235d6275' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.pager{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:13px;white-space:nowrap}.pager b{color:var(--ink);font-weight:600}.pager button{width:34px;height:34px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center}.pager button:hover:not(:disabled){background:var(--surface)}.pager button:disabled{opacity:.35;cursor:default}.filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;min-height:30px}.fchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:12px;white-space:nowrap}.fchip button{width:20px;height:20px;border-radius:50%;border:0;background:var(--muted);display:grid;place-items:center;padding:0}.table-card{padding:6px 8px 8px}.table{width:100%;border-collapse:collapse;table-layout:fixed}.table th{text-align:left;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:14px 12px;background:var(--muted)}.table th:first-child{border-radius:12px 0 0 12px}.table th:last-child{border-radius:0 12px 12px 0}.table td{padding:14px 12px;border-top:1px solid var(--line);vertical-align:middle;font-size:13px}.table tbody tr:first-child td{border-top:0}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:#fafbfe}.cell-name{font-weight:500}.cell-sub{color:var(--ink-3);font-size:12px;margin-top:2px}.foot-note{color:var(--ink-3);font-size:12px;margin-top:14px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#16161d47;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);z-index:41;background:var(--frame);display:flex;flex-direction:column;box-shadow:-12px 0 40px #16161d1f}.drawer-head{padding:22px 24px 18px;background:var(--surface);border-bottom:1px solid var(--line)}.drawer-top{display:flex;align-items:flex-start;gap:12px}.drawer-top h2{font-size:22px;font-weight:600;margin:0;letter-spacing:-.01em;line-height:1.25}.drawer-body{padding:18px 24px 40px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.facts div span{display:block;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.facts div b{font-weight:500}.source{color:var(--ink-3);font-size:11px}.login{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 600px at 110% -10%,#5b4cf7,#5b4cf700 60%),radial-gradient(900px 500px at -20% 120%,#3d7bf6,#3d7bf600 60%),var(--bg)}.login-card{width:min(400px,100%);background:var(--surface);border-radius:28px;padding:34px 30px 30px;box-shadow:0 30px 80px #16161d2e}.login-card img{width:190px;height:auto;display:block;margin:0 auto 26px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:500;color:var(--ink-2)}.field input{height:46px;border-radius:14px;border:1px solid var(--line);background:var(--muted);padding:0 14px;outline:0}.field input:focus{border-color:var(--primary);background:var(--surface)}.form-error{color:var(--red-ink);font-size:13px;margin:0 0 12px}.login-card .btn{width:100%;height:46px;border-radius:14px;font-size:14px}.toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;width:min(460px,calc(100% - 32px))}.toast{background:var(--dark);color:#fff;padding:12px 14px;border-radius:14px;display:flex;align-items:center;gap:12px;font-size:13px;box-shadow:0 12px 30px #16161d40}.toast.error{background:var(--red-ink)}.toast button{margin-left:auto;border:0;background:#ffffff29;color:#fff;height:30px;padding:0 12px;border-radius:10px;font-weight:500;white-space:nowrap}.banner{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--red-soft);color:var(--red-ink);margin-bottom:18px;font-size:13px}.loading{padding:60px 0;text-align:center;color:var(--ink-3)}.bottom-nav{display:none}@media(max-width:1180px){.kpis,.chart-card,.agenda-card,.donut-card{grid-column:span 12}.kpis,.state-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.state-cards.five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.shell{grid-template-columns:1fr;background:var(--frame)}.rail{display:none}.page{padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.topbar{margin-bottom:16px;gap:10px}.topbar .search,.who{display:none}.h1{font-size:24px}.kpis{grid-template-columns:1fr 1fr;gap:12px}.grid-hoy{gap:12px}.kpi{min-height:132px;padding:16px}.kpi-value{font-size:28px}.card{padding:16px;border-radius:20px}.state-cards,.state-cards.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appt{grid-template-columns:64px minmax(0,1fr)}.appt-side{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.appt-side .actions{justify-content:stretch;width:100%}.appt-side .mark-line{width:100%}.dose-picker{align-items:stretch;width:100%}.inline-form input,.inline-form select,.field input,.msg-box,.search input{font-size:16px}.appt-side .actions .btn{flex:1}.mark-line{justify-content:flex-start}.bars{height:190px}.bars-plot,.bars-x{gap:4px}.donut-wrap{flex-direction:column;align-items:stretch}.donut-wrap svg{align-self:center}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:12px 8px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.table tbody tr:first-child{border-top:0}.table td{border:0;padding:0}.table td.c-state{grid-column:2;grid-row:1}.table td.c-hide{display:none}.table td.c-last{grid-column:1 / -1}.pager{margin-left:0}.select{flex:1 1 100%;min-width:0;max-width:none;order:3}.facts{grid-template-columns:1fr 1fr}.drawer-head{padding:18px 16px 14px;padding-top:calc(18px + env(safe-area-inset-top))}.drawer-body{padding:14px 16px 40px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:12px;right:12px;z-index:30;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--dark);border-radius:22px;padding:6px;box-shadow:0 12px 30px #16161d40}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:16px;color:#ffffffb3;text-decoration:none;font-size:11px}.bottom-nav a.active{background:#ffffff1f;color:#fff}.toasts{bottom:calc(100px + env(safe-area-inset-bottom))}}@media(max-width:380px){.kpis{grid-template-columns:1fr}}.mobile-only{display:none!important}@media(max-width:820px){.mobile-only{display:grid!important}img.mobile-only{display:block!important}.topbar{flex-wrap:wrap}.topbar .search{display:flex;order:5;width:100%}.topbar .sync{display:none}.today-label{font-size:13px}.page-head .tabs{width:100%;overflow-x:auto}}
