:root{--color-accent:#d50025;--bg-page:#f8f9fa;--bg-dark:#14171a;--color-text:#14171a;--color-box:#669bbc;--color-white:#fff;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--radius-lg:8px;--radius-sm:8px;--shadow-card:0 4px 16px #0000000d;--shadow-block:0 2px 8px #0000000a;--grid-max-width:1240px;--grid-gap:16px;--block-gap:32px;--header-h:64px}*{box-sizing:border-box;border:none!important}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--bg-page);-webkit-font-smoothing:antialiased;margin:0;font-size:1.05rem;line-height:1.6}h1,h2,h3,h4{margin:0 0 .5em;font-weight:700}button{cursor:pointer;font-family:inherit}a{color:var(--color-accent)}.language-switch{gap:4px;display:flex}.language-switch button{color:var(--color-text);border-radius:var(--radius-sm);background:#14171a0d;padding:4px 10px;font-size:.8rem;font-weight:700}.language-switch button.active{background:var(--bg-dark);color:var(--color-white)}.brand-bar{z-index:100;background:var(--color-accent);width:100%;transition:background-color .35s,box-shadow .35s;position:fixed;top:0;left:0;right:0}.brand-bar.scrolled{background:var(--color-white);box-shadow:var(--shadow-block)}.brand-bar-inner{max-width:var(--grid-max-width);min-height:var(--header-h);box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 auto;padding:16px 24px;display:flex}.brand-logo{color:var(--color-white);font-size:1.1rem;font-weight:800;transition:color .35s}.brand-bar.scrolled .brand-logo{color:var(--color-accent)}.brand-tag{color:#ffffffe0;margin-right:auto;font-size:.85rem;font-weight:600;transition:color .35s}.brand-bar.scrolled .brand-tag{color:var(--color-text)}.brand-bar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.brand-bar-actions>button{color:var(--color-white);background:#ffffff26;border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:background-color .35s,color .35s}.brand-bar-actions>button:hover{background:#ffffff42}.brand-bar.scrolled .brand-bar-actions>button{background:var(--bg-page);color:var(--color-text)}.brand-bar.scrolled .brand-bar-actions>button:hover{background:var(--color-accent);color:var(--color-white)}.brand-bar .language-switch button{color:var(--color-white);background:#ffffff26}.brand-bar .language-switch button.active{background:var(--color-white);color:var(--color-accent)}.brand-bar.scrolled .language-switch button{color:var(--color-text);background:#14171a0d}.brand-bar.scrolled .language-switch button.active{background:var(--bg-dark);color:var(--color-white)}.centered-screen{min-height:100%;padding:calc(var(--header-h) + 24px) 24px 24px;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.centered-screen-dark{background:var(--bg-dark);background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:16px 16px}.centered-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);box-sizing:border-box;text-align:center;width:100%;max-width:440px;padding:40px 36px}.centered-card-wide{max-width:var(--grid-max-width)}.centered-card form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.centered-card input[type=password]{border-radius:var(--radius-sm);background:var(--bg-page);padding:11px 14px;font-family:inherit;font-size:15px}.centered-card button[type=submit]{background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-sm);padding:11px;font-size:15px;font-weight:600}.centered-card button[type=submit]:disabled{opacity:.6;cursor:default}.link-button{color:var(--color-accent);background:0 0;margin-top:16px;padding:0;font-size:.85rem}.form-error{color:var(--color-accent);font-size:.85rem}.mandant-options{gap:var(--grid-gap);flex-direction:column;margin-top:24px;display:flex}.mandant-option{text-align:left;background:var(--bg-page);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:16px 20px;display:flex}.mandant-option:hover{background:#d500250f}.mandant-option strong{color:var(--bg-dark)}.mandant-option span{color:#14171ab3;font-size:.85rem}.mandant-option-demo strong{color:var(--color-accent)}.role-group{text-align:left;margin-top:20px}.role-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);margin-bottom:8px;font-size:.85rem}.role-group-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.role-option{background:var(--bg-page);border-radius:var(--radius-sm);text-align:center;justify-content:center;align-items:center;min-height:44px;padding:12px 14px;font-size:.95rem;display:flex}.role-option:hover{background:#d500250f}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-main{max-width:var(--grid-max-width);padding:calc(var(--header-h) + var(--block-gap)) 24px var(--block-gap);box-sizing:border-box;flex:1;width:100%;margin:0 auto}.app-status-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);margin-bottom:var(--block-gap);padding:24px}.app-status-actions{gap:12px;margin-top:12px;display:flex}.app-status-actions button{background:var(--bg-page);border-radius:var(--radius-sm);padding:8px 14px;font-size:.9rem}.app-placeholder{color:#14171a99;font-style:italic}.zuteilungen-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.zuteilungen-header button{background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-sm);padding:8px 16px;font-size:.9rem;font-weight:600}.zuteilung-form-panel{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);margin-bottom:var(--block-gap);padding:20px}.zuteilung-form{flex-direction:column;gap:14px;display:flex}.zuteilung-form label{color:#14171abf;flex-direction:column;gap:4px;font-size:.85rem;display:flex}.zuteilung-form input,.zuteilung-form select{border-radius:var(--radius-sm);background:var(--bg-page);color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:.95rem}.zuteilung-form-dates{gap:14px;display:flex}.zuteilung-form-dates label{flex:1}.zuteilung-form-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.zuteilung-form-actions button[type=submit]{background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-sm);padding:9px 18px;font-weight:600}.mitarbeiter-block{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);margin-bottom:16px;padding:20px}.mitarbeiter-block-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.auslastung-badge{color:#14171ab3;font-size:.8rem}.auslastung-badge.ueberbucht{color:var(--color-accent);font-weight:700}.auslastung-badge.unterausgelastet{color:var(--color-box);font-weight:700}.coverage-badge{color:#14171ab3;font-size:.8rem}.coverage-badge.coverage-full{color:var(--color-box);font-weight:700}.zuteilungen-section-label{text-transform:uppercase;letter-spacing:.03em;color:#14171a80;margin:0 0 8px;font-size:.75rem}.zuteilungen-own-section{margin-bottom:var(--block-gap)}.mitarbeiter-block-own{border:2px solid var(--color-accent)}.own-badge{background:var(--color-accent);color:var(--color-white);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.65rem;font-weight:700;display:inline-block}.engpass-warning{border-radius:var(--radius-lg);margin-bottom:var(--block-gap);background:#d500250f;padding:16px 20px}.engpass-warning h4{color:var(--color-accent);margin-bottom:8px}.engpass-warning ul{margin:0;padding-left:18px;font-size:.9rem}.konflikt-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);margin-bottom:16px;padding:20px}.konflikt-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.konflikt-status-offen{color:var(--color-accent);background:#d500251f;font-weight:700}.konflikt-status-in_klaerung{color:var(--color-box);background:#669bbc33;font-weight:700}.konflikt-status-eskaliert{background:var(--bg-dark);color:var(--color-white);font-weight:700}.konflikt-status-geloest{color:#14171a99;background:#14171a14}.konflikt-meta{color:#14171ab3;margin:4px 0;font-size:.85rem}.konflikt-zuteilungen{margin:10px 0;padding-left:18px;font-size:.9rem}.konflikt-zuteilungen .link-button{margin:0 0 0 10px}.konflikt-historie{margin:10px 0;font-size:.85rem}.konflikt-historie summary{cursor:pointer;color:var(--color-accent)}.konflikt-actions{gap:10px;margin-top:12px}.konflikt-actions button{background:var(--bg-page);border-radius:var(--radius-sm);padding:8px 14px;font-size:.85rem}.wird-frei-block{margin-bottom:var(--block-gap)}.wird-frei-block .zuteilungen-header select{border-radius:var(--radius-sm);background:var(--bg-page);padding:6px 10px;font-size:.85rem}.uebersicht-stat-row{gap:var(--grid-gap);margin-bottom:var(--block-gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.uebersicht-stat-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);text-align:center;padding:20px}.uebersicht-stat-value{color:var(--color-accent);font-size:2rem;font-weight:700}.uebersicht-stat-label{color:#14171aa6;margin-top:4px;font-size:.8rem}.zuteilung-table{border-collapse:collapse;width:100%;font-size:.9rem}.zuteilung-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:#14171a80;padding:6px 8px;font-size:.75rem}.zuteilung-table td{background:var(--bg-page);padding:8px}.zuteilung-table tr+tr td{box-shadow:inset 0 1px #ffffffe6}.zuteilung-table tr.row-past td{opacity:.55}.status-badge{border-radius:var(--radius-sm);background:#14171a14;padding:2px 8px;font-size:.75rem}.status-badge.status-current{color:var(--color-accent);background:#d500251f;font-weight:700}.row-actions{gap:10px;display:flex}.row-actions .link-button{margin-top:0;font-size:.8rem}.confirm-question{color:var(--color-accent);font-size:.8rem;font-weight:600}.view-tabs{margin-bottom:var(--block-gap);gap:4px;display:flex}.view-tabs button{border-radius:var(--radius-sm);background:var(--bg-page);color:var(--color-text);padding:8px 16px;font-size:.9rem;box-shadow:inset 0 0 0 1px #14171a21}.view-tabs button.active{background:var(--color-accent);color:var(--color-white);box-shadow:none}.nav-badge{background:var(--color-accent);color:var(--color-white);box-shadow:0 0 0 1.5px var(--color-white);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.disziplin-rows{flex-direction:column;gap:8px;display:flex}.disziplin-row{align-items:center;gap:8px;display:flex}.disziplin-row select{flex:1}.disziplin-row input[type=number]{width:70px}.stammdaten-label{color:#14171abf;margin-bottom:6px;font-size:.85rem;display:block}.checkbox-list{flex-direction:column;gap:6px;display:flex}.checkbox-row{flex-direction:row;align-items:center;gap:8px;font-size:.9rem;display:flex}.documentation-view{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px}.doku-section{margin-top:var(--block-gap);gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.doku-section>:not(.doku-role-card){grid-column:1/-1}.doku-section h3{color:var(--color-accent);font-size:1.1rem}.doku-role-card{background:var(--bg-page);border-radius:var(--radius-sm);padding:14px 16px}.doku-role-card h4{margin-bottom:4px}.doku-role-card p{margin:0;font-size:.9rem}.architecture-diagram{width:100%;max-width:800px;height:auto;margin:16px auto 0;display:block}.doku-legend-title{margin-top:24px;margin-bottom:4px}.diagram-box{fill:var(--bg-page)}.diagram-box-dark{fill:var(--bg-dark)}.diagram-box-accent{fill:var(--color-accent)}.diagram-box-external{fill:var(--color-white);stroke:var(--color-accent);stroke-width:2px;stroke-dasharray:6 4}.diagram-box-muted{fill:var(--bg-page);stroke:#14171a59;stroke-width:2px;stroke-dasharray:6 4}.diagram-text{fill:var(--color-text);font-family:var(--font-sans);font-size:15px;font-weight:700}.diagram-text-sm{fill:var(--color-text);font-family:var(--font-sans);font-size:12px}.diagram-text-light{fill:var(--color-white)}.diagram-arrow path{stroke:#14171a59;stroke-width:1.5px;fill:none}.diagram-arrowhead{fill:#14171a59}:root{--chart-hardware:#2a78d6;--chart-software:#eb6834;--chart-mechanik:#1baf7a}.auswertungen-table{margin-top:12px}.zeitachse-table-wrap{overflow-x:auto}.zeitachse-table th,.zeitachse-table td{text-align:center}.zeitachse-table th:first-child,.zeitachse-project-cell{text-align:left;white-space:nowrap}.zeitachse-cell{border-radius:var(--radius-sm);background:#14171a0f;min-width:84px;padding:4px 8px;font-size:.85rem;font-weight:600;display:inline-block}.zeitachse-cell:not(.zeitachse-cell-empty){cursor:pointer}.zeitachse-cell:not(.zeitachse-cell-empty):hover{background:#d500251f}.zeitachse-cell.active{background:var(--color-accent);color:var(--color-white)}.zeitachse-cell-empty{color:#14171a59;background:0 0;font-weight:400}.zeitachse-detail{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-block);margin-top:var(--block-gap);padding:20px}.auswertungen-hint{color:#14171aa6;margin:4px 0 12px;font-size:.85rem}.auswertungen-quarter-select{align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;display:flex}.auswertungen-quarter-select select{border-radius:var(--radius-sm);background:var(--bg-page);padding:6px 10px;font-size:.85rem}.auswertungen-replan-columns{gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.auswertungen-replan-columns h4{margin-bottom:8px;font-size:.9rem}.trend-legend{flex-wrap:wrap;gap:16px;margin-bottom:8px;display:flex}.trend-legend-item{color:var(--color-text);align-items:center;gap:6px;font-size:.85rem;display:flex}.trend-legend-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.trend-series-hardware{color:var(--chart-hardware)}.trend-series-software{color:var(--chart-software)}.trend-series-mechanik{color:var(--chart-mechanik)}.trend-chart{width:100%;height:auto}.trend-line{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:currentColor;stroke:var(--bg-page);stroke-width:2px}.trend-end-label{fill:currentColor;font-family:var(--font-sans);font-size:11px;font-weight:600}.trend-gridline{stroke:#14171a1f;stroke-width:1px}.trend-axis-label{fill:#14171a8c;font-family:var(--font-sans);font-size:10px}.ki-checkbox-row{align-items:center;gap:8px;margin-top:10px;font-size:.9rem;display:flex}.ki-checkbox-row input{width:auto}.ki-vorschau{color:var(--color-box);margin:-8px 0 4px;font-size:.85rem}.ki-vorschau-warning{color:var(--color-accent)}.ki-vorschlaege-row td{background:#669bbc14}.ki-vorschlaege,.ki-vorschlaege-liste{font-size:.85rem}.ki-vorschlaege{margin:10px 0}.ki-vorschlaege-liste{margin:4px 0 0;padding-left:18px}.ki-vorschlaege-empty{color:#14171aa6;margin:0;font-size:.85rem}.ki-muster-warning{border-radius:var(--radius-lg);background:#d500250f;margin-top:16px;padding:16px 20px}.ki-muster-warning h4{color:var(--color-accent);margin-bottom:8px}.ki-muster-warning ul{margin:0;padding-left:18px;font-size:.9rem}.ki-abfrage-form{gap:8px;margin-top:8px;display:flex}.ki-abfrage-form input{border-radius:var(--radius-sm);background:var(--bg-page);flex:1;padding:8px 12px}.ki-abfrage-answer{background:var(--bg-page);border-radius:var(--radius-sm);white-space:pre-wrap;margin-top:12px;padding:12px 16px;font-size:.9rem}
