.projects-page{--status-waiting:var(--color-accent-purple);--status-in-progress:var(--color-warning);--status-action-needed:var(--color-error);--status-completed:var(--color-success);background:var(--bg-primary);color:var(--text-primary)}.projects{gap:var(--spacing-xl);padding-block:var(--spacing-4xl);flex-direction:column;min-width:0;padding-block:0;display:flex}.projects-stats{grid-template-columns:repeat(auto-fit, minmax(calc(var(--spacing-5xl) * 2), 1fr));gap:var(--spacing-md);display:grid}.projects-stats__item{--project-accent:var(--color-primary);justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast) ease, background var(--transition-fast) ease;display:flex}.projects-stats__item:hover{border-color:var(--project-accent)}.projects-stats__item[aria-pressed=true]{border-color:var(--project-accent);box-shadow:var(--shadow-md)}.projects-stats__label{color:var(--text-secondary);font-size:var(--fs-sm)}.projects-stats__count{color:var(--project-accent);font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.projects-toolbar{justify-content:flex-start;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.projects-toolbar__search{align-items:center;gap:var(--spacing-sm);display:flex}.projects-toolbar__search-icon{width:var(--fs-lg);height:var(--fs-lg);color:var(--text-muted);pointer-events:none}.projects-toolbar__toggle{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-primary);font:inherit;cursor:pointer;transition:border-color var(--transition-fast) ease;display:inline-flex}.projects-toolbar__toggle[aria-pressed=true]{background:var(--color-primary);color:var(--text-white)}.projects-toolbar__toggle-icon{width:var(--fs-base);height:var(--fs-base)}.projects-toolbar__sort{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--fs-sm);display:inline-flex}.projects-toolbar__select{width:auto}.projects__grid{grid-template-columns:repeat(auto-fill, minmax(calc(var(--spacing-5xl) * 4), 1fr));gap:var(--spacing-lg);display:grid}.projects__empty{padding:var(--spacing-3xl);background:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-muted);text-align:center}.projects-stats__item{--project-accent:var(--color-primary)}.projects-stats__item--waiting{--project-accent:var(--status-waiting)}.projects-stats__item--in-progress{--project-accent:var(--status-in-progress)}.projects-stats__item--action-needed{--project-accent:var(--status-action-needed)}.project-card{--project-accent:var(--color-primary);gap:var(--spacing-sm);background:var(--card-bg);padding:var(--spacing-lg);border:1px solid var(--border-color);border-top:var(--spacing-xs) solid var(--project-accent);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast) ease;flex-direction:column;display:flex}.project-card:hover{box-shadow:var(--shadow-md)}.project-card__header{justify-content:space-between;align-items:center;display:flex}.project-card__id{color:var(--text-muted);font-size:var(--fs-sm)}.project-card__pin{padding:var(--spacing-xs);border-radius:var(--border-radius-md);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast) ease;background:0 0;border:0;display:flex}.project-card__pin:hover,.project-card__pin--active{color:var(--project-accent)}.project-card__pin--active .project-card__pin-icon{fill:currentColor}.project-card__pin-icon{width:var(--fs-lg);height:var(--fs-lg)}.project-card__name{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0}.project-card__phase{color:var(--text-primary);font-size:var(--fs-sm);margin:0}.project-card__status-row{margin-top:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.project-card__status{color:var(--project-accent);font-weight:var(--fw-semibold)}.project-card__percent{font-weight:var(--fw-semibold)}.project-card__progress{height:var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--border-radius-full);overflow:hidden}.project-card__progress-fill{width:var(--progress);background:var(--project-accent);border-radius:inherit;height:100%;display:block}.project-card__meta{gap:var(--spacing-xs);margin:var(--spacing-sm) 0 0;font-size:var(--fs-sm);flex-direction:column;display:flex}.project-card__meta-item{justify-content:space-between;gap:var(--spacing-md);display:flex}.project-card__meta-item dt{color:var(--text-muted)}.project-card__meta-item dd{text-align:right;margin:0}.project-card__action{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);border-radius:var(--border-radius-md);color:var(--text-primary);font:inherit;font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--transition-fast) ease;background:0 0}.project-card__action:hover{background:var(--color-primary);color:var(--text-white)}.project-card{--project-accent:var(--color-primary)}.project-card--waiting{--project-accent:var(--status-waiting)}.project-card--in-progress{--project-accent:var(--status-in-progress)}.project-card--action-needed{--project-accent:var(--status-action-needed)}.project-card--completed{--project-accent:var(--status-completed)}.project-details__progress{height:var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--border-radius-full);overflow:hidden}.project-details__progress-fill{width:var(--progress);background:var(--project-accent);border-radius:inherit;height:100%;display:block}.project-details{--project-accent:var(--color-primary);gap:var(--spacing-lg);flex-direction:column;display:flex}.project-details__grid{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.project-details__item{gap:var(--spacing-2xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--border-radius-md);flex-direction:column;display:flex}.project-details__item dt{color:var(--text-muted);font-size:var(--fs-sm)}.project-details__item dd{font-weight:var(--fw-semibold);margin:0}.project-details__status{color:var(--project-accent)}.project-details__section{gap:var(--spacing-sm);flex-direction:column;display:flex}.project-details__section-header{justify-content:space-between;align-items:center;display:flex}.project-details__section-title{font-weight:var(--fw-bold);margin:0}.project-details__list{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-details__row{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-md);font-size:var(--fs-sm);display:flex}.project-details__muted,.project-details__empty{color:var(--text-muted)}.project-details__empty{font-size:var(--fs-sm);margin:0}.project-details__badge{font-weight:var(--fw-semibold);flex-shrink:0}.project-details{--project-accent:var(--color-primary)}.project-details--waiting{--project-accent:var(--status-waiting)}.project-details--in-progress{--project-accent:var(--status-in-progress)}.project-details--action-needed{--project-accent:var(--status-action-needed)}.project-details--completed{--project-accent:var(--status-completed)}.projects-layout{align-items:start;gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}.projects-sidebar{--sidebar-width:calc(var(--spacing-5xl) * 3);--sidebar-width-collapsed:var(--spacing-4xl);--sidebar-chevron-open:180deg;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--card-bg);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-lg);flex-direction:column;display:flex}.projects-sidebar__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.projects-sidebar__title{font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:var(--spacing-2xs);text-transform:uppercase;margin:0}.projects-sidebar__toggle{padding:var(--spacing-xs);border-radius:var(--border-radius-md);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast) ease;background:0 0;border:0;display:flex}.projects-sidebar__toggle:hover{color:var(--text-primary)}.projects-sidebar__toggle-icon{width:var(--fs-lg);height:var(--fs-lg)}.projects-sidebar__list,.projects-sidebar__sublist{gap:var(--spacing-2xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.projects-sidebar__link,.projects-sidebar__sublink{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);color:var(--text-secondary);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast) ease, color var(--transition-fast) ease;background:0 0;border:0;display:flex}.projects-sidebar__link:hover:not(:disabled),.projects-sidebar__sublink:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.projects-sidebar__link--active,.projects-sidebar__sublink--active{background-color:var(--alpha-primary-10);color:var(--color-primary);font-weight:var(--fw-semibold)}.projects-sidebar__link:disabled{color:var(--text-muted);cursor:not-allowed}.projects-sidebar__link:focus-visible,.projects-sidebar__sublink:focus-visible,.projects-sidebar__toggle:focus-visible{outline:var(--border-width) solid var(--color-primary);outline-offset:var(--spacing-2xs)}.projects-sidebar__icon{width:var(--fs-lg);height:var(--fs-lg);flex-shrink:0}.projects-sidebar__label{flex:1}.projects-sidebar__chevron{width:var(--fs-base);height:var(--fs-base);transition:transform var(--transition-fast) ease;flex-shrink:0}.projects-sidebar__link[aria-expanded=true] .projects-sidebar__chevron{transform:rotate(var(--sidebar-chevron-open))}.projects-sidebar__sublist{margin-top:var(--spacing-2xs);margin-left:var(--spacing-lg);padding-left:var(--spacing-sm);border-left:var(--border-width) solid var(--border-color)}.projects-sidebar__count{padding:var(--spacing-2xs) var(--spacing-sm);background-color:var(--bg-tertiary);border-radius:var(--border-radius-full);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.projects-sidebar--collapsed .projects-sidebar__list{display:none}@media (width>=1024px){.projects-layout{grid-template-columns:auto 1fr}.projects-sidebar{top:var(--spacing-5xl);width:var(--sidebar-width);position:sticky}.projects-sidebar--collapsed{width:var(--sidebar-width-collapsed)}.projects-sidebar--collapsed .projects-sidebar__list{display:flex}.projects-sidebar--collapsed .projects-sidebar__header{justify-content:center}.projects-sidebar--collapsed .projects-sidebar__title,.projects-sidebar--collapsed .projects-sidebar__label,.projects-sidebar--collapsed .projects-sidebar__chevron,.projects-sidebar--collapsed .projects-sidebar__count,.projects-sidebar--collapsed .projects-sidebar__sublist{display:none}.projects-sidebar--collapsed .projects-sidebar__link{padding-inline:var(--spacing-sm);justify-content:center}}@media (prefers-reduced-motion:no-preference){.projects-sidebar{transition:width var(--transition-base) ease}}
