
:root{--bg:#f5f7f8;--bg-2:#ffffff;--panel:#ffffff;--panel-alt:#fafbfc;--sidebar:#050505;--sidebar-2:#0e0e0f;--text:#101828;--muted:#5b6574;--line:#d9dfe7;--lime:#b9ef00;--lime-dark:#7aa300;--lime-soft:#eef9cf;--shadow:0 12px 34px rgba(15,23,42,.08);--radius:24px}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Aptos,Calibri,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.45}a{text-decoration:none;color:var(--lime-dark)}img{max-width:100%}input,select,textarea,button{font-family:inherit}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:var(--text)}input,select,textarea{width:100%;border:1px solid #cfd7e3;border-radius:18px;padding:14px 16px;background:#fff;color:var(--text);outline:none;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--lime-dark);box-shadow:0 0 0 4px rgba(185,239,0,.16)}textarea{resize:vertical}.menu-toggle{position:fixed;left:22px;top:22px;z-index:31;background:#050505;color:#fff;border:0;border-radius:18px;width:58px;height:58px;font-size:28px;box-shadow:0 10px 25px rgba(0,0,0,.18);cursor:pointer}.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.25s;z-index:19}.sidebar{position:fixed;inset:0 auto 0 0;width:320px;background:linear-gradient(180deg,#000,#0b0c0d);color:#fff;padding:24px 20px;transform:translateX(-105%);transition:.28s ease;z-index:20;overflow-y:auto;box-shadow:0 18px 55px rgba(0,0,0,.35)}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.brand{display:flex;align-items:center;gap:16px;margin-bottom:28px}.brand-logo{width:94px;height:94px;border-radius:28px;background:#000;object-fit:contain;padding:8px;box-shadow:0 14px 32px rgba(0,0,0,.45)}.brand strong{display:block;font-size:36px;line-height:1;letter-spacing:-.03em}.brand span{display:block;color:#e6e7eb;font-size:17px;line-height:1.25;margin-top:6px}.sidebar nav{display:grid;gap:8px;padding-bottom:20px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#f6f7f8;padding:14px 14px;border-radius:16px;font-weight:800;font-size:18px;border:1px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(185,239,0,.11);border-color:rgba(185,239,0,.25)}.sidebar-footer{border-top:1px solid rgba(255,255,255,.09);padding-top:16px;margin-top:10px}.sidebar-footer small{display:block;color:#dfe2e7;margin-bottom:8px}.sidebar-footer a{color:#dfff7a;font-weight:700}.main{padding:92px 22px 78px;max-width:1200px;margin:0 auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h1{margin:.15rem 0 0;font-size:44px;line-height:1.04;letter-spacing:-.04em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:900;color:var(--lime-dark);margin:0 0 8px}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:18px;padding:14px 18px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#edf1f5;color:var(--text);font-size:16px}.btn.primary{background:var(--lime);color:#111;box-shadow:0 12px 28px rgba(185,239,0,.24)}.btn.ghost{background:#fff;border:1px solid #d6dde6}.btn.small{padding:10px 12px;font-size:14px;border-radius:14px}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;padding:28px;border-radius:32px;background:linear-gradient(135deg,#ffffff 0,#f7fbef 100%);border:1px solid #d9e4c1;box-shadow:var(--shadow)}.hero h2{font-size:42px;line-height:1.02;letter-spacing:-.05em;margin:0 0 10px}.hero p{color:var(--muted);font-size:17px}.hero-card{background:#fff;border:1px solid #e0e7cf;border-radius:24px;padding:20px;display:flex;flex-direction:column;justify-content:center}.hero-card span{color:var(--muted);font-size:13px;font-weight:800}.hero-card strong{font-size:28px;line-height:1.1;margin:6px 0}.hero-card small{color:var(--muted);font-size:15px}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.mt{margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.section-title h2,.card h2,.card h3{margin:0 0 6px;letter-spacing:-.03em;line-height:1.08}.card h2{font-size:34px}.card h3{font-size:24px}.muted{color:var(--muted);font-size:15px}.metric{border:1px solid #dfe5ee;background:#fff;border-radius:20px;padding:16px}.metric span{display:block;color:#647182;font-weight:800;font-size:13px}.metric strong{display:block;font-size:30px;line-height:1.05;margin-top:4px}.metric small{display:block;color:var(--muted);margin-top:6px}.metric.big strong{color:var(--lime-dark)}.badge{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:13px;font-weight:900}.badge.lime,.badge.green{background:#eef9cf;color:#4a6813;border:1px solid #d2eba0}.badge.blue{background:#edf2ff;color:#3249a5;border:1px solid #d7dffd}.badge.yellow{background:#fff6dc;color:#9a6b05;border:1px solid #fde09b}.badge.red{background:#ffe7e7;color:#b52a2a;border:1px solid #ffcbcb}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{padding:8px 11px;border-radius:999px;background:#f3f8e2;border:1px solid #e0e9bf;font-size:13px;font-weight:800}.routine-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.routine-chip{display:flex;gap:12px;align-items:flex-start;background:#f8fafc;border:1px solid #e5eaf0;border-radius:18px;padding:14px}.routine-chip .icon{font-size:22px}.routine-chip strong{display:block;font-size:17px}.routine-chip small{display:block;color:var(--muted)}.hero-actions,.stack-actions{display:flex;gap:10px;flex-wrap:wrap}.help-card p{min-height:56px}.quick-help{justify-content:flex-start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.compact-form{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.check{flex-direction:row;align-items:center;gap:10px}.check input{width:auto}.routine-cards,.stack-list{display:grid;gap:14px}.exercise-card,.history-card{border:1px solid #e2e7ef;border-radius:22px;padding:18px;background:#fbfcfd}.exercise-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.exercise-index{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#edf7d2;color:#4f7300;font-weight:900}.exercise-card h3{margin:0;font-size:22px}.mobile-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.add-card{border-style:dashed;background:#fff}.history-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:20px}.table{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:740px}.table th{text-align:left;color:#6d7785;font-size:13px;padding:0 10px}.table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 10px}.table tr td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.table tr td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.center{text-align:center}.meal-idea-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-idea{background:#fbfcfd;border:1px solid #e1e7ef;border-radius:20px;padding:16px}.meal-idea h3{font-size:18px;margin:0 0 6px}.meal-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.day-meal-card{border:1px solid #dde4ed;background:#fbfcfd;border-radius:22px;padding:16px}.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:900}.person-meal-block h4{margin:10px 0 8px;font-size:17px}.meal-entry-card{border:1px solid #e3e9f0;background:#fff;border-radius:16px;padding:12px;margin-bottom:10px}.meal-entry-card.free{border-color:#f4d092;background:#fff8eb}.meal-entry-card strong{display:block;font-size:17px}.meal-entry-card small{display:block;color:var(--muted);margin-top:3px}.meal-entry-card p{margin:6px 0 0;color:#39414f}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:var(--shadow);text-align:center}.auth-logo-img{width:220px;max-width:100%;margin:0 auto 14px;display:block}.auth-card h1{margin:0;font-size:42px}.alert{border-radius:18px;padding:14px 16px;margin:12px 0;background:#eef9cf;color:#3c5708;border:1px solid #d4ea9e;font-weight:700}.alert.error{background:#ffe8e8;color:#a92424;border-color:#ffcaca}.svg-chart{position:relative;border:1px solid #e0e6ee;background:#fff;border-radius:20px;padding:12px;overflow:hidden}.svg-chart svg{width:100%;height:170px;display:block}.chart-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef2f6;padding-top:10px;color:var(--muted);font-size:13px}.chart-meta strong{color:var(--text);font-size:18px}.empty-chart{display:grid;place-items:center;height:180px;border:1px dashed #d4dae4;border-radius:18px;color:var(--muted);background:#f9fbfc}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-card img{width:100%;height:260px;object-fit:cover;border-radius:18px;border:1px solid #dfe5ee;background:#eef2f6}.soft-note{border:1px solid #e0ebbb;background:#f7fbe9;border-radius:18px;padding:16px}.app-footer{text-align:center;color:#647182;font-size:13px;padding:18px 12px 28px}.print-panel{background:#fff}.no-print{}.next-workout-card h2{font-size:38px}.clean-hero{background:linear-gradient(135deg,#fff,#f6f9ea)}@media(min-width:1200px){.main{padding-left:26px;padding-right:26px}}@media(max-width:1100px){.topbar h1{font-size:38px}.hero{grid-template-columns:1fr}.cols-4,.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-idea-grid,.meal-week-grid,.photo-grid{grid-template-columns:1fr}.form-grid,.form-grid.compact-form,.mobile-form-grid,.cols-3,.cols-2{grid-template-columns:1fr}.routine-preview{grid-template-columns:1fr}}@media(max-width:720px){body{font-size:17px}.main{padding:96px 14px 76px}.menu-toggle{left:14px;top:14px;width:58px;height:58px}.sidebar{width:92vw;padding:20px 16px}.brand-logo{width:110px;height:110px}.brand strong{font-size:28px}.brand span{font-size:15px}.topbar h1{font-size:28px}.hero,.card{padding:18px}.hero h2,.card h2{font-size:28px}.card h3{font-size:22px}.muted,.hero p,.hero-card small,label,input,select,textarea,.btn{font-size:17px}.btn{padding:15px 16px}.metric strong{font-size:26px}.small-kpis{grid-template-columns:1fr 1fr}.routine-chip strong,.meal-entry-card strong{font-size:18px}.table,.table thead,.table tbody,.table tr,.table td,.table th{display:block;width:100%;min-width:0}.table thead{display:none}.table tr{margin-bottom:12px}.table td{border:1px solid var(--line)!important;border-radius:16px!important}.table td+td{margin-top:8px}.photo-grid{grid-template-columns:1fr}.photo-card img{height:220px}}@media print{.menu-toggle,.menu-backdrop,.sidebar,.top-actions,.no-print,.app-footer{display:none!important}.main{padding:0;max-width:none}.card,.exercise-card,.metric{box-shadow:none!important;border-color:#cfd6df!important}}

.nutrition-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.food-option-card{border:1px solid #e1e7ef;background:#fff;border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.food-option-card h3{font-size:20px;margin:10px 0 6px}.food-option-card strong{display:block;font-size:17px;color:#111827}.food-option-card p{margin:8px 0 0;color:#5b6574}.nutrition-meal-grid .meal-entry-card strong{font-size:16px}@media(max-width:1100px){.nutrition-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.nutrition-options-grid{grid-template-columns:1fr}.food-option-card h3{font-size:19px}}

/* DeFatFit v5.5 · perfil nutricional e inicio */
.welcome-cover{
    background:linear-gradient(135deg,#050505,#111);
    color:#fff;
    border-radius:36px;
    padding:34px 24px;
    text-align:center;
    box-shadow:var(--shadow);
    border:1px solid rgba(255,255,255,.08);
}
.welcome-cover .eyebrow{color:var(--lime)}
.welcome-logo{width:180px;max-width:70%;border-radius:32px;background:#000;padding:10px;margin:0 auto 12px;display:block}
.welcome-cover h1{font-size:clamp(42px,8vw,86px);letter-spacing:-.06em;line-height:.95;margin:4px 0 10px}
.welcome-cover p{color:#e6e7eb;font-size:18px;max-width:620px;margin:0 auto 20px}
.welcome-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.nutrition-target-editor{margin-top:10px;border-top:1px solid var(--line);padding-top:18px}
.nutrition-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nutrition-target-card{background:#fbfcfd;border:1px solid #e1e7ef;border-radius:22px;padding:16px}
.nutrition-target-card h3{font-size:19px;margin:0 0 12px}
@media(max-width:1100px){.nutrition-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.welcome-logo{width:150px}.welcome-actions .btn{width:100%}.nutrition-target-grid{grid-template-columns:1fr}}

/* v5.6 exercise icons */
.exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exercise-library-card{display:grid;grid-template-columns:96px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow)}.exercise-icon-box{width:96px;height:96px;border-radius:22px;background:#f3f7e7;border:1px solid #e1edbd;display:grid;place-items:center;overflow:hidden}.exercise-icon-box img{width:100%;height:100%;object-fit:contain;padding:8px}.exercise-icon-box span{font-size:34px}.exercise-library-body h3{margin:0 0 6px;font-size:22px}.exercise-library-body p{margin:6px 0}.exercise-library-body small{display:block;color:var(--muted);font-size:13px}.inline-icon-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:12px}.inline-icon-form input[type=file]{padding:9px;font-size:13px}@media(max-width:820px){.exercise-grid{grid-template-columns:1fr}.exercise-library-card{grid-template-columns:76px 1fr;padding:14px}.exercise-icon-box{width:76px;height:76px}.inline-icon-form{grid-template-columns:1fr}.exercise-library-body h3{font-size:20px}}


/* DeFatFit v5.7 · Despensa */
.big-textarea{font-size:18px;line-height:1.55;min-height:220px}
.form-actions{display:flex;align-items:end}
.pantry-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pantry-summary-card{display:block;background:#f8fafc;border:1px solid #e4e9f0;border-radius:18px;padding:14px;color:var(--text)}
.pantry-summary-card strong{display:block;font-size:30px;line-height:1;color:var(--lime-dark)}
.pantry-summary-card span{display:block;color:var(--muted);font-weight:800;margin-top:4px}
.pantry-list{display:grid;gap:12px}
.pantry-row{background:#fbfcfd;border:1px solid #e1e7ef;border-radius:22px;padding:16px}
.pantry-main{display:grid;grid-template-columns:1.3fr 1.1fr .7fr .8fr .9fr .9fr .8fr 1.2fr;gap:10px;align-items:end}
.pantry-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pantry-raw{margin:10px 0 0}
@media(max-width:1100px){.pantry-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.pantry-summary,.pantry-main{grid-template-columns:1fr}.big-textarea{font-size:18px;min-height:180px}.pantry-row{padding:14px}}

/* v5.8 · iconos DeFatFit + despensa listado simple */
.exercise-icon-box img{object-fit:cover;background:#050505;border-radius:18px;border:1px solid #1f2937}.pantry-simple-list{display:grid;gap:12px}.pantry-simple-item{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;border:1px solid #e2e7ef;background:#fbfcfd;border-radius:22px;padding:14px}.pantry-item-qty{width:78px;height:64px;border-radius:18px;background:#111;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.pantry-item-qty strong{font-size:24px;line-height:1}.pantry-item-qty span{font-size:12px;color:#d9f99d;font-weight:800}.pantry-item-info h3{margin:0 0 4px;font-size:20px}.pantry-item-info p{margin:0;color:var(--muted)}.big-textarea{font-size:18px;line-height:1.55}@media(max-width:720px){.pantry-simple-item{grid-template-columns:72px 1fr;align-items:start}.pantry-simple-item .badge{grid-column:1/-1;width:max-content}.pantry-item-qty{width:64px;height:58px}.pantry-item-info h3{font-size:19px}}



/* DeFatFit v5.9 · escritorio + rutina simple */
@media (min-width: 1180px){
  .main{max-width:1440px;padding-left:34px;padding-right:34px;}
  .topbar h1{font-size:46px;}
  .sidebar{width:370px;}
  .brand-logo{width:112px;height:112px;}
  .brand strong{font-size:40px;}
  .brand span{font-size:18px;}
  .sidebar nav a{font-size:19px;padding:15px 16px;}
}
.planner-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;align-items:stretch;}
.calendar-day{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;min-height:260px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;}
.calendar-day.today{border-color:var(--lime-dark);box-shadow:0 0 0 4px rgba(185,239,0,.18), var(--shadow);}
.calendar-day h3{font-size:22px;margin:0;line-height:1.05;}
.calendar-session-icon{width:52px;height:52px;border-radius:18px;background:#111;color:#dfff7a;display:grid;place-items:center;font-size:26px;}
.calendar-session-icon.rest{background:#f3f5f7;color:#647182;}
.calendar-ex-list{margin:4px 0 0;padding-left:18px;color:#4b5563;font-size:14px;line-height:1.35;}
.calendar-ex-list li{margin:2px 0;}
.calendar-day .day-actions{margin-top:auto;}
.session-clean-hero .hero-card strong{font-size:32px;}
.session-toolbar-card .section-title{align-items:center;}
.session-list-view{display:grid;gap:12px;}
.session-list-item{display:grid;grid-template-columns:50px 92px 1fr auto;gap:16px;align-items:center;border:1px solid #dfe5ee;background:#fbfcfd;border-radius:24px;padding:14px 16px;}
.session-list-number{width:42px;height:42px;border-radius:14px;background:#111;color:#dfff7a;display:grid;place-items:center;font-weight:900;font-size:18px;}
.session-list-icon{width:86px;height:86px;border-radius:22px;background:#0b0b0c;border:1px solid #1f2937;display:grid;place-items:center;overflow:hidden;}
.session-list-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.session-list-icon span{font-size:34px;}
.session-list-info h3{font-size:22px;margin:0 0 4px;}
.session-list-info p{margin:0;color:#111827;font-weight:800;}
.session-list-info small{display:block;color:#667085;margin-top:5px;}
.session-list-status{justify-self:end;}
.edit-ex-icon{width:70px;height:70px;border-radius:18px;background:#0b0b0c;overflow:hidden;border:1px solid #1f2937;display:grid;place-items:center;flex:0 0 auto;}
.edit-ex-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.edit-ex-icon span{font-size:28px;}
.edit-exercise-card .exercise-head{align-items:center;}
@media (max-width: 1100px){
  .planner-calendar{grid-template-columns:1fr;}
  .calendar-day{min-height:auto;}
  .calendar-day h3{font-size:24px;}
  .calendar-ex-list{font-size:16px;}
}
@media (max-width:720px){
  .planner-hero{display:none;}
  .planner-calendar{gap:12px;}
  .calendar-day{padding:18px;border-radius:24px;}
  .calendar-session-icon{width:48px;height:48px;}
  .session-list-item{grid-template-columns:42px 72px 1fr;gap:12px;align-items:start;}
  .session-list-icon{width:72px;height:72px;border-radius:18px;}
  .session-list-status{grid-column:2 / -1;justify-self:start;}
  .session-list-info h3{font-size:20px;}
  .session-list-info p{font-size:16px;}
  .session-toolbar-card .section-title{display:block;}
  .session-toolbar-card .hero-actions{margin-top:12px;}
}
@media print{
  .session-toolbar-card,.planner-hero{display:none!important;}
  .session-list-item{break-inside:avoid;box-shadow:none!important;}
}

/* DeFatFit v6.0 · desktop order + simple session view */
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;min-width:24px;font-size:18px}
.nav-text{flex:1}
.sidebar nav a{justify-content:flex-start}

@media (min-width: 1180px){
  body{padding-left:310px;}
  .menu-toggle,.menu-backdrop{display:none !important;}
  .sidebar{transform:none !important;width:290px;padding:24px 16px;}
  .main{max-width:none;margin:0;padding:34px 30px 86px;}
  .app-footer{padding-left:310px;}
  .topbar{position:sticky;top:0;z-index:5;padding:10px 0 18px;background:linear-gradient(180deg,var(--bg) 75%, rgba(245,247,248,0));backdrop-filter:blur(6px)}
  .topbar h1{font-size:40px;}
  .sidebar nav{max-height:calc(100vh - 230px);overflow:auto;padding-right:4px}
  .planner-calendar{grid-template-columns:repeat(7,minmax(0,1fr));}
  .calendar-day{min-height:310px;padding:18px;}
}

.session-basic-details summary,
.session-detail-card summary{
  list-style:none;
  cursor:pointer;
}
.session-basic-details summary::-webkit-details-marker,
.session-detail-card summary::-webkit-details-marker{display:none}
.session-basic-details summary{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:18px}
.summary-action,.session-edit-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#eef3f8;color:#243041;font-weight:800;font-size:13px;border:1px solid #dbe4ee}
.session-basic-details[open] .summary-action,.session-detail-card[open] .session-edit-link{background:#eef9cf;border-color:#d2eba0;color:#4a6813}
.session-detail-body{padding:8px 0 0}
.top-space{margin-top:14px}
.routine-simple-card{padding-bottom:24px}
.session-simple-list{display:grid;gap:12px}
.session-detail-card{border:1px solid #e1e7ef;border-radius:24px;background:#fbfcfd;overflow:hidden}
.session-detail-card[open]{background:#fff;border-color:#d2dbe7;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.session-list-item{display:grid;grid-template-columns:54px 84px 1fr auto;gap:16px;align-items:center;padding:16px 18px}
.session-list-number{width:42px;height:42px;border-radius:14px;background:#111827;color:#dfff7a;display:grid;place-items:center;font-weight:900;font-size:17px}
.session-list-icon{width:78px;height:78px;border-radius:20px;background:#0b0b0c;border:1px solid #1f2937;display:grid;place-items:center;overflow:hidden}
.session-list-icon img{width:100%;height:100%;object-fit:cover;display:block}
.session-list-icon span{font-size:32px;color:#dfff7a}
.session-list-info h3{margin:0 0 4px;font-size:22px;letter-spacing:-.03em}
.session-list-info p{margin:0;font-size:16px;font-weight:900;color:#17202e}
.session-list-info small{display:block;color:#667085;font-size:14px;line-height:1.45;margin-top:5px}
.session-list-status{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.session-detail-body{padding:0 18px 18px}
.session-detail-body .grid{margin-bottom:8px}
.add-row .session-list-number{font-size:24px}
.add-row .session-list-icon{background:#f7fbef;border-color:#d9e4c1}
.add-row .session-list-icon span{color:#4a6813}

.planner-calendar{background:transparent}
.calendar-day .badge{width:max-content}
.calendar-day .day-head{padding-bottom:10px;border-bottom:1px solid #eef2f6;margin-bottom:2px}
.calendar-day h3{font-size:20px}
.calendar-day p{margin:0}
.calendar-day .btn.small{width:100%}
.day-head span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#647182}
.day-head strong{font-size:20px}
.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.toolbar label{min-width:180px;flex:1}
.toolbar .btn{align-self:end}

@media (max-width: 1179px){
  body{padding-left:0}
  .app-footer{padding-left:12px}
}

@media (max-width: 780px){
  .session-list-item{grid-template-columns:42px 64px 1fr;gap:12px;align-items:start;padding:14px}
  .session-list-icon{width:64px;height:64px;border-radius:16px}
  .session-list-info h3{font-size:19px}
  .session-list-info p{font-size:15px}
  .session-list-status{grid-column:2 / -1;align-items:flex-start}
  .session-detail-body{padding:0 14px 14px}
  .session-basic-details summary{font-size:17px}
  .toolbar{display:grid;grid-template-columns:1fr;}
  .toolbar label{min-width:0}
}

/* DeFatFit v6.1 · App fitness premium */
.app-library-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:#fff;border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow)}
.app-library-hero h2{font-size:52px;letter-spacing:-.055em;line-height:.96;margin:0 0 12px;color:#2c1f2b}
.app-library-hero p{max-width:760px;color:#5b6574;font-size:18px;margin:0}
.app-filterbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:18px 20px}.search-pill{display:flex;align-items:center;gap:10px;background:#f1f3f5;border-radius:22px;padding:0 16px;min-width:280px}.search-pill input{border:0;background:transparent;box-shadow:none;padding:14px 0}.filter-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce2ea;border-radius:999px;padding:13px 18px;font-weight:800;color:#4d5563;background:#fff}.filter-chip.active{border-color:#2fb5e8;color:#2fb5e8;background:#f3fbff}
.training-list{display:grid;gap:18px}.training-row{display:grid;grid-template-columns:280px 1fr 140px 74px;gap:0;align-items:center;min-height:146px;background:#f0f0f1;border-radius:34px;overflow:hidden;border:1px solid #e4e6ea;box-shadow:0 18px 45px rgba(15,23,42,.06)}.training-thumb{height:146px;background:#111;display:grid;place-items:center;overflow:hidden}.training-thumb img{width:100%;height:100%;object-fit:cover}.training-thumb span{font-size:54px;color:#dfff7a}.training-info{padding:22px 28px}.training-info h3{font-size:32px;line-height:1;margin:0 0 10px;color:#2c1f2b;letter-spacing:-.04em}.training-info p{font-size:17px;color:#4b5563;margin:0 0 12px}.training-lines{display:grid;gap:14px;justify-items:center}.training-lines i{display:block;width:110px;height:10px;border-radius:999px;background:#d5d5d6}.training-lines i:nth-child(2){width:76px}.play-btn{width:58px;height:58px;border-radius:999px;background:#30b6ec;color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px;margin-right:28px;box-shadow:0 12px 26px rgba(48,182,236,.25)}

.plan-editor-shell{display:grid;grid-template-columns:380px 1fr;gap:28px}.plan-editor-left{display:grid;gap:18px;align-content:start}.plan-cover-card{border-radius:32px;overflow:hidden;background:#111;min-height:245px;box-shadow:var(--shadow);border:1px solid #e0e5ec;display:grid;place-items:center}.plan-cover-card img{width:100%;height:245px;object-fit:cover}.plan-cover-placeholder{width:140px;height:140px;border-radius:34px;background:#0b0b0c;color:#dfff7a;display:grid;place-items:center;font-size:54px;font-weight:900}.plan-form-card h2,.days-card h2,.add-activity-card h2{font-size:28px}.form-grid.one-col{grid-template-columns:1fr}.day-pill-list{display:grid;gap:12px}.day-pill-list a{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px 18px;color:#2c1f2b;font-weight:900}.day-pill-list small{color:#6b7280;font-weight:700}.plan-editor-main{min-width:0}.activity-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.activity-column{background:#f2f2f3;border:1px solid #e1e5eb;border-radius:34px;padding:22px;box-shadow:var(--shadow)}.activity-column-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.activity-column-head span{font-size:14px;text-transform:uppercase;letter-spacing:.13em;color:#7aa300;font-weight:900}.activity-column-head h2{margin:4px 0 0;color:#2c1f2b;font-size:28px;letter-spacing:-.04em}.round-plus{width:44px;height:44px;border-radius:999px;background:#31b7ec;color:#fff;display:grid;place-items:center;font-size:26px;text-transform:none!important;letter-spacing:0!important}.activity-list{display:grid;gap:12px}.activity-item{display:grid;grid-template-columns:70px 1fr 34px;gap:14px;align-items:center;background:#fff;border:1px solid #e4e8ef;border-radius:22px;padding:12px}.activity-icon{width:64px;height:64px;border-radius:18px;background:#0a0a0b;overflow:hidden;display:grid;place-items:center}.activity-icon img{width:100%;height:100%;object-fit:cover}.activity-icon span{font-size:28px;color:#dfff7a}.activity-info strong{display:block;color:#2c1f2b;font-size:19px;letter-spacing:-.02em}.activity-info small{display:block;color:#5b6574;font-size:15px;margin-top:3px}.activity-check{font-size:26px;color:#c5ccd6}.session-simple-list .session-detail-card{border-radius:28px}.session-list-item{background:#fff}.session-detail-card:nth-child(even) .session-list-item{background:#fbfcfd}.session-list-info h3{color:#151515}.routine-simple-card{border-radius:32px}.session-list-number{background:#eef0f2;color:#111}.session-list-icon{border-radius:18px}.session-list-status .badge{font-size:12px}

@media(max-width:1180px){.plan-editor-shell{grid-template-columns:1fr}.activity-board{grid-template-columns:1fr}.training-row{grid-template-columns:170px 1fr 64px}.training-lines{display:none}.training-thumb{height:132px}.play-btn{margin-right:18px}.app-library-hero h2{font-size:42px}}
@media(max-width:760px){.app-library-hero{display:block;padding:22px;border-radius:28px}.app-library-hero h2{font-size:34px}.app-library-hero .btn{margin-top:16px;width:100%}.app-filterbar{display:grid}.search-pill{min-width:0;width:100%}.filter-chip{justify-content:flex-start}.training-row{grid-template-columns:96px 1fr 54px;min-height:118px;border-radius:24px}.training-thumb{height:118px}.training-info{padding:14px}.training-info h3{font-size:22px}.training-info p{font-size:14px}.training-info .chips{display:none}.play-btn{width:44px;height:44px;font-size:18px;margin-right:10px}.plan-cover-card{min-height:180px}.plan-cover-card img{height:180px}.activity-column{padding:16px;border-radius:26px}.activity-item{grid-template-columns:58px 1fr 26px}.activity-icon{width:54px;height:54px}.activity-info strong{font-size:17px}.activity-info small{font-size:14px}}

/* DeFatFit v6.2 · menú compacto, iconos sólidos verdes y páginas sin hero repetido */
:root{--df-green:#b9ef00;--df-green-dark:#7aa300;}
.nav-icon{width:18px;min-width:18px;height:18px;color:var(--df-green);display:inline-grid;place-items:center;font-size:0;line-height:1}
.nav-icon svg{width:18px;height:18px;display:block;fill:currentColor;stroke:none}
.sidebar{padding:16px 12px!important}
.brand{gap:10px!important;margin-bottom:14px!important}
.brand-logo{width:60px!important;height:60px!important;border-radius:16px!important;padding:4px!important}
.brand strong{font-size:22px!important;line-height:1!important}
.brand span{font-size:11px!important;line-height:1.2!important;margin-top:3px!important;color:#d4d7dc!important}
.sidebar nav{gap:2px!important;padding-bottom:10px!important;max-height:calc(100vh - 150px)!important}
.sidebar nav a{font-size:13px!important;padding:8px 9px!important;border-radius:11px!important;gap:9px!important;line-height:1.15!important;font-weight:800!important}
.sidebar-footer{padding-top:10px!important;margin-top:6px!important;font-size:12px!important}.sidebar-footer small{font-size:11px!important;margin-bottom:5px!important}
.menu-toggle{width:48px!important;height:48px!important;border-radius:14px!important;font-size:23px!important}
@media (min-width:1180px){body{padding-left:238px!important}.sidebar{width:224px!important}.main{padding:26px 28px 74px!important}.app-footer{padding-left:238px!important}.topbar{padding:8px 0 14px!important}.topbar h1{font-size:36px!important}.top-actions .btn{padding:11px 14px!important}.planner-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:235px!important;padding:13px!important;border-radius:20px!important}.calendar-session-icon{width:42px!important;height:42px!important;border-radius:14px!important;font-size:21px!important}.calendar-day h3{font-size:18px!important}.calendar-ex-list{font-size:12px!important}}
@media (max-width:760px){.sidebar{width:84vw!important}.brand-logo{width:74px!important;height:74px!important}.brand strong{font-size:24px!important}.sidebar nav a{font-size:15px!important;padding:10px!important}.nav-icon,.nav-icon svg{width:20px;height:20px}}

/* Ocultar heroes duplicados y dejar acciones compactas */
.planner-hero,.app-library-hero{display:none!important}.training-actions-card{padding:18px 20px!important;border-radius:24px!important}.compact-title{align-items:center!important;margin-bottom:12px!important}.compact-title h2{font-size:28px!important}.compact-filterbar{box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important}.compact-filterbar .search-pill{min-width:260px}.filter-chip{padding:9px 13px!important;font-size:13px!important}.search-pill input{padding:10px 0!important}.training-row{min-height:118px!important;border-radius:24px!important}.training-thumb{height:118px!important}.training-info{padding:17px 20px!important}.training-info h3{font-size:25px!important}.training-info p{font-size:14px!important}.training-lines i{height:7px!important}.play-btn{width:48px!important;height:48px!important;font-size:19px!important}

/* Pegar rutina base */
.bulk-template-card{border-radius:28px}.bulk-template-card .big-textarea{min-height:330px;font-family:Aptos,Calibri,"Segoe UI",Arial,sans-serif}.bulk-template-card .section-title h2{font-size:32px}.soft-note{font-size:15px}

/* Editor visual más sobrio */
.plan-editor-shell{gap:18px!important}.plan-editor-left{gap:14px!important}.plan-cover-card{min-height:185px!important;border-radius:24px!important}.plan-cover-card img{height:185px!important}.plan-form-card,.days-card,.add-activity-card,.activity-column{border-radius:24px!important}.activity-column{padding:16px!important}.activity-column-head h2{font-size:24px!important}.activity-item{border-radius:18px!important;padding:10px!important;grid-template-columns:58px 1fr 26px!important}.activity-icon{width:54px!important;height:54px!important;border-radius:15px!important}.activity-info strong{font-size:17px!important}.activity-info small{font-size:13px!important}.round-plus{width:36px!important;height:36px!important;font-size:21px!important}.day-pill-list a{padding:11px 13px!important;border-radius:14px!important}

@media(max-width:760px){.training-actions-card .section-title{display:block}.training-actions-card .hero-actions{margin-top:12px}.training-actions-card .hero-actions .btn{width:100%}.compact-filterbar{display:grid!important}.training-row{grid-template-columns:86px 1fr 44px!important;min-height:104px!important}.training-thumb{height:104px!important}.training-info h3{font-size:19px!important}.training-info p{font-size:12px!important}.play-btn{width:38px!important;height:38px!important;margin-right:8px!important}.bulk-template-card .big-textarea{min-height:260px}.compact-title h2{font-size:24px!important}}

/* DeFatFit v6.3 · compras e integraciones */
.integration-list{display:grid;gap:14px}.integration-card{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:14px;align-items:end;border:1px solid var(--line);background:#fbfcfd;border-radius:20px;padding:16px}.integration-card h3{margin:0 0 4px;font-size:19px}.integration-card small{color:var(--muted);font-weight:800}.shopping-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shopping-group{border:1px solid #e0e6ee;background:#fbfcfd;border-radius:22px;padding:16px}.shopping-group h3{margin:0 0 12px;font-size:24px}.shopping-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #e3e9f0;border-radius:18px;padding:12px;margin-bottom:10px}.shopping-item strong{font-size:18px}.shopping-item p{margin:3px 0 0;color:var(--muted)}.shopping-edit-row{display:grid;grid-template-columns:1.3fr 1.1fr .7fr .8fr .9fr .8fr .8fr 1fr;gap:10px;align-items:end;background:#fff;border:1px solid #e3e9f0;border-radius:18px;padding:12px;margin-bottom:12px}.food-result-card,.api-mini-card{border:1px solid #e1e7ef;background:#fbfcfd;border-radius:22px;padding:16px;margin-bottom:12px}.api-result-list{display:grid;gap:12px}.api-json{background:#0f172a;color:#d9f99d;border-radius:18px;padding:16px;overflow:auto;font-size:13px;line-height:1.45;max-height:480px}.route-integrations .card,.route-food_lookup .card,.route-activity_tools .card,.route-shopping .card{box-shadow:0 10px 28px rgba(15,23,42,.06)}@media(max-width:1100px){.integration-card,.shopping-edit-row{grid-template-columns:1fr}.shopping-groups{grid-template-columns:1fr}.shopping-item{align-items:flex-start;flex-direction:column}.shopping-item .hero-actions{width:100%}.shopping-item .btn{width:100%}}@media(max-width:720px){.api-json{font-size:12px}.integration-card{padding:14px}.shopping-group{padding:14px}}


/* DeFatFit v6.4 · ExerciseDB Importer */
.exercise-hero .hero-actions{margin-top:14px}
.exercise-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.exercise-icon-box.gif-ready{background:#020617;border-color:#b9ef00}
.exercise-icon-box.gif-ready img{object-fit:cover}
.exercise-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.exercise-actions form{margin:0}
.exercise-actions .inline-icon-form{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.exercise-actions input[type=file]{max-width:240px}
.route-exercisedb_importer .metric strong{line-height:1.2}
@media(max-width:720px){
  .exercise-actions,.exercise-actions .inline-icon-form{display:grid;grid-template-columns:1fr;width:100%}
  .exercise-actions .btn{width:100%}
}

/* v6.5 editor rutinas + ExerciseDB fix */
.danger-check{color:#9b1c1c}
.editable-activity{display:block;border:1px solid #e2e8f0;border-radius:18px;background:#fff;margin-bottom:10px;overflow:hidden}
.editable-activity summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:12px}
.editable-activity summary::-webkit-details-marker{display:none}
.editable-activity[open]{box-shadow:0 12px 28px rgba(15,23,42,.08)}
.activity-edit-form{padding:12px;border-top:1px solid #e6edf4;background:#fbfcfd}
.activity-delete-form{padding:0 12px 12px;background:#fbfcfd}
.activity-delete-form .btn{width:100%;justify-content:center}
.session-detail-body input[name="exercise_name[]"]{font-weight:800}

/* DeFatFit v6.5.2 · GIFs ExerciseDB limpios */
.exercise-icon-box.gif-ready,
.session-list-icon.gif-ready,
.activity-icon.gif-ready{
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  padding:6px;
}
.exercise-icon-box.gif-ready img,
.session-list-icon.gif-ready img,
.activity-icon.gif-ready img{
  object-fit:contain!important;
  background:#ffffff!important;
  border:0!important;
  border-radius:12px!important;
  padding:0!important;
}
.exercise-card-top h3 small{display:block;color:#667085;font-size:13px;font-weight:700;margin-top:4px}
