/* ─── KodeCraft CSS — Premium Design ──────────────────────────────────── */
:root {
  --brand:       #5b4cf5;
  --brand-dark:  #4338ca;
  --brand-light: #ede9fe;
  --text:        #0f0f12;
  --text-muted:  #6b7280;
  --border:      #e5e7eb;
  --bg:          #ffffff;
  --bg-alt:      #f9fafb;
  --header-h:    64px;
  --sidebar-w:   240px;
  --radius:      10px;
  --shadow-sm:   0 1px 3px rgba(0,0,0,.08);
  --shadow:      0 4px 16px rgba(0,0,0,.09);
  --shadow-lg:   0 12px 40px rgba(0,0,0,.12);
  --font:        'Inter', system-ui, sans-serif;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font); color:var(--text); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button { cursor:pointer; font-family:inherit; }
input,select,textarea { font-family:inherit; }

/* ─── Container ─────────────────────────────────────────────────────────── */
.kc-container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.kc-text-center { text-align:center; }
.kc-text-muted { color:var(--text-muted); }
.kc-text-sm { font-size:.85rem; }
.kc-text-mono { font-family:monospace; }
.kc-text-accent { color:var(--brand); }

/* ─── Header ─────────────────────────────────────────────────────────────── */
.kc-header {
  position:sticky; top:0; z-index:1000;
  height:var(--header-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .2s;
}
.kc-header.is-scrolled { box-shadow:var(--shadow-sm); }
.kc-header__inner {
  max-width:1200px; margin:0 auto; padding:0 1.5rem;
  height:100%; display:flex; align-items:center; gap:2rem;
}
/* Logo */
.kc-logo { display:flex; align-items:center; gap:.5rem; font-weight:700; font-size:1.1rem; text-decoration:none; }
.kc-logo__mark {
  background:var(--brand); color:#fff; font-size:.8rem; font-weight:700;
  width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; letter-spacing:-.5px;
}
.kc-logo__text { color:var(--text); }
/* Nav */
.kc-nav { display:flex; align-items:center; gap:.25rem; flex:1; }
.kc-nav__link { padding:.4rem .85rem; border-radius:6px; font-size:.9rem; font-weight:500; color:var(--text-muted); transition:background .15s, color .15s; }
.kc-nav__link:hover, .kc-nav__link.is-active { background:var(--bg-alt); color:var(--text); }
/* Header Actions */
.kc-header__actions { display:flex; align-items:center; gap:.75rem; margin-left:auto; }
/* Hamburger */
.kc-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; border:none; background:none; padding:6px; border-radius:6px; }
.kc-hamburger span { display:block; height:2px; background:var(--text); border-radius:2px; transition:all .25s; }
.kc-hamburger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.kc-hamburger.is-open span:nth-child(2) { opacity:0; }
.kc-hamburger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* Nav overlay */
.kc-nav-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:990; }
.kc-nav-overlay.is-open { display:block; }

