:root{color-scheme:light dark;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg: #f5f6fa;--color-surface: #ffffff;--color-border: #e2e4ea;--color-text: #1f2430;--color-text-muted: #6b7280;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-success: #15803d;--color-success-bg: #dcfce7;--color-warning: #b45309;--color-warning-bg: #fef3c7;--color-danger: #b91c1c;--color-danger-bg: #fee2e2;--color-info: #1d4ed8;--color-info-bg: #dbeafe;--color-neutral: #4b5563;--color-neutral-bg: #e5e7eb}@media(prefers-color-scheme:dark){:root{--color-bg: #14151a;--color-surface: #1e2028;--color-border: #33353f;--color-text: #eceef2;--color-text-muted: #9ca3af;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-success: #4ade80;--color-success-bg: #14351f;--color-warning: #fbbf24;--color-warning-bg: #3a2a0a;--color-danger: #f87171;--color-danger-bg: #3a1414;--color-info: #60a5fa;--color-info-bg: #1e3a5f;--color-neutral: #d1d5db;--color-neutral-bg: #374151}}*{box-sizing:border-box}html,body{margin:0;min-height:100vh}body{background-color:var(--color-bg);color:var(--color-text)}button,input,select{font-family:inherit}a{color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}.app{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.app-header{margin-bottom:2rem}.app-header h1{margin:0 0 .35rem;font-size:1.9rem;font-weight:700}.app-header p{margin:0;color:var(--color-text-muted)}.app-header--bar{max-width:960px;margin:0 auto;padding:2rem 1.5rem 0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.app-header__brand{display:flex;align-items:center;gap:.9rem}.app-logo{display:block;width:160px;height:160px;flex-shrink:0;border-radius:32px;object-fit:cover;border:1px solid var(--color-border);box-shadow:0 2px 8px #0000002e}.app-header--center{text-align:center}.app-logo--lg{width:184px;height:184px;border-radius:40px;margin:0 auto 1rem}.user-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.9rem;color:var(--color-text-muted)}@media(max-width:640px){.app-header--bar{padding:1.5rem 1rem 0;justify-content:center;text-align:center}.app-header__brand,.user-bar{width:100%;flex-direction:column;align-items:center}}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0000000a}.card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.card h3{margin:1.5rem 0 .75rem;font-size:.95rem;font-weight:600;color:var(--color-text-muted)}.form-row,.filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.input-with-button{display:flex;gap:.5rem}.input-with-button input{flex:1;min-width:0}.input-with-button .btn{white-space:nowrap}input,select,textarea{font-size:.95rem;padding:.5rem .65rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-family:inherit;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.checkbox-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;cursor:pointer}.checkbox-item input{padding:0;cursor:pointer}.btn{appearance:none;border:none;border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-bg)}.btn-danger{background-color:transparent;border:1px solid var(--color-danger);color:var(--color-danger)}.btn-danger:hover{background-color:var(--color-danger-bg)}.btn-success{background-color:transparent;border:1px solid var(--color-success);color:var(--color-success)}.btn-success:hover{background-color:var(--color-success-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.table-wrapper{overflow-x:auto}.entries-table{width:100%;border-collapse:collapse;font-size:.9rem}.entries-table th,.entries-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.entries-table th{color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.th-sort-btn{appearance:none;background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap}.th-sort-btn:hover{color:var(--color-text)}.entries-table tbody tr:hover{background-color:var(--color-bg)}.actions-cell{display:flex;gap:.5rem}.entries-table__toggle-value{display:inline-flex;align-items:center;gap:.4rem}.entries-table tfoot td,.entries-table__summary-cell{font-weight:700;background-color:var(--color-bg)}.entries-table__chevron{display:none;color:var(--color-text-muted);font-size:.7rem}.empty-state{color:var(--color-text-muted);font-style:italic;margin:0}.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.calendar-legend__item{display:inline-flex}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:4px;min-width:630px;overflow-x:auto}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);padding:.3rem 0}.calendar-day{min-height:74px;border:1px solid var(--color-border);border-radius:8px;padding:.35rem;display:flex;flex-direction:column;gap:.25rem}.calendar-day--empty{border-color:transparent}.calendar-day--weekend{background-color:var(--color-bg)}.calendar-day--today{border-color:var(--color-accent);border-width:2px}.calendar-day__number{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.calendar-day__badges{display:flex;flex-direction:column;gap:.2rem}.calendar-day__badge{font-size:.68rem;padding:.1rem .4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.stat-label{font-size:.75rem;color:var(--color-text-muted)}.stat-value{font-size:1.3rem;font-weight:700}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-green{color:var(--color-success);background-color:var(--color-success-bg)}.badge-orange{color:var(--color-warning);background-color:var(--color-warning-bg)}.badge-red{color:var(--color-danger);background-color:var(--color-danger-bg)}.badge-blue{color:var(--color-info);background-color:var(--color-info-bg)}.badge-gray{color:var(--color-neutral);background-color:var(--color-neutral-bg)}.month-list,.day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.day-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .8rem;border-radius:8px;background-color:var(--color-bg);border:1px solid var(--color-border);font-size:.9rem}.month-list li{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.6rem .8rem;border-radius:8px;background-color:var(--color-bg);border:1px solid var(--color-border);font-size:.9rem}.month-list li>span:first-child{justify-self:start}.month-list li>span:nth-child(2){justify-self:center;text-align:center}.month-list li>span:last-child{justify-self:end}.stall-box{padding:0;overflow:hidden}.stall-box__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;cursor:pointer}.stall-box__title{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .6rem;font-weight:600}.stall-box__chevron{color:var(--color-text-muted);font-size:.8rem}.stall-box__count{font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.stall-box__body{padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--color-border)}.stall-horse{border:1px solid var(--color-border);border-radius:10px;padding:1rem;background-color:var(--color-bg)}.stall-horse__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.stall-horse__name{font-weight:600}.stall-horse__owner{font-size:.85rem;color:var(--color-text-muted)}.stall-comment-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.stall-comment{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .75rem;font-size:.9rem}.stall-comment__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}@media(max-width:640px){.app{padding:1.5rem 1rem 3rem}.form-row,.filter-row{flex-direction:column;align-items:stretch}.day-list li{flex-wrap:wrap}.month-list li{grid-template-columns:1fr;justify-items:start}.month-list li>span:nth-child(2),.month-list li>span:last-child{justify-self:start;text-align:left}.app-header h1{font-size:1.5rem}.entries-table thead{display:none}.entries-table,.entries-table tbody,.entries-table tr,.entries-table td{display:block;width:100%}.entries-table tr{margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.entries-table tr:last-child{margin-bottom:0}.entries-table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;white-space:normal;border-bottom:1px solid var(--color-border)}.entries-table td:last-child{border-bottom:none}.entries-table td:before{content:attr(data-label);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0}.entries-table .actions-cell{width:100%;justify-content:flex-end}.stall-box__header{flex-direction:column;align-items:stretch;gap:.6rem}.stall-box__header .actions-cell{justify-content:flex-end}.stall-horse__header{flex-direction:column;align-items:stretch}.stall-horse__header .actions-cell{justify-content:flex-end}.entries-table--collapsible td[data-label=Start],.entries-table--collapsible td[data-label=Ende],.entries-table--collapsible td[data-label="Verdienst (€)"],.entries-table--collapsible td[data-label=Aktionen]{display:none}.entries-table--collapsible tr.is-expanded td[data-label=Start],.entries-table--collapsible tr.is-expanded td[data-label=Ende],.entries-table--collapsible tr.is-expanded td[data-label="Verdienst (€)"],.entries-table--collapsible tr.is-expanded td[data-label=Aktionen]{display:flex}.entries-table--collapsible .entries-table__toggle-cell{cursor:pointer}.entries-table--collapsible .entries-table__chevron{display:inline-block}.entries-table__summary-cell{display:block}.entries-table__summary-cell:before{content:none}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:2px}.calendar-day{min-height:44px;padding:.2rem;border-radius:6px;gap:.15rem}.calendar-weekday{font-size:.65rem;padding:.2rem 0}.calendar-day__number{font-size:.7rem}.calendar-day__badge{font-size:.55rem;padding:.05rem .25rem}}
