.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-collapsed-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:1000;display:flex;flex-direction:column;transition:width .4s var(--sidebar-ease);overflow:visible}.sidebar.open{width:var(--sidebar-width)}.sidebar-header{height:65px;display:flex;align-items:center;padding:0 44px 0 14px;position:relative;border-bottom:1px solid var(--sidebar-border)}.logo-container{display:flex;align-items:center;gap:12px;overflow:hidden}.sidebar-logo{width:45px;height:45px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;transition:transform .4s var(--sidebar-ease)}.sidebar.open .sidebar-logo{transform:scale(1.04)}.logo-text{font-size:17px;font-weight:600;color:var(--sidebar-header-color);white-space:nowrap;opacity:0;transform:translateX(-8px);transition:opacity .35s var(--sidebar-ease) .1s,transform .35s var(--sidebar-ease) .1s}.sidebar.open .logo-text{opacity:1;transform:translateX(0)}.toggle-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;background:transparent;color:var(--sidebar-text);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),transform .3s var(--sidebar-ease)}.toggle-btn:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text-hover)}.toggle-btn:active{transform:translateY(-50%) scale(.92)}.sidebar.open .toggle-btn{right:14px}.sidebar-nav{flex:1;overflow-x:visible;overflow-y:auto;padding:8px 0}.sidebar.open .sidebar-nav{overflow-y:auto;overflow-x:hidden}.sidebar:not(.open) .sidebar-nav{overflow:visible}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ccc}.nav-list{list-style:none;padding:0;margin:0}.nav-item{position:relative;margin:1px 8px}.nav-link{display:flex;align-items:center;gap:0;height:40px;padding:0 12px;width:100%;color:var(--sidebar-text);font-size:14px;font-weight:450;border-radius:10px;position:relative;cursor:pointer;transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),box-shadow .25s var(--sidebar-ease),transform .2s var(--sidebar-ease);z-index:1;overflow:visible;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;outline:none;font-family:inherit;text-decoration:none}.nav-link:hover{color:var(--sidebar-text-hover);background:var(--sidebar-accent-light);border-color:rgba(2,98,167,.1);box-shadow:0 1px 4px rgba(2,98,167,.06);transform:translateX(2px)}.nav-link:active{transform:scale(.97);transition:transform .1s ease}.nav-link.active{color:var(--sidebar-active-text);font-weight:550;background:var(--sidebar-accent-light);border-color:rgba(2,98,167,.12);box-shadow:0 1px 4px rgba(2,98,167,.08)}.nav-link:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--sidebar-accent);z-index:2;transform:scaleY(0);opacity:0;transition:transform .3s var(--sidebar-ease),opacity .3s var(--sidebar-ease)}.nav-link.active:before{transform:scaleY(1);opacity:1}.nav-item.has-submenu>.nav-link:before,.sidebar:not(.open) .nav-link:before{display:none}.nav-icon{width:28px;min-width:28px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s var(--sidebar-ease),color .25s var(--sidebar-ease)}.nav-link.active .nav-icon{color:var(--sidebar-active-text)}.sidebar:not(.open) .nav-icon{min-width:100%;transform:scale(1.08)}.sidebar:not(.open) .nav-link:hover{transform:scale(1.06);background:var(--sidebar-accent-light);border-color:rgba(2,98,167,.1);box-shadow:0 2px 8px rgba(2,98,167,.08);border-radius:12px}.sidebar:not(.open) .nav-link:hover .nav-icon{color:var(--sidebar-accent)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=dashboard]{animation:iconDashboard .5s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=ogrenci]{animation:iconWave .5s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=kocluk]{animation:iconBounceUp .45s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=odev]{animation:iconTick .4s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=kutuphane]{animation:iconBookOpen .5s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=personel]{animation:iconNod .45s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=akademik]{animation:iconFlip .5s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=kurum]{animation:iconGearSpin .6s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=roller]{animation:iconShieldPulse .45s var(--sidebar-ease)}.sidebar:not(.open) .nav-link:hover .nav-icon[data-icon=ayarlar]{animation:iconBuildingSway .5s var(--sidebar-ease)}.nav-link:hover .nav-icon[data-icon=dashboard]{animation:iconDashboard .5s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconDashboard{0%{transform:scale(1) rotate(0deg)}30%{transform:scale(.85) rotate(-8deg)}60%{transform:scale(1.12) rotate(2deg)}to{transform:scale(1) rotate(0deg)}}.nav-link:hover .nav-icon[data-icon=ogrenci]{animation:iconWave .5s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconWave{0%{transform:rotate(0deg)}25%{transform:rotate(12deg)}50%{transform:rotate(-8deg)}75%{transform:rotate(5deg)}to{transform:rotate(0deg)}}.nav-link:hover .nav-icon[data-icon=kocluk]{animation:iconBounceUp .45s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconBounceUp{0%{transform:translateY(0)}30%{transform:translateY(-4px)}50%{transform:translateY(1px)}70%{transform:translateY(-2px)}to{transform:translateY(0)}}.nav-link:hover .nav-icon[data-icon=odev]{animation:iconTick .4s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconTick{0%{transform:scale(1)}40%{transform:scale(.85) rotate(-5deg)}70%{transform:scale(1.15) rotate(2deg)}to{transform:scale(1) rotate(0deg)}}.nav-link:hover .nav-icon[data-icon=kutuphane]{animation:iconBookOpen .5s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconBookOpen{0%{transform:rotateY(0deg) scale(1)}40%{transform:rotateY(-15deg) scale(1.05)}70%{transform:rotateY(5deg) scale(1.08)}to{transform:rotateY(0deg) scale(1)}}.nav-link:hover .nav-icon[data-icon=personel]{animation:iconNod .45s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconNod{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(2px) rotate(3deg)}60%{transform:translateX(-1px) rotate(-2deg)}to{transform:translateX(0) rotate(0)}}.nav-link:hover .nav-icon[data-icon=akademik]{animation:iconFlip .5s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconFlip{0%{transform:perspective(200px) rotateX(0deg)}50%{transform:perspective(200px) rotateX(-15deg) scale(1.05)}to{transform:perspective(200px) rotateX(0deg) scale(1)}}.nav-link:hover .nav-icon[data-icon=kurum]{animation:iconGearSpin .6s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconGearSpin{0%{transform:rotate(0deg)}to{transform:rotate(120deg)}}.nav-link:hover .nav-icon[data-icon=roller]{animation:iconShieldPulse .45s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconShieldPulse{0%{transform:scale(1)}35%{transform:scale(1.18)}65%{transform:scale(.95)}to{transform:scale(1)}}.nav-link:hover .nav-icon[data-icon=ayarlar]{animation:iconBuildingSway .5s var(--sidebar-ease);color:var(--sidebar-accent)}@keyframes iconBuildingSway{0%{transform:skewX(0deg)}30%{transform:skewX(-3deg)}60%{transform:skewX(2deg)}to{transform:skewX(0deg)}}.nav-label{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;text-align:left;opacity:0;transform:translateX(-10px);transition:opacity .35s var(--sidebar-ease),transform .35s var(--sidebar-ease);transition-delay:calc(var(--i, 0) * 25ms);pointer-events:none}.sidebar.open .nav-label{opacity:1;transform:translateX(0);pointer-events:auto}.tooltip{left:calc(100% + 12px);transform:translateY(-50%) translateX(-4px);color:var(--sidebar-text-hover);padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08);border:1px solid var(--sidebar-border);opacity:0;visibility:hidden;transition:opacity .2s var(--sidebar-ease),transform .2s var(--sidebar-ease),visibility .2s var(--sidebar-ease);z-index:1001}.tooltip,.tooltip:before{position:absolute;top:50%;background:#fff}.tooltip:before{content:"";left:-5px;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;border-left:1px solid var(--sidebar-border);border-bottom:1px solid var(--sidebar-border)}.tooltip.visible{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}.sidebar.open .tooltip{display:none}.nav-item.has-submenu{position:relative}.nav-item.has-submenu>.nav-link{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background-color:rgba(2,98,167,.03);width:100%;text-align:left;font-family:inherit;outline:none;padding:0 12px}.nav-item.has-submenu>.nav-link:hover{background:rgba(2,98,167,.08);border-color:rgba(2,98,167,.1);box-shadow:0 1px 4px rgba(2,98,167,.06);color:var(--sidebar-text-hover);transform:translateX(2px)}.nav-item.has-submenu>.nav-link.active{background:rgba(2,98,167,.1);border-color:rgba(2,98,167,.12);box-shadow:0 1px 4px rgba(2,98,167,.08);color:var(--sidebar-active-text)}.nav-arrow{margin-left:auto;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s var(--sidebar-ease),transform .35s var(--sidebar-ease)}.sidebar.open .nav-arrow{opacity:1}.nav-arrow.rotated{transform:rotate(180deg)}.submenu{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height .4s var(--sidebar-ease),opacity .3s var(--sidebar-ease);opacity:0}.submenu.open{max-height:500px;opacity:1}.sidebar:not(.open) .submenu{display:none}.submenu-item{margin:0}.submenu-item.is-dragging{opacity:.45}.submenu-item.drag-over-after:after,.submenu-item.drag-over-before:before{content:"";display:block;height:2px;margin:2px 12px 2px 44px;border-radius:2px;background:var(--sidebar-accent,#0262a7)}.submenu-item.drag-over-before:before{margin-bottom:4px}.submenu-item.drag-over-after:after{margin-top:4px}.submenu-link{display:flex;align-items:center;padding:8px 14px 8px 44px;color:var(--sidebar-text);font-size:13.5px;transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),transform .25s var(--sidebar-ease);border-radius:8px;margin:1px 8px;min-width:0;overflow:hidden}.submenu-link:hover{color:var(--sidebar-text-hover);background:var(--sidebar-active-bg);transform:translateX(3px)}.submenu-link.active{color:var(--sidebar-active-text);font-weight:550;background:var(--sidebar-accent-light);position:relative}.submenu-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:0 2px 2px 0;background:var(--sidebar-accent);transition:transform .3s var(--sidebar-ease),opacity .3s var(--sidebar-ease)}.submenu-dot{width:5px;height:5px;border-radius:50%;background:#ccc;margin-right:10px;flex-shrink:0;transition:background .25s var(--sidebar-ease),transform .25s var(--sidebar-ease)}.submenu-link:hover .submenu-dot{background:#999;transform:scale(1.25)}.submenu-link.active .submenu-dot{background:var(--sidebar-accent)}.submenu-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.submenu-tooltip{position:fixed;min-width:200px;max-width:250px;background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:4px 0;opacity:0;visibility:hidden;transform:translateX(-8px) scale(.97);transform-origin:left center;z-index:99999;pointer-events:none;border:1px solid var(--sidebar-border);overflow:hidden;overflow-y:auto;transition:opacity .25s var(--sidebar-ease),transform .25s var(--sidebar-ease),visibility .25s var(--sidebar-ease)}.submenu-tooltip.visible{opacity:1;visibility:visible;transform:translateX(0) scale(1);pointer-events:auto}.submenu-tooltip.visible .submenu-tooltip-item{animation:tooltipItemSlide .3s var(--sidebar-ease) forwards;opacity:0;transform:translateX(-6px)}.submenu-tooltip.visible .submenu-tooltip-item:first-child{animation-delay:.03s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(2){animation-delay:.06s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(3){animation-delay:.09s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(4){animation-delay:.12s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(5){animation-delay:.15s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(6){animation-delay:.18s}.submenu-tooltip.visible .submenu-tooltip-item:nth-child(7){animation-delay:.21s}@keyframes tooltipItemSlide{to{opacity:1;transform:translateX(0)}}.submenu-tooltip:before{content:"";position:absolute;left:-20px;top:0;width:20px;height:100%;background:transparent}.submenu-tooltip:after{content:"";position:absolute;left:-5px;top:18px;width:10px;height:10px;background:#fff;border-left:1px solid var(--sidebar-border);border-bottom:1px solid var(--sidebar-border);transform:rotate(45deg)}.submenu-tooltip-header{padding:10px 14px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sidebar-text-hover);border-bottom:1px solid var(--sidebar-border);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-tooltip-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sidebar-accent);border-radius:0 2px 2px 0}.submenu-tooltip-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13px;font-weight:450;color:var(--sidebar-text);transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),transform .2s var(--sidebar-ease);text-decoration:none;position:relative;margin:2px 4px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-tooltip-item:before{content:"";width:4px;height:4px;border-radius:50%;background:#ccc;transition:background .25s var(--sidebar-ease),transform .25s var(--sidebar-ease);flex-shrink:0}.submenu-tooltip-item:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text-hover);transform:translateX(2px)}.submenu-tooltip-item:hover:before{background:#999;transform:scale(1.3)}.submenu-tooltip-item.active{background:var(--sidebar-accent-light);color:var(--sidebar-active-text);font-weight:550}.submenu-tooltip-item.active:before{background:var(--sidebar-accent)}.submenu-tooltip-item.active:after{content:"";position:absolute;right:10px;width:5px;height:5px;background:var(--sidebar-accent);border-radius:50%}.nav-item.has-submenu .tooltip{display:none}.nav-link-row{display:flex;align-items:center;position:relative;overflow:hidden}.nav-link-row .nav-link{flex:1;min-width:0;overflow:hidden}.pin-btn{width:22px;height:22px;display:none;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#bbb;transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),opacity .25s var(--sidebar-ease),transform .25s var(--sidebar-ease);flex-shrink:0;margin-right:6px;opacity:0}.sidebar.open .pin-btn{display:flex}.nav-link-row:hover .pin-btn{opacity:.5}.pin-btn:hover{opacity:1!important;background:var(--sidebar-active-bg);color:var(--sidebar-text-hover);transform:scale(1.1)}.pin-btn:active{transform:scale(.9)}.pin-btn.pinned{opacity:1;color:var(--sidebar-accent)}.nav-item.dragging{opacity:.35;transform:scale(.98)}.nav-item.drag-over-top:before{top:-1px}.nav-item.drag-over-bottom:after,.nav-item.drag-over-top:before{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--sidebar-accent);border-radius:1px;z-index:10;animation:dragLine .2s var(--sidebar-ease) forwards}.nav-item.drag-over-bottom:after{bottom:-1px}@keyframes dragLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.nav-item[draggable=true]{cursor:grab}.nav-item[draggable=true]:active{cursor:grabbing}.sidebar-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;font-size:11px;color:#bbb;cursor:pointer;transition:color .25s var(--sidebar-ease),transform .25s var(--sidebar-ease)}.sidebar-search-clear:hover{color:var(--sidebar-text-hover);transform:translateY(-50%) scale(1.15)}.sidebar-search-input{width:100%;height:34px;padding:0 28px 0 30px;border:1px solid var(--sidebar-border);border-radius:8px;background:#f8f9fa;font-size:13px;color:var(--text-color);transition:border-color .3s var(--sidebar-ease),background .3s var(--sidebar-ease),box-shadow .3s var(--sidebar-ease)}.sidebar-search-input:focus{outline:none;border-color:var(--sidebar-accent);background:#fff;box-shadow:0 0 0 3px rgba(2,98,167,.06)}.sidebar-search-input::-moz-placeholder{color:#bbb}.sidebar-search-input::placeholder{color:#bbb}.sidebar-search{display:flex;align-items:center;position:relative;margin:8px 12px}.sidebar-search>svg{position:absolute;left:10px;color:#bbb;z-index:1;flex-shrink:0;pointer-events:none}.pinned-section{padding:0 0 4px}.pinned-header{padding:8px 20px 4px;font-size:10px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.pinned-list{margin:0;padding:0}.pinned-list .nav-link{height:36px;font-size:13px}.pinned-divider{height:1px;background:var(--sidebar-border);margin:6px 12px}.submenu-group{list-style:none;margin:0;padding:0}.submenu-group-title{padding:8px 20px 3px 44px;font-size:10px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.submenu-group:first-child .submenu-group-title{padding-top:4px}.submenu-badge{flex-shrink:0;min-width:18px;height:18px;justify-content:center;padding:0 5px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;border-radius:9px;margin-left:auto}.sidebar-footer,.submenu-badge{display:flex;align-items:center}.sidebar-footer{padding:14px;border-top:1px solid var(--sidebar-border);justify-content:space-between;overflow:hidden}.profile-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.profile-avatar{width:38px;height:38px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#f4f6f8;display:flex;align-items:center;justify-content:center;border:1px solid var(--sidebar-border);transition:border-color .25s var(--sidebar-ease),transform .25s var(--sidebar-ease)}.profile-avatar:hover{border-color:#ccc;transform:scale(1.04)}.avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:9px}.profile-info{display:flex;flex-direction:column;opacity:0;transform:translateX(-6px);transition:opacity .35s var(--sidebar-ease) .08s,transform .35s var(--sidebar-ease) .08s;min-width:0}.sidebar.open .profile-info{opacity:1;transform:translateX(0)}.profile-name{font-size:14px;font-weight:500;color:var(--sidebar-text-hover);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{font-size:12px;color:#aaa}.logout-btn{width:34px;height:34px;border:none;background:transparent;color:var(--sidebar-text);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .25s var(--sidebar-ease),background .25s var(--sidebar-ease),transform .25s var(--sidebar-ease);flex-shrink:0;opacity:0;pointer-events:none}.sidebar.open .logout-btn{opacity:1;pointer-events:auto}.logout-btn:hover{background:rgba(239,68,68,.06);color:var(--danger);transform:scale(1.06)}.logout-btn:active{transform:scale(.92)}:root{--admin-bottom-nav-h:56px}.app-container.admin-sidebar-expanded .app-main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.app-container.admin-sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}@media (max-width:991px){.app-container.admin-mobile-shell .app-main{margin-left:0!important;width:100%!important;max-width:100%!important;padding-bottom:calc(var(--admin-bottom-nav-h) + env(safe-area-inset-bottom, 0px))}.app-container.admin-mobile-shell .app-content{padding:12px}.app-container.admin-mobile-shell .app-topbar{height:auto;min-height:52px;padding:8px 10px;gap:0}.app-container.admin-mobile-shell .topbar-primary-row{min-height:36px}.app-container.admin-mobile-shell .topbar-left{gap:6px;min-width:0;flex:1}.app-container.admin-mobile-shell .topbar-right{gap:4px;flex-shrink:0}.app-container.admin-mobile-shell .sidebar-toggle-btn,.app-container.admin-mobile-shell .topbar-icon-btn{width:36px;height:36px;font-size:16px;flex-shrink:0}.admin-topbar-hide-mobile{display:none!important}.admin-topbar-search-mobile{background:var(--body-bg);border:1px solid var(--border-color)}.app-container.admin-mobile-shell .sidebar{width:min(280px,88vw);transform:translateX(-100%);z-index:1100;box-shadow:8px 0 32px rgba(15,23,42,.28);pointer-events:none;visibility:hidden}.app-container.admin-mobile-drawer-open .sidebar,.app-container.admin-mobile-shell .sidebar.open{transform:translateX(0);pointer-events:auto;visibility:visible}.admin-sidebar-backdrop{display:block!important;position:fixed;inset:0;z-index:1050;border:none;padding:0;margin:0;background:rgba(15,23,42,.45);cursor:pointer;opacity:1;pointer-events:all}}.admin-bottom-nav{display:none}@media (max-width:991px){.admin-bottom-nav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1040;background:#fff;border-top:1px solid #e2e8f0;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -4px 24px rgba(15,23,42,.08)}.admin-bottom-nav-list{display:flex;align-items:stretch;justify-content:space-around;margin:0;padding:0;list-style:none;height:var(--admin-bottom-nav-h)}.admin-bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-width:0;padding:6px 4px;border:none;background:transparent;color:#64748b;font-size:10px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.1}.admin-bottom-nav-link.is-active{color:#0262a7}.admin-bottom-nav-label{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.hero-header{flex-direction:column;align-items:stretch;gap:14px;padding:16px;border-radius:14px}.hero-content{gap:12px;min-width:0}.hero-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0}.hero-text{min-width:0}.hero-text h1{font-size:1.15rem;line-height:1.25;word-break:break-word}.hero-text p{font-size:12px;line-height:1.45}.hero-breadcrumb{flex-wrap:wrap;font-size:11px;gap:4px}.hero-header>.btn-hero,.hero-header>a.btn-hero,.hero-header>button.btn-hero{width:100%;justify-content:center;padding:10px 16px;font-size:13px;border-radius:10px}.btn-hero{padding:10px 16px;font-size:13px;border-radius:10px}.btn-hero-icon{width:28px;height:28px;border-radius:8px}.page-header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.page-header-left h2{font-size:1.15rem;line-height:1.25;word-break:break-word}.page-header-right{width:100%;flex-wrap:wrap;gap:8px}.page-header-right>*{flex:1 1 auto;min-width:0}.section{gap:14px}.tabs-modern{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px;margin-bottom:16px}}@media (max-width:991px){.tabs-modern::-webkit-scrollbar{display:none}.tab-modern{flex-shrink:0;padding:8px 12px;font-size:12px}}@media (max-width:576px){.app-container.admin-mobile-shell .app-content{padding:10px}.hero-text h1{font-size:1.05rem}.app-content .btn,.app-content .btn-primary,.app-content button.btn-primary{min-height:36px;padding:8px 12px;font-size:13px}.app-content .btn-lg,.app-content button.btn-lg{min-height:40px;padding:10px 14px;font-size:14px}.quick-stats{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-card h3{font-size:18px}}@media (max-width:991px){.topbar-context-row{width:100%}.ctx-compact-wrapper--mobile-bar .ctx-popover{left:0!important;right:0!important;width:auto!important;max-width:none}.app-content .data-table-wrapper,.app-content .table-container,.app-content .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}.ok-root{font-family:Poppins,sans-serif;color:#1e293b}.ok-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#172b4c;color:#fff;padding:10px 24px;border-radius:100px;font-size:13px;font-weight:600;z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ok-page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 28px;margin-bottom:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.ok-page-header-text h1{margin:0 0 4px;font-size:22px;font-weight:700;color:#1e293b}.ok-page-header-text p{margin:0;font-size:14px;color:#64748b}.ok-header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ok-btn-primary{padding:10px 20px;background:#1f3c88;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.ok-btn-primary:hover{background:#18306e}.ok-btn-secondary{padding:10px 16px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.ok-filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.ok-filter-chip{padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;font-size:13px;color:#64748b;cursor:pointer;font-family:inherit}.ok-filter-chip.is-active{background:#1f3c88;border-color:#1f3c88;color:#fff}.ok-filter-chip strong{font-weight:700;margin-left:4px}.ok-filter-chip.is-warning{border-color:#fca5a5;color:#dc2626}.ok-filter-chip.is-warning.is-active{background:#dc2626;border-color:#dc2626;color:#fff}.ok-toolbar{padding:14px 18px;border-radius:10px;margin-bottom:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ok-input,.ok-select,.ok-toolbar{background:#fff;border:1px solid #e2e8f0}.ok-input,.ok-select{padding:10px 14px;border-radius:8px;font-size:14px;outline:none;font-family:inherit}.ok-input{flex:1 1 200px}.ok-btn-clear{padding:10px 14px;background:#f1f5f9;border:none;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.ok-list-meta{font-size:13px;color:#64748b;margin-bottom:10px}.ok-list{display:flex;flex-direction:column;gap:8px}.ok-coach .ok-page-header{padding:0 0 16px;margin-bottom:16px;border:none;border-radius:0;background:transparent}.ok-coach .ok-page-header-text h1{font-size:20px}.ok-table-list{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;font-size:13px}.ok-table-list thead th{text-align:left;padding:10px 14px;background:#f8fafc;color:#64748b;font-weight:600;font-size:12px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ok-table-list tbody tr{cursor:pointer;border-bottom:1px solid #f1f5f9}.ok-table-list tbody tr:hover{background:#f8fafc}.ok-table-list tbody tr.is-due-today{background:#fffbfb}.ok-table-list tbody tr:last-child{border-bottom:none}.ok-table-list td{padding:12px 14px;vertical-align:middle}.ok-list-mobile{display:flex;flex-direction:column;gap:8px}.ok-list-desktop{display:none}@media (min-width:900px){.ok-list-mobile{display:none}.ok-list-desktop{display:table}}.ok-table-list td .is-due-today{color:#dc2626;font-weight:600}.ok-table-title{font-weight:600;color:#1e293b;margin:0 0 2px;font-size:14px}.ok-table-sub{color:#64748b;font-size:12px}.ok-table-progress{display:flex;align-items:center;gap:8px;min-width:100px}.ok-table-progress span{font-size:12px;font-weight:600;color:#1f3c88;min-width:32px}.ok-note-box{margin-top:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#475569;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ok-note-actions{display:flex;gap:6px;flex-shrink:0}.ok-btn-reset-all{width:100%;margin-top:12px;padding:10px 14px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.ok-btn-reset-all:hover{border-color:#1f3c88;color:#1f3c88}.ok-summary-report{padding:16px 20px;border-top:1px solid #e2e8f0}.ok-summary-report-btn{display:block;width:100%;text-align:center;justify-content:center;box-sizing:border-box}.ok-summary-report-hint{margin:8px 0 0;font-size:11px;color:#94a3b8;text-align:center}.ok-list-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;cursor:pointer}.ok-list-row:hover{border-color:#1f3c88}.ok-list-row.is-due-today{border-color:#fca5a5;background:#fffbfb}.ok-list-row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.ok-list-row-title{font-size:15px;font-weight:600;color:#1e293b;margin:0}.ok-list-row-sub{font-size:13px;color:#64748b}.ok-list-row-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#64748b;margin-bottom:8px}.ok-list-row-footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ok-progress{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin:8px 0}.ok-progress-fill{height:100%;background:#1f3c88;border-radius:3px}.ok-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.ok-badge.is-accent{background:#eef2ff;color:#1f3c88;border-color:#c7d2fe}.ok-badge.is-warning{background:#fffbeb;color:#b45309;border-color:#fde68a}.ok-badge.is-danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.ok-badge.is-success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.ok-empty,.ok-loading{text-align:center;padding:48px 24px;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.ok-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px 28px;margin-bottom:16px}.ok-detail-header h1{margin:0 0 8px;font-size:22px;font-weight:700}.ok-detail-header-meta{font-size:14px;color:#64748b;display:flex;gap:16px;flex-wrap:wrap}.ok-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}.ok-link-back{color:#1f3c88;font-size:13px;text-decoration:none;font-weight:500;margin-bottom:12px;display:inline-block}.ok-task-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:8px}.ok-task-detail-box{padding:10px 14px;margin-bottom:10px;font-size:12px}.ok-segment,.ok-task-detail-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.ok-segment{display:inline-flex;overflow:hidden}.ok-segment-btn{padding:8px 16px;background:transparent;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;font-family:inherit;border:none;border-right:1px solid #e2e8f0}.ok-segment-btn:last-child{border-right:none}.ok-segment-btn.is-active-done{background:#f0fdf4;color:#15803d}.ok-segment-btn.is-active-not-done{background:#fef2f2;color:#dc2626}.ok-segment-btn.is-active-partial{background:#fffbeb;color:#b45309}.ok-task-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ok-btn-danger,.ok-btn-ghost,.ok-btn-reset{padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.ok-btn-danger{color:#dc2626;border-color:#fecaca}.ok-partial-panel{margin-top:10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.ok-partial-grid{display:flex;gap:6px;flex-wrap:wrap}.ok-partial-btn{padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:12px;font-family:inherit}.ok-partial-btn.is-active{border-color:#1f3c88;background:#eef2ff;color:#1f3c88;font-weight:700}.ok-summary-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.ok-summary-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.ok-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 20px}.ok-stat-item{text-align:center;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.ok-stat-value{font-size:18px;font-weight:700;color:#1e293b}.ok-stat-label{font-size:11px;color:#64748b;margin-top:2px}.ok-summary-body{padding:16px 20px}.ok-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px}.ok-modal{background:#fff;border-radius:12px;max-width:480px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.15)}.ok-modal-header{border-bottom:1px solid #e2e8f0}.ok-modal-body,.ok-modal-header{padding:18px 22px}.ok-textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;min-height:90px;resize:vertical;font-family:inherit;box-sizing:border-box}.ok-modal-footer{padding:14px 22px;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end}.ok-char-hint{font-size:11px;color:#94a3b8;margin-top:6px}.ok-char-hint.is-valid{color:#15803d}.ok-report-overlay{position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.5);display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto}.ok-report-shell{background:#fff;border-radius:12px;max-width:900px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.2);margin-bottom:40px}.ok-report-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.ok-report-header{background:#1f3c88;color:#fff;border-radius:10px;padding:16px 20px;margin-bottom:12px}.ok-report-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden}.ok-report-section-title{margin:0;font-size:17px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px}.ok-report-section-sub{font-size:12px;color:#64748b;margin-top:2px}.ok-report-stat-grid{display:grid;gap:12px;margin-bottom:20px}.ok-report-stat-card{background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 4px rgba(0,0,0,.05);text-align:center;border:1px solid #e2e8f0;transition:box-shadow .2s,transform .2s}.ok-report-stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.ok-report-history{background:linear-gradient(160deg,#f8fafc,#fff 40%,#f0f7ff);border:1px solid #dbeafe;border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 2px 8px rgba(2,98,167,.06)}.ok-report-history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.ok-report-history-header h2{margin:0 0 4px;font-size:18px;font-weight:800;color:#0f172a}.ok-report-history-header p{margin:0;font-size:13px;color:#64748b}.ok-report-history-total{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 18px;min-width:88px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.ok-report-history-total-num{display:block;font-size:32px;font-weight:800;color:#0262a7;line-height:1}.ok-report-history-total-label{display:block;font-size:11px;color:#94a3b8;font-weight:600;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.ok-report-history-bar-wrap{margin-bottom:18px}.ok-report-history-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:#e2e8f0}.ok-report-history-bar-seg{min-width:4px;transition:width .6s ease}.ok-report-history-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:10px}.ok-report-history-legend-item{font-size:12px;color:#475569;display:flex;align-items:center;gap:6px}.ok-report-history-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ok-report-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:16px}.ok-report-history-card{border:1px solid;border-radius:12px;padding:14px 10px;text-align:center}.ok-report-history-card-icon{font-size:18px;margin-bottom:4px}.ok-report-history-card-value{font-size:28px;font-weight:800;line-height:1}.ok-report-history-card-label{font-size:12px;font-weight:700;margin-top:4px}.ok-report-history-card-sub{font-size:10px;color:#64748b;margin-top:2px;line-height:1.3}.ok-report-history-footer{display:flex;flex-wrap:wrap;gap:10px 20px;padding-top:14px;border-top:1px dashed #cbd5e1}.ok-report-history-stat{display:flex;flex-direction:column;gap:2px}.ok-report-history-stat-label{font-size:10px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.ok-report-history-stat-value{font-size:13px;font-weight:700;color:#1e293b}.ok-report-eval-panel{display:grid;grid-template-columns:1fr auto;gap:0;background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}.ok-control-lock-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;margin-bottom:14px;border-radius:12px;border:1px solid #fecaca;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;font-size:14px;line-height:1.4}.ok-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.ok-table{width:100%;border-collapse:collapse;font-size:13px}.ok-table th{text-align:left;padding:12px 16px;background:#f8fafc;color:#64748b;font-weight:600;border-bottom:1px solid #e2e8f0}.ok-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:top}.ok-table .reason-cell{max-width:320px;line-height:1.5}.ok-detail-layout{display:flex;gap:24px;align-items:flex-start}.ok-detail-main{flex:1 1 0;min-width:0}.ok-detail-aside{flex:0 0 340px;position:sticky;top:24px;min-width:0}@media (max-width:1100px){.ok-detail-layout{flex-direction:column;gap:16px}.ok-detail-aside{flex:none;width:100%;position:static;order:-1}.ok-root{max-width:100%!important;padding:0 4px}.ok-detail-header{padding:16px}.ok-detail-header h1{font-size:18px}}@media (max-width:640px){.ok-page-header{padding:16px}.ok-filter-bar{padding:12px}.ok-detail-aside .ok-summary-panel{border-radius:12px}.ok-task-actions{width:100%}.ok-segment{width:100%;flex-wrap:wrap}.ok-segment button{flex:1 1 auto;min-width:0}}