/* TMCP Frontend Styles - loaded only when shortcode is used */

.tmcp-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif;}

/* Ensure hidden blocks never leak due to other CSS */
.tmcp-wrap [hidden]{display:none !important;}

.tmcp-login{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:24px;}

.tmcp-login-card{width:100%;max-width:420px;background:radial-gradient(1200px 600px at 50% 0%,#1f2326 0%,#0f1214 55%,#0b0d0f 100%);border-radius:16px;padding:28px 26px;box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06);color:#fff;}

.tmcp-brand{font-weight:800;letter-spacing:1px;text-align:center;font-size:32px;margin-top:6px;}
.tmcp-subbrand{text-align:center;opacity:.85;margin-top:6px;margin-bottom:20px;font-weight:600;}

.tmcp-form{display:flex;flex-direction:column;gap:10px;}
.tmcp-label{font-size:12px;opacity:.8;letter-spacing:.12em;}
.tmcp-input{width:100%;border:0;outline:0;border-radius:10px;padding:14px 14px;background:rgba(255,255,255,.25);color:#fff;font-size:15px;}
.tmcp-input::placeholder{color:rgba(255,255,255,.75)}

.tmcp-btn{border:0;cursor:pointer;border-radius:10px;padding:12px 16px;font-weight:700;letter-spacing:.04em;background:#2f27ff;color:#fff;box-shadow:0 10px 22px rgba(47,39,255,.25);}
.tmcp-btn:hover{filter:brightness(1.05)}
.tmcp-btn:active{transform:translateY(1px)}

.tmcp-msg{min-height:18px;font-size:13px;opacity:.9;margin-top:2px;}

/* Dashboard */
.tmcp-dashboard{padding:18px 14px 26px;}
.tmcp-header{max-width:1200px;margin:10px auto 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.tmcp-title{font-size:clamp(22px,3.4vw,38px);font-weight:800;letter-spacing:.01em;text-align:center;}

.tmcp-refresh-bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.tmcp-btn--small{padding:9px 12px;border-radius:10px;font-size:12px;letter-spacing:.06em;}
.tmcp-countdown{font-size:12px;opacity:.75;}
.tmcp-refresh-note{font-size:12px;opacity:.65;min-height:16px;text-align:center;}

.tmcp-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}

.tmcp-card{background:#fff;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.08);border:1px solid rgba(17,24,39,.06);padding:14px 16px;min-height:150px;position:relative;overflow:hidden;}
.tmcp-card-head{display:flex;justify-content:center;margin-bottom:10px;}
.tmcp-pill{display:inline-block;background:#7c3aed;color:#fff;font-weight:700;font-size:12px;padding:6px 12px;border-radius:999px;letter-spacing:.06em;}

.tmcp-big{display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:800;line-height:1.1;min-height:90px;}

.tmcp-status-row{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:8px;}
.tmcp-circle{width:92px;height:92px;border-radius:999px;border:3px solid #111827;color:#111827;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.03em;}
.tmcp-circle.is-active{border-color:#16a34a;color:#16a34a;animation:tmcpBlink 1s infinite;}
.tmcp-circle.is-end{border-color:#dc2626;color:#dc2626;animation:tmcpBlink 1s infinite;}
.tmcp-circle.is-pause{border-color:#f59e0b;color:#f59e0b;animation:tmcpBlink 1s infinite;}

@keyframes tmcpBlink{0%,49%{box-shadow:0 0 0 rgba(0,0,0,0);opacity:1}50%,100%{box-shadow:0 0 0 12px rgba(0,0,0,0);opacity:.35}}

.tmcp-kv{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.tmcp-kv-row{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:13px;}
.tmcp-kv-row span:first-child{opacity:.8;letter-spacing:.04em;}
.tmcp-announcement{font-weight:600;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;text-align:right;}

.tmcp-footer{max-width:1200px;margin:14px auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.tmcp-btn--ghost{background:#7c3aed;box-shadow:0 10px 20px rgba(124,58,237,.18);}
.tmcp-idle{font-size:12px;opacity:.7;}

/* Grid placement similar to design */
.tmcp-card--enrolled{grid-column:span 6;}
.tmcp-card--status{grid-column:span 6;}
.tmcp-card--reach{grid-column:span 6;}
.tmcp-card--more{grid-column:span 3;}
.tmcp-card--next{grid-column:span 3;}

@media (max-width: 980px){
  .tmcp-card--enrolled,.tmcp-card--status,.tmcp-card--reach{grid-column:span 12;}
  .tmcp-card--more,.tmcp-card--next{grid-column:span 12;}
  .tmcp-big{font-size:54px}
}

@media (max-width: 420px){
  .tmcp-circle{width:84px;height:84px}
}
