:root{--color-success:#047857;--color-warning:#b45309;--color-danger:#dc2626;--color-text-muted:#6b7280;--color-text-muted-on-dark:#9ca3af;--brand-gradient-from:#2a5ad5;--brand-gradient-to:#1e3a8a;--brand-gradient:linear-gradient(135deg,var(--brand-gradient-from) 0%,var(--brand-gradient-to) 100%);--brand-gradient-text-muted:#dbe8ff;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af}.brand-gradient-panel{background-color:var(--brand-gradient-from);background-image:var(--brand-gradient)}*{box-sizing:border-box;margin:0;padding:0}.sr-only{border-width:0}body{margin:0;font-family:var(--font-plus-jakarta),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f8f9fb;color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea{color-scheme:light;background-color:#fff;color:#1f2937}input:disabled,select:disabled,textarea:disabled{background-color:#f9fafb;color:#6b7280}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:#1f2937!important;box-shadow:inset 0 0 0 1000px #fff!important}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}:where(input,select,textarea,button,a,[tabindex]):focus-visible{outline:2px solid #1f47ad;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:-9999px;z-index:2000;padding:10px 16px;background:#fff;color:#1f47ad;border:2px solid #1f47ad;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none}.skip-link:focus{left:8px}.dashboard-content:focus-visible{outline:2px solid #1f47ad;outline-offset:-2px}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:80px;padding:0;background-color:#f8f9fb;transition:margin-left .3s ease}.main-content.sidebar-expanded{margin-left:240px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:80px;background-color:#1e1e2d;display:flex;flex-direction:column;align-items:center;padding:24px 0;z-index:1000;transition:width .3s ease}.sidebar.expanded{width:240px;align-items:flex-start;padding:24px 16px}.sidebar-header{margin-bottom:40px;width:100%;display:flex;justify-content:center}.sidebar.expanded .sidebar-header{justify-content:flex-start}.sidebar-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.logo-button{background:transparent;border:none;cursor:pointer;padding:0;transition:transform .2s ease}.logo-button:hover{transform:scale(1.05)}.logo-button:active{transform:scale(.95)}.logo-icon{color:#3b73ef;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.1);border-radius:12px;padding:12px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}.sidebar-nav-item{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted-on-dark);background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;padding:0;gap:12px;white-space:nowrap}.sidebar-nav-item svg{flex-shrink:0;width:20px;height:20px}.sidebar.expanded .sidebar-nav-item{width:100%;justify-content:flex-start;align-items:center;padding:12px 16px;min-height:48px;height:auto}.sidebar.expanded .sidebar-nav-item.multi-line{align-items:flex-start}.sidebar.expanded .sidebar-nav-item.multi-line svg{margin-top:2px}.nav-label{font-size:14px;font-weight:500;color:inherit;opacity:0;animation:fadeIn .2s ease-in-out .2s forwards;line-height:1.4}.nav-label-wrapper{display:flex;flex-direction:column;gap:2px}.nav-label-secondary{font-size:13px;opacity:.85}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-nav-item:hover{background:hsla(0,0%,100%,.05);color:#fff}.sidebar-nav-item.active{background:#3b73ef;color:#fff}.sidebar-footer{display:flex;flex-direction:column;gap:16px;align-items:center;width:100%;padding:0 16px}.sidebar.expanded .sidebar-footer{align-items:flex-start}.sidebar.expanded .sidebar-avatar{margin-left:6px}.sidebar-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#374151;display:flex;align-items:center;justify-content:center}.sidebar-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder{color:var(--color-text-muted-on-dark)}.submenu{background:rgba(0,0,0,.2);border-left:2px solid rgba(139,92,246,.3);margin-left:16px;margin-top:4px;padding:4px 0;border-radius:8px;animation:submenuSlideDown .2s ease-out}@keyframes submenuSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.submenu-item{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 24px;font-size:13px;color:var(--color-text-muted-on-dark);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.submenu-item:hover{background:hsla(0,0%,100%,.05);color:#fff}.submenu-item.active{background:rgba(139,92,246,.2);color:#5b8ff7}.dashboard-header{background:#fff;padding:32px 40px 0;border-bottom:1px solid #e5e7eb}.dashboard-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-title-section{display:flex;flex-direction:column;gap:4px}.dashboard-subtitle{font-size:14px;font-weight:400;color:#6b7280;margin:0}.dashboard-title{font-size:28px;font-weight:700;color:#1f2937;margin:0}.dashboard-header-actions{display:flex;align-items:center;gap:16px}.search-wrapper{position:relative}.search-input{width:280px;height:40px;padding:0 16px 0 40px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;transition:all .2s ease}.search-input:focus{border-color:#3b73ef;background:#fff}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.icon-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0}.icon-button:hover{background:#f9fafb;border-color:#d1d5db}.notification-button{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--color-danger);border:2px solid #fff;border-radius:50%;font-size:10px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center}.dashboard-header-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:0}.tab-group{display:flex;gap:8px}.tab{padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab:hover{color:#1f2937}.tab.active{color:#3b73ef;border-bottom-color:#3b73ef}.header-right-actions{display:flex;gap:12px;align-items:center}.date-range-button,.download-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1e1e2d;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.date-range-button:hover,.download-button:hover{background:#2d2d3f}.date-range-button{background:transparent;border:1px solid #e5e7eb;color:#6b7280}.date-range-button:hover{background:#f9fafb}.dashboard-content{padding:32px 40px}.dashboard-grid{display:grid;grid-template-columns:1fr 400px;gap:24px;margin-bottom:24px}.dashboard-grid-full-width{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}.dashboard-main{gap:24px}.dashboard-main,.dashboard-sidebar-section{display:flex;flex-direction:column}.chart-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-title{font-size:18px;font-weight:600;color:#1f2937;margin:0}.chart-legend{display:flex;gap:20px}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-dot.approved{background:var(--color-success)}.legend-dot.pending{background:var(--color-warning)}.legend-dot.rejected{background:var(--color-danger)}.legend-label{font-size:13px;color:#6b7280}.chart-container{margin:0 -8px}.table-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-title{font-size:18px;font-weight:600;color:#1f2937;margin:0}.table-container{overflow-x:auto}.activity-table{width:100%;border-collapse:collapse}.activity-table thead tr{border-bottom:1px solid #e5e7eb}.activity-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.table-sort-button{display:flex;align-items:center;gap:4px;width:100%;padding:0;margin:0;background:none;border:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-sort-button-center{justify-content:center}.table-sort-button-end{justify-content:flex-end}.table-row-open-button{padding:0;margin:0;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.activity-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.activity-table tbody tr:hover{background-color:#f3f4f6;cursor:pointer}.activity-table td{padding:16px;font-size:14px;color:#1f2937}.table-id{color:#6b7280;font-weight:500}.table-user{gap:12px}.table-user,.user-avatar{display:flex;align-items:center}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b73ef,#5b8ff7);justify-content:center;color:#fff;font-size:12px;font-weight:600}.user-name{font-weight:500;color:#1f2937}.org-icon,.org-indicator{display:flex;align-items:center}.org-icon{width:32px;height:32px;border-radius:50%;background:#fef3c7;justify-content:center;color:var(--color-warning)}.table-date{color:#6b7280}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.approved{background:var(--color-success);color:#fff}.status-badge.pending{background:var(--color-warning);color:#fff}.status-badge.rejected{background:var(--color-danger);color:#fff}.role-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-admin{background:#dbeafe;color:#1e40af}.role-badge.role-member{background:#e0e7ff;color:#4338ca}.role-badge.role-reporter{background:#f3e8ff;color:#6b21a8}.table-amount{font-weight:600;color:#1f2937}.table-actions{display:flex;gap:8px}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.action-btn.approve{background:#d1fae5;color:#065f46}.action-btn.approve:hover{background:#a7f3d0}.action-btn.reject{background:#fee2e2;color:#991b1b}.action-btn.reject:hover{background:#fecaca}.table-empty{text-align:center;padding:48px 24px;color:var(--color-text-muted)}.summary-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.clickable-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.clickable-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.clickable-card:active{transform:translateY(0)}button.summary-card{display:block;width:100%;border:none;font:inherit;color:inherit;text-align:left}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.summary-title{font-size:18px;font-weight:600;color:#1f2937;margin:0}.distribution-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:24px;background:#e5e7eb}.distribution-segment{height:100%;transition:width .3s ease}.summary-stats{display:flex;flex-direction:column;gap:16px}.stat-item{display:flex;align-items:center;gap:12px}.stat-indicator{width:8px;height:8px;border-radius:50%}.stat-content{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;color:#6b7280;display:flex;justify-content:space-between;align-items:center}.stat-value{font-size:20px;font-weight:700;color:#1f2937}.org-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px}.org-section h2{font-size:16px;font-weight:600;margin-bottom:12px;color:#1f2937}.org-controls{display:flex;gap:12px;align-items:center}.org-select{flex:1;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;color:#1f2937;cursor:pointer}.org-select:focus{border-color:#3b73ef}.btn-primary{padding:10px 16px;background:#3b73ef;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#2a5ad5}.btn-secondary{padding:10px 16px;background:transparent;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;padding:32px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px;font-weight:600;color:#1f2937;margin:0}.modal-close{background:transparent;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#374151}.modal-body{margin-bottom:24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end}.alert-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.alert-item{pointer-events:all;animation:slideInRight .3s ease-out}.alert-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-message{flex:1}.alert-dismiss{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;color:inherit;opacity:.7}.alert-dismiss:hover{opacity:1;background-color:rgba(0,0,0,.1)}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.btn-danger{padding:10px 20px;background:var(--color-danger);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#dc2626}.form-field{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-label-required:after{content:" *";color:var(--color-danger)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #e5e7eb;font-size:14px;background-color:#fff;color:#1f2937;font-family:inherit;transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-500)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-danger)}.form-select{cursor:pointer}.form-textarea{resize:vertical;min-height:80px}.form-error{color:var(--color-danger)}.form-error,.form-help{font-size:12px;margin-top:4px}.form-help{color:#6b7280}.form-row{display:flex;gap:16px}.form-row .form-field{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid-full{grid-column:1/-1}.form-checkbox-group,.form-radio-group{display:flex;flex-wrap:wrap;gap:8px}.form-checkbox-label,.form-radio-label{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;background-color:#fff;transition:all .2s ease}.form-checkbox-label:hover,.form-radio-label:hover{background-color:#f9fafb}.form-checkbox-label.checked,.form-radio-label.checked{background-color:var(--color-primary-50);border-color:var(--color-primary-500)}.form-checkbox-label input[type=checkbox],.form-radio-label input[type=radio]{cursor:pointer}.form-checkbox-label span,.form-radio-label span{font-size:14px;font-weight:500;color:#374151}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.dashboard-sidebar-section{grid-column:1}}.mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1100;background:#1e1e2d;color:#fff;border:none;border-radius:8px;padding:12px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:transform .2s ease}.mobile-menu-toggle:hover{transform:scale(1.05)}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;backdrop-filter:blur(2px)}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:768px){.main-content{margin-left:0;padding-top:60px}.main-content.sidebar-expanded{margin-left:0}.mobile-menu-toggle{display:flex}.mobile-menu-overlay{display:block}.sidebar{transform:translateX(-100%);transition:transform .3s ease;width:240px;align-items:flex-start;padding:24px 16px}.sidebar.mobile-open{transform:translateX(0)}.sidebar.expanded{width:240px}.desktop-only{display:none}.mobile-only{display:flex}.sidebar-header{justify-content:flex-start}.sidebar-nav{width:100%}.sidebar-nav-item{width:100%;justify-content:flex-start;padding:12px 16px}.sidebar-footer{align-items:flex-start}.sidebar-avatar{margin-left:6px}.nav-label{display:inline;margin-left:12px}.dashboard-content,.dashboard-header{padding:20px}.dashboard-header-top{flex-direction:column;align-items:flex-start;gap:16px}.search-input{width:100%}.alert-container{left:20px;right:20px;max-width:none}}.dashboard-view{display:flex;flex-direction:column;gap:32px}.section-title{font-size:18px;font-weight:600;color:#1f2937}.section-heading,.section-title{margin:0 0 16px}.section-heading .section-title{margin:0}.section-subtitle{font-size:14px;font-weight:400;color:#6b7280;margin:2px 0 0}.section-heading-with-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.timeline-control{display:flex;align-items:center;gap:8px}.timeline-control-label,.timeline-control-unit{font-size:16px;color:var(--color-text-muted);white-space:nowrap}.timeline-control-options{display:flex;align-items:center;gap:4px}.timeline-option{min-width:32px;padding:3px 9px;font:inherit;font-size:16px;font-weight:600;line-height:1.35;color:var(--color-text-muted);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.timeline-option:hover{background:#eef2ff;color:#1f2937}.timeline-option-selected,.timeline-option-selected:hover{color:#fff;background:#2a5ad5}.timeline-option:focus-visible{outline:2px solid #2a5ad5;outline-offset:2px}.dashboard-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:20px}.summary-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#3b73ef}.summary-card-title{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.summary-card-body{display:flex;flex-direction:column;gap:8px}.summary-card-value{font-size:32px;font-weight:700;color:#1f2937}.summary-card-detail{font-size:14px;color:var(--color-text-muted)}.people-by-role-section{margin-top:32px}.people-by-role-section .section-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:16px}.quick-actions{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.quick-action-card{display:flex;align-items:center;gap:16px;padding:20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.quick-action-card:hover:not(:disabled){background:#f3f4f6;border-color:#3b73ef;transform:translateY(-2px)}.quick-action-card:disabled{opacity:.5;cursor:not-allowed}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#3b73ef;color:#fff;border-radius:12px;flex-shrink:0}.quick-action-content{flex:1;display:flex;flex-direction:column;gap:4px}.quick-action-title{font-size:16px;font-weight:600;color:#1f2937}.quick-action-description{font-size:13px;color:#6b7280}.quick-action-plus{color:#3b73ef;flex-shrink:0}.recent-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}.recent-items-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.recent-items-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#3b73ef}.recent-items-list{display:flex;flex-direction:column;gap:12px}.recent-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;transition:background-color .2s ease}.recent-item:hover{background:#f3f4f6}.recent-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.recent-item-title{font-size:14px;font-weight:500;color:#1f2937}.recent-item-meta{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:8px}.empty-state{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.empty-state p{margin:0;font-size:14px}.link-button{background:none;border:none;padding:0;font:inherit;color:#3b73ef;text-decoration:underline;cursor:pointer}.program-cards-section{margin:0}.program-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.program-card{display:block;width:100%;text-align:left;font:inherit;background:#fff;border:1px solid #f3f4f6;border-left:8px solid transparent;border-radius:16px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.06);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.program-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.program-card:focus-visible{outline:2px solid #3b73ef;outline-offset:2px}.program-card-has-pending{border-left-color:#fbbf24}.program-card-name{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--color-text-muted);margin-bottom:12px;min-width:0}.program-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.program-card-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-card-metrics{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;-moz-column-gap:14px;column-gap:14px;row-gap:10px;margin-bottom:16px}.program-card-metric{display:contents}.program-card-arrow{display:inline-flex;align-items:center}.program-card-arrow-up{color:#16a34a}.program-card-arrow-down{color:#dc2626}.program-card-arrow-flat{color:#1f2937}.program-card-metric-value{font-size:40px;line-height:1.05;font-weight:700;color:#111827;text-align:right;font-variant-numeric:tabular-nums}.program-card-metric-labels{display:flex;flex-direction:column;min-width:0}.program-card-metric-label{font-size:16px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-card-pending{font-size:15px;color:#a16207}.program-card-footer{font-size:15px;color:var(--color-text-muted)}.activity-feed{display:flex;flex-direction:column}.activity-feed-head,.activity-feed-row{display:grid;grid-template-columns:120px minmax(0,1.6fr) minmax(0,1.4fr) 76px;align-items:center;gap:12px;width:100%;text-align:left}.activity-feed-head{padding:0 4px 8px;border-bottom:1px solid #f3f4f6;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.activity-feed-head>span:last-child{text-align:right}.activity-feed-row{grid-template-areas:"submitted program impact status";padding:12px 4px;font:inherit;background:transparent;border:none;border-bottom:1px solid #f3f4f6;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.activity-feed-row:last-child{border-bottom:none}.activity-feed-row:hover{background:#f9fafb}.activity-feed-row:focus-visible{outline:2px solid #2a5ad5;outline-offset:2px}.activity-feed-submitted{grid-area:submitted;display:flex;align-items:center;gap:8px;min-width:0}.activity-feed-time{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.activity-feed-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.activity-feed-program{grid-area:program;display:flex;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700;color:#111827}.activity-feed-program-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-feed-impact{grid-area:impact;display:flex;align-items:baseline;gap:6px;min-width:0}.activity-feed-value{font-size:16px;font-weight:700;color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap}.activity-feed-metric{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;color:#374151}.activity-feed-metric-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-feed-note-icon{flex-shrink:0;color:var(--color-text-muted)}.activity-feed-channel{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#4b5563}.activity-feed-status{grid-area:status;font-size:14px;font-weight:600;text-align:right;white-space:nowrap}.activity-feed-status-approved{color:var(--color-success)}.activity-feed-status-pending{color:var(--color-warning)}.activity-feed-status-rejected{color:var(--color-danger)}.dashboard-split{display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:20px;align-items:start}.community-feed{display:flex;flex-direction:column}.community-feed-head,.community-feed-row{display:grid;grid-template-columns:68px minmax(0,.85fr) minmax(0,1.6fr);align-items:center;gap:12px;width:100%;text-align:left}.community-feed-head{padding:0 4px 8px;border-bottom:1px solid #f3f4f6;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.community-feed-row{grid-template-areas:"time name action";padding:12px 4px;font:inherit;background:transparent;border:none;border-bottom:1px solid #f3f4f6;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.community-feed-row:last-child{border-bottom:none}.community-feed-row:hover{background:#f9fafb}.community-feed-row:focus-visible{outline:2px solid #2a5ad5;outline-offset:2px}.community-feed-time{grid-area:time;font-size:13px;color:var(--color-text-muted);white-space:nowrap}.community-feed-name{grid-area:name;font-size:15px;font-weight:700;color:#111827}.community-feed-action,.community-feed-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-feed-action{grid-area:action;font-size:14px;color:#374151}.community-feed-more{color:var(--color-text-muted)}@media (max-width:1280px){.program-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.dashboard-split{grid-template-columns:minmax(0,1fr)}}@media (max-width:980px){.program-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.activity-feed-head,.community-feed-head{display:none}.activity-feed-row{grid-template-areas:"submitted program" "impact    status";gap:6px 10px}.activity-feed-row,.community-feed-row{grid-template-columns:auto minmax(0,1fr)}.community-feed-row{grid-template-areas:"time name" "time action";gap:2px 10px}.community-feed-time{align-self:center}}@media (max-width:640px){.program-cards-grid{grid-template-columns:minmax(0,1fr);gap:16px}.program-card{padding:16px 18px;border-left-width:6px}.program-card-name{font-size:15px;margin-bottom:10px}.program-card-metrics{-moz-column-gap:12px;column-gap:12px;row-gap:8px;margin-bottom:12px}.program-card-metric-value{font-size:30px}.program-card-footer,.program-card-metric-label,.program-card-pending{font-size:14px}}.icon-tooltip-container{position:relative;display:inline-flex;align-items:center;cursor:pointer}.icon-tooltip{bottom:100%;margin-bottom:8px;padding:8px 12px;background-color:#1f2937;color:#fff;font-size:13px;border-radius:6px;white-space:nowrap;max-width:300px;white-space:normal;word-wrap:break-word;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.icon-tooltip,.icon-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.icon-tooltip:after{content:"";top:100%;border:6px solid transparent;border-top-color:#1f2937}.icon-tooltip-container:hover .icon-tooltip{opacity:1;visibility:visible}@media (max-width:768px){.summary-grid{grid-template-columns:1fr;gap:16px}.quick-actions-grid,.recent-items-grid{grid-template-columns:1fr;gap:12px}.summary-card{padding:16px;min-width:0}.summary-card-value{font-size:28px}.summary-card-title{font-size:12px}.summary-card-detail{font-size:13px}.recent-item-content{padding:12px}.recent-item-meta{font-size:13px;flex-wrap:wrap}.dashboard-view{padding:16px;max-width:100%;overflow-x:hidden}.people-by-role-section{margin-top:24px}.section-title{font-size:16px}.quick-action-card{padding:14px}.quick-action-title{font-size:14px}.quick-action-description{font-size:12px}}@media (max-width:480px){.summary-grid{grid-template-columns:1fr;gap:12px}.summary-card{padding:14px}.summary-card-value{font-size:24px}.summary-card-header{gap:8px}.summary-card-header svg{width:20px;height:20px}.dashboard-content,.dashboard-header,.dashboard-view{padding:12px}.recent-items-section{padding:16px}.people-by-role-section,.quick-actions{margin-top:20px}.mobile-menu-toggle{top:12px;left:12px;padding:10px}.main-content{padding-top:56px}.app-container,body{overflow-x:hidden}.filter-bar{flex-direction:column;gap:8px}.filter-bar>*{width:100%}.table-card{padding:16px;border-radius:12px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.activity-table td,.activity-table th{padding:10px;font-size:13px;white-space:nowrap}.table-title{font-size:16px}.modal-content{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);margin:16px}}.loading-dots-container{flex-direction:column;min-height:400px;padding:60px 40px;text-align:center}.loading-dots,.loading-dots-container{display:flex;align-items:center;justify-content:center}.loading-dots{gap:8px}.loading-dot{width:12px;height:12px;border-radius:50%;background-color:var(--color-primary-600);animation:loadingPulse 1.5s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.person-reporting-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.person-reporting-split.single-column{grid-template-columns:minmax(0,1fr)}@media (max-width:1100px){.person-reporting-split{grid-template-columns:minmax(0,1fr)}}.person-panel{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.person-panel-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e5e7eb}.person-panel-title{flex:1;min-width:0;font-size:15px;font-weight:600;color:#111827}.person-panel-count{padding:2px 8px;border-radius:12px;background:#e5e7eb;color:#374151;font-size:12px;font-weight:500}.person-panel-body{padding:12px 16px 16px}.person-panel-action{padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--color-primary-600);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.person-panel-action:hover{text-decoration:underline}.person-panel-action:focus-visible{outline:2px solid #3b73ef;outline-offset:2px}.reporter-feed{display:flex;flex-direction:column}.reporter-feed.expanded{max-height:520px;overflow-y:auto}.reporter-feed-head,.reporter-feed-row{display:grid;grid-template-columns:74px minmax(0,1.5fr) 56px minmax(0,1.4fr) 28px 78px;align-items:center;gap:10px;width:100%;text-align:left}.reporter-feed-head{padding:0 8px 8px;border-bottom:1px solid #f3f4f6;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.reporter-feed-row{padding:10px 8px;border:none;border-bottom:1px solid #f3f4f6;background:transparent;font:inherit;cursor:pointer;transition:background-color .15s ease}.reporter-feed-row:last-child{border-bottom:none}.reporter-feed-row:hover{background:#f9fafb}.reporter-feed-row:focus-visible{outline:2px solid #3b73ef;outline-offset:-2px}.reporter-feed-time{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.reporter-feed-program{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:500;color:#111827}.reporter-feed-program span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporter-feed-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.reporter-feed-amount{font-size:14px;font-weight:600;color:#111827;text-align:right}.reporter-feed-metric{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporter-feed-row .reporter-feed-metric{font-size:13px;color:#4b5563}.reporter-feed-channel{display:flex;justify-content:center;color:var(--color-text-muted)}.reporter-feed-status{font-size:13px;font-weight:500;text-align:right;white-space:nowrap}.reporter-feed-status.approved{color:var(--color-success)}.reporter-feed-status.pending{color:var(--color-warning)}.reporter-feed-status.rejected{color:var(--color-danger)}@media (max-width:640px){.reporter-feed-head{display:none}.reporter-feed-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"time    time   status" "program amount channel";row-gap:2px;-moz-column-gap:8px;column-gap:8px}.reporter-feed-time{grid-area:time}.reporter-feed-status{grid-area:status}.reporter-feed-program{grid-area:program}.reporter-feed-amount{grid-area:amount}.reporter-feed-channel{grid-area:channel}.reporter-feed-metric{display:none}}