@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --ink:#0e1023; --paper:#f7f7fb; --card:#fff; --line:#e6e6ef; --line-soft:#f0f0f6;
  --muted:#6b6e85; --text:#23263b;
  --indigo:#4f46e5; --amber:#d97706; --amber-bg:#fef6e7; --coral:#ea580c; --coral-bg:#fff1ea;
  --green:#059669; --green-bg:#e9f7f0; --violet:#7c3aed; --violet-bg:#f1ecfd; --blue:#2563eb; --blue-bg:#e9f0fe;
  --teal:#14b8a6; --teal-bg:#e6f7f4;
  --r:14px; --shadow:0 1px 2px rgba(14,16,35,.04),0 8px 24px rgba(14,16,35,.05);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',sans-serif;background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5;}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px 80px;}

header.top{background:var(--ink);background-image:radial-gradient(900px 300px at 12% -40%,#2a2d5e 0,transparent 60%);color:#fff;padding:22px 0 18px;border-bottom:1px solid #25284c;}
.top .wrap{padding-bottom:0;}
.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.glyph{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--indigo),#8b5cf6);display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:19px;box-shadow:0 6px 18px rgba(79,70,229,.45);}
.brand h1{font-family:'Space Grotesk',sans-serif;font-size:19px;margin:0;letter-spacing:.3px;font-weight:700;}
.brand .sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9ea2cf;letter-spacing:.5px;margin-top:2px;}
.ticker{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
.ticker .t{text-align:right;}
.ticker .t .k{font-family:'JetBrains Mono',monospace;font-size:10px;color:#8b8fc0;letter-spacing:1px;text-transform:uppercase;}
.ticker .t .v{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:600;color:#fff;}

nav.tabs{position:sticky;top:0;z-index:30;background:rgba(247,247,251,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.tabrow{max-width:1180px;margin:0 auto;padding:9px 14px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;}
.tabrow::-webkit-scrollbar{display:none;}
.tab{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--muted);font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:13px;padding:8px 15px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s;white-space:nowrap;}
.tab .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.55;}
.tab:hover{color:var(--text);border-color:#d3d3e3;}
.tab.active{color:#fff;border-color:transparent;}
.tab[data-c=dash].active{background:var(--indigo);}
.tab[data-c=horario].active{background:var(--blue);}
.tab[data-c=entreno].active{background:var(--coral);}
.tab[data-c=comida].active{background:var(--green);}
.tab[data-c=ingles].active{background:var(--amber);}
.tab[data-c=habitos].active{background:var(--violet);}
.tab.active .dot{opacity:1;background:#fff;}

.panel{display:none;padding-top:26px;animation:fade .25s ease;}
.panel.show{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 4px;}
h2.section{font-family:'Space Grotesk',sans-serif;font-size:26px;margin:0 0 4px;letter-spacing:-.2px;}
.lead{color:var(--muted);margin:0 0 22px;max-width:740px;font-size:14.5px;}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);}
.grid{display:grid;gap:16px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
@media (max-width:820px){.g2,.g3{grid-template-columns:1fr;}}

.pill{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.5px;padding:3px 9px;border-radius:999px;text-transform:uppercase;font-weight:700;}

.metric .lab{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
.metric .big{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;margin:6px 0 2px;}
.metric .note{font-size:12.5px;color:var(--muted);}
.bar{height:8px;border-radius:999px;background:var(--line-soft);margin-top:14px;overflow:hidden;}
.bar>i{display:block;height:100%;border-radius:999px;}

table{width:100%;border-collapse:collapse;}
.tbl th{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);}
.tbl td{padding:12px;border-bottom:1px solid var(--line-soft);font-size:13.5px;vertical-align:top;}
.tbl tr:last-child td{border-bottom:none;}
.ex{font-weight:600;color:var(--text);display:block;}
.ex small{display:block;font-weight:600;font-size:10px;letter-spacing:.5px;text-transform:uppercase;margin-top:3px;color:var(--coral);}
.sets{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;white-space:nowrap;}

.dayhead{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;}
.tag{font-family:'JetBrains Mono',monospace;font-size:10px;padding:3px 8px;border-radius:6px;letter-spacing:.5px;}
.tag.gym{background:var(--coral-bg);color:var(--coral);}
.tag.rest{background:#eef0f4;color:var(--muted);}

ul.clean{margin:0;padding-left:18px;}
ul.clean li{margin-bottom:7px;font-size:13.5px;}
ul.clean li::marker{color:var(--muted);}

.callout{border-left:4px solid var(--indigo);background:#f4f4fd;padding:13px 16px;border-radius:0 10px 10px 0;font-size:13px;margin-top:16px;}
.callout b{color:var(--ink);}
.callout.warn{border-color:var(--coral);background:var(--coral-bg);}
.callout.tip{border-color:var(--green);background:var(--green-bg);}

/* timeline */
.tl{display:flex;flex-direction:column;}
.tl .row{display:grid;grid-template-columns:50px 4px 1fr;gap:11px;align-items:stretch;padding:7px 0;border-bottom:1px solid var(--line-soft);}
.tl .row:last-child{border-bottom:none;}
.tl .t{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink);padding-top:1px;}
.tl .b2{border-radius:3px;}
.tl .act b{font-size:13px;display:block;line-height:1.35;}
.tl .act span{font-size:11.5px;color:var(--muted);}
.b-en{background:var(--amber);} .a-en b{color:var(--amber);}
.b-cls{background:var(--blue);}
.b-gym{background:var(--coral);} .a-gym b{color:var(--coral);}
.b-food{background:var(--green);}
.b-work{background:#c2772f;}
.b-skill{background:#0891b2;} .a-skill b{color:#0e7490;}
.b-mob{background:var(--teal);} .a-mob b{color:#0f766e;}
.b-rest{background:#b9bcc9;}

/* meals */
.meal{padding:9px 0;border-bottom:1px solid var(--line-soft);}
.meal:last-of-type{border-bottom:none;}
.meal .mh{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--green);font-weight:700;}
.meal p{margin:3px 0 0;font-size:12.8px;line-height:1.45;}
.daytot{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;color:var(--ink);background:var(--green-bg);padding:7px 11px;border-radius:8px;display:inline-block;}

/* tools */
.tool{border:1px solid var(--line);border-radius:11px;padding:14px;background:var(--card);}
.tool .th{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tool h4{margin:0;font-family:'Space Grotesk',sans-serif;font-size:14.5px;}
.free{font-family:'JetBrains Mono',monospace;font-size:9px;padding:2px 7px;border-radius:5px;font-weight:700;letter-spacing:.4px;}
.free.g{background:var(--green-bg);color:var(--green);}
.free.p{background:var(--amber-bg);color:var(--amber);}
.tool .tfn{font-size:13px;color:var(--text);margin:9px 0 0;}
.tool .tfn b{color:var(--ink);}
.tool .twhen,.tool .thow{font-size:12.3px;color:var(--muted);margin:6px 0 0;line-height:1.45;}
.tool .twhen b,.tool .thow b{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--amber);margin-right:3px;}
.tool .thow b{color:var(--blue);}

/* habit tracker */
.htools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;}
.htools input[type=text]{font-family:'JetBrains Mono',monospace;border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:12px;}
.btn{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:12.5px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 13px;cursor:pointer;color:var(--text);}
.btn:hover{border-color:#cfcfe0;}
.htbl{width:100%;border-collapse:collapse;}
.htbl th{font-family:'JetBrains Mono',monospace;font-size:10px;padding:8px 4px;color:var(--muted);border-bottom:1px solid var(--line);}
.htbl td{border-bottom:1px solid var(--line-soft);padding:8px 4px;text-align:center;}
.htbl .hname{text-align:left;font-weight:600;font-size:12.5px;padding-left:6px;}
.htbl .hname small{display:block;font-weight:500;color:var(--muted);font-size:10.5px;}
.htbl .cat td{background:var(--violet-bg);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:1px;text-align:left;padding:9px 10px;color:var(--violet);}
.ck{width:20px;height:20px;border-radius:50%;border:2px solid #cdcdda;cursor:pointer;display:inline-block;transition:all .12s;}
.ck:hover{border-color:var(--violet);transform:scale(1.12);}
.ck.on{background:var(--violet);border-color:var(--violet);position:relative;}
.ck.on::after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;inset:0;display:grid;place-items:center;}
.ck.rest{border-style:dashed;border-color:#dcdce4;cursor:default;opacity:.5;}
.ck.rest:hover{transform:none;}

.footer-note{text-align:center;color:var(--muted);font-size:11.5px;margin-top:36px;font-family:'JetBrains Mono',monospace;letter-spacing:.3px;}
.printbtn{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:12px;cursor:pointer;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);padding:7px 13px;border-radius:9px;}
.printbtn:hover{background:rgba(255,255,255,.16);}

@media (max-width:640px){
  .ticker{width:100%;justify-content:space-between;gap:12px;margin-top:12px;}
  .ticker .t{text-align:left;}
  h2.section{font-size:22px;}
}
@media print{
  nav.tabs,.printbtn,.htools{display:none!important;}
  header.top{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .panel{display:block!important;page-break-before:always;padding-top:8px;}
  .panel:first-of-type{page-break-before:avoid;}
  body{background:#fff;}
  .card,.b2,.daytot,.htbl .cat td,.tag{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  @page{margin:1cm;}
}
