@import url('./tokens.css');
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--kk-background); color: var(--kk-text); font: 16px/1.6 var(--kk-font); }
h1,h2,h3,p { margin-top: 0; }
h1 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.15; letter-spacing: -1.2px; margin-bottom: 16px; }
h2 { font-size: 23px; line-height: 1.3; }
h3 { font-size: 18px; line-height: 1.4; }
a { color: var(--kk-petrol); text-underline-offset: 4px; }
button,input,select,textarea { font: inherit; }
a,button,input,select,textarea,summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--kk-petrol); outline-offset: 4px; }
[hidden] { display: none !important; }
.kk-skip { position: absolute; top: -100px; left: 16px; z-index: 10; padding: 12px; background: white; }
.kk-skip:focus { top: 12px; }
.kk-shell { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.kk-sidebar { padding: 32px 20px; border-right: 1px solid var(--kk-border); background: var(--kk-navy); color: white; }
.kk-brand { display: block; margin-bottom: 26px; text-decoration: none; }
.kk-brand-badge-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.kk-brand-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; }
.kk-brand-pill { font-size: 11px; font-weight: 750; letter-spacing: 0.8px; color: var(--kk-gold); background: rgba(255, 184, 51, 0.12); padding: 3px 8px; border-radius: 20px; border: 1px solid rgba(255, 184, 51, 0.3); }
.kk-brand-name { font-size: 22px; font-weight: 850; letter-spacing: -0.02em; color: #ffffff; line-height: 1.1; }
.kk-brand-name span { color: var(--kk-petrol); }
.kk-brand-slogan { display: block; margin-top: 6px; font-size: 12px; font-weight: 500; color: #94a3b8; line-height: 1.35; }
.kk-nav { display: grid; gap: 6px; }
.kk-nav a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; color: #94a3b8; text-decoration: none; min-height: 44px; font-weight: 550; font-size: 14px; transition: all 0.2s ease; border-left: 3px solid transparent; }
.kk-nav a:hover { background: rgba(255, 255, 255, 0.08); color: #ffffff; }
.kk-nav a[aria-current] { background: linear-gradient(90deg, rgba(0, 130, 138, 0.25) 0%, rgba(0, 130, 138, 0.06) 100%); color: #ffffff; font-weight: 700; border-left-color: var(--kk-petrol); box-shadow: none; }
.kk-nav a.kk-nav-highlight { background: rgba(0, 130, 138, 0.15); border: 1px dashed rgba(0, 130, 138, 0.4); color: #e0f2fe; }
.kk-nav a.kk-nav-highlight:hover { background: rgba(0, 130, 138, 0.3); color: #ffffff; }
.kk-nav-ico { font-size: 16px; width: 20px; text-align: center; }
.kk-sidebar-note { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #94a3b8; font-size: 13px; line-height: 1.4; }
.kk-menu { display: none; }
.kk-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-bottom: 1px solid var(--kk-border); background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding: 14px 32px; font-size: 14px; position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.kk-topbar-left { display: flex; align-items: center; gap: 10px; }
.kk-topbar-logo-small { font-weight: 800; color: var(--kk-navy); font-size: 15px; }
.kk-topbar-sep { color: var(--kk-muted); opacity: 0.5; }
.kk-topbar-title { font-weight: 600; color: var(--kk-petrol); }
.kk-topbar-live-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; color: #15803d; background: #f0fdf4; border: 1px solid #bbf7d0; padding: 2px 8px; border-radius: 12px; }
.kk-topbar-right { display: flex; align-items: center; gap: 14px; }
.kk-user-badge { font-weight: 600; color: var(--kk-navy); background: var(--kk-tint); padding: 5px 12px; border-radius: 8px; font-size: 13px; }
.kk-logout-link { color: #dc2626; text-decoration: none; font-weight: 600; font-size: 13px; padding: 5px 10px; border-radius: 6px; transition: background 0.2s; }
.kk-logout-link:hover { background: #fef2f2; }
.kk-main { max-width: 1250px; margin: auto; padding: 40px 32px; }
.kk-main section { scroll-margin-top: 24px; }
.kk-demo { padding: 12px 16px; background: var(--kk-tint); border-left: 3px solid var(--kk-petrol); margin-bottom: 32px; font-size: 14px; }
.kk-eyebrow { color: var(--kk-petrol); text-transform: uppercase; font-size: 12px; letter-spacing: 1.5px; font-weight: 700; margin-bottom: 12px; }
.kk-muted { color: var(--kk-muted); }
.kk-heading { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 24px; }
.kk-heading p { margin-bottom: 0; max-width: 650px; }
.kk-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 11px 18px; border: 1px solid transparent; border-radius: var(--kk-radius-sm); color: white; background: var(--kk-petrol-gradient); box-shadow: var(--kk-shadow-sm); text-decoration: none; font-weight: 600; cursor: pointer; text-align: center; transition: all 0.2s ease; }
.kk-button:hover { transform: translateY(-1px); box-shadow: var(--kk-shadow); background: var(--kk-petrol-hover); }
.kk-button-secondary { color: var(--kk-navy); background: white; border-color: var(--kk-input-border); box-shadow: var(--kk-shadow-sm); }
.kk-button-secondary:hover { background: var(--kk-background); border-color: var(--kk-muted); }
.kk-grid { display: grid; gap: 24px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.kk-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 32px 0; }
.kk-card { background: white; border: 1px solid var(--kk-border); border-radius: var(--kk-radius); padding: 24px; min-width: 0; box-shadow: var(--kk-shadow-sm); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.kk-card:hover { transform: translateY(-2px); box-shadow: var(--kk-shadow-hover); }
.kk-metric strong { font-size: 36px; display: block; line-height: 1.2; font-weight: 700; color: var(--kk-navy); }
.kk-metric span { color: var(--kk-muted); font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; }
.kk-section { margin-top: 40px; }
.kk-card-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.kk-badge { display: inline-block; border-radius: 6px; padding: 4px 10px; font-size: 13px; font-weight: 600; background: var(--kk-tint); color: var(--kk-petrol); }
.kk-badge-success { background: var(--kk-success-bg); color: var(--kk-success); }
.kk-badge-warning { background: var(--kk-warning-bg); color: var(--kk-warning); }
.kk-badge-error { background: var(--kk-danger-bg); color: var(--kk-danger); }
.kk-next { padding-top: 18px; border-top: 1px solid var(--kk-border); margin-top: 24px; }
progress { appearance: none; width: 100%; height: 8px; border: 0; border-radius: 8px; overflow: hidden; background: var(--kk-tint); accent-color: var(--kk-petrol); }
progress::-webkit-progress-bar { background: var(--kk-tint); }
progress::-webkit-progress-value { background: var(--kk-petrol); }
progress::-moz-progress-bar { background: var(--kk-petrol); }
.kk-dark { background: var(--kk-navy); color: white; }
.kk-dark p { color: #c6dbe2; }
.kk-dark a { color: #a4dce0; }
.kk-dark :focus-visible { outline-color: #a4dce0; }
.kk-fields { display: grid; gap: 20px; }
.kk-field { display: grid; gap: 6px; }
.kk-field label { font-weight: 600; }
.kk-field input,.kk-field select,.kk-field textarea { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; color: var(--kk-text); background: white; border: 1px solid var(--kk-input-border); border-radius: 6px; }
.kk-field textarea { resize: vertical; min-height: 110px; }
.kk-field small { color: var(--kk-muted); font-size: 14px; }
.kk-feedback { margin-top: 16px; color: var(--kk-success); }
.kk-table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; }
caption { text-align: left; color: var(--kk-muted); padding-bottom: 16px; }
th,td { padding: 14px 12px; border-bottom: 1px solid var(--kk-border); vertical-align: top; }
th { font-size: 14px; background: var(--kk-background); }
summary { cursor: pointer; min-height: 48px; padding: 10px 0; font-weight: 600; }
.kk-footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--kk-border); font-size: 14px; color: var(--kk-muted); }
.kk-main :is(h1,h2,h3,p,a,td,th) { overflow-wrap: anywhere; }
@media (max-width: 1050px) { .kk-shell { grid-template-columns: 220px minmax(0,1fr); } .kk-grid { grid-template-columns: 1fr; } .kk-heading { align-items: flex-start; flex-direction: column; } }
@media (max-width: 720px) {
  .kk-shell { display: block; } .kk-sidebar { border-right: 0; border-bottom: 1px solid var(--kk-border); padding: 16px 20px; }
  .kk-brand { max-width: 245px; margin-bottom: 16px; } .kk-sidebar-note { display: none; }
  .kk-menu { display: inline-flex; margin-bottom: 12px; } .kk-topbar { padding: 16px 20px; }
  .kk-main { padding: 24px 20px; } .kk-metrics { grid-template-columns: 1fr; gap: 12px; }
  .kk-metric { display: flex; gap: 16px; align-items: center; } .kk-card { padding: 20px; }
  .kk-heading { gap: 16px; } th,td { padding: 12px 8px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Partner Login Dark Petrol Card */
.pp-login {
  max-width: 480px;
  margin: 30px auto;
  background: var(--kk-navy);
  color: #f1f5f9;
  border: 1.5px solid var(--kk-petrol);
  border-radius: 20px;
  padding: 36px 30px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5), 0 0 25px rgba(0, 130, 138, 0.2);
}
.pp-login h2 { color: #ffffff; }
.pp-login .kk-muted { color: #94a3b8; }
.pp-login .kk-field label { color: #cbd5e1; font-size: 13px; }
.pp-login .kk-field input { background: #09151a; border: 1px solid rgba(255, 255, 255, 0.15); color: #ffffff; border-radius: 8px; }
.pp-login .kk-field input:focus { border-color: var(--kk-petrol); outline: none; }
.pp-login .kk-button { width: 100%; justify-content: center; font-weight: 700; font-size: 15px; border-radius: 8px; }

