/* GenFEAx Licensing Portal - lightweight theme (UI refresh)
   - Fixes small-button overflow (dashboard App Keys)
   - Adds a guided plan chooser + nicer pricing cards
*/
:root{
  --fg:#0b1220;
  --muted:#5b6575;
  --border:#d9dee7;
  --bg:#fbfcfe;
  --bg2:#f2f5f9;
  --err:#b00020;
  --ok:#0a7a2f;

  --primary:#0b5cff;
  --primary-dark:#0647c7;
  --shadow:0 6px 18px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--fg);
  background:var(--bg);
}
a{color:inherit}
.container{max-width:1024px;margin:0 auto;padding:16px}

/* Top bar */
.topbar{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand{display:flex;gap:10px;align-items:baseline;font-weight:800}
.brand a{text-decoration:none}
.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav a{text-decoration:none;padding:6px 10px;border-radius:8px}
.nav a:hover{background:var(--bg2)}

/* Typography */
h1,h2,h3{margin:0 0 10px}
p{margin:0 0 12px}
label{display:block;font-weight:700;margin:10px 0 6px}
.small{font-size:12px}
.muted{color:var(--muted);font-weight:400}

/* Inputs */
input,select,textarea{
  width:100%;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:14px;
  background:#fff;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(11,92,255,.18);
  border-color:rgba(11,92,255,.55);
}

/* Buttons */
button{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--primary);
  border-radius:10px;
  font-size:14px;
  cursor:pointer;
  font-weight:800;
  background:var(--primary);
  color:#fff;
}
button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
button:disabled{opacity:.6;cursor:not-allowed}

/* Layout helpers */
.row{display:flex;gap:12px}
.row>*{flex:1}

/* Cards + grids */
.card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}

/* Alerts */
.alert{padding:10px 12px;border-radius:10px;margin:12px 0;border:1px solid var(--border)}
.alert-error{border-color:#f3b3bc;background:#fff1f3;color:var(--err)}
.alert-success{border-color:#bfe8c9;background:#f1fff5;color:var(--ok)}

/* Badges */
.badge{
  display:inline-block;
  padding:2px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:12px;
  background:var(--bg2);
}
.badge.primary{border-color:rgba(11,92,255,.35);background:rgba(11,92,255,.08)}
.badge.good{border-color:rgba(10,122,47,.35);background:rgba(10,122,47,.07)}
.badge.warn{border-color:rgba(176,0,32,.25);background:rgba(176,0,32,.06)}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{
  border-bottom:1px solid var(--border);
  text-align:left;
  padding:10px;
  vertical-align:top;
}
.table th{white-space:nowrap}
.table code{white-space:nowrap}

/* Action rows */
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.actions form{margin:0}
.actions a,.actions button{width:auto}

/* Small inline action buttons */
.btn-small{
  width:auto;
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--bg2);
  color:var(--fg);
  font-weight:800;
}
.btn-small:hover{border-color:rgba(11,92,255,.55);background:#fff}

/* Footer */
.footer{border-top:1px solid var(--border);background:#fff;margin-top:28px}
.footer .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}

/* Pricing page */
.hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #fff, var(--bg2));
  box-shadow:var(--shadow);
  margin-bottom:16px;
}
.hero h2{margin:0 0 6px}
.hero .hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.choice-card{
  text-align:left;
  border:1px solid var(--border);
  background:#fff;
  border-radius:14px;
  padding:14px;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.choice-card:hover{border-color:rgba(11,92,255,.55)}
.choice-card.active{border-color:var(--primary);outline:2px solid rgba(11,92,255,.18)}
.choice-card .title{font-weight:900;font-size:16px;margin-bottom:4px}
.choice-card .desc{color:var(--muted);font-size:13px;margin:0}

.chooser-detail{margin-top:14px}

.segment{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--bg2);
}
.segment button{
  width:auto;
  border:1px solid transparent;
  background:transparent;
  color:var(--fg);
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
}
.segment button.active{
  background:#fff;
  border-color:var(--border);
  box-shadow:var(--shadow);
}

.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:14px}
.plan-card{position:relative}
.plan-card .plan-top{padding-right:170px}
.plan-card .plan-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.plan-card .plan-name{font-size:18px;font-weight:900;margin:0 0 4px}
.plan-card .plan-price{font-size:28px;font-weight:950;margin:0}
.plan-card .plan-price .per{font-size:13px;color:var(--muted);font-weight:700;margin-left:6px}
.plan-card .plan-total{flex:0 0 100%;margin-top:0;margin-bottom:8px;color:var(--muted);font-size:12px}
.plan-card .plan-meta{font-size:12px;color:var(--muted);margin-top:2px}
.plan-features{list-style:none;padding-left:0;margin:12px 0 0}
.plan-features li{display:flex;gap:8px;align-items:flex-start;margin:8px 0;color:var(--fg)}
.plan-features li:before{content:"✓";color:var(--ok);font-weight:900}
.plan-card .plan-actions{margin-top:14px}

.plan-card .plan-actions{width:100%}
.plan-card .plan-actions form{flex:1;width:100%}
.plan-card .plan-actions button{width:100%}

.plan-highlight{
  border-color:rgba(11,92,255,.55);
  box-shadow:0 10px 26px rgba(11,92,255,.10);
}
.plan-tag{position:absolute;top:12px;right:12px}

/* reCAPTCHA */
.recaptcha-wrap{overflow-x:auto;max-width:100%}

@media (max-width: 460px) {
  .plan-card .plan-top{padding-right:0}
  .plan-tag{position:static;margin-bottom:8px}
}

.hidden{display:none !important}
