:root{color:#241a0d;font-synthesis:none;text-rendering:optimizelegibility;--accent:#e0780d;--accent-hover:#c26305;--accent-subtle:#fef3e6;--accent-border:#e0780d38;--border:#ded7cc;--panel:#fff;--muted:#776b5d;--success:#247535;--teal:#0b736b;--error:#ba2d1f;background:#f2efe8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--panel);height:100vh;padding:22px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:13px}.nav-list{gap:6px;display:grid}.nav-list button{color:#3d3020;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.nav-list button:hover,.nav-list button.active{border-color:var(--accent-border);background:var(--accent-subtle);color:#8f4c03}.main-content{padding:34px}.stack{gap:22px;max-width:1120px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-header.compact{align-items:center}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:34px;line-height:1.12}h2{margin-bottom:8px;font-size:17px}p{color:var(--muted);line-height:1.55}.icon-button{border:1px solid var(--border);background:var(--panel);color:#3d3020;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metric,.panel,.course-card,.empty-state,.status-panel,.loading-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;box-shadow:0 2px 8px #0000000a}.metric{padding:18px}.metric span,.details-list dt,.course-card footer{color:var(--muted);font-size:13px}.metric strong{overflow-wrap:anywhere;margin-top:8px;font-size:22px;display:block}.panel{padding:22px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0}.panel-heading span{color:var(--success);background:#e8f5eb;border:1px solid #2475352e;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.details-list{gap:12px;margin:0;display:grid}.details-list div{grid-template-columns:130px minmax(0,1fr);gap:12px;display:grid}.details-list dd{overflow-wrap:anywhere;margin:0}.search-input{border:1px solid var(--border);color:#241a0d;background:#fff;border-radius:8px;width:min(320px,100%);padding:10px 12px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.course-card{gap:16px;min-height:188px;padding:18px;display:grid}.course-icon{border:1px solid var(--accent-border);background:var(--accent-subtle);width:40px;height:40px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.course-card h2{overflow-wrap:anywhere}.course-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:0;display:-webkit-box;overflow:hidden}.course-card footer{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding-top:12px;display:flex}.empty-state,.status-panel,.loading-panel{align-items:center;gap:14px;padding:22px;display:flex}.status-panel{color:var(--error)}.status-panel h1{color:#241a0d;font-size:24px}.loading-panel{color:var(--accent)}.primary-link{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:inline-flex}.primary-link:hover{background:var(--accent-hover)}.as-button{margin-top:4px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px;position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:20px 14px}.page-header,.page-header.compact{flex-direction:column;align-items:stretch}.metric-grid{grid-template-columns:1fr}.details-list div{grid-template-columns:1fr;gap:4px}}
