@import"https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Archivo+Expanded:wght@700&display=swap";:root{--charcoal: #20242A;--charcoal-2: #2B3038;--paper: #F5F4F0;--paper-2: #EBE9E3;--ink: #1B1E22;--ink-soft: #5B6069;--orange: #E2601C;--orange-dark: #B84C15;--green: #2F7A5C;--red: #B23A2A;--border: #D8D5CC}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Archivo,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent}button{font-family:inherit}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.app-shell{min-height:100%;display:flex;flex-direction:column}.top-bar{background:var(--charcoal);color:#f5f4f0;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.top-bar-brand{font-family:Archivo Expanded,Archivo,sans-serif;font-weight:700;font-size:19px;letter-spacing:.2px;display:flex;align-items:baseline;gap:8px}.top-bar-brand span{color:var(--orange)}.top-bar-user{display:flex;align-items:center;gap:14px;font-size:14px}.top-bar-user button{background:transparent;color:#c7cad1;border:1px solid #454b55;padding:7px 14px;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600}.top-bar-user button:hover{border-color:var(--orange);color:#fff}.content{flex:1;width:100%;max-width:880px;margin:0 auto;padding:24px 20px 96px}.bottom-nav{position:sticky;bottom:0;display:flex;background:var(--charcoal);border-top:1px solid #3a3f47}.bottom-nav button{flex:1;background:transparent;border:none;color:#9aa0ab;padding:12px 8px 10px;font-size:13px;font-weight:600;cursor:pointer;border-top:3px solid transparent}.bottom-nav button.active{color:#fff;border-top-color:var(--orange)}.login-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--charcoal);padding:24px}.login-title{font-family:Archivo Expanded,Archivo,sans-serif;color:#fff;font-size:26px;font-weight:700;margin-bottom:4px}.login-title span{color:var(--orange)}.login-sub{color:#9aa0ab;font-size:14px;margin-bottom:32px}.pin-dots{display:flex;gap:14px;margin-bottom:28px;height:18px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid #4A5058;background:transparent}.pin-dot.filled{background:var(--orange);border-color:var(--orange)}.pin-pad{display:grid;grid-template-columns:repeat(3,72px);gap:14px}.pin-pad button{width:72px;height:72px;font-size:24px;font-weight:600;color:#fff;background:var(--charcoal-2);border:1px solid #3a3f47;border-radius:4px;cursor:pointer}.pin-pad button:active{background:var(--orange);border-color:var(--orange)}.pin-pad button.wide{grid-column:span 1;font-size:15px;color:#9aa0ab;background:transparent;border-color:transparent}.login-error{margin-top:20px;color:#ffb199;font-size:14px;font-weight:600;min-height:18px}.status-panel{background:#fff;border:1px solid var(--border);border-left:6px solid var(--ink-soft);padding:24px;margin-bottom:24px}.status-panel.aktiv{border-left-color:var(--green)}.status-label{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.status-value{font-size:28px;font-weight:700;font-family:Archivo Expanded,Archivo,sans-serif}.status-meta{margin-top:4px;color:var(--ink-soft);font-size:15px}.field-label{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:8px;display:block}select,input[type=text],input[type=date]{width:100%;padding:13px 14px;font-size:16px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--ink)}.big-button{width:100%;padding:20px;font-size:18px;font-weight:700;border:none;border-radius:4px;cursor:pointer;margin-top:20px}.big-button.start{background:var(--orange);color:#fff}.big-button.start:hover{background:var(--orange-dark)}.big-button.stop{background:var(--ink);color:#fff}.big-button.stop:hover{background:#000}.big-button:disabled{background:#c9c6bc;cursor:not-allowed}.verlauf-liste{list-style:none;padding:0;margin:0}.verlauf-zeile{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}.verlauf-zeile:last-child{border-bottom:none}.verlauf-baustelle{font-weight:600}.verlauf-zeit{color:var(--ink-soft)}h1.seiten-titel{font-family:Archivo Expanded,Archivo,sans-serif;font-size:22px;margin:0 0 20px}.admin-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);overflow-x:auto}.admin-tabs button{background:transparent;border:none;padding:10px 4px;margin-right:20px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.admin-tabs button.active{color:var(--ink);border-bottom-color:var(--orange)}table.tabelle{width:100%;border-collapse:collapse;font-size:14px;background:#fff}table.tabelle th{text-align:left;padding:10px 12px;background:var(--paper-2);font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--border)}table.tabelle td{padding:10px 12px;border-bottom:1px solid var(--border)}.table-wrap{overflow-x:auto;border:1px solid var(--border);margin-bottom:20px}.table-wrap table.tabelle{border:none}.tag-badge{display:inline-block;padding:3px 8px;font-size:12px;font-weight:700;border-radius:3px}.tag-badge.admin{background:#eadfcb;color:#7a5a16}.tag-badge.mitarbeiter{background:#e3e7ea;color:#47525a}.tag-badge.aktiv{background:#dceee3;color:var(--green)}.tag-badge.inaktiv{background:#f1dcd6;color:var(--red)}.form-zeile{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:#fff;border:1px solid var(--border);padding:16px;margin-bottom:20px}.form-feld{flex:1;min-width:140px}.knopf{padding:12px 18px;font-weight:700;font-size:14px;border:none;border-radius:3px;cursor:pointer;background:var(--ink);color:#fff}.knopf:hover{background:#000}.knopf.orange{background:var(--orange)}.knopf.orange:hover{background:var(--orange-dark)}.knopf.klein{padding:6px 12px;font-size:12px}.filter-zeile{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filter-zeile>div{flex:1;min-width:130px}.leer-hinweis{padding:30px;text-align:center;color:var(--ink-soft);font-size:14px;background:#fff;border:1px dashed var(--border)}.fehler-box{background:#f8e4de;color:#7a2c1d;padding:12px 14px;border-radius:3px;font-size:14px;font-weight:600;margin-bottom:16px}
