
:root{--bg:#08111f;--panel:#0d1b2e;--panel2:#12233a;--line:#20334f;--text:#f8fbff;--muted:#9fb0c5;--blue:#23589c;--gold:#f2c94c;--danger:#ef6b6b;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#08111f,#0a1525);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1120px,calc(100% - 28px));margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(8,17,31,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:44px;height:44px;object-fit:contain}.brand strong{display:block}.brand small,.muted{color:var(--muted)}.navlinks{margin-left:auto;display:flex;align-items:center;gap:8px}.navlinks a{color:var(--muted);padding:10px 12px;border-radius:12px;font-weight:700}.navlinks a:hover{background:var(--panel2);color:var(--text)}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:800}.btn-primary{background:var(--gold);color:#2c2400}.btn-secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.hero{padding:78px 0 48px;text-align:center}.hero-logo{width:92px;height:92px;object-fit:contain;margin-bottom:12px}.hero h1{font-size:clamp(2.2rem,7vw,4.4rem);margin:0 0 8px;letter-spacing:-.04em}.hero p{color:var(--muted);margin:0 auto 24px;max-width:650px}.searchbox{max-width:780px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:8px;background:#fff;padding:8px;border-radius:18px}.searchbox input{border:0;outline:0;padding:14px 16px;border-radius:12px;color:#162234}.searchbox button{background:var(--gold);border:0;border-radius:12px;padding:0 18px;font-weight:900}.section{padding:26px 0 42px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:16px}.section-head h2{margin:3px 0 0}.eyebrow{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{background:linear-gradient(180deg,var(--panel),#0b1829);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.category{display:flex;align-items:center;gap:12px;min-height:86px}.category .icon{width:44px;height:44px;border-radius:14px;background:#132a48;display:grid;place-items:center;color:var(--gold)}.song-list{display:grid;gap:10px}.song-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.song-card h3{margin:0 0 5px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{font-size:.72rem;padding:5px 8px;border-radius:999px;background:#132a48;color:#c6d8ec}.tag.gold{background:#3a3311;color:#ffe88d}.reco{background:linear-gradient(135deg,#10233b,#17385f);border:1px solid #2a4d77}.reco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:700}input,select,textarea{width:100%;background:#091523;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none}textarea{min-height:220px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-wrap{min-height:72vh;display:grid;place-items:center;padding:34px 0}.auth-card{width:min(460px,100%)}.notice{padding:12px;border:1px dashed #45668b;border-radius:12px;color:var(--muted);background:#0b1a2b}.song-layout{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start;padding:28px 0}.tools{position:sticky;top:88px}.tools .btn{width:100%;margin-top:8px}.chord-sheet{font-family:"Courier New",monospace;white-space:pre-wrap;line-height:1.7;font-size:18px;overflow:auto}.chord{color:var(--gold);font-weight:900}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:28px 0}.sidebar{position:sticky;top:88px;height:max-content}.sidebar a{display:block;padding:11px 12px;border-radius:10px;color:var(--muted);margin-bottom:6px}.sidebar a.active,.sidebar a:hover{background:#132a48;color:var(--text)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.stat strong{display:block;font-size:1.9rem;margin-top:4px}.table-like{display:grid;gap:8px}.row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.footer{border-top:1px solid var(--line);margin-top:40px;padding:24px 0;color:var(--muted);text-align:center}.mobile-nav{display:none}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.reco-grid{grid-template-columns:1fr}.song-layout,.admin-layout,.two{grid-template-columns:1fr}.tools,.sidebar{position:static}.navlinks a:not(.keep){display:none}}@media(max-width:560px){body{padding-bottom:72px}.hero{padding-top:44px}.searchbox{grid-template-columns:1fr}.grid,.stats{grid-template-columns:1fr}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:60;background:rgba(8,17,31,.96);border-top:1px solid var(--line)}.mobile-nav a{padding:10px 4px;text-align:center;color:var(--muted);font-size:.75rem}}


/* ===== Cifra inteligente v1.1 ===== */
.chord-sheet{
  font-family:"Cascadia Mono","Consolas","Courier New",monospace;
  white-space:normal;
  line-height:1.35;
  overflow-x:auto;
  padding:4px 0;
}
.cifra-pair{
  position:relative;
  min-width:max-content;
  margin:0 0 .55em;
}
.cifra-chords{
  position:relative;
  height:1.35em;
  min-width:100%;
  white-space:pre;
  color:var(--gold);
  font-weight:900;
}
.chord-position{
  position:absolute;
  left:calc(var(--col) * 1ch);
  top:0;
  color:var(--gold);
  font-weight:900;
  white-space:nowrap;
}
.cifra-lyric{
  white-space:pre;
  color:var(--text);
  min-height:1.35em;
}
.cifra-lyric-alone{margin-bottom:.35em}
.cifra-only{min-height:1.45em}
.cifra-blank{height:.9em}
.cifra-section{
  margin:1.25em 0 .6em;
  color:#8fc2ff;
  font-family:Inter,system-ui,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74em;
}
.editor-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:16px;
  align-items:start;
}
.cifra-editor{
  min-height:500px;
  font-family:"Cascadia Mono","Consolas","Courier New",monospace;
  line-height:1.45;
  tab-size:4;
  white-space:pre;
  overflow:auto;
}
.editor-preview-card{
  position:sticky;
  top:88px;
  min-width:0;
}
.editor-preview{
  margin-top:14px;
  min-height:420px;
  max-width:100%;
  overflow-x:auto;
  padding:12px;
  background:#081523;
  border:1px solid var(--line);
  border-radius:12px;
}
.editor-help{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
}
.detected-box{
  border:1px solid var(--line);
  background:#0a1728;
  border-radius:12px;
  padding:12px;
  color:var(--muted);
  line-height:1.8;
}
.chord-chip{
  display:inline-block;
  background:#3a3311;
  color:var(--gold);
  border:1px solid #675a18;
  border-radius:8px;
  padding:2px 7px;
  font-family:"Cascadia Mono","Consolas",monospace;
  font-weight:900;
  margin:2px;
}
.editor-stats{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.8rem;
}
@media(max-width:1000px){
  .editor-layout{grid-template-columns:1fr}
  .editor-preview-card{position:static}
}
@media(max-width:560px){
  .chord-sheet{font-size:16px}
  .cifra-editor{min-height:420px;font-size:14px}
}


