:root{--ds:#EDE8E2;--wr:#D8D1C7;--sage:#8A9E8A;--sage-lt:#C4D4C4;--ch:#2D2D2D;--ch-mid:#555;--ch-soft:#888;--lime:#CDD68A;--lime-dk:#aab860;--wh:#FAFAF8;--bd:rgba(45,45,45,0.09);--sw:252px;--r:14px;--gold:#C4A86A;--gold-lt:#EAD9B8}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--ds);color:var(--ch);font-size:15px;line-height:1.6;min-height:100vh;overflow-x:hidden}
.screen{display:none!important}.screen.active{display:flex!important}
.auth-screen{align-items:center;justify-content:center;background:var(--ch);flex-direction:column;padding:24px;min-height:100vh}
.abox{background:var(--wh);border-radius:20px;padding:48px 44px;width:100%;max-width:420px}
.alogo{font-family:"Fraunces",serif;font-size:32px;font-weight:300;letter-spacing:.12em;margin-bottom:4px;color:var(--ch)}.alogo em{font-style:normal;color:var(--sage)}
.atag{font-size:12px;color:var(--ch-soft);letter-spacing:.07em;margin-bottom:36px}
.fg{margin-bottom:16px}.fg label{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:6px}
.fg input,.fg select{width:100%;padding:12px 14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;color:var(--ch);background:var(--ds);outline:none;transition:border-color .2s}
.fg input:focus{border-color:var(--sage)}
.btn-p{width:100%;padding:13px;background:var(--ch);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:6px;letter-spacing:.04em}.btn-p:hover{background:var(--sage)}
.alinks{display:flex;justify-content:space-between;margin-top:18px}.alink{font-size:12px;color:var(--sage);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.aback{font-size:12px;color:var(--ch-soft);cursor:pointer;margin-top:16px;text-align:center;display:block}
.asuc{background:var(--lime);border-radius:10px;padding:13px 16px;font-size:13px;color:var(--ch);margin-bottom:18px;display:none}
.portal{flex-direction:row;width:100%;min-height:100vh}
.sidebar{width:var(--sw);background:var(--ch);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;flex-shrink:0;transition:transform .3s;z-index:95}
.sb-top{padding:28px 22px 16px}.sb-logo{font-family:"Fraunces",serif;font-size:20px;font-weight:300;letter-spacing:.12em;color:var(--wh)}.sb-logo em{font-style:normal;color:var(--lime)}
.sb-user{display:flex;align-items:center;gap:11px;padding:13px 22px;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.sb-av{width:38px;height:38px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--wh);flex-shrink:0;overflow:hidden;position:relative}
.sb-av img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;border-radius:50%}
.sb-nm{font-size:13px;font-weight:600;color:var(--wh);line-height:1.3}.sb-since{font-size:11px;color:rgba(255,255,255,.35)}
nav.snav{padding:10px 0;flex:1}.nlbl{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.22);padding:14px 22px 5px}
.ni{display:flex;align-items:center;gap:11px;padding:10px 22px;font-size:13px;color:rgba(255,255,255,.55);cursor:pointer;border-left:2px solid transparent;transition:all .15s}
.ni:hover{color:var(--wh);background:rgba(255,255,255,.04)}.ni.active{color:var(--wh);border-left-color:var(--lime);background:rgba(205,214,138,.07)}
.ni svg{width:15px;height:15px;flex-shrink:0;opacity:.7}.ni.active svg,.ni:hover svg{opacity:1}
.sb-foot{padding:16px 22px;border-top:1px solid rgba(255,255,255,.07)}
.btn-so{width:100%;padding:9px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.45);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;cursor:pointer;transition:all .2s}.btn-so:hover{color:var(--wh);border-color:rgba(255,255,255,.25)}
.mob-hdr{display:none;align-items:center;justify-content:space-between;background:var(--ch);padding:15px 20px;position:sticky;top:0;z-index:100;width:100%}
.mob-logo{font-family:"Fraunces",serif;font-size:20px;font-weight:300;letter-spacing:.12em;color:var(--wh)}.mob-logo em{font-style:normal;color:var(--lime)}
.ham{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:4px}.ham span{width:22px;height:1.5px;background:var(--wh);border-radius:2px;display:block}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90}.overlay.on{display:block}
.main{flex:1;overflow-y:auto;padding:38px 44px;min-width:0;background:var(--ds)}
.topbar{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.sw-wrap{position:relative;flex:1;max-width:320px}.sw-wrap input{width:100%;padding:10px 14px 10px 38px;border:1.5px solid var(--bd);border-radius:50px;font-family:"DM Sans",sans-serif;font-size:13px;background:var(--wh);outline:none;transition:border-color .2s}.sw-wrap input:focus{border-color:var(--sage)}.sw-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ch-soft)}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:5px}
.ptitle{font-family:"Fraunces",serif;font-size:30px;font-weight:400;margin-bottom:5px;line-height:1.15}
.psub{font-size:14px;color:var(--ch-soft);margin-bottom:28px}
.card{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:24px}
.ctitle{font-family:"Fraunces",serif;font-size:18px;font-weight:400;margin-bottom:14px}
.cont-card{background:var(--ch);border-radius:18px;padding:24px 28px;display:flex;align-items:center;gap:20px;margin-bottom:28px;cursor:pointer;transition:transform .2s;position:relative;overflow:hidden}
.cont-card::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(205,214,138,.14) 0%,transparent 70%)}.cont-card:hover{transform:translateY(-2px)}
.cont-mark{width:52px;height:52px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cont-mark svg{width:24px;height:24px;color:var(--sage-lt)}
.cont-info{flex:1;min-width:0}.cont-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:600;margin-bottom:4px}
.cont-title{font-family:"Fraunces",serif;font-size:18px;color:var(--wh);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.cont-meta{font-size:12px;color:rgba(255,255,255,.4)}.cont-arr svg{width:20px;height:20px;color:rgba(255,255,255,.3)}
.pb-lbl{display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.35);margin-bottom:5px;margin-top:12px}.pb-out{height:4px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden}.pb-in{height:100%;background:var(--lime);border-radius:99px}
.pb-out2{height:4px;background:var(--wr);border-radius:99px;overflow:hidden;margin-top:6px}.pb-in2{height:100%;background:var(--sage);border-radius:99px}.pb-txt{display:flex;justify-content:space-between;font-size:11px;color:var(--ch-soft);margin-top:5px}.pb-lbl2{display:flex;justify-content:space-between;font-size:11px;color:var(--ch-soft);margin-bottom:5px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.scard{background:var(--wh);border-radius:var(--r);padding:20px 22px;border:1.5px solid var(--bd)}.snum{font-family:"Fraunces",serif;font-size:32px;font-weight:300;line-height:1;margin-bottom:4px}.slbl{font-size:12px;color:var(--ch-soft)}
.cg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ccard{background:var(--wh);border-radius:var(--r);overflow:hidden;border:1.5px solid var(--bd);cursor:pointer;transition:transform .2s,box-shadow .2s}.ccard:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.07)}
.cthumb{height:118px;display:flex;align-items:center;justify-content:center;position:relative}
.c1{background:linear-gradient(135deg,#e8ddd8,#d4c8c0)}.c2{background:linear-gradient(135deg,#dcd8e8,#c8c2d8)}.c3{background:linear-gradient(135deg,#d8e0c8,#c4d0b0)}.c4{background:linear-gradient(135deg,#e8dcd4,#d4c8bc)}.c5{background:linear-gradient(135deg,#d0d8cc,#bcc8b8)}.c6{background:linear-gradient(135deg,#dcdad4,#c8c4bc)}
.cthumb svg{width:36px;height:36px;opacity:.45}.cbadge{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:99px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.ba{background:var(--lime);color:var(--ch)}.bl{background:rgba(45,45,45,.1);color:rgba(45,45,45,.45)}
.cbody{padding:15px 17px 18px}.cname{font-family:"Fraunces",serif;font-size:15px;font-weight:400;margin-bottom:4px}.cmeta{font-size:12px;color:var(--ch-soft);margin-bottom:8px}
.mblock{background:var(--wh);border-radius:var(--r);overflow:hidden;border:1.5px solid var(--bd);margin-bottom:14px}.mhdr{display:flex;align-items:center;gap:14px;padding:17px 20px;border-bottom:1.5px solid var(--bd)}.mnum{width:32px;height:32px;border-radius:50%;background:var(--ds);display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-size:13px;flex-shrink:0;color:var(--ch-mid)}.mi{flex:1}.mt{font-family:"Fraunces",serif;font-size:15px;font-weight:400;margin-bottom:1px}.mm{font-size:12px;color:var(--ch-soft)}.mpill{padding:4px 12px;border-radius:99px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pd{background:var(--lime);color:var(--ch)}.pa{background:var(--sage-lt);color:var(--ch)}.pp{background:var(--wr);color:var(--ch-soft)}
.lrow{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--bd);cursor:pointer;transition:background .15s}.lrow:last-child{border-bottom:none}.lrow:hover{background:var(--ds)}.lrow.cur{background:rgba(205,214,138,.12)}.lst{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lst svg{width:12px;height:12px}.ld{background:var(--lime)}.lc{background:var(--sage)}.lt{background:var(--wr)}.li{flex:1}.ltitle{font-size:14px;font-weight:500;margin-bottom:1px}.lm{font-size:12px;color:var(--ch-soft)}.larr svg{width:14px;height:14px;color:var(--ch-soft)}
.vwrap{background:var(--ch);border-radius:16px;overflow:hidden;margin-bottom:22px}.vframe{width:100%;aspect-ratio:16/9;background:#1a1a1a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;cursor:pointer;position:relative}.vframe:hover .play-c{transform:scale(1.06)}.vph{text-align:center;color:rgba(255,255,255,.25);font-family:"Fraunces",serif}.vph p{font-size:12px;margin-top:6px;font-family:"DM Sans",sans-serif;font-weight:300;letter-spacing:.06em}.play-c{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;transition:transform .2s;box-shadow:0 4px 24px rgba(0,0,0,.35)}.play-c svg{width:20px;height:20px;color:var(--ch);margin-left:3px}.vbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;flex-wrap:wrap;gap:8px}.vtitle{font-family:"Fraunces",serif;font-size:15px;color:var(--wh);font-weight:400}.vbtns{display:flex;gap:8px}.vb{padding:8px 16px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;border:none;transition:all .2s;letter-spacing:.04em}.vb1{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}.vb2{background:var(--lime);color:var(--ch)}
.l2col{display:grid;grid-template-columns:1fr 310px;gap:20px;align-items:start}
.chklist{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}.chi{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:10px;background:var(--ds);cursor:pointer;transition:background .15s}.chi:hover{background:var(--wr)}.chi.chk{background:rgba(205,214,138,.25)}.chbox{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(45,45,45,.18);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s}.chbox svg{width:10px;height:10px;display:none;color:var(--ch)}.chi.chk .chbox{background:var(--lime);border-color:var(--lime-dk)}.chi.chk .chbox svg{display:block}.chtxt{font-size:13px;color:var(--ch-mid);line-height:1.55}
.dllist{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}.dlitem{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--ds);border-radius:10px;cursor:pointer;transition:background .15s}.dlitem:hover{background:var(--wr)}.dlic{width:32px;height:32px;border-radius:8px;background:var(--wr);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dlic svg{width:16px;height:16px;color:var(--ch-mid)}.dlnm{flex:1;font-size:13px;font-weight:500}.dlsz{font-size:11px;color:var(--ch-soft)}.dlarr svg{width:13px;height:13px;color:var(--ch-soft)}
.btn-done{width:100%;padding:13px;background:var(--ch);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.05em}.btn-done:hover{background:var(--sage)}
.fbblock{background:var(--lime);border-radius:var(--r);padding:24px;display:none;margin-top:18px}.fbblock.on{display:block}.fbtitle{font-family:"Fraunces",serif;font-size:18px;font-weight:400;margin-bottom:16px}.stars{display:flex;gap:8px;margin-bottom:16px}.star{font-size:26px;cursor:pointer;opacity:.25;transition:opacity .15s;line-height:1;color:var(--ch)}.star.lit{opacity:1}.fbblock textarea{width:100%;padding:12px;border:1.5px solid rgba(45,45,45,.12);border-radius:10px;background:rgba(255,255,255,.65);font-family:"DM Sans",sans-serif;font-size:13px;resize:none;height:72px;outline:none;margin-bottom:14px}.btn-fb{padding:10px 24px;background:var(--ch);color:var(--wh);border:none;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.04em}
.chat-wrap{display:flex;flex-direction:column;height:420px;background:var(--sage-lt);border-radius:var(--r);border:1.5px solid rgba(138,158,138,.3);overflow:hidden}.chat-hdr{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(138,158,138,.25);flex-shrink:0;background:rgba(255,255,255,.3)}.chat-orb{width:26px;height:26px;border-radius:50%;background:var(--ch);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-orb svg{width:12px;height:12px;color:var(--lime)}.chat-lbl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-mid)}.chat-course{font-size:11px;color:var(--ch-soft);margin-left:auto}.chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.msg{max-width:88%;padding:11px 14px;border-radius:12px;font-size:13px;line-height:1.65}.msg-ai{background:rgba(255,255,255,.85);color:var(--ch);align-self:flex-start;border-radius:4px 12px 12px 12px}.msg-user{background:var(--ch);color:var(--wh);align-self:flex-end;border-radius:12px 4px 12px 12px}.msg-name{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:5px}.chat-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(138,158,138,.25);flex-shrink:0;background:rgba(255,255,255,.2)}.chat-input-row input{flex:1;padding:10px 14px;border:1.5px solid rgba(45,45,45,.12);border-radius:50px;font-family:"DM Sans",sans-serif;font-size:13px;background:rgba(255,255,255,.7);outline:none;transition:border-color .2s}.chat-input-row input:focus{border-color:var(--sage)}.btn-send{padding:10px 18px;background:var(--ch);color:var(--wh);border:none;border-radius:50px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-send:hover{background:var(--sage)}.chat-typing{font-size:12px;color:var(--ch-soft);font-style:italic;padding:2px 16px;display:none;background:rgba(255,255,255,.2)}.chat-typing.on{display:block}
.jentries{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}.jcard{background:var(--wh);border-radius:var(--r);padding:19px 22px;border:1.5px solid var(--bd);cursor:pointer;transition:box-shadow .15s}.jcard:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}.jdate{font-size:11px;color:var(--ch-soft);margin-bottom:6px}.jprev{font-size:14px;color:var(--ch-mid);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jnew{background:var(--wh);border-radius:var(--r);padding:24px;border:1.5px solid var(--bd)}.jnew textarea{width:100%;padding:14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;background:var(--ds);resize:none;height:140px;outline:none;margin-bottom:16px;line-height:1.65;transition:border-color .2s}.jnew textarea:focus{border-color:var(--sage)}.btn-sv{padding:11px 26px;background:var(--ch);color:var(--wh);border:none;border-radius:9px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-sv:hover{background:var(--sage)}
.mgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}.mbtn{padding:16px 6px 12px;background:var(--wh);border:1.5px solid var(--bd);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s}.mbtn:hover,.mbtn.sel{border-color:var(--sage);background:rgba(138,158,138,.1)}.mbtn svg{width:22px;height:22px;color:var(--ch-mid);margin:0 auto 6px;display:block}.mbtn p{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ch-soft)}
.ciq{background:var(--wh);border-radius:var(--r);padding:20px;border:1.5px solid var(--bd);margin-bottom:14px}.ciq label{display:block;font-family:"Fraunces",serif;font-size:16px;font-weight:400;margin-bottom:13px;line-height:1.4}.ciq textarea{width:100%;padding:11px;border:1.5px solid var(--bd);border-radius:10px;background:var(--ds);font-family:"DM Sans",sans-serif;font-size:13px;resize:none;height:72px;outline:none;transition:border-color .2s}.ciq textarea:focus{border-color:var(--sage)}.scrow{display:flex;gap:8px}.scbtn{flex:1;padding:11px;border:1.5px solid var(--bd);background:var(--wh);border-radius:9px;text-align:center;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;font-family:"Fraunces",serif}.scbtn:hover,.scbtn.sel{background:rgba(138,158,138,.15);border-color:var(--sage)}
.calhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calmo{font-family:"Fraunces",serif;font-size:22px;font-weight:400}.calnav{background:var(--wh);border:1.5px solid var(--bd);border-radius:8px;padding:7px 13px;cursor:pointer;font-size:14px;transition:all .2s}.calnav:hover{background:var(--ds)}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:18px}.caldh{text-align:center;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ch-soft);padding:6px 0}.cald{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:13px;cursor:pointer;transition:background .15s;position:relative;color:var(--ch)}.cald:hover{background:var(--wr)}.cald.tod{background:var(--lime);font-weight:600}.cald.hl::after{content:"";width:4px;height:4px;background:var(--sage);border-radius:50%;position:absolute;bottom:4px}.cald.emp{cursor:default;pointer-events:none;color:transparent}.cevents{display:flex;flex-direction:column;gap:10px}.cev{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd)}.cevdot{width:8px;height:8px;border-radius:50%;background:var(--sage);flex-shrink:0}.cevi{flex:1}.cevt{font-size:14px;font-weight:500}.cevm{font-size:12px;color:var(--ch-soft)}
.phero{background:var(--wh);border-radius:18px;padding:28px;border:1.5px solid var(--bd);display:flex;gap:22px;align-items:flex-start;margin-bottom:22px}.pav-lg{width:88px;height:88px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--wh);flex-shrink:0;border:3px solid var(--sage-lt);overflow:hidden;position:relative;cursor:pointer}.pav-lg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.pav-upload{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;border-radius:50%}.pav-upload svg{width:20px;height:20px;color:var(--wh)}.pav-lg:hover .pav-upload{opacity:1}.pnm{font-family:"Fraunces",serif;font-size:24px;font-weight:400;margin-bottom:3px}.ptg{font-size:13px;color:var(--ch-soft);margin-bottom:13px}.ptags{display:flex;gap:8px;flex-wrap:wrap}.ptag{padding:4px 13px;border-radius:99px;font-size:11px;font-weight:500;background:var(--ds);letter-spacing:.03em}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pfc{background:var(--wh);border-radius:var(--r);padding:18px 20px;border:1.5px solid var(--bd)}.pflbl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:6px}.pfc input,.pfc select{width:100%;border:none;outline:none;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:500;color:var(--ch);background:transparent}
.big3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.sign-card{background:var(--wh);border-radius:var(--r);padding:22px;border:1.5px solid var(--bd);text-align:center}.sign-icon{width:52px;height:52px;border-radius:50%;background:var(--gold-lt);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1.5px solid rgba(196,168,106,.3)}.sign-icon svg{width:24px;height:24px;color:var(--gold)}.sign-type{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:4px}.sign-name{font-family:"Fraunces",serif;font-size:20px;font-weight:400;margin-bottom:4px}.sign-dates{font-size:12px;color:var(--ch-soft)}.astro-notes{background:var(--wh);border-radius:var(--r);padding:22px;border:1.5px solid var(--bd);margin-bottom:20px}.astro-notes textarea{width:100%;padding:12px;border:1.5px solid var(--bd);border-radius:10px;background:var(--ds);font-family:"DM Sans",sans-serif;font-size:14px;resize:none;height:100px;outline:none;margin-bottom:14px;line-height:1.65;transition:border-color .2s}.astro-notes textarea:focus{border-color:var(--gold)}.astro-prompt{font-size:13px;color:var(--ch-soft);font-style:italic;margin-bottom:10px;line-height:1.6}
.soul-section{background:var(--wh);border-radius:var(--r);padding:26px;border:1.5px solid var(--bd);margin-bottom:18px}.soul-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.soul-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.si-gold{background:var(--gold-lt);border:1.5px solid rgba(196,168,106,.3)}.si-sage{background:var(--sage-lt);border:1.5px solid rgba(138,158,138,.3)}.si-ch{background:var(--ds);border:1.5px solid var(--bd)}.soul-icon svg{width:18px;height:18px}.soul-head-text h3{font-family:"Fraunces",serif;font-size:18px;font-weight:400;margin-bottom:3px}.soul-head-text p{font-size:13px;color:var(--ch-soft);line-height:1.5}.soul-entries{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.soul-entry{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;background:var(--ds);border-radius:10px}.soul-dot{width:6px;height:6px;border-radius:50%;background:var(--sage);flex-shrink:0;margin-top:7px}.soul-dot-gold{background:var(--gold)}.soul-entry-text{flex:1;font-size:13px;color:var(--ch-mid);line-height:1.55}.soul-entry-del{background:none;border:none;cursor:pointer;color:var(--ch-soft);font-size:18px;padding:0 2px;line-height:1;transition:color .15s;flex-shrink:0}.soul-entry-del:hover{color:var(--ch)}.soul-add-row{display:flex;gap:8px}.soul-add-row input{flex:1;padding:10px 14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;background:var(--ds);outline:none;transition:border-color .2s}.soul-add-row input:focus{border-color:var(--sage)}.btn-add{padding:10px 18px;background:var(--ch);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-add:hover{background:var(--sage)}
.note-block{background:var(--ds);border-left:2px solid var(--sage);border-radius:0 10px 10px 0;padding:16px 18px;margin-bottom:22px}.note-author{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:7px}.note-text{font-size:14px;line-height:1.8;color:var(--ch-mid)}
.chero{background:var(--ch);border-radius:18px;padding:28px 32px;margin-bottom:26px;position:relative;overflow:hidden}.chero::after{content:"";position:absolute;right:-50px;bottom:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(205,214,138,.12) 0%,transparent 70%)}.chero-ey{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}.chero h1{font-family:"Fraunces",serif;font-size:28px;font-weight:400;color:var(--wh);margin-bottom:8px;line-height:1.15}.chero p{font-size:14px;color:rgba(255,255,255,.5);max-width:500px;margin-bottom:22px;line-height:1.65}.chero-stats{display:flex;gap:28px}.chero-sn{font-family:"Fraunces",serif;font-size:24px;font-weight:300;color:var(--wh);line-height:1}.chero-sl{font-size:11px;color:rgba(255,255,255,.35);margin-top:2px}
.sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sec-link{font-size:12px;color:var(--sage);cursor:pointer;letter-spacing:.04em}
@media(max-width:768px){.portal{flex-direction:column}.sidebar{position:fixed;left:0;top:0;height:100%;transform:translateX(-100%);width:260px}.sidebar.open{transform:translateX(0)}.mob-hdr{display:flex}.main{padding:22px 18px}.l2col{grid-template-columns:1fr}.cg{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.pgrid{grid-template-columns:1fr}.phero{flex-direction:column;align-items:center;text-align:center}.big3{grid-template-columns:1fr}.cont-card{flex-wrap:wrap}.topbar{flex-wrap:wrap}.vbtns{flex-wrap:wrap}.chat-wrap{height:360px}}
@media(max-width:420px){.stats{grid-template-columns:1fr 1fr}.abox{padding:32px 22px}.mgrid{gap:6px}.mbtn{padding:12px 4px 10px}.big3{grid-template-columns:1fr}}

.practice-section{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:26px;margin-bottom:18px}
.practice-selector{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.practice-selector input{flex:1;min-width:200px;padding:12px 16px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;background:var(--ds);outline:none;transition:border-color .2s}
.practice-selector input:focus{border-color:var(--sage)}
.btn-gen{padding:12px 22px;background:var(--ch);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;letter-spacing:.04em}
.btn-gen:hover{background:var(--sage)}
.btn-gen:disabled{opacity:.5;cursor:not-allowed}
.practice-cards{display:flex;flex-direction:column;gap:16px}
.pcard{background:var(--ds);border-radius:var(--r);padding:22px;border:1.5px solid var(--bd);transition:border-color .2s}
.pcard.done{border-color:var(--lime);background:rgba(205,214,138,.08)}
.pcard-num{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:6px}
.pcard-title{font-family:"Fraunces",serif;font-size:18px;font-weight:400;margin-bottom:8px;line-height:1.3}
.pcard-desc{font-size:13px;color:var(--ch-mid);line-height:1.75;margin-bottom:16px}
.pcard-hw{background:var(--wh);border-radius:10px;padding:16px 18px;border:1px solid var(--bd);margin-bottom:14px}
.pcard-hw-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.pcard-hw-text{font-size:13px;color:var(--ch-mid);line-height:1.7}
.pcard-check{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 14px;border-radius:9px;background:rgba(255,255,255,.6);transition:background .15s;border:1.5px solid transparent}
.pcard-check:hover{background:var(--wh)}
.pcard.done .pcard-check{border-color:var(--lime);background:rgba(205,214,138,.15)}
.pcard-checkbox{width:22px;height:22px;border-radius:7px;border:1.5px solid rgba(45,45,45,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.pcard-checkbox svg{width:11px;height:11px;display:none;color:var(--ch)}
.pcard.done .pcard-checkbox{background:var(--lime);border-color:var(--lime-dk)}
.pcard.done .pcard-checkbox svg{display:block}
.pcard-check-label{font-size:13px;font-weight:500;color:var(--ch-mid)}
.practice-loading{display:none;text-align:center;padding:40px 20px}
.practice-loading.on{display:block}
.practice-loading p{font-family:"Fraunces",serif;font-size:16px;font-weight:300;color:var(--ch-soft);font-style:italic}
.practice-loading-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.practice-loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--sage);animation:dotpulse 1.4s ease-in-out infinite}
.practice-loading-dots span:nth-child(2){animation-delay:.2s}
.practice-loading-dots span:nth-child(3){animation-delay:.4s}
@keyframes dotpulse{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.practice-empty{text-align:center;padding:32px 20px;color:var(--ch-soft);font-size:14px;font-style:italic}

.baseline-wrap{max-width:820px;margin:0 auto}
.baseline-intro{background:var(--wh);border-radius:18px;padding:32px 34px;border:1.5px solid var(--bd);margin-bottom:24px}
.baseline-intro h2{font-family:"Fraunces",serif;font-size:24px;font-weight:400;margin-bottom:14px;line-height:1.2}
.baseline-intro p{font-size:14px;color:var(--ch-mid);line-height:1.8;margin-bottom:12px}
.baseline-letter{background:linear-gradient(135deg,var(--gold-lt) 0%,#f4e8d0 100%);border-radius:14px;padding:24px 26px;margin-bottom:20px;border-left:3px solid var(--gold)}
.baseline-letter p{font-size:14px;line-height:1.85;color:var(--ch-mid);margin-bottom:12px;font-style:italic}
.baseline-letter .sig{font-family:"Fraunces",serif;font-size:14px;color:var(--ch);margin-top:14px;font-style:italic;font-weight:400}
.baseline-progress{background:var(--wh);border-radius:14px;padding:16px 20px;border:1.5px solid var(--bd);margin-bottom:22px;position:sticky;top:0;z-index:10}
.baseline-progress-lbl{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ch-soft);margin-bottom:8px}
.baseline-progress-lbl strong{color:var(--sage);font-weight:600}
.baseline-part{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:28px 30px;margin-bottom:18px}
.baseline-part-num{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:6px}
.baseline-part h3{font-family:"Fraunces",serif;font-size:22px;font-weight:400;margin-bottom:8px;line-height:1.25}
.baseline-part-intro{font-size:13px;color:var(--ch-soft);line-height:1.6;margin-bottom:22px;font-style:italic}
.b-q{margin-bottom:20px}
.b-q label{display:block;font-size:14px;font-weight:500;color:var(--ch);margin-bottom:10px;line-height:1.5}
.b-q input[type="text"],.b-q textarea{width:100%;padding:12px 14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;color:var(--ch);background:var(--ds);outline:none;transition:border-color .2s;line-height:1.6}
.b-q textarea{resize:vertical;min-height:80px}
.b-q input:focus,.b-q textarea:focus{border-color:var(--sage)}
.scale-10{display:flex;gap:6px;flex-wrap:wrap}
.scale-10 .scale-btn{flex:1;min-width:36px;padding:10px 4px;border:1.5px solid var(--bd);background:var(--wh);border-radius:8px;text-align:center;cursor:pointer;font-family:"Fraunces",serif;font-size:14px;font-weight:400;transition:all .2s}
.scale-10 .scale-btn:hover,.scale-10 .scale-btn.sel{background:var(--sage-lt);border-color:var(--sage);color:var(--ch)}
.radio-list{display:flex;flex-direction:column;gap:8px}
.radio-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--bd);border-radius:10px;background:var(--ds);cursor:pointer;transition:all .15s;font-size:13px;color:var(--ch-mid)}
.radio-opt:hover{background:var(--wr)}
.radio-opt.sel{background:rgba(138,158,138,.15);border-color:var(--sage);color:var(--ch)}
.radio-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(45,45,45,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.radio-opt.sel .radio-dot{border-color:var(--sage)}
.radio-opt.sel .radio-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}
.baseline-closing{background:linear-gradient(135deg,var(--sage-lt) 0%,#dae4d8 100%);border-radius:18px;padding:32px 30px;text-align:center;margin-bottom:20px;border:1.5px solid var(--sage)}
.baseline-closing h3{font-family:"Fraunces",serif;font-size:22px;font-weight:400;margin-bottom:12px}
.baseline-closing p{font-size:14px;color:var(--ch-mid);line-height:1.7;margin-bottom:8px}
.affirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.affirm{background:var(--wh);border-radius:12px;padding:22px 16px;font-family:"Fraunces",serif;font-size:15px;text-align:center;color:var(--ch);border:1.5px solid rgba(138,158,138,.3);line-height:1.4}
.baseline-submit-wrap{background:var(--wh);border-radius:var(--r);padding:26px 28px;border:1.5px solid var(--bd);text-align:center}
.baseline-submit-wrap h3{font-family:"Fraunces",serif;font-size:20px;font-weight:400;margin-bottom:8px}
.baseline-submit-wrap p{font-size:13px;color:var(--ch-soft);margin-bottom:18px;line-height:1.6}
.baseline-done-view{display:none;background:var(--wh);border-radius:var(--r);padding:28px 30px;border:1.5px solid var(--bd);margin-top:20px}
.baseline-done-view.on{display:block}
.baseline-done-view h3{font-family:"Fraunces",serif;font-size:22px;font-weight:400;margin-bottom:10px;color:var(--sage)}
.baseline-done-view p{font-size:14px;color:var(--ch-mid);line-height:1.7}
@media(max-width:768px){.affirm-grid{grid-template-columns:1fr}.baseline-part{padding:22px 20px}}



/* COSMIC WEATHER (top of check-in) */
.cosmic-card{background:linear-gradient(135deg,#1a1a2e 0%,#2d2138 50%,#3d2c4a 100%);border-radius:18px;padding:28px 30px;margin-bottom:24px;position:relative;overflow:hidden;border:1px solid rgba(196,168,106,.3)}
.cosmic-card::before{content:"";position:absolute;top:-20px;right:-20px;width:140px;height:140px;background:radial-gradient(circle,rgba(196,168,106,.3) 0%,transparent 60%);border-radius:50%}
.cosmic-card::after{content:"";position:absolute;bottom:-40px;left:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(138,158,138,.15) 0%,transparent 60%);border-radius:50%}
.cosmic-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;position:relative;z-index:1}
.cosmic-icon{width:38px;height:38px;border-radius:50%;background:rgba(196,168,106,.15);border:1px solid rgba(196,168,106,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cosmic-icon svg{width:18px;height:18px;color:var(--gold-lt)}
.cosmic-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt)}
.cosmic-date{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}
.cosmic-title{font-family:"Fraunces",serif;font-size:22px;font-weight:400;color:var(--wh);margin-bottom:14px;line-height:1.3;position:relative;z-index:1}
.cosmic-content{font-size:14px;line-height:1.85;color:rgba(255,255,255,.85);position:relative;z-index:1;min-height:100px}
.cosmic-content p{margin-bottom:12px}
.cosmic-focus{background:rgba(205,214,138,.12);border-left:2px solid var(--lime);border-radius:0 10px 10px 0;padding:14px 18px;margin-top:16px;position:relative;z-index:1}
.cosmic-focus-lbl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:6px}
.cosmic-focus-text{font-size:13px;line-height:1.6;color:rgba(255,255,255,.9);font-style:italic}
.cosmic-loading{color:rgba(255,255,255,.4);font-style:italic;font-size:13px;position:relative;z-index:1}
.btn-cosmic{background:rgba(196,168,106,.15);border:1px solid rgba(196,168,106,.4);color:var(--gold-lt);padding:8px 16px;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.04em;margin-top:14px;position:relative;z-index:1}
.btn-cosmic:hover{background:rgba(196,168,106,.25);color:#f5e5c8}
/* SECTION HEADERS */
.checkin-section{margin-bottom:26px}
.section-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.section-hdr-icon{width:28px;height:28px;border-radius:8px;background:var(--wh);border:1.5px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.section-hdr-icon svg{width:14px;height:14px;color:var(--sage)}
.section-hdr h2{font-family:"Fraunces",serif;font-size:18px;font-weight:400;margin:0}
.section-sub{font-size:12px;color:var(--ch-soft);margin-top:2px}
/* TCM ASSESSMENT GRID */
.tcm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.tcm-card{background:var(--wh);border-radius:var(--r);padding:16px 18px;border:1.5px solid var(--bd)}
.tcm-card-lbl{font-size:11px;font-weight:600;color:var(--ch-mid);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.tcm-card-lbl svg{width:12px;height:12px;color:var(--sage);flex-shrink:0}
.tcm-pills{display:flex;gap:5px;flex-wrap:wrap}
.tcm-pill{padding:6px 12px;border:1.5px solid var(--bd);background:var(--ds);border-radius:99px;font-size:11px;cursor:pointer;transition:all .15s;color:var(--ch-mid);font-weight:500}
.tcm-pill:hover,.tcm-pill.sel{background:var(--sage-lt);border-color:var(--sage);color:var(--ch)}
.tcm-scale{display:flex;gap:4px;margin-top:4px}
.tcm-scale-btn{flex:1;min-width:0;padding:8px 4px;border:1.5px solid var(--bd);background:var(--wh);border-radius:6px;text-align:center;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s;font-family:"Fraunces",serif;color:var(--ch-mid)}
.tcm-scale-btn:hover,.tcm-scale-btn.sel{background:var(--sage-lt);border-color:var(--sage);color:var(--ch)}
.tcm-input{width:100%;padding:8px 10px;border:1.5px solid var(--bd);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;background:var(--ds);outline:none;transition:border-color .2s;margin-top:4px}
.tcm-input:focus{border-color:var(--sage)}
.tcm-full{grid-column:1/-1}
/* MENSES TOGGLE */
.menses-toggle{display:flex;align-items:center;gap:10px;background:var(--wh);border-radius:var(--r);padding:14px 18px;border:1.5px solid var(--bd);margin-bottom:12px;cursor:pointer;transition:background .15s}
.menses-toggle:hover{background:var(--ds)}
.menses-toggle-lbl{flex:1;font-size:13px;font-weight:500}
.tog-sw{width:38px;height:22px;background:var(--bd);border-radius:99px;position:relative;transition:background .2s;flex-shrink:0}
.tog-sw::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;background:var(--wh);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.menses-toggle.on .tog-sw{background:var(--sage)}
.menses-toggle.on .tog-sw::after{transform:translateX(16px)}
.menses-panel{display:none;background:var(--wh);border-radius:var(--r);padding:20px;border:1.5px solid var(--bd);margin-bottom:14px}
.menses-panel.on{display:block}
/* GRATITUDE */
.gratitude-list{background:var(--wh);border-radius:var(--r);padding:20px;border:1.5px solid var(--bd)}
.gratitude-items{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.gratitude-item{display:flex;align-items:center;gap:10px;padding:11px 14px;background:linear-gradient(135deg,var(--gold-lt) 0%,#f4e8d0 100%);border-radius:10px;border-left:2px solid var(--gold)}
.gratitude-num{font-family:"Fraunces",serif;font-size:14px;color:var(--gold);font-weight:400;flex-shrink:0;min-width:16px}
.gratitude-text{flex:1;font-size:13px;color:var(--ch);line-height:1.5}
.gratitude-del{background:none;border:none;cursor:pointer;color:var(--ch-soft);font-size:16px;padding:0 4px;line-height:1}
.gratitude-del:hover{color:var(--ch)}
.gratitude-add{display:flex;gap:8px}
.gratitude-add input{flex:1;padding:10px 14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;background:var(--ds);outline:none;transition:border-color .2s}
.gratitude-add input:focus{border-color:var(--gold)}
.btn-add-grat{padding:10px 18px;background:var(--gold);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}
.btn-add-grat:hover{background:#b09253}
/* NEW AGE / SOUL SECTION */
.intention-card{background:linear-gradient(135deg,var(--sage-lt) 0%,#dae4d8 100%);border-radius:var(--r);padding:22px;border:1.5px solid rgba(138,158,138,.3);margin-bottom:14px}
.intention-card label{display:block;font-family:"Fraunces",serif;font-size:15px;font-weight:400;margin-bottom:10px;line-height:1.4;color:var(--ch)}
.intention-card input,.intention-card textarea{width:100%;padding:11px 14px;border:1.5px solid rgba(138,158,138,.3);border-radius:10px;background:rgba(255,255,255,.7);font-family:"DM Sans",sans-serif;font-size:13px;outline:none;transition:border-color .2s;line-height:1.6}
.intention-card textarea{resize:none;min-height:60px}
.intention-card input:focus,.intention-card textarea:focus{border-color:var(--sage)}
@media(max-width:768px){.tcm-grid{grid-template-columns:1fr}}

/* ADMIN */
.admin-hero{background:linear-gradient(135deg,#1a1a2e 0%,#2d2138 100%);border-radius:18px;padding:28px 32px;margin-bottom:24px;color:var(--wh);position:relative;overflow:hidden}
.admin-hero::after{content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(196,168,106,.2) 0%,transparent 60%);border-radius:50%}
.admin-hero-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:8px;position:relative;z-index:1}
.admin-hero h1{font-family:"Fraunces",serif;font-size:26px;font-weight:400;color:var(--wh);margin-bottom:6px;position:relative;z-index:1}
.admin-hero p{font-size:13px;color:rgba(255,255,255,.55);position:relative;z-index:1}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.metric-card{background:var(--wh);border-radius:var(--r);padding:22px 24px;border:1.5px solid var(--bd);position:relative;overflow:hidden}
.metric-card::after{content:"";position:absolute;right:-16px;top:-16px;width:60px;height:60px;background:var(--sage-lt);opacity:.25;border-radius:50%}
.metric-lbl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:8px}
.metric-num{font-family:"Fraunces",serif;font-size:32px;font-weight:300;line-height:1;margin-bottom:4px}
.metric-delta{font-size:11px;color:var(--sage);font-weight:600;display:flex;align-items:center;gap:3px}
.metric-delta.down{color:#c85555}
.admin-2col{display:grid;grid-template-columns:1fr 320px;gap:20px;margin-bottom:24px}
.admin-panel{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);overflow:hidden}
.admin-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1.5px solid var(--bd)}
.admin-panel-hdr h3{font-family:"Fraunces",serif;font-size:16px;font-weight:400}
.admin-view-all{font-size:11px;color:var(--sage);cursor:pointer;letter-spacing:.04em;font-weight:600}
.activity-feed{padding:8px 0}
.activity-item{display:flex;align-items:flex-start;gap:12px;padding:11px 22px;border-bottom:1px solid var(--bd)}
.activity-item:last-child{border-bottom:none}
.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:7px;flex-shrink:0}
.activity-dot.gold{background:var(--gold)}
.activity-dot.lime{background:var(--lime-dk)}
.activity-dot.coral{background:#E86D4E}
.activity-content{flex:1;font-size:13px;line-height:1.5}
.activity-time{font-size:11px;color:var(--ch-soft);margin-top:2px}
.activity-name{font-weight:600}
.quick-actions{padding:8px}
.qa-btn{width:100%;padding:12px 14px;background:var(--ds);border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:10px;margin-bottom:6px;color:var(--ch)}
.qa-btn:hover{background:var(--sage-lt);border-color:var(--sage)}
.qa-btn svg{width:14px;height:14px;color:var(--sage);flex-shrink:0}
/* MEMBERS TABLE */
.members-toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.members-toolbar input{flex:1;min-width:220px;padding:10px 14px 10px 38px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;background:var(--wh);outline:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="%23888" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/></svg>');background-repeat:no-repeat;background-position:13px center}
.members-toolbar input:focus{border-color:var(--sage)}
.filter-pills{display:flex;gap:6px}
.filter-pill{padding:9px 14px;background:var(--wh);border:1.5px solid var(--bd);border-radius:99px;font-size:12px;cursor:pointer;transition:all .15s;font-weight:500}
.filter-pill:hover,.filter-pill.sel{background:var(--ch);color:var(--wh);border-color:var(--ch)}
.members-table{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);overflow:hidden}
.members-table-hdr{display:grid;grid-template-columns:2.5fr 1.5fr 1fr 1.5fr 1fr 0.5fr;gap:12px;padding:14px 22px;border-bottom:1.5px solid var(--bd);background:var(--ds)}
.members-table-hdr div{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft)}
.member-row{display:grid;grid-template-columns:2.5fr 1.5fr 1fr 1.5fr 1fr 0.5fr;gap:12px;padding:14px 22px;border-bottom:1px solid var(--bd);align-items:center;transition:background .15s;cursor:pointer}
.member-row:last-child{border-bottom:none}
.member-row:hover{background:var(--ds)}
.member-info{display:flex;align-items:center;gap:11px;min-width:0}
.member-av{width:34px;height:34px;border-radius:50%;background:var(--sage);color:var(--wh);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.member-av.gold{background:var(--gold)}
.member-av.coral{background:#E86D4E}
.member-av.lav{background:#9d8fb8}
.member-nm{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-em{font-size:11px;color:var(--ch-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-cell{font-size:13px;color:var(--ch-mid);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-progress-bar{height:5px;background:var(--wr);border-radius:99px;overflow:hidden;margin-top:4px;width:100%}
.member-progress-fill{height:100%;background:var(--sage);border-radius:99px}
.status-pill{padding:3px 10px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:inline-block}
.status-active{background:var(--sage-lt);color:var(--ch)}
.status-trial{background:var(--gold-lt);color:var(--gold)}
.status-cancelled{background:var(--wr);color:var(--ch-soft)}
.member-actions{background:none;border:none;cursor:pointer;color:var(--ch-soft);font-size:16px;padding:4px 8px;border-radius:6px;transition:background .15s}
.member-actions:hover{background:var(--ds);color:var(--ch)}
/* COURSE BUILDER */
.builder-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.btn-add-course{background:var(--ch);color:var(--wh);border:none;border-radius:10px;padding:11px 20px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;letter-spacing:.04em}
.btn-add-course:hover{background:var(--sage)}
.btn-add-course svg{width:14px;height:14px}
.builder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.builder-card{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);overflow:hidden;cursor:pointer;transition:all .2s}
.builder-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.builder-thumb{height:80px;position:relative;display:flex;align-items:center;justify-content:center}
.builder-thumb svg{width:28px;height:28px;opacity:.5}
.builder-status{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:99px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bs-published{background:var(--lime);color:var(--ch)}
.bs-draft{background:rgba(45,45,45,.3);color:var(--wh)}
.builder-body{padding:14px 16px}
.builder-name{font-family:"Fraunces",serif;font-size:14px;font-weight:400;margin-bottom:4px}
.builder-stats{display:flex;gap:14px;margin-top:8px}
.builder-stat{flex:1}
.builder-stat-num{font-family:"Fraunces",serif;font-size:16px;font-weight:400;line-height:1}
.builder-stat-lbl{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ch-soft);margin-top:2px}
/* COURSE EDITOR */
.editor-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.editor-toolbar h1{margin-bottom:0}
.editor-status-toggle{margin-left:auto;display:flex;align-items:center;gap:8px}
.editor-status-toggle span{font-size:12px;color:var(--ch-soft);font-weight:500}
.editor-section{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:24px 26px;margin-bottom:18px}
.editor-section h3{font-family:"Fraunces",serif;font-size:16px;font-weight:400;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.editor-field{margin-bottom:14px}
.editor-field label{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:6px}
.editor-field input,.editor-field textarea,.editor-field select{width:100%;padding:11px 14px;border:1.5px solid var(--bd);border-radius:9px;font-family:"DM Sans",sans-serif;font-size:13px;background:var(--ds);outline:none;transition:border-color .2s}
.editor-field textarea{resize:vertical;min-height:70px;line-height:1.6}
.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{border-color:var(--sage)}
.editor-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* MODULE EDITOR */
.mod-editor{background:var(--ds);border-radius:12px;padding:16px 18px;margin-bottom:10px;border:1.5px solid var(--bd)}
.mod-editor-hdr{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mod-editor-num{width:26px;height:26px;border-radius:50%;background:var(--wh);display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-size:12px;flex-shrink:0}
.mod-editor-title{flex:1;font-size:13px;font-weight:600}
.mod-editor-drag{color:var(--ch-soft);cursor:grab;font-size:14px}
.mod-editor-actions{display:flex;gap:4px}
.mod-editor-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--ch-soft);transition:background .15s}
.mod-editor-btn:hover{background:var(--wr);color:var(--ch)}
.mod-editor-btn svg{width:14px;height:14px}
.mod-lesson-list{padding-left:36px;display:flex;flex-direction:column;gap:6px;margin-top:8px}
.mod-lesson-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--wh);border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s;border:1px solid var(--bd)}
.mod-lesson-row:hover{background:var(--sage-lt)}
.mod-lesson-icon{color:var(--ch-soft);font-size:14px;flex-shrink:0}
.mod-lesson-title{flex:1}
.mod-lesson-meta{font-size:10px;color:var(--ch-soft)}
.btn-add-lesson{padding:8px 14px;background:transparent;border:1.5px dashed var(--bd);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;color:var(--ch-soft);cursor:pointer;transition:all .15s;margin-top:6px;margin-left:36px;width:calc(100% - 36px)}
.btn-add-lesson:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-lt)}
.btn-add-module{padding:11px 20px;background:transparent;border:1.5px dashed var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;color:var(--ch-soft);cursor:pointer;transition:all .15s;width:100%;font-weight:500}
.btn-add-module:hover{border-color:var(--sage);color:var(--sage);background:rgba(138,158,138,.05)}
/* PALETTE PREVIEW */
.palette-preview{display:flex;gap:6px;margin-top:6px}
.palette-swatch{width:28px;height:28px;border-radius:6px;border:1.5px solid var(--bd)}
/* Upload zone */
.upload-zone{padding:20px;border:2px dashed var(--bd);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s;background:var(--ds)}
.upload-zone:hover{border-color:var(--sage);background:var(--sage-lt)}
.upload-zone svg{width:24px;height:24px;color:var(--ch-soft);margin-bottom:8px}
.upload-zone p{font-size:13px;color:var(--ch-mid)}
.upload-zone p small{display:block;font-size:11px;color:var(--ch-soft);margin-top:2px}
@media(max-width:768px){
  .metric-grid{grid-template-columns:1fr 1fr}
  .admin-2col{grid-template-columns:1fr}
  .builder-grid{grid-template-columns:1fr}
  .members-table-hdr,.member-row{grid-template-columns:2fr 1fr 0.5fr}
  .members-table-hdr div:nth-child(2),.members-table-hdr div:nth-child(4),.members-table-hdr div:nth-child(5),.member-row>div:nth-child(2),.member-row>div:nth-child(4),.member-row>div:nth-child(5){display:none}
  .editor-2col{grid-template-columns:1fr}
}

/* COMMUNITY FEED */
.feed-hero{background:linear-gradient(135deg,var(--sage) 0%,#6d8571 100%);border-radius:18px;padding:24px 28px;color:var(--wh);margin-bottom:24px;position:relative;overflow:hidden}
.feed-hero::after{content:"";position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;background:radial-gradient(circle,rgba(205,214,138,.25) 0%,transparent 60%);border-radius:50%}
.feed-hero h2{font-family:"Fraunces",serif;font-size:20px;font-weight:400;margin-bottom:6px;position:relative;z-index:1}
.feed-hero p{font-size:13px;color:rgba(255,255,255,.75);margin-bottom:14px;position:relative;z-index:1}
.feed-hero-stat{display:flex;gap:22px;position:relative;z-index:1}
.feed-hero-stat div{font-size:12px;color:rgba(255,255,255,.75)}
.feed-hero-stat strong{font-family:"Fraunces",serif;font-size:18px;color:var(--wh);display:block;font-weight:400}
.compose{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:18px 20px;margin-bottom:18px}
.compose-hdr{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.compose-av{width:38px;height:38px;border-radius:50%;background:var(--sage);color:var(--wh);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.compose textarea{width:100%;padding:12px 14px;border:1.5px solid var(--bd);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;background:var(--ds);outline:none;resize:none;min-height:60px;line-height:1.6;transition:border-color .2s}
.compose textarea:focus{border-color:var(--sage)}
.compose-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.compose-tools{display:flex;gap:6px}
.compose-tool{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:var(--ch-soft);transition:all .15s}
.compose-tool:hover{background:var(--ds);color:var(--sage)}
.compose-tool svg{width:16px;height:16px}
.btn-post{padding:10px 22px;background:var(--ch);color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.04em}
.btn-post:hover{background:var(--sage)}
.post{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:20px 22px;margin-bottom:14px;transition:box-shadow .15s}
.post.pinned{background:linear-gradient(135deg,#f9f4ed 0%,#f4ede0 100%);border-color:var(--gold-lt);border-left:3px solid var(--gold)}
.post-hdr{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.post-av{width:40px;height:40px;border-radius:50%;color:var(--wh);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.post-info{flex:1;min-width:0}
.post-name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.post-badge{padding:2px 8px;border-radius:99px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--wh)}
.post-badge.mem{background:var(--sage-lt);color:var(--ch);font-weight:600}
.post-meta{font-size:11px;color:var(--ch-soft);margin-top:2px}
.post-body{font-size:14px;color:var(--ch);line-height:1.7;margin-bottom:12px}
.post-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.reaction{background:var(--ds);border:1.5px solid transparent;border-radius:99px;padding:5px 12px;cursor:pointer;font-size:12px;color:var(--ch-mid);transition:all .15s;display:inline-flex;align-items:center;gap:5px;font-weight:500}
.reaction:hover{background:var(--sage-lt);border-color:var(--sage)}
.reaction.on{background:rgba(232,109,78,.1);border-color:#E86D4E;color:#E86D4E}
.reaction svg{width:12px;height:12px}
.reply-btn{background:none;border:none;cursor:pointer;color:var(--ch-soft);font-size:12px;padding:5px 10px;border-radius:99px;transition:background .15s;display:inline-flex;align-items:center;gap:5px}
.reply-btn:hover{background:var(--ds);color:var(--ch)}
.replies{margin-top:14px;padding-left:52px;border-left:2px solid var(--bd);margin-left:20px;padding-top:2px}
.reply{display:flex;gap:10px;margin-bottom:12px}
.reply-av{width:28px;height:28px;border-radius:50%;color:var(--wh);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.reply-body{flex:1;background:var(--ds);border-radius:12px;padding:10px 14px}
.reply-name{font-size:12px;font-weight:600;margin-bottom:2px}
.reply-name .post-badge{margin-left:5px}
.reply-time{font-size:10px;color:var(--ch-soft);margin-bottom:6px}
.reply-text{font-size:13px;line-height:1.55}
.reply-compose{display:flex;gap:10px;margin-top:8px}
.reply-compose input{flex:1;padding:8px 14px;border:1.5px solid var(--bd);border-radius:99px;font-family:"DM Sans",sans-serif;font-size:12px;background:var(--wh);outline:none;transition:border-color .2s}
.reply-compose input:focus{border-color:var(--sage)}
.btn-reply-send{padding:8px 16px;background:var(--sage);color:var(--wh);border:none;border-radius:99px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer}
/* LIVE CIRCLE */
.next-live{background:linear-gradient(135deg,#2d2138 0%,#1a1a2e 100%);border-radius:18px;padding:28px 30px;color:var(--wh);margin-bottom:24px;position:relative;overflow:hidden}
.next-live::after{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(232,109,78,.25) 0%,transparent 60%);border-radius:50%}
.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(232,109,78,.15);border:1px solid #E86D4E;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#E86D4E;margin-bottom:14px;position:relative;z-index:1}
.live-dot{width:6px;height:6px;background:#E86D4E;border-radius:50%;animation:pulse-live 1.5s ease-in-out infinite}
@keyframes pulse-live{0%,100%{opacity:1}50%{opacity:.3}}
.next-live-title{font-family:"Fraunces",serif;font-size:24px;font-weight:400;color:var(--wh);margin-bottom:6px;position:relative;z-index:1}
.next-live-desc{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:16px;position:relative;z-index:1;line-height:1.6}
.countdown{display:flex;gap:12px;margin-bottom:20px;position:relative;z-index:1}
.count-box{background:rgba(255,255,255,.08);border-radius:10px;padding:10px 16px;text-align:center;min-width:60px;border:1px solid rgba(255,255,255,.12)}
.count-num{font-family:"Fraunces",serif;font-size:22px;color:var(--wh);line-height:1}
.count-lbl{font-size:9px;color:rgba(255,255,255,.5);letter-spacing:.12em;text-transform:uppercase;margin-top:3px;font-weight:600}
.btn-join{padding:12px 24px;background:#E86D4E;color:var(--wh);border:none;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;position:relative;z-index:1;letter-spacing:.05em}
.btn-join:hover{background:#d65a3e}
.sess-list{display:flex;flex-direction:column;gap:12px}
.sess-card{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:18px 22px;display:flex;align-items:center;gap:18px}
.sess-date{background:var(--ds);border-radius:10px;padding:10px 14px;text-align:center;min-width:60px;border:1.5px solid var(--bd)}
.sess-date-mo{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.sess-date-day{font-family:"Fraunces",serif;font-size:22px;line-height:1;margin-top:2px}
.sess-info{flex:1;min-width:0}
.sess-title{font-family:"Fraunces",serif;font-size:15px;font-weight:400;margin-bottom:3px}
.sess-meta{font-size:12px;color:var(--ch-soft)}
.sess-cta{padding:8px 18px;background:var(--sage);color:var(--wh);border:none;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}
.sess-cta:hover{background:var(--ch)}
.sess-cta.past{background:var(--ds);color:var(--ch-mid);border:1.5px solid var(--bd)}
/* CERTIFICATES */
.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cert{background:var(--wh);border-radius:16px;border:1.5px solid var(--bd);overflow:hidden;transition:all .2s;cursor:pointer}
.cert:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.cert.locked{opacity:.5}
.cert-visual{background:linear-gradient(135deg,#f4ede0 0%,#e8dcc4 100%);padding:36px 24px;text-align:center;position:relative;border-bottom:1.5px solid var(--bd)}
.cert-visual::before,.cert-visual::after{content:"";position:absolute;top:12px;bottom:12px;width:1px;background:var(--gold);opacity:.4}
.cert-visual::before{left:12px}
.cert-visual::after{right:12px}
.cert-seal{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--wh);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 4px 14px rgba(196,168,106,.35)}
.cert-seal svg{width:26px;height:26px}
.cert.locked .cert-seal{background:var(--bd);box-shadow:none}
.cert-title{font-family:"Fraunces",serif;font-size:15px;font-weight:400;color:var(--gold);margin-bottom:2px;letter-spacing:.02em}
.cert-course{font-family:"Fraunces",serif;font-size:12px;font-style:italic;color:var(--ch-mid)}
.cert-body{padding:16px 20px}
.cert-name{font-size:14px;font-weight:600;margin-bottom:2px}
.cert-date{font-size:12px;color:var(--ch-soft)}
.cert-actions{display:flex;gap:8px;margin-top:12px}
.cert-btn{flex:1;padding:8px;background:var(--ds);border:1.5px solid var(--bd);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s;color:var(--ch)}
.cert-btn:hover{background:var(--sage-lt);border-color:var(--sage)}
.cert-btn.primary{background:var(--ch);color:var(--wh);border-color:var(--ch)}
.cert-btn.primary:hover{background:var(--sage);border-color:var(--sage)}
/* LESSON DISCUSSION */
.lesson-disc{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:22px 24px;margin-top:18px}
.lesson-disc-hdr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.lesson-disc-hdr h3{font-family:"Fraunces",serif;font-size:17px;font-weight:400}
.lesson-disc-count{font-size:11px;color:var(--ch-soft);font-weight:500}
/* REFERRAL */
.ref-hero{background:linear-gradient(135deg,#EAF072 0%,#dae464 100%);border-radius:18px;padding:26px 30px;color:var(--ch);margin-bottom:24px;position:relative;overflow:hidden}
.ref-hero h2{font-family:"Fraunces",serif;font-size:22px;font-weight:400;margin-bottom:6px}
.ref-hero p{font-size:13px;color:var(--ch-mid);margin-bottom:18px;max-width:520px;line-height:1.6}
.ref-code{background:rgba(255,255,255,.6);border:1.5px dashed var(--ch-mid);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:420px}
.ref-code-lbl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft)}
.ref-code-val{font-family:"Fraunces",serif;font-size:20px;color:var(--ch)}
.ref-copy{padding:8px 18px;background:var(--ch);color:var(--wh);border:none;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer}
.ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
/* ADMIN ANALYTICS */
.chart-card{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:22px;margin-bottom:18px}
.chart-hdr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}
.chart-hdr h3{font-family:"Fraunces",serif;font-size:16px;font-weight:400}
.chart-hdr select{padding:6px 12px;border:1.5px solid var(--bd);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:12px;background:var(--ds);outline:none}
.bar-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding-bottom:24px;position:relative}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:4px;position:relative}
.bar-fill{width:100%;max-width:44px;background:linear-gradient(to top,var(--sage),var(--sage-lt));border-radius:6px 6px 0 0;transition:all .3s;position:relative}
.bar-fill:hover{background:linear-gradient(to top,var(--ch),var(--sage))}
.bar-lbl{position:absolute;bottom:-22px;font-size:10px;font-weight:600;color:var(--ch-soft);letter-spacing:.04em}
.bar-val{position:absolute;top:-20px;font-size:10px;font-weight:700;color:var(--ch);letter-spacing:.02em}
.donut-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.donut{width:130px;height:130px;position:relative;margin:0 auto}
.donut svg{transform:rotate(-90deg)}
.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.donut-center-num{font-family:"Fraunces",serif;font-size:24px;line-height:1}
.donut-center-lbl{font-size:9px;color:var(--ch-soft);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
/* ADMIN EMAIL COMPOSER */
.email-composer{background:var(--wh);border-radius:var(--r);border:1.5px solid var(--bd);padding:24px 26px;margin-bottom:18px}
.recipient-pills{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.recip-pill{padding:6px 14px;background:var(--ds);border:1.5px solid var(--bd);border-radius:99px;font-size:12px;cursor:pointer;transition:all .15s;font-weight:500}
.recip-pill:hover,.recip-pill.sel{background:var(--ch);color:var(--wh);border-color:var(--ch)}
.email-preview{background:var(--ds);border-radius:12px;padding:18px 20px;margin-top:14px;border:1px solid var(--bd)}
.email-preview-lbl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);margin-bottom:8px}
.email-preview p{font-size:13px;line-height:1.7;color:var(--ch-mid)}
@media(max-width:768px){.cert-grid{grid-template-columns:1fr}.ref-stats{grid-template-columns:1fr 1fr}.donut-row{grid-template-columns:1fr}}

/* ═══════ BREAKUP IN A BOX WORLD ═══════ */
/* Full palette override — when you enter, everything transforms */
.skin-biab{
  --ds:#FBEDE7;               /* peachy cream page bg */
  --wr:#F5D9C9;               /* deeper peach */
  --wh:#FFFAF5;               /* warm cream card bg */
  --sage:#E86D4E;             /* coral primary (was sage green) */
  --sage-lt:#F5C5B3;          /* blush (was sage light) */
  --ch:#2D2138;               /* deep plum-charcoal (was neutral charcoal) */
  --ch-mid:#4a3d54;
  --ch-soft:#9d8fb8;          /* muted lavender for meta */
  --lime:#EAF072;             /* BIAB yellow */
  --lime-dk:#d4dd60;
  --bd:rgba(45,33,56,0.09);
  --gold:#C4A86A;
  --gold-lt:#EAD9B8;
  --course-primary:#E86D4E;
  --course-primary-lt:#F5C5B3;
  --course-accent:#EAF072;
  --course-secondary:#E2DBF0;
  --course-deep:#2D2138;
  --course-soft:#FBEDE7;
}
/* BIAB world identifier ribbon */
.biab-world-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--course-primary) 0%,#d65a3e 100%);color:var(--wh);padding:6px 14px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;box-shadow:0 2px 8px rgba(232,109,78,.25)}
.biab-world-badge svg{width:12px;height:12px}
/* Ribbon spark for hero */
.skin-biab .chero{background:linear-gradient(135deg,#2D2138 0%,#3d2c4a 60%,#4a3560 100%)}
.skin-biab .chero-ey{color:var(--course-accent);letter-spacing:.18em}
.skin-biab .chero h1{font-size:32px;letter-spacing:-.01em}
.skin-biab .chero::after{background:radial-gradient(circle,rgba(232,109,78,.22) 0%,transparent 65%);width:220px;height:220px}
.skin-biab .chero::before{content:"";position:absolute;top:-40px;left:-40px;width:140px;height:140px;background:radial-gradient(circle,rgba(234,240,114,.15) 0%,transparent 60%);border-radius:50%}
/* Continue card gets the deep plum */
.skin-biab .cont-card{background:linear-gradient(135deg,#2D2138 0%,#3d2c4a 100%)}
.skin-biab .cont-card::after{background:radial-gradient(circle,rgba(232,109,78,.18) 0%,transparent 65%)}
.skin-biab .cont-lbl{color:var(--course-accent)}
/* Module pills */
.skin-biab .mpill.pa{background:var(--course-primary-lt);color:var(--course-deep)}
.skin-biab .mpill.pd{background:var(--course-accent);color:var(--course-deep)}
.skin-biab .mpill.pp{background:var(--course-secondary);color:var(--course-deep)}
/* Lesson rows */
.skin-biab .lrow.cur{background:rgba(232,109,78,.09);border-left:2px solid var(--course-primary)}
.skin-biab .lrow:hover{background:var(--course-soft)}
.skin-biab .lst.ld{background:var(--course-accent);color:var(--course-deep)}
.skin-biab .lst.lc{background:var(--course-primary)}
.skin-biab .lst.lt{background:var(--course-soft);border:1.5px solid var(--course-primary-lt)}
.skin-biab .lst.lt svg{color:var(--course-primary)}
/* Module blocks */
.skin-biab .mblock{border-color:rgba(232,109,78,.15)}
.skin-biab .mhdr{background:linear-gradient(90deg,var(--course-soft) 0%,transparent 100%)}
.skin-biab .mnum{background:var(--course-primary-lt);color:var(--course-deep);font-weight:600}
/* Progress bars */
.skin-biab .pb-in{background:var(--course-accent)}
.skin-biab .pb-in2{background:var(--course-primary)}
.skin-biab .pb-out2{background:var(--course-primary-lt);opacity:.6}
/* Video player */
.skin-biab .vwrap{background:var(--course-deep);border:1px solid rgba(232,109,78,.2)}
.skin-biab .vb2{background:var(--course-accent);color:var(--course-deep);font-weight:700}
.skin-biab .vb2:hover{background:#dae464}
.skin-biab .vb1{background:rgba(232,109,78,.15);color:var(--course-primary-lt);border:1px solid rgba(232,109,78,.3)}
/* Note blocks */
.skin-biab .note-block{background:linear-gradient(135deg,var(--course-soft) 0%,#f9e4d7 100%);border-left:3px solid var(--course-primary);border-radius:0 12px 12px 0}
.skin-biab .note-author{color:var(--course-primary);letter-spacing:.14em}
.skin-biab .note-text{color:var(--course-deep);font-size:14px;line-height:1.85}
/* Checkboxes on practices */
.skin-biab .chi{background:var(--wh);border:1px solid var(--bd)}
.skin-biab .chi:hover{background:var(--course-soft);border-color:var(--course-primary-lt)}
.skin-biab .chi.chk{background:rgba(234,240,114,.25);border-color:var(--course-accent)}
.skin-biab .chi.chk .chbox{background:var(--course-accent);border-color:var(--course-accent)}
/* Downloads */
.skin-biab .dlitem{background:var(--wh);border:1px solid var(--bd)}
.skin-biab .dlitem:hover{background:var(--course-soft);border-color:var(--course-primary-lt)}
.skin-biab .dlic{background:var(--course-primary-lt)}
.skin-biab .dlic svg{color:var(--course-primary)}
/* Mark complete button */
.skin-biab .btn-done{background:var(--course-primary);color:var(--wh);letter-spacing:.06em}
.skin-biab .btn-done:hover{background:#d65a3e}
/* Feedback block after complete */
.skin-biab .fbblock{background:linear-gradient(135deg,var(--course-accent) 0%,#dae464 100%)}
.skin-biab .fbtitle{color:var(--course-deep)}
.skin-biab .star{color:var(--course-deep)}
.skin-biab .btn-fb{background:var(--course-deep);color:var(--wh)}
/* Class Discussion inside lesson */
.skin-biab .lesson-disc{background:var(--wh);border-color:rgba(232,109,78,.15)}
.skin-biab .compose{background:var(--wh);border:1px solid var(--bd)}
.skin-biab .compose textarea{background:var(--course-soft);border-color:rgba(232,109,78,.2)}
.skin-biab .compose textarea:focus{border-color:var(--course-primary)}
.skin-biab .compose-av{background:var(--course-primary)}
.skin-biab .btn-post{background:var(--course-primary)}
.skin-biab .btn-post:hover{background:#d65a3e}
.skin-biab .post{background:var(--wh);border:1px solid var(--bd)}
.skin-biab .reaction.on{background:rgba(232,109,78,.15);border-color:var(--course-primary);color:var(--course-primary)}
/* AI Chat inside BIAB */
.skin-biab .chat-wrap{background:linear-gradient(135deg,var(--course-primary-lt) 0%,#f4c8b2 100%);border-color:rgba(232,109,78,.3)}
.skin-biab .chat-hdr{background:rgba(255,255,255,.35);border-color:rgba(232,109,78,.2)}
.skin-biab .chat-orb{background:var(--course-deep)}
.skin-biab .chat-orb svg{color:var(--course-accent)}
.skin-biab .msg-name{color:var(--course-primary)}
.skin-biab .msg-user{background:var(--course-deep)}
.skin-biab .btn-send{background:var(--course-deep)}
.skin-biab .btn-send:hover{background:var(--course-primary)}
.skin-biab .chat-input-row{background:rgba(255,255,255,.25);border-color:rgba(232,109,78,.2)}
.skin-biab .chat-input-row input:focus{border-color:var(--course-primary)}
/* Course letter block */
.skin-biab .mod-letter{background:linear-gradient(135deg,var(--course-soft) 0%,#f9e4d7 100%);border-left:3px solid var(--course-primary)}
.skin-biab .mod-letter-eyebrow{color:var(--course-primary)}
.skin-biab .mod-letter h3{color:var(--course-deep)}
.skin-biab .mod-letter .sig{color:var(--course-deep)}
/* Concept grid (Chill vs Get Out) */
.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.concept-block{padding:22px 24px;border-radius:14px;border:1.5px solid var(--bd)}
.concept-block h4{font-family:"Fraunces",serif;font-size:17px;font-weight:400;margin-bottom:10px;letter-spacing:-.01em}
.concept-block ul{list-style:none;padding:0}
.concept-block li{font-size:13px;padding:6px 0;padding-left:18px;position:relative;line-height:1.5;font-weight:500}
.concept-block li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%}
.cb-chill{background:rgba(234,240,114,.18);border-color:rgba(212,221,96,.5)}
.cb-chill li::before{background:#8a9b40}
.cb-chill h4,.cb-chill li{color:#5e6b1f}
.cb-get{background:rgba(232,109,78,.08);border-color:rgba(232,109,78,.3)}
.cb-get li::before{background:var(--course-primary)}
.cb-get h4,.cb-get li{color:#b04a2d}
/* Baseline in BIAB world */
.skin-biab .baseline-part{background:var(--wh);border-color:rgba(232,109,78,.12)}
.skin-biab .baseline-part-num{color:var(--course-primary);letter-spacing:.18em}
.skin-biab .baseline-part h3{color:var(--course-deep);font-size:24px}
.skin-biab .baseline-letter{background:linear-gradient(135deg,var(--course-soft) 0%,#f9e4d7 100%);border-left:3px solid var(--course-primary)}
.skin-biab .baseline-letter p{color:var(--course-deep)}
.skin-biab .baseline-letter .sig{color:var(--course-deep)}
.skin-biab .b-q input:focus,.skin-biab .b-q textarea:focus{border-color:var(--course-primary)}
.skin-biab .scale-10 .scale-btn:hover,.skin-biab .scale-10 .scale-btn.sel{background:var(--course-accent);border-color:var(--course-accent);color:var(--course-deep)}
.skin-biab .radio-opt.sel{background:rgba(232,109,78,.08);border-color:var(--course-primary);color:var(--course-deep)}
.skin-biab .radio-opt.sel .radio-dot::after{background:var(--course-primary)}
.skin-biab .radio-opt.sel .radio-dot{border-color:var(--course-primary)}
.skin-biab .baseline-progress{background:var(--wh);border-color:rgba(232,109,78,.15)}
.skin-biab .baseline-progress-lbl strong{color:var(--course-primary)}
.skin-biab .baseline-closing{background:linear-gradient(135deg,var(--course-accent) 0%,#dae464 100%);border-color:var(--course-accent)}
.skin-biab .baseline-closing h3{color:var(--course-deep)}
.skin-biab .baseline-closing p{color:var(--course-deep)}
.skin-biab .affirm{background:rgba(255,255,255,.85);border-color:rgba(45,33,56,.15);color:var(--course-deep)}
.skin-biab .baseline-submit-wrap{background:var(--wh);border-color:rgba(232,109,78,.15)}
.skin-biab .baseline-submit-wrap h3{color:var(--course-deep)}
.skin-biab .baseline-done-view{background:var(--wh);border-color:var(--course-accent)}
.skin-biab .baseline-done-view h3{color:var(--course-primary)}
/* General button feels */
.skin-biab .btn-p{background:var(--course-primary);letter-spacing:.06em}
.skin-biab .btn-p:hover{background:#d65a3e}
.skin-biab .btn-sv{background:var(--course-primary)}
.skin-biab .btn-sv:hover{background:#d65a3e}
/* Eyebrow color in BIAB */
.skin-biab .eyebrow{color:var(--course-primary);letter-spacing:.18em}
/* Card + section subtle warmth */
.skin-biab .card{background:var(--wh);border-color:rgba(232,109,78,.12)}
.skin-biab .ctitle{color:var(--course-deep)}
.skin-biab .ptitle{color:var(--course-deep);letter-spacing:-.01em}
/* Stats and small elements */
.skin-biab .scard{background:var(--wh);border-color:rgba(232,109,78,.12)}
.skin-biab .snum{color:var(--course-deep)}
/* Sidebar still gets subtle warmth shift */
.skin-biab .sidebar{background:var(--course-deep);border-right:1px solid rgba(232,109,78,.1)}
.skin-biab .sb-av{background:var(--course-primary)}
.skin-biab .ni.active{border-left-color:var(--course-accent);background:rgba(234,240,114,.06)}
.skin-biab .ni.active svg{color:var(--course-accent)}
/* Mobile header */
.skin-biab .mob-hdr{background:var(--course-deep)}
/* Course meta bg for stats in hero */
.skin-biab .chero-stats{padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:768px){.concept-grid{grid-template-columns:1fr}}

.aerr{background:#fff0ee;border:1px solid #E86D4E;border-radius:10px;padding:12px 16px;font-size:13px;color:#b53a20;margin-bottom:14px;display:none}
.aerr.on,.aerr:not(:empty){display:block}
