@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap";:root{--bg-base: #faf5f5;--bg-surface: #ffffff;--bg-surface-low: #fef7f0;--bg-surface-high: #f5eeee;--bg-surface-highest: rgba(245, 238, 238, .5);--primary: #a5322f;--primary-light: #ff766e;--primary-container: #ffe0dc;--on-primary: #ffffff;--on-primary-container: #5c1a18;--primary-gradient: linear-gradient(135deg, #e8533f, #ff766e);--secondary: #6b9e6a;--secondary-container: #d4f0d4;--on-secondary-container: #1a3a1a;--tertiary: #5f96c4;--tertiary-container: #d5eaf8;--on-tertiary-container: #1a3550;--pastel-coral: #ffe8e5;--pastel-green: #e5f5e5;--pastel-blue: #e5f0fa;--pastel-yellow: #fff8e1;--pastel-purple: #f0e5fa;--pastel-pink: #fce4ec;--success: #4caf50;--success-light: #e8f5e9;--warning: #ff9800;--warning-light: #fff3e0;--danger: #e53935;--danger-light: #ffebee;--info: #42a5f5;--info-light: #e3f2fd;--on-surface: #302e2f;--on-surface-secondary: #5a5555;--on-surface-muted: #8a8484;--on-surface-disabled: #b5afaf;--outline: rgba(48, 46, 47, .12);--outline-variant: rgba(48, 46, 47, .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--radius-2xl: 3rem;--shadow-card: 0 2px 12px rgba(165, 50, 47, .06);--font-display: "Plus Jakarta Sans", sans-serif;--font-body: "Be Vietnam Pro", sans-serif;--font: "Be Vietnam Pro", sans-serif;--bg-primary: var(--bg-base);--bg-secondary: var(--bg-surface-low);--bg-card: var(--bg-surface);--bg-glass: rgba(255, 255, 255, .8);--text-primary: var(--on-surface);--text-secondary: var(--on-surface-secondary);--text-muted: var(--on-surface-muted);--accent-green: var(--success);--accent-green-glow: var(--success-light);--accent-green-light: #66bb6a;--accent-yellow: var(--warning);--accent-yellow-glow: var(--warning-light);--accent-red: var(--danger);--accent-red-glow: var(--danger-light);--accent-blue: var(--tertiary);--accent-blue-glow: var(--tertiary-container);--accent-purple: #7b1fa2;--accent-purple-glow: var(--pastel-purple);--accent-pink: #c2185b;--border: var(--outline);--border-color: var(--outline);--border-hover: rgba(48, 46, 47, .18);--shadow-sm: 0 2px 8px rgba(48, 46, 47, .04);--shadow-md: 0 4px 20px rgba(48, 46, 47, .06);--shadow-lg: 0 8px 40px rgba(48, 46, 47, .08);--shadow-glow-green: 0 0 12px rgba(76, 175, 80, .2);--shadow-glow-red: 0 0 12px rgba(229, 57, 53, .2);--shadow-glow-yellow: 0 0 12px rgba(255, 152, 0, .2);--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-7);--space-2xl: var(--space-9);--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px}:root[data-theme=dark]{--bg-base: #10161f;--bg-surface: #18212c;--bg-surface-low: #131b24;--bg-surface-high: #202b38;--bg-surface-highest: rgba(32, 43, 56, .55);--primary: #ff8b7d;--primary-light: #ffb0a7;--primary-container: #5d2f2c;--on-primary: #ffffff;--on-primary-container: #ffd9d4;--primary-gradient: linear-gradient(135deg, #ff7d70, #ffab9f);--secondary: #8ec48c;--secondary-container: #23412a;--on-secondary-container: #d4f0d4;--tertiary: #88b9e2;--tertiary-container: #1b3a53;--on-tertiary-container: #d7e9f8;--pastel-coral: rgba(255, 139, 125, .2);--pastel-green: rgba(142, 196, 140, .2);--pastel-blue: rgba(136, 185, 226, .2);--pastel-yellow: rgba(255, 183, 94, .2);--pastel-purple: rgba(156, 117, 211, .2);--pastel-pink: rgba(227, 128, 168, .2);--success: #7ad082;--success-light: rgba(122, 208, 130, .2);--warning: #ffba66;--warning-light: rgba(255, 186, 102, .22);--danger: #ff8d87;--danger-light: rgba(255, 141, 135, .2);--info: #7ec2ff;--info-light: rgba(126, 194, 255, .2);--on-surface: #e9f0f7;--on-surface-secondary: #c3cfdd;--on-surface-muted: #92a2b4;--on-surface-disabled: #6a7c8f;--outline: rgba(233, 240, 247, .14);--outline-variant: rgba(233, 240, 247, .08);--bg-glass: rgba(16, 22, 31, .82);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .38);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .44);--shadow-card: 0 2px 12px rgba(0, 0, 0, .34);--border-hover: rgba(233, 240, 247, .24);--accent-purple: #c9a8ff;--accent-pink: #ff8fc2}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-body);background:var(--bg-base);color:var(--on-surface);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 10% 10%,rgba(255,118,110,.06) 0%,transparent 40%),radial-gradient(ellipse at 90% 20%,rgba(95,150,196,.05) 0%,transparent 40%),radial-gradient(ellipse at 50% 90%,rgba(107,158,106,.04) 0%,transparent 40%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url(/bg-pattern.svg);background-repeat:repeat;background-size:500px 500px;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse at center,transparent 35%,black 80%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 35%,black 80%)}:root[data-theme=dark] body:before{background:radial-gradient(ellipse at 12% 14%,rgba(255,125,112,.12) 0%,transparent 45%),radial-gradient(ellipse at 88% 18%,rgba(136,185,226,.1) 0%,transparent 45%),radial-gradient(ellipse at 50% 90%,rgba(122,208,130,.08) 0%,transparent 45%)}:root[data-theme=dark] body:after{opacity:.22}.app-layout{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.app-content{flex:1;padding:var(--space-6);padding-top:90px;padding-bottom:30px;max-width:1200px;margin:0 auto;width:100%}@media(max-width:768px){.app-content{padding:var(--space-4);padding-top:70px;padding-bottom:85px}}.top-navbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-7);background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:200;box-shadow:var(--shadow-sm)}.navbar-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex-shrink:0}.navbar-logo{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover}.navbar-title{font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--primary);line-height:1.2}.navbar-title span{display:block;font-weight:600;color:var(--secondary);font-size:.85rem}.navbar-links{display:flex;gap:var(--space-1);align-items:center}.navbar-links a,.navbar-links .nav-link-item{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--on-surface-secondary);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:all .2s ease;cursor:pointer;background:none;border:none}.navbar-links a:hover,.navbar-links .nav-link-item:hover{color:var(--primary);background:var(--pastel-coral)}.navbar-links a.active,.navbar-links .nav-link-item.active{color:var(--on-primary);background:var(--primary-gradient);font-weight:600}.navbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.navbar-theme-toggle{width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--outline);background:var(--bg-surface-high);color:var(--on-surface-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.navbar-theme-toggle:hover{color:var(--primary);background:var(--pastel-blue);border-color:var(--border-hover)}.navbar-theme-toggle:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.navbar-user{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.navbar-user-name{font-size:.85rem;font-weight:600;color:var(--primary)}.navbar-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--pastel-coral);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.navbar-logout{background:none;border:none;color:var(--on-surface-muted);cursor:pointer;display:flex;align-items:center;gap:var(--space-1);font-size:.8rem;font-family:var(--font-body);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);transition:all .2s}.navbar-logout:hover{color:var(--danger);background:var(--danger-light)}.navbar-hamburger{display:none;background:none;border:none;color:var(--on-surface);cursor:pointer;padding:var(--space-2);margin-left:auto}.navbar-logout-mobile{display:none}@media(max-width:900px){.navbar-links{display:none}.navbar-hamburger{display:flex}.navbar-user{display:none!important}.navbar-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:var(--space-4);box-shadow:var(--shadow-md);gap:var(--space-1)}.navbar-links.open .navbar-logout-mobile{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);border:none;background:var(--danger-light);cursor:pointer;margin-top:var(--space-2);transition:all .2s}.navbar-links.open .navbar-logout-mobile:hover{background:var(--danger);color:#fff}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:none;justify-content:space-around;align-items:center;padding:var(--space-2) 0 env(safe-area-inset-bottom,4px);background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:100;box-shadow:0 -2px 12px #302e2f0f}@media(max-width:900px){.bottom-nav{display:flex}}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);text-decoration:none;color:var(--on-surface-muted);font-size:10px;font-weight:500;transition:all .2s ease;cursor:pointer;background:none;border:none;font-family:var(--font-body)}.nav-item:hover,.nav-item.active{color:var(--primary)}.nav-item.active{color:var(--primary);background:var(--pastel-coral)}.nav-item svg{width:22px;height:22px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding:var(--space-2) 0}.page-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--on-surface)}.page-header .subtitle{font-size:.9rem;color:var(--on-surface-muted);margin-top:4px}.card{background:var(--bg-surface);border:none;border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md)}@media(hover:hover){.card:hover{transform:translateY(-2px)}}.card-clickable{cursor:pointer}.card+.card{margin-top:var(--space-4)}.dashboard-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:var(--space-md);align-items:start}.dashboard-card-grid>.card{margin-top:0!important;align-self:start}.dashboard-child-head{display:grid;grid-template-columns:24px 44px minmax(0,1fr) auto;column-gap:var(--space-md);align-items:start}.dashboard-child-index{width:24px;text-align:center;font-size:.72rem;color:var(--text-muted);font-weight:700;line-height:44px}.dashboard-child-main{min-width:0}.dashboard-child-title{font-weight:700;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.dashboard-child-subtitle{margin-top:2px;font-size:.8rem;color:var(--text-muted);line-height:1.25}.dashboard-child-right{text-align:right;min-width:116px}.growth-dashboard-child-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;min-width:152px}.growth-card-measurement{font-size:.9rem;font-weight:700;line-height:1.2}.growth-card-status{font-size:.7rem;font-weight:700;line-height:1.2}.growth-card-meta{font-size:.68rem;color:var(--text-muted);line-height:1.2}.dashboard-child-actions.growth-card-actions{margin-top:1px}.dashboard-child-actions{margin-top:6px;display:flex;justify-content:flex-end;align-items:center;gap:6px}.growth-last-weight-card{position:relative;min-height:56px}.stats-grid-filter-strips.growth-last-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-2)}.stats-grid-filter-strips.growth-last-stats-row .growth-last-stat-card{padding:6px 10px;border-radius:var(--radius-lg);min-height:56px}.growth-last-weight-date{font-size:.68rem;color:var(--text-muted);font-weight:600;white-space:nowrap;display:block;margin-top:1px;text-align:center}.child-profile-main-info{min-width:0}.child-profile-title{overflow-wrap:anywhere}.child-profile-subtitle,.child-profile-contact-row{line-height:1.35}.dashboard-status-row{margin-top:var(--space-sm);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-sm)}.dashboard-status-main{min-width:0}.dashboard-status-side{min-width:110px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.control-days-left-desktop{margin-top:2px;font-size:.74rem;color:var(--accent-blue);font-weight:700}@media(max-width:480px){.dashboard-card-grid{grid-template-columns:1fr;gap:var(--space-sm)}}@media(max-width:640px){.dashboard-child-head{grid-template-columns:20px 40px minmax(0,1fr);row-gap:6px}.dashboard-child-index{width:20px;line-height:40px}.dashboard-child-right{grid-column:1 / -1;text-align:left;min-width:0;padding-left:calc(20px + 40px + var(--space-md))}.growth-dashboard-child-right{align-items:flex-start;min-width:0;gap:3px}.dashboard-child-actions.growth-card-actions{align-self:flex-start;margin-top:0}.dashboard-child-actions{justify-content:flex-start;gap:4px;margin-top:2px}.dashboard-child-actions .btn-icon{padding:6px}.dashboard-child-actions .btn-icon svg{width:16px;height:16px}.dashboard-child-actions>svg{display:none}.dashboard-status-row{grid-template-columns:1fr}.dashboard-status-side{min-width:0;align-items:flex-start;text-align:left}.growth-last-weight-card{min-height:0}.stats-grid.growth-last-stats-row{grid-template-columns:1fr}.stats-grid-filter-strips.growth-last-stats-row .growth-last-stat-card{min-height:0;padding:6px 10px}.growth-last-weight-date{white-space:normal;margin-top:2px;text-align:center;font-size:.64rem}.child-profile-header{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.child-profile-main{align-items:flex-start}.child-profile-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-sm)}.child-profile-nav-actions{justify-content:space-between;flex-wrap:nowrap}}.stats-grid-filter-strips{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stats-grid-filter-strips .stat-card{padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg)}.stats-grid-filter-strips .stat-value{font-size:1.85rem;margin-bottom:2px}.stats-grid-filter-strips .stat-label{font-size:.68rem;letter-spacing:.35px}.dashboard-search-sort-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);align-items:stretch;margin-bottom:var(--space-md)}.dashboard-search-sort-row.single-column{grid-template-columns:1fr}.dashboard-search-field{position:relative}.dashboard-search-field .form-input{min-height:48px;padding-left:40px}.dashboard-sort-button{width:100%;min-height:48px;justify-content:center}@media(max-width:900px){.dashboard-search-sort-row{grid-template-columns:1fr}}.semaforo-verde{border-left:4px solid var(--success)}.semaforo-amarillo{border-left:4px solid var(--warning)}.semaforo-rojo{border-left:4px solid var(--danger)}.semaforo-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-verde{background:var(--success-light);color:var(--success)}.badge-amarillo{background:var(--warning-light);color:var(--warning)}.badge-rojo{background:var(--danger-light);color:var(--danger)}.badge-blue{background:var(--info-light);color:var(--info)}.badge-purple{background:var(--pastel-purple);color:#7b1fa2}.semaforo-dot{width:10px;height:10px;border-radius:50%;display:inline-block;animation:pulse-dot 2s infinite}.dot-verde{background:var(--success);box-shadow:0 0 8px #4caf5066}.dot-amarillo{background:var(--warning);box-shadow:0 0 8px #ff980066;animation-duration:1s}.dot-rojo{background:var(--danger);box-shadow:0 0 8px #e5393566;animation-duration:.6s}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}.stat-card{background:var(--bg-surface);border:none;border-radius:var(--radius-xl);padding:var(--space-5) var(--space-4);text-align:center;transition:all .3s ease;box-shadow:var(--shadow-sm);min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-active{box-shadow:0 0 0 2px var(--primary-light),var(--shadow-md)!important;background:var(--pastel-coral)}.stat-value{font-family:var(--font-display);font-size:2.2rem;font-weight:800;line-height:1;margin-bottom:4px;color:var(--on-surface)}.stat-label{font-size:.75rem;color:var(--on-surface-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s ease;border:none;text-decoration:none}.btn-primary{background:var(--primary-gradient);color:var(--on-primary);box-shadow:0 4px 16px #a5322f40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #a5322f59}.btn-secondary{background:var(--bg-surface-high);color:var(--on-surface-secondary);border:1px solid var(--outline)}.btn-secondary:hover{background:var(--pastel-coral);color:var(--primary);border-color:var(--primary-light)}.btn-danger{background:linear-gradient(135deg,var(--danger),#c62828);color:#fff}.btn-sm{padding:8px 16px;font-size:.8rem}.btn-icon{background:var(--bg-surface);border:none;color:var(--on-surface-secondary);padding:10px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.btn-icon:hover{color:var(--primary);background:var(--pastel-coral)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-1);font-size:.85rem;font-weight:500;color:var(--on-surface-secondary)}.form-input,.form-select{width:100%;padding:14px 16px;background:var(--bg-surface-highest);border:1px solid var(--outline);border-radius:var(--radius-md);color:var(--on-surface);font-family:var(--font-body);font-size:1rem;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #a5322f26,inset 0 1px 3px #302e2f0d;background:var(--bg-surface)}.form-input::placeholder{color:var(--on-surface-disabled)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.control-type-radio-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.control-type-radio-option{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--outline);border-radius:var(--radius-full);background:var(--bg-surface-highest);color:var(--on-surface-secondary);font-size:.78rem;font-weight:600;cursor:pointer}.control-type-radio-option input{width:12px;height:12px;margin:0;accent-color:var(--primary)}.alert-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);animation:slideIn .3s ease}.alert-danger{background:var(--danger-light);color:var(--danger)}.alert-warning{background:var(--warning-light);color:#e65100}.alert-success{background:var(--success-light);color:#2e7d32}.alert-info{background:var(--info-light);color:#1565c0}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.list-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);transition:all .2s ease}.list-item:hover{background:var(--bg-surface-low)}.avatar{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.avatar-green{background:var(--pastel-green);color:var(--secondary)}.avatar-blue{background:var(--pastel-blue);color:var(--tertiary)}.avatar-purple{background:var(--pastel-purple);color:#7b1fa2}.avatar-pink{background:var(--pastel-pink);color:#c2185b}.progress-bar{width:100%;height:10px;background:var(--bg-surface-high);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1);background:var(--primary-gradient)}.checklist-item{display:flex;align-items:center;gap:var(--space-4);padding:12px 0;min-height:48px}.checklist-checkbox{width:26px;height:26px;border-radius:var(--radius-sm);border:2px solid var(--on-surface-disabled);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.checklist-checkbox.checked{background:var(--success);border-color:var(--success)}.checklist-checkbox.checked svg{color:#fff}.status-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--outline);background:var(--bg-surface-high);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.status-dot.checked{background:var(--success);border-color:var(--success)}.status-dot.checked svg{color:#fff}.checklist-text{font-size:.95rem}.checklist-text.completed{text-decoration:line-through;color:var(--on-surface-disabled)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#302e2f66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-4);animation:fadeIn .2s ease}.modal-content{background:var(--bg-surface);border:none;border-radius:var(--radius-2xl);padding:var(--space-7);width:100%;max-width:500px;max-height:85vh;overflow-y:auto;animation:scaleIn .3s ease;box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.modal-header h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--on-surface)}.section-title{font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--on-surface-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:var(--space-4);margin-top:var(--space-6)}.empty-state{text-align:center;padding:var(--space-10);color:var(--on-surface-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:var(--space-4);opacity:.3}.empty-state p{font-size:.9rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--outline);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--on-surface-disabled)}.zone-color-red{color:var(--danger)}.zone-color-yellow{color:var(--warning)}.zone-color-green{color:var(--success)}.tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);background:var(--bg-surface-high);padding:4px;border-radius:var(--radius-full);border:1px solid var(--outline)}.tab{flex:1;padding:10px var(--space-4);border-radius:var(--radius-full);border:none;background:transparent;color:var(--on-surface-muted);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.tab.active{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-sm)}.tab:hover:not(.active){color:var(--on-surface);background:var(--bg-surface)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.photo-thumb{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.photo-thumb-pdf{aspect-ratio:.78;border:1px solid color-mix(in srgb,var(--accent-red) 32%,white 68%);background:linear-gradient(165deg,#fff,#fff5f4)}.pdf-thumb-content{width:100%;height:100%;display:grid;place-content:center;gap:6px;color:#b13a33;position:relative;text-align:center}.pdf-thumb-chip{position:absolute;top:8px;left:8px;font-size:.62rem;font-weight:700;letter-spacing:.03em;color:#fff;background:#d4493f;border-radius:999px;padding:2px 8px;line-height:1.2}.pdf-thumb-title{font-size:.74rem;font-weight:700;letter-spacing:.02em;color:#8f3028}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-add{aspect-ratio:1;border-radius:var(--radius-lg);border:2px dashed var(--outline);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--on-surface-muted);background:var(--bg-surface-high)}.photo-add:hover{border-color:var(--primary-light);color:var(--primary);background:var(--pastel-coral)}@media(min-width:769px){.access-row{flex-wrap:nowrap!important;align-items:center}.access-status{font-size:.82rem!important}.access-password{margin-left:auto;font-size:.82rem!important;gap:8px!important}.access-password-key{font-size:1rem;display:inline-flex;align-items:center}.access-actions{margin-left:0!important;gap:8px!important}.access-toggle{padding:6px 12px!important;font-size:.76rem!important}.access-icon-btn{padding:8px!important}.access-icon-btn svg{width:18px;height:18px}}.pregnancy-progress{position:relative;padding:var(--space-4) 0}.pregnancy-weeks{font-family:var(--font-display);font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pregnancy-label{color:var(--on-surface-muted);font-size:.85rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0}.info-label{color:var(--on-surface-muted);font-size:.85rem}.info-value{font-weight:600;font-size:.9rem;color:var(--on-surface)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--on-surface-muted);font-size:.85rem;cursor:pointer;background:none;border:none;font-family:var(--font-body);margin-bottom:var(--space-4);transition:color .2s;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full)}.back-btn:hover{color:var(--primary);background:var(--pastel-coral)}.vaccine-group{margin-bottom:var(--space-6)}.vaccine-group-title{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--tertiary);margin-bottom:var(--space-3);padding-bottom:var(--space-1)}@media(max-width:480px){.app-content{padding:var(--space-3);padding-top:65px;padding-bottom:85px}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-value{font-size:1.8rem}.page-header h1{font-size:1.4rem}.card{padding:var(--space-4);border-radius:var(--radius-lg)}.modal-content{padding:var(--space-6);border-radius:var(--radius-xl)}.top-navbar{padding:var(--space-3) var(--space-4)}.navbar-title{font-size:1rem}.navbar-title span{font-size:.75rem}}.bg-pastel-coral{background:var(--pastel-coral)}.bg-pastel-green{background:var(--pastel-green)}.bg-pastel-blue{background:var(--pastel-blue)}.bg-pastel-yellow{background:var(--pastel-yellow)}.bg-pastel-purple{background:var(--pastel-purple)}.bg-pastel-pink{background:var(--pastel-pink)}.ctl-timeline-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}@media(max-width:640px){.ctl-timeline-stats{grid-template-columns:repeat(2,1fr)}}.ctl-timeline-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.ctl-card{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--outline);border-left:5px solid var(--outline);padding:var(--space-5);margin-bottom:var(--space-4);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;animation:slideIn .35s ease}.ctl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ctl-card-oportuno{border-left-color:var(--success)}.ctl-card-pendiente{border-left-color:var(--warning)}.ctl-card-vencido{border-left-color:var(--danger)}.ctl-card-planificar{border-left-color:var(--tertiary)}.ctl-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);gap:var(--space-3)}.ctl-mes{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.ctl-mes-num{font-weight:700;font-size:.95rem;color:var(--on-surface)}.ctl-mes-titulo{font-weight:600;font-size:.88rem;color:var(--on-surface-secondary)}.ctl-badge{padding:5px 14px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;white-space:nowrap;letter-spacing:.3px;flex-shrink:0}.ctl-badge-oportuno{background:var(--success-light);color:var(--success)}.ctl-badge-pendiente{background:var(--warning-light);color:#e65100}.ctl-badge-vencido{background:var(--danger-light);color:var(--danger)}.ctl-badge-planificar{background:var(--info-light);color:var(--tertiary)}.ctl-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:520px){.ctl-grid{grid-template-columns:1fr;gap:var(--space-2)}}.ctl-grid-label{font-size:.68rem;color:var(--on-surface-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:600}.ctl-grid-value{font-size:.88rem;font-weight:700;color:var(--on-surface)}.ctl-grid-tope{color:var(--danger)!important}.ctl-desc{font-size:.82rem;color:var(--on-surface-secondary);line-height:1.6;padding:var(--space-3) var(--space-4);background:var(--bg-surface-high);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--space-2)}.ctl-desc-bullet{font-size:1rem;flex-shrink:0;line-height:1.3}.ctl-desc-oportuno .ctl-desc-bullet{color:var(--success)}.ctl-desc-pendiente .ctl-desc-bullet{color:var(--warning)}.ctl-desc-vencido .ctl-desc-bullet{color:var(--danger)}.ctl-desc-planificar .ctl-desc-bullet{color:var(--tertiary)}.ctl-desc .ctl-highlight-green{color:var(--success);font-weight:600}.ctl-desc .ctl-highlight-yellow{color:#d4a017;font-weight:600}.ctl-desc .ctl-highlight-coral{color:var(--primary-light);font-weight:500}.ctl-freq-rule{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--outline);border-radius:var(--radius-lg);font-size:.78rem;color:var(--on-surface-muted);line-height:1.65}.ctl-arrow-separator{text-align:center;color:var(--on-surface-disabled);padding:var(--space-1) 0;font-size:1.2rem}