/* ===== Painel administrativo v1.2 ===== */
.admin-quick{
  display:block;
  transition:.2s;
}
.admin-quick:hover{
  transform:translateY(-2px);
  border-color:#3a5f8e;
}
.admin-song-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-actions .btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}
@media(max-width:720px){
  .admin-song-row{grid-template-columns:1fr}
  .admin-actions{justify-content:flex-start}
}

/* v1.6 */
[hidden]{display:none!important}
#customSeason{margin-top:8px}


/* ===== v1.7 Home / logo refinements ===== */
.nav{
  min-height:78px;
}
.brand{
  gap:14px;
}
.brand img{
  width:58px;
  height:58px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand strong{
  font-size:1.08rem;
}
.brand small{
  font-size:.78rem;
}

.hero{
  padding:48px 0 40px;
  text-align:center;
}
.hero .container{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-logo{
  width:150px;
  height:150px;
  object-fit:contain;
  margin:0 0 6px;
}
.hero h1{
  margin:2px 0 8px;
  font-size:clamp(2.35rem,6vw,4rem);
}
.hero p{
  margin:0 auto 20px;
}
.searchbox{
  width:min(760px,100%);
}
.section:first-of-type{
  padding-top:18px;
}
.reco{
  padding:22px;
}
@media(max-width:560px){
  .nav{min-height:68px}
  .brand img{width:48px;height:48px}
  .brand strong{font-size:1rem}
  .hero{padding:30px 0 28px}
  .hero-logo{width:118px;height:118px}
  .hero h1{font-size:2.35rem}
  .searchbox{padding:6px;border-radius:16px}
}


/* ===== v2.1 Alinhamento exato de cifras ===== */
:root{
  --cifra-mono: "Consolas","Liberation Mono","Courier New",monospace;
}
.cifra-editor,
.chord-sheet,
.editor-preview,
.cifra-chords,
.cifra-lyric,
.chord-position{
  font-family:var(--cifra-mono)!important;
  font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"calt" 0;
  letter-spacing:0!important;
  word-spacing:0!important;
  tab-size:4;
  -moz-tab-size:4;
}
.cifra-editor{
  font-weight:400!important;
  line-height:1.45!important;
  white-space:pre!important;
  overflow:auto!important;
}
.editor-preview,
.chord-sheet{
  font-weight:400!important;
}
.cifra-pair{
  position:relative;
  min-width:max-content;
  margin:0 0 .55em;
}
.cifra-chords{
  position:relative;
  height:1.45em;
  line-height:1.45em!important;
  min-width:100%;
  white-space:pre!important;
}
.cifra-lyric{
  line-height:1.45em!important;
  white-space:pre!important;
}
.chord-position{
  left:calc(var(--col) * 1ch)!important;
  top:0;
  font-weight:700!important;
  white-space:nowrap!important;
}
