:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#fff;--color-surface:#f9fafb;--color-fg:#111827;--color-muted:#6b7280;--color-border:#e5e7eb;--color-accent:#2563eb;--color-danger:#b91c1c}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0b0f19;--color-surface:#111827;--color-fg:#f3f4f6;--color-muted:#9ca3af;--color-border:#1f2937;--color-accent:#3b82f6;--color-danger:#f87171}}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--color-accent)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.app-nav{flex-wrap:wrap;gap:1rem;display:flex}.app-nav a{color:var(--color-fg);font-size:.9375rem;text-decoration:none}.app-nav a:hover{text-decoration:underline}.app-main{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:1.5rem 1rem}.empty-state{border:1px dashed var(--color-border);text-align:center;color:var(--color-muted);border-radius:.5rem;padding:2rem 1rem}.loading-state{text-align:center;color:var(--color-muted);padding:2rem 1rem}.error-state{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:.5rem;padding:1rem}.error-state button{cursor:pointer;margin-top:.5rem;padding:.4rem .9rem;font-size:.9375rem}.login-page{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.login-form{flex-direction:column;gap:.5rem;width:100%;max-width:20rem;display:flex}.login-form label{margin-top:.5rem;font-size:.875rem}.login-form input,.login-form button{padding:.5rem;font-size:1rem}.login-form button{cursor:pointer;margin-top:1rem}.login-form button:disabled{cursor:not-allowed;opacity:.7}.login-error{color:var(--color-danger);margin:0;font-size:.875rem}.pause-control{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pause-control button{cursor:pointer;padding:.5rem 1rem;font-size:.9375rem}.pause-control button:disabled{cursor:not-allowed;opacity:.7}.pause-error{color:var(--color-danger);margin:0;font-size:.875rem}.task-create-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.task-create-form input[type=text]{flex:1;min-width:12rem}.task-create-form input,.task-create-form select,.task-create-form button{padding:.5rem;font-size:.9375rem}.task-exercise-toggle{align-items:center;gap:.4rem;width:100%;font-size:.875rem;display:flex}.task-exercise-fields{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.task-exercise-fields label{color:var(--color-muted);flex-direction:column;gap:.2rem;font-size:.8125rem;display:flex}.task-exercise-fields input{padding:.4rem;font-size:.875rem}.task-exercise-badge{color:var(--color-muted);margin:.25rem 0 0;font-size:.8125rem}.exercise-result{margin-top:.5rem}.exercise-result-status{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.exercise-result-matched{color:#16a34a}.task-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.task-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;padding:.75rem 1rem}.task-card-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.task-status{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);font-size:.75rem}.task-status-approved{color:#16a34a}.task-status-rejected{color:var(--color-danger)}.task-card-actions{gap:.5rem;margin-top:.5rem;display:flex}.task-card button{cursor:pointer;padding:.4rem .8rem;font-size:.875rem}.task-card button:disabled{cursor:not-allowed;opacity:.7}.task-notes-toggle{color:var(--color-accent);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;text-decoration:underline}.task-notes{margin-top:.5rem}.task-notes ul{flex-direction:column;gap:.25rem;margin:0 0 .5rem;padding:0;font-size:.875rem;list-style:none;display:flex}.task-notes-empty{color:var(--color-muted)}.task-notes form{gap:.5rem;display:flex}.task-notes input{flex:1;padding:.4rem;font-size:.875rem}.task-notes button{cursor:pointer;padding:.4rem .8rem;font-size:.875rem}.points-summary{color:var(--color-muted);margin:0 0 1rem}.photo-proof{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.photo-proof-thumb{object-fit:cover;border:1px solid var(--color-border);border-radius:.375rem;width:4rem;height:4rem}.photo-proof-upload{border:1px solid var(--color-border);cursor:pointer;border-radius:.375rem;padding:.4rem .8rem;font-size:.875rem}.consent-manager{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.consent-manager h2{margin-top:0}.consent-scope-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.consent-scope-row{align-items:center;gap:.75rem;display:flex}.consent-scope-name{text-transform:capitalize;min-width:6rem}.consent-status{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);font-size:.75rem}.consent-status-granted{color:#16a34a}.consent-scope-row button{cursor:pointer;margin-left:auto;padding:.4rem .8rem;font-size:.875rem}.consent-scope-row button:disabled{cursor:not-allowed;opacity:.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.range-filter{gap:.5rem;margin-bottom:1rem;display:flex}.range-filter a{color:var(--color-muted);border:1px solid var(--color-border);border-radius:.375rem;padding:.3rem .6rem;font-size:.875rem;text-decoration:none}.range-filter a.range-filter-active{color:var(--color-fg);border-color:var(--color-accent);font-weight:600}.stat-tile-row{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.stat-tile{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;padding:.875rem 1rem}.stat-tile-value{margin:0;font-size:1.75rem;font-weight:600}.stat-tile-label{color:var(--color-muted);margin:.125rem 0 0;font-size:.8125rem}.fitness-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.chart-figure{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;margin:0;padding:1rem}.chart-title{margin-bottom:.5rem;font-weight:600}.chart-svg{width:100%;height:auto;overflow:visible}.chart-bar{fill:var(--color-accent)}.chart-bar-active{fill:var(--color-accent);opacity:.75}.chart-bar-group{cursor:pointer}.chart-bar-group:focus{outline:none}.chart-bar-group:focus .chart-bar{stroke:var(--color-fg);stroke-width:2px}.chart-line{stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2px}.chart-dot-active{fill:var(--color-fg)}.chart-hit-target{fill:#0000;cursor:pointer}.chart-readout{min-height:1.25rem;color:var(--color-fg);margin:.5rem 0 0;font-size:.875rem}.chart-table,.workout-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.875rem}.chart-table th,.chart-table td,.workout-table th,.workout-table td{text-align:left;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;padding:.35rem .5rem}.workout-table{border:1px solid var(--color-border);background:var(--color-surface);border-spacing:0;border-radius:.5rem;padding:1rem}.workout-table caption{text-align:left;margin-bottom:.5rem}.workout-type{text-transform:capitalize}.finance-connect{max-width:28rem}.finance-connect-form{gap:.5rem;margin-top:1rem;display:flex}.finance-connect-form input{flex:1;padding:.5rem;font-size:.9375rem}.finance-connect-form button{padding:.5rem 1rem;font-size:.9375rem}.finance-connection-status{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.875rem;display:flex}.finance-status{text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.finance-status-active{color:#16a34a}.finance-status-error{color:var(--color-danger)}.finance-last-synced,.finance-last-error{color:var(--color-muted)}.finance-account-list{flex-direction:column;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.finance-account-list li{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem .9rem;display:flex}.finance-balance{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.finance-filters{gap:.5rem;margin-bottom:1rem;display:flex}.finance-filters select{padding:.4rem;font-size:.875rem}.finance-transaction-table{border-collapse:collapse;width:100%;font-size:.875rem}.finance-transaction-table th,.finance-transaction-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.4rem .6rem}.finance-transaction-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.finance-amount-negative{color:var(--color-danger)}.finance-category{background:var(--color-border);color:var(--color-fg);white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.finance-category-concerning{background:color-mix(in srgb, var(--color-danger) 20%, transparent);color:var(--color-danger)}.spending-rules{margin-bottom:1.5rem}.spending-rules-list{flex-direction:column;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.spending-rules-list li{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.spending-rule-keyword{min-width:8rem;font-weight:600}.spending-rule-category{color:var(--color-muted)}.spending-rules-list button{padding:.3rem .6rem;font-size:.8125rem}.spending-rules-list button:first-of-type{margin-left:auto}.spending-rule-form{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.spending-rule-form input,.spending-rule-form select,.spending-rule-form button{padding:.4rem;font-size:.875rem}.spending-caps{margin-bottom:1.5rem}.spending-caps-list{flex-direction:column;gap:.75rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.spending-cap-header{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.spending-cap-label{text-transform:capitalize;font-weight:600}.spending-cap-over{color:var(--color-danger);font-weight:600}.spending-cap-header button{margin-left:auto;padding:.3rem .6rem;font-size:.8125rem}.spending-cap-track{background:var(--color-border);border-radius:999px;height:.375rem;margin-top:.25rem;overflow:hidden}.spending-cap-fill{background:var(--color-accent);height:100%}.spending-cap-fill-over{background:var(--color-danger)}.spending-cap-form{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.spending-cap-form input,.spending-cap-form select,.spending-cap-form button{padding:.4rem;font-size:.875rem}.transaction-import-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.transaction-import-form select,.transaction-import-form input,.transaction-import-form button{padding:.4rem;font-size:.875rem}.transaction-import-success{color:#16a34a;margin:0;font-size:.875rem}.webfiltering-connect{max-width:28rem}.webfiltering-connect-form{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.webfiltering-connect-form input,.webfiltering-connect-form button{padding:.5rem;font-size:.9375rem}.webfiltering-profile{color:var(--color-muted);margin:0 0 1rem}.webfiltering-category-list{flex-direction:column;gap:.5rem;max-width:24rem;margin:0;padding:0;list-style:none;display:flex}.webfiltering-category-list li{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem .9rem;display:flex}.webfiltering-category-name{text-transform:capitalize}.webfiltering-toggle{border-radius:999px;margin-left:auto;padding:.3rem .7rem;font-size:.8125rem}.webfiltering-toggle-active{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.girl-time{border-top:1px solid var(--color-border);max-width:24rem;margin-top:1.5rem;padding-top:1rem}.girl-time-toggle-row{margin-bottom:.5rem}.girl-time-toggle{border-radius:999px;padding:.5rem 1rem;font-size:.9375rem;font-weight:600}.girl-time-toggle-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.girl-time-caveat{color:var(--color-muted);margin:0 0 1rem;font-size:.8125rem}.allowlist-domain-list{flex-direction:column;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.allowlist-domain-list li{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.allowlist-domain-list button{margin-left:auto;padding:.3rem .6rem;font-size:.8125rem}.allowlist-domain-form{gap:.5rem;margin-top:.5rem;display:flex}.allowlist-domain-form input,.allowlist-domain-form button{padding:.4rem;font-size:.875rem}.pishock-flag-warning{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.pishock-status-line{color:var(--color-muted);margin:0 0 1rem;font-size:.875rem}.pishock-config-form{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.pishock-config-form label{color:var(--color-muted);flex-direction:column;gap:.2rem;font-size:.8125rem;display:flex}.pishock-config-form input,.pishock-config-form button{padding:.4rem;font-size:.875rem}.pishock-config-form input[type=number]{width:6rem}.pishock-trigger{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.pishock-trigger select,.pishock-trigger input,.pishock-trigger button{padding:.4rem;font-size:.875rem}.pishock-trigger input[type=number]{width:5rem}.pishock-trigger-disabled-note{width:100%;color:var(--color-muted);margin:0;font-size:.8125rem}.pishock-operations-table{border-collapse:collapse;width:100%;font-size:.875rem}.pishock-operations-table th,.pishock-operations-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.4rem .6rem}.pishock-operation-failed{color:var(--color-danger)}
