*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}:root{--green:#1d9e75;--green-dark:#0f6e56;--green-light:#e1f5ee;--green-mid:#9fe1cb;--gray-50:#f9f9f7;--gray-100:#f1efe8;--gray-200:#e2e0d8;--gray-400:#9c9a92;--gray-600:#5f5e5a;--gray-900:#1a1917;--blue:#185fa5;--blue-light:#e6f1fb;--amber:#854f0b;--amber-light:#faeeda;--red:#a32d2d;--red-light:#fcebeb;--purple:#534ab7;--purple-light:#eeedfe;--font:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px}body{font-family:var(--font);color:var(--gray-900);-webkit-font-smoothing:antialiased;background:#f4f6f8;font-size:13px;line-height:1.5}.app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--gray-200);z-index:100;background:#fff;flex-direction:column;width:210px;height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:210px;display:flex}.topbar{border-bottom:1px solid var(--gray-200);z-index:50;background:#fff;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.page-content{flex:1;padding:24px}.sidebar-logo{border-bottom:1px solid var(--gray-100);margin-bottom:8px;padding:20px 16px 16px}.logo-name{color:var(--gray-900);font-size:16px;font-weight:600}.logo-sub{color:var(--gray-400);margin-top:1px;font-size:11px}.logo-leaf{color:var(--green);margin-right:6px}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--gray-600);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:calc(100% - 16px);margin:1px 8px;padding:9px 16px;font-size:13px;transition:background .15s,color .15s,transform .15s;display:flex;position:relative}.nav-item:hover{background:var(--gray-100);color:var(--gray-900);transform:translate(2px)}.nav-item:hover svg{color:var(--green)}.nav-item:active{transform:translate(2px)scale(.97)}.nav-item.active{background:var(--green-light);color:var(--green-dark);font-weight:500}.nav-item.active svg{color:var(--green)}.nav-item.active:before{content:"";background:var(--green);border-radius:3px;width:3px;position:absolute;top:22%;bottom:22%;left:-8px}.nav-item svg{flex-shrink:0;width:16px;height:16px;transition:color .15s}.nav-children{flex-direction:column;display:none}.nav-children.expanded{display:flex}.nav-item.nav-child{padding-top:6px;padding-bottom:6px}.consulta-type-card:hover:not(.disabled){border-color:#0f6e56}.nav-spacer{flex:1;min-height:20px}.card{background:#fff;border:.5px solid #e5e2d8;border-radius:6px;margin-bottom:14px;padding:14px 16px}.card-title{color:#1a1814;align-items:center;gap:7px;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}.g2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.g4{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.metric-card{background:#fff;border:.5px solid #e5e2d8;border-radius:6px;padding:14px 16px}.metric-label{text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px;font-size:9px;font-weight:500}.metric-value{color:#1a1814;font-feature-settings:"tnum";font-size:22px;font-weight:500}.metric-sub{color:var(--gray-400);margin-top:4px;font-size:11px}.metric-dn{color:var(--red)}.btn{border-radius:var(--radius-sm);border:1px solid var(--gray-200);color:var(--gray-900);font-size:12px;font-family:var(--font);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:7px 14px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--gray-100)}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-danger{background:var(--red-light);color:var(--red);border-color:var(--red-light)}.btn-sm{padding:4px 10px;font-size:11px}.btn-icon{border-radius:var(--radius-sm);padding:6px}.form-group{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.form-label{color:var(--gray-600);font-size:11px;font-weight:500}.form-input,.form-select,.form-textarea{border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);color:var(--gray-900);background:#fff;width:100%;padding:7px 10px;transition:border-color .12s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--green);outline:none}.form-textarea{resize:vertical;min-height:60px}.badge{border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-green{color:#27500a;background:#eaf3de}.badge-amber{background:var(--amber-light);color:var(--amber)}.badge-red{background:var(--red-light);color:var(--red)}.badge-blue{background:var(--blue-light);color:var(--blue)}.tabs{border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:2px;margin-bottom:20px;display:flex}.tab-btn{color:var(--gray-400);cursor:pointer;font-size:12px;font-family:var(--font);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;transition:color .12s,border-color .12s}.tab-btn:hover{color:var(--gray-900)}.tab-btn.active{color:var(--green);border-bottom-color:var(--green);font-weight:500}.tab-panel{display:none}.tab-panel.active{display:block}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:var(--gray-400);border-bottom:1px solid var(--gray-200);padding:8px 10px;font-size:11px;font-weight:500}.data-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-900);padding:10px}.data-table tr:hover td{background:var(--gray-50)}.data-table tr:last-child td{border-bottom:none}.data-table tr{cursor:pointer}.prog-bar{background:var(--gray-100);border-radius:3px;height:5px;margin:5px 0;overflow:hidden}.prog-fill{background:var(--green);border-radius:3px;height:100%;transition:width .4s}.food-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;max-height:240px;padding-right:2px;display:grid;overflow-y:auto}.food-item{border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;transition:border-color .12s,background .12s}.food-item:hover{border-color:var(--green);background:var(--green-light)}.food-item.selected{border-color:var(--green);background:var(--green-light);border-width:1.5px}.food-name{color:var(--gray-900);font-size:12px;font-weight:500}.food-kcal{color:var(--green);margin-top:2px;font-size:10px}.pill-group{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.pill{cursor:pointer;border:1px solid var(--gray-200);color:var(--gray-600);white-space:nowrap;background:#fff;border-radius:20px;padding:3px 10px;font-size:11px;transition:all .12s}.pill:hover{background:var(--gray-100)}.pill.active{background:var(--green);color:#fff;border-color:var(--green);font-weight:500}.antec-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.antec-stack{flex-direction:column;gap:14px;display:flex}.antec-section{border:.5px solid var(--gray-200);background:#fff;border-radius:8px;padding:14px}.antec-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.antec-title{color:var(--gray-900);font-size:13px;font-weight:500}.antec-negados{color:var(--gray-500);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.antec-negados input[type=checkbox]{accent-color:#0f6e56;cursor:pointer;margin:0}.antec-chk-grid{gap:0 4px;display:grid}.antec-chk-grid.cols-1{grid-template-columns:1fr}.antec-chk-grid.cols-2{grid-template-columns:1fr 1fr}.antec-chk-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.antec-chk-grid.cols-4{grid-template-columns:1fr 1fr 1fr 1fr}.antec-chk-row{color:var(--gray-900);cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:12px;display:flex}.antec-chk-row input[type=checkbox]{accent-color:#0f6e56;cursor:pointer;flex-shrink:0;margin:0}.antec-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;font-size:10px;font-weight:500;display:block}.antec-input,.antec-input-textarea{border:.5px solid var(--gray-200);box-sizing:border-box;width:100%;color:var(--gray-900);background:#fff;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12px}.antec-input:focus,.antec-input-textarea:focus{border-color:var(--green);outline:none}.est-box:focus-within{border-color:var(--green)}.antec-input-textarea{resize:vertical;min-height:56px}.antec-fields-2col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.antec-labs-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.gine-obs-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.gine-obs-grid label.antec-label{text-align:center}.gine-obs-grid input.antec-input{text-align:center;font-size:13px;font-weight:500}.gineco-compact{gap:10px}.gineco-compact .antec-section{padding:11px}.gineco-compact .antec-head{margin-bottom:8px}.gineco-compact .antec-title{font-size:12.5px}.unit-grid{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px;display:grid}.unit-cell{background:var(--gray-100);border-radius:var(--radius-sm);text-align:center;cursor:pointer;border:1.5px solid #0000;padding:6px 4px;transition:all .12s}.unit-cell:hover{border-color:var(--gray-400)}.unit-cell.active{border-color:var(--green);background:var(--green-light)}.unit-cell .u-lbl{color:var(--gray-400);font-size:10px}.unit-cell.active .u-lbl{color:#085041}.unit-cell .u-val{color:var(--gray-900);font-size:12px;font-weight:500}.unit-cell.active .u-val{color:var(--green-dark)}.qty-ctrl{align-items:center;gap:8px;margin-bottom:8px;display:flex}.qty-btn{border:1px solid var(--gray-200);cursor:pointer;width:26px;height:26px;color:var(--gray-900);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:background .12s;display:flex}.qty-btn:hover{background:var(--gray-100)}.qty-input{border:1px solid var(--gray-200);border-radius:var(--radius-sm);text-align:center;width:60px;color:var(--gray-900);font-size:14px;font-weight:500;font-family:var(--font);background:#fff;padding:5px}.qty-input:focus{border-color:var(--green);outline:none}.macro-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.macro-chip{background:var(--gray-100);border-radius:var(--radius-sm);text-align:center;flex:1;min-width:48px;padding:6px 10px}.macro-chip .mc-val{color:var(--green);font-size:15px;font-weight:600}.macro-chip .mc-lbl{color:var(--gray-400);font-size:10px}.scale-row{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:600;display:flex}.av-teal{background:var(--green-light);color:#085041}.av-blue{background:var(--blue-light);color:var(--blue)}.av-coral{color:#712b13;background:#faece7}.av-purple{background:var(--purple-light);color:var(--purple)}.av-amber{background:var(--amber-light);color:var(--amber)}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:var(--gray-200);width:1px;position:absolute;top:0;bottom:0;left:9px}.tl-item{margin-bottom:18px;position:relative}.tl-dot{background:var(--green);width:10px;height:10px;box-shadow:0 0 0 1px var(--green);border:2px solid #fff;border-radius:50%;position:absolute;top:4px;left:-24px}.tl-date{color:var(--gray-400);margin-bottom:2px;font-size:10px}.tl-content{color:var(--gray-900);font-size:13px;font-weight:500}.tl-detail{color:var(--gray-400);margin-top:2px;font-size:11px;line-height:1.5}.chart-bars{align-items:flex-end;gap:4px;display:flex}.bar-wrap{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.bar{background:var(--green-mid);cursor:pointer;border-radius:3px 3px 0 0;width:100%;transition:height .3s}.bar.current{background:var(--green)}.bar:hover{opacity:.8}.bar-val{color:var(--gray-900);font-size:9px;font-weight:500}.bar-label{color:var(--gray-400);text-align:center;font-size:9px;line-height:1.3}.back-btn{color:var(--gray-400);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:0;display:inline-flex}.back-btn:hover{color:var(--gray-900)}.login-wrap{background:var(--gray-50);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:#fff;width:100%;max-width:360px;padding:40px 36px}.login-logo{text-align:center;margin-bottom:28px}.login-logo-icon{margin-bottom:8px;font-size:32px}.login-title{color:var(--gray-900);font-size:20px;font-weight:600}.login-sub{color:var(--gray-400);margin-top:4px;font-size:13px}.login-error{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 12px;font-size:12px}.loading{color:var(--gray-400);justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;display:flex}.spinner{border:2px solid var(--gray-200);border-top-color:var(--green);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--gray-400);padding:40px 20px}.empty-state svg{opacity:.4;margin-bottom:10px}.empty-state p{font-size:13px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.mb-16{margin-bottom:16px}.text-xs{font-size:11px}.text-muted{color:var(--gray-400)}.font-medium{font-weight:500}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}@media (width<=1024px){.g4,.g3{grid-template-columns:repeat(2,1fr)}.sidebar{width:200px}.main-content{margin-left:200px}}#sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}#sidebar-overlay.open{display:block}@media (width<=768px){body,html{-webkit-tap-highlight-color:transparent;overflow-x:hidden}#menu-toggle{border-radius:6px;padding:6px 10px;font-size:22px;display:block!important}#menu-toggle:active{background:var(--gray-100)}.sidebar{z-index:100;background:#fff;flex-direction:column;width:270px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 10px #0000001a}.sidebar.open{transform:translate(0)}.sidebar-logo{padding:16px}.logo-name{font-size:16px}#sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.nav-item{text-align:left;width:100%;padding:10px 14px;font-size:14px}.nav-spacer{flex:0}#sidebar-footer{border-top:1px solid var(--gray-200);margin-top:auto;padding:12px}#sidebar-footer>div{color:var(--gray-400);word-break:break-all;padding:4px 8px;font-size:11px}#sidebar-footer>button{width:100%}.main-content{width:100%;margin-left:0}.topbar{padding:10px 14px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));gap:12px;min-height:50px}.login-card{padding:28px 22px}.login-wrap{padding:16px}.g2,.g3{grid-template-columns:1fr;gap:12px}.g4{grid-template-columns:1fr 1fr;gap:10px}.page-content{padding:16px 12px}.card{padding:14px}[data-cita-action],[data-edit],[data-factura]{min-width:40px;min-height:40px}.cobro-actions{flex-direction:row!important}table{font-size:12px}table td,table th{padding:8px 6px}.tabs{flex-wrap:nowrap;overflow-x:auto}.tab-btn{white-space:nowrap;flex-shrink:0}.metric-card{padding:12px}.metric-value{font-size:18px}.chart-bars{overflow-x:auto}button{min-height:40px}}@media (width<=480px){.page-content{padding:12px 10px}.card{padding:12px}h1,h2{font-size:18px}.metric-value{font-size:16px}.nav-item span{display:inline}}@media (width<=768px){h1{font-size:20px}h2{font-size:17px}.card-title{font-size:14px}.data-table,table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.modal{align-items:flex-end;padding:0}.modal-content{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:95vh;margin-bottom:0;overflow-y:auto}.btn{min-height:44px;padding:10px 16px;font-size:14px}.btn-sm{min-height:36px;padding:6px 12px;font-size:12px}input,select,textarea{font-size:16px!important}.pill{padding:5px 10px;font-size:12px}.form-group{margin-bottom:12px}.form-label{margin-bottom:4px;font-size:12px}.avatar{width:36px;height:36px;font-size:13px}}@media (width>=769px) and (width<=1024px){.sidebar{width:200px}.main-content{margin-left:200px}.nav-item{padding:8px 12px;font-size:13px}}.pm-grid{grid-template-columns:1.3fr 1.3fr 1.3fr .8fr 1fr .8fr .8fr .8fr .8fr .8fr;gap:6px;display:grid}@media (width<=768px){.pm-grid{grid-template-columns:1fr 1fr;gap:8px}.pm-grid>#pm-nombre,.pm-grid>#pm-desc,.pm-grid>#pm-categoria{grid-column:1/-1}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}#btn-videollamada svg{width:21px;height:16.5px}#btn-videollamada .ti-send{font-size:19px!important}@media (width<=768px){.resumen-cols{grid-template-columns:1fr!important}.vitales-bar{flex-wrap:wrap;row-gap:4px}.vital-cell{flex:42%!important;padding:8px 14px!important}.vital-divisor{display:none!important}}.s3-grid{grid-template-columns:1.6fr 1.2fr .6fr .6fr .6fr .7fr 30px;align-items:center;gap:10px;display:grid}@media (width<=768px){.s3-grid{grid-template-columns:1fr 1fr 1fr auto;grid-template-areas:"name name name del""portion portion portion portion""p c g kcal";align-items:baseline;gap:2px 8px}.s3-c-name{grid-area:name;font-weight:600}.s3-c-portion{grid-area:portion;text-align:left!important}.s3-c-p{grid-area:p;text-align:left!important}.s3-c-c{grid-area:c;text-align:left!important}.s3-c-g{grid-area:g;text-align:left!important}.s3-c-kcal{grid-area:kcal;text-align:right!important}.s3-c-del{grid-area:del}.s3-grid .s3-c-p:before,.s3-grid .s3-c-c:before,.s3-grid .s3-c-g:before,.s3-grid .s3-c-kcal:before{color:var(--gray-400);text-transform:uppercase;margin-right:3px;font-size:9px;font-weight:600}.s3-grid .s3-c-p:before{content:"P"}.s3-grid .s3-c-c:before{content:"C"}.s3-grid .s3-c-g:before{content:"G"}.s3-grid .s3-c-kcal:before{content:"Kcal"}.s3-head{display:none}}[style*=cursor\:pointer],[style*="cursor: pointer"]{transition:box-shadow .12s}[style*=cursor\:pointer]:hover,[style*="cursor: pointer"]:hover{box-shadow:inset 0 0 0 9999px #0000000a}
