:root{
  --tp-bg:#07111f;
  --tp-bg-soft:#0a1628;
  --tp-surface:#0f1d31;
  --tp-surface-2:#13233a;
  --tp-surface-3:#172a45;
  --tp-glass:rgba(15,29,49,.78);
  --tp-text:#eef5ff;
  --tp-text-soft:#b8c7db;
  --tp-muted:#7f91aa;
  --tp-line:#243b5b;
  --tp-primary:#5b8cff;
  --tp-primary-2:#8b6cff;
  --tp-cyan:#56d9ff;
  --tp-green:#2bd89f;
  --tp-yellow:#f3bd4b;
  --tp-red:#ff6d7a;
  --tp-radius-xs:8px;
  --tp-radius-sm:11px;
  --tp-radius-md:15px;
  --tp-radius-lg:21px;
  --tp-shadow:0 20px 60px rgba(0,0,0,.22);
  --tp-shadow-soft:0 12px 32px rgba(0,0,0,.16);
  --tp-transition:140ms ease;
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 10% -10%,rgba(91,140,255,.13),transparent 32%),
    radial-gradient(circle at 90% 0%,rgba(139,108,255,.11),transparent 30%),
    linear-gradient(180deg,var(--tp-bg),#08131f 55%,#07101b);
  color:var(--tp-text);
}
body,button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea{transition:var(--tp-transition)}
a{color:inherit}
::selection{background:rgba(91,140,255,.35)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#2c4668;border-radius:999px}
::-webkit-scrollbar-track{background:#091421}

.tp-shell-glow{
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 82%);
  z-index:-1;
}

.tp-panel{
  background:linear-gradient(180deg,rgba(18,35,58,.92),rgba(12,25,43,.94));
  border:1px solid var(--tp-line);
  border-radius:var(--tp-radius-md);
  box-shadow:var(--tp-shadow-soft);
}
.tp-card{
  background:linear-gradient(180deg,rgba(20,39,65,.92),rgba(14,30,51,.96));
  border:1px solid var(--tp-line);
  border-radius:var(--tp-radius-md);
}
.tp-card:hover{
  border-color:#345b88;
  transform:translateY(-1px);
}
.tp-eyebrow{
  color:var(--tp-cyan);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.tp-muted{color:var(--tp-muted)}
.tp-soft{color:var(--tp-text-soft)}

.tp-btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.72rem .95rem;
  border:1px solid transparent;
  border-radius:var(--tp-radius-sm);
  cursor:pointer;
  font-weight:800;
  text-decoration:none;
}
.tp-btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--tp-primary),var(--tp-primary-2));
  box-shadow:0 8px 24px rgba(91,140,255,.20);
}
.tp-btn-primary:hover{filter:brightness(1.06)}
.tp-btn-secondary{
  color:var(--tp-text);
  background:rgba(255,255,255,.045);
  border-color:var(--tp-line);
}
.tp-btn-secondary:hover{
  background:rgba(255,255,255,.07);
  border-color:#35587d;
}
.tp-btn-ghost{
  color:var(--tp-text-soft);
  background:transparent;
}
.tp-btn-ghost:hover{
  color:var(--tp-text);
  background:rgba(255,255,255,.045);
}

.tp-field{
  width:100%;
  min-height:43px;
  padding:.74rem .82rem;
  color:var(--tp-text);
  background:#0a1728;
  border:1px solid #28425f;
  border-radius:var(--tp-radius-sm);
  outline:none;
}
.tp-field::placeholder{color:#667a95}
.tp-field:focus{
  border-color:var(--tp-primary);
  box-shadow:0 0 0 3px rgba(91,140,255,.13);
}
textarea.tp-field{min-height:110px;resize:vertical}
select.tp-field{appearance:none}

.tp-table-wrap{
  overflow:auto;
  border:1px solid var(--tp-line);
  border-radius:var(--tp-radius-sm);
}
.tp-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.tp-table th{
  padding:.72rem .8rem;
  text-align:left;
  color:#8fa2bd;
  background:#0b1829;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tp-line);
  position:sticky;
  top:0;
}
.tp-table td{
  padding:.78rem .8rem;
  border-bottom:1px solid rgba(36,59,91,.75);
  color:#d9e4f2;
}
.tp-table tr:hover td{background:rgba(91,140,255,.035)}

.tp-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.24rem .52rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
  background:rgba(91,140,255,.12);
  color:#9ebcff;
  border:1px solid rgba(91,140,255,.2);
}
.tp-badge-success{background:rgba(43,216,159,.1);color:#70e7bd;border-color:rgba(43,216,159,.18)}
.tp-badge-warning{background:rgba(243,189,75,.1);color:#ffd27a;border-color:rgba(243,189,75,.18)}
.tp-badge-danger{background:rgba(255,109,122,.1);color:#ff9ca5;border-color:rgba(255,109,122,.18)}

.tp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}

.tp-kpi{
  padding:1rem;
  border-radius:var(--tp-radius-md);
  background:
    linear-gradient(180deg,rgba(20,39,65,.9),rgba(12,27,47,.95));
  border:1px solid var(--tp-line);
  min-height:112px;
}
.tp-kpi small{color:var(--tp-muted)}
.tp-kpi strong{
  display:block;
  margin:.35rem 0;
  font-size:1.55rem;
  letter-spacing:-.02em;
}
.tp-kpi span{color:var(--tp-cyan);font-size:.75rem}

.tp-empty{
  padding:2rem;
  text-align:center;
  color:var(--tp-muted);
}
.tp-section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.tp-section-title h2,.tp-section-title h3{margin:.2rem 0}
.tp-section-title p{margin:.3rem 0 0;color:var(--tp-muted)}

@media(max-width:1100px){
  .tp-grid-4{grid-template-columns:repeat(2,1fr)}
  .tp-grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .tp-grid-2,.tp-grid-3,.tp-grid-4{grid-template-columns:1fr}
  .tp-section-title{flex-direction:column}
}
