/* AckySHINE module UI — presentation only */
:root{--module-content-scale:1;--module-top-h:64px;--module-bottom-h:68px;--module-radius:16px;--module-shadow:0 12px 32px rgba(15,23,42,.10);--module-border:#e2e8f0;--module-text:#0f172a;--module-muted:#64748b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0!important;background:linear-gradient(180deg,#f8fafc 0%,var(--mod-soft,#f8fafc) 100%)!important;color:var(--module-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:calc(16px * var(--module-content-scale));line-height:1.55;padding-top:calc(var(--module-top-h) + 16px)!important;padding-bottom:calc(var(--module-bottom-h) + 24px)!important;min-height:100vh}
a{color:var(--mod-accent);text-decoration:none}a:hover{text-decoration:none}.mod-topbar{position:fixed;z-index:7000;top:0;left:0;right:0;height:var(--module-top-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--mod-top-bg,var(--mod-accent));color:var(--mod-top-fg,#fff);border-bottom:var(--mod-top-border,3px solid var(--mod-accent2));box-shadow:0 8px 24px rgba(15,23,42,.18);font-size:var(--mod-top-fs,14px)}
.mod-top-left,.mod-top-actions{display:flex;align-items:center;gap:8px;min-width:0}.mod-right-toggle{display:none!important}body.mod-has-right .mod-right-toggle{display:flex!important}.mod-brand{display:flex;align-items:center;gap:9px;color:inherit!important;min-width:max-content}.mod-brand-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.16);font-size:20px}.mod-brand strong,.mod-brand small{display:block;line-height:1.05}.mod-brand small{font-size:10px;opacity:.8;margin-top:3px;letter-spacing:.08em;text-transform:uppercase}
.mod-icon-btn,.mod-top-btn,.mod-menu-trigger,.mod-profile-trigger{border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;cursor:pointer;border-radius:10px!important;min-height:40px;padding:8px 10px!important;display:flex;align-items:center;gap:7px;box-shadow:none!important}.mod-icon-btn:hover,.mod-top-btn:hover,.mod-menu-trigger:hover,.mod-profile-trigger:hover,.mod-menu.open>.mod-menu-trigger,.mod-profile-menu.open>.mod-profile-trigger{background:var(--mod-top-hover,rgba(255,255,255,.14))!important}.mod-icon-btn{font-size:20px;padding:7px 10px!important}
.mod-top-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}.mod-menu,.mod-profile-menu{position:relative}.mod-menu-panel,.mod-profile-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:230px;padding:8px;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:#fff;color:#0f172a;box-shadow:0 18px 45px rgba(15,23,42,.22);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:.16s ease}.mod-menu-panel{left:0;right:auto}.mod-menu-panel:before,.mod-profile-panel:before{content:"";position:absolute;height:14px;left:0;right:0;top:-12px}.mod-menu:hover>.mod-menu-panel,.mod-menu.open>.mod-menu-panel,.mod-menu:focus-within>.mod-menu-panel,.mod-profile-menu:hover>.mod-profile-panel,.mod-profile-menu.open>.mod-profile-panel,.mod-profile-menu:focus-within>.mod-profile-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}.mod-menu-panel a,.mod-profile-panel a{display:flex!important;align-items:center;gap:9px;padding:9px 10px!important;border-radius:9px;color:#0f172a!important;font-size:13px}.mod-menu-panel a:hover,.mod-profile-panel a:hover{background:#f1f5f9!important;color:var(--mod-accent)!important}.mod-profile-trigger img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.75)}
.mod-sidebar{position:fixed;z-index:6500;left:0;top:var(--module-top-h);bottom:0;height:calc(100vh - var(--module-top-h));height:calc(100dvh - var(--module-top-h));width:var(--mod-left-w,260px);background:var(--mod-left-bg,#0f172a);color:var(--mod-left-fg,#f8fafc);font-size:var(--mod-left-fs,15px);display:flex;flex-direction:column;overflow:hidden;box-shadow:10px 0 32px rgba(15,23,42,.11);transition:transform .22s ease,width .22s ease}.mod-side-head{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid rgba(255,255,255,.10)}.mod-side-symbol{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:20px}.mod-side-head b,.mod-side-head small{display:block}.mod-side-head small{font-size:11px;opacity:.7}.mod-side-search{padding:10px}.mod-side-search input{width:100%;border:1px solid rgba(255,255,255,.13)!important;background:rgba(255,255,255,.08)!important;color:inherit!important;border-radius:10px!important;padding:10px 11px!important;outline:none}.mod-side-search input::placeholder{color:rgba(255,255,255,.6)}.mod-side-nav{padding:0 8px 12px;overflow:auto;flex:1}.mod-side-group{margin:4px 0}.mod-side-group-title{width:100%;display:flex;justify-content:space-between;align-items:center;padding:9px!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;opacity:.72;box-shadow:none!important}.mod-side-group.collapsed .mod-side-group-links{display:none}.mod-side-group-links a{display:flex!important;align-items:center;gap:10px;padding:10px!important;border-radius:10px;color:inherit!important;margin:2px 0}.mod-side-group-links a:hover{background:var(--mod-left-hover,var(--mod-accent))!important;color:#fff!important}.mod-side-group-links a.active{background:var(--mod-accent)!important;color:#fff!important;box-shadow:inset 3px 0 0 #fff}.mod-side-footer{padding:9px;border-top:1px solid rgba(255,255,255,.1)}.mod-side-footer button{width:100%;border:0!important;border-radius:10px!important;padding:9px!important;background:rgba(255,255,255,.08)!important;color:inherit!important;cursor:pointer}
.mod-rightbar{position:fixed;z-index:6400;right:0;top:var(--module-top-h);bottom:0;height:calc(100vh - var(--module-top-h));height:calc(100dvh - var(--module-top-h));width:var(--mod-right-w,300px);background:var(--mod-right-bg,#fff);color:var(--mod-right-fg,#0f172a);font-size:var(--mod-right-fs,14px);border-left:1px solid var(--module-border);overflow:auto;padding:14px;box-shadow:-10px 0 32px rgba(15,23,42,.07);transition:transform .22s ease}.mod-right-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.mod-right-head small,.mod-right-head strong{display:block}.mod-right-head small{color:var(--module-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.mod-right-head button{border:0!important;background:#f1f5f9!important;border-radius:9px!important;width:34px;height:34px;cursor:pointer;color:#0f172a!important}.mod-right-card,.mod-right-section{background:#fff;border:1px solid var(--module-border);border-radius:14px;padding:13px;margin-bottom:12px;box-shadow:0 4px 16px rgba(15,23,42,.04)}.mod-kicker{font-size:11px;color:var(--mod-accent);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.mod-right-card h3{margin:5px 0 6px;font-size:18px}.mod-right-card p{margin:0;color:var(--module-muted);font-size:13px}.mod-right-section h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#475569}.mod-quick-links{display:grid;gap:5px}.mod-quick-links a{padding:8px 9px!important;border-radius:9px;color:#334155!important;background:#f8fafc!important}.mod-quick-links a:hover{background:var(--mod-soft)!important;color:var(--mod-accent)!important}.mod-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mod-stat{background:var(--mod-soft);border:1px solid var(--module-border);border-radius:10px;padding:9px}.mod-stat b{display:block;font-size:17px}.mod-stat small{color:var(--module-muted)}
.mod-bottom{position:fixed;z-index:7100;left:0;right:0;bottom:0;height:var(--module-bottom-h);display:flex;align-items:stretch;justify-content:center;background:var(--mod-bottom-bg,#fff);color:var(--mod-bottom-fg,#334155);border-top:1px solid var(--module-border);box-shadow:0 -8px 26px rgba(15,23,42,.09);padding-bottom:env(safe-area-inset-bottom);font-size:var(--mod-bottom-fs,12px)}.mod-bottom a,.mod-bottom button{min-width:68px;max-width:120px;flex:1;border:0!important;background:transparent!important;color:inherit!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit!important;padding:5px!important;box-shadow:none!important}.mod-bottom a span,.mod-bottom button span{font-size:19px}.mod-bottom small{font-size:11px}.mod-bottom a:hover,.mod-bottom button:hover{color:var(--mod-accent)!important;background:var(--mod-soft)!important}
.mod-search-palette,.mod-font-panel,.mod-more-sheet,.mod-shell-backdrop{z-index:9000}.mod-search-palette[hidden],.mod-font-panel[hidden],.mod-more-sheet[hidden],.mod-shell-backdrop[hidden],.mod-side-group[hidden],.mod-side-group-links a[hidden],.mod-search-results a[hidden],.mod-search-empty[hidden]{display:none!important}.mod-shell-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}.mod-search-palette{position:fixed;inset:0;display:grid;place-items:start center;padding:10vh 16px;background:rgba(15,23,42,.45);backdrop-filter:blur(5px)}.mod-search-card{width:min(620px,100%);background:#fff;border-radius:18px;box-shadow:0 26px 70px rgba(15,23,42,.3);overflow:hidden}.mod-search-head,.mod-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--module-border)}.mod-search-head button,.mod-sheet-head button{border:0!important;background:#f1f5f9!important;border-radius:8px!important;width:34px;height:34px;font-size:20px;cursor:pointer;color:#0f172a!important}.mod-search-card>input{width:calc(100% - 28px);margin:14px;border:1px solid #cbd5e1!important;border-radius:12px!important;padding:12px 13px!important;font-size:16px!important;background:#fff!important;color:#0f172a!important}.mod-search-results{max-height:52vh;overflow:auto;padding:0 10px 12px}.mod-search-results a{display:grid!important;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:10px!important;border-radius:10px;color:#0f172a!important}.mod-search-results a:hover{background:var(--mod-soft)!important}.mod-search-results small{display:block;color:var(--module-muted)}.mod-search-empty{padding:20px;text-align:center;color:var(--module-muted)}.mod-font-panel{position:fixed;top:70px;right:14px;width:270px;background:#fff;border:1px solid var(--module-border);border-radius:14px;padding:14px;box-shadow:var(--module-shadow)}.mod-font-panel>div{display:flex;gap:5px;margin:10px 0}.mod-font-panel button{flex:1;border:1px solid #cbd5e1!important;background:#fff!important;color:#0f172a!important;border-radius:8px!important;padding:7px!important;cursor:pointer}.mod-font-panel button.active{background:var(--mod-accent)!important;color:#fff!important;border-color:var(--mod-accent)!important}.mod-font-panel a{font-size:12px}
.mod-more-sheet{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(680px,calc(100% - 20px));max-height:72vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 80px rgba(15,23,42,.35)}.mod-sheet-handle{width:44px;height:4px;background:#cbd5e1;border-radius:9px;margin:9px auto 0}.mod-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.mod-sheet-grid a{display:flex!important;align-items:center;gap:9px;padding:12px!important;border:1px solid var(--module-border);border-radius:12px;color:#0f172a!important;background:#fff!important}.mod-sheet-grid a:hover{border-color:var(--mod-accent);background:var(--mod-soft)!important}
body.mod-has-left{padding-left:var(--mod-left-w,260px)!important}body.mod-has-right{padding-right:var(--mod-right-w,300px)!important}body.mod-left-collapsed{padding-left:78px!important}.mod-left-collapsed .mod-sidebar{width:78px}.mod-left-collapsed .mod-side-head>span:last-child,.mod-left-collapsed .mod-side-search,.mod-left-collapsed .mod-side-group-title span,.mod-left-collapsed .mod-side-group-title b,.mod-left-collapsed .mod-side-group-links a span:last-child,.mod-left-collapsed .mod-side-footer span{display:none}.mod-left-collapsed .mod-side-group-links a{justify-content:center;font-size:18px}body.mod-right-closed{padding-right:0!important}.mod-right-closed .mod-rightbar{transform:translateX(105%)}
body .main-content{margin-left:0!important;margin-right:0!important;width:auto!important;max-width:none!important}body .container,body .dashboard-container,body .content-container,body .page-container,body .content-wrapper{max-width:min(1180px,calc(100vw - 48px));margin-left:auto!important;margin-right:auto!important}
h1{font-size:clamp(1.75rem,2vw,2.35rem)!important;line-height:1.15!important;color:#0f172a!important}h2{font-size:clamp(1.35rem,1.55vw,1.75rem)!important;color:#0f172a!important}h3{font-size:1.12rem!important}p,li{line-height:1.65}label{font-weight:700;color:#334155}
input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit!important;color:#0f172a!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:11px!important;min-height:44px;padding:10px 12px!important}textarea{min-height:110px}input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--mod-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--mod-accent) 16%,transparent)!important}
button,input[type=submit],.btn,.button,.submit-btn,.action-btn{font:inherit!important;min-height:42px;border-radius:10px!important;border:1px solid transparent!important;padding:9px 13px!important;cursor:pointer;transition:.16s ease;background:var(--mod-accent)!important;color:#fff!important;font-weight:750!important}.btn:hover,.button:hover,button:hover,input[type=submit]:hover{filter:brightness(.94)}[class*="delete"],[class*="danger"],.danger,.delete-btn{background:#b91c1c!important;color:#fff!important}.cancel-btn,.btn-secondary,.secondary,.back-btn{background:#fff!important;color:#334155!important;border-color:#cbd5e1!important}
table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}th{background:#f8fafc!important;color:#334155!important;font-size:.82rem!important;text-transform:uppercase;letter-spacing:.04em}th,td{padding:11px 12px!important;border-bottom:1px solid #eef2f7!important;text-align:left!important}tr:last-child td{border-bottom:0!important}tbody tr:hover{background:#f8fafc}.mod-table-wrap{overflow:auto;max-width:100%;border-radius:14px;margin:10px 0}
form,.card,.panel,.box,.section,.content-card{max-width:100%}.card,.panel,.box,.content-card{border-radius:16px!important}
@media(max-width:1220px){body.mod-has-right{padding-right:0!important}.mod-rightbar{transform:translateX(105%)}body.mod-right-open .mod-rightbar{transform:none}.mod-right-toggle{display:flex!important}}
@media(max-width:900px){:root{--module-top-h:60px;--module-bottom-h:66px}body{padding-left:0!important;padding-right:0!important}.mod-sidebar{transform:translateX(-105%);width:min(88vw,var(--mod-left-w,280px))}.mod-left-collapsed .mod-sidebar{width:min(88vw,var(--mod-left-w,280px))}body.mod-left-open .mod-sidebar{transform:none}.mod-top-nav{display:none}.mod-profile-trigger>span,.mod-top-btn>span{display:none}.mod-brand small{display:none}.mod-rightbar{width:min(92vw,var(--mod-right-w,320px))}.mod-bottom a,.mod-bottom button{min-width:58px}.mod-sheet-grid{grid-template-columns:repeat(2,1fr)}body .container,body .dashboard-container,body .content-container,body .page-container,body .content-wrapper{max-width:calc(100vw - 22px)!important;padding-left:0!important;padding-right:0!important}}
@media(max-width:520px){.mod-brand strong{font-size:13px}.mod-brand-icon{width:32px;height:32px}.mod-icon-btn,.mod-top-btn{padding:6px 7px!important}.mod-bottom a,.mod-bottom button{min-width:0!important}.mod-bottom small{font-size:10px}.mod-bottom a span,.mod-bottom button span{font-size:18px}.mod-sheet-grid{grid-template-columns:1fr}.mod-stat-grid{grid-template-columns:1fr}}
@media print{.mod-topbar,.mod-sidebar,.mod-rightbar,.mod-bottom,.mod-search-palette,.mod-font-panel,.mod-more-sheet,.mod-shell-backdrop{display:none!important}body{padding:0!important;background:#fff!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ===== Mobile drawer & small-screen reliability patch ===== */
/* Layering: shade is always UNDER drawers and sheets. */
.mod-shell-backdrop{z-index:7450!important;background:rgba(15,23,42,.34)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.mod-sidebar,.mod-rightbar{opacity:1!important;visibility:visible!important;isolation:isolate}
.mod-search-palette{z-index:9800!important}.mod-font-panel{z-index:9700!important}.mod-more-sheet{z-index:9600!important}.mod-topbar{z-index:8200!important}.mod-bottom{z-index:8300!important}
body.mod-ui-lock{overflow:hidden!important}
body:not(.mod-has-left) [data-mod-left-toggle],body:not(.mod-has-right) [data-mod-right-toggle]{display:none!important}
.mod-side-nav,.mod-rightbar,.mod-more-sheet{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* Full-height sidebar rule: paint to viewport bottom; reserve dock clearance inside scrolling content. */
.mod-sidebar,.mod-rightbar{min-height:calc(100vh - var(--module-top-h));min-height:calc(100dvh - var(--module-top-h))}
.mod-rightbar{scroll-padding-bottom:calc(var(--module-bottom-h) + 24px)}
.mod-side-nav{scroll-padding-bottom:calc(var(--module-bottom-h) + 24px)}
@media (max-width:1220px){
 .mod-rightbar{z-index:7800!important;width:min(360px,92vw)!important;max-width:92vw!important;transform:translate3d(105%,0,0)!important;background:var(--mod-right-bg,#fff)!important;box-shadow:-18px 0 45px rgba(15,23,42,.24)!important}
 body.mod-right-open .mod-rightbar{transform:translate3d(0,0,0)!important}
 body.mod-right-closed .mod-rightbar{transform:translate3d(105%,0,0)!important}
}
@media (max-width:900px){
 :root{--module-top-h:58px;--module-bottom-h:66px}
 body,body.mod-has-left,body.mod-has-right,body.mod-left-collapsed,body.mod-right-closed{padding-left:0!important;padding-right:0!important}
 .mod-shell-backdrop{top:var(--module-top-h)!important;bottom:0!important;left:0;right:0}
 .mod-sidebar{z-index:7800!important;top:var(--module-top-h)!important;bottom:0!important;height:calc(100vh - var(--module-top-h))!important;height:calc(100dvh - var(--module-top-h))!important;width:min(340px,92vw)!important;max-width:92vw!important;transform:translate3d(-105%,0,0)!important;background:var(--mod-left-bg,#0f172a)!important;box-shadow:18px 0 45px rgba(15,23,42,.28)!important}
 body.mod-left-open .mod-sidebar{transform:translate3d(0,0,0)!important}
 .mod-rightbar{top:var(--module-top-h)!important;bottom:0!important;height:calc(100vh - var(--module-top-h))!important;height:calc(100dvh - var(--module-top-h))!important;width:min(360px,92vw)!important;max-width:92vw!important}
 .mod-side-head{flex:0 0 auto}.mod-side-nav{min-height:0;flex:1 1 auto;overflow-y:auto!important}.mod-side-footer{flex:0 0 auto}
.mod-side-footer{padding-bottom:calc(9px + env(safe-area-inset-bottom))}
.mod-side-nav{padding-bottom:calc(var(--module-bottom-h) + 18px + env(safe-area-inset-bottom))!important}
.mod-rightbar{padding-bottom:calc(var(--module-bottom-h) + 20px + env(safe-area-inset-bottom))!important}
 .mod-rightbar{overflow-y:auto!important}
 .mod-font-panel{top:calc(var(--module-top-h) + 8px)!important;left:10px!important;right:10px!important;width:auto!important;max-height:calc(100dvh - var(--module-top-h) - var(--module-bottom-h) - 24px);overflow:auto}
 .mod-search-palette{padding:calc(var(--module-top-h) + 12px) 10px calc(var(--module-bottom-h) + 12px)!important;align-items:start!important}
 .mod-search-card{width:100%!important;max-height:calc(100dvh - var(--module-top-h) - var(--module-bottom-h) - 24px)!important;display:flex;flex-direction:column}.mod-search-results{min-height:0;flex:1 1 auto}
 .mod-more-sheet{left:10px!important;right:10px!important;bottom:calc(var(--module-bottom-h) + env(safe-area-inset-bottom) + 8px)!important;transform:none!important;width:auto!important;max-height:min(68dvh,620px)!important;border-radius:20px!important}
 .mod-bottom{padding-left:4px!important;padding-right:4px!important;gap:0!important}.mod-bottom a,.mod-bottom button{min-width:0!important;max-width:none!important;flex:1 1 25%!important;padding-left:3px!important;padding-right:3px!important}.mod-bottom a:nth-of-type(n+4){display:none!important}
 .mod-bottom small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
@media (max-width:620px){
 .mod-sidebar,.mod-rightbar{width:min(360px,94vw)!important;max-width:94vw!important}
 .mod-topbar{padding-left:6px!important;padding-right:6px!important}.mod-brand{gap:6px!important}.mod-brand-icon{width:34px!important;height:34px!important}.mod-icon-btn,.mod-top-btn{min-width:38px!important;min-height:40px!important;justify-content:center!important}
 .mod-more-sheet{left:6px!important;right:6px!important}.mod-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:430px){
 .mod-bottom a:nth-of-type(n+3){display:none!important}.mod-bottom a,.mod-bottom button{flex-basis:33.333%!important}
 .mod-sheet-grid{grid-template-columns:1fr!important}.mod-brand strong{font-size:13px!important}
}


/* ===== Shared content system (additive, module-safe) ===== */
html{font-size:16px}body{overflow-x:hidden!important;background:linear-gradient(180deg,#f8fafc 0%,var(--mod-soft,#f8fafc) 100%)!important}
body .main-content{margin-left:0!important;margin-right:0!important;width:auto!important;max-width:none!important;min-width:0!important}
body .container,body .dashboard-container,body .content-container,body .page-container,body .content-wrapper,body .dashboard-content{max-width:min(1240px,calc(100vw - 42px));margin-left:auto!important;margin-right:auto!important;min-width:0}
body h1{font-size:clamp(1.65rem,2.4vw,2.35rem)!important;line-height:1.18!important;letter-spacing:-.025em;color:#0f172a!important}body h2{font-size:clamp(1.28rem,1.8vw,1.75rem)!important;line-height:1.25!important;color:#0f172a!important}body h3{font-size:1.08rem!important;color:#172033!important}body p,body li{line-height:1.65}
body label{font-weight:700!important;color:#334155!important}body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select,body textarea{max-width:100%;font:inherit!important;color:#0f172a!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:11px!important;min-height:44px;padding:10px 12px!important}body textarea{min-height:110px}body input:focus,body select:focus,body textarea:focus{outline:none!important;border-color:var(--mod-accent)!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
body :is(.btn,.button,.action-btn,.submit-btn,.save-btn,.update-btn,.view-btn,.first-button,.second-button,.third-button,.fourth-button,.fifth-button,input[type=submit]){font:inherit!important;min-height:40px;border-radius:10px!important;padding:8px 12px!important;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;font-weight:750!important;text-decoration:none!important}body :is(.btn-primary,.submit-btn,.save-btn,.update-btn,input[type=submit]){background:var(--mod-accent)!important;border-color:var(--mod-accent)!important;color:#fff!important}body :is(.delete-btn,.btn-danger,.danger,[class*="delete-"]){background:#b42318!important;border-color:#b42318!important;color:#fff!important}body :is(.cancel-btn,.btn-secondary,.secondary-btn,.back-btn){background:#fff!important;color:#334155!important;border-color:#cbd5e1!important}
body :is(.card,.panel,.box,.content-card,.report-card,.notification-card,.summary-card,.stat-card){border-radius:16px!important;border-color:#e2e8f0!important;box-shadow:0 8px 25px rgba(15,23,42,.06)!important}
body table{max-width:100%;background:#fff}body th{color:#334155!important}body .mod-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
body img,body video,body canvas,body svg{max-width:100%}.pagination{display:flex!important;gap:6px!important;flex-wrap:wrap!important;align-items:center!important}.pagination a,.pagination span{border-radius:9px!important;padding:7px 10px!important}
@media(max-width:900px){body .container,body .dashboard-container,body .content-container,body .page-container,body .content-wrapper,body .dashboard-content{max-width:calc(100vw - 20px)!important;padding-left:0!important;padding-right:0!important}body .row{margin-left:0!important;margin-right:0!important}body [class*="col-"]{min-width:0}body table{font-size:.9rem}.actions,.action-buttons,.form-actions,.toolbar,.filters,.filter-bar{flex-wrap:wrap!important}}
@media(max-width:560px){body h1{font-size:1.55rem!important}body h2{font-size:1.25rem!important}body :is(.btn,.button,.action-btn,input[type=submit]){max-width:100%}}


/* Learning */
.dashboard-header{background:linear-gradient(135deg,#312e81,#4f46e5)!important;color:#fff!important;border-radius:20px!important;padding:20px!important;box-shadow:0 14px 36px rgba(79,70,229,.2)!important}.dashboard-header h1,.dashboard-header h2,.dashboard-header p{color:#fff!important}.dashboard-section,.section-block{background:#fff!important;border:1px solid #e0e7ff!important;border-radius:18px!important;padding:16px!important;box-shadow:0 8px 26px rgba(79,70,229,.07)!important;margin-bottom:15px!important}.summary-card,.big-card,.notification-card,.course-card,.recommend-card,.qc-link{border:1px solid #e0e7ff!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 22px rgba(79,70,229,.055)!important}.summary-card,.big-card,.notification-card,.course-card,.recommend-card{padding:14px!important}.big-card{display:flex;align-items:center;gap:12px}.big-icon,.summary-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef2ff;color:#4338ca}.big-num,.summary-value{font-size:1.65rem!important;font-weight:850!important}.qc-link{display:flex!important;align-items:center;gap:10px;padding:11px 12px!important}.progress-bar-bg{height:10px!important;border-radius:999px!important;overflow:hidden;background:#e0e7ff!important}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#0f766e)!important}.form-group{margin-bottom:14px!important}.action-button,.action-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}.notification-list{display:grid;gap:10px}
@media(max-width:760px){.dashboard-header{padding:15px!important}.dashboard-section,.section-block{padding:13px!important}.big-card{align-items:flex-start}.summary-card,.big-card{min-width:0!important}}

.mod-live-widgets .mod-widget-slot{max-width:100%;overflow:hidden;margin:8px 0}.mod-live-widgets .mod-widget-slot>*{max-width:100%!important}.mod-live-widgets img{max-width:100%!important;height:auto!important}.mod-live-widgets table{font-size:.78rem!important}

/* ===== v3 navigation reliability ===== */
@media (max-width:900px){
 .mod-bottom a.mod-bottom-link{display:flex!important;visibility:visible!important;opacity:1!important}
 .mod-bottom a.mod-bottom-link:nth-of-type(n+4){display:none!important}
 .mod-bottom button[data-mod-more]{display:flex!important;visibility:visible!important;opacity:1!important}
}
@media (max-width:430px){
 .mod-bottom a.mod-bottom-link{display:flex!important}
 .mod-bottom a.mod-bottom-link:nth-of-type(n+3){display:none!important}
 .mod-bottom button[data-mod-more]{display:flex!important}
}

/* =====================================================================
   AckySHINE Learning v4 — advanced unified visual system
   All Learning content styling lives here. Menus keep user-configurable
   variables in module_top_menu.php by design.
   ===================================================================== */
:root{
 --learn-indigo:#4f46e5;--learn-violet:#7c3aed;--learn-teal:#0f766e;--learn-cyan:#0891b2;
 --learn-green:#16a34a;--learn-amber:#d97706;--learn-red:#dc2626;--learn-pink:#db2777;
 --learn-ink:#0f172a;--learn-muted:#64748b;--learn-line:#dfe7f3;--learn-surface:#fff;
 --learn-shadow:0 18px 50px rgba(30,41,59,.09);--learn-radius:20px;
}
html,body{max-width:100%;overflow-x:hidden}
body{background:radial-gradient(circle at 10% 0,rgba(79,70,229,.10),transparent 28rem),radial-gradient(circle at 100% 20%,rgba(15,118,110,.08),transparent 30rem),#f7f9fc!important}
body::before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(rgba(79,70,229,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,229,.022) 1px,transparent 1px);background-size:32px 32px}
body.mod-has-left{padding-left:var(--mod-left-w,280px)!important}body.mod-has-right{padding-right:var(--mod-right-w,320px)!important}body.mod-left-collapsed{padding-left:76px!important}body.mod-right-closed{padding-right:0!important}
.mod-sidebar{width:var(--mod-left-w,280px)}body.mod-left-collapsed .mod-sidebar{width:76px}body.mod-left-collapsed .mod-side-head>span:last-child,body.mod-left-collapsed .mod-side-search,body.mod-left-collapsed .mod-side-health,body.mod-left-collapsed .mod-side-group-title span,body.mod-left-collapsed .mod-side-group-title b,body.mod-left-collapsed .mod-side-group-links a span:nth-child(2),body.mod-left-collapsed .mod-side-group-links a .mod-count,body.mod-left-collapsed .mod-side-footer button span:last-child{display:none!important}body.mod-left-collapsed .mod-side-group-links a{justify-content:center}body.mod-left-collapsed .mod-side-footer button{display:grid;place-items:center}
.mod-side-health{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}.mod-side-health>div{min-width:0;text-align:center;background:rgba(255,255,255,.075);padding:8px 3px;border-radius:11px}.mod-side-health span,.mod-side-health b,.mod-side-health small{display:block}.mod-side-health b{font-size:15px}.mod-side-health small{font-size:9px;opacity:.68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mod-count,.mod-bottom-badge{display:inline-flex!important;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:10px!important;font-weight:900!important;line-height:1;margin-left:auto}.mod-count-red{background:#fee2e2;color:#b91c1c}.mod-count-amber{background:#fef3c7;color:#92400e}.mod-count-blue{background:#dbeafe;color:#1d4ed8}.mod-count-green{background:#dcfce7;color:#166534}.mod-bottom-badge{position:absolute;top:4px;right:9px;background:#ef4444;color:#fff;min-width:18px;height:18px;padding:0 4px}
.mod-status-pill{position:relative;display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:12px!important;color:#fff!important;background:rgba(255,255,255,.12)!important;min-height:40px}.mod-status-pill:hover{background:rgba(255,255,255,.2)!important}.mod-status-pill span{font-size:16px}.mod-status-pill b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#fff;color:#b91c1c;font-size:10px}.mod-status-pill small{font-size:10px;font-weight:800}.mod-status-amber b{color:#92400e}
.mod-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mod-widget-grid>div{padding:10px;border:1px solid #e7eaf6;border-radius:13px;background:linear-gradient(135deg,#fff,#f8f9ff);min-width:0}.mod-widget-grid span,.mod-widget-grid b,.mod-widget-grid small{display:block}.mod-widget-grid b{font-size:20px;margin:2px 0;color:var(--learn-indigo)}.mod-widget-grid small{color:var(--learn-muted);font-size:10px}.mod-gradient-card{background:linear-gradient(135deg,#eef2ff 0,#f0fdfa 100%)!important;border-color:#dbe4ff!important}.mod-health-banner{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:#fff7ed!important;color:#7c2d12!important}.mod-health-banner>span{font-size:22px}.mod-health-banner>div{min-width:0;flex:1}.mod-health-banner b,.mod-health-banner small{display:block}.mod-health-banner b{font-size:22px}.mod-health-banner i{font-style:normal;font-size:20px}.mod-mini-notices{display:grid;gap:7px}.mod-mini-notices>div{display:flex;gap:7px;padding:7px;border-radius:10px;background:#f8fafc}.mod-mini-notices>div>span{color:var(--learn-indigo);font-size:18px}.mod-mini-notices p{margin:0;font-size:12px!important;line-height:1.4}.mod-mini-notices small{display:block;margin-top:3px;color:var(--learn-muted);font-size:10px}.mod-muted{color:var(--learn-muted)!important;font-size:12px!important}

/* Centered, cropped desktop bottom dock + scroll hide/show */
.mod-bottom{left:50%!important;right:auto!important;bottom:14px!important;width:min(540px,calc(100vw - 32px))!important;height:64px!important;transform:translate3d(-50%,0,0)!important;border:1px solid rgba(203,213,225,.88)!important;border-radius:22px!important;overflow:visible!important;box-shadow:0 18px 46px rgba(15,23,42,.16)!important;padding:5px!important;transition:transform .24s ease,opacity .2s ease!important;backdrop-filter:blur(18px)}.mod-bottom.mod-bottom-hidden{transform:translate3d(-50%,calc(100% + 34px),0)!important;opacity:.15;pointer-events:none}.mod-bottom>a,.mod-bottom>button{position:relative;border-radius:16px!important;max-width:132px!important}.mod-bottom>a:hover,.mod-bottom>button:hover{transform:translateY(-2px)}.mod-more-sheet{bottom:88px!important}

/* Page opening + operation processes */
.mod-page-loader{position:fixed;z-index:15000;inset:0;display:grid;place-items:center;background:rgba(247,249,252,.96);backdrop-filter:blur(10px);transition:opacity .28s ease,visibility .28s ease}.mod-page-loader.mod-loader-done{opacity:0;visibility:hidden;pointer-events:none}.mod-loader-card{width:min(330px,calc(100vw - 36px));padding:26px;text-align:center;border:1px solid #e4e7f4;background:#fff;border-radius:24px;box-shadow:0 26px 70px rgba(30,41,59,.16)}.mod-loader-card strong,.mod-loader-card small{display:block}.mod-loader-card strong{margin-top:12px;font-size:18px}.mod-loader-card small{margin-top:4px;color:var(--learn-muted)}.mod-loader-orbit{width:68px;height:68px;margin:auto;border:3px solid #e0e7ff;border-top-color:var(--learn-indigo);border-right-color:var(--learn-teal);border-radius:50%;display:grid;place-items:center;animation:modSpin 1s linear infinite}.mod-loader-orbit span{animation:modCounterSpin 1s linear infinite;font-size:26px}.mod-loader-line{height:6px;margin-top:18px;border-radius:999px;background:#eef2ff;overflow:hidden}.mod-loader-line i{display:block;height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,var(--learn-indigo),var(--learn-teal),var(--learn-pink));animation:modLoadLine 1.15s ease-in-out infinite}.mod-route-progress{position:fixed;z-index:14900;top:0;left:0;right:0;height:3px;pointer-events:none}.mod-route-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--learn-indigo),var(--learn-teal),var(--learn-pink));box-shadow:0 0 14px rgba(79,70,229,.4);transition:width .28s ease}.mod-route-progress.active i{width:78%}.mod-process-overlay{position:fixed;z-index:14500;inset:0;background:rgba(15,23,42,.34);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px}.mod-process-overlay[hidden]{display:none!important}.mod-process-card{display:flex;align-items:center;gap:14px;width:min(390px,100%);padding:18px;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.25)}.mod-process-card strong,.mod-process-card small{display:block}.mod-process-card small{color:var(--learn-muted);margin-top:3px}.mod-process-spinner{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#eef2ff;font-size:24px;animation:modPulse 1s ease-in-out infinite}.mod-flash{position:fixed;z-index:10000;top:76px;left:50%;transform:translateX(-50%);width:min(680px,calc(100vw - 24px));display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:14px;box-shadow:0 14px 40px rgba(15,23,42,.14);background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}.mod-flash-success{background:#ecfdf5;color:#14532d;border-color:#bbf7d0}.mod-flash-error{background:#fef2f2;color:#7f1d1d;border-color:#fecaca}.mod-flash>div{flex:1}.mod-flash button{border:0;background:transparent;font-size:20px;cursor:pointer}.mod-live-toast-stack{position:fixed;z-index:12000;top:78px;right:18px;width:min(360px,calc(100vw - 30px));display:grid;gap:8px}.mod-live-toast{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #dbe4ff;border-radius:15px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.16);animation:modToastIn .28s ease}.mod-live-toast b{display:block;font-size:13px}.mod-live-toast small{color:var(--learn-muted)}
@keyframes modSpin{to{transform:rotate(360deg)}}@keyframes modCounterSpin{to{transform:rotate(-360deg)}}@keyframes modLoadLine{0%{transform:translateX(-120%)}50%{transform:translateX(120%)}100%{transform:translateX(260%)}}@keyframes modPulse{50%{transform:scale(1.06);box-shadow:0 0 0 8px rgba(79,70,229,.08)}}@keyframes modToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Unified Learning page layout */
.main-content{width:100%!important;min-width:0!important}.container,.dashboard-container,.classic-forum-container{width:min(1180px,calc(100% - 32px))!important;max-width:1180px!important;margin:18px auto 28px!important;padding:clamp(16px,2.4vw,28px)!important;border:1px solid rgba(218,226,239,.95)!important;border-radius:var(--learn-radius)!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--learn-shadow)!important;overflow:visible!important}.container>*:first-child,.dashboard-container>*:first-child{margin-top:0}.dashboard-header{position:relative;overflow:hidden;text-align:left!important;padding:clamp(20px,3vw,34px)!important;margin-bottom:20px!important;background:linear-gradient(135deg,#312e81 0%,#4f46e5 45%,#0f766e 100%)!important}.dashboard-header::after{content:"🎓";position:absolute;right:4%;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:clamp(70px,9vw,120px);opacity:.13}.dashboard-header h1{position:relative;z-index:1;margin:0 0 6px!important}.dashboard-header .welcome-text{position:relative;z-index:1;text-align:left!important;color:#e0e7ff!important;margin:0!important}.dashboard-logo{display:block;width:min(190px,45vw)!important;height:auto!important;margin:4px auto 18px!important;border-radius:16px;box-shadow:0 9px 28px rgba(15,23,42,.12)}
.dashboard-section,.section-block,.modules-section,.lesson-content-block,.quiz,.classic-form,.recommendation-block,.module-list,.lesson-list-container,.quiz-list{border:1px solid #e3e8f2!important;border-radius:18px!important;background:#fff!important;box-shadow:0 9px 28px rgba(15,23,42,.05)!important;padding:clamp(14px,2vw,22px)!important;margin:15px 0!important}.dashboard-content,.summary-row,.courses-list,.stats-row,.stat-cards,.dashboard-grid,.quick-cards,.quick-links,.quick-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;gap:14px!important;align-items:stretch!important}.card,.course-card,.summary-card,.stat-card,.big-card,.quick-card,.quicklink-card,.classic-link-card,.notification-card,.recommend-card{min-width:0!important;max-width:none!important;margin:0!important;padding:16px!important;border:1px solid #e3e8f2!important;border-radius:17px!important;background:linear-gradient(145deg,#fff,#fafbff)!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important;color:var(--learn-ink)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.card:hover,.course-card:hover,.quick-card:hover,.quicklink-card:hover,.classic-link-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(30,41,59,.10)!important;border-color:#c7d2fe!important}.dashboard-grid .card{display:flex!important;align-items:center;justify-content:center;min-height:100px;background:linear-gradient(135deg,#eef2ff,#f0fdfa)!important;color:#312e81!important;font-weight:850!important;font-size:1rem!important}.summary-card:nth-child(4n+1),.big-card:nth-child(4n+1),.stat-card:nth-child(4n+1){border-top:4px solid var(--learn-indigo)!important}.summary-card:nth-child(4n+2),.big-card:nth-child(4n+2),.stat-card:nth-child(4n+2){border-top:4px solid var(--learn-teal)!important}.summary-card:nth-child(4n+3),.big-card:nth-child(4n+3),.stat-card:nth-child(4n+3){border-top:4px solid var(--learn-amber)!important}.summary-card:nth-child(4n),.big-card:nth-child(4n),.stat-card:nth-child(4n){border-top:4px solid var(--learn-pink)!important}.summary-value,.big-num,.stat-value{font-size:clamp(1.35rem,2.3vw,2rem)!important;font-weight:900!important;color:var(--learn-ink)!important}.summary-title,.big-label,.stat-label{color:var(--learn-muted)!important;font-weight:750!important}.summary-icon,.big-icon,.quicklink-icon{font-size:1.5rem!important}.course-title,.module-title,.lesson-title,.quicklink-title,.nt-title{color:#3730a3!important;font-weight:850!important}.course-meta,.module-desc,.quicklink-desc,.desc,.nt-meta,.nt-detail{color:var(--learn-muted)!important}.badge,.summary-badge,.quiz-status,.label{display:inline-flex;align-items:center;gap:4px;padding:4px 8px!important;border-radius:999px!important;background:#eef2ff!important;color:#4338ca!important;font-size:.78rem!important;font-weight:800!important}.progress-bar-bg{position:relative;height:12px!important;background:#e8edf7!important;border-radius:999px!important;overflow:hidden!important}.progress-bar-fill{min-width:0;max-width:100%;background:linear-gradient(90deg,#4f46e5,#06b6d4,#16a34a)!important;box-shadow:0 0 14px rgba(79,70,229,.18)}

/* Forms and admin tools */
form{max-width:100%}form:not(.forum-order-form){position:relative}.form-group{display:grid;gap:6px}.container>form,.classic-form{display:grid!important;gap:13px!important}.container label{font-weight:800!important;color:#334155!important}.container input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.container select,.container textarea{width:100%!important;min-width:0!important}.container input[type=checkbox],.container input[type=radio]{width:18px;height:18px;accent-color:var(--learn-indigo);vertical-align:middle}.question-block,.module-item,.lesson-item,.quiz-item{padding:15px!important;margin:10px 0!important;border:1px solid #e4e8f2!important;border-radius:15px!important;background:#fafbff!important}.module-item,.lesson-item,.quiz-item{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.module-actions,.lesson-actions,.quiz-actions,.action-row,.button-row,.form-actions{display:flex!important;align-items:center;gap:8px!important;flex-wrap:wrap!important}.action-button,.action-btn,.enroll-btn,.retake-btn,.cert-btn,.unenroll-btn,.filter-button,.delete-button,.remove-btn,.add-module,.add-lesson,.add-quiz,.submit-quiz,button[type=submit]{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px!important;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#4f46e5,#4338ca)!important;color:#fff!important;font-weight:800!important;box-shadow:0 6px 18px rgba(79,70,229,.16)!important;cursor:pointer;text-decoration:none!important}.action-button:hover,.action-btn:hover,button[type=submit]:hover{filter:brightness(1.04);transform:translateY(-1px)}.delete-btn,.delete-button,.remove-btn,.unenroll-btn{background:linear-gradient(135deg,#ef4444,#b91c1c)!important}.retake-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.cert-btn{background:linear-gradient(135deg,#16a34a,#0f766e)!important}.filter-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px!important;align-items:end!important;margin:12px 0!important}.filter-form .filter-button{align-self:end}.ql-toolbar,.ql-container{border-color:#cbd5e1!important}.ql-toolbar{border-radius:12px 12px 0 0!important;background:#f8fafc}.ql-container{min-height:180px;border-radius:0 0 12px 12px!important;background:#fff;font-size:16px!important}.ql-editor{min-height:180px}
.error-message,.success-message,.classic-message{padding:11px 13px!important;border-radius:12px!important;border:1px solid!important;font-weight:750!important}.error-message{color:#991b1b!important;background:#fef2f2!important;border-color:#fecaca!important}.success-message{color:#166534!important;background:#f0fdf4!important;border-color:#bbf7d0!important}

/* Tables */
.mod-table-wrap{border:1px solid #e4e8f2;border-radius:16px!important;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04);margin:14px 0;overflow:auto!important}.mod-table-wrap table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;margin:0!important;min-width:680px}.mod-table-wrap th{position:sticky;top:0;z-index:1;background:#f2f4ff!important;color:#312e81!important;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid #dbe3f1!important}.mod-table-wrap td,.mod-table-wrap th{padding:11px 12px!important;border-right:0!important;border-left:0!important;border-top:0!important}.mod-table-wrap td{border-bottom:1px solid #eef2f7!important}.mod-table-wrap tr:hover td{background:#fafbff}.spacer-row{display:none!important}

/* Course / lesson / quiz / forum */
.modules-section h3,.section-title{text-align:left!important;color:#312e81!important;margin:0 0 13px!important}.module-card{padding:15px!important;margin-bottom:12px!important;border:1px solid #e4e8f2!important;border-radius:16px!important;background:#fbfcff!important}.lesson-list{margin:8px 0 0!important;padding-left:20px!important}.lesson-list li{margin:7px 0!important}.lesson-list a{font-weight:800!important}.info-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important}.info-card{display:flex!important;align-items:center;gap:7px;padding:8px 11px!important;border-radius:999px!important;background:#eef2ff!important;color:#3730a3!important;font-weight:750!important}.progress-block{padding:15px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e4e8f2!important}.lesson-content-block{font-size:1.04rem!important;line-height:1.78!important}.lesson-content-block img{height:auto!important;border-radius:14px}.quiz-fab{position:fixed!important;right:24px!important;bottom:96px!important;width:58px!important;height:58px!important;border-radius:18px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#4f46e5,#0891b2)!important;color:#fff!important;box-shadow:0 15px 34px rgba(79,70,229,.28)!important;z-index:200}.quiz-question{padding:12px 0;border-bottom:1px dashed #dbe2ef}.quiz-question:last-child{border-bottom:0}.quiz-options{display:grid!important;gap:7px!important}.quiz-options label{display:flex!important;align-items:center;gap:9px!important;padding:9px!important;border:1px solid #e6eaf2!important;border-radius:11px!important;background:#fff}.correct-answer{background:#ecfdf5!important;color:#166534!important;border-color:#bbf7d0!important}.incorrect-answer{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important}.classic-forum-container{max-width:980px!important}.forum-header{text-align:left!important;margin-bottom:14px!important}.classic-form{background:linear-gradient(135deg,#f8fafc,#f5f3ff)!important}.discussion-item,.forum-thread,.thread-item{border:1px solid #e4e8f2!important;border-radius:16px!important;background:#fff!important;padding:14px!important;margin:10px 0!important}.reply,.forum-reply,.reply-item{margin-left:clamp(8px,3vw,28px)!important;border-left:3px solid #c7d2fe!important;background:#fafbff!important}.pagination{justify-content:center!important;margin-top:15px}.pagination a,.pagination span{border:1px solid #e0e7ff!important;background:#fff!important;color:#4338ca!important}.pagination .active,.pagination strong{background:#4f46e5!important;color:#fff!important}

/* Notifications */
.notification-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px!important}.notification-card{position:relative;overflow:hidden}.notification-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#4f46e5,#0f766e)}.nt-title{display:flex!important;gap:8px;align-items:center}.nt-action{display:inline-flex!important;margin-top:8px!important;font-weight:800!important}.recommend-card{background:linear-gradient(145deg,#fff,#f0fdfa)!important}.recommendation-block{background:linear-gradient(135deg,#eef2ff,#ecfeff)!important}

/* Learning home auxiliary lists */
.menu-item{display:block!important;padding:11px 12px!important;margin:6px 0!important;border-radius:12px!important;border:1px solid #e4e8f2!important;background:#fff!important;color:#334155!important;font-weight:750!important}.menu-item:hover{background:#eef2ff!important;color:#3730a3!important}.floating-button{border-radius:999px!important;box-shadow:0 12px 28px rgba(79,70,229,.2)!important}

/* Certificate: strict one-page A4 landscape canvas */
html[data-module-page="certificate.php"] .main-content{min-width:0!important}
html[data-module-page="certificate.php"] .certificate-scroll{width:100%;overflow:auto;padding:10px 0 16px;scrollbar-gutter:stable both-edges}
#certificateA4{position:relative;box-sizing:border-box;width:1122px;max-width:none;height:794px;max-height:794px;margin:8px auto;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(201,157,52,.045),transparent 39%),linear-gradient(180deg,#fffefb,#fffaf0);border:12px solid #102d50;outline:4px solid #c79a31;outline-offset:-19px;box-shadow:0 26px 76px rgba(15,35,61,.20);font-family:Georgia,"Times New Roman",serif;color:#172536;line-height:1.2;page:learning-certificate;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#certificateA4::before{content:"";position:absolute;top:27px;right:27px;bottom:27px;left:27px;border:1px solid rgba(199,154,49,.58);pointer-events:none;z-index:2}
#certificateA4::after{content:"";position:absolute;top:34px;right:34px;bottom:34px;left:34px;border:1px solid rgba(16,45,80,.16);pointer-events:none;z-index:2}
#certificateA4,#certificateA4 *{box-sizing:border-box;break-inside:avoid;page-break-inside:avoid}
#certificateA4 .watermark-logo{position:absolute;z-index:0;top:46%;left:50%;transform:translate(-50%,-50%);width:390px;height:290px;object-fit:contain;opacity:.034;filter:grayscale(1) sepia(.25)}
#certificateA4 .cert-ornament{position:absolute;z-index:4;width:72px;height:72px;pointer-events:none}
#certificateA4 .cert-ornament::before,#certificateA4 .cert-ornament::after{content:"";position:absolute;background:#c79a31}
#certificateA4 .cert-ornament::before{width:58px;height:3px;top:14px;left:0;box-shadow:0 10px 0 rgba(16,45,80,.82)}
#certificateA4 .cert-ornament::after{width:3px;height:58px;top:0;left:14px;box-shadow:10px 0 0 rgba(16,45,80,.82)}
#certificateA4 .cert-ornament-tl{top:29px;left:29px}#certificateA4 .cert-ornament-tr{top:29px;right:29px;transform:rotate(90deg)}#certificateA4 .cert-ornament-br{right:29px;bottom:29px;transform:rotate(180deg)}#certificateA4 .cert-ornament-bl{left:29px;bottom:29px;transform:rotate(270deg)}
#certificateA4 .cert-header,#certificateA4 .cert-award,#certificateA4 .cert-credential-band,#certificateA4 .cert-signatures,#certificateA4 .cert-footer{position:absolute;z-index:3;min-width:0;margin:0}
#certificateA4 .cert-header{top:44px;left:110px;right:110px;height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#certificateA4 .cert-brandmark{width:194px;height:57px;display:flex;align-items:center;justify-content:center}
#certificateA4 .certificate-logo{display:block;width:100%;height:100%;object-fit:contain}
#certificateA4 .cert-issuer-label{margin-top:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;letter-spacing:.32em;color:#102d50}
#certificateA4 .cert-header-rule{width:720px;max-width:88%;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:7px}
#certificateA4 .cert-header-rule span{height:1px;background:linear-gradient(90deg,transparent,#c79a31)}#certificateA4 .cert-header-rule span:last-child{background:linear-gradient(90deg,#c79a31,transparent)}
#certificateA4 .cert-header-rule b{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:.22em;color:#806326;font-weight:800}
#certificateA4 .cert-award{top:151px;left:105px;right:105px;height:322px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;overflow:hidden}
#certificateA4 .cert-kicker{margin:0 0 10px;font-family:Arial,Helvetica,sans-serif;font-size:31px;line-height:1;font-weight:900;letter-spacing:.13em;color:#b18422}
#certificateA4 .cert-presented{margin:0 0 4px;font-size:16px;font-style:italic;color:#5d6873}
#certificateA4 .student-name{display:flex;align-items:center;justify-content:center;width:100%;min-height:61px;max-height:73px;margin:0;color:#102d50;font-family:Georgia,"Times New Roman",serif;font-size:44px;line-height:1.02;font-weight:700;letter-spacing:.01em;overflow:hidden}
#certificateA4 .student-name span{display:block;max-width:100%;overflow-wrap:anywhere;text-wrap:balance}#certificateA4 .student-name.text-long{font-size:35px}#certificateA4 .student-name.text-xlong{font-size:26px;line-height:1.04}
#certificateA4 .cert-name-rule{width:680px;max-width:90%;display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center;margin:2px auto 9px;color:#c79a31}
#certificateA4 .cert-name-rule span{height:1px;background:linear-gradient(90deg,transparent,#c79a31 26%,#c79a31)}#certificateA4 .cert-name-rule span:last-child{background:linear-gradient(90deg,#c79a31,#c79a31 74%,transparent)}#certificateA4 .cert-name-rule i{font-style:normal;font-size:11px}
#certificateA4 .cert-statement{margin:0 0 7px;font-size:15px;color:#465568}
#certificateA4 .course-title{display:flex;align-items:center;justify-content:center;width:100%;max-width:900px;min-height:56px;max-height:72px;margin:0 auto;color:#172536;font-size:29px;line-height:1.07;font-weight:700;overflow:hidden}
#certificateA4 .course-title span{display:block;max-width:100%;overflow-wrap:anywhere;text-wrap:balance}#certificateA4 .course-title.text-long{font-size:24px}#certificateA4 .course-title.text-xlong{font-size:19px;line-height:1.05}
#certificateA4 .cert-achievement{max-width:850px;margin:8px auto 0;font-size:13px;line-height:1.35;color:#697484}
#certificateA4 .cert-credential-band{top:487px;left:100px;right:100px;height:74px;display:grid;grid-template-columns:1.18fr 1fr 1.15fr .95fr;align-items:stretch;border-top:1px solid #d8c18b;border-bottom:1px solid #d8c18b;background:rgba(255,255,255,.56)}
#certificateA4 .cert-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 12px;text-align:center;border-right:1px solid rgba(16,45,80,.13);min-width:0}
#certificateA4 .cert-detail:last-child{border-right:0}#certificateA4 .cert-detail span{font-family:Arial,Helvetica,sans-serif;font-size:8.5px;font-weight:900;letter-spacing:.12em;color:#8c6b20;text-transform:uppercase}#certificateA4 .cert-detail strong{display:block;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.15;color:#1f3349;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#certificateA4 .cert-signatures{top:573px;left:135px;right:135px;height:125px;display:grid;grid-template-columns:1fr 128px 1fr;align-items:end;gap:48px;text-align:center}
#certificateA4 .cert-signature{min-width:0;display:flex;flex-direction:column;align-items:center}.cert-signature-name{width:100%;height:31px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;font-family:"Segoe Script","Brush Script MT",cursive;font-size:17px;line-height:1;color:#183859;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#certificateA4 .cert-signature-line{width:100%;max-width:230px;height:1px;background:#7e8790;margin:0 auto 6px}#certificateA4 .cert-signature strong{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.12em;color:#102d50}#certificateA4 .cert-signature small{margin-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:8px;color:#7b8490}
#certificateA4 .cert-seal-wrap{align-self:center;display:flex;align-items:center;justify-content:center}.cert-seal{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#fffdf4 0 49%,#f2dc9c 50% 54%,#b98b24 55% 59%,#102d50 60% 63%,#fffaf0 64%);border:2px solid #b18422;box-shadow:0 0 0 3px rgba(185,139,36,.13),0 5px 15px rgba(16,45,80,.12);font-family:Arial,Helvetica,sans-serif;color:#102d50}
#certificateA4 .cert-seal span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#102d50}#certificateA4 .cert-seal b{height:38px;display:flex;align-items:center;justify-content:center;font-size:31px;line-height:1;color:#b18422}#certificateA4 .cert-seal small{font-size:7px;font-weight:900;letter-spacing:.20em;color:#102d50}
#certificateA4 .cert-footer{top:688px;left:84px;right:84px;height:39px;display:grid;grid-template-columns:150px 1fr 150px;align-items:center;gap:12px;border-top:1px solid rgba(16,45,80,.12);font-family:Arial,Helvetica,sans-serif;color:#6f7884}
#certificateA4 .cert-footer>div{display:flex;flex-direction:column;gap:2px}.cert-footer>div:last-child{text-align:right}.cert-footer span{font-size:7.5px;letter-spacing:.11em;text-transform:uppercase;color:#a17b25;font-weight:900}.cert-footer b{font-size:9.5px;color:#27394e}.cert-footer p{margin:0;text-align:center;font-size:8.5px;letter-spacing:.02em;color:#6f7884}.cert-footer p b{color:#102d50}
.certificate-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}.certificate-card{padding:16px;border-radius:18px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 9px 26px rgba(15,23,42,.06)}

@page learning-certificate{size:A4 landscape;margin:0}
@media(max-width:1220px){body.mod-has-right,body.mod-right-closed{padding-right:0!important}}
@media(max-width:900px){body,body.mod-has-left,body.mod-has-right,body.mod-left-collapsed{padding-left:0!important;padding-right:0!important;padding-top:calc(var(--module-top-h) + 10px)!important;padding-bottom:calc(var(--module-bottom-h) + 18px)!important}.mod-top-nav{display:none!important}.mod-status-pill small{display:none}.mod-status-pill{padding:6px!important}.mod-profile-trigger>span,.mod-profile-trigger>b,.mod-font-button{display:none!important}.mod-bottom{bottom:8px!important;width:calc(100vw - 16px)!important;border-radius:20px!important}.mod-more-sheet{bottom:82px!important}.container,.dashboard-container,.classic-forum-container{width:calc(100% - 16px)!important;margin:8px auto 18px!important;padding:14px!important;border-radius:17px!important}.dashboard-header{border-radius:17px!important}.mod-live-toast-stack{top:66px;right:8px;width:calc(100vw - 16px)}.quiz-fab{right:12px!important;bottom:84px!important}#certificateA4{width:1122px;height:794px;max-width:none;max-height:794px;transform-origin:top left}.certificate-scroll{overflow:auto;max-width:100%;border-radius:18px}}
@media(max-width:560px){.mod-status-amber{display:none!important}.mod-brand small{display:none!important}.mod-brand strong{font-size:12px!important}.dashboard-content,.summary-row,.courses-list,.stats-row,.stat-cards,.dashboard-grid,.notification-list{grid-template-columns:1fr!important}.module-item,.lesson-item,.quiz-item{align-items:flex-start!important}.module-actions,.lesson-actions,.quiz-actions,.action-row,.button-row{width:100%}.module-actions>a,.lesson-actions>a,.quiz-actions>a,.action-row>*{flex:1 1 auto}.filter-form{grid-template-columns:1fr!important}.mod-table-wrap table{min-width:600px}.mod-process-card{padding:14px}.mod-flash{top:64px}.mod-rightbar,.mod-sidebar{bottom:0!important}.mod-bottom a,.mod-bottom button{min-height:52px!important}}
@media print{
 .mod-topbar,.mod-sidebar,.mod-rightbar,.mod-bottom,.mod-more-sheet,.mod-page-loader,.mod-route-progress,.mod-process-overlay,.button-group,.mod-flash,.mod-live-toast-stack{display:none!important}
 html[data-module-page="certificate.php"],html[data-module-page="certificate.php"] body{width:297mm!important;height:210mm!important;min-width:297mm!important;min-height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
 html[data-module-page="certificate.php"] .main-content{display:block!important;width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
 html[data-module-page="certificate.php"] .certificate-scroll{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
 #certificateA4{width:291mm!important;height:204mm!important;max-width:291mm!important;max-height:204mm!important;margin:3mm auto!important;border-radius:0!important;box-shadow:none!important;transform:none!important;break-inside:avoid!important;page-break-inside:avoid!important}
}

/* ===== Learning v4 page primitives & modern workspaces ===== */
.learning-page{display:grid;gap:18px}.learning-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px!important;border:1px solid #dfe5ff;border-radius:24px;background:radial-gradient(circle at 92% 10%,rgba(34,211,238,.18),transparent 27%),radial-gradient(circle at 10% 90%,rgba(139,92,246,.14),transparent 30%),linear-gradient(135deg,#fff,#f7f8ff);box-shadow:0 18px 44px rgba(50,55,120,.08)}.learning-hero.compact{padding:20px!important}.learning-hero h1{margin:6px 0!important}.learning-hero p{margin:0;max-width:760px;color:#59657a}.eyebrow{font-size:.73rem;font-weight:900;letter-spacing:.115em;color:#4f46e5;text-transform:uppercase}.hero-actions,.table-actions,.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-actions{justify-content:flex-end}.action-button,.mini-action,button.mini-action{border:0;text-decoration:none!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;font-weight:850!important;transition:.16s ease}.action-button{min-height:42px;padding:9px 14px;border-radius:12px;background:#eef2ff!important;color:#3730a3!important;border:1px solid #d9defd!important}.action-button:hover,.mini-action:hover{transform:translateY(-1px);filter:brightness(.985)}.action-button.success{background:#ecfdf5!important;color:#047857!important;border-color:#b7efd7!important}.mini-action,button.mini-action{min-height:34px;padding:6px 10px;border-radius:9px;background:#f3f5ff!important;color:#4338ca!important;border:1px solid #e0e4ff!important;font-size:.84rem}.mini-action.danger,button.mini-action.danger{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important}.danger-button{min-height:42px;border:1px solid #fecaca!important;border-radius:12px;background:#b91c1c!important;color:#fff!important;padding:9px 14px!important;font-weight:850;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-grid.slim{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{position:relative;overflow:hidden;padding:16px;border-radius:18px;border:1px solid #e4e8f2;background:#fff;box-shadow:0 9px 28px rgba(15,23,42,.055);display:flex;flex-direction:column;gap:6px;min-width:0}.metric-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#4f46e5}.metric-card.tone-green::before{background:#10b981}.metric-card.tone-amber::before{background:#f59e0b}.metric-card.tone-red::before{background:#ef4444}.metric-card.tone-purple::before{background:#8b5cf6}.metric-card.tone-cyan::before{background:#06b6d4}.metric-card>span{font-size:.78rem;font-weight:850;color:#667085;text-transform:uppercase;letter-spacing:.04em}.metric-card strong{font-size:1.6rem;color:#101828;line-height:1.1}.metric-card small{color:#778197}.metric-card progress,.course-card progress,.mod-table-wrap progress{width:100%;height:9px;accent-color:#4f46e5}.panel-card{padding:18px;border-radius:20px;border:1px solid #e3e8f2;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055);min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{margin:4px 0 0!important}.count-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#f1f5ff;color:#4338ca;font-weight:850;font-size:.78rem}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:850;background:#eef2ff;color:#4338ca;white-space:nowrap}.status-pill.success{background:#ecfdf5;color:#047857}.status-pill.warning{background:#fffbeb;color:#b45309}.status-pill.danger{background:#fff1f2;color:#be123c}.status-pill.info{background:#eff6ff;color:#1d4ed8}.mini-metrics{display:flex;gap:7px;flex-wrap:wrap}.mini-metrics span{padding:5px 8px;border-radius:8px;background:#f8fafc;border:1px solid #e8ecf3;color:#5b6577;font-size:.78rem}.mini-metrics b{color:#101828}.table-description{margin-top:5px;max-width:480px;color:#667085;font-size:.83rem;line-height:1.45}.empty-state{padding:18px!important;text-align:center;color:#7a8496;background:#f9fafb;border:1px dashed #d9dee8;border-radius:14px}.filter-grid,.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.filter-grid label,.stack-form label{display:grid;gap:6px}.stack-form{display:grid;gap:15px}.stack-form button[type=submit]{justify-self:start;border:0;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#2563eb)!important;color:#fff!important;font-weight:850;padding:10px 16px!important;cursor:pointer}.helper-text{margin:4px 0 10px;color:#7a8496;font-size:.87rem}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-card{display:flex!important;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e5e9f3;border-radius:12px;background:#fbfcff}.check-card span{display:grid}.check-card small{font-weight:500;color:#7a8496}.rich-editor.tall,.rich-editor.tall+.ql-container{min-height:300px}.activity-list{display:grid;gap:8px}.activity-row{display:flex;align-items:center;gap:10px;padding:11px;border-radius:13px;border:1px solid #e7eaf2;background:#fcfdff;text-decoration:none!important;color:inherit!important}.activity-row>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef2ff}.activity-row>div:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.activity-row small{color:#7a8496}.activity-row time{color:#98a1b1;font-size:.77rem;white-space:nowrap}.two-column-grid,.communications-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}.course-card{padding:15px;border-radius:16px;border:1px solid #e6eaf2;background:linear-gradient(145deg,#fff,#fbfcff)}.course-card h3{margin:10px 0 7px!important}.course-card p{color:#6b7280}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px}.action-tile{display:grid;gap:5px;padding:14px;border:1px solid #e1e6f4;border-radius:15px;background:#fbfcff;text-decoration:none!important;color:#334155!important}.action-tile>span{font-size:1.6rem}.action-tile small{color:#7b8496}.lesson-reader .rich-content{font-size:1.04rem;line-height:1.8;color:#283548}.lesson-reader .rich-content img{height:auto;border-radius:14px}.resource-callout{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-radius:13px;background:#eefaff;border:1px solid #cdeff7;font-weight:750}.lesson-sequence{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-sequence>div:last-child{text-align:right}.notice-stream{display:grid;gap:8px}.notice-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e7eaf2;border-radius:13px;background:#fff}.notice-item.is-unread{background:#f8f7ff;border-color:#dcd9ff}.notice-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f4f5f8}.notice-item p{margin:0!important}.notice-item small{color:#8a94a6}.notice-action{margin:0}.icon-button{width:34px;height:34px;border:0;border-radius:10px;background:#ecfdf5;color:#047857;cursor:pointer}.advanced-box{border:1px solid #e5e9f2;border-radius:13px;background:#fbfcff;padding:11px}.advanced-box summary{cursor:pointer;font-weight:850;color:#4338ca}.advanced-box[open] summary{margin-bottom:12px}.advanced-box label+label{margin-top:12px}.email-preview-panel{overflow:hidden}.email-preview{border:1px solid #e4e8f2;border-radius:16px;background:#f4f7fb;overflow:auto;min-height:380px}.email-preview table{min-width:0!important}.email-preview-placeholder{min-height:380px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:28px;color:#667085}.email-preview-placeholder span{font-size:3rem}.communication-notes{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.communication-notes span{padding:6px 9px;border-radius:999px;background:#f0fdf4;color:#047857;border:1px solid #d1fae5;font-size:.76rem;font-weight:800}.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border:1px solid #fecaca;border-radius:18px;background:#fff7f7}.danger-zone p{margin:3px 0 0;color:#8f5555}.resource-callout a{font-weight:850}.classic-forum-container .thread-card{position:relative}.learning-page form{margin:0}.learning-page button{font-family:inherit}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid.slim{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.learning-hero{align-items:flex-start;flex-direction:column;padding:18px!important}.hero-actions{justify-content:flex-start}.metric-grid,.metric-grid.slim{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-grid,.communications-grid,.filter-grid,.form-grid,.check-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.lesson-sequence{grid-template-columns:1fr}.lesson-sequence>div:last-child{text-align:left}.resource-callout,.danger-zone{align-items:flex-start;flex-direction:column}.activity-row{align-items:flex-start}.activity-row time{white-space:normal}.notice-item{grid-template-columns:34px 1fr}.notice-action{grid-column:2}.table-actions{align-items:flex-start}}
@media(max-width:430px){.metric-grid,.metric-grid.slim{grid-template-columns:1fr}.panel-card{padding:14px}.learning-hero{border-radius:18px}.metric-card strong{font-size:1.45rem}.hero-actions>*{flex:1 1 auto}.action-button{width:100%}}

/* ===== Learning v4 rich catalogue, curriculum, assessment & community ===== */
.learning-public-hero{min-height:280px}.public-hero-actions{justify-content:flex-start;margin-top:18px}.hero-visual{position:relative;min-width:250px;min-height:190px;display:grid;place-items:center}.hero-visual span{width:132px;height:132px;border-radius:38px;display:grid;place-items:center;font-size:4.4rem;background:linear-gradient(145deg,#eef2ff,#e0f2fe);box-shadow:0 20px 55px rgba(79,70,229,.18);transform:rotate(-5deg)}.hero-visual b,.hero-visual i,.hero-visual em{position:absolute;width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:#fff;border:1px solid #e6e9f5;box-shadow:0 10px 30px rgba(15,23,42,.12);font-size:1.65rem;font-style:normal}.hero-visual b{left:5px;top:16px;transform:rotate(-9deg)}.hero-visual i{right:5px;top:35px;transform:rotate(8deg)}.hero-visual em{right:28px;bottom:4px;transform:rotate(-4deg)}
.course-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(285px,100%),1fr));gap:15px}.catalogue-card{overflow:hidden;border:1px solid #e2e7f2;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(15,23,42,.065);display:flex;flex-direction:column;min-width:0}.catalogue-cover{min-height:112px;padding:18px;display:flex;align-items:flex-start;justify-content:space-between;background:radial-gradient(circle at 86% 16%,rgba(255,255,255,.32),transparent 22%),linear-gradient(135deg,#4f46e5,#2563eb 58%,#0891b2);color:#fff}.catalogue-cover>span{font-size:3.1rem;filter:drop-shadow(0 8px 15px rgba(16,24,40,.18))}.catalogue-cover small{font-size:.68rem;letter-spacing:.09em;font-weight:900;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(7px)}.catalogue-body{padding:16px;display:flex;flex:1;flex-direction:column;gap:10px}.catalogue-body h3{margin:0!important;font-size:1.15rem}.catalogue-body p{margin:0;color:#667085;line-height:1.58;flex:1}.catalogue-instructor{color:#667085}.catalogue-progress{display:grid;gap:5px}.catalogue-progress span{font-size:.8rem;color:#5d687a}.catalogue-progress progress{width:100%;height:9px;accent-color:#10b981}.metric-text-value{font-size:1.15rem!important;line-height:1.2!important}
.course-catalogue{display:grid;gap:14px}.catalogue-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.catalogue-actions{display:flex;gap:8px;flex-wrap:wrap}.course-description{color:#667085;line-height:1.65}.enrollment-panel{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 17px;border-radius:16px;background:linear-gradient(135deg,#f8faff,#f4fbff);border:1px solid #e0e8f8}.module-progress{display:grid;gap:5px;min-width:170px}.module-progress progress{width:100%;height:9px;accent-color:#4f46e5}
.curriculum-list{display:grid;gap:13px}.curriculum-module{overflow:hidden;border:1px solid #e3e8f3;border-radius:17px;background:#fff}.curriculum-head{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#fafbff,#f6f8ff);border-bottom:1px solid #e9ecf4}.module-summary{display:flex;align-items:flex-start;gap:11px;min-width:0}.module-number{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#e9edff;color:#4338ca;font-weight:900}.module-summary h3{margin:0 0 4px!important}.module-summary p{margin:0;color:#6b7280;font-size:.87rem}.shared-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;background:#ecfeff;color:#0e7490;border:1px solid #cffafe;font-size:.7rem;font-weight:900;margin-left:5px}.curriculum-lessons{display:grid}.lesson-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid #eff1f6;text-decoration:none!important;color:#263348!important}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:#fafbff}.lesson-state{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f3f4f6}.lesson-row.is-complete .lesson-state{background:#ecfdf5;color:#047857}.lesson-row strong{display:block}.lesson-row small{display:block;color:#7a8496;margin-top:2px}.lesson-row>span:last-child{color:#6b7280;font-size:.78rem}
.quiz-workspace{display:grid;gap:14px}.quiz-instructions{padding:14px 16px;border-radius:15px;background:#fffbea;border:1px solid #fde68a;color:#854d0e;line-height:1.6}.quiz-section{display:grid;gap:12px}.quiz-question-card{padding:17px;border:1px solid #e3e7f0;border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(15,23,42,.045)}.quiz-question-card h3{margin:0 0 12px!important;font-size:1rem;line-height:1.5}.quiz-options{display:grid;gap:8px}.quiz-options label{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px;padding:10px;border-radius:12px;border:1px solid #e6e9f2;background:#fbfcfe;cursor:pointer}.quiz-options label:has(input:checked){border-color:#a5b4fc;background:#f5f3ff}.quiz-options input{margin-top:4px}.option-letter{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:.76rem;font-weight:900}.quiz-question-card.result-correct{border-color:#a7f3d0;background:#f7fffb}.quiz-question-card.result-wrong{border-color:#fecaca;background:#fffafa}.quiz-submit-bar{position:sticky;bottom:86px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.94);border:1px solid #e1e5ef;box-shadow:0 13px 38px rgba(15,23,42,.12);backdrop-filter:blur(12px)}
.question-builder{display:grid;gap:13px}.question-block{padding:16px;border:1px solid #e2e7f1;border-radius:17px;background:#fff}.question-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.question-number{font-size:.77rem;font-weight:900;letter-spacing:.06em;color:#4338ca;text-transform:uppercase}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-grid label{display:grid;gap:5px}.answer-grid label>span{font-size:.8rem;font-weight:800;color:#5d6678}
.forum-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px}.forum-board-card{display:grid;gap:13px;padding:16px;border-radius:18px;border:1px solid #e3e7f2;background:#fff;box-shadow:0 9px 29px rgba(15,23,42,.055)}.forum-board-head{display:flex;align-items:center;gap:11px}.forum-board-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#ecfeff);font-size:1.55rem}.forum-board-head h3{margin:0 0 3px!important}.forum-board-head small{color:#7a8496}.forum-latest-list{display:grid;gap:6px}.forum-latest-list>a{display:flex;align-items:flex-start;gap:9px;padding:9px;border-radius:11px;background:#f9fafc;border:1px solid #eef0f5;text-decoration:none!important;color:#334155!important}.forum-latest-list>a>span{padding-top:2px}.forum-latest-list>a>div{display:grid;gap:2px;min-width:0}.forum-latest-list small{color:#8a94a6}
.forum-section-heading{align-items:end}.forum-filter-inline{margin-left:auto}.forum-filter-inline label{display:grid;gap:4px;min-width:140px}.forum-filter-inline label>span{font-size:.72rem;font-weight:850;color:#697386}.discussion-stream{display:grid;gap:13px}.discussion-thread{position:relative;padding:17px;border-radius:18px;border:1px solid #e3e7ef;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.045)}.discussion-thread.is-hot{border-color:#f7d68b;background:linear-gradient(145deg,#fff,#fffdf6)}.discussion-thread.is-today::before{content:"";position:absolute;left:-1px;top:19px;width:4px;height:32px;background:#0ea5e9;border-radius:0 4px 4px 0}.discussion-thread-head,.reply-meta-modern{display:flex;align-items:center;gap:10px}.discussion-avatar,.reply-avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:#4338ca;font-weight:900}.reply-avatar{width:31px;height:31px;border-radius:10px;background:#ecfeff;color:#0e7490}.discussion-thread-head>div:nth-child(2),.reply-meta-modern>div:nth-child(2){min-width:0;flex:1;display:grid;gap:2px}.discussion-author{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.discussion-thread-head small,.reply-meta-modern small{color:#8a94a6}.discussion-thread>h3{margin:13px 0 7px!important}.discussion-copy{color:#3d485b;line-height:1.7;overflow-wrap:anywhere}.thread-owner-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.thread-owner-actions form{margin:0}.icon-button-neutral,.icon-button-danger{width:33px;height:33px;border:1px solid #e4e7ef;border-radius:10px;background:#f8fafc;cursor:pointer}.icon-button-danger{background:#fff1f2;border-color:#fecdd3}.inline-edit-panel{margin-top:12px;padding:12px;border:1px dashed #cfd6e5;border-radius:13px;background:#fafbfe}.inline-edit-panel[hidden]{display:none}.reply-stream{display:grid;gap:8px;margin:15px 0 4px;padding-left:27px;border-left:2px solid #edf0f5}.reply-card-modern{padding:11px 12px;border-radius:13px;background:#fafbfe;border:1px solid #eceff4}.reply-card-modern .discussion-copy{margin-top:8px;font-size:.94rem}.reply-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:13px}.reply-compose textarea{min-height:48px;resize:vertical}.reply-compose button{border:0;border-radius:11px;background:#eef2ff;color:#4338ca;font-weight:850;padding:8px 13px;cursor:pointer}.pagination-modern{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:16px}.pagination-modern a,.pagination-modern span{min-width:34px;min-height:34px;padding:6px 9px;display:grid;place-items:center;border-radius:10px;border:1px solid #e3e7ef;background:#fff;color:#475569;text-decoration:none!important;font-size:.84rem}.pagination-modern a.is-current{background:#4f46e5;color:#fff;border-color:#4f46e5}.learning-index-fragment{margin-block:8px}
.certificate-scroll{overflow:auto;padding:8px 0}.certificate-card progress{width:100%;height:9px;accent-color:#c59a22}.cert-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;padding:9px 14px!important;border:0;border-radius:12px;background:linear-gradient(135deg,#b98b18,#d4aa33)!important;color:#fff!important;text-decoration:none!important;font-weight:850;cursor:pointer}.button-group{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px auto 0}.progress-bar-bg{height:9px;border-radius:999px;background:#edf0f5;overflow:hidden}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#06b6d4)}
@media(max-width:760px){.hero-visual{display:none}.learning-public-hero{min-height:0}.catalogue-top,.enrollment-panel,.curriculum-head,.forum-section-heading{flex-direction:column;align-items:stretch}.catalogue-actions{justify-content:flex-start}.module-progress{min-width:0}.answer-grid{grid-template-columns:1fr}.forum-filter-inline{margin-left:0}.reply-stream{padding-left:10px}.reply-compose{grid-template-columns:1fr}.quiz-submit-bar{bottom:78px;align-items:stretch;flex-direction:column}.quiz-submit-bar>*{width:100%}.thread-owner-actions{align-self:flex-start}}
@media(max-width:520px){.curriculum-head{padding:12px}.lesson-row{grid-template-columns:31px minmax(0,1fr);padding:10px 12px}.lesson-row>span:last-child{grid-column:2}.discussion-thread{padding:14px}.discussion-thread-head{align-items:flex-start;flex-wrap:wrap}.thread-owner-actions{margin-left:48px}.reply-meta-modern{align-items:flex-start;flex-wrap:wrap}.reply-meta-modern .thread-owner-actions{margin-left:41px}.catalogue-cover{min-height:92px}.catalogue-cover>span{font-size:2.5rem}}
