/* Ingenio v1.7 unified visual layer. CSS only: no backend changes. */
:root{--v17-bg:#f7f8fc;--v17-surface:#fff;--v17-ink:#101828;--v17-muted:#667085;--v17-line:#e6eaf0;--v17-primary:#4f46e5;--v17-shadow:0 6px 26px rgba(16,24,40,.045);--v17-radius:18px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}body{background:var(--v17-bg);color:var(--v17-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
body main.wrap{width:min(100% - 32px,1320px);max-width:1320px;margin-inline:auto;padding-block:28px 72px}
a{color:var(--v17-primary);text-underline-offset:3px}a:hover{opacity:.88}
:where(h1,h2,h3){color:var(--v17-ink);letter-spacing:-.035em;line-height:1.22}h1{font-size:clamp(2rem,3vw,3rem)}h2{font-size:clamp(1.35rem,2vw,1.85rem)}
:where(.card,.lms-panel,.formbox,.hub-panel,.hub-metric,.hub-quicklinks>a,.lms-hero,.hub-banner,.lms165-review,.lms1632-q){background:var(--v17-surface);border:1px solid var(--v17-line);border-radius:var(--v17-radius);box-shadow:var(--v17-shadow)}
:where(.lms-panel,.formbox,.hub-panel,.hub-banner){padding:clamp(18px,2.5vw,32px)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){max-width:100%;min-height:44px;border:1px solid #d6dce6;border-radius:11px;background:#fff;color:var(--v17-ink);padding:10px 13px;font:inherit;transition:border-color .18s,box-shadow .18s}
:where(input,select,textarea):focus-visible{outline:2px solid #a5b4fc;outline-offset:1px;border-color:var(--v17-primary)}textarea{min-height:105px;resize:vertical}
:where(button,.btn,.lms-btn,.hub-primarybtn,input[type=submit]){font:inherit;font-weight:650;border-radius:11px;min-height:42px;transition:transform .15s,box-shadow .15s;cursor:pointer}
:where(button,.btn,.lms-btn,.hub-primarybtn,input[type=submit]):hover{transform:translateY(-1px)}
:where(button,.btn,.lms-btn,.hub-primarybtn,input[type=submit]):focus-visible{outline:3px solid #a5b4fc;outline-offset:2px}
:where(.lms-btn,.hub-primarybtn){background:var(--v17-primary);border-color:var(--v17-primary);color:#fff;padding:10px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
:where(.lms-form,.formbox form){display:grid;gap:15px}:where(.lms-form label,.formbox label){display:grid;gap:6px;font-weight:600}
:where(.tablewrap,.lms-panel){overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.94rem}th{background:#f8fafc;color:#475467;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;font-weight:750}th,td{padding:13px 15px;border-bottom:1px solid var(--v17-line);text-align:left;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbff}
:where(.hub-tag,.status){border-radius:999px;padding:4px 10px;font-size:.79rem;font-weight:700}
:where(.hub-sidebar){background:#111827;color:#e5e7eb}:where(.hub-sidenav a){border-radius:10px}:where(.hub-sidenav a.active){background:#312e81;color:#fff}
:where(.hub-metric strong){font-size:clamp(1.7rem,2.8vw,2.5rem);letter-spacing:-.04em}
:where(.top,.nav){background:#fff}:where(.top){border-bottom:1px solid var(--v17-line)}
:where(.lms-hero){padding:clamp(24px,4vw,52px);margin-bottom:22px;background:linear-gradient(125deg,#fff 60%,#eef2ff)}
:where(.lms165-review,.lms1632-q){padding:16px;margin-block:12px}
:where(.lms-learning,.hub-dashboard-grid,.split){gap:20px}
:where(.notice){border-radius:12px;padding:12px 16px;background:#ecfdf3;border:1px solid #abefc6;color:#05603a}
:where(.error,[role=alert]){border-radius:12px;padding:12px 16px;background:#fef3f2;border:1px solid #fecdca;color:#b42318}
:where(details){border:1px solid var(--v17-line);border-radius:12px;padding:12px 16px;background:#fff;margin-block:10px}:where(summary){cursor:pointer;font-weight:700}
:where(img,video,iframe){max-width:100%}img{height:auto}video{border-radius:14px}
@media(max-width:900px){body main.wrap{width:min(100% - 24px,1320px);padding-block:18px 44px}.hub-admin{min-width:0}.hub-workspace{min-width:0}.hub-metrics,.hub-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}}
@media(max-width:600px){:where(.lms-panel,.formbox,.hub-panel,.hub-banner){padding:17px}:where(.hub-toolbar){gap:12px}:where(.hub-toolbar-actions){flex-wrap:wrap}th,td{padding:11px 10px;font-size:.83rem}button,.lms-btn{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
