@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0a0a0b;--bg-secondary: #141416;--bg-tertiary: #1c1c1f;--bg-hover: #242428;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent-blue: #3b82f6;--accent-blue-hover: #2563eb;--accent-green: #22c55e;--accent-orange: #f97316;--accent-red: #ef4444;--border-color: #27272a;--border-light: #3f3f46;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.nav-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px}.nav-logo svg{width:24px;height:24px;color:var(--accent-blue)}.nav-selects{display:flex;gap:12px}.nav-selects select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 32px 8px 12px;border-radius:var(--radius-md);font-size:14px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:200px}.nav-selects select:hover{border-color:var(--border-light)}.nav-selects select:focus{outline:none;border-color:var(--accent-blue)}.main-content{display:flex;min-height:calc(100vh - 57px)}.sidebar{width:380px;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.content{flex:1;padding:20px;overflow-x:auto}.config-panel,.mieter-panel{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--border-color)}.config-panel h3,.mieter-panel h3,.grid-container h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-item{display:flex;flex-direction:column;gap:4px}.config-item label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.config-item select,.config-item input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;font-family:inherit}.config-item select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.config-item input[readonly]{background:var(--bg-primary);color:var(--text-secondary);cursor:default}.config-item.info{grid-column:span 2;flex-direction:row;align-items:center;gap:8px;background:#3b82f61a;padding:12px;border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.2)}.config-item.info label{color:var(--text-secondary)}.config-item.info .highlight{font-size:24px;font-weight:700;color:var(--accent-blue);font-family:JetBrains Mono,monospace}.config-item.info small{color:var(--text-muted);font-size:12px}.mieter-grid{display:flex;flex-direction:column;gap:8px}.mieter-row{display:grid;grid-template-columns:32px 70px 80px 1fr;gap:8px;align-items:center}.mieter-row .buchstabe{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-blue);color:#fff;font-weight:700;font-size:14px;border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace}.mieter-row input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 8px;border-radius:var(--radius-sm);font-size:12px;font-family:inherit}.mieter-row input:focus{outline:none;border-color:var(--accent-blue)}.mieter-row input::placeholder{color:var(--text-muted)}.mieter-row .name-input{min-width:0}.grid-container{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color)}.grid-container h3{font-size:18px;font-weight:700;letter-spacing:1px;color:var(--text-primary);text-align:center}.waschplan-grid{display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;font-size:11px}.grid-header{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.grid-header .monat-label{width:50px;min-width:50px}.tag-header{width:28px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);border-left:1px solid var(--border-color)}.grid-row{display:flex;border-top:1px solid var(--border-color)}.grid-row:first-child{border-top:none}.monat-label{width:50px;min-width:50px;height:28px;display:flex;align-items:center;padding-left:8px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary)}.grid-cell{width:28px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border-color);font-weight:500;color:var(--text-primary);transition:background .15s}.grid-cell:hover{background:var(--bg-hover)}.grid-cell.nicht-existent{background:var(--bg-primary);color:transparent}.grid-cell.sonntag{background:var(--bg-tertiary);color:var(--text-muted)}.grid-cell.feiertag{background:#f9731633;color:var(--accent-orange);font-size:8px;font-weight:700}.pdf-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}.btn-primary,.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;border:none}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover{background:var(--accent-blue-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light)}.btn-primary svg,.btn-secondary svg{width:18px;height:18px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:60px}.empty-state h2{font-size:24px;font-weight:600;margin-bottom:8px}.empty-state p{color:var(--text-secondary);font-size:16px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 1200px){.main-content{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.content{overflow-x:auto}}
