@font-face{font-family:EP Sans;src:url(/fonts/ep-sans-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:EP Sans;src:url(/fonts/ep-sans-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:EP Sans;src:url(/fonts/ep-sans-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--ep-blauschwarz: #002432;--ep-gelb: #FFCC00;--ep-petrol: #00A495;--ep-weiss: #FFFFFF;--ep-rot: #E61C55;--ep-sandgelb: #D6A400;--ep-gruen: #006D65;--ep-cyan: #009FE3;--ep-blau: #004C75;--ep-surface: #003244;--ep-surface-light: #004055;--ep-border: rgba(255, 255, 255, .12);--ep-text-muted: rgba(255, 255, 255, .7);--ep-font: "EP Sans", Arial, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--ep-font);background:var(--ep-blauschwarz);color:var(--ep-weiss);min-height:100vh}a{color:var(--ep-petrol);text-decoration:none}a:hover{text-decoration:underline;color:var(--ep-gelb)}input,select,button{font-family:var(--ep-font);font:inherit}button{cursor:pointer}.app{max-width:1400px;margin:0 auto;padding:1rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 0;border-bottom:3px solid var(--ep-gelb)}.header h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--ep-weiss)}.header .header-sub{font-size:.875rem;color:var(--ep-text-muted)}.nav{display:flex;align-items:center;gap:1.25rem}.nav a{font-weight:500}.nav a.active{color:var(--ep-gelb);text-decoration:underline}.card{background:var(--ep-surface);border-radius:8px;padding:1.25rem;margin-bottom:1rem;border:1px solid var(--ep-border)}.card-title{margin-top:0;margin-bottom:.75rem;font-size:1.125rem;font-weight:600;color:var(--ep-weiss)}.card-intro{color:var(--ep-text-muted);margin-bottom:1rem;font-size:.875rem}.filters-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filters label{display:flex;flex-direction:column;gap:.25rem}.filters-react-select .filter-label{min-width:160px;max-width:220px}.filters-react-select .filter-label span{font-size:.8125rem;color:var(--ep-text-muted);font-weight:500;margin-bottom:.25rem}.btn-clear-filters{margin-left:auto;flex-shrink:0}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding:.5rem .75rem;background:var(--ep-surface);border-radius:4px;border:1px solid var(--ep-border);font-size:.875rem}.active-filters-label{color:var(--ep-text-muted);font-weight:600}.active-filters-item{color:var(--ep-weiss);padding:.2rem .5rem;background:var(--ep-surface-light);border-radius:4px}.filters span{font-size:.8125rem;color:var(--ep-text-muted);font-weight:500}.filters select{min-width:160px;padding:.5rem .75rem;border-radius:4px;border:1px solid var(--ep-border);background:var(--ep-blauschwarz);color:var(--ep-weiss)}.filters select:focus{outline:none;border-color:var(--ep-petrol)}div[class*=react-select__control]:hover{border-color:var(--ep-petrol)!important}div[class*=react-select__option]:hover,div[class*=react-select__option]:focus,div[class*=react-select__option][aria-selected=true]{background-color:var(--ep-surface-light)!important}.multi-select-wrap{position:relative;min-width:160px}.multi-select-trigger{width:100%;padding:.5rem .75rem;border-radius:4px;border:1px solid var(--ep-border);background:var(--ep-blauschwarz);color:var(--ep-weiss);text-align:left;cursor:pointer;font:inherit}.multi-select-trigger:hover{border-color:var(--ep-petrol)}.multi-select-trigger:focus{outline:none;border-color:var(--ep-petrol)}.multi-select-dropdown{position:absolute;top:100%;left:0;margin-top:2px;min-width:100%;max-height:280px;overflow-y:auto;background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:4px;padding:.5rem;z-index:100;box-shadow:0 4px 12px #0000004d}.multi-select-option{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.35rem 0;cursor:pointer;font-size:.875rem;min-height:1.5em}.multi-select-option input{flex-shrink:0;width:1.1em;height:1.1em;margin:0;margin-right:.5rem;accent-color:var(--ep-petrol);vertical-align:middle}.multi-select-option span{flex:1;text-align:left}.zeitraum-dropdown{min-width:260px;max-height:360px}.zeitraum-year{margin-bottom:.75rem}.zeitraum-year-label{font-weight:600;color:var(--ep-gelb);margin-bottom:.35rem;padding-left:0}.zeitraum-quarter{margin-left:1rem;margin-bottom:.5rem}.zeitraum-quarter-label{font-weight:500;color:var(--ep-weiss);font-size:.8125rem}.zeitraum-months{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-left:1.25rem;margin-bottom:.35rem;font-size:.875rem}.zeitraum-month-option{margin-left:0}.zeitraum-quarter .multi-select-option{margin-left:1.25rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{background:var(--ep-surface);border-radius:8px;padding:1.25rem;text-align:center;border:1px solid var(--ep-border)}.kpi-card .value{font-size:1.5rem;font-weight:700;color:var(--ep-gelb)}.kpi-card .label{font-size:.875rem;color:var(--ep-text-muted);margin-top:.25rem}.kpi-cross-selling-box{background:var(--ep-surface);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;border:1px solid var(--ep-petrol)}.kpi-cross-selling-title{font-size:.875rem;font-weight:600;color:var(--ep-petrol);margin-bottom:.5rem}.kpi-cross-selling-values{display:flex;gap:1.5rem;font-size:.875rem;color:var(--ep-text-muted)}.gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.gauge{background:var(--ep-surface);border-radius:8px;padding:1.5rem;text-align:center;border:1px solid var(--ep-border)}.gauge .pct{font-size:2rem;font-weight:700;color:var(--ep-gelb)}.gauge .bar{height:12px;background:var(--ep-blauschwarz);border-radius:6px;overflow:hidden;margin:.75rem 0}.gauge .fill{height:100%;border-radius:6px;transition:width .3s}.zielerreichung-section{margin-top:2rem}.zielerreichung-section .section-title{font-size:1.125rem;color:var(--ep-text-muted);margin:0 0 1rem;font-weight:600}.gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.gauge-card{background:var(--ep-surface);border-radius:8px;padding:1.25rem;text-align:center;border:1px solid var(--ep-border)}.gauge-title{font-size:1rem;color:var(--ep-text-muted);margin-bottom:0;font-weight:600}.gauge-chart-wrap{min-height:240px;display:flex;align-items:center;justify-content:center;overflow:visible;padding:1rem 0}.ziel-halfcircle-wrap{width:75%;overflow:visible}.ziel-halfcircle-svg{width:100%;height:auto;display:block;overflow:visible}.ziel-halfcircle-pct{font-size:1.5rem;font-weight:700;fill:var(--ep-gelb)}.ziel-halfcircle-ist{font-size:.875rem;font-weight:600;fill:var(--ep-weiss)}.gauge-scale-label{font-size:.75rem;fill:var(--ep-text-muted)}.gauge-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px;color:var(--ep-text-muted)}.gauge-placeholder-text{font-size:2rem;font-weight:700}.gauge-placeholder-hint{font-size:.8125rem}.gauge-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem;font-size:.875rem;color:var(--ep-text-muted)}.gauge-no-goal-hint{margin-top:.5rem;font-size:.8125rem;color:var(--ep-gelb)}.gauge-card-compact{padding:.75rem}.gauge-title-compact{font-size:.8125rem}.gauge-chart-wrap-compact{min-height:95px;padding:.25rem 0 .5rem}.ziel-halfcircle-wrap-compact{width:96%}.ziel-halfcircle-pct-compact{font-size:.84375rem}.ziel-halfcircle-ist-compact{font-size:.6875rem}.gauge-scale-label-compact{font-size:.625rem}.gauge-placeholder-compact{min-height:80px}.gauge-placeholder-compact .gauge-placeholder-text{font-size:1.25rem}.gauge-legend-compact{font-size:.6875rem;gap:.75rem}.ziel-ist-stack{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.ziel-ist-row{display:flex;align-items:baseline}.ziel-ist-label{min-width:2.75em;flex-shrink:0;color:var(--ep-text-muted)}.ziel-ist-value{flex:1;text-align:left;font-weight:600;color:var(--ep-gelb)}.vergleich-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.vergleich-box{background:var(--ep-surface);border-radius:8px;padding:1rem;border:1px solid var(--ep-border)}.vergleich-box-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.vergleich-box-title{font-size:1rem;font-weight:600;color:var(--ep-gelb);margin:0}.vergleich-box-projekte{font-size:.75rem;color:var(--ep-text-muted)}.vergleich-box-gauges{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.vergleich-value-only{background:var(--ep-surface);border-radius:8px;padding:.75rem;border:1px solid var(--ep-border)}.vergleich-value-label{font-size:.8125rem;color:var(--ep-text-muted);margin-bottom:.25rem}.vergleich-code-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--ep-border);font-size:.75rem;color:var(--ep-text-muted)}.vergleich-code-row{margin-bottom:.25rem}.vergleich-code-row:last-child{margin-bottom:0}.vergleich-cross-selling{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--ep-border)}.vergleich-cross-selling-title{font-size:.75rem;font-weight:600;color:var(--ep-petrol);margin-bottom:.25rem}.vergleich-cross-selling-values{display:flex;gap:1rem;font-size:.75rem;color:var(--ep-text-muted)}@media (max-width: 900px){.vergleich-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.vergleich-grid{grid-template-columns:1fr}}.btn{padding:.5rem 1rem;border-radius:4px;border:none;background:var(--ep-gelb);color:var(--ep-blauschwarz);font-weight:600}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--ep-weiss);border:1px solid var(--ep-border)}.btn-secondary:hover{border-color:var(--ep-petrol);color:var(--ep-petrol)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;color:var(--ep-text-muted);font-size:.875rem}.form-group input,.form-group select{width:100%;max-width:320px;padding:.5rem .75rem;border-radius:4px;border:1px solid var(--ep-border);background:var(--ep-blauschwarz);color:var(--ep-weiss)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--ep-petrol)}.login-page{max-width:400px;margin:4rem auto;padding:2rem;background:var(--ep-surface);border-radius:8px;border:1px solid var(--ep-border)}.login-page h1{margin-top:0;color:var(--ep-weiss);font-weight:600}.login-page .login-sub{color:var(--ep-text-muted);margin-bottom:.5rem;font-size:.875rem}.login-page .login-hint{color:var(--ep-text-muted);margin-bottom:1rem;font-size:.8125rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--ep-border)}th{background:var(--ep-surface);color:var(--ep-text-muted);font-weight:600;font-size:.8125rem}.projektliste-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.projektliste-count-box{background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:8px;padding:.75rem 1.25rem;text-align:center;flex-shrink:0}.projektliste-count-label{display:block;font-size:.8125rem;color:var(--ep-text-muted)}.projektliste-count-value{font-size:1.5rem;font-weight:700;color:var(--ep-gelb)}.projektliste-table{margin-top:.5rem}.projektliste-table-wrapper{min-height:360px}.projektliste-table tbody tr{transition:background-color .2s}.projektliste-sum-row{background:var(--ep-surface-light)!important;border-top:2px solid var(--ep-gelb)}.projektliste-sum-row td{padding:.75rem;color:var(--ep-gelb)}.projektliste-table th:nth-child(9),.projektliste-table th:nth-child(10),.projektliste-table th:nth-child(11),.projektliste-table th:nth-child(12),.projektliste-table td:nth-child(9),.projektliste-table td:nth-child(10),.projektliste-table td:nth-child(11),.projektliste-table td:nth-child(12){min-width:130px;white-space:nowrap}.projektliste-th-filter{position:relative;white-space:nowrap}.projektliste-th-inner{display:flex;align-items:center;gap:.25rem}.projektliste-filter-btn{background:transparent;border:none;color:var(--ep-text-muted);padding:.125rem .25rem;font-size:.7rem;cursor:pointer;border-radius:2px}.projektliste-filter-btn:hover,.projektliste-filter-btn.active{color:var(--ep-gelb);background:var(--ep-surface-light)}.projektliste-filter-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:6px;padding:.5rem;max-height:240px;overflow-y:auto;z-index:100;min-width:160px;box-shadow:0 4px 12px #0000004d}.projektliste-filter-actions{display:flex;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--ep-border)}.projektliste-filter-actions button{flex:1;padding:.25rem .5rem;font-size:.75rem;background:var(--ep-surface-light);border:1px solid var(--ep-border);border-radius:4px;color:var(--ep-weiss);cursor:pointer}.projektliste-filter-actions button:hover{background:var(--ep-petrol);color:var(--ep-blauschwarz)}.projektliste-filter-opt{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;font-size:.8125rem}.projektliste-filter-opt:hover{color:var(--ep-gelb)}.error{color:var(--ep-rot);margin-top:.5rem}.success{color:var(--ep-gruen);margin-top:.5rem}p{color:var(--ep-text-muted)}
