/* Crawford Legacy University: Goals. Load after app.css. Square edges, hairline rules, champagne gold. */
.lbl{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2)}
.eyebrow.rv{color:#7FA8FF}

/* Goals tab */
.ghead{margin-bottom:32px}
.ghead .ph1{margin-top:12px}
.ghead p{margin-top:14px;max-width:56ch}
.gstart{padding:clamp(28px,4vw,44px);border:1px solid rgba(201,184,130,.35);background:radial-gradient(80% 120% at 100% 0,rgba(201,184,130,.1),transparent 60%),var(--bg-2);display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.gstart h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.6vw,42px);line-height:1.1}
.gstart p{max-width:58ch}
.gstart .btn{margin-top:8px}
.gempty{padding:28px}
.gempty h2{font-family:var(--display);font-weight:500;font-size:28px;margin-bottom:6px}
.greview{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:24px 28px;margin-bottom:20px;border:1px solid rgba(76,141,255,.35);background:radial-gradient(80% 140% at 0 0,rgba(76,141,255,.08),transparent 60%),var(--bg-2)}
.greview h3{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;margin-top:8px}

.gyear{padding:clamp(26px,4vw,40px);border:1px solid rgba(201,184,130,.35);background:radial-gradient(80% 120% at 100% 0,rgba(201,184,130,.1),transparent 60%),var(--bg-2);margin-bottom:20px}
.gyh{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gyq{font-family:var(--display);font-style:italic;font-size:clamp(26px,3.2vw,36px);line-height:1.22;margin-top:14px;max-width:32ch}
.gid{margin-top:14px;font-size:15px;color:var(--gold)}
.gym{display:flex;gap:30px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.gym div{display:flex;flex-direction:column;gap:4px}
.gym b{font-size:15px;font-weight:500}
.gmonths{display:flex;gap:6px;margin-top:22px}
.gmonths i{flex:1;height:3px;background:var(--line-2)}
.gmonths i.p{background:var(--gold)} .gmonths i.c{background:var(--text)}
.genem{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.genem>span:last-of-type{font-size:15px}
.genem p{font-size:14px;color:var(--text-2)}

.gtwo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.glvl{padding:26px 28px;display:flex;flex-direction:column;align-items:flex-start}
.glvl .gchecks{width:100%;margin-bottom:18px}
.glh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;flex-wrap:wrap}
.glh .dim{font-size:12px}
.glvl h2{font-family:var(--display);font-weight:500;font-size:30px;line-height:1.1;margin-top:10px}
.gwhy{font-size:13.5px;color:var(--text-3);margin:6px 0 16px}
.gneedcard{padding:26px 28px;margin-top:20px}
.gneedgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:16px}
.gneedgrid div{display:flex;flex-direction:column;gap:6px}
.gneedgrid p{font-size:15px}

/* checklists */
.gchecks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gck{display:flex;gap:14px;align-items:flex-start;width:100%;padding:14px 0;border-bottom:1px solid var(--line);text-align:left}
.gck .box{flex:none;width:22px;height:22px;border:1px solid var(--line-2);display:grid;place-items:center;margin-top:1px;transition:background .25s,border-color .25s}
.gck .box svg{width:13px;height:13px;fill:none;stroke:#0E0E0D;stroke-width:2.4;opacity:0;transition:opacity .2s}
.gck .t{font-size:15px;line-height:1.45}
.gck .m{display:block;margin-top:3px;font-size:12px;color:var(--text-3)}
.gck .m em{font-style:normal}
.gck .m .today{color:var(--r2)} .gck .m .first{color:var(--gold)}
.gck:hover .box{border-color:var(--text-2)}
.gck.on .box{background:var(--r2);border-color:var(--r2)}
.gck.on .box svg{opacity:1}
.gck.on .t{color:var(--text-2);text-decoration:line-through;text-decoration-color:rgba(241,237,228,.3)}

/* Today card */
.gtoday{padding:24px 26px;margin-top:20px}
.gtoday .gchecks{margin-top:14px}
.gtoday.gcta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.gtoday.gcta h2{font-family:var(--display);font-weight:500;font-size:28px;line-height:1.1}
.gtoday.gcta .btn{margin-top:6px}
a.gtoday.gcta{transition:border-color .2s}
a.gtoday.gcta:hover{border-color:rgba(201,184,130,.45)}
.gfoot{display:flex;align-items:center;gap:18px;margin-top:16px}
.gbar{flex:1;height:2px;background:var(--line);position:relative;min-width:60px}
.gbar i{position:absolute;left:0;top:0;height:2px;background:var(--gold);transition:width .6s var(--ease)}
.gpick{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.gpick>span{font-size:13px}

/* chips */
.gchips{display:flex;flex-wrap:wrap;gap:8px}
.gchip{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid var(--line-2);font-size:14px;color:var(--text-2);text-align:left;transition:border-color .2s,color .2s,background .2s}
.gchip:hover{border-color:var(--text-2);color:var(--text)}
.gchip.on{border-color:var(--gold);color:var(--text);background:var(--gold-soft)}
.gchips.sm .gchip{min-height:38px;padding:0 12px;font-size:13px}

/* guided sheet */
.gsheet{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
.gin-wrap{max-width:680px;margin:0 auto;padding:calc(28px + var(--safeT)) var(--gut) calc(48px + var(--safeB))}
.gprog{display:flex;align-items:center;gap:14px;margin-bottom:clamp(32px,6vh,56px)}
.gprog span{font-size:11px;letter-spacing:.2em;color:var(--text-2);font-variant-numeric:tabular-nums}
.gprog .gbar i{background:var(--gold)}
.gprog.rv .gbar i{background:#7FA8FF}
.gx{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--line-2);padding-bottom:3px}
.gq{font-family:var(--display);font-weight:500;font-size:clamp(34px,5vw,50px);line-height:1.06;margin:14px 0 12px;text-wrap:balance}
.glede{color:var(--text-2);font-size:16px;max-width:56ch}
.gfield{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.gin{width:100%;height:54px;background:var(--bg-2);border:1px solid var(--line-2);padding:0 16px;font-size:16px;color:var(--text);-webkit-appearance:none;appearance:none;transition:border-color .2s}
.gta{width:100%;min-height:140px;background:var(--bg-2);border:1px solid var(--line-2);padding:16px;font-family:var(--display);font-size:22px;line-height:1.4;color:var(--text);resize:vertical}
.gin:focus,.gta:focus{outline:none;border-color:var(--gold)}
.gin::placeholder,.gta::placeholder{color:var(--text-3)}
.gprefix{font-family:var(--display);font-style:italic;font-size:22px;color:var(--gold);margin-bottom:-4px}
.ghint{display:flex;gap:14px;flex-wrap:wrap;min-height:18px;font-size:12px}
.ghint span{display:inline-flex;align-items:center;gap:6px;color:var(--text-3)}
.ghint span i{width:6px;height:6px;border-radius:50%;background:var(--line-2)}
.ghint span.ok{color:var(--text-2)} .ghint span.ok i{background:var(--r2)}
.ghint span.warn{color:#D9A27A} .ghint span.warn i{background:#D9A27A}
.gthree{display:flex;flex-direction:column;gap:12px}
.grow{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;align-items:center}
.grow .gn{font-family:var(--display);font-size:24px;color:var(--gold);text-align:center}
.grow .ghint{grid-column:2}
.gnote{font-size:13px;color:var(--text-3)}
.gneed{display:flex;flex-direction:column;gap:8px}
.gneed>span{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2)}
.gneed>span small{margin-left:10px;letter-spacing:0;text-transform:none;font-size:13px;color:var(--text-3)}
.gplan{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.gplan>span{font-family:var(--display);font-style:italic;font-size:21px;color:var(--gold)}
.gday{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.gday p{font-size:15px}
.glist{display:flex;flex-direction:column;gap:10px}
.gopt{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line-2);background:var(--bg-2);text-align:left;font-size:15px;transition:border-color .2s,background .2s}
.gopt:hover{border-color:var(--text-2)}
.gopt.on{border-color:var(--gold);background:var(--gold-soft)}
.gdot{flex:none;width:16px;height:16px;border-radius:50%;border:1px solid var(--line-2)}
.gopt.on .gdot{border:5px solid var(--gold)}
.gsub{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);margin-top:4px}
.gaudit{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}
.gaudit>span{font-size:15px}
.gsheet .gchecks .gck.on .box{background:#7FA8FF;border-color:#7FA8FF}
.gsheet .gchecks .gck.on .t,.gsheet .gchecks .gck.on span{text-decoration:none;color:var(--text)}
.gacts{display:flex;justify-content:space-between;align-items:center;margin-top:36px;gap:16px}
.gback{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--line-2);padding-bottom:3px}
.gacts .btn[disabled]{opacity:.4;cursor:default}

@media (max-width:820px){ .gtwo{grid-template-columns:1fr} }
@media (max-width:640px){
  .glvl,.gneedcard,.gtoday,.greview{padding:20px}
  .gym{gap:20px}
  .gacts{position:sticky;bottom:0;background:var(--bg);padding:14px 0 calc(6px + var(--safeB));margin-top:24px;border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){ .gbar i{transition:none} }
.tl{display:inline-block;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--line-2);padding-bottom:3px;transition:color .2s,border-color .2s}
.tl:hover{color:var(--text);border-color:var(--gold)}
