/* ============================================================
   GuitarFabrik Academy — design tokens & global styles
   ============================================================ */
:root{
  --bg:#262626;          /* negro cálido */
  --surface:#1e1e1e;     /* panel lateral / superficies */
  --card:#2e2e2e;        /* tarjetas */
  --gold:#C9A84C;        /* oro cálido — acento principal */
  --gold-dark:#a8893d;   /* hover/pressed */
  --gold-soft:rgba(201,168,76,.15);
  --gold-line:rgba(201,168,76,.35);
  --action:#2C332F;      /* verde oscuro bosque — botón acción */
  --action-hi:#37413b;
  --text:#EFECEC;        /* blanco cálido */
  --text-2:#b8b5b5;      /* secundario */
  --muted:#7c8180;       /* muted (subido un poco para legibilidad) */
  --muted-deep:#505655;
  --border:#3a3a3a;
  --input:#333333;
  --success:#5cb85f;

  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:22px; --r-full:999px;

  --font:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  font-family:var(--font);
  background:#141414;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea{font-family:inherit;}
::selection{background:var(--gold);color:#1a1a1a;}

/* ---- stage: page that holds the phone / panel ---- */
.stage{
  min-height:100vh;
  display:flex;flex-direction:column;align-items:center;
  background:
    radial-gradient(1200px 700px at 50% -10%, #2a2724 0%, transparent 60%),
    radial-gradient(900px 600px at 50% 120%, #211f1d 0%, transparent 55%),
    #131211;
}

/* ---- top context switcher ---- */
.switcher{
  position:sticky;top:0;z-index:50;
  width:100%;display:flex;justify-content:center;
  padding:18px 16px;
  backdrop-filter:blur(8px);
}
.switcher-inner{
  display:flex;align-items:center;gap:6px;
  background:rgba(30,30,30,.72);
  border:1px solid var(--border);
  border-radius:var(--r-full);
  padding:5px;
}
.seg{
  display:flex;align-items:center;gap:8px;
  padding:9px 18px;border-radius:var(--r-full);
  font-size:13.5px;font-weight:600;color:var(--muted);
  letter-spacing:.2px;white-space:nowrap;
}
.seg svg{width:16px;height:16px;}
.seg:hover{filter:brightness(1.25);}
.seg.on{background:var(--gold);color:#1c1a16;box-shadow:0 2px 14px rgba(201,168,76,.3);}

.stage-body{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:14px 16px 48px;}

/* ============================================================
   PHONE FRAME — iPhone 14 Pro (393×852)
   ============================================================ */
.phone{
  position:relative;width:393px;height:852px;flex:none;
  background:var(--bg);
  border-radius:54px;
  padding:0;
  display:flex;flex-direction:column;
  box-shadow:
    0 0 0 12px #0b0b0b,
    0 0 0 14px #2a2a2a,
    0 40px 90px -20px rgba(0,0,0,.8),
    0 12px 40px -12px rgba(0,0,0,.6);
  overflow:hidden;
}
.phone-screen{
  position:relative;flex:1;min-height:0;width:100%;border-radius:54px;overflow:hidden;
  background:var(--bg);display:flex;flex-direction:column;
}
.island{
  position:absolute;top:11px;left:50%;transform:translateX(-50%);
  width:124px;height:35px;background:#000;border-radius:var(--r-full);z-index:40;
}
.statusbar{
  height:54px;flex:none;display:flex;align-items:flex-end;justify-content:space-between;
  padding:0 30px 6px;font-size:14px;font-weight:600;color:var(--text);z-index:30;
}
.statusbar .sb-right{display:flex;align-items:center;gap:6px;}
.statusbar svg{display:block;}

/* scrollable app body */
.appbody{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;}
.appbody::-webkit-scrollbar{width:0;height:0;}
.appbody{scrollbar-width:none;}

/* home indicator */
.home-ind{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  width:134px;height:5px;border-radius:3px;background:rgba(239,236,236,.85);z-index:45;}

/* ---- bottom tab bar ---- */
.tabbar{
  flex:none;display:flex;background:var(--surface);
  border-top:1px solid var(--border);
  padding:10px 12px 26px;
}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);}
.tab svg{width:24px;height:24px;}
.tab span{font-size:11px;font-weight:600;letter-spacing:.2px;}
.tab.on{color:var(--gold);}
.tab .tab-badge{position:absolute;}

/* ---- reusable UI ---- */
.brand-name{font-weight:800;letter-spacing:1px;color:var(--text);}
.brand-academy{font-weight:700;letter-spacing:6px;color:var(--gold);font-size:12px;}

.field{display:flex;align-items:center;gap:10px;background:var(--input);
  border:1px solid var(--border);border-radius:var(--r-md);padding:0 14px;transition:.16s;}
.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);}
.field svg{width:20px;height:20px;color:var(--muted);flex:none;}
.field input{flex:1;background:none;border:none;outline:none;color:var(--text);
  font-size:15px;padding:14px 0;}
.field input::placeholder{color:var(--muted);}

.btn-action{display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;background:var(--action);color:var(--text);
  border:1px solid var(--gold-line);border-radius:var(--r-md);
  padding:15px;font-size:16px;font-weight:700;letter-spacing:.3px;transition:.16s;}
.btn-action:hover{background:var(--action-hi);border-color:var(--gold);}
.btn-action:active{transform:translateY(1px);}

.btn-gold{display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:var(--gold);color:#1c1a16;border-radius:var(--r-md);
  padding:15px;font-size:16px;font-weight:700;transition:.16s;}
.btn-gold:hover{background:var(--gold-dark);}
.btn-gold:active{transform:translateY(1px);}
.btn-gold:disabled{opacity:.45;cursor:default;}

.chip{display:inline-flex;align-items:center;gap:8px;
  background:var(--card);border:1px solid var(--border);color:var(--text-2);
  border-radius:var(--r-full);padding:11px 18px;font-size:14.5px;font-weight:600;}
.chip:hover{border-color:var(--muted);}
.chip.sel{background:var(--gold-soft);border-color:var(--gold);color:var(--gold);}
.chip.sel .chip-check{opacity:1;}
.chip-check{opacity:0;width:15px;height:15px;}

.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);}

