/*
 * YPM Public UI
 * Visual refresh: solid, high-contrast, “Tailwind UI” inspired (no neon, no glass).
 * NOTE: Only styles changed. No logic, DB, or module structure changes.
 */

:root{
  /* Light (default) */
  --ypm-bg:#f8fafc;              /* slate-50 */
  --ypm-card:#ffffff;            /* white */
  --ypm-card2:#ffffff;
  --ypm-border:#e5e7eb;          /* gray-200 */
  --ypm-border-2:#cbd5e1;        /* slate-300 */
  --ypm-text:#0f172a;            /* slate-900 */
  --ypm-muted:#64748b;           /* slate-500 */
  --ypm-accent:#16a34a;          /* green-600 */
  --ypm-accent-600:#15803d;      /* green-700 */
  --ypm-warn:#b45309;            /* amber-700 */
  --ypm-danger:#b91c1c;          /* red-700 */
  --ypm-shadow: 0 10px 25px rgba(15,23,42,.08);
  --ypm-shadow-sm: 0 6px 14px rgba(15,23,42,.06);
  --ypm-radius: 16px;
  --ypm-radius-sm: 14px;
  --ypm-focus: 0 0 0 4px rgba(22,163,74,.18);
}

/* Optional: solid dark mode (still no glass) */
@media (prefers-color-scheme: dark){
  :root{
    --ypm-bg:#0b1220;
    --ypm-card:#111827;          /* gray-900 */
    --ypm-card2:#0f172a;         /* slate-900 */
    --ypm-border:rgba(148,163,184,.22);
    --ypm-border-2:rgba(148,163,184,.32);
    --ypm-text:#e5e7eb;
    --ypm-muted:#94a3b8;
    --ypm-shadow: 0 18px 42px rgba(0,0,0,.35);
    --ypm-shadow-sm: 0 10px 24px rgba(0,0,0,.28);
    --ypm-focus: 0 0 0 4px rgba(22,163,74,.22);
  }
}

/* Base scope (avoid theme conflicts) */
.ypm-dashboard,
.ypm-checkout,
.ypm-plans{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--ypm-text);
  line-height: 1.45;
}

.ypm-dashboard *, .ypm-checkout *, .ypm-plans *{ box-sizing: border-box; }

/* Headings (force readable colors regardless of theme) */
.ypm-h2{margin:0 0 6px 0;font-size:22px;line-height:1.2;color:var(--ypm-text)}
.ypm-h3{margin:0 0 10px 0;font-size:16px;color:var(--ypm-text)}
.ypm-card__title{margin:0;font-size:18px;color:var(--ypm-text)}

.ypm-muted{color:var(--ypm-muted)}
.ypm-small{font-size:12px}

/* Surfaces */
.ypm-card, .ypm-lock, .ypm-checkout__panel, .ypm-checkout__side .ypm-card{
  background: var(--ypm-card);
  border: 1px solid var(--ypm-border);
  border-radius: var(--ypm-radius);
  box-shadow: var(--ypm-shadow);
}
.ypm-card{padding:16px}
.ypm-card--hero{padding:16px}
.ypm-card--soft{
  padding:16px;
  background: var(--ypm-bg);
  border-color: var(--ypm-border);
  box-shadow: var(--ypm-shadow-sm);
}

.ypm-empty{padding:18px;border:1px dashed var(--ypm-border-2);border-radius:var(--ypm-radius-sm);color:var(--ypm-muted);background:var(--ypm-bg)}

/* Buttons */
.ypm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 14px;border-radius:14px;text-decoration:none;
  background: var(--ypm-accent);
  color:#ffffff;font-weight:800;border:1px solid transparent;cursor:pointer;
  box-shadow: 0 8px 18px rgba(22,163,74,.18);
}
.ypm-btn:hover{background: var(--ypm-accent-600)}
.ypm-btn:focus{outline:none;box-shadow: var(--ypm-focus)}
.ypm-btn--ghost{
  background: transparent;
  color: var(--ypm-text);
  border:1px solid var(--ypm-border-2);
  box-shadow: none;
}
.ypm-btn--ghost:hover{border-color: var(--ypm-accent); background: rgba(22,163,74,.06)}
.ypm-btn--wide{width:100%;margin-top:14px}

