:root{--app-sidebar-width:240px;--app-sidebar-bg:#2f8f2f;--app-sidebar-surface:hsla(0,0%,100%,0.12);--app-sidebar-border:hsla(0,0%,100%,0.16);--app-sidebar-text:hsla(0,0%,100%,0.88);--app-sidebar-muted:hsla(0,0%,100%,0.66);--app-sidebar-active:#fff;--app-sidebar-accent:#b8f28b;--app-shell-bg:#f3f6fb;--app-surface:#fff;--app-border:#dbe3ef;--app-shadow:0 24px 60px rgba(15,23,42,0.16);--app-overlay:rgba(15,23,42,0.44);--app-radius-lg:18px;--app-radius-md:14px;--app-topbar-height:72px;--app-transition:0.28s ease}body,html{min-height:100%}body{background:var(--app-shell-bg);color:#1e293b;overflow-x:hidden}.bg-gradient-primary{background-color:#207613!important;background-image:linear-gradient(180deg,#2ca43e 10%,#207613)!important;background-size:cover}.app-layout,.app-main,.app-shell{min-height:100vh}.app-layout{position:relative}.app-sidebar{background:linear-gradient(180deg,#2b772b,#2f8f2f 42%,#277a27),var(--app-sidebar-bg);border-right:1px solid var(--app-sidebar-border);color:var(--app-sidebar-text);height:100vh;left:0;overflow:hidden;position:fixed;top:0;transform:translateX(0);transition:transform var(--app-transition);width:var(--app-sidebar-width);z-index:1040}.app-sidebar__inner{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:20px 16px 24px;scrollbar-width:thin}.app-sidebar__brand{align-items:center;display:flex;gap:12px;margin-bottom:28px;padding:8px;text-decoration:none}.app-sidebar__brand-mark{align-items:center;background:hsla(0,0%,100%,.98);border-radius:16px;display:inline-flex;flex:0 0 52px;height:52px;justify-content:center;width:52px}.app-sidebar__brand-logo{display:block;height:32px;-o-object-fit:contain;object-fit:contain;width:32px}.app-sidebar__brand-text{color:#fff;display:flex;flex-direction:column;gap:2px;line-height:1.1}.app-sidebar__brand-text strong{font-size:.96rem;font-weight:700}.app-sidebar__brand-text small{color:var(--app-sidebar-muted);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.app-sidebar__nav{display:flex;flex:1;flex-direction:column;gap:6px}.app-sidebar__section{color:var(--app-sidebar-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:18px 8px 8px;text-transform:uppercase}.app-sidebar__group{display:flex;flex-direction:column;gap:6px}.app-sidebar__link,.app-sidebar__sublink,.app-sidebar__toggle{border:0;color:var(--app-sidebar-text);text-decoration:none}.app-sidebar__link,.app-sidebar__toggle{align-items:center;background:transparent;border-radius:var(--app-radius-md);display:flex;gap:12px;min-height:48px;padding:12px 14px;position:relative;text-align:left;transition:background-color var(--app-transition),color var(--app-transition),transform var(--app-transition);width:100%}.app-sidebar__link:hover,.app-sidebar__sublink:hover,.app-sidebar__toggle:hover{background:rgba(27,99,27,.42);color:#fff}.app-sidebar__group.is-open>.app-sidebar__toggle,.app-sidebar__link.is-active,.app-sidebar__toggle.is-active{background:linear-gradient(135deg,rgba(184,242,139,.34),hsla(0,0%,100%,.16));color:var(--app-sidebar-active)}.app-sidebar__group.is-open>.app-sidebar__toggle:before,.app-sidebar__link.is-active:before,.app-sidebar__toggle.is-active:before{background:var(--app-sidebar-accent);border-radius:999px;content:"";height:24px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.app-sidebar__link-icon{align-items:center;display:inline-flex;flex:0 0 20px;font-size:1rem;justify-content:center}.app-sidebar__link-label{flex:1;font-size:.94rem;font-weight:600;line-height:1.3}.app-sidebar__link-caret{color:var(--app-sidebar-muted);font-size:.78rem;transition:transform var(--app-transition),color var(--app-transition)}.app-sidebar__group.is-open .app-sidebar__link-caret{color:#fff;transform:rotate(180deg)}.app-sidebar__submenu{display:none;margin-left:12px;padding-left:14px;position:relative}.app-sidebar__submenu:before{background:hsla(0,0%,100%,.18);border-radius:999px;bottom:4px;content:"";left:0;position:absolute;top:4px;width:1px}.app-sidebar__submenu.is-open{display:grid;gap:4px}.app-sidebar__sublink{align-items:center;border-radius:12px;display:flex;gap:10px;min-height:40px;padding:10px 12px;transition:background-color var(--app-transition),color var(--app-transition)}.app-sidebar__sublink.is-active{background:rgba(184,242,139,.26);color:#fff}.app-sidebar__sublink-dot{background:currentColor;border-radius:999px;display:inline-block;flex:0 0 7px;height:7px;opacity:.72;width:7px}.app-main{display:flex;flex:1;flex-direction:column;margin-left:var(--app-sidebar-width);min-width:0}.app-content{flex:1;padding:0 0 24px}.app-overlay{background:var(--app-overlay);border:0;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--app-transition);z-index:1035}.topbar{background:hsla(0,0%,100%,.9)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,227,239,.8);box-shadow:none!important;min-height:var(--app-topbar-height);padding-left:1rem;padding-right:1rem;position:sticky;top:0;z-index:1020}#sidebarToggleTop{align-items:center;background:#fff;border:1px solid var(--app-border);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.08);color:#0f172a;display:inline-flex;height:42px;justify-content:center;transition:background-color var(--app-transition),transform var(--app-transition);width:42px}#sidebarToggleTop:hover{background:#f8fafc;transform:translateY(-1px)}.container-fluid{padding-left:1.5rem;padding-right:1.5rem}.sticky-footer{background:transparent!important;border-top:1px solid rgba(219,227,239,.9);flex-shrink:0;padding:18px 0 24px}.sticky-footer .copyright{color:#64748b;font-size:.9rem}.scroll-to-top{align-items:center;background:#0f172a;border:none;border-radius:14px;box-shadow:var(--app-shadow);color:#fff;display:inline-flex;height:48px;justify-content:center;width:48px}@media (max-width:991.98px){.app-sidebar{box-shadow:var(--app-shadow);transform:translateX(calc(-100% - 16px))}.app-main{margin-left:0}.app-sidebar-open{overflow:hidden}.app-sidebar-open .app-sidebar{transform:translateX(0)}.app-sidebar-open .app-overlay{opacity:1;pointer-events:auto}.topbar{padding-left:.75rem;padding-right:.75rem}.container-fluid{padding-left:1rem;padding-right:1rem}}@media (min-width:992px){#sidebarToggleTop,.app-overlay{display:none}}.table-responsive{padding-bottom:15px}