:root{--bg: #f4f5f7;--panel: #ffffff;--border: #e2e4e9;--text: #1c1f26;--muted: #6b7280;--accent: #4f46e5;--accent-hover: #4338ca;--danger: #dc2626;--warn-bg: #fff7ed;--warn-border: #fdba74;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;width:100%}.btn-primary{background:var(--accent);color:#fff;border:none;padding:9px 16px;border-radius:6px;font-weight:600;font-size:14px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid var(--border);padding:9px 16px;border-radius:6px;font-size:14px}.btn-danger{background:#fff;border:1px solid var(--danger);color:var(--danger);padding:9px 16px;border-radius:6px;font-size:14px}.icon-btn{background:transparent;border:none;font-size:16px;padding:4px 8px;border-radius:4px;color:var(--muted)}.icon-btn:hover{background:var(--border)}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f46e5,#9333ea)}.login-card{background:#fff;padding:40px;border-radius:12px;width:320px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 50px #00000040}.login-card h1{margin:0;font-size:20px}.login-logo{display:flex}.muted{color:var(--muted);font-size:13px;margin:0}.error-text{color:var(--danger);font-size:13px}.app-brand-accent{color:var(--accent);font-weight:800}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--border)}.app-brand{display:flex;align-items:center;gap:10px}.app-header h1{font-size:17px;margin:0;font-weight:600}.app-header-right{display:flex;align-items:center;gap:12px}.tab-nav{display:flex;gap:4px;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--border)}.tab-nav-item{background:none;border:none;padding:12px 16px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab-nav-item:hover{color:var(--text)}.tab-nav-active{color:var(--accent);border-bottom-color:var(--accent)}.global-banner{background:var(--warn-bg);border-bottom:1px solid var(--warn-border);padding:10px 24px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.global-banner button{background:none;border:none;font-size:14px}.channel-filter{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border)}.chip{border:1px solid var(--border);background:#fff;padding:6px 12px;border-radius:999px;font-size:13px;display:flex;align-items:center;gap:6px}.chip-inactive{opacity:.45}.chip-all{font-weight:600}.app-body{flex:1;display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px 24px;overflow:hidden}.library{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;overflow-y:auto}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.library-header h2{font-size:15px;margin:0}.content-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9fafb;border-radius:8px;margin-bottom:12px}.search-input{margin-bottom:10px}.library-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;flex:1}.empty-hint{font-size:13px;padding:12px 0}.content-card{border:1px solid var(--border);border-radius:8px;padding:10px;background:#fff;cursor:grab}.content-card:active{cursor:grabbing}.content-card-top{display:flex;align-items:center;gap:6px;margin-bottom:4px}.content-type-badge{font-size:11px;background:#eef2ff;color:var(--accent);padding:2px 8px;border-radius:999px;font-weight:600}.dup-badge{font-size:11px;background:var(--warn-bg);border:1px solid var(--warn-border);color:#9a3412;padding:2px 8px;border-radius:999px}.content-card-top .icon-btn{margin-left:auto}.content-card-title{font-weight:600;font-size:14px}.content-tags{font-size:12px;color:var(--muted);margin-top:4px}.content-creator{font-size:11px;color:var(--muted);margin-top:2px}.admin-hint{font-size:12px;margin-top:8px}.content-thumb{width:100%;max-height:120px;object-fit:cover;border-radius:6px;margin-top:6px}.usage-list{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:4px}.usage-list-label{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}.usage-item{display:flex;align-items:center;gap:6px;font-size:12px}.usage-item.status-veroeffentlicht{opacity:.6}.usage-channel{font-weight:600}.usage-date{color:var(--muted);margin-left:auto}.duplicate-banner{background:var(--warn-bg);border:1px solid var(--warn-border);color:#9a3412;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.duplicate-banner ul{margin:6px 0 0;padding-left:18px}.duplicate-banner button{display:block;margin-top:6px;background:none;border:none;text-decoration:underline;color:#9a3412;padding:0;font-size:12px}.calendar{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:8px}.calendar-header h2{margin:0;font-size:16px;text-transform:capitalize}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);font-size:12px;color:var(--muted);font-weight:600;padding:4px 0}.weekday-label{text-align:center}.calendar-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:4px;overflow-y:auto}.calendar-day{border:1px solid var(--border);border-radius:6px;padding:4px;min-height:90px;display:flex;flex-direction:column;gap:2px;background:#fff}.calendar-day.outside-month{background:#fafafa;color:#c0c3c9}.calendar-day.is-today{border-color:var(--accent);border-width:2px}.calendar-day.drag-over{background:#eef2ff}.calendar-day-number{font-size:12px;font-weight:600;padding:2px 4px}.calendar-day-events{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.event-chip{border-left:3px solid #888;background:#f4f5f7;border-radius:4px;padding:2px 5px;font-size:11px;display:flex;align-items:center;gap:3px;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip:active{cursor:grabbing}.event-chip.status-veroeffentlicht{opacity:.6}.event-title{overflow:hidden;text-overflow:ellipsis}.event-dup-flag{flex-shrink:0}.event-icon{flex-shrink:0;display:flex}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border-radius:10px;padding:24px;width:380px;max-height:85vh;overflow-y:auto}.modal.modal-wide{width:460px}.modal h3{margin-top:0}.modal form{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600;color:var(--muted);margin-top:8px}.modal-actions{display:flex;gap:8px;margin-top:16px}.channel-checklist{display:flex;flex-direction:column;gap:8px}.channel-group-label{font-size:11px;color:var(--muted);font-weight:600;margin-top:4px}.channel-checkbox{display:flex;align-items:center;gap:8px;font-size:14px}.channel-checkbox input{width:auto}.channel-dot{width:8px;height:8px;border-radius:50%;display:inline-block}@media (max-width: 900px){.app-body{grid-template-columns:1fr;overflow:auto}}.team-calendar-body{grid-template-columns:260px 1fr}.team-member-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.team-member-row{display:flex;align-items:center;gap:8px;font-size:14px}.team-member-row .icon-btn{margin-left:auto}.member-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.quick-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.inline-add-form{display:flex;gap:6px;align-items:center}.inline-add-form input{flex:1}.calendar-day{cursor:pointer}.vacation-bar{color:#fff;font-size:10px;font-weight:600;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-day.has-holiday{background:#f5f3ff}.holiday-bar{background:#8b5cf6;color:#fff;font-size:10px;font-weight:600;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-chip{border-left:3px solid var(--accent);cursor:pointer}.tasks-board{padding:16px 24px;flex:1;overflow:hidden;display:flex;flex-direction:column}.tasks-board-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tasks-board-header h2{margin:0;font-size:18px}.kanban-columns{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;overflow:hidden}.kanban-column{background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.kanban-column.drag-over{background:#eef2ff}.kanban-column-header{padding:12px 14px;font-weight:600;font-size:14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.kanban-count{background:#eef2ff;color:var(--accent);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.kanban-column-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.task-card{background:#fff;border:1px solid var(--border);border-left:3px solid #888;border-radius:8px;padding:10px;cursor:grab}.task-card:active{cursor:grabbing}.task-card.priority-hoch{border-left-color:#dc2626}.task-card.priority-normal{border-left-color:#d97706}.task-card.priority-niedrig{border-left-color:#16a34a}.task-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.priority-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;text-transform:uppercase}.priority-badge.priority-hoch{background:#fee2e2;color:#dc2626}.priority-badge.priority-normal{background:#fef3c7;color:#92400e}.priority-badge.priority-niedrig{background:#dcfce7;color:#166534}.task-due{font-size:11px;color:var(--muted)}.task-due-overdue{color:var(--danger);font-weight:600}.task-card-title{font-size:14px;font-weight:600;margin-bottom:6px}.task-card-member{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}@media (max-width: 900px){.team-calendar-body{grid-template-columns:1fr}.kanban-columns{grid-template-columns:1fr;overflow-y:auto}}.admin-view{padding:16px 24px;max-width:640px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-header h2{margin:0;font-size:18px}.admin-user-list{display:flex;flex-direction:column;gap:8px}.admin-user-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px;cursor:pointer}.admin-user-row:hover{border-color:var(--accent)}.admin-user-name{font-weight:600;font-size:14px}.admin-user-username{color:var(--muted);font-size:13px}.admin-user-vacation{font-size:12px;margin-left:auto}.role-badge{margin-left:auto;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase}.role-badge.role-admin{background:#ede9fe;color:#6d28d9}.role-badge.role-mitglied{background:#e0f2fe;color:#0369a1}.time-tracking-body{grid-template-columns:300px 1fr}.week-schedule{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.week-schedule-row{display:grid;grid-template-columns:56px 1fr auto 1fr;align-items:center;gap:6px;font-size:13px}.week-schedule-day{display:flex;align-items:center;gap:6px;font-weight:600}.week-schedule-day input{width:auto}.week-schedule-row input[type=time]{padding:5px 6px;font-size:13px}.week-schedule-total{font-size:12px;margin:4px 0 8px}.holiday-manage{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.holiday-list{margin-top:10px;display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding-right:4px}.holiday-list .inline-add-form{flex-direction:column;align-items:stretch;margin-top:6px;position:sticky;bottom:0;background:var(--panel);padding-top:6px}.holiday-row{display:flex;align-items:center;gap:8px;font-size:12px}.holiday-row .icon-btn{margin-left:auto}.holiday-name{color:var(--muted)}.timesheet{overflow-y:auto}.timesheet-summary{display:flex;flex-wrap:wrap;gap:18px;padding:10px 4px 16px;font-size:14px;font-weight:600}.timesheet-summary .muted{font-weight:400;margin-right:4px}.timesheet-positive{color:#16a34a}.timesheet-negative{color:var(--danger)}.timesheet-table{display:flex;flex-direction:column}.timesheet-row{display:grid;grid-template-columns:50px 44px 64px 64px 84px 1fr;gap:8px;padding:7px 8px;font-size:13px;border-bottom:1px solid var(--border);align-items:center}.timesheet-note{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timesheet-head{font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase}.timesheet-row.clickable{cursor:pointer}.timesheet-row.clickable:hover{background:#f9fafb}.timesheet-row.status-feiertag{background:#f5f3ff}.timesheet-row.status-urlaub{background:#ecfeff}.timesheet-row.status-korrigiert{border-left:3px solid #0d9488}.timesheet-row.status-ueberstunden{border-left:3px solid #7c3aed}.timesheet-row.status-frei{color:#b0b3b9}.timesheet-row.status-krank{background:#fff7ed}.timesheet-row.status-gleitzeit{background:#eef2ff}.day-action-menu{width:300px;text-align:center}.day-action-choices{display:flex;flex-direction:column;gap:8px;margin:16px 0 12px}.day-action-cancel{width:100%}.schedule-readonly,.vacation-balance{font-size:13px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.schedule-readonly-label{font-weight:600;margin-bottom:6px}.schedule-readonly-row{display:flex;justify-content:space-between;padding:2px 0}.small-hint{font-size:12px;margin:4px 0 0}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-top:10px}.checkbox-field input{width:auto}@media (max-width: 900px){.time-tracking-body{grid-template-columns:1fr}}
