:root{--sidebar-w: 248px}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);color:var(--color-text)}.app-sidebar{position:sticky;top:0;z-index:30;height:100vh;height:100dvh;min-width:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-3);color:var(--color-text);background:color-mix(in srgb,var(--color-surface-elevated) 94%,transparent);border-right:1px solid var(--color-border);box-shadow:8px 0 30px #0f172a09;-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);overflow:hidden}.app-brand{min-height:3rem;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--color-text);text-decoration:none;border-radius:var(--radius-md)}.app-brand__mark{width:2.25rem;height:2.25rem;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 66%,var(--color-accent)));border-radius:.85rem;font-size:1.05rem;font-weight:850;box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 24%,transparent)}.app-brand__copy{min-width:0;display:grid;line-height:1.15}.app-brand__copy strong{font-size:1rem;letter-spacing:-.02em}.app-brand__copy small{margin-top:.22rem;color:var(--color-muted-text);font-size:.68rem;font-weight:600}.room-switcher{position:relative}.room-switcher__btn{width:100%;min-height:2.5rem;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.82rem;font-weight:720;text-align:left;transition:background var(--motion-base),border-color var(--motion-base)}.room-switcher__btn:not(:disabled):hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface-subtle));border-color:color-mix(in srgb,var(--color-primary) 26%,var(--color-border))}.room-switcher__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-switcher__chevron{color:var(--color-muted-text);font-size:.7rem}.room-switcher__dropdown{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:200;padding:var(--space-2);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.room-switcher__option{width:100%;min-height:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-muted-text);background:transparent;border:0;border-radius:var(--radius-sm);font-size:.82rem;font-weight:650;text-align:left}.room-switcher__option:hover,.room-switcher__option.is-current{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface-subtle))}.room-switcher__option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-switcher__option-role{color:var(--color-muted-text);font-size:.68rem;text-transform:capitalize}.sidebar-search-shortcut{min-height:2.5rem;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-muted-text);background:color-mix(in srgb,var(--color-surface-subtle) 76%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem;text-align:left;transition:color var(--motion-base),background var(--motion-base),border-color var(--motion-base)}.sidebar-search-shortcut:hover{color:var(--color-text);background:var(--color-surface-subtle);border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border))}.sidebar-search-shortcut span{flex:1}.sidebar-search-shortcut kbd{min-width:1.4rem;padding:.1rem .3rem;color:var(--color-muted-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:.35rem;font:650 .68rem var(--font-sans);text-align:center;box-shadow:var(--shadow-xs)}.app-nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-1) 0 var(--space-4);overflow:auto;scrollbar-width:thin}.app-nav__primary,.app-nav-group{display:grid;gap:var(--space-1)}.app-nav-group h2{margin:0;padding:.15rem var(--space-3) var(--space-1);color:var(--color-muted-text);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.app-nav-link{position:relative;min-height:2.7rem;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--color-muted-text);border:1px solid transparent;border-radius:var(--radius-md);font-size:.875rem;font-weight:680;text-decoration:none;transition:color var(--motion-base),background var(--motion-base),transform var(--motion-fast)}.app-nav-link:hover{color:var(--color-text);background:var(--color-surface-subtle)}.app-nav-link.active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface-subtle));font-weight:760}.app-nav-link.active:after{content:"";position:absolute;right:.45rem;width:4px;height:1.1rem;background:var(--color-primary);border-radius:var(--radius-full)}.app-nav-link--compact{min-height:2.35rem;font-size:.8rem}.app-sidebar-footer{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.sidebar-profile-btn{min-width:0;flex:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-md);text-align:left}.sidebar-profile-btn:hover,.sidebar-profile-btn.active{background:var(--color-surface-subtle)}.sidebar-profile-copy{min-width:0;display:grid}.sidebar-profile-name,.sidebar-profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-name{font-size:.8rem}.sidebar-profile-copy small{color:var(--color-muted-text);font-size:.66rem}.demo-session-notice{width:100%;padding:var(--space-3);color:var(--color-muted-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.75rem}.app-main{min-width:0;min-height:100vh;min-height:100dvh;padding:clamp(1.15rem,2.8vw,2.5rem);overflow-x:hidden}.app-main--chat{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;padding:clamp(.75rem,1.4vw,1.25rem);overflow:hidden}.mobile-app-bar,.mobile-bottom-nav,.more-sheet-backdrop{display:none}.page{width:min(100%,var(--content-default));margin:0 auto}.page-header{margin-bottom:clamp(1rem,2vw,1.5rem)}.page-header h1{margin:0;color:var(--color-text);font-size:clamp(1.7rem,3vw,2.25rem);font-weight:800;letter-spacing:-.045em;line-height:1.1}.page-subtitle{max-width:46rem;margin:var(--space-2) 0 0;color:var(--color-muted-text);font-size:.95rem;line-height:1.55}.panel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.dashboard-card,.member-row,.placeholder-panel{color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dashboard-card{min-height:10rem;padding:var(--space-5)}.dashboard-card h2{margin:0;color:var(--color-text);font-size:1rem}.dashboard-value{color:var(--color-primary);font-size:2rem;font-weight:820}.dashboard-meta{margin:0;color:var(--color-muted-text);font-size:.875rem}.placeholder-panel{min-height:12rem;display:grid;place-items:center;padding:var(--space-6);color:var(--color-muted-text);box-shadow:none;text-align:center}.placeholder-panel.compact{min-height:5rem}.page-chat{flex:1;min-height:0;display:flex}.page-chat .chat-wrapper{flex:1;min-height:0;height:auto;max-width:1240px}@media (min-width: 1280px){:root{--sidebar-w: 264px}}@media (max-width: 767px){body{--mobile-app-bottom-padding: calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom));--mobile-chat-height-offset: var(--bottom-nav-height);--mobile-nav-motion-duration: var(--motion-slow);--mobile-nav-motion-ease: var(--ease-out)}body.app-menu-open{overflow:hidden}body.mobile-nav-hidden{--mobile-app-bottom-padding: var(--space-4);--mobile-chat-height-offset: 0px}.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.app-main{padding:0 var(--space-4) var(--mobile-app-bottom-padding)}.app-main--chat{height:100vh;height:100dvh;padding:0;overflow:hidden}.mobile-app-bar{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 calc(var(--space-4) * -1) var(--space-2);padding:max(var(--space-2),env(safe-area-inset-top)) var(--space-4) var(--space-2);background:color-mix(in srgb,var(--color-background) 82%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2)}.mobile-app-brand{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text);background:transparent;border:0;font-size:.95rem;letter-spacing:-.02em}.mobile-app-brand .app-brand__mark{width:2rem;height:2rem;border-radius:.72rem}.mobile-app-bar__actions{display:flex;align-items:center;gap:var(--space-1)}.mobile-header-action,.mobile-app-bar .notif-bell-btn{width:2.65rem;height:2.65rem;display:grid;place-items:center;padding:0;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-xs)}.mobile-bottom-nav{position:fixed;left:var(--space-3);right:var(--space-3);bottom:max(var(--space-2),env(safe-area-inset-bottom));z-index:40;min-height:4rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:var(--space-1);padding:var(--space-1);color:var(--color-muted-text);background:color-mix(in srgb,var(--color-surface-elevated) 90%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);border-radius:1.35rem;box-shadow:0 16px 48px #0f172a38;-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35);transition:transform var(--motion-slow) var(--ease-out),opacity var(--motion-base)}body.mobile-nav-hidden .mobile-bottom-nav{opacity:0;pointer-events:none;transform:translateY(calc(100% + var(--space-4) + env(safe-area-inset-bottom)))}.mobile-nav-link{min-width:0;min-height:3.35rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:var(--space-1);color:var(--color-muted-text);background:transparent;border:0;border-radius:1rem;font-size:.62rem;font-weight:720;line-height:1;text-decoration:none}.mobile-nav-link.active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 11%,var(--color-surface-subtle))}.mobile-nav-more-btn{font-family:inherit}.more-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-3);padding-bottom:max(var(--space-3),env(safe-area-inset-bottom));background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:sheet-fade-in var(--motion-base) var(--ease-standard)}.more-sheet{width:min(100%,34rem);max-height:min(84vh,48rem);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:sheet-slide-in var(--motion-slow) var(--ease-out)}.more-sheet:before{content:"";align-self:center;width:2.5rem;height:.25rem;margin-top:calc(var(--space-2) * -1);background:color-mix(in srgb,var(--color-muted-text) 26%,transparent);border-radius:var(--radius-full)}.more-sheet__header{display:flex;align-items:center;gap:var(--space-3)}.more-sheet__profile{min-width:0;flex:1;display:flex;align-items:center;gap:var(--space-3);padding:0;color:var(--color-text);background:transparent;border:0;text-align:left}.more-sheet__profile>span{min-width:0;display:grid}.more-sheet__profile strong,.more-sheet__profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-sheet__profile small{color:var(--color-muted-text)}.more-sheet__close{width:2.5rem;height:2.5rem;display:grid;place-items:center;color:var(--color-muted-text);background:var(--color-surface-subtle);border:0;border-radius:var(--radius-full)}.more-sheet__search{min-height:2.8rem;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--color-muted-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left}.more-sheet__groups{min-height:0;display:grid;gap:var(--space-5);padding-right:var(--space-1);overflow:auto}.more-sheet__group{display:grid;gap:var(--space-2)}.more-sheet__group h2{margin:0;color:var(--color-muted-text);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.more-sheet__group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.more-sheet__group button{min-height:3.2rem;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);font-size:.82rem;font-weight:680;text-align:left}.more-sheet__group button:hover,.more-sheet__group button.active{color:var(--color-primary);background:var(--color-surface-subtle);border-color:var(--color-border)}.more-sheet__icon{width:2.25rem;height:2.25rem;flex:0 0 auto;display:grid;place-items:center;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface-subtle));border-radius:.75rem}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.chat-keyboard-open .app-main{padding-bottom:var(--space-4);overflow:hidden}body.chat-keyboard-open .app-main--chat{height:var(--visual-viewport-height, 100dvh)}body.chat-keyboard-open .mobile-bottom-nav{display:none}}@media (max-width: 420px){.more-sheet__group>div{grid-template-columns:1fr}}@keyframes sheet-fade-in{0%{opacity:0}}@keyframes sheet-slide-in{0%{opacity:0;transform:translateY(1.5rem) scale(.985)}}.notif-bell-wrap{position:relative}.notif-bell-btn{background:none;border:none;cursor:pointer;width:2.5rem;height:2.5rem;display:grid;place-items:center;padding:0;border-radius:var(--radius-full);position:relative;line-height:1;color:inherit}.notif-bell-btn:hover{color:var(--color-primary);background:var(--color-surface-subtle)}.notif-badge{position:absolute;top:-2px;right:-4px;background:var(--color-danger);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.notif-panel{position:fixed;bottom:1rem;left:calc(var(--sidebar-w, 248px) + 12px);width:min(360px,calc(100vw - var(--sidebar-w, 248px) - 2rem));color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}@media (max-width: 860px){.notif-panel{position:fixed;bottom:72px;left:12px;right:12px;width:auto}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-text)}.notif-mark-all{background:none;border:none;font-size:.8rem;color:var(--color-primary);cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.notif-empty{padding:1.5rem 1rem;text-align:center;color:var(--color-muted-text);font-size:.875rem}.notif-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--motion-fast)}.notif-item:hover{background:var(--color-surface-subtle)}.notif-item.unread{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface-elevated))}.notif-item.unread:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface-elevated))}.notif-item:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-focus);outline-offset:-2px}.notif-icon{width:2rem;height:2rem;display:grid;place-items:center;flex-shrink:0;margin-top:1px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface-subtle));border-radius:.7rem}.notif-body{flex:1;min-width:0}.notif-title{margin:0 0 .2rem;font-size:.875rem;color:var(--color-text);line-height:1.4}.notif-meta{font-size:.75rem;color:var(--color-muted-text)}.notif-dot{width:8px;height:8px;background:var(--color-primary);border-radius:50%;flex-shrink:0;margin-top:5px}.install-prompt{position:fixed;top:0;left:0;right:0;z-index:200;background:#101827;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 16px #0006;animation:prompt-slide-down .3s ease;padding-top:env(safe-area-inset-top)}@keyframes prompt-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-inner{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;max-width:860px;margin:0 auto}.install-prompt-icon{font-size:1.4rem;flex-shrink:0}.install-prompt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;font-size:.82rem;line-height:1.35}.install-prompt-text strong{font-size:.88rem;font-weight:700;color:#fff}.install-prompt-text span{color:#ffffffb3}.install-ios-share{display:inline-block;font-size:1rem;vertical-align:middle;color:#667eea}.install-prompt-action{flex-shrink:0;padding:.45rem 1rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .15s}.install-prompt-action:hover{filter:brightness(1.12)}.install-prompt-close{flex-shrink:0;background:none;border:none;color:#ffffff80;font-size:1rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .1s;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px}.install-prompt-close:hover{color:#fff;background:rgba(255,255,255,.08)}@media (max-width: 360px){.install-prompt-icon{display:none}}.chat-message-toast{position:fixed;top:max(.85rem,env(safe-area-inset-top));left:50%;z-index:2000;width:min(420px,calc(100vw - 2rem));display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border:1px solid rgba(225,229,233,.95);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px #141e3638;color:#1a1a2e;cursor:pointer;text-align:left;transform:translate(-50%);animation:chat-message-toast-slide 3.6s ease forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-message-toast__body{display:grid;gap:.05rem;min-width:0}.chat-message-toast__sender{font-size:.84rem;font-weight:800;color:#1a1a2e}.chat-message-toast__preview{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;color:#566174}@keyframes chat-message-toast-slide{0%{opacity:0;transform:translate(-50%,-120%)}10%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-120%)}}@media (prefers-reduced-motion: reduce){.chat-message-toast{animation:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--radius-card: var(--radius-lg, 18px);--radius-control: var(--radius-md, 14px);--radius-pill: var(--radius-full, 999px);--shadow-card: var(--shadow-md, 0 12px 32px rgba(23, 32, 51, .1));--shadow-soft: var(--shadow-sm, 0 2px 8px rgba(23, 32, 51, .08));--page-padding: 1rem;--bottom-nav-height: 72px;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);--layout-sidebar-width: 248px;--layout-right-rail-width: 340px;--layout-content-max: 1280px;--layout-page-gap: 1.25rem;--layout-card-gap: 1rem}html{min-width:0;overflow-x:hidden}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background, #edf2f7);color:var(--color-text, #172033);min-width:0;overflow-x:hidden}.app-theme-root{min-height:100vh;min-height:100dvh;color:var(--color-text);background:radial-gradient(circle at 12% -12%,color-mix(in srgb,var(--color-primary) 10%,transparent),transparent 34rem),linear-gradient(180deg,color-mix(in srgb,var(--color-background) 96%,var(--color-surface-subtle)),var(--color-background))}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.App{min-height:100vh;min-height:100dvh}.dashboard-button{border:1px solid var(--color-border);text-align:left;cursor:pointer}.dashboard-button:hover{border-color:color-mix(in srgb,var(--color-primary) 34%,var(--color-border));box-shadow:var(--shadow-card)}.dashboard-grid{align-items:stretch}.dashboard-list{display:flex;flex-direction:column;gap:.45rem;margin-top:1rem}.dashboard-list p{margin:0;color:var(--color-muted-text);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list strong{color:var(--color-text)}.photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:1rem;color:var(--color-muted-text)}.photo-strip img{width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover}:root{color-scheme:light;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius-sm: .625rem;--radius-md: .875rem;--radius-lg: 1.125rem;--radius-xl: 1.5rem;--radius-full: 999px;--shadow-xs: 0 1px 2px rgb(15 23 42 / .05);--shadow-sm: 0 2px 8px rgb(15 23 42 / .07), 0 1px 2px rgb(15 23 42 / .04);--shadow-md: 0 12px 32px rgb(15 23 42 / .1), 0 2px 8px rgb(15 23 42 / .05);--shadow-lg: 0 24px 64px rgb(15 23 42 / .16);--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--control-height-sm: 2.25rem;--control-height: 2.75rem;--control-height-lg: 3.125rem;--content-narrow: 48rem;--content-default: 68rem;--content-wide: 82rem}[data-theme=night-out],[data-theme=steel],[data-theme=obsidian]{color-scheme:dark}html{font-family:var(--font-sans);text-rendering:optimizeLegibility}body{font-family:var(--font-sans);line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.58}::selection{color:var(--color-text-inverse);background:color-mix(in srgb,var(--color-primary) 82%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-muted-text) 32%,transparent);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-muted-text) 48%,transparent);background-clip:padding-box}.ui-button,.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);border:1px solid transparent;border-radius:var(--radius-md);font-weight:700;line-height:1;transition:transform var(--motion-fast) var(--ease-standard),color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.ui-button{padding:0 var(--space-4)}.ui-button--primary{color:var(--color-text-inverse);background:var(--color-primary);box-shadow:0 8px 18px color-mix(in srgb,var(--color-primary) 22%,transparent)}.ui-button--secondary{color:var(--color-text);background:var(--color-surface-elevated);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.ui-button--ghost,.ui-icon-button{color:var(--color-muted-text);background:transparent}.ui-button--danger{color:#fff;background:var(--color-danger)}.ui-button:not(:disabled):hover,.ui-icon-button:not(:disabled):hover{transform:translateY(-1px)}.ui-button--primary:not(:disabled):hover{background:color-mix(in srgb,var(--color-primary) 88%,#000);box-shadow:0 10px 24px color-mix(in srgb,var(--color-primary) 28%,transparent)}.ui-button--secondary:not(:disabled):hover,.ui-button--ghost:not(:disabled):hover,.ui-icon-button:not(:disabled):hover{color:var(--color-text);background:var(--color-surface-subtle);border-color:color-mix(in srgb,var(--color-primary) 24%,var(--color-border))}.ui-button:not(:disabled):active,.ui-icon-button:not(:disabled):active{transform:scale(.97)}.ui-button--sm{min-height:var(--control-height-sm);padding-inline:var(--space-3);font-size:.875rem}.ui-button--lg{min-height:var(--control-height-lg);padding-inline:var(--space-5)}.ui-icon-button{width:var(--control-height);min-width:var(--control-height);padding:0;border-radius:var(--radius-full)}.ui-icon-button--sm{width:var(--control-height-sm);min-width:var(--control-height-sm);min-height:var(--control-height-sm)}.ui-surface{color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-surface--flat{box-shadow:none}.ui-surface--interactive{transition:transform var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.ui-surface--interactive:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));box-shadow:var(--shadow-md)}.ui-badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 var(--space-2);border-radius:var(--radius-full);color:var(--color-muted-text);background:var(--color-surface-subtle);font-size:.75rem;font-weight:750}.ui-state{min-height:12rem;display:grid;place-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-muted-text);text-align:center;background:var(--color-surface-elevated);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.ui-state svg{color:var(--color-primary)}.ui-spinner{width:1.25rem;height:1.25rem;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentColor;border-radius:50%;animation:ui-spin .7s linear infinite}.ui-route-loading{min-height:min(68vh,42rem);display:grid;place-items:center;color:var(--color-primary)}.ui-route-loading__inner{display:grid;justify-items:center;gap:var(--space-3);font-weight:750}.ui-route-loading__mark{width:3rem;height:3rem;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--color-primary),var(--color-accent));border-radius:1.1rem;box-shadow:0 14px 30px color-mix(in srgb,var(--color-primary) 26%,transparent)}.ui-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ui-dialog-backdrop-in var(--motion-base) var(--ease-out)}.ui-dialog{width:min(100%,34rem);max-height:min(90vh,46rem);max-height:min(90dvh,46rem);display:flex;flex-direction:column;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-dialog-in var(--motion-slow) var(--ease-out)}.ui-dialog--sm{width:min(100%,27rem)}.ui-dialog--lg{width:min(100%,46rem)}.ui-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.ui-dialog__header h2{margin:0;color:var(--color-text);font-size:clamp(1.15rem,3vw,1.35rem);line-height:1.2;letter-spacing:-.025em}.ui-dialog__header p{max-width:42rem;margin:var(--space-2) 0 0;color:var(--color-muted-text);font-size:.925rem;line-height:1.5}.ui-dialog__close{flex:0 0 auto;margin-top:calc(var(--space-1) * -1)}.ui-dialog__body{min-height:0;padding:var(--space-3) var(--space-5) var(--space-5);overflow-y:auto;overscroll-behavior:contain}.ui-dialog__footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface-subtle);border-top:1px solid var(--color-border)}.ui-confirm-dialog .ui-dialog__body{padding-top:var(--space-2)}.ui-confirm-dialog__icon{width:3rem;height:3rem;display:grid;place-items:center;color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,transparent);border-radius:var(--radius-full)}.ui-confirm-dialog__icon--danger{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.ui-dialog-form{display:grid;gap:var(--space-4)}.ui-field{display:grid;gap:var(--space-2);color:var(--color-text);font-size:.875rem;font-weight:700}.ui-field input,.ui-field textarea,.ui-field select{width:100%;min-height:var(--control-height);padding:var(--space-3);color:var(--color-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.ui-field textarea{min-height:7rem;resize:vertical}.ui-field input:focus,.ui-field textarea:focus,.ui-field select:focus{background:var(--color-surface-elevated);border-color:var(--color-primary)}@keyframes ui-dialog-backdrop-in{0%{opacity:0}}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.ui-dialog-backdrop{align-items:end;padding:0}.ui-dialog{width:100%;max-height:min(92vh,50rem);max-height:min(92dvh,50rem);border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}.ui-dialog__header{padding:var(--space-5) var(--space-4) var(--space-3)}.ui-dialog__body{padding:var(--space-3) var(--space-4) var(--space-5)}.ui-dialog__footer{padding:var(--space-3) var(--space-4)}.ui-dialog__footer .ui-button{flex:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
