@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_a847c334-module__X1lapa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_a847c334-module__X1lapa__variable{--font-ui:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_b04c6b72-module__rG0F1a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_b04c6b72-module__rG0F1a__variable{--font-data:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-base:#0a0a0a;--bg-panel:#101010;--bg-card:#161616;--bg-card-hover:#212121;--bg-input:#121212;--border:#2a2a2a;--border-active:#2563eb;--text-primary:#e5e5e5;--text-secondary:#8a8a8a;--text-muted:#4d4d4d;--accent-blue:#2563eb;--accent-cyan:#00bcd4;--accent-green:#10e87a;--gradient-brand:linear-gradient(135deg, #2563eb 0%, #00bcd4 50%, #10e87a 100%);--gradient-brand-h:linear-gradient(90deg, #2563eb 0%, #00bcd4 50%, #10e87a 100%);--state-pending:#f59e0b;--state-confirmed:#10e87a;--state-cancelled:#ef4444;--state-expired:#334155;--sys-online:#10e87a;--sys-offline:#ef4444;--font-ui:"Inter", "Segoe UI", sans-serif;--font-data:"JetBrains Mono", "Courier New", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--sidebar-width:220px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg-base:#f8fafc;--bg-panel:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#fff;--border:#e2e8f0;--border-active:#2563eb;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--accent-cyan:#0e7490;--accent-green:#059669;--state-confirmed:#059669;--state-expired:#94a3b8;--sys-online:#059669;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{height:100%}html,body{max-width:100vw;overflow:hidden}body{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .15s,color .15s}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.mono{font-family:var(--font-data)}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:10px}.hoverable-row{border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s;display:flex}.hoverable-row:hover{background:var(--bg-card-hover)}.spinner{border:2.5px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;animation:.7s linear infinite spinner-spin;display:inline-block}@keyframes spinner-spin{to{transform:rotate(360deg)}}.page-loading{height:100%;display:flex}.loader{min-height:200px;color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:12.5px;display:flex}.loader .spinner{color:var(--accent-blue)}.app-shell{height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-content{background:var(--bg-base);flex:1;min-height:0;padding:24px;overflow-y:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge--pendiente{color:var(--state-pending);background:#f59e0b1f;border:1px solid #f59e0b40}.badge--confirmado{color:var(--state-confirmed);background:#10e87a1a;border:1px solid #10e87a33}.badge--cancelado{color:var(--state-cancelled);background:#ef44441a;border:1px solid #ef444433}.badge--expirado{color:#475569;background:#3341554d;border:1px solid #33415566}.btn{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{color:#fff;background:linear-gradient(90deg,#2563eb,#00bcd4);border:none}.btn--primary:hover:not(:disabled){filter:brightness(1.1)}.btn--secondary{color:var(--accent-blue);border:1px solid var(--border);background:0 0}.btn--secondary:hover:not(:disabled){border-color:var(--border-active);background:var(--bg-card-hover)}.btn--whatsapp{color:var(--accent-green);background:#10e87a1a;border:1px solid #10e87a33}.btn--whatsapp:hover:not(:disabled){background:#10e87a2e}.btn--danger{color:var(--state-cancelled);background:#ef44441a;border:1px solid #ef444433}.btn--danger:hover:not(:disabled){background:#ef44442e}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100vh - 48px);box-shadow:0 0 0 1px var(--border), 0 40px 80px #0009;flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-primary);font-size:15px;font-weight:700}.modal-close{color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.form-label{margin-bottom:6px;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-ui);padding:9px 11px;font-size:13px}.form-input::placeholder{color:var(--text-secondary);opacity:1}.form-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #2563eb26}.form-textarea{resize:vertical;min-height:72px;font-family:var(--font-ui)}.checkbox{color:var(--text-primary);align-items:center;gap:7px;font-size:13px;display:inline-flex}.checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-blue)}.settings-page{flex-direction:column;gap:20px;max-width:640px;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:20px 22px;display:flex}.settings-section-title{color:var(--text-primary);font-size:13px;font-weight:700}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row-label{color:var(--text-primary);font-size:13px;font-weight:500}.settings-row-desc{color:var(--text-secondary);margin-top:2px;font-size:11.5px}.settings-row-value{color:var(--text-secondary);font-size:13px}.settings-theme-toggle{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.settings-theme-option{border-radius:var(--radius-pill);color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:500;transition:all .15s;display:flex}.settings-theme-option--active{background:var(--accent-blue);color:#fff}.settings-foto-row{align-items:center;gap:16px;display:flex}.settings-foto-avatar{color:#fff;background:linear-gradient(90deg,#2563eb,#00bcd4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:flex;overflow:hidden}.settings-foto-avatar img{object-fit:cover;width:100%;height:100%}.settings-foto-actions{gap:8px;display:flex}.settings-foto-upload{cursor:pointer}.form-success{border-radius:var(--radius-md);color:var(--state-confirmed);background:#10e87a1a;border:1px solid #10e87a33;padding:10px 12px;font-size:12.5px}.sidebar{width:var(--sidebar-width);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-top:1px;padding:20px;display:flex}.sidebar-brand-name{color:var(--text-primary);font-size:15px;font-weight:700}.sidebar-brand-name-accent{color:var(--accent-blue)}.sidebar-close-btn{color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar-backdrop{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex}.sidebar-nav-item{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.sidebar-nav-item svg{flex-shrink:0}.sidebar-nav-item:hover{color:var(--text-primary);background:var(--bg-card-hover)}.sidebar-nav-item--active{color:var(--accent-blue);background:var(--bg-card-hover);font-weight:600}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;padding:16px 18px;display:flex}.sidebar-user-avatar{color:#fff;background:linear-gradient(90deg,#2563eb,#00bcd4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.sidebar-user-avatar img{object-fit:cover;width:100%;height:100%}.sidebar-user-name{color:var(--text-primary);font-size:12.5px;font-weight:600}.sidebar-user-role{color:var(--text-secondary);margin-top:2px;font-size:11px}.header-left{align-items:center;gap:12px;display:flex}.header-menu-btn{color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;padding:13px 20px;display:flex}.header-title{color:var(--text-primary);font-size:1.4rem;font-weight:700}.header-date{color:var(--text-secondary);font-size:12.5px}.header-right{align-items:center;gap:16px;display:flex}.header-centro-badge{color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-pill);white-space:nowrap;padding:6px 14px;font-size:12px;font-weight:600}.header-icon-btn{color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.header-icon-btn:hover{color:var(--text-primary)}.header-user{border-left:1px solid var(--border);align-items:center;gap:10px;padding-left:16px;display:flex}.header-user-avatar{color:#fff;background:linear-gradient(90deg,#2563eb,#00bcd4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex;position:relative;overflow:hidden}.header-user-avatar img{object-fit:cover;width:100%;height:100%}.header-user-online{background:var(--sys-online);border:2px solid var(--bg-panel);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.header-user-name{color:var(--text-primary);font-size:13px;font-weight:600}.header-user-role{color:var(--text-secondary);font-size:11px}.stats-cards{grid-template-rows:repeat(2,1fr);grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.stats-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.stats-card--lg{flex-direction:column;grid-area:1/1/span 2;padding:24px 26px;display:flex}.stats-card-top{justify-content:space-between;align-items:flex-start;display:flex}.stats-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:11px;font-weight:600}.stats-card-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stats-card-badge--lg{width:44px;height:44px}.stats-card-value{margin-top:12px;font-size:2.25rem;font-weight:700;line-height:1}.stats-card-value--lg{font-size:3.25rem}.stats-card-lg-hero{margin-top:14px}.stats-card-lg-breakdown{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:20px;padding-top:16px;display:flex}.stats-card-lg-breakdown-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:10.5px;font-weight:600}.stats-card-lg-row{align-items:center;gap:10px;margin:0 -6px;padding:4px 6px;display:flex}.stats-card-lg-row-label{width:90px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12.5px;overflow:hidden}.stats-card-lg-row-bar{border-radius:var(--radius-pill);background:var(--bg-base);flex:1;height:6px;overflow:hidden}.stats-card-lg-row-bar-fill{border-radius:var(--radius-pill);background:var(--accent-blue);height:100%;display:block}.stats-card-lg-row-value{text-align:right;min-width:18px;color:var(--text-primary);flex-shrink:0;font-size:12.5px;font-weight:600}.stats-card-subtitle{color:var(--text-secondary);margin-top:8px;font-size:12px}.transfer-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;align-self:stretch;width:280px;min-height:0;display:flex;overflow:hidden}.transfer-list-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.transfer-list-count{color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:600}.transfer-list-items{flex-direction:column;flex:1;min-height:0;max-height:513px;display:flex;overflow-y:auto}.transfer-list-item{border:none;border-left:3px solid #0000;border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 16px;transition:all .15s;display:flex}.transfer-list-item:hover{background:var(--bg-card-hover)}.transfer-list-item--selected{background:var(--bg-card-hover);border-left:3px solid var(--accent-blue);border-image:linear-gradient(#2563eb,#10e87a) 1}.transfer-list-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.transfer-list-body{flex-direction:column;gap:3px;min-width:0;display:flex}.transfer-list-meta{color:var(--text-secondary);font-size:10px}.transfer-list-name{color:var(--text-primary);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.transfer-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;align-self:stretch;min-width:0;min-height:0;padding:24px;overflow-y:auto}.transfer-detail--empty{opacity:.15;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.transfer-detail-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.transfer-detail-name{color:var(--text-primary);font-size:2rem;font-weight:700}.transfer-detail-subline{color:var(--accent-cyan);letter-spacing:.04em;margin-top:6px;font-size:11px}.transfer-detail-actions{flex-shrink:0;gap:8px;display:flex}.transfer-detail-turno{border-radius:var(--radius-md);background:var(--bg-base);color:var(--accent-blue);align-items:center;gap:8px;margin-top:16px;padding:14px 16px;display:flex}.transfer-detail-turno-label{color:var(--text-secondary);font-size:12px;font-weight:600}.transfer-detail-turno-hora{color:var(--text-primary);margin-left:auto;font-size:1.1rem;font-weight:700}.transfer-detail-choferes{border-bottom:1px solid var(--border);gap:24px;padding:18px 0;display:flex}.transfer-detail-chofer{flex-direction:column;gap:4px;display:flex}.transfer-detail-chofer-nombre{color:var(--text-primary);font-size:13px;font-weight:600}.transfer-detail-chofer-nombre--cancelada{color:var(--text-secondary);text-decoration:line-through}.transfer-detail-tramo-row{align-items:center;gap:8px;display:flex}.transfer-detail-tramo-badge{color:var(--state-cancelled);border-radius:var(--radius-pill);background:#ef44441a;border:1px solid #ef444433;padding:2px 8px;font-size:10.5px;font-weight:600}.transfer-detail-tramo-toggle{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.transfer-detail-tramo-toggle:hover{text-decoration:underline}.transfer-detail-section{border-bottom:1px solid var(--border);padding:18px 0}.transfer-detail-section:last-child{border-bottom:none}.transfer-detail-section p{color:var(--text-primary);margin-top:8px;font-size:14px}.transfer-detail-line{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.transfer-detail-days{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.transfer-detail-day-badge{border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-secondary);padding:3px 9px;font-size:11px;font-weight:600}.transfer-detail-line svg{color:var(--accent-blue);flex-shrink:0}.transfer-detail-alert,.transfer-detail-alert svg{color:var(--state-pending)!important}.transfer-detail-observacion{font-style:italic;color:var(--text-secondary)!important}.side-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;height:300px;padding:18px;display:flex}.side-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.side-panel-title{color:var(--text-primary);font-size:14px;font-weight:700}.side-panel-count{color:var(--text-secondary);font-size:11px}.side-panel-cta{border-radius:var(--radius-pill);color:#fff;background:linear-gradient(90deg,#2563eb,#00bcd4);padding:6px 16px;font-size:12px;font-weight:600}.side-panel-cta:hover{filter:brightness(1.1)}.side-panel-search{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);flex-shrink:0;margin-bottom:12px;padding:9px 12px;font-size:13px}.side-panel-search:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #2563eb26}.side-panel-list{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.side-panel-item{align-items:center;gap:10px;padding:6px 4px;display:flex}.side-panel-item-avatar{color:#fff;background:var(--gradient-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.side-panel-item-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.side-panel-item-days{flex-shrink:0;gap:4px;display:flex}.side-panel-item-day{border-radius:var(--radius-pill);background:var(--bg-base);color:var(--text-secondary);flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600}.side-panel-empty{text-align:center;color:var(--text-secondary);padding:20px 0;font-size:12.5px}.historial-panel-item{align-items:baseline;gap:10px;padding:6px 4px;font-size:12px;display:flex}.historial-panel-hora{color:var(--text-secondary);flex-shrink:0;font-size:11px}.historial-panel-mensaje{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.patients-modal-form{flex-direction:column;gap:16px;display:flex}.patients-modal-row{gap:16px;display:flex}.patients-modal-row>*{flex:1}.patients-modal-telefono{gap:8px;display:flex}.patients-modal-telefono-codigo{flex-shrink:0;width:90px}.patients-modal-telefono input{flex:1;min-width:0}.patients-modal-field{flex-direction:column;display:flex}.patients-modal-dias{flex-wrap:wrap;gap:10px;display:flex}.patients-modal-dia{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);align-items:center;gap:8px;padding:7px 10px;display:flex}.patients-modal-dia--activo{border-color:var(--border-active)}.patients-modal-dia-hora{width:90px;padding:5px 8px;font-size:12px}.patients-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.whatsapp-modal{flex-direction:column;gap:16px;display:flex}.whatsapp-modal-target{color:var(--text-secondary);font-size:12px}.whatsapp-modal-field{flex-direction:column;display:flex}.whatsapp-modal-templates{flex-wrap:wrap;gap:8px;display:flex}.whatsapp-modal-template{border-radius:var(--radius-md);background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);padding:7px 12px;font-size:12px;transition:all .15s}.whatsapp-modal-template:hover{border-color:var(--border-active);color:var(--text-primary)}.whatsapp-modal-template--selected{border-color:var(--accent-green);color:var(--accent-green);background:#10e87a1a}.whatsapp-modal-sent{border-radius:var(--radius-md);color:var(--accent-green);background:#10e87a1a;border:1px solid #10e87a33;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.whatsapp-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.dashboard-page{flex-direction:column;gap:20px;min-height:100%;display:flex}.dashboard-panels{flex:1;gap:16px;min-height:480px;display:flex}.dashboard-bottom{flex-shrink:0;grid-template-columns:1fr 1fr;gap:16px;display:grid}.calendar-page{flex-direction:column;gap:16px;min-height:100%;display:flex}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.calendar-title{color:var(--text-primary);font-size:20px;font-weight:700}.calendar-subtitle{color:var(--text-secondary);font-size:13px}.calendar-centro-select{width:auto;min-width:180px}.calendar-centro-label{color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-pill);padding:6px 14px;font-size:13px;font-weight:600}.live-badge{color:var(--accent-green);border-radius:var(--radius-pill);background:#10e87a1a;border:1px solid #10e87a33;flex-shrink:0;align-items:center;gap:7px;padding:5px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.live-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 0 3px #10e87a26}.live-badge-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.week-grid-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex:1;min-height:0;overflow:auto}.week-grid{border-collapse:collapse;width:100%;font-size:12.5px}.week-grid thead th{z-index:1;background:var(--bg-card-hover);color:var(--text-primary);text-align:left;border:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600;position:sticky;top:0}.week-grid-hour-header{min-width:70px}.week-grid-hour{z-index:1;background:var(--bg-card-hover);color:var(--text-secondary);font-family:var(--font-data);white-space:nowrap;border:1px solid var(--border);padding:6px 12px;font-size:11.5px;position:sticky;left:0}.week-grid-cell{border:1px solid var(--border);vertical-align:top;min-width:120px;padding:4px 6px}.week-grid-row--alt .week-grid-cell,.week-grid-row--alt .week-grid-hour{background:var(--bg-input)}.week-grid-patient{background:color-mix(in srgb, var(--accent-blue) 14%, transparent);color:var(--accent-blue);border-radius:var(--radius-sm);white-space:nowrap;cursor:default;align-items:center;gap:4px;margin-bottom:3px;padding:3px 7px;font-size:11.5px;font-weight:500;display:flex}.week-grid-patient--salida{background:color-mix(in srgb, var(--state-cancelled) 16%, transparent);color:var(--state-cancelled)}.week-grid-patient-icon{flex-shrink:0}.week-grid-patient-icon--salida{transform:scaleX(-1)}.week-grid-patient-centro{opacity:.75;letter-spacing:.03em;border-left:1px solid;flex-shrink:0;padding-left:4px;font-size:9.5px;font-weight:700}.week-grid-popover{z-index:50;pointer-events:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:fixed;box-shadow:0 12px 32px #00000040}.week-grid-popover-nombre{color:var(--text-primary);font-size:13px;font-weight:700}.week-grid-popover-turno{color:var(--accent-blue);margin-bottom:2px;font-size:11.5px;font-weight:600}.week-grid-popover-row{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.week-grid-popover-row--alerta{color:var(--state-cancelled)}.week-grid-popover-observacion{color:var(--text-secondary);border-top:1px solid var(--border);margin-top:2px;padding-top:6px;font-size:11.5px}.week-grid-day-fecha{color:var(--text-secondary);font-size:10px;font-weight:500;display:block}.week-grid-patient--cancelada{opacity:.5;text-decoration:line-through}.week-grid-popover--interactive{pointer-events:auto}.week-grid-popover-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.week-grid-popover-close{color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.week-grid-popover-close:hover{color:var(--text-primary)}.week-grid-popover-tramo-cancelada{color:var(--state-cancelled);font-size:11px;font-weight:600}.patients-page{flex-direction:column;gap:20px;display:flex}.patients-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.patients-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.patients-count{color:var(--text-secondary);font-size:12px}.patients-filters{align-items:center;gap:10px;display:flex}.patients-filter-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:8px 10px;font-size:11px}.patients-filter-select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #2563eb26}.patients-list{flex-direction:column;gap:12px;display:flex}.patient-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);gap:14px;width:100%;padding:16px 18px;transition:all .15s;display:flex}.patient-card:hover{background:var(--bg-card-hover);border-color:var(--border-active)}.patient-card-avatar{color:#fff;background:var(--gradient-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:flex}.patient-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.patient-card-top{align-items:center;gap:12px;display:flex}.patient-card-name{color:var(--text-primary);font-size:14.5px;font-weight:600}.patient-card-days{gap:4px;display:flex}.patient-card-day-badge{border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-secondary);padding:2px 6px;font-size:10px}.patient-card-status{color:var(--accent-green);align-items:center;gap:6px;margin-left:auto;font-size:11.5px;font-weight:600;display:flex}.patient-card-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.patient-card-status--inactive{color:var(--text-muted)}.patient-card-address{color:var(--text-secondary);font-size:13px}.patient-card-meta{color:var(--text-secondary);font-size:11px}.patient-card-meta-sep{color:var(--text-muted);margin:0 8px}.patient-card-actions{gap:8px;margin-top:6px;display:flex}.transfer-card-codigo{color:var(--text-secondary);margin-left:auto;font-size:11px}.transfer-card-footer{border-top:1px solid var(--border);width:100%;color:var(--text-secondary);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:8px;padding-top:8px;font-size:11.5px;display:grid}.transfer-card-footer-ciudad{color:var(--text-primary);font-weight:500}.transfer-card-footer-arrow{color:var(--text-muted);justify-self:center}.transfer-card-footer-destino{color:var(--accent-blue);justify-self:end;font-weight:600}.patients-empty{text-align:center;color:var(--text-secondary);padding:40px;font-size:12px}.historial-list{flex-direction:column;gap:2px;display:flex}.historial-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);gap:16px;padding:12px 16px;display:flex}.historial-item-fecha{width:90px;color:var(--text-secondary);flex-shrink:0;padding-top:1px;font-size:11.5px}.historial-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.historial-item-mensaje{color:var(--text-primary);font-size:13px}.historial-item-meta{color:var(--text-secondary);font-size:11px}.login-page{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-shell{border-radius:var(--radius-xl);width:100%;max-width:960px;height:min(640px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #0006}.login-image-side{background:url(/login-hero.png) center / cover no-repeat, var(--gradient-brand) center / cover no-repeat;flex:1.2;min-width:0}.login-form-side{background:var(--bg-card);flex:1;justify-content:center;align-items:center;min-width:0;padding:32px;display:flex;overflow-y:auto}.login-card{flex-direction:column;gap:16px;width:100%;max-width:340px;display:flex}.login-brand{flex-direction:column;align-items:center;gap:8px;display:flex}.login-brand-name{color:var(--text-primary);font-size:18px;font-weight:700}.login-brand-name-accent{color:var(--accent-blue)}.login-welcome{text-align:center;margin-bottom:4px}.login-welcome-title{color:var(--text-primary);font-size:22px;font-weight:700}.login-welcome-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.login-field{flex-direction:column;display:flex}.login-password-wrap{display:flex;position:relative}.login-password-wrap .form-input{padding-right:38px}.login-password-toggle{color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-options{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-forgot{color:var(--accent-blue);white-space:nowrap;font-size:12.5px}.login-footer-text{text-align:center;color:var(--text-secondary);font-size:11.5px}.form-error{border-radius:var(--radius-md);color:var(--state-cancelled);background:#ef44441a;border:1px solid #ef444433;padding:10px 12px;font-size:12.5px}.modal-confirm-text{color:var(--text-secondary);margin-bottom:16px;font-size:13.5px;line-height:1.5}.reports-actions{align-items:center;gap:8px;display:flex}.reports-feedback{color:var(--state-confirmed);text-align:right;max-width:260px;font-size:12px}.reports-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;gap:14px;padding:14px 16px;display:flex}.reports-filters>.form-input,.reports-filter-field .form-input{width:auto;padding:8px 11px;font-size:12px}.reports-tipo-select{min-width:175px}.reports-filter-field{flex-direction:column;gap:6px;display:flex}.reports-filter-field .form-input{min-width:140px}.reports-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:65vh;overflow:auto}.reports-table{border-collapse:collapse;width:100%;font-size:12px}.reports-table th,.reports-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px}.reports-table th{background:var(--bg-panel);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;position:sticky;top:0}.reports-table tbody tr:hover{background:var(--bg-card-hover)}.reports-table tbody tr:last-child td{border-bottom:none}.reports-table .badge{padding:3px 8px;font-size:10px}.reports-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-summary-item{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:5px 12px;font-size:12px;display:inline-flex}.report-summary-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.report-summary-count{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.report-summary-item--pendiente{color:var(--state-pending)}.report-summary-item--confirmado{color:var(--state-confirmed)}.report-summary-item--cancelado{color:var(--state-cancelled)}.report-summary-item--expirado{color:var(--state-expired)}.report-summary-item--activo{color:var(--accent-green)}.report-summary-item--inactivo{color:var(--text-muted)}.report-summary-item--neutral{color:var(--accent-blue)}.report-print{display:none}@media print{html,body{height:auto!important;overflow:visible!important}.sidebar,.header,.sidebar-backdrop,.sidebar-close-btn{display:none!important}.app-shell,.app-main{height:auto!important;display:block!important}.app-content{padding:0!important;overflow:visible!important}body *{visibility:hidden}.report-print,.report-print *{visibility:visible}.report-print{color:#000;width:100%;display:block;position:absolute;top:0;left:0}.report-print-title{margin-bottom:12px;font-size:16px;font-weight:700}.report-print table{border-collapse:collapse;width:100%;font-size:10px}.report-print th,.report-print td{text-align:left;border:1px solid #999;padding:4px 6px}.report-print th{background:#eee;font-weight:600}}.login-card .btn{width:100%;padding:10px 14px}@media (max-width:768px){.login-image-side{display:none}.login-shell{height:auto;box-shadow:none}.header-menu-btn{display:flex}.header-date,.header-centro-badge,.header-user-text{display:none}.header-user{border-left:none;padding-left:0}.app-content{padding:16px}.form-input{font-size:16px}.sidebar{z-index:100;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-close-btn{display:flex}.sidebar-backdrop{z-index:99;background:#0006;display:block;position:fixed;inset:0}.dashboard-panels{flex-direction:column}.transfer-list{width:100%}.dashboard-bottom,.stats-cards{grid-template-columns:minmax(0,1fr)}.stats-card--lg{grid-area:auto}.patients-filters,.patient-card-top,.patient-card-actions{flex-wrap:wrap}.patients-modal-row{flex-direction:column}.week-grid-wrap{-webkit-overflow-scrolling:touch}.settings-row{flex-direction:column;align-items:flex-start;gap:8px}.settings-foto-row{flex-direction:column;align-items:flex-start}}
