:root,[data-bs-theme=light]{--bs-primary:#006A4E;--bs-primary-rgb:0,106,78;--bs-primary-text-emphasis:#002A1F;--bs-primary-bg-subtle:#CCE1DC;--bs-primary-border-subtle:#99C3B8;--gp-accent:#FFCE00;--gp-accent-rgb:255,206,0;--gp-accent-text-emphasis:#665200;--gp-accent-bg-subtle:#FFF5CC;--bs-secondary:#6C757D;--bs-secondary-rgb:108,117,125;--bs-secondary-text-emphasis:#2B2F32;--bs-secondary-bg-subtle:#E2E3E5;--bs-secondary-border-subtle:#C4C8CB;--bs-success:#0B7A54;--bs-success-rgb:11,122,84;--bs-success-text-emphasis:#043122;--bs-success-bg-subtle:#CEE4DD;--bs-success-border-subtle:#9DCABB;--bs-info:#007A8C;--bs-info-rgb:0,122,140;--bs-info-text-emphasis:#003138;--bs-info-bg-subtle:#CCE4E8;--bs-info-border-subtle:#99CAD1;--bs-warning:#FFB800;--bs-warning-rgb:255,184,0;--bs-warning-text-emphasis:#664A00;--bs-warning-bg-subtle:#FFF1CC;--bs-warning-border-subtle:#FFE399;--bs-danger:#D21034;--bs-danger-rgb:210,16,52;--bs-danger-text-emphasis:#540615;--bs-danger-bg-subtle:#F6CFD6;--bs-danger-border-subtle:#ED9FAE;--bs-body-bg:#F4F6F5;--bs-body-color:#212529;--bs-secondary-color:#55606A;--bs-tertiary-bg:#EEF2F0;--bs-heading-color:#0B3D30;--bs-link-color:#006A4E;--bs-link-color-rgb:0,106,78;--bs-link-hover-color:#004432;--bs-link-hover-color-rgb:0,68,50;--bs-code-color:#7A0E2A;--bs-body-font-family:"Niramit", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bs-body-font-size:0.9375rem;--bs-body-line-height:1.55;--bs-font-monospace:"SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--bs-border-color:#DDE3E0;--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:0.75rem;--bs-focus-ring-color:rgba(0, 106, 78, 0.25);--bs-box-shadow-sm:0 1px 2px rgba(11, 61, 48, 0.06), 0 1px 3px rgba(11, 61, 48, 0.08);--bs-box-shadow:0 4px 12px rgba(11, 61, 48, 0.10);--bs-box-shadow-lg:0 16px 32px rgba(11, 61, 48, 0.14);--gp-sidebar-width:260px;--gp-sidebar-bg:var(--bs-primary);--gp-sidebar-color:rgba(255, 255, 255, 0.9);--gp-accent-bar-height:4px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1, h2, h3, h4, h5, h6,.h1, .h2, .h3, .h4, .h5, .h6{font-weight:600;letter-spacing:-0.01em}:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px}.visually-hidden-focusable:focus,.skip-to-content:focus{top:var(--gp-accent-bar-height)}.skip-to-content{position:absolute;top:-3rem;left:0;z-index:1100;padding:0.5rem 1rem;background:var(--bs-primary);color:#fff;text-decoration:none;border-radius:0 0 var(--bs-border-radius) 0}.page-header-accent{position:fixed;top:0;left:0;right:0;z-index:1090;height:var(--gp-accent-bar-height);background:linear-gradient(to right, var(--bs-primary) 0 33.33%, var(--gp-accent) 33.33% 66.66%, var(--bs-danger) 66.66% 100%)}.btn{--bs-btn-font-weight:500;--bs-btn-focus-box-shadow:0 0 0 0.25rem var(--bs-focus-ring-color)}.btn-primary{--bs-btn-bg:var(--bs-primary);--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:#005A42;--bs-btn-hover-border-color:#005A42;--bs-btn-active-bg:#00503B;--bs-btn-active-border-color:#00503B;--bs-btn-disabled-bg:var(--bs-primary);--bs-btn-disabled-border-color:var(--bs-primary);--bs-btn-focus-shadow-rgb:51, 136, 113}.btn-outline-primary{--bs-btn-color:var(--bs-primary);--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary);--bs-btn-active-bg:#00503B;--bs-btn-active-border-color:#00503B;--bs-btn-disabled-color:var(--bs-primary);--bs-btn-disabled-border-color:var(--bs-primary);--bs-btn-focus-shadow-rgb:0, 106, 78}.btn-success{--bs-btn-bg:var(--bs-success);--bs-btn-border-color:var(--bs-success);--bs-btn-hover-bg:#096847;--bs-btn-hover-border-color:#096847;--bs-btn-active-bg:#085C3F;--bs-btn-active-border-color:#085C3F;--bs-btn-disabled-bg:var(--bs-success);--bs-btn-disabled-border-color:var(--bs-success);--bs-btn-focus-shadow-rgb:60, 148, 118}.btn-outline-success{--bs-btn-color:var(--bs-success);--bs-btn-border-color:var(--bs-success);--bs-btn-hover-bg:var(--bs-success);--bs-btn-hover-border-color:var(--bs-success);--bs-btn-active-bg:#085C3F;--bs-btn-active-border-color:#085C3F;--bs-btn-disabled-color:var(--bs-success);--bs-btn-disabled-border-color:var(--bs-success);--bs-btn-focus-shadow-rgb:11, 122, 84}.btn-info{--bs-btn-color:#fff;--bs-btn-bg:var(--bs-info);--bs-btn-border-color:var(--bs-info);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#006877;--bs-btn-hover-border-color:#006877;--bs-btn-active-color:#fff;--bs-btn-active-bg:#005C69;--bs-btn-active-border-color:#005C69;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:var(--bs-info);--bs-btn-disabled-border-color:var(--bs-info);--bs-btn-focus-shadow-rgb:51, 148, 163}.btn-outline-info{--bs-btn-color:var(--bs-info);--bs-btn-border-color:var(--bs-info);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--bs-info);--bs-btn-hover-border-color:var(--bs-info);--bs-btn-active-color:#fff;--bs-btn-active-bg:#005C69;--bs-btn-active-border-color:#005C69;--bs-btn-disabled-color:var(--bs-info);--bs-btn-disabled-border-color:var(--bs-info);--bs-btn-focus-shadow-rgb:0, 122, 140}.btn-warning{--bs-btn-color:#212529;--bs-btn-bg:var(--bs-warning);--bs-btn-border-color:var(--bs-warning);--bs-btn-hover-color:#212529;--bs-btn-hover-bg:#D99C00;--bs-btn-hover-border-color:#D99C00;--bs-btn-active-color:#212529;--bs-btn-active-bg:#BF8A00;--bs-btn-active-border-color:#BF8A00;--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:var(--bs-warning);--bs-btn-disabled-border-color:var(--bs-warning);--bs-btn-focus-shadow-rgb:217, 160, 5}.btn-outline-warning{--bs-btn-color:#8A6100;--bs-btn-border-color:var(--bs-warning);--bs-btn-hover-color:#212529;--bs-btn-hover-bg:var(--bs-warning);--bs-btn-hover-border-color:var(--bs-warning);--bs-btn-active-color:#212529;--bs-btn-active-bg:#BF8A00;--bs-btn-active-border-color:#BF8A00;--bs-btn-disabled-color:#8A6100;--bs-btn-disabled-border-color:var(--bs-warning);--bs-btn-focus-shadow-rgb:255, 184, 0}.btn-danger{--bs-btn-bg:var(--bs-danger);--bs-btn-border-color:var(--bs-danger);--bs-btn-hover-bg:#B30E2C;--bs-btn-hover-border-color:#B30E2C;--bs-btn-active-bg:#9E0C27;--bs-btn-active-border-color:#9E0C27;--bs-btn-disabled-bg:var(--bs-danger);--bs-btn-disabled-border-color:var(--bs-danger);--bs-btn-focus-shadow-rgb:219, 52, 82}.btn-outline-danger{--bs-btn-color:var(--bs-danger);--bs-btn-border-color:var(--bs-danger);--bs-btn-hover-bg:var(--bs-danger);--bs-btn-hover-border-color:var(--bs-danger);--bs-btn-active-bg:#9E0C27;--bs-btn-active-border-color:#9E0C27;--bs-btn-disabled-color:var(--bs-danger);--bs-btn-disabled-border-color:var(--bs-danger);--bs-btn-focus-shadow-rgb:210, 16, 52}.btn-link{--bs-btn-color:var(--bs-link-color);--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-focus-shadow-rgb:0, 106, 78}.form-control,.form-select{border-color:#C9D2CE}.form-control:focus,.form-select:focus{border-color:#66A696;box-shadow:0 0 0 0.25rem var(--bs-focus-ring-color)}.form-check-input:focus{border-color:#66A696;box-shadow:0 0 0 0.25rem var(--bs-focus-ring-color)}.form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2366a696'/%3e%3c/svg%3e")}.form-label{font-weight:500;color:var(--bs-secondary-color);font-size:0.875rem}.card{--bs-card-border-color:var(--bs-border-color);--bs-card-cap-bg:#FAFBFA;--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - 1px);box-shadow:var(--bs-box-shadow-sm)}.card-header{font-weight:600}.card-header .card-title,.card-header h5,.card-header h6{margin-bottom:0}.table{--bs-table-striped-bg:#F7F9F8;--bs-table-hover-bg:#EEF5F2;--bs-table-border-color:var(--bs-border-color);vertical-align:middle}.table>thead th{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:#495057;background-color:#F8F9FA;border-bottom-width:2px}.badge{--bs-badge-font-size:0.75rem;--bs-badge-font-weight:600;--bs-badge-padding-x:0.55em;--bs-badge-padding-y:0.35em;letter-spacing:0.01em}.badge.bg-primary,.badge.bg-secondary,.badge.bg-success,.badge.bg-info,.badge.bg-warning,.badge.bg-danger{border:1px solid transparent}.badge.bg-primary{background-color:var(--bs-primary-bg-subtle) !important;color:var(--bs-primary-text-emphasis);border-color:var(--bs-primary-border-subtle)}.badge.bg-secondary{background-color:var(--bs-secondary-bg-subtle) !important;color:var(--bs-secondary-text-emphasis);border-color:var(--bs-secondary-border-subtle)}.badge.bg-success{background-color:var(--bs-success-bg-subtle) !important;color:var(--bs-success-text-emphasis);border-color:var(--bs-success-border-subtle)}.badge.bg-info{background-color:var(--bs-info-bg-subtle) !important;color:var(--bs-info-text-emphasis);border-color:var(--bs-info-border-subtle)}.badge.bg-warning{background-color:var(--bs-warning-bg-subtle) !important;color:var(--bs-warning-text-emphasis);border-color:var(--bs-warning-border-subtle)}.badge.bg-danger{background-color:var(--bs-danger-bg-subtle) !important;color:var(--bs-danger-text-emphasis);border-color:var(--bs-danger-border-subtle)}.badge.bg-light{border:1px solid var(--bs-border-color)}.badge.bg-danger.rounded-pill.position-absolute{background-color:var(--bs-danger) !important;color:#fff;border-color:#fff}.text-warning{color:#8A6100 !important}.pagination{--bs-pagination-color:var(--bs-primary);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-primary-bg-subtle);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-primary-bg-subtle);--bs-pagination-focus-box-shadow:0 0 0 0.25rem var(--bs-focus-ring-color);--bs-pagination-active-bg:var(--bs-primary);--bs-pagination-active-border-color:var(--bs-primary);--bs-pagination-border-color:var(--bs-border-color);flex-wrap:wrap;row-gap:0.25rem}.nav-tabs{--bs-nav-tabs-link-active-color:var(--bs-primary);--bs-nav-tabs-link-active-bg:#fff}.nav-pills{--bs-nav-pills-link-active-bg:var(--bs-primary)}.nav{--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color)}.dropdown-menu{--bs-dropdown-link-active-bg:var(--bs-primary);--bs-dropdown-link-hover-bg:var(--bs-primary-bg-subtle);--bs-dropdown-border-color:var(--bs-border-color);--bs-dropdown-border-radius:var(--bs-border-radius-lg);box-shadow:var(--bs-box-shadow)}.list-group{--bs-list-group-active-bg:var(--bs-primary);--bs-list-group-active-border-color:var(--bs-primary);--bs-list-group-border-color:var(--bs-border-color)}.progress,.progress-stacked{--bs-progress-bar-bg:var(--bs-primary)}.accordion{--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle);--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem var(--bs-focus-ring-color)}.breadcrumb{--bs-breadcrumb-divider-color:var(--bs-secondary-color);font-size:0.875rem}.modal{--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-footer-border-color:var(--bs-border-color)}body.d-flex{padding-top:var(--gp-accent-bar-height)}.sidebar{position:fixed;top:var(--gp-accent-bar-height);left:0;width:var(--gp-sidebar-width);height:calc(100vh - var(--gp-accent-bar-height));overflow-y:auto;overflow-x:hidden;z-index:1040;padding-top:1rem;background-color:var(--gp-sidebar-bg);color:var(--gp-sidebar-color)}.sidebar h1{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:0.01em}.sidebar .sidebar-heading{margin:1.25rem 0 0.25rem;padding:0.5rem 1rem;font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255, 255, 255, 0.82)}.sidebar .sidebar-heading:first-child{margin-top:0}.sidebar .nav-link{display:flex;align-items:center;min-height:44px;margin-bottom:2px;padding:0.5rem 1rem;border-left:3px solid transparent;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;color:var(--gp-sidebar-color);font-weight:500;transition:background-color 150ms ease, border-color 150ms ease}.sidebar .nav-link i{min-width:24px;margin-right:0.5rem;font-size:1.125rem}.sidebar .nav-link:hover,.sidebar .nav-link:focus-visible{background-color:rgba(255, 255, 255, 0.10);color:#fff}.sidebar .nav-link.active{background-color:rgba(255, 255, 255, 0.14);border-left-color:var(--gp-accent);color:#fff;font-weight:600}.sidebar .nav-link.active i{color:var(--gp-accent)}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:1035;background-color:rgba(11, 61, 48, 0.5)}.main-content{min-height:100vh;padding:0}.topbar{padding:0.75rem 1.5rem;margin-bottom:1.5rem;background-color:#fff;border-bottom:1px solid var(--bs-border-color)}.topbar h2{margin-bottom:0;font-size:1.375rem}.entity-selector{max-width:250px}@media (min-width:768px){.main-content{margin-left:var(--gp-sidebar-width);width:calc(100% - var(--gp-sidebar-width));max-width:calc(100% - var(--gp-sidebar-width));flex:0 0 auto}}@media (max-width:767.98px){.main-content{width:100%;max-width:100%;flex:0 0 100%}.sidebar{left:-100%;width:80vw;max-width:280px;transition:left 250ms ease}.sidebar.show{left:0}.sidebar-overlay.show{display:block}}.notification-dropdown{min-width:360px;max-width:400px;max-height:500px;overflow-y:auto}.notification-dropdown .dropdown-header{position:sticky;top:0;z-index:1;padding:0.75rem 1rem;background-color:var(--bs-card-cap-bg, #FAFBFA);border-bottom:1px solid var(--bs-border-color);font-size:0.875rem;font-weight:600;color:var(--bs-heading-color)}.notification-item{padding:0.75rem 1rem;border-bottom:1px solid var(--bs-border-color);white-space:normal}.notification-item:last-child{border-bottom:none}.notification-unread{position:relative;background-color:var(--bs-primary-bg-subtle)}.notification-unread:hover{background-color:#BFD8D1}.notification-dot{position:absolute;top:50%;right:1rem;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background-color:var(--bs-primary)}.notification-badge{display:flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0.25em 0.5em;font-size:0.65rem}@media (max-width:575.98px){.notification-dropdown{min-width:320px;max-width:calc(100vw - 2rem)}}.dashboard-card,.stat-card{border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius-lg)}.stat-card{color:var(--bs-body-color)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--bs-border-radius);font-size:1.375rem}.stat-label{font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--bs-secondary-color)}.stat-value{margin:0.25rem 0;font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--bs-heading-color)}.stat-subtitle{font-size:0.8125rem;color:var(--bs-secondary-color)}.activity-item{padding:1rem;border-bottom:1px solid var(--bs-border-color)}.activity-item:last-child{border-bottom:none}.activity-item:hover{background-color:var(--bs-tertiary-bg)}.activity-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--bs-border-radius);font-size:1.2rem}.chart-container{position:relative;height:300px}.trend-up{color:var(--bs-success)}.trend-down{color:var(--bs-danger)}.mini-card{padding:1rem;border-radius:var(--bs-border-radius);background:var(--bs-tertiary-bg)}.entity-card .card-title{font-size:1rem;font-weight:600}.entity-card .btn{min-height:44px}.empty-state{padding:4rem 2rem;text-align:center}.empty-state-icon{margin-bottom:1rem;font-size:3rem;color:var(--bs-secondary-color)}.empty-state-title{margin-bottom:0.5rem;font-size:1.25rem;font-weight:600}.empty-state-description{max-width:400px;margin:0 auto 1.5rem;color:var(--bs-secondary-color)}.text-xs{font-size:0.75rem}.text-sm{font-size:0.875rem}.text-md{font-size:1.125rem}.text-lg{font-size:1.25rem}.auth-page-wrapper{height:100vh;padding-top:var(--gp-accent-bar-height);overflow:hidden}@media (prefers-reduced-motion:reduce){*, *::before, *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media print{.sidebar, .topbar, .page-header-accent, .btn, .pagination{display:none !important}.main-content{margin-left:0 !important;width:100% !important}.card{box-shadow:none !important}}