/* LMS-02.2 — UX, drawer navigation, login refresh, and filters */
.app-shell{display:block!important;min-height:100vh}.app-main{min-height:100vh!important;width:100%;padding:28px clamp(18px,3vw,46px) 60px!important}.app-sidebar{position:fixed!important;z-index:1200;inset:0 auto 0 0;width:min(300px,88vw);height:100dvh!important;transform:translateX(-104%);transition:transform .24s ease;box-shadow:18px 0 60px rgba(41,22,15,.26);padding:18px 14px 14px!important;overflow:hidden;display:flex!important;flex-direction:column}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;z-index:1190;inset:0;background:rgba(42,27,21,.42);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.2s}.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}.sidebar-head{display:flex;align-items:center;gap:8px;flex:0 0 auto}.sidebar-head .brand{flex:1;padding:3px 7px 14px!important}.sidebar-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1;cursor:pointer}.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden;padding:2px 4px 14px 0;display:block!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.32) transparent}.side-nav::-webkit-scrollbar{width:7px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}.side-nav>a{display:block;margin:4px 0}.sidebar-user{flex:0 0 auto;margin-top:0!important;padding:13px 8px 0!important;background:linear-gradient(180deg,rgba(77,43,33,0),rgba(77,43,33,.96) 14%)}.topbar-leading{display:flex;align-items:flex-start;gap:14px}.menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #e1c8ba;background:#fff;color:var(--lms-dark);height:42px;padding:0 14px;border-radius:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 16px rgba(77,43,33,.06)}.menu-toggle span:first-child{font-size:18px}.menu-toggle:hover{border-color:var(--lms-primary);color:var(--lms-primary)}body.sidebar-open{overflow:hidden}
/* filters */
.toolbar-filter{align-items:flex-end;flex-wrap:wrap}.filter-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;flex:1;min-width:0;padding:13px;background:#fff;border:1px solid var(--lms-border);border-radius:16px;box-shadow:0 5px 18px rgba(77,43,33,.035)}.filter-field{display:grid;gap:5px;min-width:150px}.filter-field.filter-grow{flex:1 1 240px}.filter-field label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--lms-muted)}.filter-form input,.filter-form select{width:100%;height:42px;padding:9px 11px;border:1px solid #dac9bf;border-radius:10px;background:#fff;color:var(--lms-text);font:inherit}.filter-actions{display:flex;gap:7px;align-items:center}.filter-actions button{height:42px;border:0;border-radius:10px;padding:0 15px;background:var(--lms-primary);color:#fff;font-weight:800;cursor:pointer}.filter-actions a{height:42px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid #dac9bf;border-radius:10px;color:var(--lms-dark);text-decoration:none;font-weight:700;background:#fff}.toolbar-filter>.primary-link{white-space:nowrap;height:44px;display:inline-flex;align-items:center}
/* Login V2 */
.login-page-v2{background:#f9f2ed}.login-shell-v2{grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)!important}.login-visual-v2{padding:clamp(28px,4vw,58px)!important;background:radial-gradient(circle at 82% 15%,rgba(242,218,46,.27),transparent 22%),linear-gradient(145deg,#fff1e7 0%,#f7c2a4 52%,#ef9e73 100%)!important;gap:18px}.login-brand-v2{align-items:center}.login-logo-wrap{width:82px;height:82px;display:grid;place-items:center;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 14px 35px rgba(111,61,45,.1)}.login-brand-v2 img{width:68px!important;height:68px!important}.login-brand-v2 h1{font-size:clamp(34px,4.25vw,64px)!important;line-height:.96!important;letter-spacing:-.035em}.login-intro{position:relative;z-index:2;max-width:650px}.login-intro>p{font-size:18px;line-height:1.65;margin:0 0 14px}.login-tags{display:flex;gap:8px;flex-wrap:wrap}.login-tags span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.72);font-size:11px;font-weight:800;color:#74452f}.campus-stage{position:relative;z-index:1;margin-top:auto;min-height:285px;display:flex;align-items:flex-end;justify-content:center;border-radius:30px 30px 10px 10px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.0),rgba(255,244,235,.46) 48%,rgba(255,250,246,.78) 100%);border-bottom:5px solid rgba(46,125,87,.76)}.campus-stage:before{content:"";position:absolute;left:-5%;right:-5%;bottom:1px;height:72px;background:linear-gradient(180deg,transparent,rgba(46,125,87,.09));border-radius:50% 50% 0 0}.campus-stage img{position:relative;z-index:2;display:block;width:min(100%,920px);height:auto;max-height:360px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px rgba(92,54,38,.15))}.campus-glow{position:absolute;width:420px;height:210px;border-radius:50%;background:rgba(255,255,255,.32);filter:blur(2px);bottom:52px}.login-panel-v2{background:linear-gradient(180deg,#fffaf7,#f8f1ec);padding:clamp(24px,4vw,54px)!important}.login-card-v2{position:relative;border-radius:30px!important;padding:42px 40px!important;box-shadow:0 28px 80px rgba(74,42,29,.13)!important;border-color:#e6d5cb!important}.login-card-logo{position:absolute;right:30px;top:28px;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#fff8ef;border:1px solid #f0ded3}.login-card-logo img{width:42px;height:42px;object-fit:contain}.login-card-v2 h2{font-size:34px!important;letter-spacing:-.025em;margin-top:7px}.login-subtitle{color:var(--lms-muted);margin:4px 0 24px}.login-submit{margin-top:2px;min-height:48px;font-size:15px}.development-note{display:flex;gap:9px;align-items:flex-start;margin-top:20px;padding:11px 12px;border-radius:12px;background:#fff7e3;border:1px solid #ecdba5;color:#6a5721}.development-note>span{color:#d29e00;font-size:12px;margin-top:3px}.development-note p{font-size:11px;line-height:1.45;margin:0}.login-footer{text-align:center;color:#90796e;font-size:11px;margin:16px 0 0}
@media(max-width:950px){.login-shell-v2{grid-template-columns:1fr!important}.login-visual-v2{min-height:500px!important}.campus-stage{min-height:220px}.campus-stage img{max-height:270px}.login-panel-v2{padding-top:28px!important;padding-bottom:38px!important}.app-main{padding:22px 18px 54px!important}}
@media(max-width:650px){.login-brand-v2 h1{font-size:35px!important}.login-logo-wrap{width:66px;height:66px}.login-brand-v2 img{width:54px!important;height:54px!important}.login-intro>p{font-size:15px}.campus-stage{min-height:170px}.campus-stage img{max-height:210px}.login-card-v2{padding:34px 24px!important}.login-card-logo{display:none}.filter-form{display:grid;grid-template-columns:1fr 1fr;width:100%}.filter-field,.filter-field.filter-grow{min-width:0;grid-column:span 1}.filter-field.filter-grow{grid-column:1/-1}.filter-actions{grid-column:1/-1}.toolbar-filter>.primary-link{width:100%;justify-content:center}.app-topbar{align-items:flex-start}.topbar-leading{width:100%}.maintenance-chip{font-size:10px}}
@media(max-width:430px){.filter-form{grid-template-columns:1fr}.filter-field,.filter-field.filter-grow,.filter-actions{grid-column:1}.filter-actions>*{flex:1;justify-content:center}.menu-toggle span:last-child{display:none}.menu-toggle{padding:0 12px}.login-visual-v2{min-height:430px!important;padding:24px!important}.campus-stage{min-height:145px}}

/* LMS-03 — requested UX refinements */
.sidebar-close{width:36px;height:36px;padding:0;display:grid;place-items:center;border:0!important;border-radius:999px!important;background:transparent!important;color:rgba(255,255,255,.88)!important;box-shadow:none!important;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar-close:hover{background:rgba(255,255,255,.12)!important;color:#fff!important;transform:rotate(4deg)}.sidebar-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.sidebar-head{padding-right:2px}.nav-sub-label{margin-top:20px!important;opacity:.72;font-size:9px!important;letter-spacing:.13em!important}
.login-title-block{min-width:0;flex:1}.login-brand-v2 h1{font-size:clamp(27px,3vw,44px)!important;line-height:1.04!important;letter-spacing:-.032em!important;white-space:nowrap;margin-right:0}.login-brand-v2{gap:16px!important}.login-brand-v2 .eyebrow{margin-top:0!important}
@media(max-width:950px){.login-brand-v2 h1{font-size:clamp(25px,5vw,38px)!important}}
@media(max-width:650px){.login-brand-v2{gap:12px!important}.login-brand-v2 h1{font-size:clamp(22px,5.8vw,32px)!important;white-space:nowrap}.login-logo-wrap{flex:0 0 auto}}
@media(max-width:430px){.login-brand-v2 h1{font-size:20px!important;letter-spacing:-.02em!important}.login-brand-v2 .eyebrow{font-size:9px!important}.login-logo-wrap{width:58px;height:58px}.login-brand-v2 img{width:47px!important;height:47px!important}}
/* Paket 5: tombol X drawer dihapus; backdrop/menu/Escape tetap menutup drawer. */
.sidebar-close{display:none!important}
