/* KonkurPlanner Final Experience Design System v18.36.0 */
:root{
  color-scheme:dark;
  --kp-bg:#08090b;--kp-bg-soft:#0d0f13;--kp-surface:#111319;--kp-surface-elevated:#171a20;
  --kp-border:#2b2f37;--kp-border-strong:#3a404a;--kp-text:#f5f6f8;--kp-text-secondary:#c7cad1;--kp-muted:#8f949e;
  --kp-accent:#d4af37;--kp-accent-strong:#f0d477;--kp-accent-contrast:#11100d;
  --kp-success:#58c98a;--kp-warning:#e7ab49;--kp-danger:#eb6874;--kp-info:#65a8ff;
  --kp-shadow:0 18px 54px rgba(0,0,0,.28);--kp-shadow-soft:0 10px 30px rgba(0,0,0,.16);--kp-glow:0 0 0 1px rgba(212,175,55,.1),0 14px 38px rgba(212,175,55,.08);
  --kp-radius-xs:8px;--kp-radius-sm:11px;--kp-radius-md:15px;--kp-radius-lg:20px;--kp-radius-xl:26px;
  --kp-space-1:4px;--kp-space-2:8px;--kp-space-3:12px;--kp-space-4:16px;--kp-space-5:22px;--kp-space-6:30px;
  --kp-chart-grid:#2b2f37;--kp-chart-text:#a6abb4;--kp-chart-label:#d7d9de;--kp-chart-1:#d4af37;--kp-chart-2:#58c98a;--kp-chart-3:#e66c77;--kp-chart-4:#6daaf2;--kp-chart-5:#9d85df;
  --kp-brand-safe:#d4af37;--kp-focus:#7fb1ff;
  --bg:var(--kp-bg);--panel:var(--kp-surface);--panel2:var(--kp-surface-elevated);--line:var(--kp-border);--text:var(--kp-text);--muted:var(--kp-muted);
  --gold:var(--kp-accent);--gold2:var(--kp-accent-strong);--danger:var(--kp-danger);--good:var(--kp-success);--info:var(--kp-info);--amber:var(--kp-warning);
}
:root[data-theme="light"]{
  color-scheme:light;
  --kp-bg:#f5f7fb;--kp-bg-soft:#eef2f7;--kp-surface:#ffffff;--kp-surface-elevated:#f9fbfd;
  --kp-border:#dce2ea;--kp-border-strong:#c9d1dc;--kp-text:#151922;--kp-text-secondary:#404958;--kp-muted:#697386;
  --kp-accent:#2563eb;--kp-accent-strong:#0f766e;--kp-accent-contrast:#ffffff;
  --kp-success:#087f5b;--kp-warning:#b86b07;--kp-danger:#c73d50;--kp-info:#2563eb;
  --kp-shadow:0 18px 50px rgba(29,40,58,.10);--kp-shadow-soft:0 8px 24px rgba(29,40,58,.07);--kp-glow:0 0 0 1px rgba(37,99,235,.08),0 12px 34px rgba(37,99,235,.08);
  --kp-chart-grid:#dce2ea;--kp-chart-text:#667085;--kp-chart-label:#263142;--kp-chart-1:#2563eb;--kp-chart-2:#0f8a67;--kp-chart-3:#d14b5a;--kp-chart-4:#0e7490;--kp-chart-5:#7c3aed;
  --kp-brand-safe:#2563eb;--kp-focus:#2563eb;
}
:root[data-theme="dark"]{color-scheme:dark}
*{scrollbar-color:color-mix(in srgb,var(--kp-muted) 38%,transparent) transparent}
html{background:var(--kp-bg);accent-color:var(--kp-accent);scroll-behavior:smooth}
body{background-color:var(--kp-bg);color:var(--kp-text);transition:background-color .18s ease,color .18s ease}
::selection{background:color-mix(in srgb,var(--kp-accent) 28%,transparent);color:var(--kp-text)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--kp-focus) 42%,transparent)!important;outline-offset:2px!important}
:where(input,select,textarea){font:inherit}
:where(button,[role="button"]){font:inherit}
/* Shared surfaces */
:where(.app-container,.teacher-page,.guide-page,.org-shell,.store-shell,.admin-content,.admin-nav,.admin-header,.profile-shell,.support-shell,.community-shell,.auth-shell,.register-shell){color:var(--kp-text)}
:where(.planner-card,.chart-card,.teacher-box,.guide-card,.stat-card,.sales-admin-card,.profile-card,.org-card,.org-panel,.store-card,.cart-card,.summary-card,.order-card,.detail-panel,.panel,.kpi,.task,.student-row,.action-row,.modal-card,.auth-shell,.register-shell){border-color:var(--kp-border)!important;box-shadow:var(--kp-shadow-soft)}
:where(.btn,.org-btn,.store-btn,.tab-btn,.secondary-action,.top-nav-btn,.demo-role-options button){transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
:where(.btn,.org-btn,.store-btn,.tab-btn,.secondary-action,.top-nav-btn):active{transform:translateY(1px)}
:where(button,input,select,textarea):disabled{cursor:not-allowed!important;opacity:.56!important}
.kp-loading,[aria-busy="true"]{pointer-events:none;position:relative}.kp-loading:after,[aria-busy="true"]:after{content:"";display:inline-block;width:14px;height:14px;margin-inline-start:8px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:kpSpin .7s linear infinite;vertical-align:-2px}
@keyframes kpSpin{to{transform:rotate(1turn)}}
.kp-skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--kp-surface-elevated) 88%,var(--kp-border))}.kp-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--kp-text) 7%,transparent),transparent);animation:kpShimmer 1.15s infinite}@keyframes kpShimmer{to{transform:translateX(100%)}}
.kp-empty-state,.empty-state{border:1px dashed var(--kp-border-strong)!important;background:color-mix(in srgb,var(--kp-surface) 95%,var(--kp-bg))!important;color:var(--kp-muted)!important;border-radius:var(--kp-radius-lg)!important}
.kp-error-state{border:1px solid color-mix(in srgb,var(--kp-danger) 35%,var(--kp-border));background:color-mix(in srgb,var(--kp-danger) 7%,var(--kp-surface));color:var(--kp-danger);border-radius:var(--kp-radius-lg);padding:18px;text-align:center}
/* Theme switcher */
.kp-theme-switcher{position:fixed;z-index:9990;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:3px;padding:4px;border:1px solid var(--kp-border);border-radius:999px;background:color-mix(in srgb,var(--kp-surface) 92%,transparent);box-shadow:var(--kp-shadow);backdrop-filter:blur(14px);direction:ltr}
.kp-theme-switcher button{width:34px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--kp-muted);cursor:pointer;display:grid;place-items:center;font-size:14px}.kp-theme-switcher button[aria-pressed="true"]{background:var(--kp-accent);color:var(--kp-accent-contrast);box-shadow:var(--kp-glow)}
.kp-theme-switcher button:hover{color:var(--kp-text)}
/* Dark premium */
:root[data-theme="dark"] body{background-image:radial-gradient(circle at 50% -12%,rgba(212,175,55,.07),transparent 32%)}
/* Light is intentionally redesigned, not inverted */
:root[data-theme="light"] body{background-image:radial-gradient(circle at 10% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 90% 10%,rgba(15,118,110,.05),transparent 25%)}
:root[data-theme="light"] :where(.app-container,.org-shell,.teacher-page,.guide-page,.profile-shell,.admin-content,.support-shell){background:transparent!important;color:var(--kp-text)!important}
:root[data-theme="light"] :where(.app-header,.teacher-header,.guide-header,.admin-header,.store-top,.org-head,.nav-tabs,.admin-nav){background:color-mix(in srgb,var(--kp-surface) 94%,transparent)!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important;box-shadow:0 6px 26px rgba(29,40,58,.06)!important}
:root[data-theme="light"] :where(.planner-card,.chart-card,.teacher-box,.guide-card,.stat-card,.sales-admin-card,.profile-card,.org-card,.org-panel,.cart-card,.summary-card,.order-card,.detail-panel,.panel,.kpi,.task,.student-row,.action-row,.modal-card,.auth-shell,.register-shell,.subscription-card,.admin-card){background:var(--kp-surface)!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important;box-shadow:var(--kp-shadow-soft)!important}
:root[data-theme="light"] :where(input,select,textarea,.form-control,.filters input,.filters select,.coupon-row input){background:#fff!important;border-color:var(--kp-border-strong)!important;color:var(--kp-text)!important}
:root[data-theme="light"] :where(input,textarea)::placeholder{color:#8992a3!important}
:root[data-theme="light"] :where(.btn-secondary-sm,.store-btn,.org-btn:not(.primary),.secondary-action,.tab-btn){background:#f7f9fc!important;border-color:var(--kp-border)!important;color:var(--kp-text-secondary)!important}
:root[data-theme="light"] :where(.btn-gold,.btn-gold-sm,.btn-submit,.org-btn.primary,.store-btn.gold,.intro-actions .primary){background:linear-gradient(135deg,#2563eb,#0f766e)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 12px 30px rgba(37,99,235,.16)!important}
:root[data-theme="light"] :where(.muted,.org-muted,.seller,.section-head p,.panel-head small,.kpi small,.task small,.student-row small,.action-row small){color:var(--kp-muted)!important}
:root[data-theme="light"] :where(table,th,td){border-color:var(--kp-border)!important;color:var(--kp-text)!important}:root[data-theme="light"] th{background:#f2f5f9!important}
:root[data-theme="light"] :where(.status,.tag){border-color:var(--kp-border-strong)!important}
/* Store theme */
.store-shell{--store-card:var(--kp-surface);--store-border:var(--kp-border)}
:root[data-theme="light"] .store-top{background:rgba(255,255,255,.92)!important}
:root[data-theme="light"] .store-brand{color:var(--kp-text)!important}
:root[data-theme="light"] .store-brand-mark{background:linear-gradient(145deg,#eff6ff,#e8eef8)!important;border-color:#c6d4e7!important;color:#1d4ed8!important}
:root[data-theme="light"] .store-hero{background:linear-gradient(135deg,#f0f7ff,#ffffff 45%,#eefaf7)!important;border-color:#d4e2ef!important;box-shadow:var(--kp-shadow-soft)}
:root[data-theme="light"] .product-card{background:#fff!important;border-color:var(--kp-border)!important;box-shadow:0 12px 30px rgba(25,42,70,.08)!important}
:root[data-theme="light"] .product-media{background:linear-gradient(135deg,#eef2f7,#f9fbfd)!important}
:root[data-theme="light"] .product-name{color:var(--kp-text)!important}
:root[data-theme="light"] .price,.store-price{color:#0f766e!important}
:root[data-theme="light"] .add-cart{background:#eef6ff!important;border-color:#bfcef0!important;color:#1d4ed8!important}
:root[data-theme="light"] .type-badge{background:rgba(255,255,255,.92)!important;color:#39465a!important;border-color:#d4dce8!important}
:root[data-theme="light"] .official-badge{background:rgba(255,255,255,.94)!important;color:#8a6408!important;border-color:#d9bf6b!important}
:root[data-theme="light"] .store-bottom{background:rgba(255,255,255,.96)!important;border-color:var(--kp-border)!important}.store-bottom a{color:var(--kp-muted)!important}:root[data-theme="light"] .store-bottom a.active{color:#1d4ed8!important}
/* Auth */
:root[data-theme="light"] body.auth-page{background:#f5f7fb!important;color:var(--kp-text)!important}
:root[data-theme="light"] .auth-showcase{background:linear-gradient(150deg,#132238,#0f5961)!important}
:root[data-theme="light"] .auth-panel{background:#fff!important}.auth-brandline,.auth-heading h2{color:var(--kp-text)!important}
/* Brand-safe UI */
[data-brand-surface]{--brand-accent:var(--kp-brand-safe);border-color:color-mix(in srgb,var(--brand-accent) 36%,var(--kp-border))!important}
/* Modals/mobile */
.modal-overlay,.demo-role-modal{overscroll-behavior:contain}.modal-card,.demo-role-sheet{max-height:min(88dvh,780px);overflow:auto}
@media(max-width:700px){.modal-card,.demo-role-sheet{width:min(100%,560px)!important;max-height:calc(100dvh - 20px)!important}.kp-theme-switcher{left:8px;bottom:calc(70px + env(safe-area-inset-bottom));transform:scale(.92);transform-origin:left bottom}.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}}
/* Preserve marketplace requirement */
@media(max-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.product-media{aspect-ratio:1/1!important}.product-card{min-width:0!important;max-width:100%!important}}
/* Typography & mixed numerals */
body{font-variant-numeric:tabular-nums}.price,.detail-price,[data-money],[data-irr],.money,.amount{unicode-bidi:plaintext}.ltr{direction:ltr;unicode-bidi:isolate}
/* Consistent semantic colors */
:where(.success,.good,.status.successful,.status.paid,.status.completed){color:var(--kp-success)!important}.warning,.warn{color:var(--kp-warning)!important}.danger,.error{color:var(--kp-danger)!important}.info{color:var(--kp-info)!important}
/* Print */
@media print{.kp-theme-switcher{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Landing + demo final theming */
body{overflow-x:visible}
:root[data-theme="light"] .one-screen-intro{background:transparent!important}
:root[data-theme="light"] .intro-logo{background:linear-gradient(145deg,#eef4ff,#e3f4f1)!important;border-color:#c9d7e8!important;color:#1d4ed8!important;box-shadow:var(--kp-shadow-soft)!important}
:root[data-theme="light"] .intro-badge{color:#0f766e!important}
:root[data-theme="light"] .intro-card h1{color:#141922!important}:root[data-theme="light"] .intro-card h1 em{color:#2563eb!important}
:root[data-theme="light"] .intro-card>p,.intro-note{color:var(--kp-muted)!important}
:root[data-theme="light"] .intro-mini-features{color:#465267!important}:root[data-theme="light"] .intro-mini-features i{background:#8ba2bf!important}
:root[data-theme="light"] .intro-actions .secondary,:root[data-theme="light"] .intro-actions .demo{background:#fff!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important;box-shadow:var(--kp-shadow-soft)!important}
:root[data-theme="light"] .demo-role-backdrop,.role-picker-backdrop{background:rgba(28,37,50,.48)!important}
:root[data-theme="light"] .demo-role-sheet,:root[data-theme="light"] .role-picker-sheet{background:#fff!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important}
:root[data-theme="light"] .demo-role-options>button,:root[data-theme="light"] .role-picker-options>button{background:#f8fafc!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important}
:root[data-theme="light"] .demo-topbar{background:rgba(255,255,255,.92)!important;border-color:var(--kp-border)!important}
:root[data-theme="light"] .demo-sidebar{background:#f8fafc!important;border-color:var(--kp-border)!important}
:root[data-theme="light"] .demo-role-card,:root[data-theme="light"] .task,:root[data-theme="light"] .student-row,:root[data-theme="light"] .action-row{background:#f8fafc!important;border-color:var(--kp-border)!important}
:root[data-theme="light"] .demo-sidebar nav button.active,:root[data-theme="light"] .demo-sidebar nav button:hover{background:#eaf2ff!important;color:#1d4ed8!important}
:root[data-theme="light"] .demo-mobile-nav{background:rgba(255,255,255,.96)!important;border-color:var(--kp-border)!important}
:root[data-theme="light"] .demo-mobile-nav button.active{background:#eaf2ff!important;color:#1d4ed8!important}
:root[data-theme="light"] .progress-track{background:#dce3ec!important}:root[data-theme="light"] .progress-track i{background:linear-gradient(90deg,#2563eb,#0f766e)!important}
:root[data-theme="light"] .chart-bars i{background:linear-gradient(#2563eb,#7dd3c7)!important}
:root[data-theme="light"] .notice{background:#eef7ff!important;border-color:#c8dbef!important;color:#31506f!important}
:root[data-theme="light"] .demo-product-media{background:linear-gradient(145deg,#eef4ff,#edf8f6)!important;color:#1d4ed8!important}
:root[data-theme="light"] .demo-sim-action{background:#eef4ff!important;border-color:#c8d8f0!important;color:#1d4ed8!important}
/* Generic organization/admin light surfaces */
:root[data-theme="light"] :where(.org-head,.org-card,.commercial-card,.marketplace-card,.finance-card,.admin-marketplace-card,.admin-finance-card){background:#fff!important;border-color:var(--kp-border)!important;color:var(--kp-text)!important}
:root[data-theme="light"] :where(.org-nav a,.admin-nav a){color:#4b5565!important}:root[data-theme="light"] :where(.org-nav a.active,.admin-nav a.active){background:#eaf2ff!important;color:#1d4ed8!important}
/* Semantic finance states */
.kp-balance-pending{--kp-state:var(--kp-warning)}.kp-balance-available{--kp-state:var(--kp-success)}.kp-balance-reserved{--kp-state:var(--kp-info)}.kp-balance-settled{--kp-state:var(--kp-muted)}
:where(.kp-balance-pending,.kp-balance-available,.kp-balance-reserved,.kp-balance-settled){border-color:color-mix(in srgb,var(--kp-state) 30%,var(--kp-border))!important;box-shadow:inset 0 3px 0 color-mix(in srgb,var(--kp-state) 60%,transparent)}
/* Forms and state consistency */
:where(input,select,textarea):user-invalid{border-color:color-mix(in srgb,var(--kp-danger) 62%,var(--kp-border))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--kp-danger) 10%,transparent)!important}
:where(input,select,textarea):focus{border-color:color-mix(in srgb,var(--kp-focus) 55%,var(--kp-border))!important}
[aria-current="page"]{color:var(--kp-accent-strong)!important;border-color:color-mix(in srgb,var(--kp-accent) 35%,var(--kp-border))!important}
.finance-balance-grid article small{display:block;margin-top:6px;color:var(--kp-muted);font-size:10px;line-height:1.7}
@media(max-width:430px){.finance-balance-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.finance-balance-grid article{padding:12px!important}.finance-balance-grid strong{font-size:15px!important}.finance-balance-grid article small{font-size:8px}}

/* v18.38 unified theme tokens */
:root,[data-theme="dark"]{--kp-bg:#08090b;--kp-surface:#111318;--kp-surface-2:#171a21;--kp-text:#f6f7fb;--kp-muted:#a9afbb;--kp-border:#2a2f39;--kp-accent:#d7ae3d;color-scheme:dark}
[data-theme="light"]{--kp-bg:#f5f7fb;--kp-surface:#fff;--kp-surface-2:#eef2f8;--kp-text:#15203a;--kp-muted:#5d687b;--kp-border:#dce2eb;--kp-accent:#b8860b;color-scheme:light}
html,body{background:var(--kp-bg)!important;color:var(--kp-text)!important} body,.page,.app-shell,.store-shell,.org-shell,.admin-shell{background:var(--kp-bg)!important;color:var(--kp-text)}
.card,.panel,.modal,.dropdown,.summary-card,.cart-card,.detail-panel,.org-card,.admin-card,input,select,textarea{background:var(--kp-surface)!important;color:var(--kp-text)!important;border-color:var(--kp-border)!important}
.kp-official-logo{background:transparent!important;object-fit:contain!important;aspect-ratio:auto!important}.kp-cobrand{display:flex;align-items:center;gap:10px}.kp-cobrand img{max-height:42px;max-width:110px;object-fit:contain}
@media(max-width:600px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.product-card{min-width:0!important}.modal,.dialog{max-width:100%!important}.org-topnav{overflow:visible!important}.org-nav-links{display:none!important}.touch-target,button,a{min-height:44px}body{overflow-x:visible}}
@media(min-width:601px) and (max-width:1024px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1025px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