/* Notices */
.ypm-notice{padding:12px 14px;border-radius:14px;margin:0 0 12px 0;border:1px solid var(--ypm-border);background:var(--ypm-bg)}
.ypm-notice--ok{border-color: rgba(22,163,74,.25); background: rgba(22,163,74,.08)}

/* Plans */
.ypm-plans{
  display:grid;grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;align-items:stretch;
}
.ypm-card__head{display:flex;flex-direction:column;gap:6px}
.ypm-card__price{font-size:24px;font-weight:900;color:var(--ypm-text)}
.ypm-card__meta{color:var(--ypm-muted);font-size:13px}
.ypm-card__desc{margin-top:8px}
.ypm-features{margin:12px 0 0 0;padding-left:18px;color:var(--ypm-text)}
.ypm-features li{margin:6px 0}
.ypm-card__actions{margin-top:14px}

/* Checkout */
.ypm-checkout{padding:0;margin:0}
.ypm-checkout__grid{display:grid;grid-template-columns: 1.2fr .8fr;gap:14px}
@media (max-width: 920px){.ypm-checkout__grid{grid-template-columns: 1fr}}
.ypm-checkout__panel{padding:16px}
.ypm-checkout__side .ypm-card{padding:16px}

.ypm-form{display:flex;flex-direction:column;gap:10px}
.ypm-label{font-weight:800;font-size:13px;color:var(--ypm-muted)}
.ypm-input{
  width:100%;padding:12px 12px;border-radius:14px;
  border:1px solid var(--ypm-border-2);
  background: #ffffff;
  color: var(--ypm-text);
  outline:none;
}
@media (prefers-color-scheme: dark){
  .ypm-input{background: rgba(255,255,255,.04)}
}
.ypm-input:focus{border-color: rgba(22,163,74,.65); box-shadow: var(--ypm-focus)}

.ypm-row{display:grid;grid-template-columns: 1fr 1fr;gap:10px}
@media (max-width: 620px){.ypm-row{grid-template-columns:1fr}}
.ypm-sep{height:1px;background: var(--ypm-border);margin:6px 0}

.ypm-userchip{
  display:flex;gap:10px;align-items:center;padding:12px;
  border:1px solid var(--ypm-border);
  border-radius:14px;
  background: var(--ypm-bg);
}
.ypm-userchip__dot{width:10px;height:10px;background: var(--ypm-accent);border-radius:50%;display:inline-block}
.ypm-userchip__name{font-weight:900;color:var(--ypm-text)}
.ypm-userchip__email{color:var(--ypm-muted);font-size:12px}

.ypm-paymethods{display:flex;gap:10px;flex-wrap:wrap}
.ypm-radio{
  display:flex;gap:8px;align-items:center;padding:10px 12px;
  border:1px solid var(--ypm-border);
  border-radius:14px;
  background: var(--ypm-card);
  cursor:pointer;
}
.ypm-radio input{accent-color: var(--ypm-accent)}
.ypm-paybox{display:grid;gap:12px}
.ypm-paybox__item{padding:12px;border:1px solid var(--ypm-border);border-radius:14px;background: var(--ypm-bg)}
.ypm-paybox__title{font-weight:900;font-size:14px;color:var(--ypm-text)}
.ypm-paybox__meta{color:var(--ypm-muted);font-size:12px;margin-top:4px}
.ypm-qr{margin-top:10px;border-radius:14px;border:1px solid var(--ypm-border);width:100%;max-width:280px;height:auto}

.ypm-steps{display:grid;gap:10px;margin-top:14px}
.ypm-step{display:flex;gap:10px;align-items:flex-start}
.ypm-step span{
  width:26px;height:26px;border-radius:9px;
  background: rgba(22,163,74,.12);
  border:1px solid rgba(22,163,74,.25);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color: var(--ypm-text);
}

/* Dashboard layout */
.ypm-dashboard{padding:0}
.ypm-grid{display:grid;grid-template-columns: 1.1fr .9fr;gap:14px}
@media (max-width: 920px){.ypm-grid{grid-template-columns:1fr}}

.ypm-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
@media (max-width: 620px){.ypm-hero{flex-direction:column;align-items:stretch}}

.ypm-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  font-weight:900;font-size:12px;margin-bottom:10px;
  border:1px solid var(--ypm-border);
  background: var(--ypm-bg);
  color: var(--ypm-text);
}
.ypm-badge--ok{background: rgba(22,163,74,.10);border-color: rgba(22,163,74,.25)}
.ypm-badge--warn{background: rgba(180,83,9,.10);border-color: rgba(180,83,9,.25)}