.pill{display:inline-flex;align-items:center;gap:6px;background:var(--gold-soft);
  border:1px solid var(--gold-line);color:var(--gold);border-radius:var(--r-full);
  padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:.3px;}

.sec-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:.2px;}

/* fade/slide screen transition — never leaves content invisible if paused */
@keyframes screenIn{from{transform:translateY(10px);}to{transform:none;}}
.screen-anim{animation:screenIn .26s ease;}
@media (prefers-reduced-motion: reduce){.screen-anim{animation:none;}}

/* gold animated ring (splash) */
@keyframes spinRing{to{transform:rotate(360deg);}}
.ring{width:54px;height:54px;border-radius:50%;border:3px solid rgba(201,168,76,.18);
  border-top-color:var(--gold);animation:spinRing .9s linear infinite;}

/* small util */
.muted{color:var(--muted);} .t2{color:var(--text-2);} .gold{color:var(--gold);}
.row{display:flex;} .col{display:flex;flex-direction:column;}
img.cover{width:100%;height:100%;object-fit:cover;display:block;}

/* ============================================================
   WEB PANEL
   ============================================================ */
.web{width:1180px;max-width:100%;height:760px;display:flex;
  background:var(--bg);border-radius:18px;overflow:hidden;
  border:1px solid var(--border);
  box-shadow:0 40px 90px -24px rgba(0,0,0,.75);}
.web-side{width:230px;flex:none;background:var(--surface);
  border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 18px;}
.web-nav{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:10px;
  color:var(--muted);font-size:15px;font-weight:500;}
.web-nav svg{width:19px;height:19px;}
.web-nav:hover{filter:brightness(1.3);}
.web-nav.on{color:var(--gold);background:var(--gold-soft);font-weight:700;}
.web-main{flex:1;min-width:0;overflow-y:auto;padding:34px 38px;}
.web-main::-webkit-scrollbar{width:8px;}
.web-main::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px;}
.web-input{width:100%;background:var(--input);border:1px solid var(--border);
  border-radius:var(--r-md);color:var(--text);font-size:14.5px;padding:12px 14px;outline:none;transition:.16s;}
.web-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);}
.web-input::placeholder{color:var(--muted);}
.web-label{font-size:13px;font-weight:600;color:var(--gold);margin-bottom:7px;display:block;}
