.u-flex{display:flex}.u-flex-col{display:flex;flex-direction:column}.u-flex-center{display:flex;align-items:center;justify-content:center}.u-flex-between{display:flex;align-items:center;justify-content:space-between}.u-flex-align-center{display:flex;align-items:center}.u-flex-wrap{flex-wrap:wrap}.u-flex-1{flex:1}.u-grid{display:grid}.u-relative{position:relative}.u-absolute{position:absolute}.u-fixed{position:fixed}.u-inset-0{inset:0}.u-p-0{padding:0}.u-p-xs{padding:var(--spacing-xs)}.u-p-sm{padding:var(--spacing-sm)}.u-p-md{padding:var(--spacing-md)}.u-p-lg{padding:var(--spacing-lg)}.u-p-xl{padding:var(--spacing-xl)}.u-p-2xl{padding:var(--spacing-2xl)}.u-p-3xl{padding:var(--spacing-3xl)}.u-px-sm{padding-right:var(--spacing-sm);padding-left:var(--spacing-sm)}.u-px-md{padding-right:var(--spacing-md);padding-left:var(--spacing-md)}.u-px-lg{padding-right:var(--spacing-lg);padding-left:var(--spacing-lg)}.u-px-xl{padding-right:var(--spacing-xl);padding-left:var(--spacing-xl)}.u-px-2xl{padding-right:var(--spacing-2xl);padding-left:var(--spacing-2xl)}.u-py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.u-py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.u-py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.u-py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.u-m-0{margin:0}.u-m-sm{margin:var(--spacing-sm)}.u-m-md{margin:var(--spacing-md)}.u-m-lg{margin:var(--spacing-lg)}.u-m-xl{margin:var(--spacing-xl)}.u-mb-sm{margin-bottom:var(--spacing-sm)}.u-mb-md{margin-bottom:var(--spacing-md)}.u-mb-lg{margin-bottom:var(--spacing-lg)}.u-mb-xl{margin-bottom:var(--spacing-xl)}.u-mt-sm{margin-top:var(--spacing-sm)}.u-mt-md{margin-top:var(--spacing-md)}.u-mt-lg{margin-top:var(--spacing-lg)}.u-mt-xl{margin-top:var(--spacing-xl)}.u-gap-xs{gap:var(--spacing-xs)}.u-gap-sm{gap:var(--spacing-sm)}.u-gap-md{gap:var(--spacing-md)}.u-gap-lg{gap:var(--spacing-lg)}.u-gap-xl{gap:var(--spacing-xl)}.u-gap-2xl{gap:var(--spacing-2xl)}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-text-lg{font-size:var(--text-lg)}.u-text-xl{font-size:var(--text-xl)}.u-text-2xl{font-size:var(--text-2xl)}.u-text-mono{font-family:var(--font-mono)}.u-text-muted{color:var(--color-text-muted)}.u-text-accent{color:var(--color-accent)}.u-text-danger{color:var(--color-danger)}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-uppercase,.u-text-uppercase{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-block{display:block}.u-font-light{font-weight:300}.u-font-normal{font-weight:400}.u-font-medium{font-weight:500}.u-font-semibold{font-weight:600}.u-font-bold{font-weight:700}.u-font-mono{font-family:var(--font-mono)}.u-tracking-tight{letter-spacing:var(--letter-spacing-tight)}.u-tracking-normal{letter-spacing:var(--letter-spacing-normal)}.u-tracking-wide{letter-spacing:var(--letter-spacing-wide)}.u-tracking-wider{letter-spacing:var(--letter-spacing-wider)}.u-border{border:1px solid var(--color-border)}.u-border-top{border-top:1px solid var(--color-border)}.u-border-bottom{border-bottom:1px solid var(--color-border)}.u-border-left{border-left:1px solid var(--color-border)}.u-border-right{border-right:1px solid var(--color-border)}.u-border-muted{border-color:var(--color-border-muted)}.u-rounded-none{border-radius:0}.u-rounded-base{border-radius:var(--radius-base)}.u-rounded-sm{border-radius:var(--radius-sm)}.u-rounded-md{border-radius:var(--radius-md)}.u-w-full{width:100%}.u-h-full{height:100%}.u-max-w-full{max-width:100%}.u-overflow-hidden{overflow:hidden}.u-overflow-auto{overflow:auto}.u-overflow-y-auto{overflow-y:auto}.u-cursor-pointer{cursor:pointer}.u-transition{transition:var(--transition-base)}.u-transition-fast{transition:var(--transition-fast)}.u-opacity-0{opacity:0}.u-opacity-50{opacity:.5}.u-opacity-100{opacity:1}.u-z-10{z-index:10}.u-z-50{z-index:50}.u-z-100{z-index:100}.u-z-1000{z-index:1000}.u-selected{background:var(--color-accent-muted)!important;border-left:2px solid var(--color-accent)!important}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Rajdhani", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-3xs: 9px;--text-2xs: 12px;--text-xs: 11px;--text-sm-alt: 13px;--text-sm: 14px;--text-base: 15px;--text-lg: 24px;--text-xl: 32px;--text-2xl: 28px;--text-mini: 10px;--letter-spacing-tight: .05em;--letter-spacing-normal: .5px;--letter-spacing-wide: .08em;--letter-spacing-wider: .1em;--color-bg: #000103;--color-surface: #050607;--color-surface-op: #05060710;--color-panel: #0a0b0d;--color-panel-muted: #07080a;--color-panel-selected: #1a1f2c;--color-border: #1a1c2090;--color-border-muted: #2a2d33;--color-border-selected: #3a94acd8;--color-text: #e1e4e6;--color-text-muted: #798089;--color-text-inverted: #050a0d;--color-accent: #257289;--color-accent-strong: #3a94ac;--color-accent-muted: rgba(42, 138, 167, .12);--color-primary: var(--color-accent);--color-danger: #c48c57;--color-danger-bg: rgba(196, 160, 87, .1);--color-danger-border: rgba(196, 160, 87, .3);--color-status-backlog: var(--color-text-muted);--color-status-todo: var(--color-text-muted);--color-status-in-progress: var(--color-accent-strong);--color-status-in-review: #c8a24e;--color-status-done: #44aa99;--color-chip-bg: rgba(42, 138, 167, .16);--color-chip-text: #7cc6d6;--color-group-bg: rgba(42, 138, 167, .06);--color-group-label-bg: rgba(42, 138, 167, .08);--color-toggle-bg: rgba(42, 138, 167, .18);--color-toggle-bg-hover: rgba(42, 138, 167, .28);--overlay-bg: rgba(4, 7, 15, .8);--overlay-blur: blur(4px);--shadow-card: 0 1px 4px rgba(0, 0, 0, .6), 0 0 1px rgba(255, 255, 255, .04);--shadow-card-active: 0 2px 8px rgba(0, 0, 0, .7), 0 0 2px rgba(58, 148, 172, .15);--shadow-soft: none;--shadow-kbd: none;--shadow-panel: none;--radius-base: 2px;--radius-chamfer: 16px;--radius-pill: 999px;--radius-container: 2px 12px 2px 2px;--radius-sm: var(--radius-base);--radius-md: var(--radius-base);--radius-lg: var(--radius-chamfer);--radius-xl: var(--radius-chamfer);--transition-fast: .1s ease;--transition-base: .12s ease;--transition-med: .16s ease;--transition-slow: .2s ease;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--modal-max-height: 60vh;--noise-opacity: .02;--gradient-bg: radial-gradient(circle at 20% 20%, rgba(59, 130, 246, .05), transparent 45%)}*{box-sizing:border-box}body{min-height:100vh;max-height:100vh;margin:0;color:var(--color-text);background:var(--color-bg)}body:before{position:fixed;inset:0;z-index:9999;pointer-events:none;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' seed='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mix-blend-mode:hard-light;opacity:.01}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;background:var(--overlay-bg);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur);animation:fadeIn .15s ease}.empty-state{padding:var(--spacing-3xl) var(--spacing-xl);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.kbd-hint{display:flex;gap:var(--spacing-xs);align-items:center;font-size:var(--text-2xs);color:var(--color-text-muted)}.kbd-hint kbd{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1.4;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-kbd)}#app{min-height:100vh;max-height:100vh}button{font:inherit}*:focus{outline:none}*:focus-visible{outline:none}.btn{display:inline-flex;gap:var(--spacing-xs);align-items:center;justify-content:center;font-family:inherit;font-size:var(--text-2xs);font-weight:700;letter-spacing:normal;white-space:nowrap;cursor:pointer;border:1.5px solid var(--color-border);border-radius:var(--radius-base);box-shadow:var(--shadow-soft);transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--small{padding:2px 24px;font-size:var(--text-2xs)}.btn--medium{padding:5px 40px;font-size:var(--text-sm)}.btn--large{padding:4px 64px;font-size:var(--text-base)}.btn--primary{color:var(--color-text-inverted);background:var(--color-accent);border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong);box-shadow:var(--shadow-card-active)}.btn--primary:active:not(:disabled){border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.btn--secondary{color:var(--color-text-muted);background:var(--color-panel);border:1.5px dashed var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-panel);border-color:var(--color-border-muted);box-shadow:var(--shadow-card-active)}.btn--secondary:active:not(:disabled){box-shadow:var(--shadow-card)}.btn--ghost{color:var(--color-text-muted);background:transparent;border-color:transparent;box-shadow:none}.btn--ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface)}.btn--ghost:active:not(:disabled){background:var(--color-panel)}.btn--radial{color:var(--color-text-muted);background:#5492a933;border:none;border-bottom:1px solid rgba(255,255,255,.15);border-right:1px solid var(--color-border);border-radius:0 var(--radius-chamfer) 0 var(--radius-chamfer);text-align:left;justify-content:flex-start;box-shadow:none}.btn--radial:hover:not(:disabled){color:var(--color-text);background:#5492a947;border-bottom-color:#ffffff4d}.btn--radial:active:not(:disabled){color:var(--color-accent-strong);background:#5492a952;border-bottom-color:var(--color-accent-strong)}.input{width:100%;font-family:inherit;font-size:var(--text-sm);font-weight:400;color:var(--color-text);outline:none;background:var(--color-panel);border:1.5px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input::placeholder{color:var(--color-text-muted);opacity:.6}.input:hover:not(:disabled){border-color:var(--color-border-muted)}.input:focus{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.input:disabled{cursor:not-allowed;background:var(--color-surface);opacity:.5}.input--error{border-color:var(--color-danger-border)}.input--error:focus{border-color:var(--color-danger);box-shadow:0 2px 6px #c4a0571a}.input--small{padding:4px 8px;font-size:var(--text-xs)}.input--medium{padding:6px 10px;font-size:var(--text-sm)}.input--large{padding:8px 12px;font-size:var(--text-base)}.input-inline{display:flex;align-items:center;border:1.5px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-panel);transition:border-color var(--transition-base)}.input-inline:focus-within{border-color:var(--color-accent-strong)}.input-inline .input-inline-label{padding:6px 10px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);border-right:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.input-inline .input{border:none;background:transparent;border-radius:0}.input-inline .input:focus{box-shadow:none}.label{display:inline-flex;gap:var(--spacing-xs);align-items:center}.label--primary{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4;color:var(--color-text-muted);background-color:var(--color-group-label-bg);border:1px solid var(--color-border);border-radius:var(--radius-base)}.label--accent{font-weight:600;color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);background:var(--color-group-label-bg);border-radius:var(--radius-base);box-shadow:var(--shadow-kbd)}.label--small{padding:1px var(--spacing-md);font-size:var(--text-3xs)}.label--medium{padding:2px var(--spacing-lg);font-size:var(--text-3xs)}.label--large{padding:3px var(--spacing-2xl);font-size:var(--text-2xs)}.label__count{font-size:var(--text-mini);color:var(--color-text-muted)}.select-wrapper{position:relative;display:inline-block;width:100%}.select{width:100%;padding-right:32px;font-family:inherit;font-size:var(--text-sm);font-weight:400;color:var(--color-text);appearance:none;cursor:pointer;outline:none;background:var(--color-panel);border:1.5px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.select:hover:not(:disabled){border-color:var(--color-border-muted)}.select:focus{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.select:disabled{cursor:not-allowed;background:var(--color-surface);opacity:.5}.select--error{border-color:var(--color-danger-border)}.select--error:focus{border-color:var(--color-danger);box-shadow:0 2px 6px #c4a0574d}.select--small{padding:4px 8px;font-size:var(--text-xs)}.select--medium{padding:6px 10px;font-size:var(--text-sm)}.select--large{padding:8px 12px;font-size:var(--text-base)}.select-arrow{position:absolute;top:50%;right:10px;color:var(--color-text-muted);pointer-events:none;transform:translateY(-50%)}.select:disabled+.select-arrow{opacity:.5}.select option{color:var(--color-text);background:var(--color-panel)}.invite-panel{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:480px;width:100%;padding:var(--spacing-xl)}.invite-panel__section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.invite-panel__heading{margin:0;color:var(--text-primary);font-size:var(--text-md)}.invite-panel__muted{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.invite-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.invite-panel__row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.invite-panel__name{flex:1;color:var(--text-primary);font-size:var(--text-sm)}.invite-panel__role{color:var(--text-secondary);font-size:var(--text-sm)}.invite-panel__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.invite-panel__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.invite-panel__error{margin:0;color:var(--color-danger);font-size:var(--text-sm)}.project-settings{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding-top:10vh;background:var(--color-bg)}.project-settings__title{font-size:var(--text-lg);color:var(--color-text);margin:0 0 var(--spacing-lg)}.project-settings__empty{color:var(--color-text-muted);font-size:var(--text-sm)}.ps-section{width:100%;max-width:480px}.ps-heading{font-size:var(--text-md);color:var(--text-primary);margin:0 0 var(--spacing-sm)}.ps-muted{color:var(--text-secondary);font-size:var(--text-sm)}.ps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ps-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.ps-name{flex:1;color:var(--text-primary);font-size:var(--text-sm)}.ps-badge{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-pill);font-weight:600}.ps-badge--owner{background:var(--color-accent);color:var(--color-bg)}.ps-badge--director{background:var(--color-border);color:var(--text-primary)}.ps-badge--actor{background:var(--color-border);color:var(--text-secondary)}.ps-actions{display:flex;gap:var(--spacing-xs)}.ps-confirm{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ps-error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.card{overflow:hidden;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-base) var(--radius-chamfer) var(--radius-base) var(--radius-chamfer)}.card--no-padding .card-body{padding:0}.card-header{background:var(--color-surface)}.card-body{flex:1;overflow-y:auto}.card-footer{background:var(--color-surface)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);background:var(--color-bg)}.login-card{width:100%;max-width:400px}.login-oauth{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.login-oauth-btn{justify-content:center}.login-divider{position:relative;display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.login-divider:before{content:"";position:absolute;top:50%;left:0;width:100%;border-top:1px solid var(--color-border)}.login-divider span{position:relative;padding:0 var(--spacing-sm);background:var(--color-bg-surface, var(--color-bg));color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase}.login-logo{display:block;margin:0 auto var(--spacing-sm);height:32px;width:auto}.login-subtitle{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.login-footer{margin-top:var(--spacing-lg);text-align:center;font-size:var(--text-xs)}.login-footer a{color:var(--text-secondary);text-decoration:none}.login-footer a:hover{color:var(--color-accent)}.login-footer__sep{margin:0 var(--spacing-xs);color:var(--text-secondary)}.pricing-page{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl) var(--spacing-xl);min-height:100vh}.pricing-page__title{margin:0 0 var(--spacing-xl);color:var(--text-primary);font-size:var(--text-2xl)}.pricing-page__cards{display:flex;gap:var(--spacing-xl);max-width:640px;width:100%}.pricing-page__card{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pricing-page__card--accent{border-color:var(--color-accent)}.pricing-page__plan{margin:0;color:var(--text-primary);font-size:var(--text-lg)}.pricing-page__price{margin:0;display:flex;align-items:baseline;gap:var(--spacing-xs)}.pricing-page__amount{color:var(--text-primary);font-size:var(--text-2xl);font-weight:600}.pricing-page__period{color:var(--text-secondary);font-size:var(--text-sm)}.pricing-page__features{margin:0;padding:0 0 0 var(--spacing-lg);color:var(--text-primary);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.checkbox{display:inline-flex;gap:var(--spacing-sm);align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox:has(input:disabled){cursor:not-allowed;opacity:.5}.checkbox__input{position:absolute;width:0;height:0;pointer-events:none;opacity:0}.checkbox__box{position:relative;flex-shrink:0;width:16px;height:16px;background:var(--color-panel);border:1.5px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.checkbox:hover .checkbox__box:not(:has(+input:disabled)){border-color:var(--color-border-muted)}.checkbox__input:checked+.checkbox__box{background:var(--color-accent);border-color:var(--color-accent)}.checkbox__input:checked+.checkbox__box:after{position:absolute;top:1px;left:4px;width:4px;height:8px;content:"";border:solid var(--color-text-inverted);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox__input:focus+.checkbox__box{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.checkbox__label{font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.profile-settings{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}.profile-settings__form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:400px;width:100%}.profile-settings__title{margin:0;color:var(--text-primary);font-size:var(--text-xl)}.profile-settings__field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-settings__disciplines{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.profile-settings__error{margin:0;color:var(--color-danger);font-size:var(--text-sm)}.profile-settings__saved{margin:0;color:var(--color-success);font-size:var(--text-sm)}.profile-settings__hint{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.profile-settings__danger-zone{border-top:1px solid var(--color-danger);padding-top:var(--spacing-lg)}.profile-settings__delete-btn{color:var(--color-danger);border-color:var(--color-danger)}.profile-settings__blocked-list{margin:0;padding-left:var(--spacing-lg);color:var(--text-secondary);font-size:var(--text-sm)}.profile-setup{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}.profile-setup__form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:400px;width:100%}.profile-setup__title{margin:0;color:var(--text-primary);font-size:var(--text-xl)}.profile-setup__field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-setup__disciplines{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.profile-setup__error{margin:0;color:var(--color-danger);font-size:var(--text-sm)}.canvas-root{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--gradient-bg),var(--color-surface)}.canvas-grid{position:absolute;inset:0;pointer-events:none;z-index:0}.canvas-view{position:absolute;inset:0;z-index:1}.progress-widget{position:absolute;bottom:var(--spacing-sm);left:var(--spacing-sm);z-index:2;font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--color-text-muted);display:flex;gap:var(--spacing-sm);pointer-events:none}.canvas-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-family:var(--font-mono, monospace);font-size:var(--text-sm);color:var(--color-text-muted);pointer-events:none;white-space:nowrap}.context-bar{position:absolute;top:var(--spacing-md);left:var(--spacing-md);z-index:2;font-family:var(--font-display, sans-serif);font-size:var(--text-sm);color:var(--color-text);pointer-events:none;letter-spacing:.5px}.context-bar-diamond{color:var(--color-accent)}.notif-bell{position:fixed;top:var(--spacing-md, 12px);right:var(--spacing-md, 12px);z-index:100}.notif-bell__button{background:var(--color-surface, #0a0b0d);border:1px solid var(--color-border, #1a1c20);border-radius:var(--radius-sm, 4px);color:var(--color-text-secondary, #798089);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs, 6px);position:relative;transition:color .15s}.notif-bell__button:hover{color:var(--color-text-primary, #e0e0e0)}.notif-bell__badge{position:absolute;top:-4px;right:-4px;background:var(--color-accent, #2a8aa7);color:var(--color-text-primary, #e0e0e0);font-size:10px;font-weight:600;line-height:1;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:999px;padding:0 4px}.notif-panel{position:absolute;top:calc(100% + var(--spacing-xs, 6px));right:0;width:320px;max-height:400px;background:var(--color-surface, #0a0b0d);border:1px solid var(--color-border, #1a1c20);border-radius:var(--radius-sm, 4px);overflow:hidden;display:flex;flex-direction:column}.notif-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-bottom:1px solid var(--color-border, #1a1c20)}.notif-panel__title{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-primary, #e0e0e0)}.notif-panel__mark-all{background:none;border:none;color:var(--color-accent, #2a8aa7);cursor:pointer;font-size:var(--text-xs, 11px);display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:var(--radius-sm, 4px)}.notif-panel__mark-all:hover{background:#2a8aa71a}.notif-panel__empty{padding:var(--spacing-lg, 16px);text-align:center;color:var(--color-text-secondary, #798089);font-size:var(--text-sm, 13px)}.notif-panel__list{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:340px}.notif-panel__item{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);cursor:default;border-bottom:1px solid var(--color-border, #1a1c20);position:relative}.notif-panel__item--unread{background:#2a8aa70a;cursor:pointer}.notif-panel__item:last-child{border-bottom:none}.notif-panel__icon{flex-shrink:0;color:var(--color-text-secondary, #798089)}.notif-panel__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-panel__event{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #798089);text-transform:capitalize}.notif-panel__step{font-size:var(--text-sm, 13px);color:var(--color-text-primary, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-panel__time{flex-shrink:0;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #798089)}.notif-panel__dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent, #2a8aa7);flex-shrink:0}.modal-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur);animation:modal-fade-in var(--transition-fast)}.modal-content{display:flex;flex-direction:column;max-height:var(--modal-max-height);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);animation:modal-slide-up var(--transition-med)}.modal-content--small{width:400px;max-width:90vw}.modal-content--medium{width:600px;max-width:90vw}.modal-content--large{width:800px;max-width:90vw}.modal-header{flex-shrink:0}.modal-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.modal-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;font-size:var(--text-xl);line-height:1;color:var(--color-text-muted);background:transparent;border:none;transition:color var(--transition-fast)}.modal-close:hover{color:var(--color-text)}.modal-body{flex:1;overflow-y:auto}.modal-footer{flex-shrink:0;justify-content:flex-end}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pending-invites__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.pending-invites__item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.pending-invites__info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.pending-invites__project{color:var(--text-primary);font-size:var(--text-sm)}.pending-invites__role{color:var(--text-secondary);font-size:var(--text-sm)}.pending-invites__actions{display:flex;gap:var(--spacing-sm)}.toaster{position:fixed;bottom:var(--spacing-md, 12px);right:var(--spacing-md, 12px);z-index:200;display:flex;flex-direction:column;gap:var(--spacing-xs, 6px);max-width:420px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background:var(--color-surface, #0a0b0d);border:1px solid var(--color-border, #1a1c20);border-radius:var(--radius-sm, 4px);color:var(--color-text-primary, #e0e0e0);font-size:var(--text-sm, 13px);pointer-events:auto}.toast--error{border-color:var(--color-danger, #c0413a)}.toast--warn{border-color:var(--color-warning, #c09a3a)}.toast--info{border-color:var(--color-accent, #2a8aa7)}.toast__message{flex:1;min-width:0;word-break:break-word}.toast__close{flex-shrink:0;background:none;border:none;color:var(--color-text-secondary, #798089);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px)}.toast__close:hover{color:var(--color-text-primary, #e0e0e0)}.upgrade-prompt__reason{margin:0 0 var(--spacing-md);color:var(--text-secondary);font-size:var(--text-sm)}.upgrade-prompt__price{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.upgrade-prompt__amount{color:var(--text-primary);font-size:var(--text-2xl);font-weight:600}.upgrade-prompt__period{color:var(--text-secondary);font-size:var(--text-sm)}.upgrade-prompt__features{margin:0;padding:0 0 0 var(--spacing-lg);color:var(--text-primary);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-height:100vh;background:var(--color-bg)}.app-header{display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);align-items:center;justify-content:space-between;padding:var(--spacing-sm) 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-card)}.app-header-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-title-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.app-title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.app-meta{margin-top:var(--spacing-xs);font-size:var(--text-xs);color:var(--color-text-muted)}.app-main{position:relative;display:flex;flex:1;min-height:0}.graph-wrapper{display:flex;flex:1;min-height:0;overflow:hidden;background:var(--color-surface)}.schema-wrapper,.schema-graph-wrapper,.content-wrapper{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.app-feedback{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-3xl);color:var(--color-text);text-align:center;background:var(--color-bg)}.app-feedback code{color:var(--color-accent)}.app-feedback--error{color:var(--color-danger)}@media(max-width:900px){.app-main{flex-direction:column}.graph-wrapper{min-height:50vh}}.app-path{display:flex;flex-wrap:wrap;align-items:center;font-size:var(--text-sm);color:var(--color-text-muted)}.app-path:before{margin:0 var(--spacing-sm);font-weight:700;color:var(--color-border);content:"/"}.app-path-separator{margin:0 var(--spacing-xs);font-weight:700;color:var(--color-border)}.app-path-segment{font-weight:400;color:var(--color-text-muted)}.logout-button{display:flex;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.logout-button:hover{color:var(--color-accent);background:var(--color-surface);border-color:var(--color-border-muted)}.logout-button:active{transform:translateY(1px)}.graph-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.empty-state-content{color:var(--color-text-muted);text-align:center}.empty-state-content h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-xl);font-weight:600;color:var(--color-text)}.empty-state-content p{margin:0;font-size:var(--text-sm)}.panel-empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-xl)}.panel-empty-text{margin:0;font-size:var(--text-sm-alt);color:var(--color-text-muted);text-align:center}
