:root{--background:#080b12;--surface:#0f1420;--surface-elevated:#171d2a;--surface-soft:#121824;--border:#273040;--border-strong:#39465b;--text:#f5f7fb;--text-secondary:#a6afbe;--muted:#707b8d;--accent:#a61942;--accent-hover:#c32653;--primary:var(--accent);--primary-hover:var(--accent-hover);--card:var(--surface);--danger:#ef5c6c;--warning:#e9b44c;--success:#48b98b;--radius-sm:8px;--radius:12px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--shadow:0 18px 50px #00000047;--transition:.18s cubic-bezier(.22,1,.36,1);--sidebar-width:252px;--sidebar-collapsed:78px;--topbar-height:64px;--z-base:1;--z-sticky:5;--z-header:40;--z-drawer:60;--z-dropdown:100;--z-nav-overlay:1000;--z-modal:1100;--z-popover:1200;--z-toast:1300;--brand-primary:#811619;--brand-primary-hover:#99191d;--brand-primary-active:#6a1215;--brand-on-primary:#fff;--accent-active:#8f1539;--accent-subtle:#a619421f;--accent-on:#fff;--text-link:var(--accent-hover);--focus-ring:0 0 0 3px #a6194238;--surface-page:var(--background);--surface-primary:var(--surface);--surface-secondary:var(--surface-soft);--surface-overlay:#000000b3;--surface-hover:#ffffff0a;--surface-selected:var(--accent-subtle);--text-primary:var(--text);--text-muted:var(--muted);--text-disabled:#5b6678;--text-inverse:#0b0f17;--border-subtle:#1d2533;--border-default:var(--border);--border-focus:var(--accent-hover);--status-success:var(--success);--status-warning:var(--warning);--status-danger:var(--danger);--status-info:#4a9bd4;--font-family-ui:"Geologica", system-ui, -apple-system, sans-serif;--font-family-brand-accent:"Great Vibes", cursive;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:18px;--font-size-xl:22px;--line-height-tight:1.2;--line-height-normal:1.45;--line-height-relaxed:1.6;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--card-padding-compact:12px;--card-padding:16px;--section-gap:24px;--inline-gap:8px;--form-row-gap:12px;--table-row-height:44px;--control-height-sm:32px;--control-height-md:38px;--control-height-touch:44px;--avatar-xs:24px;--avatar-sm:32px;--avatar-md:40px;--avatar-lg:64px;--avatar-xl:80px;--radius-control:var(--radius-sm);--radius-modal:var(--radius);--radius-card:var(--radius-lg);--radius-pill:999px;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 8px 24px #00000047;--shadow-overlay:0 30px 80px #000000b3}.ui-button{justify-content:center;align-items:center;gap:var(--inline-gap);font-family:var(--font-family-ui);line-height:var(--line-height-tight);border:1px solid #0000;display:inline-flex}.ui-button-sm{min-height:var(--control-height-sm);font-size:var(--font-size-sm);padding:0 10px}.ui-button-md{min-height:var(--control-height-md);font-size:var(--font-size-md);padding:0 14px}.ui-button-touch{min-height:var(--control-height-touch);font-size:var(--font-size-md);padding:0 18px}.ui-button-primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.ui-button-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-button-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.ui-button-secondary{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-default)}.ui-button-secondary:hover:not(:disabled){border-color:var(--border-strong)}.ui-button-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.ui-button-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.ui-button-danger{background:var(--status-danger);color:#fff;border-color:var(--status-danger)}.ui-button-danger:hover:not(:disabled){filter:brightness(1.06)}.ui-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button:disabled,.ui-button.is-loading{opacity:.55;cursor:not-allowed}.ui-button.is-loading{cursor:progress}.ui-button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-button-spinner{animation-duration:1.4s}}.ui-icon-button{width:var(--control-height-md);height:var(--control-height-md);border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--text-secondary);background:0 0;place-items:center;padding:0;display:inline-grid}.ui-icon-button.ui-icon-button-sm{width:var(--control-height-sm);height:var(--control-height-sm)}.ui-icon-button.ui-icon-button-touch{width:var(--control-height-touch);height:var(--control-height-touch)}.ui-icon-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-hover)}.ui-icon-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-icon-button:disabled{opacity:.5;cursor:not-allowed}.ui-avatar{width:var(--avatar-md);height:var(--avatar-md);background:var(--accent);color:var(--accent-on);font-weight:var(--font-weight-bold);font-size:calc(var(--avatar-md) * .4);text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%;display:block}.ui-avatar-xs{width:var(--avatar-xs);height:var(--avatar-xs);font-size:calc(var(--avatar-xs) * .42)}.ui-avatar-sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:calc(var(--avatar-sm) * .42)}.ui-avatar-md{width:var(--avatar-md);height:var(--avatar-md);font-size:calc(var(--avatar-md) * .4)}.ui-avatar-lg{width:var(--avatar-lg);height:var(--avatar-lg);font-size:calc(var(--avatar-lg) * .36)}.ui-avatar-xl{width:var(--avatar-xl);height:var(--avatar-xl);font-size:calc(var(--avatar-xl) * .34)}.ui-input{font-family:var(--font-family-ui);min-height:var(--control-height-md)}.ui-input.is-invalid,.ui-field.is-invalid .ui-input{border-color:var(--status-danger)}.ui-input:focus-visible{box-shadow:var(--focus-ring)}.ui-field-required{color:var(--status-danger);margin-left:2px}.ui-field-error{color:var(--status-danger);font-size:var(--font-size-xs)}.ui-field-hint{color:var(--text-muted);font-size:var(--font-size-xs)}.ui-card-compact{padding:var(--card-padding-compact)}.ui-card-elevated{box-shadow:var(--shadow-md)}.ui-card-interactive{cursor:pointer;transition:border-color var(--transition), background var(--transition)}.ui-card-interactive:hover{border-color:var(--border-strong);background:var(--surface-hover)}.ui-card-interactive:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-card-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ui-badge-info{color:var(--status-info);background:#4a9bd426}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);margin:0;font-family:Geologica,system-ui,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);outline:none;padding:10px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--accent-hover);outline:none;box-shadow:0 0 0 3px #a6194233}button{border-radius:var(--radius-sm);cursor:pointer;background:var(--accent);color:#fff;border:0;padding:10px}button:hover{background:var(--accent-hover)}a{color:var(--text-secondary);text-decoration:none}button,a,input,select,textarea,.participant-card,.event-card,.task-card{transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition)}button:active{transform:scale(.98)}.participant-card,.event-card,.task-card,table tbody tr{content-visibility:auto;contain-intrinsic-size:auto 120px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert()}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html,body,#root{max-width:100%;overflow-x:hidden}.page,.card,section,article,form{min-width:0}.card,.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}table{border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:10px 12px}@media (width<=560px){button{min-height:40px}input,select,textarea{font-size:16px}.modal,.modal-content{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:10px!important}.row{flex-direction:column}.shell-page{overflow-wrap:anywhere}}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.pwa-install-banner{z-index:10000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(390px,100vw - 32px);box-shadow:var(--shadow);color:var(--text);gap:8px;padding:16px 44px 16px 16px;display:grid;position:fixed}.pwa-install-banner span{color:var(--text-secondary);font-size:14px;line-height:1.45}.pwa-install-close{width:34px;min-height:34px;color:var(--text-secondary);background:0 0;padding:0;font-size:24px;position:absolute;top:6px;right:6px}.pwa-install-action{justify-self:start;padding-inline:18px}@media (width>=769px){.pwa-install-banner{display:none}}
