*,:before,:after{box-sizing:border-box}:root{--color-bg:#f5f0e8;--color-surface:#fff;--color-primary:#2d5a3d;--color-primary-dark:#234a31;--color-accent:#c17f3a;--color-text:#1f2a24;--color-muted:#5f6f66;--color-border:#ddd4c6;--color-danger:#b42318;--color-success:#1f6b3f;--radius:12px;--radius-sm:10px;--shadow:0 2px 12px #1f2a2412;--safe-bottom:env(safe-area-inset-bottom,0px);--header-h:52px;--nav-h:calc(52px + var(--safe-bottom));color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}html,body,#root{min-height:100dvh;margin:0}body{overscroll-behavior-y:none}button,input{font:inherit}.app-shell{background:var(--color-bg);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.app-header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#f5f0e8f2;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 6px;display:flex;position:sticky;top:0}.app-header__eyebrow{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.7rem}.app-header__title{color:var(--color-primary);margin:1px 0 0;font-size:1.05rem;font-weight:700}.app-main{padding:10px 12px calc(var(--nav-h) + 8px);flex:1}.bottom-nav{width:100%;max-width:480px;padding:4px 8px calc(4px + var(--safe-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);gap:2px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 16px #1f2a240f}.bottom-nav__item{border-radius:var(--radius-sm);min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:.72rem;font-weight:600;display:flex}.bottom-nav__item--active{color:var(--color-primary);background:#2d5a3d1a}.bottom-nav__icon{justify-content:center;align-items:center;line-height:1;display:flex}.bottom-nav:not(.bottom-nav--admin) .bottom-nav__icon svg{width:18px;height:18px}.app-header .app-btn--ghost{min-width:36px;min-height:36px;padding:0 8px}.app-header .app-btn--ghost svg{width:18px;height:18px}.app-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-size:.98rem;font-weight:700;transition:transform .1s,opacity .1s;display:inline-flex}.app-btn--large{min-height:44px;font-size:.93rem}.app-btn:active:not(:disabled){transform:scale(.98)}.app-btn:disabled{opacity:.55;cursor:not-allowed}.app-btn--full{width:100%}.app-btn--primary{background:var(--color-primary);color:#fff}.app-btn--secondary{color:var(--color-primary);background:#e8efe9}.app-btn--danger{color:var(--color-danger);background:#fdecea}.app-btn--ghost{min-width:44px;min-height:44px;color:var(--color-muted);background:0 0;padding:0 12px;font-size:.95rem;font-weight:600}.app-btn__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-btn__label{line-height:1.2}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0;transition:transform .1s,opacity .1s;display:inline-flex}.icon-btn:active:not(:disabled){transform:scale(.98)}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn--primary{background:var(--color-primary);color:#fff}.icon-btn--secondary{color:var(--color-primary);background:#e8efe9}.icon-btn--danger{color:var(--color-danger);background:#fdecea}.icon-btn--ghost{color:var(--color-muted);background:0 0}.icon-btn__glyph{justify-content:center;align-items:center;display:flex}.icon-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;min-height:52px;padding:0 20px;font-size:1.05rem;font-weight:700;transition:transform .1s,opacity .1s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--full{width:100%}.btn--primary{background:var(--color-primary);color:#fff}.btn--secondary{color:var(--color-primary);background:#e8efe9}.btn--ghost{min-width:44px;min-height:44px;color:var(--color-muted);background:0 0;padding:0;font-size:1.4rem}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.section{margin-bottom:12px}.section__title{color:var(--color-primary);margin:0 0 6px;font-size:.85rem;font-weight:700}.field{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.field--spaced{margin-top:8px}.field__label{color:var(--color-muted);font-size:.78rem;font-weight:600}.field__input{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text);padding:8px 10px;font-size:.93rem}.field__input:focus{border-color:var(--color-primary);outline:none}.field__input--large{min-height:42px;font-size:.95rem;font-weight:600}.activity-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.activity-chip{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:62px;color:var(--color-text);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;font-size:.93rem;font-weight:600;line-height:1.2;display:flex}.activity-chip__icon{color:var(--color-primary);opacity:.85;flex-shrink:0}.activity-chip__icon svg{width:18px;height:18px}.activity-chip--selected .activity-chip__icon{opacity:1}.activity-chip--selected{border-color:var(--color-primary);color:var(--color-primary);background:#2d5a3d1f}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:999px;min-width:56px;min-height:36px;padding:0 10px;font-size:.85rem;font-weight:600}.chip--selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.time-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hours-summary--child{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px;display:grid}.hours-card--total{grid-column:1/-1}.hours-summary--child .hours-card{box-shadow:none;min-height:0;padding:4px 8px}.hours-card{text-align:center;color:#f5f0e8;background:linear-gradient(145deg,#2d5a3d 0%,#234a31 100%);border:none;padding:4px 8px}.hours-card__label{opacity:.82;text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:.65rem;font-weight:600;line-height:1.2}.hours-card__value{margin:1px 0 0;font-size:1.15rem;font-weight:800;line-height:1.1}.hours-summary--admin{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.hours-panel{padding:12px}.hours-panel__title{color:var(--color-primary);margin:0 0 8px;font-size:.95rem;font-weight:700}.hours-panel__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hours-panel__row{border-radius:var(--radius-sm);background:#2d5a3d14;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:6px 10px;font-size:.95rem;display:flex}.hours-panel__row strong{color:var(--color-primary);font-size:1rem}.hours-panel__empty{margin:0}.hours-panel__meta{color:var(--color-muted);margin:12px 0 0;font-size:.85rem}.admin-review .section__title{margin-bottom:12px}.btn--danger{color:var(--color-danger);background:#fdecea}.blocks-admin{border-top:1px solid var(--color-border);margin-top:18px;padding-top:6px}.blocks-admin__form-card{margin-bottom:12px}.blocks-admin__group{margin-bottom:14px}.blocks-admin__group-title{color:var(--color-muted);margin:0 0 8px;font-size:.88rem;font-weight:700}.blocks-admin__list{flex-direction:column;gap:8px;display:flex}.block-card__top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.block-card__name{color:var(--color-primary);margin:0;font-size:.98rem}.block-card__description{color:var(--color-muted);margin:0 0 8px;font-size:.88rem}.block-card__actions{flex-direction:column;gap:6px;display:flex}.block-card__actions .icon-toolbar{margin-top:0}.block-card__merge{border-top:1px solid var(--color-border);margin-top:8px;padding-top:8px}.status-badge--block-active{color:var(--color-success);background:#e6f5eb}.status-badge--block-suggested{color:#9a5b00;background:#fff4e5}.status-badge--block-inactive{color:var(--color-muted);background:#f0f0f0}.activity-chip--suggest{border-style:dashed}.activity-chip--below-grid{width:100%;min-height:46px;margin-top:6px}.activity-custom-input{margin-top:6px}.activity-suggestions{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f8faf7;margin-top:6px;padding:8px 10px}.activity-suggestions__title{color:var(--color-primary);margin:0 0 6px;font-size:.78rem;font-weight:700}.activity-suggestions__hint{margin:0;font-size:.78rem}.activity-suggestions__list{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.activity-suggestions__item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:36px;color:var(--color-text);text-align:left;cursor:pointer;padding:6px 10px;font-size:.88rem;font-weight:600}.activity-suggestions__item:hover{border-color:var(--color-primary);background:#eef5f0}.activity-suggestions__force{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600;text-decoration:underline}.quick-entry{flex-direction:column;gap:0;display:flex}.quick-entry .section:first-of-type{margin-bottom:10px}.entry-list{flex-direction:column;gap:8px;display:flex}.entry-card__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.entry-card__top-actions{align-items:center;gap:6px;display:flex}.entry-card__minutes{color:var(--color-primary);font-size:1rem}.entry-card__child{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.78rem;font-weight:700}.entry-card__activity-row{color:var(--color-primary);align-items:center;gap:8px;margin-bottom:4px;display:flex}.entry-card__activity{margin:0;font-size:1rem}.entry-card__meta,.entry-card__note,.entry-card__parent-note{color:var(--color-muted);margin:0;font-size:.86rem;line-height:1.35}.entry-card__parent-note{color:var(--color-accent);margin-top:4px}.entry-card__edit{flex-direction:column;gap:2px;display:flex}.entry-card__edit-actions{margin-top:4px}.entry-card__edit-actions .icon-toolbar{justify-content:flex-end}.status-badge{text-transform:lowercase;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge--entered{color:#9a5b00;background:#fff4e5}.status-badge--checked{color:#1d4f91;background:#e8f0ff}.status-badge--checked,.status-badge--approved{color:var(--color-success);background:#e6f5eb}.review-card__child{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem;font-weight:700}.review-card__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.review-card__header-actions{align-items:center;gap:6px;display:flex}.section__title--spaced{margin-top:16px}.empty-state--compact{padding:12px 8px}.review-card__activity{margin:0 0 4px;font-size:1rem}.review-card__meta,.review-card__note{color:var(--color-muted);margin:0;font-size:.86rem;line-height:1.35}.review-card__actions{margin-top:8px}.review-card__actions .icon-toolbar{margin-top:0}.review-card__actions--edit .icon-toolbar{justify-content:flex-end}.review-card__edit{flex-direction:column;gap:2px;display:flex}.field__input[type=time],select.field__input{appearance:none}select.field__input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235f6f66' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.login-page{flex-direction:column;justify-content:center;gap:28px;max-width:480px;min-height:100dvh;margin:0 auto;padding:32px 20px;display:flex}.login-page__hero{text-align:center}.login-page__logo{color:var(--color-primary);justify-content:center;margin-bottom:8px;display:flex}.login-page__hero h1{color:var(--color-primary);margin:0;font-size:1.6rem}.login-page__hero p{color:var(--color-muted);margin:6px 0 0}.login-form{flex-direction:column;gap:4px;display:flex}.splash{min-height:100dvh;color:var(--color-primary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.splash__logo{color:var(--color-primary);display:flex}.empty-state,.center{text-align:center}.empty-state{padding:24px 10px}.muted{color:var(--color-muted)}.form-error{border-radius:var(--radius-sm);color:var(--color-danger);background:#fdecea;margin:6px 0;padding:8px 10px;font-size:.85rem;font-weight:600}.form-success{border-radius:var(--radius-sm);color:var(--color-success);text-align:center;background:#e6f5eb;margin:6px 0;padding:8px 10px;font-size:.85rem;font-weight:700}.bottom-nav--admin .bottom-nav__item{min-height:52px;padding:4px 2px;font-size:.68rem}.bottom-nav--admin .bottom-nav__icon svg{width:20px;height:20px}.auswertung-page{flex-direction:column;gap:4px;display:flex}.auswertung-summary{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.auswertung-card__name{color:var(--color-primary);margin:0 0 8px;font-size:1rem}.auswertung-card__stats{flex-direction:column;gap:6px;margin:0;display:flex}.auswertung-card__row{border-radius:var(--radius-sm);background:#2d5a3d0f;justify-content:space-between;align-items:baseline;gap:10px;min-height:32px;padding:5px 8px;display:flex}.auswertung-card__row dt{color:var(--color-muted);margin:0;font-size:.9rem;font-weight:600}.auswertung-card__row dd{color:var(--color-primary);text-align:right;margin:0;font-size:1rem;font-weight:700}.auswertung-card__row--open dd{color:var(--color-accent)}.auswertung-form-card{margin-bottom:14px}.auswertung-form-card__title{color:var(--color-primary);margin:0 0 8px;font-size:.95rem;font-weight:700}.payout-list{flex-direction:column;gap:8px;display:flex}.payout-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payout-card__child{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.85rem;font-weight:700}.payout-card__meta{color:var(--color-primary);margin:0;font-size:1.05rem;font-weight:700}.payout-card__note{color:var(--color-muted);margin:6px 0 0;font-size:.92rem}@media (width>=481px){.app-shell,.bottom-nav,.login-page{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}}
