/* The Overpaid Expert — course platform app styles (shared) */
@font-face{font-family:"Roca One";src:url("/assets/fonts/RocaOne-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;}
:root{
  --ink:#0c100f; --ink2:#2e3936; --muted:#5d6b67; --faint:#879490;
  --bg:#f3fafd; --card:#fff; --line:#e9efed; --line2:#d8e0dd;
  --teal:#3cbcad; --teal-d:#1f7e74; --teal-dd:#2aa093; --mint:#ecf8f6; --lime:#beffa1; --dark:#0c100f;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);font-family:"Poppins",system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:var(--teal-d);}
.oe-wrap{max-width:1100px;margin:0 auto;padding:0 20px;}
.oe-narrow{max-width:460px;margin:0 auto;padding:0 20px;}

/* Brand mark */
.oe-logo{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none;}
.oe-logo .t{font-weight:600;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--teal-d);}
.oe-logo .n{font-family:"Roca One",serif;font-size:20px;letter-spacing:-.01em;color:var(--ink);margin-top:3px;}
.oe-logo .n span{color:var(--teal);}

/* Top bar */
.oe-topbar{position:sticky;top:0;z-index:40;background:rgba(243,250,253,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.oe-topbar .in{max-width:1100px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.oe-topnav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.oe-topnav a{font-size:14px;font-weight:500;color:var(--ink2);text-decoration:none;}
.oe-topnav a.active{color:var(--teal-d);font-weight:600;}

/* Headings */
.oe-h1{font-family:"Roca One",serif;font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.02em;line-height:1.1;margin:0;color:var(--ink);}
.oe-h2{font-family:"Roca One",serif;font-size:clamp(1.2rem,2.4vw,1.6rem);letter-spacing:-.01em;margin:0;color:var(--ink);}
.oe-eyebrow{font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
.oe-sub{color:var(--muted);font-size:15px;line-height:1.6;}

/* Cards */
.oe-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;}
.oe-card + .oe-card{margin-top:16px;}

/* Buttons */
.oe-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"Poppins",sans-serif;font-weight:600;font-size:15px;color:#fff;background:var(--teal);border:none;border-radius:999px;padding:12px 22px;cursor:pointer;text-decoration:none;transition:transform .12s,background .2s,box-shadow .2s;}
.oe-btn:hover{background:#33a99b;}
.oe-btn:active{transform:scale(.98);}
.oe-btn[disabled]{opacity:.6;cursor:not-allowed;}
.oe-btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.oe-btn.ghost:hover{background:var(--ink);color:#fff;}
.oe-btn.sm{padding:8px 14px;font-size:13px;}
.oe-btn.danger{background:#e5484d;}
.oe-btn.danger:hover{background:#cf3b40;}
.oe-btn.block{width:100%;}

/* Forms */
.oe-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.oe-label{font-size:13px;font-weight:600;color:var(--ink2);}
.oe-input,.oe-select,.oe-textarea{font-family:"Poppins",sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;width:100%;}
.oe-textarea{resize:vertical;min-height:84px;}
.oe-input:focus,.oe-select:focus,.oe-textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(60,188,173,.22);}
.oe-row{display:flex;gap:12px;flex-wrap:wrap;}
.oe-row > *{flex:1;min-width:160px;}

/* Tables */
.oe-table{width:100%;border-collapse:collapse;font-size:14px;}
.oe-table th{text-align:left;font-weight:600;color:var(--faint);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line);}
.oe-table td{padding:12px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top;}
.oe-table tr:last-child td{border-bottom:none;}
.oe-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Pills / badges */
.oe-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;}
.oe-pill.on{background:var(--mint);color:var(--teal-d);}
.oe-pill.off{background:#f1f3f2;color:var(--faint);}
.oe-pill.paid{background:#e6f7ef;color:#137a4b;}
.oe-pill.pending{background:#fff3e0;color:#a35a00;}
.oe-pill.failed{background:#fdecec;color:#c0343a;}

/* Layout helpers */
.oe-grid{display:grid;gap:16px;}
.oe-grid.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.oe-stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;}
.oe-stat .k{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.oe-stat .v{font-family:"Roca One",serif;font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink);margin-top:6px;letter-spacing:-.01em;}
.oe-muted{color:var(--muted);}
.oe-note{font-size:13px;color:var(--faint);}
.oe-error{background:#fdecec;color:#c0343a;border:1px solid #f6cfd0;border-radius:12px;padding:12px 14px;font-size:14px;}
.oe-ok{background:#e6f7ef;color:#137a4b;border:1px solid #bfe8d1;border-radius:12px;padding:12px 14px;font-size:14px;}
.oe-hidden{display:none!important;}
.oe-spacer{height:24px;}
.oe-page{padding:28px 0 64px;}
.oe-videowrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;}
.oe-videowrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.oe-vidbar{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:12px;}
.oe-vidfill{height:100%;width:0;background:var(--teal);transition:width .25s;}
.oe-lessonnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap;}
.oe-lessonnav .spacer{flex:1;}
.oe-linkbtn{background:none;border:none;color:var(--teal-d);font-weight:600;cursor:pointer;padding:0;font-size:14px;}
.oe-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.oe-list-row:last-child{border-bottom:none;}
/* Keep each row on one line: the title takes remaining space and truncates with an ellipsis; controls never shrink. */
.oe-list-row > :first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.oe-list-row > :last-child{flex:0 0 auto;}

/* Rendered lesson notes (Markdown) */
.oe-notes{font-size:15.5px;line-height:1.7;color:var(--ink2);}
.oe-notes>*:first-child{margin-top:0;}
.oe-notes>*:last-child{margin-bottom:0;}
.oe-notes a{color:var(--teal-d);font-weight:600;text-decoration:underline;}
.oe-notes a:hover{color:var(--teal-dd);}
.oe-notes h1,.oe-notes h2,.oe-notes h3,.oe-notes h4{font-family:"Roca One",serif;letter-spacing:-.01em;color:var(--ink);line-height:1.2;margin:18px 0 8px;}
.oe-notes h1{font-size:1.5rem;} .oe-notes h2{font-size:1.3rem;} .oe-notes h3{font-size:1.12rem;}
.oe-notes p{margin:0 0 12px;}
.oe-notes ul,.oe-notes ol{margin:0 0 12px;padding-left:22px;}
.oe-notes li{margin:4px 0;}
.oe-notes blockquote{margin:0 0 12px;padding:8px 16px;border-left:3px solid var(--teal);background:var(--mint);border-radius:0 10px 10px 0;color:var(--ink2);}
.oe-notes code{background:#eef2f1;padding:2px 6px;border-radius:6px;font-size:.92em;}
.oe-notes pre{background:#0c100f;color:#eef4f2;padding:14px 16px;border-radius:12px;overflow-x:auto;}
.oe-notes pre code{background:none;padding:0;}
.oe-notes hr{border:none;border-top:1px solid var(--line);margin:18px 0;}
.oe-notes img{max-width:100%;border-radius:10px;}

/* Modal (admin lesson editor) */
.oe-scrim{position:fixed;inset:0;z-index:100;background:rgba(7,10,9,.55);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;}
.oe-modal{background:var(--card);border-radius:20px;padding:28px;max-width:560px;width:100%;box-shadow:0 30px 60px -20px rgba(12,16,15,.5);margin:auto;}
.oe-checkline{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.oe-checkline input{width:18px;height:18px;}
.oe-checkline label{font-size:14px;color:var(--ink2);}

/* Admin course editor: two columns on desktop, stacked on mobile */
.oe-splitgrid{display:grid;gap:16px;grid-template-columns:minmax(220px,300px) 1fr;align-items:start;}

/* ---- Mobile ---- */
@media (max-width:760px){
  .oe-splitgrid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  /* Top bar: let the logo sit on its own row and the nav scroll horizontally instead of clipping */
  .oe-topbar .in{height:auto;flex-wrap:wrap;padding:10px 16px;gap:8px 12px;}
  .oe-topnav{width:100%;gap:16px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding-bottom:2px;}
  .oe-topnav::-webkit-scrollbar{height:0;}
  .oe-topnav a,.oe-topnav button{flex:0 0 auto;font-size:13.5px;}
  .oe-wrap,.oe-narrow{padding:0 16px;}
  .oe-page{padding:20px 0 48px;}
  .oe-card{padding:20px;}
  .oe-h1{font-size:clamp(1.5rem,7vw,2rem);}
  .oe-modal{padding:22px;}
}
