:root{--color-primary:#0794ec;--color-primary-hover:#0099e8;--color-slate:#013960;--color-bright-blue:#d0eafb;--color-accent-green:#00c67f;--color-accent-red:#f66;--color-accent-yellow:#fabe86;--color-accent-purple:#8267ad;--color-janitor:#0794ec;--color-supervisor:#00c67f;--color-growth-positive:#00c67f;--color-growth-negative:#f66;--color-neutral:#d6d6e6;--color-background:#f3f3f6;--color-surface:#fff;--color-border:#e3e3f0;--color-text-primary:#013960;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-primary-blue:#0794ec;--color-primary-green:#00c67f;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-xl:0 20px 25px rgba(0,0,0,.1);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--spacing-3xl:4rem;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.row-fluid [class*=span]{margin-left:0!important;width:100%!important}section.section{display:block!important;float:none!important;width:100%!important}.dashboard-container{margin:0 auto;max-width:1400px;padding:var(--spacing-xl) var(--spacing-md)}.dashboard-header{align-items:center;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:2rem;margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl);text-align:left}.dashboard-header-content{flex:1}.dashboard-header img{border-radius:var(--radius-lg);height:auto;max-width:600px;width:45%}.dashboard-title{color:#0794ec;font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm)}.dashboard-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:400}@media (max-width:768px){.dashboard-header{flex-direction:column;text-align:center}.dashboard-header img{margin-top:var(--spacing-lg);max-width:400px;width:100%}}.filter-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.filter-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:var(--spacing-lg)}.filter-group{display:flex;flex-direction:column}.filter-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.filter-input,.filter-select{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-md);transition:var(--transition)}.filter-input:focus,.filter-select:focus{border-color:var(--color-primary-blue);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.filter-button{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:var(--transition)}.filter-button--reset{background-color:var(--color-background);border:1px solid var(--color-border);color:var(--color-text-secondary)}.filter-button--reset:hover{background-color:var(--color-border)}.metrics-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-2xl)}.metric-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);text-align:center;transition:var(--transition)}.metric-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.metric-value{background:linear-gradient(135deg,#0794ec,#0099e8);-webkit-background-clip:text;font-size:var(--font-size-3xl);font-weight:700;-webkit-text-fill-color:transparent;background-clip:text}.metric-label{color:var(--color-text-secondary);letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.metric-change,.metric-label{font-size:var(--font-size-sm);font-weight:600}.metric-change{align-items:center;border-radius:var(--radius-lg);display:inline-flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md)}.metric-change--positive{background-color:rgba(34,197,94,.1);color:var(--color-growth-positive)}.metric-change--negative{background-color:rgba(239,68,68,.1);color:var(--color-growth-negative)}.metric-change--neutral{background-color:var(--color-background);color:var(--color-text-secondary)}.charts-grid{display:grid;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-3xl);padding:var(--spacing-xl);transition:var(--transition)}.chart-container:hover{box-shadow:var(--shadow-lg)}.chart-container--full-width,.chart-header{grid-column:1/-1}.chart-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-xs)}.chart-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chart-wrapper{height:400px;position:relative;width:100%}.chart-wrapper--small{height:300px}.chart-wrapper--large{height:500px}.chart-legend{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);justify-content:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.legend-item{align-items:center;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm)}.legend-color{border-radius:var(--radius-sm);flex-shrink:0;height:4px;width:16px}.legend-color--janitor{background-color:var(--color-janitor)}.legend-color--supervisor{background-color:var(--color-supervisor)}.legend-color--user{background-color:var(--color-accent-orange)}.loading-container{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;height:300px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--color-background);border-radius:50%;border-top-color:var(--color-primary-blue);height:40px;margin-bottom:var(--spacing-md);width:40px}.loading-text{color:var(--color-text-muted);font-size:var(--font-size-sm)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.charts-grid{grid-template-columns:1fr;margin-bottom:var(--spacing-3xl)}.chart-container--full-width{grid-column:1;margin-bottom:var(--spacing-3xl)}.dashboard-container{padding:var(--spacing-md)}.dashboard-header{padding:var(--spacing-xl)}.dashboard-title{font-size:var(--font-size-2xl)}.filter-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.chart-wrapper{height:300px}}@media (max-width:480px){.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:var(--font-size-2xl)}.chart-legend{align-items:center;flex-direction:column;gap:var(--spacing-sm)}}.table-container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);grid-column:1/-1;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.wage-table{border-collapse:collapse;margin-top:var(--spacing-lg);width:100%}.table-title{color:#0794ec;font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-xs)}.table-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.wage-table td,.wage-table th{border-bottom:1px solid var(--color-border);padding:.75rem 1rem;text-align:left}.wage-table th{color:var(--color-text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase}.wage-table tbody tr:hover{background-color:rgba(249,250,251,.3)}.wage-table .user-state-row{background-color:#fef3c7;font-weight:700}.view-more-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:block;font-weight:600;margin-top:var(--spacing-md);padding:.75rem;transition:var(--transition);width:100%}.view-more-btn:hover{background-color:var(--color-background)}.view-more-btn:disabled{display:none}.trend-metrics{grid-column:1/-1;margin-bottom:var(--spacing-lg)}.section-intro{display:block;grid-column:1/-1;width:100%}.section-intro p{break-inside:avoid;column-span:all;-webkit-column-span:all;-moz-column-span:all;margin-bottom:1rem;max-width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid}.chart-header{column-span:all;width:100%}.chart-header h2,.chart-header p,.section-intro p{column-count:1!important;column-span:all!important;display:block;max-width:100%;width:100%}.full-width-section{display:block!important;grid-column:1/-1!important;max-width:100%!important;width:100%!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.hidden{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mb-lg{margin-bottom:var(--spacing-lg)}.filter-label{align-items:flex-end;display:flex;line-height:1.2;min-height:2.4rem}.filter-group small{display:block;min-height:1.2rem}.mb-xl{margin-bottom:var(--spacing-xl)}