.kourse-8{font-family:var(--k-font-ui);color:var(--k-ink);background:var(--k-canvas)}
.kourse-surface,.k8-panel,.k8-class-panel,.k8-class-summary{box-sizing:border-box;background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-radius-lg);box-shadow:var(--k-shadow-sm)}
.k8-panel{height:100%;padding:var(--k-panel-pad)}
.k8-eyebrow{display:block;margin:0 0 6px;color:var(--k-primary);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.k8-panel-head,.k8-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px}
.k8-panel-head h2,.k8-section-head h2{margin:0;color:var(--k-ink);font:800 22px/1.2 var(--k-font-display);letter-spacing:-.02em}
.k8-panel-head a{color:var(--k-primary);font-size:12px;font-weight:750;text-decoration:none}
.k8-empty{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px dashed var(--k-border);border-radius:14px;background:color-mix(in srgb,var(--k-surface-soft) 72%,transparent);color:var(--k-muted);line-height:1.45}
.k8-empty strong,.k8-empty span{display:block}.k8-empty strong{color:var(--k-ink)}.k8-empty.compact{font-size:13px;padding:16px}
.k8-panel-note{margin:16px 0 0;color:var(--k-muted);font-size:12px;line-height:1.45}
.k8-class-list,.k8-mini-feed{display:flex;flex-direction:column}.k8-mini-feed>a,.k8-mini-feed>div{display:flex;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid var(--k-border);color:var(--k-ink);text-decoration:none}.k8-mini-feed>*:first-child{border-top:0}.k8-mini-feed span{flex:1}.k8-mini-feed strong,.k8-mini-feed small{display:block}.k8-mini-feed small{color:var(--k-muted);font-size:12px;margin-top:3px}
.kourse-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:var(--k-radius-sm);background:var(--k-primary);color:#fff;font-weight:700;text-decoration:none}.kourse-action.is-prism{background:linear-gradient(110deg,var(--k-prism-start),var(--k-prism-end))}.kourse-status-attention{color:#9b5200;background:#fff4e8}.kourse-status-success{color:#067657;background:#eafaf4}.kourse-muted{color:var(--k-muted)}
.editor-styles-wrapper .k8-panel,.editor-styles-wrapper .k8-class-panel,.editor-styles-wrapper .k8-class-summary{background:var(--k-surface);border-color:var(--k-border)}

/* Kourse 9.3 note: application-page geometry moved to application-layout.css.
 * components.css now contains reusable component appearance only. */
