
:root{--pp-bg:#f6f8fc;--pp-card:#fff;--pp-text:#111827;--pp-muted:#4b5563;--pp-line:#d9e0ea;--pp-brand:#4f46e5;--pp-good:#166534;--pp-warn:#92400e;--pp-danger:#991b1b}*{box-sizing:border-box}body{margin:0;background:var(--pp-bg);color:var(--pp-text);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.pp-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.pp-side{background:#111827;color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}.pp-brand{font-size:20px;font-weight:800;margin-bottom:26px}.pp-side a{display:block;color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:10px;margin:3px 0}.pp-side a:hover,.pp-side a[aria-current=page]{background:#312e81;color:#fff}.pp-main{padding:30px;max-width:1400px;width:100%}.pp-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.pp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pp-card{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.pp-card h2,.pp-card h3{margin-top:0}.pp-muted{color:var(--pp-muted)}.pp-kpi strong{display:block;font-size:28px}.pp-btn{appearance:none;border:0;border-radius:10px;background:var(--pp-brand);color:#fff;font-weight:750;padding:11px 16px;cursor:pointer}.pp-btn.secondary{background:#e0e7ff;color:#312e81}.pp-btn.danger{background:#b91c1c}.pp-btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.pp-form{display:grid;gap:14px}.pp-form label{font-weight:700}.pp-form input,.pp-form select,.pp-form textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #9ca3af;border-radius:9px;background:#fff;color:#111827}.pp-form textarea{min-height:110px}.pp-table{width:100%;border-collapse:collapse}.pp-table th,.pp-table td{text-align:left;padding:11px;border-bottom:1px solid var(--pp-line);vertical-align:top}.pp-table th{font-size:14px;color:#374151}.pp-status{display:inline-flex;border-radius:999px;padding:4px 9px;background:#e5e7eb;color:#1f2937;font-size:13px;font-weight:750}.pp-progress{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.pp-progress>span{display:block;height:100%;background:#4f46e5}.pp-notice{padding:14px;border-radius:10px;background:#eef2ff;color:#312e81}.pp-error{background:#fee2e2;color:#7f1d1d}.pp-success{background:#dcfce7;color:#14532d}.pp-empty{text-align:center;padding:32px;color:#4b5563}.pp-lesson{white-space:pre-line}.pp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.pp-hidden{display:none!important}@media(max-width:900px){.pp-shell{grid-template-columns:1fr}.pp-side{height:auto;position:static}.pp-side nav{display:flex;overflow:auto;gap:5px}.pp-side a{white-space:nowrap}.pp-grid{grid-template-columns:repeat(2,1fr)}.pp-main{padding:20px}}@media(max-width:560px){.pp-grid{grid-template-columns:1fr}.pp-main{padding:14px}.pp-table,.pp-table tbody,.pp-table tr,.pp-table td{display:block}.pp-table thead{display:none}.pp-table tr{border:1px solid var(--pp-line);border-radius:12px;margin:10px 0;padding:8px;background:#fff}.pp-table td{border:0;padding:6px}.pp-table td::before{content:attr(data-label);display:block;font-weight:750;font-size:12px;color:#4b5563}}

/* v121 Checkpoint 8 accessibility hardening */
.pp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pp-card>div{max-width:100%;overflow-x:auto}.pp-card hr{border:0;border-top:1px solid var(--pp-line);margin:24px 0}.pp-btn[disabled]{cursor:not-allowed;opacity:.65}.pp-btn:hover:not([disabled]){filter:brightness(.96)}.pp-side a:focus-visible{background:#312e81;color:#fff}.pp-form input:invalid:focus,.pp-form select:invalid:focus,.pp-form textarea:invalid:focus{border-color:#b91c1c}.pp-table caption{padding:8px;text-align:left;font-weight:750}.pp-table td,.pp-table th{min-width:110px}.pp-table td:first-child,.pp-table th:first-child{min-width:150px}
@media(prefers-color-scheme:dark){:root{--pp-bg:#09111f;--pp-card:#111c2e;--pp-text:#f8fafc;--pp-muted:#c7d2e1;--pp-line:#334155;--pp-brand:#818cf8;--pp-good:#86efac;--pp-warn:#fcd34d;--pp-danger:#fecaca}body{background:var(--pp-bg);color:var(--pp-text)}.pp-card{box-shadow:0 8px 28px rgba(0,0,0,.2)}.pp-btn{background:#6366f1}.pp-btn.secondary{background:#24345f;color:#e0e7ff}.pp-btn.danger{background:#991b1b;color:#fff}.pp-form input,.pp-form select,.pp-form textarea,.pp-table tr{background:#0f172a;color:#f8fafc;border-color:#475569}.pp-status{background:#334155;color:#f8fafc}.pp-progress,.pp-empty{color:var(--pp-muted)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(min-width:561px){.pp-table{min-width:680px}}
