/* ===== Neo Portal - Global Custom Styles ===== */
/* Renk değişkenleri */
:root{
  --brand:#1d9a98;
  --brand-2:#13c2bf;
  --bg-grad-start:#f7f9fb;
  --bg-grad-end:#ecf3f6;
  --card-bg:#ffffffcc;
  --card-border:rgba(0,0,0,.06);
  --shadow:0 12px 30px rgba(0,0,0,.10);
  --text:#0f172a;
  --muted:#64748b;
}

/* Dark mode */
[data-theme="dark"]{
  --bg-grad-start:#0b1220;
  --bg-grad-end:#0e1526;
  --card-bg:#0f172acc;
  --card-border:rgba(255,255,255,.08);
  --shadow:0 12px 30px rgba(0,0,0,.40);
  --text:#e5e7eb;
  --muted:#97a3b6;
}

/* Genel */
html,body{height:100%}
body{
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(19,194,191,.12), transparent 50%),
    radial-gradient(900px 500px at 100% 0%, rgba(29,154,152,.10), transparent 50%),
    linear-gradient(180deg,var(--bg-grad-start),var(--bg-grad-end));
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Başlıklar, yardımcı sınıflar */
.page-title{font-weight:800; letter-spacing:.3px; color:var(--brand)}
.subtle{color:var(--muted)}
.btn-round{border-radius:30px}

/* Şeffaf üst bar / toolbar */
.toolbar{
  backdrop-filter: saturate(150%) blur(8px);
  background: var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:18px;
  box-shadow: var(--shadow);
  padding:.6rem .8rem;
}

/* Kartlar */
.card-portal{
  position:relative;
  border:1px solid var(--card-border);
  background: var(--card-bg);
  border-radius:18px;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
  min-height:200px;
}
.card-portal::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(400px 160px at 80% -10%, rgba(19,194,191,.18), transparent 60%);
  pointer-events:none; opacity:.5; transition: opacity .25s ease;
}
.card-portal:hover{
  transform: translateY(-4px);
  border-color: rgba(19,194,191,.25);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.card-portal .icon-pill{
  width:46px;height:46px; display:grid; place-items:center;
  border-radius:14px;
  background: linear-gradient(135deg, rgba(29,154,152,.18), rgba(19,194,191,.10));
  border:1px solid var(--card-border); margin-bottom:.6rem;
}
.card-portal .icon-pill i{font-size:1.35rem; color:var(--brand)}
.card-portal .card-title{font-weight:700; margin-bottom:.35rem}
.card-portal .card-text{color:var(--muted)}
.corner-badge{
  position:absolute; top:12px; right:12px;
  font-size:.75rem; padding:.2rem .5rem;
  background: rgba(19,194,191,.14);
  color: var(--brand);
  border: 1px solid var(--card-border);
  border-radius:999px;
}

/* Butonlar */
.btn-gradient{
  border:0;
  background: linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff !important;
  box-shadow: 0 8px 24px rgba(19,194,191,.35);
}
.btn-outline-gradient{
  border:1px solid var(--brand);
  color:var(--brand) !important;
  background: transparent;
}

/* Arama kutusu */
.quick-search{
  border-radius:14px;
  border:1px solid var(--card-border);
  background: var(--card-bg);
  padding:.6rem .9rem;
  outline:none; width:100%;
}
.quick-search:focus{
  border-color: rgba(19,194,191,.45);
  box-shadow: 0 0 0 .25rem rgba(19,194,191,.15);
}

/* Grid boşlukları */
.grid{row-gap:1.25rem}

/* Alt dalga */
.wave{ position: fixed; bottom:-1px; left:0; right:0; height:40px; pointer-events:none; opacity:.6 }
.wave svg path{ fill: rgba(19,194,191,.18) }

/* Küçük ipucu yazıları */
.tip{ color:var(--muted); font-size:.875rem }
