/* RPS legal pages — selkeä, dynaaminen portaali-ilme */
:root{
  --lp-ink:#111827;
  --lp-muted:#6b7280;
  --lp-line:#e5e7eb;
  --lp-bg:#f3f4f6;
  --lp-card:#fff;
  --lp-radius:16px;
  --lp-radius-sm:12px;
  --lp-shadow:0 4px 18px rgba(17,24,39,.07);
  --lp-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; }

body.lp-page{
  margin:0;
  font-family:var(--lp-font);
  color:var(--lp-ink);
  line-height:1.55;
  min-height:100vh;
  background:var(--lp-bg);
}

.lp-bg{ display:none; }

.lp-header{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; gap:10px;
  min-height:56px; padding:8px 12px;
  background:linear-gradient(90deg,var(--blue-header,#1d4ed8),var(--blue2,#2563eb));
  color:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
}
.lp-back{
  appearance:none; border:1px solid rgba(255,255,255,.35);
  background:#fff; color:#1e40af;
  font-weight:900; font-size:13px;
  padding:9px 14px; border-radius:12px; cursor:pointer;
}
.lp-back:active{ transform:scale(.98); }
.lp-header-title{
  flex:1; text-align:center;
  font-weight:900; font-size:17px;
}
.lp-header-action{
  appearance:none; border:0;
  background:#fff; color:#1d4ed8;
  font-weight:900; font-size:13px;
  padding:9px 14px; border-radius:12px; cursor:pointer;
  display:none;
}
.lp-header-action.show{ display:inline-flex; }

.lp-hero{
  background:linear-gradient(180deg,#dbeafe 0%,var(--lp-bg) 100%);
  border-bottom:1px solid var(--lp-line);
  padding:clamp(14px,4vw,20px) clamp(10px,3vw,14px) clamp(14px,3vw,18px);
}
.lp-hero-inner{ max-width:900px; margin:0 auto; }
.lp-hero-glass{
  background:transparent; border:0; box-shadow:none; padding:0;
  backdrop-filter:none;
}
.lp-kicker{
  margin:0 0 8px;
  font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
  color:#1d4ed8;
}
.lp-hero h1{
  margin:0 0 8px;
  font-size:clamp(24px,5vw,32px); font-weight:900; line-height:1.15;
  color:var(--lp-ink);
}
.lp-hero h1 .lp-grad-text{ color:#1d4ed8; }
.lp-hero p{
  margin:0; max-width:62ch;
  font-size:15px; color:var(--lp-muted);
}
.lp-hero-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.lp-chip{
  font-size:12px; font-weight:800;
  padding:7px 11px; border-radius:999px;
  background:#fff; color:#374151;
  border:1px solid var(--lp-line);
}

.lp-main{
  max-width:900px; margin:0 auto;
  padding:clamp(12px,3vw,14px) clamp(10px,3vw,12px) clamp(28px,6vw,40px);
}

.lp-card{
  background:var(--lp-card);
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:18px 16px;
  margin-bottom:14px;
  box-shadow:var(--lp-shadow);
}
.lp-card h2{ margin:0 0 10px; font-size:18px; font-weight:900; }
.lp-card h3{
  margin:18px 0 8px; font-size:15px; font-weight:900; color:#1f2937;
  padding-left:10px; border-left:4px solid var(--blue2,#2563eb);
}
.lp-card p,.lp-card li{ font-size:14px; color:#374151; }
.lp-card ul{ margin:8px 0 0; padding-left:1.2em; }
.lp-card li{ margin:6px 0; }
.lp-muted{ color:var(--lp-muted); font-size:13px; }
.lp-card code{
  font-size:12px; padding:2px 6px; border-radius:6px;
  background:#f3f4f6; color:#1f2937;
}
.lp-tenant-bar{
  margin:0 0 14px; padding:10px 12px;
  background:#eff6ff; border:1px solid #bfdbfe;
  border-radius:var(--lp-radius-sm);
  font-size:13px; font-weight:800; color:#1e40af;
}

.lp-tabs{
  display:flex; gap:8px; overflow-x:auto; padding-bottom:12px;
  scrollbar-width:none;
}
.lp-tabs::-webkit-scrollbar{ display:none; }
.lp-tab{
  flex:0 0 auto;
  appearance:none; border:1px solid var(--lp-line);
  background:#fff; color:#4b5563;
  font-weight:800; font-size:13px;
  padding:10px 14px; border-radius:999px; cursor:pointer;
  white-space:nowrap;
}
.lp-tab.active{
  background:linear-gradient(90deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
  color:#fff; border-color:transparent;
  box-shadow:0 4px 12px rgba(37,99,235,.25);
}

.lp-badges{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px; }
.lp-badge{
  font-size:12px; font-weight:800;
  padding:8px 12px; border-radius:var(--lp-radius-sm);
  background:#f9fafb; border:1px solid var(--lp-line);
}
.lp-badge.green{ background:#ecfdf5; border-color:#a7f3d0; color:#047857; }
.lp-badge.blue{ background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.lp-badge.amber{ background:#fffbeb; border-color:#fde68a; color:#b45309; }

.lp-app-pane{ display:none; }
.lp-app-pane.active{ display:block; }

.lp-toc{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:8px; margin:10px 0 0; padding:0; list-style:none;
}
.lp-toc li{ margin:0; }
.lp-toc a{
  display:block; padding:10px 12px;
  font-size:13px; font-weight:800; color:#374151;
  text-decoration:none; border-radius:var(--lp-radius-sm);
  background:#f9fafb; border:1px solid var(--lp-line);
}
.lp-toc a:hover{ background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }

.lp-sec-head{ display:flex; align-items:flex-start; gap:12px; margin-bottom:6px; }
.lp-sec-num{
  flex-shrink:0; width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:900; color:#fff;
  border-radius:10px;
  background:linear-gradient(135deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
}
.lp-sec-head h2{ margin:2px 0 0; flex:1; font-size:17px; }

.lp-company-box{
  margin-top:10px; padding:12px 14px;
  background:#f9fafb; border:1px solid var(--lp-line);
  border-radius:var(--lp-radius-sm); font-size:14px;
}

.lp-tool{
  margin-top:14px; padding:14px 16px;
  border-radius:var(--lp-radius-sm);
  background:#f0f9ff; border:1px solid #bae6fd;
}
.lp-tool p{ margin:0 0 12px; }
.lp-cta{
  display:inline-flex; align-items:center; gap:6px;
  padding:12px 16px; border-radius:12px;
  font-weight:900; font-size:14px; color:#fff; text-decoration:none;
  background:linear-gradient(90deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
  box-shadow:0 4px 14px rgba(37,99,235,.25);
}

.lp-label{
  display:block; font-weight:900; font-size:13px;
  margin:12px 0 6px; color:#374151;
}
.lp-input,.lp-select{
  width:100%; padding:12px 14px;
  border:1px solid var(--lp-line); border-radius:var(--lp-radius-sm);
  font-size:16px; background:#fff;
}
.lp-input:focus,.lp-select:focus{
  outline:none; border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(59,130,246,.15);
}
.lp-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.lp-btn{
  appearance:none; border:0; border-radius:12px;
  padding:12px 16px; font-weight:900; font-size:14px; cursor:pointer;
}
.lp-btn.primary{
  background:linear-gradient(90deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
  color:#fff;
}
.lp-btn.secondary{ background:#fff; color:#374151; border:1px solid var(--lp-line); }
.lp-btn:disabled{ opacity:.5; cursor:not-allowed; }
.lp-msg{ margin-top:10px; font-size:14px; font-weight:800; color:#b91c1c; }
.lp-msg.ok{ color:#047857; }
.lp-stats{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.lp-stat{
  font-size:12px; font-weight:900;
  padding:7px 11px; border-radius:999px;
  background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe;
}

.lp-footer{
  text-align:center; padding:16px 0 8px;
  font-size:13px; font-weight:800;
}
.lp-footer a{ color:#2563eb; text-decoration:none; }
.lp-updated{
  font-size:12px; color:var(--lp-muted);
  margin-top:14px; padding-top:12px; border-top:1px solid var(--lp-line);
}
.lp-updated a{ color:#2563eb; font-weight:800; }

.lp-report{ font-size:13px; color:#1f2937; }
.lp-report h1{ font-size:20px; margin:0 0 6px; font-weight:900; }
.lp-report .meta{ color:var(--lp-muted); font-size:12px; margin-bottom:16px; line-height:1.55; }
.lp-report h3{
  margin:18px 0 8px; font-size:14px; font-weight:900;
  border-bottom:1px solid var(--lp-line); padding-bottom:4px; color:#1d4ed8;
}
.lp-report table{ width:100%; border-collapse:collapse; font-size:12px; margin:8px 0 12px; }
.lp-report th,.lp-report td{
  border:1px solid var(--lp-line); padding:7px 9px; text-align:left; vertical-align:top;
}
.lp-report th{ background:#f9fafb; font-weight:900; }
.lp-report pre{
  margin:0; padding:10px; background:#f9fafb;
  border:1px solid var(--lp-line); border-radius:8px;
  font-size:11px; white-space:pre-wrap; word-break:break-word;
}
.lp-empty{ color:var(--lp-muted); font-style:italic; }

#lp-preview{ display:none; }
#lp-preview.show{ display:block; }

.lp-price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%, 240px),1fr));
  gap:clamp(10px,2.5vw,14px);
}
.lp-price-card{
  position:relative;
  background:var(--lp-card);
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:18px 16px;
  box-shadow:var(--lp-shadow);
}
.lp-price-card.featured{
  border-color:#93c5fd;
  background:linear-gradient(180deg,#eff6ff 0%,#fff 100%);
  box-shadow:0 8px 24px rgba(37,99,235,.12);
}
.lp-price-card h3{ margin:0 0 4px; font-size:17px; font-weight:900; }
.lp-price-tagline{ margin:0 0 12px; font-size:13px; color:var(--lp-muted); min-height:2.6em; }
.lp-price-amount{ font-size:clamp(22px,5.5vw,28px); font-weight:900; color:#1d4ed8; line-height:1.1; }
.lp-price-alt{ font-size:13px; color:var(--lp-muted); margin-top:4px; }
.lp-price-save{
  margin-top:10px; font-size:12px; font-weight:900; color:#047857;
  padding:6px 10px; border-radius:999px; background:#ecfdf5; display:inline-block;
}
.lp-price-badge{
  position:absolute; top:12px; right:12px;
  font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em;
  padding:5px 8px; border-radius:999px; background:#1d4ed8; color:#fff;
}
.lp-price-features{
  margin:14px 0 0; padding-left:1.1em; font-size:13px; color:#374151;
}
.lp-price-features li{ margin:5px 0; }

.lp-calc-modules{ display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.lp-calc-check{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border:1px solid var(--lp-line); border-radius:var(--lp-radius-sm);
  background:#f9fafb; font-size:14px; font-weight:700; cursor:pointer;
}
.lp-calc-check input{ width:18px; height:18px; accent-color:#2563eb; }
.lp-calc-result{
  margin-top:16px; padding:14px 16px;
  border-radius:var(--lp-radius-sm); background:#f0f9ff; border:1px solid #bae6fd;
}
.lp-calc-row{
  display:flex; justify-content:space-between; gap:12px;
  font-size:14px; padding:6px 0; border-bottom:1px dashed #dbeafe;
}
.lp-calc-row:last-child{ border-bottom:0; }
.lp-calc-total{ font-size:16px; font-weight:900; color:#1d4ed8; padding-top:10px; }
.lp-cta-lite{
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; padding:12px 16px; border-radius:12px;
}

.lp-form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:10px 12px; margin-top:12px;
}
.lp-form-grid label{ font-size:12px; font-weight:900; color:#374151; }
.lp-form-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.lp-val-result{
  margin-top:14px; padding:12px 14px;
  border-radius:var(--lp-radius-sm); background:#f9fafb; border:1px solid var(--lp-line);
  font-size:15px;
}
.lp-val-total{
  margin-top:14px; padding:16px;
  border-radius:var(--lp-radius);
  background:linear-gradient(135deg,#eff6ff,#ecfdf5);
  border:1px solid #93c5fd; text-align:center;
}
.lp-val-total strong{ display:block; font-size:32px; font-weight:900; color:#1d4ed8; margin-top:6px; }
.lp-val-total-label{ font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; color:#64748b; }

.lp-promo-banner{
  margin:0 0 14px; padding:12px 14px;
  border-radius:var(--lp-radius-sm);
  background:linear-gradient(135deg,#ecfdf5,#eff6ff);
  border:1px solid #86efac;
  font-size:14px; font-weight:800; color:#047857;
}
.lp-promo-banner strong{ color:#1d4ed8; }
.lp-price-stack{ display:grid; gap:6px; margin-bottom:6px; }
.lp-price-stack--promo{ gap:8px; margin:4px 0 8px; }
.lp-price-ovh-row{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px;
}
.lp-price-ovh-tag{
  font-size:11px; font-weight:900; letter-spacing:.06em;
  text-transform:uppercase; color:#64748b;
}
.lp-price-old{
  font-size:clamp(16px,4vw,20px);
  font-weight:900; color:#64748b;
  text-decoration:line-through;
}
.lp-price-sale-label{
  font-size:11px; font-weight:900; letter-spacing:.06em;
  text-transform:uppercase; color:#047857;
}
.lp-price-sale{
  color:#047857 !important;
  font-size:clamp(28px,7vw,36px) !important;
  line-height:1.05 !important;
}
.lp-price-sale-inline{ color:#047857; font-weight:900; }
.lp-price-off-badge{
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:900; letter-spacing:.04em;
  text-transform:uppercase;
  padding:5px 9px; border-radius:999px;
  background:#dcfce7; color:#166534; border:1px solid #86efac;
  width:fit-content;
}
.lp-tab.promo-tab{
  background:linear-gradient(90deg,#ecfdf5,#eff6ff);
  border-color:#86efac; color:#166534;
}
.lp-tab.promo-tab.active{
  background:linear-gradient(90deg,#22c55e,#16a34a);
  color:#fff; border-color:transparent;
}
.lp-price-legend{
  display:grid; gap:8px; margin:0 0 16px; padding:12px 14px;
  border-radius:14px; border:1px solid #bfdbfe; background:#eff6ff;
  font-size:13px; color:#1e3a8a;
}
.lp-price-legend strong{ color:#1d4ed8; }
.lp-price-row{
  display:grid; gap:4px; margin:10px 0 0; padding-top:10px;
  border-top:1px solid var(--lp-line);
}
.lp-price-row:first-of-type{ margin-top:0; padding-top:0; border-top:none; }
.lp-price-row-label{
  font-size:11px; font-weight:900; letter-spacing:.05em;
  text-transform:uppercase; color:var(--lp-muted);
}
.lp-price-row--yearly .lp-price-row-label{ color:#166534; }
.lp-price-equiv{
  font-size:12px; color:var(--lp-muted); margin-top:2px;
}
.lp-promo-only-card{
  max-width:560px; margin:0 auto; padding:24px 22px;
  border-radius:var(--lp-radius);
  border:1px solid #86efac;
  background:linear-gradient(180deg,#ecfdf5 0%,#fff 42%);
  box-shadow:0 14px 36px rgba(22,163,74,.12);
  text-align:center;
}
.lp-promo-only-card .lp-price-off-badge{ margin:0 auto 12px; }
.lp-promo-only-title{
  margin:0 0 8px; font-size:clamp(22px,5vw,28px); font-weight:900; color:#0f172a;
}
.lp-promo-only-lead{
  margin:0 0 18px; font-size:14px; color:var(--lp-muted); line-height:1.5;
}
.lp-promo-only-card .lp-price-ovh-row{ justify-content:center; margin-bottom:6px; }
.lp-promo-only-price{
  font-size:clamp(40px,10vw,56px); font-weight:900; color:#047857; line-height:1.05;
}
.lp-promo-only-price span{
  font-size:.38em; font-weight:900; color:#64748b;
}
.lp-promo-only-sub{
  margin:8px 0 18px; font-size:14px; font-weight:800; color:#1d4ed8;
}
.lp-promo-only-features{
  margin:0; padding:0; list-style:none; text-align:left;
  display:grid; gap:8px; font-size:14px; color:#334155;
}
.lp-promo-only-features li{
  padding:10px 12px; border-radius:12px;
  background:#f8fafc; border:1px solid var(--lp-line);
}

/* Hinnoittelu — portaali-ilme */
html:not(.page-ready) body.lp-pricing-page{ visibility:hidden; }
.lp-header--portal .lp-back--portal{
  border:0; background:transparent; color:#fff; padding:10px 12px;
}
.lp-pricing-page .lp-main{ max-width:960px; }
.lp-subscription-card{
  background:linear-gradient(135deg,#eff6ff 0%,#ecfdf5 100%);
  border-color:#93c5fd;
}
.lp-subscription-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;
}
.lp-subscription-kicker{
  font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:#1d4ed8;
}
.lp-subscription-badge{ background:#dbeafe !important; border-color:#93c5fd !important; color:#1d4ed8 !important; }
.lp-subscription-price{
  font-size:clamp(28px,7vw,40px); font-weight:900; color:#047857; line-height:1.1; margin-bottom:6px;
}
.lp-subscription-lines{
  list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px;
}
.lp-subscription-lines li{
  display:flex; justify-content:space-between; gap:12px; align-items:baseline;
  padding:10px 12px; border-radius:12px; background:#fff; border:1px solid var(--lp-line);
  font-size:14px;
}
.lp-subscription-lines strong{ font-weight:900; color:#111827; white-space:nowrap; }
.lp-grid-title{
  grid-column:1 / -1; margin:0 0 8px; font-size:17px; font-weight:900; color:#1d4ed8;
}
.lp-price-card--promo{
  border-color:#86efac;
  background:linear-gradient(180deg,#f0fdf4 0%,#fff 55%);
}
.lp-price-card--muted{ opacity:.9; }
.lp-price-card-badge{
  position:absolute; top:12px; right:12px;
}
.lp-price-hero{
  margin:8px 0 10px; padding:12px 14px; border-radius:14px;
  background:#f8fafc; border:1px solid var(--lp-line);
}
.lp-price-hero--promo{
  background:linear-gradient(135deg,#ecfdf5,#f0f9ff);
  border-color:#86efac;
}
.lp-price-hero--subscribed{
  background:linear-gradient(135deg,#eff6ff,#f8fafc);
  border-color:#93c5fd;
}
.lp-price-hero-label{
  display:block; font-size:11px; font-weight:900; letter-spacing:.05em;
  text-transform:uppercase; color:var(--lp-muted); margin-bottom:6px;
}
.lp-price-hero-amount{
  font-size:clamp(24px,6vw,34px); font-weight:900; color:#1d4ed8; line-height:1.05;
}
.lp-price-hero-amount span{ font-size:.45em; font-weight:900; color:#64748b; }
.lp-price-hero--promo .lp-price-hero-amount{ color:#047857; }
.lp-price-hero--subscribed .lp-price-hero-amount{ color:#1d4ed8; font-size:clamp(20px,5vw,28px); }
.lp-price-hero-sub{ font-size:13px; color:var(--lp-muted); margin-top:4px; }
.lp-price-secondary{
  display:flex; justify-content:space-between; align-items:baseline; gap:10px;
  padding-top:8px; border-top:1px dashed var(--lp-line); font-size:13px;
}
.lp-price-secondary-label{ color:var(--lp-muted); font-weight:800; }
.lp-price-secondary strong{ color:#374151; font-weight:900; }

/* Tunnukset / käyttäjähallinta */
html:not(.page-ready) body.lp-accounts-page{ visibility:hidden; }
.lp-accounts-page .lp-main{ max-width:960px; }
.lp-accounts-page .lp-header--portal .lp-back--portal{
  border:0; background:transparent; color:#fff; padding:10px 12px;
}
.lp-chip--promo{
  background:linear-gradient(90deg,#ecfdf5,#eff6ff) !important;
  border-color:#86efac !important; color:#166534 !important;
}
.lp-accounts-stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px; margin-bottom:14px;
}
.lp-accounts-stat{
  padding:14px 16px; border-radius:14px;
  background:linear-gradient(135deg,#eff6ff 0%,#fff 100%);
  border:1px solid #bfdbfe; box-shadow:var(--lp-shadow);
}
.lp-accounts-stat strong{
  display:block; font-size:15px; font-weight:900; color:#1d4ed8; margin-bottom:2px;
}
.lp-accounts-stat span{ font-size:12px; color:var(--lp-muted); font-weight:700; }
.lp-accounts-quick{
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px;
}
.lp-card--featured{
  border-color:#93c5fd;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 48%);
  box-shadow:0 10px 28px rgba(37,99,235,.1);
}
.lp-card--list{
  border-color:#e2e8f0;
}
.lp-sec-head{
  display:flex; align-items:flex-start; gap:12px; margin-bottom:10px;
}
.lp-sec-head h2{ margin:2px 0 0; flex:1; font-size:18px; }
.lp-sec-num{
  flex-shrink:0; width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:900; color:#fff; border-radius:10px;
  background:linear-gradient(135deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
}
.tn-user-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:14px; margin-top:12px;
}
.tn-user-card{
  position:relative;
  background:var(--lp-card);
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:16px;
  box-shadow:var(--lp-shadow);
  display:flex; flex-direction:column; gap:10px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.tn-user-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.1);
}
.tn-user-card.is-admin{
  border-color:#93c5fd;
  background:linear-gradient(180deg,#eff6ff 0%,#fff 62%);
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
.tn-user-top{
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
}
.tn-user-identity{ display:flex; align-items:flex-start; gap:12px; min-width:0; flex:1; }
.tn-user-avatar{
  flex-shrink:0; width:42px; height:42px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; font-weight:900; color:#fff;
  background:linear-gradient(135deg,#64748b,#475569);
  box-shadow:0 4px 10px rgba(15,23,42,.15);
}
.tn-user-card.is-admin .tn-user-avatar{
  background:linear-gradient(135deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
}
.tn-user-name{
  font-size:18px; font-weight:900; color:var(--lp-ink);
  word-break:break-word; line-height:1.2;
}
.tn-user-meta{
  font-size:12px; color:var(--lp-muted); margin-top:4px; line-height:1.45;
}
.tn-badge-row{ display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.tn-act-row{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:4px;
}
.tn-act-btn{
  appearance:none; border:1px solid var(--lp-line);
  background:#fff; color:#374151;
  font-weight:800; font-size:12px;
  padding:10px 13px; border-radius:12px; cursor:pointer;
  width:auto; flex:1 1 auto; min-width:max(44%, 120px);
  transition:transform .12s ease, background .12s ease;
}
.tn-act-btn:active{ transform:scale(.98); }
.tn-act-btn.primary{
  background:#eff6ff; border-color:#93c5fd; color:#1d4ed8;
}
.tn-act-btn.sales{
  background:linear-gradient(90deg,#22c55e,#16a34a);
  border-color:#16a34a; color:#fff;
  box-shadow:0 4px 12px rgba(22,163,74,.28);
  flex:1 1 100%;
  font-size:13px; padding:12px 14px;
}
.tn-act-btn.danger{
  background:#fef2f2; border-color:#fecaca; color:#b91c1c;
}
.tn-billing{
  padding:12px 14px; border-radius:14px;
  background:linear-gradient(135deg,#f0f9ff,#f8fafc);
  border:1px solid #bfdbfe;
}
.tn-billing-title{
  font-size:11px; font-weight:900; letter-spacing:.06em;
  text-transform:uppercase; color:#1d4ed8; margin:0 0 8px;
}
.tn-billing-lines{ display:grid; gap:6px; margin-bottom:8px; }
.tn-billing-line{
  display:flex; justify-content:space-between; gap:10px; font-size:13px; align-items:baseline;
}
.tn-billing-line strong{ font-weight:900; color:#111827; white-space:nowrap; }
.tn-billing-line span{ color:var(--lp-muted); font-size:12px; }
.tn-billing-total{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px;
  padding-top:8px; border-top:1px dashed #93c5fd;
}
.tn-billing-ovh{
  font-size:14px; font-weight:900; color:#64748b; text-decoration:line-through;
}
.tn-billing-sale{
  font-size:clamp(22px,5vw,28px); font-weight:900; color:#047857; line-height:1.1;
}
.tn-billing-badge{
  font-size:10px; font-weight:900; letter-spacing:.04em; text-transform:uppercase;
  padding:4px 8px; border-radius:999px; background:#dcfce7; color:#166534; border:1px solid #86efac;
}
.tn-wf-note{
  font-size:12px; color:#0369a1; font-weight:700;
  padding:8px 10px; border-radius:10px; background:#e0f2fe; border:1px solid #7dd3fc;
}
.tn-trial-box{
  margin-top:12px; padding:14px; border-radius:14px;
  border:2px solid #93c5fd; background:linear-gradient(135deg,#f0f9ff,#fff);
}
.tn-trial-box.off{ border-color:var(--lp-line); background:#f9fafb; }
.tn-trial-box.off #trialDays{ opacity:.55; }
.tn-trial-title{ font-weight:900; font-size:14px; margin:0 0 8px; color:#1e40af; }
.tn-trial-box.off .tn-trial-title{ color:var(--lp-muted); }
.tn-wf-banner{
  margin:0 0 12px; padding:12px 14px; border-radius:14px;
  background:#fff7ed; border:1px solid #fdba74; color:#9a3412;
  font-size:13px; line-height:1.45;
}
.tn-wf-banner[hidden]{ display:none !important; }
.tn-alert{
  margin-top:10px; padding:10px 12px; border-radius:12px;
  font-size:13px; font-weight:700; line-height:1.45;
}
.tn-alert.ok{ background:#dcfce7; border:1px solid #86efac; color:#166534; }
.tn-alert.pending{ background:#dcfce7; border:1px solid #86efac; color:#166534; }
.tn-alert[hidden]{ display:none !important; }
.lp-accounts-page .lp-btn.primary,
.lp-accounts-page #btnCreate{
  background:linear-gradient(90deg,var(--blue,#2563eb),var(--blue2,#1d4ed8));
  color:#fff; border:0;
  box-shadow:0 6px 16px rgba(37,99,235,.28);
}
.lp-accounts-page .lp-accounts-quick .lp-cta-lite{
  text-decoration:none; font-weight:900;
}

@media (max-width:768px){
  .lp-header-title{ font-size:15px; }
  .lp-back,.lp-header-action{ font-size:12px; padding:8px 12px; }
  .lp-card{ padding:16px 14px; }
  .lp-price-grid{ grid-template-columns:1fr; }
  .lp-form-grid{ grid-template-columns:1fr; }
  .lp-row{ flex-direction:column; }
  .lp-row .lp-cta,.lp-row .lp-btn,.lp-row .lp-cta-lite{ width:100%; justify-content:center; }
  .lp-val-total strong{ font-size:clamp(24px,8vw,32px); }
}

@media (min-width:769px) and (max-width:1024px){
  .lp-price-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lp-main{ max-width:820px; }
}

@media (max-width:520px){
  .lp-form-grid-3{ grid-template-columns:1fr; }
  .lp-tabs{ gap:6px; }
  .lp-tab{ font-size:12px; padding:9px 12px; }
}

@media print{
  @page{ size:A4; margin:14mm 12mm; }
  .lp-header,.lp-hero,.no-print{ display:none !important; }
  body.lp-page{ background:#fff; }
  .lp-main{ padding:0; max-width:none; }
  #lp-preview{ display:block !important; }
  .lp-card{ border:0; box-shadow:none; padding:0; }
}
