.bottom-nav{height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background-color:var(--color-surface);border-top:1px solid var(--color-border);grid-area:bottomnav;align-items:stretch;display:flex}@media (width>=768px){.bottom-nav{display:none}}.bottom-nav__link{text-align:center;min-width:0;padding:var(--space-xs);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);transition:background-color var(--transition-fast);background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;display:flex;overflow:hidden}.bottom-nav__link--active{color:var(--color-primary);background-color:var(--color-primary-soft)}.nav-drawer{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:100%;box-shadow:var(--shadow-raised);background-color:var(--color-surface);border:none;margin:auto auto 0;padding:0}.nav-drawer::backdrop{background-color:#1f293366}.nav-drawer__list{gap:var(--space-xs);padding:var(--space-md) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.nav-drawer__link{min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;display:flex}.nav-drawer__link--active{background-color:var(--color-primary-soft);color:var(--color-primary)}.next-action-link{align-items:center;gap:var(--space-sm);color:inherit;border-radius:var(--radius-sm);text-decoration:none;display:inline-flex}.next-action-link:hover,.next-action-link:hover .next-action-link__chevron{color:var(--color-primary)}.next-action-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.next-action-link__chevron{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.global-search{position:relative}.global-search__input{min-height:44px;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background-color:var(--color-surface);color:var(--color-text);width:160px}@media (width>=768px){.global-search__input{width:240px}}.global-search__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.global-search__results{top:calc(100% + var(--space-xs));z-index:30;width:min(360px,90vw);max-height:60vh;padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);gap:var(--space-md);flex-direction:column;display:flex;position:absolute;right:0;overflow-y:auto}.global-search__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.global-search__group{gap:var(--space-xs);flex-direction:column;display:flex}.global-search__group-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase}.global-search__result{min-height:44px;font-size:var(--font-size-sm)}.global-search__result--plain{color:var(--color-text-muted);align-items:center;margin:0;display:flex}.app-shell{display:grid}.app-shell__skip-link{top:-100px;left:var(--space-md);z-index:1001;padding:var(--space-sm) var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:absolute}.app-shell__skip-link:focus{top:calc(var(--space-sm) + env(safe-area-inset-top,0px));outline:2px solid var(--color-primary);outline-offset:2px}.app-shell{grid-template-rows:calc(var(--topbar-height) + env(safe-area-inset-top,0px)) 1fr auto;grid-template-columns:1fr;grid-template-areas:"topbar""content""bottomnav";height:100%}@media (width>=768px){.app-shell{grid-template-rows:calc(var(--topbar-height) + env(safe-area-inset-top,0px)) 1fr;grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"topbar topbar""sidebar content"}}.app-shell__topbar{padding:env(safe-area-inset-top,0px) calc(var(--space-lg) + env(safe-area-inset-right,0px)) 0 calc(var(--space-lg) + env(safe-area-inset-left,0px));background-color:var(--color-surface);border-bottom:1px solid var(--color-border);grid-area:topbar;justify-content:space-between;align-items:center;display:flex}.app-shell__brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:.08em}.app-shell__session{align-items:center;gap:var(--space-md);display:flex}.app-shell__user-name{font-size:var(--font-size-sm);color:var(--color-text-muted);display:none}@media (width>=768px){.app-shell__user-name{display:inline}}.app-shell__session-link{font-size:var(--font-size-sm);white-space:nowrap}.app-shell__organization-switcher{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);font-family:inherit}.app-shell__sidebar{display:none}@media (width>=768px){.app-shell__sidebar{gap:var(--space-xs);padding:var(--space-lg) var(--space-md) var(--space-lg) calc(var(--space-md) + env(safe-area-inset-left,0px));background-color:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;grid-area:sidebar;display:flex}}.app-shell__nav-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.app-shell__nav-link:hover{background-color:var(--color-background)}.app-shell__nav-link--active{background-color:var(--color-primary-soft);color:var(--color-primary)}.app-shell__content{--content-padding:var(--space-lg);padding:var(--content-padding);padding-right:calc(var(--content-padding) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--content-padding) + env(safe-area-inset-bottom,0px));padding-left:calc(var(--content-padding) + env(safe-area-inset-left,0px));grid-area:content;overflow-y:auto}@media (width>=1024px){.app-shell__content{--content-padding:var(--space-xl)}}.app-shell__no-organization{gap:var(--space-sm);max-width:480px;padding:var(--space-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.app-shell__no-organization h2{font-size:var(--font-size-lg)}.app-shell__no-organization p{font-size:var(--font-size-sm);color:var(--color-text-muted)}.app-shell__invitation-notice{margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-warning);background-color:var(--color-warning-soft);border-radius:var(--radius-sm);gap:var(--space-sm);flex-direction:column;display:flex}.app-shell__invitation-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;margin:0;display:flex}.offline-banner{top:calc(var(--space-sm) + env(safe-area-inset-top,0px));z-index:999;max-width:calc(100vw - var(--space-xl));padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-warning);background-color:var(--color-warning-soft);border:1px solid var(--color-warning);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;position:fixed;left:50%;transform:translate(-50%)}.spinner{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.spinner__circle{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.toast-viewport{bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px) + var(--bottom-nav-height));left:calc(var(--space-lg) + env(safe-area-inset-left,0px));right:calc(var(--space-lg) + env(safe-area-inset-right,0px));align-items:center;gap:var(--space-sm);z-index:1000;pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=768px){.toast-viewport{bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));align-items:flex-end;left:auto}}.toast{align-items:center;gap:var(--space-md);width:100%;max-width:420px;padding:var(--space-sm) var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-success);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);pointer-events:auto;animation:toast-in var(--transition-base);display:flex}@media (width>=768px){.toast{width:auto}}.toast--success{border-left-color:var(--color-success)}.toast--error{border-left-color:var(--color-danger)}.toast--warning{border-left-color:var(--color-warning)}.toast__message{font-size:var(--font-size-sm);color:var(--color-text)}.toast__action{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.toast__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toast__close{padding:0 var(--space-xs);font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;line-height:1}.toast__close:hover{color:var(--color-text)}.toast__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--space-sm))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.text-field{gap:var(--space-xs);flex-direction:column;display:flex}.text-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.text-field__input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);transition:border-color var(--transition-fast)}.text-field__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.text-field__input--invalid{border-color:var(--color-danger)}.text-field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.auth-page{min-height:100%;padding:var(--space-lg);place-items:center;display:grid}.auth-page__card{gap:var(--space-md);width:100%;max-width:380px;padding:var(--space-xl);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.auth-page__brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:.08em;text-align:center}.auth-page__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center}.auth-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-sm)}.auth-page__error{font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-danger-soft);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.auth-page__notice{font-size:var(--font-size-sm);color:var(--color-warning);background-color:var(--color-warning-soft);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.auth-page__notice--success{color:var(--color-success);background-color:var(--color-success-soft)}.auth-page__link{font-size:var(--font-size-sm);text-align:center}.not-found-page{min-height:100%;padding:var(--space-lg);place-items:center;display:grid}.not-found-page__card{align-items:center;gap:var(--space-sm);max-width:420px;padding:var(--space-xl);text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.not-found-page__code{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.08em}.not-found-page__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.not-found-page__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-lg)}.card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md)}.no-permission__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}:root{--color-primary:#3564d7;--color-primary-hover:#2b53b4;--color-primary-soft:#eaf0fc;--color-success:#2e7d5b;--color-success-soft:#e7f4ee;--color-warning:#b26a00;--color-warning-soft:#fdf3e1;--color-danger:#c0392b;--color-danger-soft:#fbeae8;--color-background:#f6f7f9;--color-surface:#fff;--color-border:#e3e6ea;--color-text:#1f2933;--color-text-muted:#6b7683;--color-text-inverted:#fff;--font-family-base:-apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-base:1.5;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:6px;--radius-md:10px;--shadow-card:0 1px 2px #1f29330f;--shadow-raised:0 4px 12px #1f29331a;--transition-fast:.12s ease;--transition-base:.2s ease;--sidebar-width:240px;--topbar-height:56px;--bottom-nav-height:60px;--content-max-width:1200px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}button{font:inherit}a{color:var(--color-primary);text-decoration:none}.centered-fill{place-items:center;height:100%;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
