.dashboard{padding:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h2{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;text-align:center}@media (prefers-color-scheme: dark){.stat-card{background:#333}}.stat-card.stat-danger{background:#fee;color:#c33}@media (prefers-color-scheme: dark){.stat-card.stat-danger{background:#522;color:#fcc}}.stat-card.stat-warning{background:#fef3cd;color:#856404}@media (prefers-color-scheme: dark){.stat-card.stat-warning{background:#553;color:#ffd}}.stat-card.stat-info{background:#d1ecf1;color:#0c5460}@media (prefers-color-scheme: dark){.stat-card.stat-info{background:#345;color:#cef}}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.9rem;opacity:.8}.dashboard-section{margin-bottom:2rem}.dashboard-section h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #eee}@media (prefers-color-scheme: dark){.dashboard-section h3{border-bottom-color:#444}}.fristen-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.frist-card{background:#fff;padding:1rem;border-radius:6px;border-left:4px solid #ccc;box-shadow:0 1px 3px #0000001a}@media (prefers-color-scheme: dark){.frist-card{background:#333}}.frist-card.frist-ueberfaellig{border-left-color:#dc2626;background:#fee}@media (prefers-color-scheme: dark){.frist-card.frist-ueberfaellig{background:#422}}.frist-card.frist-rot{border-left-color:#ef4444}.frist-card.frist-orange{border-left-color:#f59e0b}.frist-card.frist-gelb{border-left-color:#eab308}.frist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.frist-datum{font-size:.9rem;font-weight:500;color:#666}@media (prefers-color-scheme: dark){.frist-datum{color:#aaa}}.frist-info{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.9rem}.frist-typ{background:#e0e7ff;color:#4338ca;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}@media (prefers-color-scheme: dark){.frist-typ{background:#334;color:#aaf}}.frist-jahr{color:#666}@media (prefers-color-scheme: dark){.frist-jahr{color:#aaa}}.frist-countdown{margin:.5rem 0;font-size:.9rem;font-weight:500}.frist-countdown .ueberfaellig{color:#dc2626}.frist-countdown .heute{color:#ea580c}.frist-notizen{margin:.5rem 0;padding:.5rem;background:#f9fafb;border-radius:4px;font-size:.9rem;color:#666}@media (prefers-color-scheme: dark){.frist-notizen{background:#282828;color:#aaa}}.frist-card button{margin-top:.75rem;width:100%}.btn-sm{padding:.4rem .75rem;font-size:.875rem}.empty-state{text-align:center;padding:2rem;color:#999;font-style:italic}.fristen-table-container{padding:1rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.table-header h2{margin:0}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-input,.filter-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}@media (prefers-color-scheme: dark){.filter-input,.filter-select{background:#333;border-color:#555;color:#fff}}.table-info{margin-bottom:1rem;color:#666;font-size:.9rem}@media (prefers-color-scheme: dark){.table-info{color:#aaa}}.table-wrapper{overflow-x:auto}.fristen-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}@media (prefers-color-scheme: dark){.fristen-table{background:#333}}.fristen-table th{background:#f9fafb;padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #e5e7eb}@media (prefers-color-scheme: dark){.fristen-table th{background:#282828;border-bottom-color:#444}}.fristen-table td{padding:.75rem;border-bottom:1px solid #e5e7eb}@media (prefers-color-scheme: dark){.fristen-table td{border-bottom-color:#444}}.fristen-table tbody tr{transition:background .2s}.fristen-table tbody tr:hover{background:#f9fafb}@media (prefers-color-scheme: dark){.fristen-table tbody tr:hover{background:#3a3a3a}}.fristen-table tr.frist-ueberfaellig{background:#fee}@media (prefers-color-scheme: dark){.fristen-table tr.frist-ueberfaellig{background:#422}}.fristen-table tr.frist-rot{border-left:4px solid #ef4444}.fristen-table tr.frist-orange{border-left:4px solid #f59e0b}.fristen-table tr.frist-gelb{border-left:4px solid #eab308}.fristen-table tr.frist-erledigt{opacity:.6}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-offen{background:#fef3c7;color:#92400e}@media (prefers-color-scheme: dark){.status-offen{background:#553;color:#ffd}}.status-erledigt{background:#d1fae5;color:#065f46}@media (prefers-color-scheme: dark){.status-erledigt{background:#263;color:#cfc}}.notizen-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{white-space:nowrap}.btn-icon{background:none;border:none;padding:.25rem .5rem;cursor:pointer;font-size:1.1rem;opacity:.7;transition:opacity .2s}.btn-icon:hover{opacity:1}.days-warning{color:#dc2626;font-weight:500}@media (max-width: 768px){.filters{grid-template-columns:1fr}.table-wrapper{overflow-x:scroll}.fristen-table{font-size:.85rem}.fristen-table th,.fristen-table td{padding:.5rem}}.kunden-list-container{padding:1rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.list-header h2{margin:0}.search-bar{margin-bottom:1rem}.search-input{width:100%;max-width:500px;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}@media (prefers-color-scheme: dark){.search-input{background:#333;border-color:#555;color:#fff}}.list-info{margin-bottom:1rem;color:#666;font-size:.9rem}@media (prefers-color-scheme: dark){.list-info{color:#aaa}}.kunden-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.kunde-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;border-left:4px solid #667eea;transition:transform .2s,box-shadow .2s}@media (prefers-color-scheme: dark){.kunde-card{background:#333}}.kunde-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #00000026}.kunde-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.kunde-header h3{margin:0;font-size:1.25rem}.kunde-nr{background:#e0e7ff;color:#4338ca;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}@media (prefers-color-scheme: dark){.kunde-nr{background:#334;color:#aaf}}.kunde-typ{margin-bottom:.5rem;color:#666;font-size:.95rem}@media (prefers-color-scheme: dark){.kunde-typ{color:#aaa}}.kunde-bexio{margin-bottom:1rem;padding:.5rem;background:#f0fdf4;color:#166534;border-radius:4px;font-size:.85rem}@media (prefers-color-scheme: dark){.kunde-bexio{background:#263;color:#cfc}}.kunde-actions{display:flex;gap:.5rem;margin-top:1rem}.kunde-actions button{flex:1}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:#999;font-size:1.1rem}@media (max-width: 768px){.kunden-grid{grid-template-columns:1fr}}.app{max-width:1400px;margin:0 auto;padding:1rem}.header{text-align:center;margin-bottom:2rem;padding:2rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px}.header h1{margin:0;font-size:2.5rem}.subtitle{margin:.5rem 0 0;opacity:.9}.nav{display:flex;gap:.5rem;margin-bottom:2rem;background:#f5f5f5;padding:.5rem;border-radius:8px}@media (prefers-color-scheme: dark){.nav{background:#333}}.nav button{flex:1;padding:.75rem 1.5rem;border:none;background:transparent;color:inherit;font-size:1rem;cursor:pointer;border-radius:6px;transition:all .2s}.nav button:hover{background:#667eea1a}.nav button.active{background:#667eea;color:#fff}.loading{text-align:center;padding:4rem;font-size:1.2rem}.error{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error button{padding:.5rem 1rem;background:#c33;color:#fff;border:none;border-radius:4px;cursor:pointer}.error button:hover{background:#a22}.main{min-height:400px}button{font-family:inherit;font-weight:500}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}@media (prefers-color-scheme: dark){.form-group input,.form-group select,.form-group textarea{background:#333;border-color:#555;color:#fff}}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}@media (prefers-color-scheme: dark){.modal{background:#242424}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#0000001a}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}