/* ─── Buttons ─────────────────────────────────────────────────────────────── */
.kc-btn { display:inline-flex; align-items:center; gap:.45rem; padding:.6rem 1.25rem; border-radius:7px; font-size:.9rem; font-weight:600; border:1.5px solid transparent; transition:all .18s; white-space:nowrap; }
.kc-btn--primary { background:var(--brand); color:#fff; border-color:var(--brand); }
.kc-btn--primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
.kc-btn--outline { background:transparent; color:var(--brand); border-color:var(--brand); }
.kc-btn--outline:hover { background:var(--brand-light); }
.kc-btn--ghost { background:var(--bg-alt); color:var(--text); border-color:var(--border); }
.kc-btn--ghost:hover { background:var(--border); }
.kc-btn--danger { background:#fee2e2; color:#b91c1c; border-color:#fca5a5; }
.kc-btn--danger:hover { background:#fca5a5; }
.kc-btn--sm { padding:.4rem .85rem; font-size:.82rem; border-radius:6px; }
.kc-btn--lg { padding:.8rem 1.75rem; font-size:1rem; }
.kc-link { color:var(--brand); font-weight:500; display:inline-flex; align-items:center; gap:.3rem; }
.kc-link:hover { text-decoration:underline; }

/* ─── Hero ───────────────────────────────────────────────────────────────── */
.kc-hero { padding:5rem 0 4rem; border-bottom:1px solid var(--border); }
.kc-hero__inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.kc-badge { display:inline-block; background:var(--brand-light); color:var(--brand); font-size:.78rem; font-weight:600; padding:.3rem .8rem; border-radius:99px; margin-bottom:1.25rem; letter-spacing:.02em; }
.kc-badge--outline { background:transparent; border:1.5px solid var(--border); color:var(--text-muted); }
.kc-badge--sm { font-size:.7rem; padding:.2rem .55rem; }
.kc-hero__title { font-size:3.25rem; font-weight:700; line-height:1.12; letter-spacing:-.03em; margin-bottom:1.25rem; }
.kc-hero__subtitle { font-size:1.1rem; color:var(--text-muted); max-width:480px; margin-bottom:2rem; line-height:1.7; }
.kc-hero__actions { display:flex; gap:1rem; flex-wrap:wrap; }
/* Code Card */
.kc-code-card { background:#0f0f12; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-lg); }
.kc-code-card__bar { display:flex; gap:.4rem; padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.07); }
.kc-code-card__bar span { width:12px; height:12px; border-radius:50%; background:#3f3f46; }
.kc-code-card__bar span:nth-child(1) { background:#f87171; }
.kc-code-card__bar span:nth-child(2) { background:#fbbf24; }
.kc-code-card__bar span:nth-child(3) { background:#4ade80; }
.kc-code-card__code { padding:1.5rem; }
.kc-code-card__code code { color:#a5f3fc; font-family:monospace; font-size:.9rem; line-height:1.9; white-space:pre; }

/* ─── Stats Bar ───────────────────────────────────────────────────────────── */
.kc-stats { border-bottom:1px solid var(--border); padding:2.5rem 0; }
.kc-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.kc-stat { text-align:center; padding:1rem; border-right:1px solid var(--border); }
.kc-stat:last-child { border-right:none; }
.kc-stat__num { font-size:2rem; font-weight:700; color:var(--brand); letter-spacing:-.03em; }
.kc-stat__label { font-size:.85rem; color:var(--text-muted); margin-top:.2rem; }

/* ─── Sections ────────────────────────────────────────────────────────────── */
.kc-section { padding:4rem 0; }
.kc-section--alt { background:var(--bg-alt); }
.kc-section__header { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:2.5rem; }
.kc-section__title { font-size:1.75rem; font-weight:700; letter-spacing:-.02em; }

/* ─── Grid ────────────────────────────────────────────────────────────────── */
.kc-grid { display:grid; gap:1.5rem; }
.kc-grid--3 { grid-template-columns:repeat(3,1fr); }
.kc-grid--2 { grid-template-columns:repeat(2,1fr); }

/* ─── Product Card ────────────────────────────────────────────────────────── */
.kc-product-card { border:1.5px solid var(--border); border-radius:var(--radius); overflow:hidden; background:#fff; transition:box-shadow .2s, border-color .2s; display:flex; flex-direction:column; }
.kc-product-card:hover { box-shadow:var(--shadow); border-color:#d1d5db; }
.kc-product-card__img { width:100%; height:180px; object-fit:cover; background:var(--bg-alt); }
.kc-product-card__img--placeholder { display:flex; align-items:center; justify-content:center; font-size:2.5rem; color:var(--border); }
.kc-product-card__body { padding:1.25rem; flex:1; display:flex; flex-direction:column; gap:.5rem; }
.kc-product-card__badge { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); }
.kc-product-card__title { font-size:1rem; font-weight:600; }
.kc-product-card__desc { font-size:.88rem; color:var(--text-muted); flex:1; }
.kc-product-card__footer { display:flex; justify-content:space-between; align-items:center; margin-top:.5rem; padding-top:.75rem; border-top:1px solid var(--border); }
.kc-product-card__version { font-size:.8rem; color:var(--text-muted); }
.kc-product-card__price { font-size:.95rem; font-weight:700; color:var(--brand); }

/* ─── Features ────────────────────────────────────────────────────────────── */
.kc-feature { text-align:center; padding:2rem 1.5rem; }
.kc-feature__icon { width:56px; height:56px; background:var(--brand-light); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--brand); margin:0 auto 1.25rem; }
.kc-feature h3 { font-size:1.1rem; font-weight:600; margin-bottom:.6rem; }
.kc-feature p { color:var(--text-muted); font-size:.9rem; line-height:1.65; }

/* ─── CTA ─────────────────────────────────────────────────────────────────── */
.kc-cta { background:var(--brand); padding:5rem 0; text-align:center; }
.kc-cta__title { font-size:2.25rem; font-weight:700; color:#fff; letter-spacing:-.02em; margin-bottom:.75rem; }
.kc-cta__sub { color:rgba(255,255,255,.75); font-size:1.1rem; margin-bottom:2rem; }
.kc-cta .kc-btn--primary { background:#fff; color:var(--brand); border-color:#fff; }
.kc-cta .kc-btn--primary:hover { background:#f3f4f6; }

/* ─── Page Header ─────────────────────────────────────────────────────────── */
.kc-page-header { background:var(--bg-alt); border-bottom:1px solid var(--border); padding:2.5rem 0; }
.kc-page-header__title { font-size:2rem; font-weight:700; letter-spacing:-.02em; }
.kc-page-header__sub { color:var(--text-muted); margin-top:.4rem; }
.kc-back-link { display:inline-flex; align-items:center; gap:.35rem; color:var(--text-muted); font-size:.9rem; }
.kc-back-link:hover { color:var(--text); }

/* ─── Product Detail ──────────────────────────────────────────────────────── */
.kc-product-detail { display:grid; grid-template-columns:1fr 300px; gap:2.5rem; align-items:start; }
.kc-product-detail__img { width:100%; border-radius:var(--radius); border:1.5px solid var(--border); margin-bottom:2rem; }
.kc-product-detail__title { font-size:2rem; font-weight:700; letter-spacing:-.02em; margin:.75rem 0; }
.kc-product-detail__desc { color:var(--text-muted); font-size:1.05rem; line-height:1.75; }
.kc-product-detail__features { margin-top:2rem; }
.kc-product-detail__features h3 { font-size:1.1rem; font-weight:600; margin-bottom:1rem; }
.kc-product-detail__changelog { margin-top:2rem; }
.kc-product-detail__changelog h3 { font-size:1.1rem; font-weight:600; margin-bottom:1rem; }
/* Sidebar card */
.kc-product-sidebar-card { border:1.5px solid var(--border); border-radius:var(--radius); padding:1.5rem; background:#fff; position:sticky; top:calc(var(--header-h) + 1rem); }
.kc-product-sidebar-card__price { font-size:2rem; font-weight:700; color:var(--brand); margin-bottom:1.25rem; }
.kc-product-sidebar-card__meta { list-style:none; margin-top:1.25rem; display:flex; flex-direction:column; gap:.6rem; }
.kc-product-sidebar-card__meta li { display:flex; align-items:center; gap:.6rem; font-size:.88rem; color:var(--text-muted); }
.kc-product-sidebar-card__meta li i { color:var(--brand); width:18px; }

/* ─── Version Items ────────────────────────────────────────────────────────── */
.kc-version-item { padding:1.25rem 0; border-bottom:1px solid var(--border); }
.kc-version-item:last-child { border-bottom:none; }
.kc-version-item--full { border:1.5px solid var(--border); border-radius:var(--radius); padding:1.25rem 1.5rem; margin-bottom:1rem; }
.kc-version-item.is-latest { border-color:var(--brand); }
.kc-version-item__head { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; margin-bottom:.65rem; }
.kc-version-badge { background:#0f0f12; color:#a5f3fc; font-family:monospace; font-size:.8rem; font-weight:600; padding:.25rem .6rem; border-radius:5px; }
.kc-version-type { font-size:.75rem; font-weight:600; padding:.2rem .55rem; border-radius:4px; text-transform:capitalize; }
.kc-version-type--major { background:#fef3c7; color:#92400e; }
.kc-version-type--minor { background:#dbeafe; color:#1e40af; }
.kc-version-type--update { background:#f0fdf4; color:#166534; }
.kc-version-type--hotfix { background:#fee2e2; color:#b91c1c; }
.kc-version-date { font-size:.82rem; color:var(--text-muted); }
.kc-version-log { font-size:.9rem; color:var(--text-muted); line-height:1.65; }

/* ─── Footer ──────────────────────────────────────────────────────────────── */
.kc-footer { border-top:1px solid var(--border); padding:3.5rem 0 2rem; }
.kc-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2.5rem; }
.kc-footer__tagline { color:var(--text-muted); font-size:.88rem; margin-top:.6rem; }
.kc-footer__heading { font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:1rem; }
.kc-footer__links { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.kc-footer__links a { color:var(--text-muted); font-size:.9rem; }
.kc-footer__links a:hover { color:var(--text); }
.kc-footer__social { display:flex; gap:.75rem; }
.kc-footer__social a { width:36px; height:36px; border-radius:8px; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:1.1rem; }
.kc-footer__social a:hover { background:var(--brand); color:#fff; }
.kc-footer__bottom { border-top:1px solid var(--border); padding-top:1.5rem; text-align:center; color:var(--text-muted); font-size:.85rem; }
.kc-main { min-height:calc(100vh - var(--header-h) - 200px); }

/* ─── Auth Pages ──────────────────────────────────────────────────────────── */
.kc-auth-page { min-height:calc(100vh - var(--header-h)); display:flex; align-items:center; justify-content:center; padding:2rem 1.5rem; background:var(--bg-alt); }
.kc-auth-card { background:#fff; border:1.5px solid var(--border); border-radius:16px; padding:2.5rem; width:100%; max-width:440px; }
.kc-auth-card__icon { width:56px; height:56px; background:var(--brand-light); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--brand); margin-bottom:1.5rem; }
.kc-auth-card__icon--green { background:#dcfce7; color:#16a34a; }
.kc-auth-card__icon--dark { background:#f3f4f6; color:#374151; }
.kc-auth-card__title { font-size:1.5rem; font-weight:700; letter-spacing:-.02em; margin-bottom:.4rem; }
.kc-auth-card__sub { color:var(--text-muted); font-size:.92rem; margin-bottom:1.75rem; }
.kc-auth-card__alt { text-align:center; margin-top:1.5rem; font-size:.88rem; color:var(--text-muted); }
.kc-auth-card__alt a { color:var(--brand); font-weight:500; }

/* ─── Forms ───────────────────────────────────────────────────────────────── */
.kc-form { display:flex; flex-direction:column; gap:1.1rem; }
.kc-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.kc-form__group { display:flex; flex-direction:column; gap:.4rem; }
.kc-form__label { font-size:.85rem; font-weight:600; color:var(--text); }
.kc-form__input { border:1.5px solid var(--border); border-radius:7px; padding:.6rem .85rem; font-size:.9rem; color:var(--text); background:#fff; transition:border-color .18s, box-shadow .18s; outline:none; width:100%; }
.kc-form__input:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-light); }
.kc-form__input.is-error { border-color:#ef4444; }
.kc-form__input--mono { font-family:monospace; }
.kc-form__textarea { resize:vertical; min-height:100px; }
.kc-form__error { font-size:.8rem; color:#ef4444; }
.kc-form__hint { font-size:.8rem; color:var(--text-muted); }
.kc-form__check { display:flex; align-items:center; gap:.5rem; font-size:.9rem; cursor:pointer; }

/* ─── Alerts ──────────────────────────────────────────────────────────────── */
.kc-alert { display:flex; align-items:center; gap:.6rem; padding:.9rem 1.25rem; border-radius:8px; font-size:.9rem; margin-bottom:1.25rem; }
.kc-alert--success { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }
.kc-alert--error { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }

/* ─── Portal Layout ───────────────────────────────────────────────────────── */
.kc-portal-body { background:var(--bg-alt); }
.kc-portal-layout { display:flex; min-height:100vh; }
/* Sidebar */
.kc-sidebar { width:var(--sidebar-w); background:#fff; border-right:1.5px solid var(--border); display:flex; flex-direction:column; flex-shrink:0; position:sticky; top:0; height:100vh; overflow-y:auto; }
.kc-sidebar--admin { background:#0f0f12; border-right:none; }
.kc-sidebar--admin .kc-logo__text { color:#fff; }
.kc-sidebar--admin .kc-logo__mark { background:var(--brand); }
.kc-sidebar__header { padding:1.25rem; border-bottom:1.5px solid var(--border); }
.kc-sidebar--admin .kc-sidebar__header { border-color:rgba(255,255,255,.08); }
.kc-sidebar__nav { padding:.75rem .6rem; display:flex; flex-direction:column; gap:.15rem; flex:1; }
.kc-sidebar__link { display:flex; align-items:center; gap:.7rem; padding:.65rem .9rem; border-radius:7px; font-size:.9rem; font-weight:500; color:var(--text-muted); transition:background .15s, color .15s; }
.kc-sidebar__link:hover { background:var(--bg-alt); color:var(--text); }
.kc-sidebar__link.is-active { background:var(--brand-light); color:var(--brand); }
.kc-sidebar--admin .kc-sidebar__link { color:rgba(255,255,255,.55); }
.kc-sidebar--admin .kc-sidebar__link:hover { background:rgba(255,255,255,.06); color:#fff; }
.kc-sidebar--admin .kc-sidebar__link.is-active { background:rgba(91,76,245,.25); color:#a78bfa; }
.kc-sidebar__footer { padding:.75rem; border-top:1.5px solid var(--border); }
.kc-sidebar--admin .kc-sidebar__footer { border-color:rgba(255,255,255,.08); }
.kc-sidebar__user { display:flex; align-items:center; gap:.75rem; }
.kc-sidebar__avatar { width:34px; height:34px; border-radius:8px; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem; flex-shrink:0; }
.kc-sidebar__name { font-size:.88rem; font-weight:600; }
.kc-sidebar__logout { background:none; border:none; color:var(--text-muted); font-size:.78rem; cursor:pointer; padding:0; }
.kc-sidebar__logout:hover { color:var(--text); text-decoration:underline; }
/* Portal content */
.kc-portal-content { flex:1; overflow:hidden; }
.kc-portal-topbar { background:#fff; border-bottom:1.5px solid var(--border); padding:0 1.5rem; height:60px; display:flex; align-items:center; gap:1rem; position:sticky; top:0; z-index:100; }
.kc-portal-title { font-size:1.1rem; font-weight:600; }
.kc-sidebar-toggle { display:none; background:none; border:none; font-size:1.4rem; color:var(--text); padding:.25rem; }
.kc-portal-body-inner { padding:2rem 1.5rem; }
/* Portal welcome */
.kc-portal-welcome { margin-bottom:1.75rem; }
.kc-portal-welcome h2 { font-size:1.4rem; font-weight:700; margin-bottom:.25rem; }
.kc-portal-welcome p { color:var(--text-muted); }
/* Stats grid (portal) */
.kc-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.kc-stats-card { background:#fff; border:1.5px solid var(--border); border-radius:var(--radius); padding:1.25rem; display:flex; align-items:center; gap:1rem; }
.kc-stats-card--warn { border-color:#fbbf24; }
.kc-stats-card > i { font-size:1.5rem; color:var(--brand); }
.kc-stats-card--warn > i { color:#f59e0b; }
.kc-stats-card strong { display:block; font-size:1.4rem; font-weight:700; letter-spacing:-.02em; }
.kc-stats-card span { font-size:.8rem; color:var(--text-muted); }
/* Portal card */
.kc-portal-card { background:#fff; border:1.5px solid var(--border); border-radius:var(--radius); }
.kc-portal-card__header { padding:1rem 1.25rem; border-bottom:1.5px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.kc-portal-card__header h3 { font-size:1rem; font-weight:600; }
.kc-portal-card__body { padding:1.25rem; }

/* ─── Tables ──────────────────────────────────────────────────────────────── */
.kc-table-wrap { overflow-x:auto; }
.kc-table { width:100%; border-collapse:collapse; font-size:.88rem; }
.kc-table th { text-align:left; padding:.75rem 1rem; font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); border-bottom:1.5px solid var(--border); white-space:nowrap; }
.kc-table td { padding:.85rem 1rem; border-bottom:1px solid var(--border); vertical-align:middle; }
.kc-table tr:last-child td { border-bottom:none; }
.kc-table tr:hover td { background:var(--bg-alt); }
.kc-table__actions { display:flex; gap:.4rem; }
.kc-empty { text-align:center; color:var(--text-muted); padding:2.5rem; }

/* ─── Status / Priority Badges ────────────────────────────────────────────── */
.kc-status { display:inline-block; font-size:.75rem; font-weight:600; padding:.25rem .65rem; border-radius:99px; }
.kc-status--open { background:#fef3c7; color:#92400e; }
.kc-status--in_progress { background:#dbeafe; color:#1e40af; }
.kc-status--resolved { background:#dcfce7; color:#16a34a; }
.kc-status--closed { background:#f3f4f6; color:#6b7280; }
.kc-priority { display:inline-block; font-size:.75rem; font-weight:600; padding:.2rem .55rem; border-radius:4px; }
.kc-priority--low { background:#f3f4f6; color:#6b7280; }
.kc-priority--normal { background:#ede9fe; color:#7c3aed; }
.kc-priority--high { background:#fef3c7; color:#92400e; }
.kc-priority--urgent { background:#fee2e2; color:#b91c1c; }

/* ─── Support Thread ──────────────────────────────────────────────────────── */
.kc-thread { display:flex; flex-direction:column; gap:1rem; }
.kc-thread__msg { border-radius:10px; padding:1.1rem 1.25rem; border:1.5px solid var(--border); }
.kc-thread__msg--buyer { background:#fff; }
.kc-thread__msg--admin { background:var(--brand-light); border-color:rgba(91,76,245,.25); }
.kc-thread__meta { display:flex; gap:.75rem; align-items:baseline; margin-bottom:.6rem; font-size:.83rem; }
.kc-thread__meta strong { font-weight:600; }
.kc-thread__meta span { color:var(--text-muted); }
.kc-thread__body { font-size:.9rem; line-height:1.7; white-space:pre-wrap; }

/* ─── Ticket Header ───────────────────────────────────────────────────────── */
.kc-ticket-header h2 { font-size:1.4rem; font-weight:700; margin:.25rem 0 .5rem; }

/* ─── Pagination (Laravel default override) ───────────────────────────────── */
.pagination { display:flex; gap:.4rem; list-style:none; flex-wrap:wrap; }
.pagination li a, .pagination li span { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 .6rem; border:1.5px solid var(--border); border-radius:6px; font-size:.85rem; color:var(--text); }
.pagination li.active span { background:var(--brand); color:#fff; border-color:var(--brand); }
.pagination li a:hover { background:var(--bg-alt); }

/* ─── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width:1024px) {
  .kc-grid--3 { grid-template-columns:repeat(2,1fr); }
  .kc-hero__inner { grid-template-columns:1fr; gap:3rem; }
  .kc-hero__title { font-size:2.5rem; }
  .kc-code-card { display:none; }
  .kc-stats__grid { grid-template-columns:repeat(2,1fr); }
  .kc-stat:nth-child(2) { border-right:none; }
  .kc-footer__grid { grid-template-columns:1fr 1fr; }
  .kc-product-detail { grid-template-columns:1fr; }
  .kc-product-sidebar-card { position:static; }
  .kc-stats-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  .kc-nav { display:none; position:fixed; top:0; left:0; bottom:0; width:min(280px,85vw); background:#fff; flex-direction:column; align-items:stretch; gap:0; z-index:1000; border-right:1.5px solid var(--border); transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1); padding:1.5rem 1rem; padding-top:calc(var(--header-h) + 1rem); }
  .kc-nav.is-open { transform:translateX(0); }
  .kc-nav__link { padding:.75rem 1rem; font-size:1rem; border-radius:8px; }
  .kc-hamburger { display:flex; }
  .kc-header__actions .kc-btn--outline { display:none; }
  .kc-hero { padding:3rem 0 2.5rem; }
  .kc-hero__title { font-size:2rem; }
  .kc-grid--3 { grid-template-columns:1fr; }
  .kc-grid--2 { grid-template-columns:1fr; }
  .kc-stats__grid { grid-template-columns:repeat(2,1fr); }
  .kc-footer__grid { grid-template-columns:1fr; gap:2rem; }
  .kc-auth-card { padding:1.75rem; }
  .kc-form__row { grid-template-columns:1fr; }
  /* Portal sidebar mobile */
  .kc-sidebar { position:fixed; top:0; left:0; bottom:0; transform:translateX(-100%); transition:transform .28s; z-index:1000; }
  .kc-sidebar.is-open { transform:translateX(0); }
  .kc-sidebar-toggle { display:flex; }
  .kc-stats-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:480px) {
  .kc-hero__title { font-size:1.7rem; }
  .kc-hero__actions { flex-direction:column; }
  .kc-stats-grid { grid-template-columns:1fr 1fr; }
  .kc-btn--lg { padding:.7rem 1.25rem; font-size:.95rem; }
}
