/* Potent Books student dashboard. Everything is scoped under .sppay-app so it never touches the theme. */
.sppay-app{--g-900:#0b4a2b;--g-800:#0f6b3f;--g-600:#1f8a54;--g-300:#5dbb8d;--g-100:#e4f2ea;--ink:#12201a;--muted:#6b7a72;--line:#e6ece8;--bg:#f1f4f2;
	color:var(--ink);font-size:15px;line-height:1.45;margin:20px 0;container-type:inline-size;container-name:sppay;box-sizing:border-box}
.sppay-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;background:var(--bg);border-radius:28px;padding:16px;box-sizing:border-box;box-shadow:0 20px 50px rgba(15,60,38,.10)}
.sppay-app *{box-sizing:border-box}
.sppay-app a{text-decoration:none}
.sppay-fullpage .sppay-app{width:min(1440px,calc(100vw - 32px))!important;max-width:none!important;margin-left:0!important;margin-right:0!important;position:relative;left:50%;transform:translateX(-50%)}
body.sppay-fullpage{overflow-x:hidden}
/* Bare full-screen template: the app fills the page by itself */
body.sppay-standalone{margin:0;background:#e9efeb;min-height:100vh}
body.sppay-standalone .sppay-app{width:auto!important;max-width:1480px!important;margin:0 auto!important;left:auto!important;transform:none!important;padding:16px}
body.sppay-standalone .sppay-shell{min-height:calc(100vh - 32px)}
.sppay-brand{color:var(--ink)}
body.sppay-dash-page .entry-title,body.sppay-dash-page .wp-block-post-title,body.sppay-dash-page .page-title,body.sppay-dash-page h1.entry-title{display:none}

/* Sidebar */
.sppay-side{background:#fff;border-radius:22px;padding:20px 14px;display:flex;flex-direction:column;gap:6px;min-height:640px}
.sppay-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;font-weight:700;font-size:19px;color:var(--ink)}
.sppay-navlabel{margin:14px 10px 6px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sppay-nav{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#5b6a62;font-weight:500;position:relative}
.sppay-nav:hover{background:var(--g-100);color:var(--g-900)}
.sppay-nav.is-active{color:var(--ink);font-weight:700}
.sppay-nav.is-active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:5px;border-radius:0 6px 6px 0;background:var(--g-800)}
.sppay-nav.is-active .sppay-ico{color:var(--g-800)}
.sppay-nav em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;background:var(--g-900);color:#fff;border-radius:8px;padding:2px 7px}
.sppay-nav em.sppay-warn{background:#c47f00}
.sppay-promo{margin-top:auto;border-radius:18px;padding:18px;color:#fff;display:flex;flex-direction:column;gap:8px;
	background:radial-gradient(120% 90% at 100% 0%,#1f8a54 0%,#0b4a2b 60%,#06311c 100%)}
.sppay-promo strong{font-size:17px}
.sppay-promo span{font-size:13px;opacity:.85}

/* Main column */
.sppay-main{min-width:0;display:flex;flex-direction:column;gap:16px}
.sppay-top{background:#fff;border-radius:18px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sppay-search{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:999px;padding:0 16px;flex:0 1 380px;color:var(--muted)}
.sppay-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0;padding:12px 0!important;width:100%;font-size:15px;color:var(--ink);margin:0!important}
.sppay-user{display:flex;align-items:center;gap:12px}
.sppay-avatar{width:44px;height:44px;border-radius:50%;background:var(--g-100);color:var(--g-900);display:grid;place-items:center;font-weight:700}
.sppay-user-text{display:flex;flex-direction:column;line-height:1.25}
.sppay-user-text small{color:var(--muted)}
.sppay-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:6px 4px 0}
.sppay-h1{margin:0!important;font-size:34px!important;line-height:1.15!important;font-weight:700!important;color:var(--ink)}
.sppay-sub{margin:6px 0 0!important;color:var(--muted)}
.sppay-head-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Buttons */
.sppay-app .sppay-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;margin:0;font-weight:600;font-size:15px;border:1.5px solid transparent;cursor:pointer;color:#fff!important;background:var(--g-800);line-height:1.2}
.sppay-app .sppay-btn .sppay-ico{width:18px;height:18px}
.sppay-app .sppay-btn:hover{background:var(--g-900)}
.sppay-app .sppay-btn-dark{background:linear-gradient(135deg,#0f6b3f,#0b4a2b)}
.sppay-app .sppay-btn-line{background:#fff;color:var(--g-900)!important;border-color:var(--g-800)}
.sppay-app .sppay-btn-line:hover{background:var(--g-100)}
.sppay-app .sppay-btn-green{background:var(--g-800)}
.sppay-app .sppay-btn-light{background:#fff;color:var(--g-900)!important}
.sppay-app .sppay-btn-light:hover{background:var(--g-100)}
.sppay-app .sppay-wide{width:100%}

/* Cards and grid */
.sppay-dgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sppay-dcard{background:#fff;border-radius:20px;padding:20px;min-width:0}
.sppay-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.sppay-card-top h3{min-width:0;margin:0!important;font-size:17px!important;font-weight:600!important;color:inherit}
.sppay-card-top small{color:var(--muted)}
.sppay-chip{border:1px solid var(--g-800);color:var(--g-900);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.sppay-chip:hover{background:var(--g-100)}
.sppay-muted{color:var(--muted);margin:0 0 14px}

.sppay-stat .sppay-arrow{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center}
.sppay-stat .sppay-arrow .sppay-ico{width:15px;height:15px}
.sppay-num{font-size:clamp(26px,3.1cqi,40px);font-weight:700;line-height:1.1;margin:12px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sppay-statnote{margin:0;font-size:13px;color:var(--muted)}
.sppay-stat.is-featured{color:#fff;background:radial-gradient(120% 100% at 100% 0%,#1f8a54 0%,#0f6b3f 45%,#0a4527 100%)}
.sppay-stat.is-featured .sppay-arrow{background:#fff;border-color:#fff;color:var(--g-900)}
.sppay-stat.is-featured .sppay-statnote{color:#bfe6d0}

.sppay-activity{grid-column:span 2}
.sppay-access{grid-column:span 1}
.sppay-papers{grid-column:span 1}
.sppay-recent{grid-column:span 2}
.sppay-gauge{grid-column:span 1}
.sppay-dark{grid-column:span 1}

/* Bars */
.sppay-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:190px;padding-top:8px}
.sppay-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;min-width:0}
.sppay-bar-col>span{font-size:12.5px;color:var(--muted)}
.sppay-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;max-width:58px}
.sppay-bar{width:100%;height:max(var(--h),34%);border-radius:999px;background:var(--g-600);transition:height .6s cubic-bezier(.2,.8,.2,1)}
.sppay-bar.is-peak{background:var(--g-900)}
.sppay-bar.is-empty{background:repeating-linear-gradient(135deg,#c9d3cd 0 2px,transparent 2px 7px);height:48%;opacity:.75}
.sppay-bar:not(.is-empty):not(.is-peak){background:var(--g-300)}
.sppay-bar-tip{position:absolute;top:-4px;left:50%;transform:translate(-50%,-100%);background:#fff;border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:700;padding:1px 6px;color:var(--g-900);z-index:1}
.sppay-bar-wrap{margin-top:14px}
.js .sppay-bar{height:0}
.js .sppay-app.is-in .sppay-bar{height:max(var(--h),34%)}
.js .sppay-app.is-in .sppay-bar.is-empty{height:48%}

/* Access card */
.sppay-access-title{font-size:21px;font-weight:700;line-height:1.25;color:var(--g-800);margin:4px 0 6px}
.sppay-access .sppay-muted{margin-bottom:18px}

/* Lists */
.sppay-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.sppay-rows li{display:flex;align-items:center;gap:12px;min-width:0}
.sppay-fileico{width:40px;height:40px;border-radius:12px;background:var(--g-100);color:var(--g-800);display:grid;place-items:center;flex:none}
.sppay-rowtext{display:flex;flex-direction:column;min-width:0;flex:1}
.sppay-rowtext strong{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;overflow-wrap:anywhere}
.sppay-rowtext small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sppay-iconbtn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--g-800);display:grid;place-items:center;color:var(--g-800);flex:none}
.sppay-iconbtn:hover{background:var(--g-800);color:#fff}
.sppay-pill{display:inline-block;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;flex:none}
.sppay-pill-paid{background:#e3f4ea;color:#12713f;border:1px solid #bfe3cd}
.sppay-pill-review,.sppay-pill-pending{background:#fff4d9;color:#8a5a00;border:1px solid #f0d99a}
.sppay-pill-failed{background:#fdeaea;color:#a02525;border:1px solid #f2c1c1}

/* Gauge */
.sppay-gauge-wrap{position:relative;max-width:260px;margin:0 auto}
.sppay-gauge-wrap svg{width:100%;height:auto;display:block}
.sppay-gauge-num{position:absolute;left:0;right:0;bottom:2px;text-align:center;display:flex;flex-direction:column;line-height:1.1}
.sppay-gauge-num strong{font-size:34px}
.sppay-gauge-num span{font-size:12.5px;color:var(--muted)}

/* Dark card */
.sppay-dark{color:#fff;background:radial-gradient(120% 100% at 100% 100%,#1f8a54 0%,#0b4a2b 55%,#06311c 100%)}
.sppay-dark .sppay-card-top h3{color:#fff!important}
.sppay-newlist{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.sppay-newlist a{display:flex;justify-content:space-between;gap:10px;color:#fff;background:rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;font-size:14px}
.sppay-newlist a:hover{background:rgba(255,255,255,.2)}
.sppay-newlist span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;overflow-wrap:anywhere}
.sppay-newlist b{white-space:nowrap}

/* Other views */
.sppay-papergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.sppay-paper{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sppay-paper h4{margin:0!important;font-size:16px!important}
.sppay-paper h4 a{color:var(--ink)}
.sppay-dtag{background:var(--g-100);color:var(--g-900);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}
.sppay-note-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sppay-note-card p{margin:0}
.sppay-dtable-wrap{overflow-x:auto}
.sppay-dtable{width:100%;border-collapse:collapse;font-size:14px}
.sppay-dtable th{color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.sppay-dtable th,.sppay-dtable td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.sppay-profile{max-width:560px}
.sppay-profile label{display:block;font-weight:600;margin:12px 0 4px}
.sppay-profile input{display:block;width:100%;padding:11px 14px;border:1px solid #cfd8d2;border-radius:12px;font-size:16px;margin-top:4px;background:#fff}
.sppay-profile input:disabled{background:var(--bg)}
.sppay-flash{margin:0;border-radius:14px}
.sppay-app .sppay-ok{color:#0a6b35;background:#e3f4ea;padding:12px 16px}
.sppay-app .sppay-error{color:#9b1c1c;background:#fdecec;padding:12px 16px}

/* Narrower than a wide desktop: two columns of cards */
@container sppay (max-width:1180px){
	.sppay-dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.sppay-activity,.sppay-recent{grid-column:span 2}
	.sppay-access,.sppay-papers,.sppay-gauge,.sppay-dark{grid-column:span 1}
}
/* Narrow: the sidebar turns into a scrolling tab bar */
@container sppay (max-width:900px){
	.sppay-shell{grid-template-columns:minmax(0,1fr);padding:10px;border-radius:20px}
	.sppay-side{min-height:0;flex-direction:column;padding:12px}
	.sppay-brand{padding-bottom:8px}
	.sppay-side nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
	.sppay-navlabel{display:none}
	.sppay-nav{flex:none;padding:9px 14px;background:var(--bg);border-radius:999px}
	.sppay-nav.is-active{background:var(--g-800);color:#fff}
	.sppay-nav.is-active .sppay-ico{color:#fff}
	.sppay-nav.is-active::before{display:none}
	.sppay-promo{display:none}
	.sppay-h1{font-size:28px!important}
	.sppay-user-text{display:none}
}
@container sppay (max-width:620px){
	.sppay-dgrid{grid-template-columns:minmax(0,1fr)}
	.sppay-activity,.sppay-recent,.sppay-access,.sppay-papers,.sppay-gauge,.sppay-dark{grid-column:span 1}
	.sppay-head-actions{width:100%}
	.sppay-head-actions .sppay-btn{flex:1}
	.sppay-search{flex:1}
}
@media (max-width:900px){
	.sppay-fullpage .sppay-app{width:calc(100vw - 20px)!important}
}
@media (prefers-reduced-motion:reduce){.sppay-bar{transition:none}}
