:root{--color-bg: #212121;--color-bg-elevated: #2a2a2a;--color-bg-hover: #333333;--color-border: #3a3a3a;--color-border-strong: #4a4a4a;--color-text: #f0f0f0;--color-text-muted: #9a9a9a;--color-accent: #fe580d;--color-accent-hover: #ff7333;--color-secondary: #0097a7;--color-secondary-hover: #00b4c5;--color-danger: #c84048;--color-success: #5fb262;--font-headline: "Oswald", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--radius: 4px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.45}h1,h2,h3,h4{font-family:var(--font-headline);font-weight:600;letter-spacing:.02em;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);color:var(--color-text);padding:6px 12px;border-radius:var(--radius);transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}button.secondary:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}button.danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}button.danger:hover:not(:disabled){background:var(--color-danger);color:#fff}button.ghost{background:transparent;border-color:transparent;color:var(--color-text-muted);padding:4px 8px}button.ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:transparent}input,select,textarea{background:var(--color-bg);border:1px solid var(--color-border-strong);color:var(--color-text);padding:6px 8px;border-radius:var(--radius);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent)}label{display:block;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;margin-top:12px}label:first-child{margin-top:0}a{color:var(--color-secondary)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#1a1a1a;border-bottom:1px solid var(--color-border);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header .brand{display:flex;align-items:baseline;gap:8px}.app-header .brand h1{font-size:22px;text-transform:uppercase;color:var(--color-accent)}.app-header .brand .subtitle{color:var(--color-text-muted);font-size:12px}.app-header nav{display:flex;gap:4px}.app-header nav button{background:transparent;border:1px solid transparent;text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.05em}.app-header nav button.active{border-color:var(--color-accent);color:var(--color-accent)}.app-header .user-info{display:flex;align-items:center;gap:12px;color:var(--color-text-muted);font-size:13px}main{padding:24px;max-width:1400px;width:100%;margin:0 auto;flex:1}.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px;width:100%;max-width:420px}.login-card h1{font-size:28px;color:var(--color-accent);text-transform:uppercase;margin-bottom:8px}.login-card p{color:var(--color-text-muted);margin:0 0 24px}.login-card .form-row{display:flex;gap:8px;margin-top:12px}.login-card .form-row button{white-space:nowrap}.login-message{padding:12px;margin-top:16px;border-radius:var(--radius);background:#0097a726;border:1px solid var(--color-secondary);color:var(--color-text);font-size:13px}.login-message.error{background:#c8404826;border-color:var(--color-danger)}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap}.list-toolbar h2{font-size:18px;text-transform:uppercase}.list-toolbar .filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-pill{padding:4px 10px;border-radius:999px;font-size:12px;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);cursor:pointer;text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.04em}.filter-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}table.tasks{width:100%;border-collapse:collapse;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}table.tasks th,table.tasks td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}table.tasks th{background:#1a1a1a;font-family:var(--font-headline);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--color-text-muted)}table.tasks tr.row-blocked td:first-child{border-left:3px solid var(--color-accent)}table.tasks tr.row-done{opacity:.55}table.tasks .cell-pos{width:64px;font-variant-numeric:tabular-nums}table.tasks .cell-status{width:120px}table.tasks .cell-due{width:130px}table.tasks .cell-actions{width:100px;text-align:right;white-space:nowrap}.title-cell .title-text{font-weight:600}.title-cell .detail-text,.title-cell .next-text{color:var(--color-text-muted);font-size:12px;margin-top:4px}.title-cell .next-text strong{color:var(--color-secondary);text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.05em;font-size:11px;margin-right:4px}.blocked-badge{display:inline-block;background:var(--color-accent);color:#fff;font-size:10px;text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.05em;padding:2px 6px;border-radius:999px;margin-left:8px;vertical-align:middle}.deps-badge{display:inline-block;background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-muted);font-size:10px;text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.05em;padding:2px 6px;border-radius:999px;margin-left:8px;vertical-align:middle}.status-pill{display:inline-block;padding:2px 8px;font-size:11px;text-transform:uppercase;font-family:var(--font-headline);letter-spacing:.05em;border-radius:999px;border:1px solid var(--color-border-strong)}.status-pill.status-offen{background:#9a9a9a26;color:var(--color-text-muted)}.status-pill.status-in_arbeit{background:#fe580d33;color:var(--color-accent);border-color:var(--color-accent)}.status-pill.status-wartet{background:#0097a733;color:var(--color-secondary);border-color:var(--color-secondary)}.status-pill.status-erledigt{background:#5fb26233;color:var(--color-success);border-color:var(--color-success)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.modal-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:640px;padding:24px;display:flex;flex-direction:column;gap:12px}.modal-card header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}.modal-card header h3{font-size:20px;text-transform:uppercase}.modal-card .form-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.modal-card .form-actions .right{display:flex;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}textarea{min-height:60px;font-family:inherit}.dep-select{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:8px}.dep-option{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius);cursor:pointer;font-size:13px}.dep-option:hover{background:var(--color-bg-hover)}.dep-option input{width:auto;margin:0}.dep-option .pos{color:var(--color-text-muted);font-variant-numeric:tabular-nums;width:40px;flex-shrink:0}.dep-option.done{color:var(--color-text-muted);text-decoration:line-through}.user-panel{display:flex;flex-direction:column;gap:16px;max-width:720px}.user-add{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}table.users{width:100%;border-collapse:collapse;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius)}table.users th,table.users td{padding:10px;text-align:left;border-bottom:1px solid var(--color-border)}table.users th{background:#1a1a1a;font-family:var(--font-headline);text-transform:uppercase;font-size:12px;color:var(--color-text-muted);letter-spacing:.04em}.toast{position:fixed;bottom:20px;right:20px;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);padding:12px 16px;border-radius:var(--radius);font-size:13px;z-index:200;max-width:320px}.toast.error{border-color:var(--color-danger);color:var(--color-danger)}.toast.success{border-color:var(--color-success);color:var(--color-success)}.loading{color:var(--color-text-muted);padding:32px;text-align:center}
