:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-alt: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #475569;--color-text-subtle: #94a3b8;--color-brand: #f97316;--color-brand-soft: #fff7ed;--color-brand-strong: #c2410c;--gradient-brand: linear-gradient(90deg, #fbbf24 0%, #f97316 50%, #ef4444 100%);--gradient-brand-hover: linear-gradient(90deg, #f59e0b 0%, #ea580c 50%, #dc2626 100%);--color-accent: var(--color-brand);--color-accent-text: #ffffff;--color-danger-bg: #fef2f2;--color-danger-text: #991b1b;--color-danger-border: #fecaca;--color-warning-bg: #fff7ed;--color-warning-text: #9a3412;--color-warning-border: #fed7aa;--color-success-bg: #f0fdf4;--color-success-text: #166534;--color-success-border: #bbf7d0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .08);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-brand-strong);text-decoration:none;font-weight:500;transition:color .15s}a:hover{color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:var(--color-text)}h1{font-size:1.875rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0 0 1em}code,pre{font-family:var(--font-mono);font-size:.875em}label{display:block;font-weight:500;margin-bottom:.4rem;color:var(--color-text)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],textarea,select{display:block;width:100%;padding:.6875rem .875rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:1rem;font-family:inherit;line-height:1.4;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #f9731626}button,.btn{display:inline-block;padding:.6875rem 1.375rem;border:none;border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--color-accent-text);font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;text-align:center;transition:filter .15s,transform .05s,box-shadow .15s;box-shadow:var(--shadow-sm)}button:hover,.btn:hover{background:var(--gradient-brand-hover);box-shadow:var(--shadow-md)}button:active,.btn:active{transform:translateY(1px)}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{display:inline-block;padding:.6875rem 1.375rem;border:none;border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--color-accent-text);font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;text-align:center;transition:filter .15s,transform .05s,box-shadow .15s;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--gradient-brand-hover);box-shadow:var(--shadow-md);text-decoration:none;color:var(--color-accent-text)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-surface-alt);border-color:var(--color-text)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.75rem}.stack>*+*{margin-top:1rem}.alert{padding:.875rem 1.125rem;border-radius:var(--radius-md);border:1px solid;font-size:.9375rem}.alert-error{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.alert-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-mono{font-family:var(--font-mono)}.text-small{font-size:.8125rem}.text-brand{color:var(--color-brand-strong)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.card--soft{background:var(--color-surface-alt);border-color:transparent}.card--amber{background:var(--color-brand-soft);border-color:#fed7aa}.card--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.card--success{background:var(--color-success-bg);border-color:var(--color-success-border)}.card--compact{padding:.875rem 1rem}.card+.card{margin-block-start:1rem}.card-grid>.card+.card{margin-block-start:0}.card-stack{display:flex;flex-direction:column;gap:1rem}.card-header{margin-block-end:1rem}.card-header:last-child{margin-block-end:0}.card-header__eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-family:var(--font-mono);margin-block-end:.375rem}.card-header__title{margin:0;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}.card-header__desc{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.875rem;line-height:1.55}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-grid-min, 280px),1fr));gap:1rem}.card-grid--tight{gap:.625rem}.info-card{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);font-size:.9375rem;line-height:1.55}.info-card--info{background:var(--color-surface-alt);border-color:var(--color-border)}.info-card--amber{background:var(--color-brand-soft);border-color:#fed7aa;color:var(--color-warning-text)}.info-card--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.info-card--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.info-card__icon{flex-shrink:0;font-size:1.125rem;line-height:1;margin-block-start:.1875rem}.info-card__body{flex:1 1 auto;min-width:0}.info-card__title{font-weight:600;font-size:.9375rem}.info-card__content{font-size:.875rem;margin-block-start:.25rem}.info-card__content p{margin:0}.info-card__content p+p{margin-block-start:.5rem}.info-card__content a{color:inherit;text-decoration:underline}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.1875rem}.metric-card__value{font-size:1.625rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.02em}.metric-card--brand .metric-card__value{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.metric-card--success .metric-card__value{color:var(--color-success-text)}.metric-card--warn .metric-card__value{color:var(--color-warning-text)}.metric-card__label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.01em}.metric-card__caption{font-size:.6875rem;color:var(--color-text-subtle)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1.25rem;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);gap:.625rem}.empty-state__icon{font-size:1.75rem;color:var(--color-text-subtle);line-height:1}.empty-state__title{margin:0;font-size:1rem;font-weight:600}.empty-state__desc{margin:0;max-width:44ch;color:var(--color-text-muted);font-size:.875rem;line-height:1.55}.empty-state .btn-primary{margin-block-start:.5rem}.card-header--inline{display:flex;align-items:baseline;gap:.625rem;margin-block-end:.625rem;flex-wrap:wrap}.card-header--inline .card-header__title{font-size:.9375rem}.card-header--inline .card-header__desc{margin:0;font-size:.8125rem}.metric-grid{--card-grid-min: 150px}.people-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.person-row{display:flex;align-items:center;gap:.875rem;padding:.75rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.person-row__avatar{flex-shrink:0;inline-size:2.25rem;block-size:2.25rem;border-radius:50%;background:var(--gradient-brand);color:#fff;font-weight:600;font-size:.9375rem;display:inline-flex;align-items:center;justify-content:center}.person-row__body{flex:1 1 auto;min-width:0}.person-row__name{font-weight:600;font-size:.9375rem}.person-row__roles{display:flex;flex-wrap:wrap;gap:.25rem;margin-block-start:.3125rem}.role-chip{display:inline-block;padding:.0625rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;font-size:.6875rem}.role-chip--invite{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(max-width:480px){.roles-grid{grid-template-columns:1fr}}.role-picker{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.role-picker__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem .75rem}.role-picker__item .checkbox{align-items:flex-start}.role-picker__help{margin-block-start:.25rem;line-height:1.5}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:480px){.row-2{grid-template-columns:1fr}}.add-person-form{display:flex;flex-direction:column;gap:.75rem}.add-person-form .card--soft{padding:.875rem 1rem}.add-person-form label{display:block;font-size:.8125rem;font-weight:500}.add-person-form label>input:not([type=checkbox]):not([type=radio]),.add-person-form label>select{margin-block-start:.375rem;width:100%}.checkbox{display:flex;align-items:flex-start;gap:.5rem;font-weight:400;margin-block:0;cursor:pointer}.checkbox input[type=checkbox],.checkbox input[type=radio]{width:1rem;height:1rem;margin:.1875rem 0 0;flex-shrink:0;accent-color:var(--color-brand);cursor:pointer}.checkbox>span{flex:1 1 auto;min-width:0;line-height:1.45}.status-pill{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--color-text-muted)}.status-pill:before{content:"";inline-size:6px;block-size:6px;border-radius:50%;background:currentColor;opacity:.85}.status-pill--not_started{color:var(--color-text-subtle)}.status-pill--in_progress{color:var(--color-brand-strong)}.status-pill--done{color:var(--color-success-text)}.status-pill--locked{color:var(--color-text-subtle);opacity:.7}
