*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--blue-500: #3b82f6;--blue-600: #2563eb;--amber-500: #f59e0b;--amber-600: #d97706;--red-400: #f87171;--red-500: #ef4444;--red-50: #fef2f2;--yellow-500: #eab308;--yellow-600: #ca8a04;--yellow-50: #fefce8;--purple-500: #8b5cf6;--cyan-500: #06b6d4;--bg: #f4f7fa;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--sidebar-w: 260px;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.07);--shadow-lg: 0 8px 30px rgba(0,0,0,.1);--shadow-xl: 0 20px 60px rgba(0,0,0,.12);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", "Inter", sans-serif;--gradient-green: linear-gradient(135deg, #22c55e, #16a34a);--gradient-blue: linear-gradient(135deg, #3b82f6, #2563eb);--gradient-amber: linear-gradient(135deg, #f59e0b, #d97706);--gradient-hero: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 40%, #ffffff 100%);--gradient-sidebar: linear-gradient(180deg, #ffffff 0%, #f8fafb 100%)}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:14px}input,select,textarea{font-family:inherit;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fade-in{animation:fadeIn .4s ease-out}.slide-up{animation:slideUp .5s ease-out}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh}.loading-container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:40vh;flex-direction:column;color:var(--text-muted)}.spinner,.loader{width:36px;height:36px;border:3px solid var(--neutral-200);border-top-color:var(--green-500);border-radius:50%;animation:spin .7s linear infinite}.app-layout{display:flex;min-height:100vh;background:var(--bg)}.main-wrapper{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-w);min-width:0}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--gradient-sidebar);border-right:1px solid var(--neutral-200);display:flex;flex-direction:column;z-index:200;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 18px;border-bottom:1px solid var(--neutral-100)}.sidebar-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;font-family:var(--font-display)}.logo-icon{font-size:24px}.sidebar-close{display:none;color:var(--text-muted);padding:4px;border-radius:var(--radius-sm)}.sidebar-close:hover{background:var(--neutral-100)}.sidebar-user{padding:16px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--neutral-100)}.sidebar-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;box-shadow:0 2px 8px #22c55e4d}.sidebar-user-info{display:flex;flex-direction:column;gap:3px;min-width:0}.sidebar-username{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--neutral-800)}.sidebar-badge{font-size:10px;padding:2px 8px;border-radius:99px;width:fit-content;font-weight:600;letter-spacing:.02em}.sidebar-badge.premium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.sidebar-badge.free{background:var(--neutral-100);color:var(--text-muted)}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px}.nav-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-400);padding:14px 10px 6px;font-family:var(--font-display)}.admin-title{color:var(--amber-600)}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--neutral-500);font-weight:500;transition:all .2s ease;position:relative;margin-bottom:2px}.sidebar-link:hover{background:var(--neutral-50);color:var(--neutral-800)}.sidebar-link.active{background:var(--green-50);color:var(--green-700);font-weight:600;box-shadow:inset 3px 0 0 var(--green-500)}.sidebar-logout{margin:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;color:var(--red-500);border-radius:var(--radius-sm);font-weight:500;transition:all .2s;border-top:1px solid var(--neutral-100)}.sidebar-logout:hover{background:#fee2e2}.sidebar-overlay{display:none}.top-bar{height:60px;display:flex;align-items:center;padding:0 24px;gap:12px;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--neutral-100);position:sticky;top:0;z-index:100}.hamburger-btn{display:none;color:var(--text);padding:6px;border-radius:var(--radius-sm)}.hamburger-btn:hover{background:var(--neutral-100)}.top-bar-title{font-weight:700;font-size:15px;display:none;font-family:var(--font-display)}.top-bar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.top-bar-avatar{width:34px;height:34px;border-radius:50%;background:var(--gradient-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 2px 8px #22c55e40}.notif-wrapper{position:relative}.notif-btn{position:relative;padding:8px;border-radius:var(--radius-sm);color:var(--text-muted);display:flex;transition:all .2s}.notif-btn:hover{background:var(--neutral-100);color:var(--text)}.notif-badge{position:absolute;top:2px;right:2px;background:var(--red-500);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 4px #ef44444d;animation:pulse 2s infinite}.notif-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:360px;background:var(--surface);border:1px solid var(--neutral-200);border-radius:var(--radius);box-shadow:var(--shadow-xl);z-index:300;overflow:hidden;animation:scaleIn .2s ease-out}.notif-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--neutral-100);font-weight:700;font-size:14px;font-family:var(--font-display)}.notif-mark-all{font-size:12px;color:var(--green-600);font-weight:600;cursor:pointer}.notif-mark-all:hover{text-decoration:underline}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.notif-item{display:flex;gap:10px;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--neutral-50);transition:background .15s}.notif-item:hover{background:var(--neutral-50)}.notif-item.read{opacity:.55}.notif-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.notif-item-title{font-weight:600;font-size:13px;margin-bottom:2px}.notif-item-msg{color:var(--text-muted);font-size:12px;line-height:1.5}.notif-item-time{color:var(--neutral-400);font-size:11px;margin-top:4px}.main-content{flex:1;padding:28px 32px}.page-container{max-width:1100px;margin:0 auto}.page-header{margin-bottom:28px}.page-header h1{font-size:24px;font-weight:800;font-family:var(--font-display);color:var(--neutral-900)}.page-header p{color:var(--text-muted);margin-top:4px;font-size:14px}.page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-header-row h1{font-size:24px;font-weight:800;font-family:var(--font-display)}.page-header-row p{color:var(--text-muted);margin-top:4px}.section-label{font-size:12px;font-weight:700;color:var(--neutral-400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-family:var(--font-display)}.card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:20px;transition:box-shadow .25s ease,transform .25s ease}.card:hover{box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:18px 20px;transition:all .25s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-green);border-radius:4px 0 0 4px}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-value{font-size:28px;font-weight:800;font-family:var(--font-display);color:var(--neutral-900);line-height:1.2}.stat-label{font-size:12px;color:var(--neutral-400);font-weight:500;margin-top:4px;letter-spacing:.02em}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600}.tag-green{background:var(--green-50);color:var(--green-700)}.tag-blue{background:#dbeafe;color:var(--blue-600)}.tag-amber{background:#fef3c7;color:var(--amber-600)}.btn{display:inline-flex;align-items:center;gap:7px;font-weight:600;border-radius:var(--radius-sm);transition:all .2s ease}.btn-primary{background:var(--gradient-green);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:all .2s ease;box-shadow:0 2px 8px #22c55e40}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #22c55e59;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;border:1px solid var(--neutral-200);color:var(--text);padding:10px 20px;border-radius:var(--radius-sm);font-weight:500;display:inline-flex;align-items:center;gap:7px;transition:all .2s}.btn-ghost:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.btn-lg{padding:13px 28px;font-size:15px;border-radius:var(--radius)}.btn-full{width:100%;justify-content:center}.btn-sm{padding:6px 14px;font-size:13px;border-radius:7px;font-weight:600}.btn-active{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-300)}.btn-premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;box-shadow:0 2px 8px #f59e0b4d}.btn-premium:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--neutral-100);color:var(--neutral-700);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;gap:7px}.btn-secondary:hover{background:var(--neutral-200)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label,.form-label{font-weight:600;font-size:13px;color:var(--neutral-700)}.form-input{padding:10px 14px;border:1.5px solid var(--neutral-200);border-radius:var(--radius-sm);outline:none;transition:all .2s;width:100%;color:var(--text);background:var(--surface);resize:vertical}.form-input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #22c55e1a}.form-input::placeholder{color:var(--neutral-400)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-check{justify-content:flex-end}.check-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:13px;margin-top:24px}.alert-success{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200);padding:12px 16px;border-radius:var(--radius-sm);font-weight:500;margin-bottom:16px;animation:fadeIn .3s ease-out}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:12px 16px;border-radius:var(--radius-sm);font-weight:500;margin-bottom:16px;animation:fadeIn .3s ease-out}.empty-state{padding:40px 20px;text-align:center;color:var(--text-muted)}.empty-state p{font-size:14px;line-height:1.5}.empty-state-big{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--text-muted)}.empty-state-big h3{font-size:18px;color:var(--text);font-family:var(--font-display)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:500px;overflow:hidden;box-shadow:var(--shadow-xl);animation:scaleIn .25s ease-out}.modal-header{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--neutral-100)}.modal-header h3{font-size:17px;font-weight:700;font-family:var(--font-display)}.modal-header button{color:var(--text-muted);padding:4px;border-radius:var(--radius-sm)}.modal-header button:hover{background:var(--neutral-100)}.modal-body{padding:22px;max-height:60vh;overflow-y:auto}.modal-footer{padding:16px 22px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--neutral-100)}.modal-recipe{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:600px;overflow:hidden;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:scaleIn .25s ease-out}.modal-recipe-header{padding:22px 24px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--neutral-100)}.modal-recipe-header h2{font-size:18px;font-weight:700;margin-top:4px;font-family:var(--font-display)}.modal-recipe-type{font-size:12px;color:var(--green-600);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.modal-close{color:var(--text-muted);padding:6px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--neutral-100)}.modal-recipe-stats{display:flex;gap:8px;padding:16px 24px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-100);flex-wrap:wrap}.recipe-stat{display:flex;align-items:center;gap:5px;flex-direction:column;min-width:60px;text-align:center}.recipe-stat strong{font-size:15px;font-weight:700}.recipe-stat span{font-size:11px;color:var(--text-muted)}.modal-recipe-body{padding:22px 24px;overflow-y:auto;flex:1}.modal-recipe-body h3{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--neutral-400);text-transform:uppercase;letter-spacing:.06em}.recipe-text p{margin-bottom:6px;line-height:1.7;font-size:14px;color:var(--neutral-700)}.recipe-section-title{font-weight:700!important;color:var(--text)!important;margin-top:14px!important;margin-bottom:6px!important;font-size:15px!important}.recipe-text br{display:block;margin:4px 0}.table-controls{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;border:1.5px solid var(--neutral-200);border-radius:var(--radius-sm);padding:8px 14px;background:var(--surface);flex:1;min-width:200px;transition:border-color .2s}.search-box:focus-within{border-color:var(--green-500);box-shadow:0 0 0 3px #22c55e14}.search-box input{border:none;outline:none;width:100%;color:var(--text)}.search-box input::placeholder{color:var(--neutral-400)}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tab{padding:7px 14px;border-radius:var(--radius-sm);font-weight:500;color:var(--text-muted);border:1px solid var(--neutral-200);transition:all .2s}.filter-tab:hover{border-color:var(--neutral-300)}.filter-tab.active{background:var(--green-50);color:var(--green-700);border-color:var(--green-300);font-weight:600}.table-wrapper{overflow-x:auto;background:var(--surface);border-radius:var(--radius);border:1px solid var(--neutral-100)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{padding:12px 16px;text-align:left;font-weight:700;color:var(--neutral-400);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--neutral-100);background:var(--neutral-50)}.admin-table td{padding:12px 16px;border-bottom:1px solid var(--neutral-50);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--neutral-50)}.row-inactive td{opacity:.55}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--green-50);color:var(--green-700);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.user-name{font-weight:600;color:var(--neutral-800)}.user-email{color:var(--neutral-400);font-size:12px}.you-badge{background:var(--blue-500);color:#fff;font-size:10px;padding:1px 7px;border-radius:99px;margin-left:6px;font-weight:600}.status-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px}.status-badge.active{background:var(--green-50);color:var(--green-700)}.status-badge.inactive{background:#fef2f2;color:#b91c1c}.sub-badge.premium{background:#fef3c7;color:#92400e}.sub-badge.free{background:var(--neutral-50);color:var(--text-muted)}.role-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px}.role-badge.admin{background:#ede9fe;color:#5b21b6}.role-badge.user{background:var(--neutral-50);color:var(--text-muted)}.action-btns{display:flex;gap:4px}.action-btn{padding:6px;border-radius:var(--radius-sm);color:var(--neutral-400);display:flex;align-items:center;transition:all .2s}.action-btn:hover{background:var(--neutral-100);color:var(--neutral-700)}.action-btn.danger:hover{background:#fef2f2;color:var(--red-500)}.action-btn.success:hover{background:var(--green-50);color:var(--green-600)}.action-btn.warning:hover{background:#fef3c7;color:#92400e}.action-btn:disabled{opacity:.4;cursor:not-allowed}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px}.kpi-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;transition:all .25s ease}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{display:flex}.kpi-value{font-size:28px;font-weight:800;font-family:var(--font-display)}.kpi-label{font-size:12px;color:var(--text-muted);font-weight:500}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.chart-wide{grid-column:1 / -1}.chart-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:20px;margin-bottom:16px}.chart-card h3{font-size:14px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:6px;font-family:var(--font-display)}.chart-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:13px;font-weight:600}.chart-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.period-tabs{display:flex;gap:4px;flex-wrap:wrap}.period-tab{padding:6px 14px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--neutral-200);color:var(--text-muted);font-weight:500;transition:all .2s}.period-tab:hover{border-color:var(--neutral-300)}.period-tab.active{background:var(--green-50);color:var(--green-700);border-color:var(--green-300);font-weight:600}.plans-section{margin-bottom:28px}.plans-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.plan-select-card{background:var(--surface);border:2px solid var(--neutral-200);border-radius:var(--radius);padding:18px;position:relative;transition:all .25s ease}.plan-select-card:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.plan-select-card.active{border-color:var(--green-500);background:var(--green-50)}.plan-select-card h3{font-size:15px;font-weight:700;margin-bottom:6px;font-family:var(--font-display)}.plan-cal{color:var(--text-muted);font-size:12px;display:flex;align-items:center;gap:4px;margin-bottom:8px}.plan-desc-sm{font-size:12px;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.plan-active-badge{position:absolute;top:10px;right:10px;background:var(--green-100);color:var(--green-700);font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;display:flex;align-items:center;gap:4px}.day-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:18px}.day-tab{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;border:1px solid var(--neutral-200);color:var(--text-muted);transition:all .2s}.day-tab.active{background:var(--gradient-green);color:#fff;border-color:transparent;box-shadow:0 2px 8px #22c55e4d}.meal-type-section{margin-bottom:20px}.meal-type-label{font-size:12px;font-weight:700;color:var(--neutral-400);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.meal-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.meal-card:hover{border-color:var(--green-300);box-shadow:var(--shadow-sm);transform:translate(2px)}.meal-card-name{font-weight:600;font-size:14px;margin-bottom:5px}.meal-card-meta{display:flex;gap:12px;flex-wrap:wrap}.meal-card-meta span{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:3px}.meal-recipe-hint{color:var(--green-600)!important;font-weight:600}.meal-macros{display:flex;gap:6px;flex-shrink:0}.meal-macros span{font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;background:var(--neutral-50);color:var(--neutral-500)}.cards-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.plan-admin-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:20px;transition:all .25s ease}.plan-admin-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.plan-admin-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.plan-admin-top h3{font-size:16px;font-weight:700;font-family:var(--font-display)}.plan-admin-actions{display:flex;gap:4px}.plan-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--neutral-100);color:var(--text-muted);margin-top:4px;margin-right:6px}.premium-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:#fef3c7;color:#92400e}.plan-admin-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:14px}.plan-admin-meta{display:flex;gap:16px;font-size:12px;font-weight:600;color:var(--text-muted)}.perfil-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.perfil-card-info,.perfil-card-form{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius);padding:28px}.perfil-avatar-big{width:80px;height:80px;border-radius:50%;background:var(--gradient-green);color:#fff;font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 4px 16px #22c55e40}.perfil-card-info h2{font-size:17px;font-weight:700;text-align:center;font-family:var(--font-display)}.perfil-email{font-size:13px;color:var(--text-muted);text-align:center;margin:3px 0 12px}.perfil-subscription-badge{display:flex;align-items:center;gap:5px;justify-content:center;font-size:12px;font-weight:600;padding:5px 14px;border-radius:99px;margin:0 auto 18px;width:fit-content}.perfil-subscription-badge.premium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.perfil-subscription-badge.free{background:var(--neutral-100);color:var(--text-muted)}.perfil-stats-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.perfil-stat{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--neutral-50);border-radius:var(--radius-sm)}.perfil-stat span{font-weight:600;font-size:14px}.perfil-stat small{color:var(--text-muted);font-size:11px;margin-left:auto}.perfil-member-since{font-size:12px;color:var(--neutral-400);text-align:center}.perfil-card-form h3{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:20px;font-family:var(--font-display)}.premium-cta{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:var(--radius);border:1px solid #fde68a;margin-top:20px}.premium-cta strong{font-size:14px}.premium-cta p{font-size:12px;color:var(--text-muted);margin-top:2px}.landing{background:#fff;min-height:100vh}.landing-nav{position:sticky;top:0;z-index:100;background:#ffffffd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.6)}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.landing-logo{font-size:18px;font-weight:800;font-family:var(--font-display)}.landing-nav-links{display:flex;align-items:center;gap:14px}.landing-nav-links a{font-weight:500;color:var(--text-muted);font-size:14px;transition:color .2s}.landing-nav-links a:hover{color:var(--text)}.hero{max-width:1100px;margin:0 auto;padding:80px 24px 90px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;background:var(--gradient-hero)}.hero-badge{display:inline-block;font-size:13px;font-weight:600;padding:6px 16px;border-radius:99px;margin-bottom:22px;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200)}.hero-title{font-size:54px;font-weight:800;line-height:1.08;letter-spacing:-.03em;margin-bottom:18px;font-family:var(--font-display)}.hero-highlight{background:var(--gradient-green);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:17px;color:var(--text-muted);line-height:1.7;margin-bottom:30px;max-width:460px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.hero-stats{display:flex;align-items:center;gap:24px}.hero-stat{display:flex;flex-direction:column;gap:3px}.hero-stat strong{font-size:24px;font-weight:800;color:var(--green-600);font-family:var(--font-display)}.hero-stat span{font-size:12px;color:var(--text-muted)}.hero-stat-div{width:1px;height:40px;background:var(--neutral-200)}.hero-visual{position:relative;display:flex;flex-direction:column;gap:14px}.hero-card{background:#fff;border:1px solid var(--neutral-100);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-lg);transition:transform .3s ease;animation:float 4s ease-in-out infinite}.hero-card-2{margin-left:36px;animation-delay:.5s}.hero-card-3{margin-left:18px;animation-delay:1s}.hero-card:hover{transform:translateY(-4px)!important}.hero-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:var(--text-muted);font-weight:600}.hero-card-cal{background:var(--green-50);color:var(--green-700);padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600}.hero-card-meal{font-size:16px;font-weight:700;margin-bottom:8px;font-family:var(--font-display)}.hero-card-macros{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.section-inner{max-width:1100px;margin:0 auto;padding:80px 24px}.section-title{font-size:36px;font-weight:800;text-align:center;margin-bottom:12px;letter-spacing:-.02em;font-family:var(--font-display)}.section-subtitle{font-size:16px;color:var(--text-muted);text-align:center;margin-bottom:52px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.7}.landing-features{background:var(--neutral-50)}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.feature-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius-lg);padding:28px;transition:all .3s ease}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature-icon{font-size:36px;margin-bottom:14px}.feature-card h3{font-size:16px;font-weight:700;margin-bottom:8px;font-family:var(--font-display)}.feature-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.landing-plans{background:var(--surface)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.plan-card{background:var(--neutral-50);border:2px solid var(--neutral-200);border-radius:var(--radius-xl);padding:28px;position:relative;transition:all .3s ease}.plan-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.plan-highlight{background:var(--surface);border-color:var(--green-500);box-shadow:0 0 0 4px #22c55e14}.plan-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);color:#fff;font-size:11px;font-weight:700;padding:3px 16px;border-radius:99px;white-space:nowrap}.plan-icon{font-size:40px;margin-bottom:12px}.plan-name{font-size:18px;font-weight:800;margin-bottom:6px;font-family:var(--font-display)}.plan-calories{font-size:30px;font-weight:800;margin-bottom:12px;font-family:var(--font-display)}.plan-calories span{font-size:14px;color:var(--text-muted);font-weight:500}.plan-desc{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:18px}.plan-features{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.plan-features li{font-size:13px;display:flex;align-items:center;gap:8px}.plan-features li span{color:var(--green-500);font-weight:700}.plan-btn{width:100%;padding:12px;border-radius:var(--radius);font-weight:700;font-size:14px;border:1.5px solid var(--neutral-200);color:var(--text);transition:all .2s}.plan-btn:hover{border-color:var(--green-500);color:var(--green-600);background:var(--green-50)}.plan-btn-highlight{background:var(--gradient-green);color:#fff;border-color:transparent;box-shadow:0 4px 14px #22c55e4d}.plan-btn-highlight:hover{box-shadow:0 6px 20px #22c55e66;transform:translateY(-1px)}.landing-cta{background:var(--gradient-green);padding:80px 24px;text-align:center;color:#fff}.landing-cta h2{font-size:34px;font-weight:800;margin-bottom:12px;font-family:var(--font-display)}.landing-cta p{font-size:17px;opacity:.9;margin-bottom:32px}.landing-cta .btn-primary{background:#fff;color:var(--green-700);font-size:16px;padding:14px 32px;box-shadow:var(--shadow-lg)}.landing-cta .btn-primary:hover{background:var(--green-50);box-shadow:var(--shadow-xl)}.landing-footer{background:var(--neutral-900);color:var(--neutral-400);padding:28px;text-align:center;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;font-size:13px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;background-image:radial-gradient(circle at 20% 80%,rgba(34,197,94,.06) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.05) 0%,transparent 50%)}.auth-card{background:var(--surface);border:1px solid var(--neutral-100);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:slideUp .4s ease-out}.auth-logo{text-align:center;font-size:32px;margin-bottom:10px}.auth-title{font-size:22px;font-weight:800;text-align:center;margin-bottom:6px;font-family:var(--font-display)}.auth-subtitle{text-align:center;color:var(--text-muted);font-size:14px;margin-bottom:28px}.auth-footer{text-align:center;margin-top:20px;font-size:14px;color:var(--text-muted)}.auth-footer a{color:var(--green-600);font-weight:600}.auth-footer a:hover{text-decoration:underline}.welcome-banner{background:var(--gradient-green);border-radius:var(--radius-lg);padding:28px 32px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;border-radius:50%;background:#ffffff14}.welcome-banner:after{content:"";position:absolute;bottom:-30%;right:10%;width:200px;height:200px;border-radius:50%;background:#ffffff0d}.welcome-banner h1{font-size:26px;font-family:var(--font-display);font-weight:800;position:relative;z-index:1}.welcome-banner p{opacity:.9;margin-top:6px;font-size:14px;position:relative;z-index:1}.welcome-banner-links{display:flex;gap:10px;margin-top:18px;position:relative;z-index:1;flex-wrap:wrap}.welcome-banner-link{background:#ffffff2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.welcome-banner-link:hover{background:#ffffff47}@media (max-width: 768px){.sidebar{transform:translate(-100%);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-close{display:block}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:199}.main-wrapper{margin-left:0}.hamburger-btn{display:flex}.top-bar-title{display:block}.main-content{padding:16px}.hero{grid-template-columns:1fr;padding:48px 20px}.hero-title{font-size:38px}.hero-visual{display:none}.charts-row{grid-template-columns:1fr}.chart-wide{grid-column:auto}.perfil-layout{grid-template-columns:1fr}.landing-nav-links a{display:none}.form-row{grid-template-columns:1fr}.notif-dropdown{right:-60px;width:300px}.stats-grid{grid-template-columns:1fr 1fr}.welcome-banner h1{font-size:22px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}}.sidebar-badge.basic{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.sidebar-badge.pro{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.pricing-card{transition:all .3s ease}.pricing-card:hover{transform:translateY(-4px)}.pricing-card.current{box-shadow:0 0 0 3px var(--green-500),0 8px 30px #22c55e33}.pricing-card.popular{position:relative}.sub-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px}.sub-badge.free{background:var(--neutral-100);color:var(--text-muted)}.sub-badge.basic{background:#dbeafe;color:#1d4ed8}.sub-badge.pro{background:#fef3c7;color:#92400e}.sub-badge.active{background:var(--green-100);color:var(--green-700)}.sub-badge.expired{background:#fee2e2;color:#dc2626}.sub-badge.cancelled{background:#fef3c7;color:#d97706}.tier-free{color:#64748b}.tier-basic{color:#3b82f6}.tier-pro{color:#f59e0b}.bg-tier-free{background-color:#f1f5f9}.bg-tier-basic{background-color:#dbeafe}.bg-tier-pro{background-color:#fef3c7}.meal-card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--green-300)}.page-container{max-width:1200px;margin:0 auto;padding:0 24px}.plans-section{margin-bottom:32px}.section-label{font-size:18px;font-weight:600;color:var(--neutral-700);margin-bottom:16px}.plans-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.plan-select-card{position:relative;background:#fff;border:2px solid var(--neutral-200);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:all .2s}.plan-select-card:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.plan-select-card.active{border-color:var(--green-500);background:var(--green-50);box-shadow:0 4px 16px #22c55e33}.plan-active-badge{position:absolute;top:-10px;right:20px;background:var(--green-500);color:#fff;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.plan-cal{display:flex;align-items:center;gap:6px;color:var(--neutral-600);font-size:14px;margin:8px 0}.plan-desc-sm{color:var(--neutral-500);font-size:13px;line-height:1.5;margin-bottom:16px}.btn-sm{padding:10px 16px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-sm.btn-primary{background:var(--green-600);color:#fff;border-color:var(--green-600)}.btn-sm.btn-primary:hover{background:var(--green-700)}.btn-sm.btn-active{background:var(--green-500);color:#fff}.week-section{background:#fff;border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--neutral-100)}.day-tabs{display:flex;gap:8px;margin-bottom:24px;padding:12px 16px;background:var(--neutral-50);border-radius:12px;overflow-x:auto}.day-tab{flex:0 0 auto;padding:10px 20px;border:1px solid var(--neutral-200);border-radius:8px;background:#fff;color:var(--neutral-600);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.day-tab:hover{border-color:var(--green-300);color:var(--green-600)}.day-tab.active{background:var(--green-600);color:#fff;border-color:transparent;box-shadow:0 2px 8px #22c55e4d}.meals-day{margin-top:16px}.meal-type-section{margin-bottom:24px}.meal-type-label{font-size:13px;font-weight:700;color:var(--neutral-600);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.text-red{color:var(--red-500)}.text-yellow{color:var(--yellow-600)}.text-blue{color:var(--blue-500)}.bg-red-50{background-color:var(--red-50)}.bg-yellow-50{background-color:var(--yellow-50)}.bg-blue-50{background-color:var(--blue-50)}.border-red-100{border-color:var(--red-100)}.border-yellow-100{border-color:var(--yellow-100)}.border-blue-100{border-color:var(--blue-100)}.modal-recipe{max-width:700px;width:90%;max-height:90vh;overflow-y:auto;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-xl)}.modal-recipe-header{padding:24px;border-bottom:1px solid var(--neutral-100);display:flex;justify-content:space-between;align-items:flex-start}.modal-recipe-type{display:inline-block;font-size:12px;font-weight:600;color:var(--green-600);margin-bottom:8px}.modal-recipe-stats{display:flex;gap:24px;padding:20px 24px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-100);flex-wrap:wrap}.recipe-stat{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px}.recipe-stat strong{font-size:20px;font-weight:800;color:var(--neutral-800)}.recipe-stat span{font-size:11px;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em}.modal-recipe-body{padding:24px}.modal-recipe-body h3{font-size:16px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px;color:var(--neutral-700)}.recipe-text{font-size:14px;line-height:1.6;color:var(--neutral-700);max-height:400px;overflow-y:auto}.recipe-section-title{font-weight:700;color:var(--neutral-800);margin:16px 0 8px}.red-50: var(--red-50); .yellow-50: var(--yellow-50); .blue-50: var(--blue-50); .notif-delete-btn:hover{background:var(--red-50)!important;color:var(--red-500)!important}