.ypm-submeta{display:grid;grid-template-columns: repeat(3, 1fr);gap:10px;margin-top:12px}
@media (max-width: 620px){.ypm-submeta{grid-template-columns:1fr}}
.ypm-stat{padding:12px;border:1px solid var(--ypm-border);border-radius:14px;background: var(--ypm-bg)}
.ypm-stat__k{color:var(--ypm-muted);font-size:12px;font-weight:800}
.ypm-stat__v{font-size:14px;font-weight:900;margin-top:3px;color:var(--ypm-text)}

.ypm-quick{display:grid;gap:10px}
.ypm-quick__item{
  display:flex;gap:10px;align-items:center;
  text-decoration:none;color:var(--ypm-text);
  padding:12px;
  border:1px solid var(--ypm-border);
  border-radius:14px;
  background: var(--ypm-card);
  box-shadow: var(--ypm-shadow-sm);
}
.ypm-quick__item:hover{border-color: var(--ypm-border-2)}
.ypm-quick__item span{font-size:18px}

/* Tabs */
.ypm-tabs{margin-top:14px}
.ypm-tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ypm-tab{
  background: var(--ypm-card);
  border:1px solid var(--ypm-border);
  border-radius:999px;
  padding:10px 12px;
  color:var(--ypm-text);
  font-weight:900;cursor:pointer;
}
.ypm-tab:hover{border-color: var(--ypm-border-2)}
.ypm-tab.is-active{background: rgba(22,163,74,.10);border-color: rgba(22,163,74,.25)}
.ypm-tabpanel{display:none}
.ypm-tabpanel.is-active{display:block}

/* Lists */
.ypm-list{display:grid;gap:10px;margin-top:10px}
.ypm-list__item{
  display:grid;grid-template-columns: 1fr auto;
  gap:10px;align-items:center;
  text-decoration:none;color:var(--ypm-text);
  padding:12px;
  border:1px solid var(--ypm-border);
  border-radius:14px;
  background: var(--ypm-card);
  box-shadow: var(--ypm-shadow-sm);
}
.ypm-list__item:hover{border-color: var(--ypm-border-2)}
.ypm-list__title{font-weight:900}
.ypm-list__meta{grid-column:1 / span 1;color:var(--ypm-muted);font-size:12px;margin-top:2px}
.ypm-list__badge{font-size:18px}
.ypm-list__item.is-locked{opacity:.78}

/* Orders table */
.ypm-table{display:grid;gap:8px;margin-top:10px}
.ypm-tr{
  display:grid;grid-template-columns: 1fr 1fr .6fr .7fr;
  gap:10px;align-items:center;
  padding:10px 12px;
  border:1px solid var(--ypm-border);
  border-radius:14px;
  background: var(--ypm-card);
  box-shadow: var(--ypm-shadow-sm);
}
@media (max-width: 720px){.ypm-tr{grid-template-columns:1fr 1fr;}.ypm-th{display:none}}
.ypm-th{font-weight:900;background: var(--ypm-bg)}

.ypm-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid var(--ypm-border);font-weight:900;font-size:12px;color: var(--ypm-text);background: var(--ypm-bg)}
.ypm-pill--pending{background: rgba(180,83,9,.10);border-color: rgba(180,83,9,.25)}
.ypm-pill--approved{background: rgba(22,163,74,.10);border-color: rgba(22,163,74,.25)}
.ypm-pill--rejected{background: rgba(185,28,28,.10);border-color: rgba(185,28,28,.25)}

/* Profile */
.ypm-profile{display:flex;gap:12px;align-items:center}
.ypm-avatar{
  width:48px;height:48px;border-radius:16px;
  background: rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.25);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:20px;color: var(--ypm-text);
}
.ypm-profile__name{font-weight:900;font-size:16px;color: var(--ypm-text)}

.ypm-inline-lock{margin:12px 0;padding:10px 12px;border-radius:14px;border:1px solid var(--ypm-border);background: var(--ypm-bg);color: var(--ypm-muted)}
.ypm-lock{padding:16px;display:flex;gap:12px;align-items:flex-start}
.ypm-lock__icon{font-size:22px}
.ypm-lock__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
