:root{color:#1d2733;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f7fb}button,input,select,textarea{font:inherit}button{border:0;border-radius:6px;background:#15304a;color:#fff;cursor:pointer;font-weight:700;min-height:36px;padding:0 14px}button:hover{background:#21476d}button.secondary{background:#e8eef5;color:#1d2733}button.secondary:hover{background:#dce5ef}button.danger{background:#d84a4a}button.danger:hover{background:#b93636}button.compact{min-height:30px;padding:0 10px;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.65}.auth-page{align-items:center;background:#f4f7fb;display:flex;min-height:100vh;padding:24px}.auth-card{background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 10px 28px #1f304414;margin:0 auto;max-width:440px;padding:24px;width:100%}.auth-card p{color:#617386;font-size:.9rem;font-weight:700}.auth-switch{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin:22px 0 16px}.auth-switch button{background:#e8eef5;color:#1d2733}.auth-switch button.active{background:#15304a;color:#fff}.auth-form{display:grid;gap:12px}.auth-choice{border:1px solid #dbe4ee;border-radius:8px;display:grid;gap:8px;margin:0;padding:12px}.auth-choice legend{color:#475b70;font-size:.82rem;font-weight:900;padding:0 4px}.auth-choice label{align-items:center;display:flex;gap:8px}.auth-choice input{min-height:auto;width:auto}.auth-error,.auth-message{border-radius:6px;font-size:.82rem;font-weight:800;margin:0;padding:10px}.auth-error{background:#fff0f0;color:#a12727}.auth-message{background:#e8f7ee;color:#236a40}.app-shell{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:24px 0 40px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 0 18px}.eyebrow{color:#617386;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1,h2{letter-spacing:0;margin:0}h1{color:#142235;font-size:clamp(2rem,5vw,4.2rem);line-height:.95}h2{color:#142235;font-size:1.05rem}.topbar-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;justify-content:flex-end}.today{color:#617386;font-weight:700;padding-bottom:9px}.user-menu{align-items:center;display:flex;gap:8px;padding-bottom:1px}.user-menu span{color:#617386;font-size:.78rem;font-weight:800;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label{color:#475b70;display:grid;gap:6px;font-size:.82rem;font-weight:800}input,select,textarea{background:#fff;border:1px solid #cbd7e3;border-radius:6px;color:#1d2733;min-height:36px;padding:7px 10px;width:100%}textarea{resize:vertical}.tabs{display:flex;gap:6px;overflow-x:auto;padding:8px 0 18px}.tabs button{background:transparent;color:#475b70;border:1px solid #cbd7e3;white-space:nowrap}.tabs button.active{background:#15304a;border-color:#15304a;color:#fff}.balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.number-field{background:#fff;border:1px solid #dbe4ee;border-radius:8px;padding:12px}.calculated-field{color:#475b70;display:grid;gap:6px;font-size:.82rem;font-weight:800}.calculated-field strong{color:#142235;font-size:1rem;line-height:1.2}.reference-note{color:#617386;font-size:.78rem;font-weight:700;margin:-8px 0 18px}.migration-note{background:#e8f7ee;border:1px solid #bfe6cb;border-radius:8px;color:#236a40;font-size:.82rem;font-weight:800;margin:-6px 0 18px;padding:10px 12px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.metric,.panel{background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 8px 22px #1f30440d}.metric{display:grid;gap:10px;min-height:108px;padding:14px}.metric span{color:#617386;font-size:.82rem;font-weight:800}.metric strong{color:#142235;font-size:1.28rem;line-height:1.1;word-break:break-word}.metric.good{border-left:5px solid #3fa56a}.metric.bad{border-left:5px solid #d84a4a}.metric.warn{border-left:5px solid #d6a21d}.metric.income{border-left:5px solid #2878c7}.metric.neutral{border-left:5px solid #8c9aaa}.bookings-layout{display:grid;gap:14px}.panel{padding:14px}.form-panel{align-self:start}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.span-2{grid-column:1 / -1}.form-actions,.actions,.table-actions{display:flex;gap:8px}.form-actions{margin-top:12px}.list-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.list-header p{color:#617386;font-size:.82rem;font-weight:800;margin:4px 0 0}.actions{flex-wrap:wrap;justify-content:flex-end}.search{max-width:220px}.filter-select{max-width:230px}.table-wrap{overflow:visible;width:100%}.booking-cards{display:none}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{border-bottom:1px solid #e4ebf2;font-size:.78rem;padding:8px;text-align:left;vertical-align:top;white-space:normal;word-break:break-word}th{background:#f8fafc;color:#506479;font-weight:900;position:sticky;top:0}tr:hover td{background:#fbfdff}.booking-table th:nth-child(1),.booking-table td:nth-child(1){width:28%}.booking-table th:nth-child(2),.booking-table td:nth-child(2){width:9%}.booking-table th:nth-child(3),.booking-table td:nth-child(3),.booking-table th:nth-child(4),.booking-table td:nth-child(4){width:10%}.booking-table th:nth-child(5),.booking-table td:nth-child(5),.booking-table th:nth-child(6),.booking-table td:nth-child(6){width:10%}.booking-table th:nth-child(7),.booking-table td:nth-child(7){width:11%}.booking-table th:nth-child(8),.booking-table td:nth-child(8){width:12%}.description-cell{display:grid;gap:3px}.description-cell span,.description-cell small,.paid-date{color:#617386;display:block;font-size:.72rem;font-weight:700}.description-cell small{font-weight:600}.income{color:#2878c7;font-weight:800}.expense{color:#b93636;font-weight:800}.row-danger td,.status-überfällig td{background:#fff5f5}.income-row td{background:#f5faff}.badge{border-radius:999px;display:inline-block;font-size:.74rem;font-weight:900;padding:4px 8px}.badge.bezahlt{background:#dff4e6;color:#236a40}.badge.erwartet,.badge.offen{background:#e5f1ff;color:#1f67aa}.badge.teilbezahlt{background:#fff1cc;color:#8a6300}.badge.überfällig{background:#ffe1e1;color:#a12727}.badge.verschoben,.badge.storniert{background:#edf1f5;color:#5b6875}.booking-card{background:#fff;border:1px solid #dbe4ee;border-left:5px solid #8c9aaa;border-radius:8px;display:grid;gap:10px;padding:12px}.booking-card.income-row,.booking-card.status-erwartet{border-left-color:#2878c7}.booking-card.status-überfällig{border-left-color:#d84a4a}.booking-card-top,.booking-card-footer,.booking-card-actions{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.booking-card-top div{display:grid;gap:3px;min-width:0}.booking-card-top strong:first-child{color:#142235;line-height:1.2}.booking-card-top span,.booking-card-meta,.booking-card-footer,.booking-card p{color:#617386;font-size:.76rem;font-weight:750}.booking-card-meta{display:flex;flex-wrap:wrap;gap:6px}.booking-card-meta span{background:#f4f7fb;border-radius:999px;padding:4px 8px}.booking-card p{margin:0}.forecast-panel{margin-top:14px}.forecast-header{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.forecast-legend{display:flex;gap:8px;color:#617386;font-size:.78rem;font-weight:800}.legend-positive:before,.legend-negative:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.legend-positive:before{background:#2878c7}.legend-negative:before{background:#d84a4a}.forecast-chart{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px}.forecast-axis{color:#617386;display:grid;font-size:.72rem;font-weight:800;height:145px;padding-top:1px}.forecast-axis span:nth-child(1){align-self:start}.forecast-axis span:nth-child(2){align-self:center}.forecast-axis span:nth-child(3){align-self:end}.forecast-bars{align-items:start;display:grid;gap:5px}.forecast-day{align-items:stretch;display:grid;gap:5px;min-width:0}.bar-area{background:#eef3f8;border-radius:5px;height:145px;overflow:hidden;position:relative}.forecast-bar{left:0;position:absolute;display:block;width:100%}.forecast-bar.positive{background:#2878c7;border-radius:5px 5px 0 0;bottom:50%}.forecast-bar.negative{background:#d84a4a;border-radius:0 0 5px 5px;top:50%}.zero-line{background:#96a6b8;height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.day-label{color:#617386;font-size:.68rem;font-weight:800;text-align:center}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookings-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-bars{gap:3px}}@media(max-width:720px){.auth-page{align-items:flex-start;padding:96px 14px 24px}.auth-card{max-width:440px;padding:20px;width:min(342px,calc(100vw - 48px))}.auth-switch{grid-template-columns:1fr}.app-shell{width:min(100% - 20px,1500px);padding-top:12px}.topbar{align-items:flex-start;flex-direction:column}.topbar-controls{justify-content:stretch;width:100%}.topbar-controls label{width:100%}.balances,.metric-grid,.form-grid{grid-template-columns:1fr}.table-wrap{display:none}.booking-cards{display:grid;gap:10px}.bar-area{height:110px}.forecast-chart{grid-template-columns:64px minmax(0,1fr)}.forecast-axis{font-size:.65rem;height:110px}.list-header{align-items:stretch;flex-direction:column}.actions,.form-actions,.table-actions,.booking-card-actions{flex-direction:column}.search,.filter-select{max-width:none}}
