.projects-page{padding:0 0 24px;min-width:0}
.projects-count{color:var(--muted);font-size:13px;line-height:20px;min-height:32px;padding-top:6px;margin-bottom:16px}
.projects-controls .projects-sort{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.projects-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.projects-chips .catalog-control{background:var(--selection)}
.projects-clear{border:0;background:none;color:var(--muted);text-decoration:underline;padding:8px}
.projects-list{display:flex;flex-direction:column;gap:8px}
.projects-columns,.projects-row{display:grid;grid-template-columns:minmax(210px,2fr) minmax(100px,1fr) minmax(120px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) minmax(105px,1fr) 32px;align-items:center;gap:12px;padding:0 12px}
.projects-columns{padding-bottom:4px;color:var(--muted);font-size:12px}
.projects-row{min-height:88px;background:var(--surface-work);border-radius:var(--radius-content);position:relative;transition:background-color .15s}
.projects-row:hover{background:var(--surface-content)}
.projects-row-open{grid-column:1/7;display:grid;grid-template-columns:subgrid;align-items:center;gap:12px;text-align:left;background:none;border:0;color:var(--text);padding:16px 0;min-width:0;font:inherit;font-size:13px;line-height:20px}
.projects-row-open:focus-visible{outline:2px solid var(--cyan,#00ADEE);outline-offset:4px;border-radius:8px}
.projects-identity{display:flex;align-items:center;gap:12px;min-width:0}
.projects-identity>span:last-child{min-width:0}
.projects-identity strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.projects-identity small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.projects-studio{overflow-wrap:anywhere}
.projects-thumbnail{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;background:var(--surface-raised);color:var(--muted);flex:none;font-size:15px}
.projects-client{overflow-wrap:anywhere}
.projects-row-open>span>small{display:none}
.projects-status-label{display:inline-block;padding:4px 8px;border-radius:8px;background:var(--surface-content);color:var(--text);font-size:12px;white-space:nowrap}
.projects-row:hover .projects-status-label{background:var(--surface-raised)}
/* Project identity colours are independent of lifecycle status. */
:root{--project-blue:#007FAF;--project-teal:#087F83;--project-green:#288349;--project-amber:#967000;--project-orange:#BE5B25;--project-pink:#BB3977;--project-purple:#7854B5;--project-slate:#627184;--project-planning-ink:#785500;--project-progress-ink:#006C99;--project-completed-ink:#206B40}
[data-theme=dark]{--project-planning-ink:#F4CF77;--project-progress-ink:#70D1F5;--project-completed-ink:#80DDA0}
[data-avatar-colour=blue]{--project-colour:var(--project-blue)}[data-avatar-colour=teal]{--project-colour:var(--project-teal)}[data-avatar-colour=green]{--project-colour:var(--project-green)}[data-avatar-colour=amber]{--project-colour:var(--project-amber)}[data-avatar-colour=orange]{--project-colour:var(--project-orange)}[data-avatar-colour=pink]{--project-colour:var(--project-pink)}[data-avatar-colour=purple]{--project-colour:var(--project-purple)}[data-avatar-colour=slate]{--project-colour:var(--project-slate)}
.projects-thumbnail[data-avatar-colour],.projects-colour-swatch{background:linear-gradient(135deg,color-mix(in srgb,var(--project-colour) 52%,white) 0%,color-mix(in srgb,var(--project-colour) 86%,white) 48%,var(--project-colour) 100%)}
.projects-status-label[data-status-tone=planning]{--status-ink:var(--project-planning-ink);--status-colour:var(--project-amber)}
.projects-status-label[data-status-tone=progress]{--status-ink:var(--project-progress-ink);--status-colour:var(--project-blue)}
.projects-status-label[data-status-tone=completed]{--status-ink:var(--project-completed-ink);--status-colour:var(--project-green)}
:is(.projects-row,.pi-project-title,.sl-screen,.sl-dialog) .projects-status-label[data-status-tone]:not([data-status-tone=""]){background:color-mix(in srgb,var(--status-colour) 14%,var(--surface-work));color:var(--status-ink)}
.projects-form-fields .projects-avatar-colours{gap:8px}
.projects-colour-current{display:flex;align-items:center;gap:12px;width:100%}
.projects-colour-palette:not([hidden]){display:grid;grid-template-columns:repeat(8,40px);gap:8px;width:100%;padding:5px;max-height:none;overflow:visible;flex-shrink:0}
.projects-colour-choice:has(input:checked) .projects-colour-swatch{outline:2px solid var(--text);outline-offset:2px}
.projects-colour-choice:has(input:checked) svg{background:#18212ccc;border-radius:50%;padding:2px}
@media(max-width:500px){.projects-colour-palette:not([hidden]){grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.projects-colour-palette .projects-colour-choice,.projects-colour-palette .projects-colour-swatch{width:100%;height:auto;aspect-ratio:1}}
.projects-colour-choice{position:relative;display:block;width:40px;height:40px;cursor:pointer}
.projects-colour-choice input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.projects-colour-swatch{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-control);color:#fff}
.projects-colour-swatch svg{opacity:0;width:20px;height:20px}
.projects-colour-choice:has(input:checked) svg{opacity:1}
.projects-colour-choice:hover .projects-colour-swatch{filter:brightness(1.12)}
.projects-colour-choice:has(input:focus-visible){outline:2px solid var(--text);outline-offset:3px;border-radius:var(--radius-control)}
:is([data-theme=yellow-black],[data-theme=black-yellow]) :is(.projects-row,.pi-project-title,.sl-screen,.sl-dialog) .projects-status-label[data-status-tone]{background:var(--hc-bg);color:var(--hc-fg);outline:1px solid var(--hc-fg)}
.projects-activity{color:var(--muted)}
.projects-more{width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:22px;line-height:20px}
.projects-more:hover{background:var(--surface-hover);color:var(--text)}
.projects-empty{padding:64px 16px;text-align:center;color:var(--muted)}
.projects-empty h2{font-size:20px;color:var(--text);font-weight:500}
.projects-menu{position:fixed;z-index:1500;background:var(--surface-menu);box-shadow:var(--shadow-overlay);padding:8px;border-radius:12px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
.projects-menu button{display:flex;justify-content:space-between;gap:16px;width:100%;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:20px;padding:10px 12px;text-align:left}
.projects-menu button:hover,.projects-menu button:focus-visible{background:var(--surface-hover);outline:none}
.projects-menu button[aria-checked=true]{background:var(--selection)}
.projects-menu button[data-value=delete]{color:var(--action-danger,#F04438)}
.simtu-dialog.projects-dialog{width:min(560px,calc(100vw - 24px))}
.projects-dialog .private-form{min-height:0}
.projects-form-fields{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--surface-content);border-radius:12px}
.projects-form-fields>label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}
.projects-form-fields input:not([type=radio]){width:100%;min-width:0;height:40px;border-radius:10px;padding:8px 12px;color:var(--text);font:inherit}
.projects-form-fields fieldset{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:12px}
.projects-form-fields legend{font-size:13px;color:var(--muted);margin-bottom:8px}
.projects-radio{position:relative;display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px;white-space:nowrap;cursor:pointer}
.projects-radio input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;pointer-events:none}
.projects-radio:has(input:checked) .catalog-check{border-color:var(--text);background:var(--text);color:var(--surface-work)}
.projects-radio:has(input:checked) .catalog-check svg{opacity:1}
.projects-radio:has(input:focus-visible){outline:2px solid var(--text);outline-offset:4px;border-radius:4px}
.projects-form-error{margin:0;color:var(--action-danger,#F04438);font-size:13px}
.projects-create-dialog .projects-form-fields{background:transparent;padding:0;gap:16px}
.projects-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.projects-date-fields label,.projects-client-picker>label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);min-width:0}
.projects-space-editor{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}
.projects-space-entry{display:flex;gap:8px}.projects-space-entry input{flex:1;min-width:0}
.projects-space-chips{display:flex;gap:8px;flex-wrap:wrap;max-height:120px;overflow:auto}
.projects-space-chips:empty{display:none}
.projects-space-chips .catalog-control{white-space:normal;overflow-wrap:anywhere;max-width:100%;background:var(--selection);min-height:32px}
.projects-space-chips svg{flex:none}
.projects-create-dialog small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:4px}
.projects-client-picker{position:relative}
.projects-client-options:not([hidden]){position:absolute;top:68px;left:0;right:0;z-index:2;background:var(--surface-menu);padding:8px;border-radius:12px;box-shadow:var(--shadow-overlay);max-height:180px;overflow:auto}
.projects-client-options button{display:block;text-align:left;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:14px;overflow-wrap:anywhere}
.projects-client-options button:hover,.projects-client-options button:focus-visible{background:var(--surface-hover)}
.projects-create-dialog .private-form{overflow:hidden;display:flex;flex-direction:column}
.projects-date-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;padding:8px 12px;border:0;border-radius:var(--radius-control);background:var(--field-bg);color:var(--text);font:inherit;text-align:left}
.projects-date-control:hover{background:var(--field-hover)}.projects-date-control:focus-visible{background:var(--field-focus);outline:none}
.simtu-dialog.projects-calendar{width:min(340px,calc(100vw - 24px))}
.projects-calendar-body{padding:0 12px 12px;overflow:auto}
.projects-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.projects-calendar-nav strong{font-size:14px;font-weight:500}
.projects-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.projects-calendar-days>span{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}
.projects-calendar-days button{height:36px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px}
.projects-calendar-days button:hover,.projects-calendar-days button:focus-visible{background:var(--surface-hover);outline:2px solid var(--selection);outline-offset:-2px}
.projects-calendar-days button[aria-current=date]{text-decoration:underline;text-underline-offset:5px}
.projects-calendar-days button[aria-pressed=true]{background:var(--action-blue,#00ADEE);color:var(--on-action-hover,#fff)}
.projects-calendar-days button:disabled{opacity:.3;pointer-events:none}
.projects-calendar-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}
@media(max-width:440px){.projects-date-fields{grid-template-columns:1fr}.projects-create-dialog .event-dialog-footer .cta{padding-inline:12px}}
.projects-overview-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px;background:var(--surface-content);border-radius:12px}
.projects-overview-facts small{display:block;color:var(--muted);margin-bottom:8px}
.projects-overview-facts strong{font-size:14px;font-weight:400}
.projects-spaces{display:flex;flex-wrap:wrap;gap:8px}
.projects-spaces span{padding:8px 12px;background:var(--surface-content);border-radius:10px}
.projects-dialog h3{font-size:16px;font-weight:500;margin:24px 0 12px}
.projects-dialog .cta--primary{color:var(--on-action-hover,#fff)}
@media(max-width:1200px){
 .projects-columns,.projects-row{grid-template-columns:minmax(180px,2fr) minmax(90px,1fr) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,1fr) 32px;gap:8px}
 .projects-columns>span:nth-child(6),.projects-activity{display:none}
 .projects-row-open{grid-column:1/6;gap:12px}
}
@media(max-width:1050px){
 .projects-columns{display:none}
 .projects-row{display:flex;gap:8px;align-items:flex-start;padding:0 12px}
 .projects-row-open{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .projects-identity{grid-column:1/-1}
 .projects-studio{grid-column:1/-1}.projects-activity{display:block}
 .projects-client,.projects-status,.projects-deadline{padding-left:0}
 .projects-row-open>span>small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
 .projects-more{flex:none;margin-top:16px}
 .projects-controls .projects-sort{margin-left:0}
 .projects-controls{gap:8px}
 .projects-topbar .catalog-add{margin-left:auto}
}
@media(max-width:500px){
 .projects-topbar .projects-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
 .projects-topbar .projects-controls>.catalog-control{grid-column:span 3;white-space:nowrap}
 .projects-topbar .projects-controls>.projects-sort{grid-column:span 3;min-width:0}
 .projects-topbar .projects-controls>.projects-sort .catalog-control{width:100%;white-space:normal}
 .projects-topbar .projects-controls>.catalog-add{grid-column:span 3;width:100%;margin:0}
 .projects-page{padding-inline:8px}
 .projects-topbar .projects-controls>.catalog-control{flex:1 1 0;min-width:0;padding-inline:8px}
 .projects-activity{display:block}
 .projects-topbar .projects-controls .projects-sort{flex:1 1 160px}
 .projects-topbar .library-tabs{gap:4px}
 .projects-topbar .library-tabs button{font-size:12px;padding:6px 8px}
 .projects-controls .catalog-control{padding-inline:10px;font-size:12px}
 .projects-controls .projects-sort{order:3;flex:1}
 .projects-controls .projects-sort>span{display:none}
 .projects-topbar .catalog-add{order:4;font-size:13px;padding-inline:12px}
 .projects-controls>.catalog-control{flex:1}
 .projects-overview-facts{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.projects-row{transition:none}}
