#kacmbl-app, #kacmbl-app * { box-sizing: border-box; font-family: Arial, Helvetica, sans-serif; }
#kacmbl-app { --ink:#1e293b; --muted:#64748b; --line:#d8dee8; --soft:#f6f8fb; --accent:#1f4f78; --warn:#fff8e8; display:grid; grid-template-columns:260px minmax(0,1fr); background:#fff; color:var(--ink); min-height:760px; border:1px solid var(--line); }
#kacmbl-app .kacmbl-sidebar { background:#fff !important; color:var(--ink) !important; border-right:1px solid var(--line); padding:22px 14px; position:sticky; top:0; height:100vh; align-self:start; z-index:4; }
#kacmbl-app .kacmbl-side-title { font-size:15px; line-height:1.35; font-weight:700; padding:5px 9px 18px; }
#kacmbl-app .kacmbl-nav { display:block !important; width:100% !important; margin:0 0 7px !important; padding:12px 11px !important; text-align:left !important; border:1px solid transparent !important; border-radius:5px !important; background:#fff !important; color:#1e293b !important; font-size:14px !important; line-height:1.35 !important; font-weight:600 !important; box-shadow:none !important; text-shadow:none !important; }
#kacmbl-app .kacmbl-nav:hover { background:#f4f7fa !important; color:#1e293b !important; border-color:#d8dee8 !important; }
#kacmbl-app .kacmbl-nav.is-active { background:#eef4f8 !important; color:#163f61 !important; border-color:#b8cad9 !important; }
#kacmbl-app .kacmbl-side-note { margin-top:22px; padding:12px 9px; font-size:12px; color:var(--muted); border-top:1px solid var(--line); }
#kacmbl-app .kacmbl-main { min-width:0; padding:0 30px 30px; background:#fff; }
#kacmbl-app .kacmbl-header { position:sticky; top:0; z-index:3; background:#fff; border-bottom:1px solid var(--line); padding:22px 0 16px; display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
#kacmbl-app .kacmbl-header h1 { margin:0 0 6px; font-size:24px; line-height:1.2; color:var(--ink); }
#kacmbl-app .kacmbl-header p { margin:0; color:var(--muted); font-size:14px; }
#kacmbl-app .kacmbl-page-counter { font-size:13px; color:var(--muted); white-space:nowrap; padding-top:5px; }
#kacmbl-app .kacmbl-page { display:none; padding:28px 0 8px; }
#kacmbl-app .kacmbl-page.is-active { display:block; }
#kacmbl-app h2 { font-size:24px; margin:4px 0 12px; color:var(--ink); }
#kacmbl-app h3 { font-size:17px; margin:0 0 10px; color:var(--ink); }
#kacmbl-app h4 { margin:0 0 6px; font-size:14px; }
#kacmbl-app p, #kacmbl-app li { font-size:14px; line-height:1.62; }
#kacmbl-app .kacmbl-lead { font-size:16px; color:#334155; max-width:980px; }
#kacmbl-app .kacmbl-eyebrow { font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--accent); margin-bottom:6px; }
#kacmbl-app .kacmbl-hero { padding:26px; background:var(--soft); border:1px solid var(--line); margin-bottom:18px; }
#kacmbl-app .kacmbl-card { border:1px solid var(--line); background:#fff; padding:20px; margin:0 0 18px; border-radius:6px; box-shadow:none; }
#kacmbl-app .kacmbl-highlight { background:#f8fbfd; border-left:4px solid var(--accent); }
#kacmbl-app .kacmbl-reflection { background:#fafafa; }
#kacmbl-app .kacmbl-grid-2, #kacmbl-app .kacmbl-grid-3 { display:grid; gap:16px; margin:0 0 18px; }
#kacmbl-app .kacmbl-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
#kacmbl-app .kacmbl-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
#kacmbl-app .kacmbl-grid-2 .kacmbl-card, #kacmbl-app .kacmbl-grid-3 .kacmbl-card { margin:0; }
#kacmbl-app .kacmbl-grid-5 { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
#kacmbl-app .kacmbl-grid-5 div { padding:14px 10px; background:var(--soft); border:1px solid var(--line); font-size:13px; font-weight:600; text-align:center; }
#kacmbl-app .kacmbl-callout { margin-top:14px; padding:12px 14px; background:#fff; border:1px solid #c8d7e3; font-size:14px; }
#kacmbl-app .kacmbl-warning { background:var(--warn); border:1px solid #ead7a2; padding:13px 15px; margin:12px 0 16px; font-size:13px; line-height:1.55; }
#kacmbl-app details { border:1px solid var(--line); background:#fff; margin:9px 0; }
#kacmbl-app summary { cursor:pointer; padding:13px 15px; font-weight:700; font-size:14px; background:#f8fafc; }
#kacmbl-app details[open] summary { border-bottom:1px solid var(--line); }
#kacmbl-app .kacmbl-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:16px; }
#kacmbl-app .kacmbl-detail-grid p { margin:0; }
#kacmbl-app .kacmbl-link-btn { display:inline-block; margin:0 0 20px; padding:11px 15px; background:#1f4f78 !important; color:#fff !important; border:1px solid #1f4f78; text-decoration:none !important; font-weight:700; font-size:14px; border-radius:4px; }
#kacmbl-app .kacmbl-link-btn:hover { background:#173d5d !important; color:#fff !important; }
#kacmbl-app .kacmbl-table-wrap { overflow:auto; }
#kacmbl-app .kacmbl-table { width:100%; border-collapse:collapse; }
#kacmbl-app .kacmbl-table th, #kacmbl-app .kacmbl-table td { border:1px solid var(--line); padding:10px; text-align:left; vertical-align:top; font-size:13px; line-height:1.5; }
#kacmbl-app .kacmbl-table th { background:var(--soft); }
#kacmbl-app .kacmbl-steps { margin:0; padding-left:21px; }
#kacmbl-app .kacmbl-status-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0; }
#kacmbl-app .kacmbl-status-grid div { border:1px solid var(--line); background:var(--soft); padding:12px; }
#kacmbl-app .kacmbl-status-grid span { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; }
#kacmbl-app .kacmbl-status-grid strong { font-size:14px; }
#kacmbl-app .kacmbl-small { font-size:12px; color:var(--muted); }
#kacmbl-app .kacmbl-sources { margin-top:28px; border-top:1px solid var(--line); padding:20px 0 0; }
#kacmbl-app .kacmbl-sources p { margin:7px 0; }
#kacmbl-app .kacmbl-footer-nav { display:flex; justify-content:space-between; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
#kacmbl-app .kacmbl-footer-nav button { min-width:105px !important; padding:10px 14px !important; border:1px solid #b9c4cf !important; background:#fff !important; color:#1e293b !important; border-radius:4px !important; font-weight:700 !important; }
#kacmbl-app .kacmbl-footer-nav button:hover:not(:disabled) { background:#f4f7fa !important; }
#kacmbl-app .kacmbl-footer-nav button:disabled { opacity:.45; cursor:not-allowed; }
@media(max-width:900px){#kacmbl-app{grid-template-columns:1fr}#kacmbl-app .kacmbl-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}#kacmbl-app .kacmbl-main{padding:0 18px 24px}#kacmbl-app .kacmbl-header{position:relative}#kacmbl-app .kacmbl-grid-3,#kacmbl-app .kacmbl-grid-2,#kacmbl-app .kacmbl-detail-grid{grid-template-columns:1fr}#kacmbl-app .kacmbl-grid-5,#kacmbl-app .kacmbl-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#kacmbl-app .kacmbl-grid-5,#kacmbl-app .kacmbl-status-grid{grid-template-columns:1fr}#kacmbl-app .kacmbl-header{display:block}#kacmbl-app .kacmbl-page-counter{margin-top:8px}}
#kacmbl-app .kacmbl-website { margin:-8px 0 20px; padding:10px 12px; border:1px solid var(--line); background:#fafafa; font-size:13px; word-break:break-word; }
#kacmbl-app .kacmbl-website a { color:#1f4f78 !important; text-decoration:underline !important; font-weight:600; }
#kacmbl-app .kacmbl-website span { color:var(--muted); margin-left:6px; }
#kacmbl-app .kacmbl-question { border:1px solid var(--line); background:#fff; padding:18px; margin:0 0 16px; border-radius:5px; }
#kacmbl-app .kacmbl-question label { display:block; padding:10px 12px; margin:7px 0; border:1px solid #dbe2ea; background:#fff; cursor:pointer; font-size:14px; line-height:1.45; }
#kacmbl-app .kacmbl-question label:hover { background:#f7f9fb; }
#kacmbl-app .kacmbl-question input { margin-right:9px; }
#kacmbl-app .kacmbl-question.is-correct { border-left:4px solid #2f6f4e; }
#kacmbl-app .kacmbl-question.is-incorrect { border-left:4px solid #9a4a3f; }
#kacmbl-app .kacmbl-feedback { margin-top:10px; font-size:13px; line-height:1.5; font-weight:600; }
#kacmbl-app .kacmbl-quiz-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:18px; }
#kacmbl-app .kacmbl-quiz-actions button { padding:10px 14px !important; border:1px solid #b9c4cf !important; background:#fff !important; color:#1e293b !important; border-radius:4px !important; font-weight:700 !important; }
#kacmbl-app .kacmbl-quiz-actions #kacmbl-check-quiz { background:#1f4f78 !important; border-color:#1f4f78 !important; color:#fff !important; }
#kacmbl-app .kacmbl-score { margin-left:auto; font-weight:700; font-size:14px; }
@media(max-width:620px){#kacmbl-app .kacmbl-score{width:100%;margin-left:0}}
