@import "list-controls-PVoTVl8.css";
@import "meetings-NFV_k_9.css";
@import "activity-meetings-Jc8v014.css";
@import "release-notes-HkdNAJp.css";
@import "category-avatar-wOfEiJE.css";

@font-face{font-family:Inter;src:url("../fonts/InterVariable-jznyFqg.woff2") format('woff2');font-style:normal;font-weight:100 900;font-display:optional}

@font-face{font-family:"Geist Mono";src:url("../fonts/GeistMono-Variable-8NB2s4U.woff2") format('woff2');font-style:normal;font-weight:100 900;font-display:optional}

.detail-dialog{width:min(620px,calc(100% - 24px));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);padding:16px}
.detail-dialog::backdrop{background:var(--scrim)}
.link-button{border:0;background:none;color:var(--link);padding:0;cursor:pointer;text-align:left}
.audit-changes{border-top:1px solid var(--border);padding-top:10px}

.range-calendar-grid .is-holiday{box-shadow:inset 0 -2px var(--danger)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

:root{color-scheme:light;--button-border:var(--control-border);--fs-11:11px;--sidebar:224px;--paragraph-spacing:.75em;--control-h:34px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-22:22px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--shell:#f1f2f4;--bg:#fcfcfd;--surface:#fff;--surface-2:#f4f5f7;--activity-date-bg:transparent;--text:#1c1e24;--muted:#5c6272;--text-3:#676d7c;--border:#e6e8ec;--border-strong:#d3d6dd;--control-border:#8b91a0;--hover:color-mix(in srgb,#1c1e24 4.5%,transparent);--selected:color-mix(in srgb,#1c1e24 7.5%,transparent);--accent:#4b67e8;--accent-hover:#3f59d6;--accent-soft:#eef1fd;--on-accent:#fff;--link:#3d57d6;--danger:#c0394a;--on-danger:#fff;--success:#177a58;--focus:#4b67e8;--warning:#9a650d;--status-neutral:#6b7280;--status-cyan:#1a7a9c;--status-violet:#6f55ab;--status-amber:#976412;--status-coral:#b2505b;--status-teal:#1f7767;--status-green:#2b7a53;--status-rose:#944a59;--float:#fff;--float-border:#dfe1e6;--shadow:0 1px 2px rgba(20,22,30,.04),0 8px 24px rgba(20,22,30,.08);--shadow-dialog:0 2px 4px rgba(20,22,30,.04),0 24px 56px rgba(20,22,30,.16);--scrim:rgba(17,20,28,.24);font-family:Inter,ui-sans-serif,system-ui,sans-serif}

html[data-theme=dark]{color-scheme:dark;--shell:#0e0f0d;--bg:#131412;--surface:#191b18;--surface-2:#20221f;--activity-date-bg:transparent;--text:#e7e9e4;--muted:#a3a79e;--text-3:#878b82;--border:#272926;--border-strong:#383b36;--control-border:#666c62;--hover:color-mix(in srgb,#e7e9e4 5%,transparent);--selected:color-mix(in srgb,#e7e9e4 9%,transparent);--accent:#aedb4b;--accent-hover:#b9e75c;--accent-soft:#222a15;--on-accent:#141610;--link:#cfe69a;--danger:#f0808b;--on-danger:#141610;--success:#6bd5a6;--focus:#b4e64a;--warning:#e0a94a;--status-neutral:#a2a79c;--status-cyan:#6fb9d6;--status-violet:#b5a0e0;--status-amber:#dcac57;--status-coral:#e8929b;--status-teal:#68b5a1;--status-green:#74bf94;--status-rose:#d68c99;--float:#242720;--float-border:#454a41;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.36);--shadow-dialog:0 2px 4px rgba(0,0,0,.3),0 24px 56px rgba(0,0,0,.5);--scrim:rgba(0,0,0,.68)}

@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--shell:#0e0f0d;--bg:#131412;--surface:#191b18;--surface-2:#20221f;--activity-date-bg:transparent;--text:#e7e9e4;--muted:#a3a79e;--text-3:#878b82;--border:#272926;--border-strong:#383b36;--control-border:#666c62;--hover:color-mix(in srgb,#e7e9e4 5%,transparent);--selected:color-mix(in srgb,#e7e9e4 9%,transparent);--accent:#aedb4b;--accent-hover:#b9e75c;--accent-soft:#222a15;--on-accent:#141610;--link:#cfe69a;--danger:#f0808b;--on-danger:#141610;--success:#6bd5a6;--focus:#b4e64a;--warning:#e0a94a;--status-neutral:#a2a79c;--status-cyan:#6fb9d6;--status-violet:#b5a0e0;--status-amber:#dcac57;--status-coral:#e8929b;--status-teal:#68b5a1;--status-green:#74bf94;--status-rose:#d68c99;--float:#242720;--float-border:#454a41;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.36);--shadow-dialog:0 2px 4px rgba(0,0,0,.3),0 24px 56px rgba(0,0,0,.5);--scrim:rgba(0,0,0,.68)}
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{font-size:var(--fs-14);line-height:20px;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
h1{font-size:var(--fs-22);font-weight:600;line-height:28px;letter-spacing:-.016em;margin:0 0 16px}
h2{font-size:var(--fs-16);font-weight:600;line-height:24px;letter-spacing:-.011em;margin:32px 0 8px}
kbd,.activity-time,.activity-clock,.technical{font-variant-numeric:tabular-nums}
kbd{font-family:"Geist Mono",ui-monospace,monospace}
kbd{font-size:var(--fs-11);line-height:16px}

.icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.icon-house{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E")}
.icon-bell{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E")}
.icon-check{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 7 17l-5-5'/%3E%3Cpath d='m22 10-7.5 7.5L13 16'/%3E%3C/svg%3E")}
.icon-megaphone{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 14v-3zM11.6 16.8 14 21H8l-1.8-6.2M18 7.8v8.4'/%3E%3C/svg%3E")}
.icon-search{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E")}
.icon-activity{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4'/%3E%3Cpath d='M2 6h4M2 10h4M2 14h4M2 18h4'/%3E%3Cpath d='M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3C/svg%3E")}
.icon-history{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E")}
.icon-user-cog{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='15' r='3'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M10 15H6a4 4 0 0 0-4 4v2'/%3E%3Cpath d='m21.7 16.4-.9-.3'/%3E%3Cpath d='m15.2 13.9-.9-.3'/%3E%3Cpath d='m16.6 18.7.3-.9'/%3E%3Cpath d='m19.1 12.2.3-.9'/%3E%3Cpath d='m19.6 18.7-.4-1'/%3E%3Cpath d='m16.8 12.3-.4-1'/%3E%3Cpath d='m14.3 16.6 1-.4'/%3E%3Cpath d='m20.7 13.8 1-.4'/%3E%3C/svg%3E")}
.icon-square-kanban{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M8 7v7'/%3E%3Cpath d='M12 7v4'/%3E%3Cpath d='M16 7v9'/%3E%3C/svg%3E")}
.icon-projects{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z'/%3E%3Cpath d='M8 10v4M12 10v2M16 10v6'/%3E%3C/svg%3E")}
.icon-calendar{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v3M16 2v3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M8 13h.01M12 13h.01M16 13h.01M8 17h.01M12 17h.01M16 17h.01'/%3E%3C/svg%3E")}
.icon-users{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E")}
.icon-flag{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V3a1 1 0 0 1 .4-.8C8-.5 12 6 16 3s4 0 4 0v11s0-3-4 0-8-3.5-12-1'/%3E%3C/svg%3E")}
.icon-collapse{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M9 3v18m7-6-3-3 3-3'/%3E%3C/svg%3E")}
.icon-expand{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M9 3v18m5-12 3 3-3 3'/%3E%3C/svg%3E")}
.icon-settings{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
.icon-logout{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 17 5-5-5-5M21 12H9M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E")}
.icon-theme-light{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}
.icon-theme-dark{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}
.icon-x{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E")}
.icon-warning{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 20h16a2 2 0 0 0 1.73-2'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}
.icon-trophy{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v4a5 5 0 0 1-10 0V4Z'/%3E%3Cpath d='M7 6H4v2a4 4 0 0 0 4 4M17 6h3v2a4 4 0 0 1-4 4'/%3E%3C/svg%3E")}
.icon-menu{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16M4 12h16M4 19h16'/%3E%3C/svg%3E")}
.icon-keyboard{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cpath d='M6 9h.01M10 9h.01M14 9h.01M18 9h.01M8 13h.01M12 13h.01M16 13h.01M7 16h10'/%3E%3C/svg%3E")}

html:has(>body.app-screen){height:100%;overflow:hidden}.app-screen{display:flow-root;height:100dvh;min-height:100dvh;overflow:hidden;background:var(--shell)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:20;padding:12px 8px 8px;background:transparent;display:flex;flex-direction:column;transition:width .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}
.brand{display:flex;height:32px;align-items:center;gap:8px;color:var(--accent);padding:0 8px;margin-bottom:12px;flex:0 0 auto}
.brand-icon,.brand-wordmark{display:block;background:currentColor;mask:center/contain no-repeat url("../images/evidente-logo-icon-5kvCwf3.svg")}
.brand-icon{width:22px;height:22px}
.brand-wordmark{width:96px;height:20px;mask-image:url("../images/evidente-logo-7CoUkCp.svg")}
.sidebar nav{display:grid;gap:1px}
.nav-link{width:100%;display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;line-height:20px;text-align:left;cursor:pointer}
.nav-link kbd.search-shortcut{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--text-3);font-size:11px;line-height:1}
.search-shortcut-modifier{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--fs-12);font-weight:500;line-height:1}
.search-shortcut-modifier.is-text{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px}
.nav-link:hover,.nav-link.is-active{text-decoration:none}
.nav-link:hover{background:var(--hover);color:var(--text)}
.nav-link.is-active{background:var(--selected);color:var(--text)}
.nav-link.is-active .icon{color:var(--accent)}
.nav-separator{height:1px;margin:8px;background:var(--border)}
.nav-divider{font-size:var(--fs-12);font-weight:500;color:var(--text-3);padding:16px 8px 4px}
.theme-picker{display:grid;grid-template-columns:repeat(2,26px);gap:2px;width:max-content;margin:0;padding:2px;border-radius:var(--radius);background:var(--hover)}.theme-picker button{display:grid;place-items:center;width:26px;height:24px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.theme-picker button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.theme-picker .icon{width:14px;height:14px;flex-basis:14px}.sidebar-account{display:flex;align-items:center;gap:4px;height:36px;min-height:36px;margin:0}
.sidebar-account details{position:relative;min-width:0;flex:1}
.sidebar-account summary{list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 8px;border-radius:var(--radius);font-size:var(--fs-13);font-weight:500;cursor:pointer}
.sidebar-account summary:hover,.sidebar-account details[open]>summary{background:var(--hover)}
.sidebar-account summary .avatar{width:22px;height:22px;flex-basis:22px}
.account-menu{position:absolute;z-index:30;bottom:38px;left:0;width:190px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:4px;border-radius:var(--radius-md)}
.account-menu a,.account-menu button{display:flex;width:100%;gap:8px;align-items:center;min-height:32px;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:var(--fs-13);text-align:left;cursor:pointer}
.sidebar-collapse-button .icon-expand{display:none}
.sidebar-collapsed{--sidebar:52px}
.sidebar-collapsed .sidebar-tools{padding-inline:0;align-items:center}
.sidebar-collapsed .brand-wordmark,.sidebar-collapsed .nav-label,.sidebar-collapsed .theme-picker,.sidebar-collapsed .sidebar-account details,.sidebar-collapsed .sidebar-collapse-button .icon-collapse{display:none}
.sidebar-collapsed .nav-link kbd.search-shortcut{display:none}
.sidebar-collapsed .sidebar-collapse-button .icon-expand{display:inline-block}
.sidebar-collapsed .sidebar-account{display:flex;justify-content:center}
.main-content{margin-left:var(--sidebar);padding:16px var(--main-inline-padding) 32px;min-width:0}
.app-screen .main-content{transition:margin-left .18s cubic-bezier(.2,.8,.2,1)}
.app-window{height:calc(100dvh - 16px);min-height:0;margin-top:8px;margin-right:8px;margin-bottom:8px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent;scrollbar-width:thin}.app-window{scrollbar-gutter:auto}.app-window::-webkit-scrollbar,.app-window *::-webkit-scrollbar{width:8px;height:8px}.app-window::-webkit-scrollbar-track,.app-window *::-webkit-scrollbar-track{background:transparent}.app-window::-webkit-scrollbar-thumb,.app-window *::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--muted) 38%,transparent);background-clip:padding-box}.app-window::-webkit-scrollbar-thumb:hover,.app-window *::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.mobile-bar{display:none}

.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);padding:6px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs-13);font-weight:500;line-height:20px;white-space:nowrap;cursor:pointer;text-decoration:none}
.button:hover{background:var(--surface-2);text-decoration:none}
.button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.button-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}
.button kbd{display:inline-flex;align-items:center;min-height:18px;margin:0 -4px 0 2px;padding:0 4px;border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,currentColor 12%,transparent);font-size:11px;font-weight:500;line-height:1}
.page-actions,.section-heading,.detail-header,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.page-actions form,.form-actions form{margin:0}
.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.filter-bar input,.filter-bar select{width:auto}
.filter-popover{position:relative}
.filter-popover>summary{list-style:none}
.filter-popover-panel{position:absolute;z-index:10;top:40px;left:0;width:min(330px,calc(100vw - 30px));display:grid;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.filter-popover-panel input,.filter-popover-panel select{width:100%}
.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:var(--fs-12)}
.quick-filters{display:flex;gap:4px;flex-wrap:wrap}
.quick-filters button{border:0;background:var(--surface-2);padding:4px 8px;border-radius:var(--radius);cursor:pointer}
.content-form{max-width:720px}
.content-form-absence{max-width:860px}
.content-narrow{max-width:640px}
.form-section{border-top:1px solid var(--border);padding:16px 0 8px}
.form-row{display:grid;gap:4px;margin:0 0 16px;align-content:start}
.form-row>label{font-size:var(--fs-13);font-weight:500}
.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.form-row textarea,.filter-bar input,.filter-bar select,.activity-editor{width:100%;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);padding:8px 10px}
.form-row input:not([type=checkbox]):not([type=radio]),.form-row select:not([multiple]),.filter-bar select,.combobox>input,.select-combobox-trigger{height:var(--control-h)}
.form-row input:not([type=checkbox]):not([type=radio]){padding-top:6px;padding-bottom:6px}
.form-row select:not([multiple]),.filter-bar select{padding-top:6px;padding-bottom:6px;font-size:var(--fs-14)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.form-row textarea{min-height:88px;resize:vertical}
.form-row select[multiple]{min-height:120px}
.form-help{font-size:var(--fs-13);line-height:18px;color:var(--muted)}
.form-errors{color:var(--danger);margin:0;padding-left:16px}
.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}
.form-actions{justify-content:flex-start;margin-top:16px}
.project-form{max-width:720px}.project-form-description{margin:2px 0 0}.project-form-description textarea{min-height:72px}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-collection{display:grid;gap:8px;margin-top:10px}.project-collection-items{display:grid;gap:6px}.project-collection-item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.project-collection-item:hover,.project-collection-item:focus-within{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:var(--surface-2)}.project-collection-item.is-dragging{opacity:.4}.project-collection-item.is-drop-before::before,.project-collection-item.is-drop-after::after{content:"";position:absolute;z-index:2;left:0;right:0;height:2px;border-radius:var(--radius-sm);background:var(--accent)}.project-collection-item.is-drop-before::before{top:-5px}.project-collection-item.is-drop-after::after{bottom:-5px}.project-collection-item>div:not(.project-collection-handle-wrap){display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:8px}.project-collection-item>div:not(.project-collection-handle-wrap)>.form-row{margin-bottom:0}.project-collection-item>div:not(.project-collection-handle-wrap)>.form-row>label{font-size:var(--fs-12);color:var(--muted)}.project-collection--contacts .project-collection-item>div:not(.project-collection-handle-wrap){grid-template-columns:repeat(2,minmax(0,1fr))}.project-collection-handle-wrap{position:relative}.project-collection-drag-handle,.project-collection-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.project-collection-drag-handle{height:38px;cursor:grab;touch-action:manipulation}.project-collection-drag-handle:hover,.project-collection-drag-handle:focus-visible{background:transparent;color:var(--text)}.project-collection-drag-handle:active{background:transparent;cursor:grabbing}.project-collection-remove{height:32px}.project-collection-remove:hover,.project-collection-remove:focus-visible{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.project-collection-remove:active{background:color-mix(in srgb,var(--danger) 22%,var(--surface))}.project-collection-drag-handle .icon{width:17px;height:17px}.project-collection-remove .icon{width:15px;height:15px}.project-collection-action-spacer{display:block;width:32px}.project-collection-move-menu{position:absolute;z-index:15;top:calc(100% + 4px);left:0;display:grid;width:max-content;min-width:132px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.project-collection-move-menu button{padding:8px 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--text);font-size:var(--fs-12);text-align:left;cursor:pointer}.project-collection-move-menu button:hover,.project-collection-move-menu button:focus-visible{background:var(--hover)}.project-collection-move-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.project-collection-add{justify-self:start}.project-member-selection{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:8px}.project-member-choice{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border:0;border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer}.project-member-choice:hover,.project-member-choice:focus-visible{background:var(--hover)}.project-member-choice:hover>span:last-child,.project-member-choice:focus-visible>span:last-child{text-decoration:line-through}.project-form [hidden]{display:none!important}
.alert{border:1px solid var(--border);border-left:2px solid var(--accent);background:var(--surface);padding:8px 12px;margin:0 0 16px;border-radius:var(--radius)}
.alert-danger{border-left-color:var(--danger)}
.alert-success{border-left-color:var(--success)}
.alert-warning{border-left-color:var(--warning)}
.toast-region{position:fixed;z-index:40;bottom:24px;left:50%;display:grid;width:min(380px,calc(100vw - 32px));gap:8px;transform:translateX(-50%);pointer-events:none}
.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:4px 4px 4px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-size:var(--fs-13);pointer-events:auto}
.toast-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}
.toast-close:hover{background:var(--surface-2);color:var(--text)}
.toast-close .icon{width:14px;height:14px;flex-basis:14px}

.table-scroll{overflow:auto}
.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}
.data-table th{text-align:left;font-size:var(--fs-12);color:var(--muted);font-weight:500}
.data-table th,.data-table td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}
.data-table tr:hover td{background:var(--hover)}
.is-muted{opacity:.62}
.status-label{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-13)}
.status-icon{display:inline-block;width:14px;height:14px;flex:0 0 14px;background:currentColor;-webkit-mask:var(--status-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")) center/contain no-repeat;mask:var(--status-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")) center/contain no-repeat;color:var(--status-neutral)}
.status-icon--circle-dashed,.status-icon--offer-draft,.status-icon--offer-payment-not-invoiced,.status-icon--work-not-started,.status-icon--phase-potential{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.1 2.182a10 10 0 0 1 3.8 0'/%3E%3Cpath d='M13.9 21.818a10 10 0 0 1-3.8 0'/%3E%3Cpath d='M17.609 3.721a10 10 0 0 1 2.69 2.7'/%3E%3Cpath d='M2.182 13.9a10 10 0 0 1 0-3.8'/%3E%3Cpath d='M20.279 17.609a10 10 0 0 1-2.7 2.69'/%3E%3Cpath d='M21.818 10.1a10 10 0 0 1 0 3.8'/%3E%3Cpath d='M3.721 6.391a10 10 0 0 1 2.7-2.69'/%3E%3Cpath d='M6.391 20.279a10 10 0 0 1-2.69-2.7'/%3E%3C/svg%3E")}.status-icon--circle-play,.status-icon--work-in-progress,.status-icon--phase-active-development,.status-icon--work-state-open{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")}.status-icon--circle-pause,.status-icon--offer-sent,.status-icon--offer-payment-invoiced,.status-icon--work-waiting{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='10' x2='10' y1='15' y2='9'/%3E%3Cline x1='14' x2='14' y1='15' y2='9'/%3E%3C/svg%3E")}.status-icon--circle-slash,.status-icon--work-blocked{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M22 2 2 22'/%3E%3C/svg%3E")}.status-icon--eye,.status-icon--work-testing{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}.status-icon--circle-check,.status-icon--offer-accepted,.status-icon--offer-payment-paid,.status-icon--work-completed,.status-icon--phase-completed,.status-icon--work-state-none{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E")}.status-icon--circle-x,.status-icon--offer-rejected,.status-icon--work-cancelled,.status-icon--phase-not-realized,.status-icon--audit-delete{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E")}.status-icon--circle-dot,.status-icon--offer-ready,.status-icon--phase-maintenance,.status-icon--absence-other{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")}.status-icon--circle-minus,.status-icon--phase-former{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E")}.status-icon--circle-plus,.status-icon--absence-sick-leave,.status-icon--audit-create{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M12 8v8'/%3E%3C/svg%3E")}.status-icon--sun,.status-icon--absence-vacation{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.status-icon--pencil,.status-icon--audit-update{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z' /%3E%3Cpath d='m15 5 4 4' /%3E%3C/svg%3E")}
.status-icon--work-not-started,.status-icon--phase-former{color:var(--status-neutral)}.status-icon--work-in-progress,.status-icon--phase-active-development,.status-icon--work-state-open,.status-icon--absence-vacation,.status-icon--audit-update{color:var(--status-cyan)}.status-icon--work-waiting,.status-icon--phase-potential{color:var(--status-amber)}.status-icon--work-blocked,.status-icon--absence-sick-leave{color:var(--status-coral)}.status-icon--work-testing,.status-icon--absence-other{color:var(--status-violet)}.status-icon--work-completed,.status-icon--phase-completed,.status-icon--work-state-none,.status-icon--audit-create{color:var(--status-green)}.status-icon--work-cancelled,.status-icon--phase-not-realized,.status-icon--audit-delete{color:var(--status-rose)}.status-icon--phase-maintenance{color:var(--status-teal)}
.back-link{display:inline-block;margin-bottom:8px;color:var(--muted);font-size:var(--fs-13)}

.project-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0 calc(0px - var(--main-inline-padding)) 24px;padding:0 var(--main-inline-padding);row-gap:12px;border-bottom:1px solid var(--border)}
.project-detail-page{display:flex;min-height:100%;flex-direction:column}
.project-heading{display:flex;align-items:center;gap:4px 12px;min-width:0;flex-wrap:wrap}
.project-heading h1,.project-heading .project-statuses{margin:0}
.project-heading h1{font-size:var(--fs-22)}
.project-back-button>span{font-size:var(--fs-22);line-height:1;transform:translateY(-1px)}
.project-detail-header>.page-actions{margin-left:auto}
.project-detail-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(340px,1fr);gap:20px;align-items:start;padding-bottom:24px}
.project-information{display:flex;align-self:stretch;flex-direction:column;gap:24px;min-width:0;min-height:0}
.project-note{max-width:72ch;margin:0;padding:0;font-size:var(--fs-14);line-height:22px}
.project-people{display:grid;gap:24px;margin:0}
.project-contacts{display:grid;gap:0}
.project-subheading{margin:0 0 8px;color:var(--text);font-size:var(--fs-16);font-weight:600;line-height:20px;letter-spacing:-.006em}
.project-contact{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border)}
.project-contact small{margin-left:4px;color:var(--muted)}
.project-contact-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:var(--fs-13)}
.project-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0;border:0}
.project-link{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font-size:var(--fs-13)}
.project-link:hover{background:var(--surface-2);text-decoration:none}.project-link .icon{width:14px;height:14px;flex-basis:14px;color:var(--text-3)}
.project-key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}
.project-fact-card{min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.project-fact-label{margin:0 0 2px;color:var(--muted);font-size:var(--fs-13);font-weight:400}
.project-fact-value{margin:0 0 8px;font-size:var(--fs-14);font-weight:400}
.project-fact-detail{display:flex;justify-content:space-between;gap:8px;margin:4px 0;color:var(--muted);font-size:var(--fs-13)}.project-fact-detail span:last-child{color:var(--text);text-align:right}
.project-fact-note{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:var(--fs-13);-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-fact-more{margin-top:8px;font-size:var(--fs-13)}.project-detail-list{display:grid;margin:8px 0 0}.project-detail-list>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:8px 0;border-top:1px solid var(--border);font-size:var(--fs-13)}.project-detail-list dt{color:var(--muted)}.project-detail-list dd{margin:0;text-align:left}.project-fact-dialog>p{max-width:72ch}
.project-information-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:0;padding-top:16px;border-top:1px solid var(--border)}
.project-timestamps{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted);font-size:var(--fs-12)}
.project-side-column{display:grid;align-content:start;gap:32px;min-width:0}
.project-side-card{position:relative;display:flex;flex-direction:column;min-width:0;height:360px;max-height:360px;padding:0 8px 0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.project-side-card::after{content:"";position:absolute;right:24px;bottom:0;left:14px;z-index:2;height:36px;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--surface) 68%,transparent));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 72%);mask-image:linear-gradient(to bottom,transparent,#000 72%)}
.project-side-card>.section-heading{flex:0 0 auto;min-height:50px;padding-right:6px;border-bottom:1px solid var(--border)}
.project-side-card>.section-heading h2{margin:0;font-size:var(--fs-16)}
.project-side-card-content{min-width:0;min-height:0;padding:0 6px 40px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.project-side-card .work-item-list{border-top:0}
@media(min-width:901px){.project-side-card{height:500px;max-height:500px}}
@media(min-width:1801px){.project-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.external-link{display:inline-block;margin:0 12px 6px 0}
.properties{display:grid;grid-template-columns:minmax(130px,.6fr) 1fr;gap:6px 14px}
.properties dt{color:var(--muted)}
.properties dd{margin:0}
.preserve-lines{white-space:pre-line}

.activity-editor{min-height:86px;max-height:260px;overflow:auto}
.activity-list{border-top:0}
.date-separator{margin:0;padding:12px 0 4px;color:var(--muted);font-size:var(--fs-13);font-weight:500}
.status-preview{margin:4px 0;color:var(--muted);font-size:var(--fs-12)}

.dashboard-page{width:100%;margin:0;padding-bottom:24px}.dashboard-section-heading{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:16px}.dashboard-section-heading h2{margin:0;font-size:var(--fs-16);font-weight:600}.dashboard-section-heading>a,.dashboard-heading-actions>a:not(.button){color:var(--muted);font-size:var(--fs-13)}.dashboard-heading-title{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-heading-title>.icon{width:15px;height:15px;flex-basis:15px}.dashboard-heading-title--important{color:var(--text)}.dashboard-heading-title--important>.icon{color:var(--danger)}.dashboard-heading-actions{display:flex;align-items:center;gap:12px}.dashboard-heading-hint{color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--fs-12);white-space:nowrap}.dashboard-count{display:inline-flex;align-items:center;color:var(--muted);font-size:var(--fs-13);font-weight:400;font-variant-numeric:tabular-nums}.dashboard-announcements{margin-bottom:32px}.dashboard-announcements .dashboard-section-heading{margin-bottom:4px}.dashboard-announcements .announcement-list{gap:6px}.dashboard-announcements .announcement{padding:12px 16px}.dashboard-announcements .announcement-importance{display:none}.dashboard-announcements .announcement h2{margin:0;font-size:var(--fs-14)}.dashboard-announcements .announcement-body{margin-top:4px;font-size:var(--fs-13)}.dashboard-announcements .announcement-meta{margin-top:8px}.dashboard-work-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:clamp(24px,3vw,42px);align-items:start;margin-bottom:28px}.dashboard-my-work>.dashboard-section-heading,.dashboard-team-deadlines>.dashboard-section-heading{margin-bottom:8px}.dashboard-work-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-work-tile{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-decoration:none}.dashboard-work-tile:hover,.dashboard-work-tile:focus-visible{border-color:var(--border-strong);background:var(--surface-2);text-decoration:none}.dashboard-work-tile-context{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;min-width:0}.dashboard-work-tile-context .project-avatar{width:20px;height:20px;flex-basis:20px}.dashboard-work-tile-context>span{display:grid;min-width:0}.dashboard-work-tile-context strong,.dashboard-work-tile-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-work-tile-context strong{font-size:var(--fs-14);font-weight:500;line-height:20px}.dashboard-work-tile-context small{color:var(--muted);font-size:var(--fs-12);line-height:16px}.dashboard-work-tile-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:28px;color:var(--muted);font-size:var(--fs-12);line-height:16px}.dashboard-work-tile-meta .status-label{font-size:var(--fs-12)}.dashboard-work-tile-meta .status-icon{width:14px;height:14px;flex-basis:14px}.dashboard-work-date{font-size:var(--fs-12);white-space:nowrap}.dashboard-work-date.is-overdue{color:var(--danger)}.dashboard-work-date.is-due-today{color:var(--warning)}.dashboard-team-deadlines{min-width:0;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}.dashboard-deadline-groups{display:grid;gap:12px;padding:4px 0 0}.dashboard-deadline-group h3{margin:0 0 4px;color:var(--muted);font-size:var(--fs-13);font-weight:500}.dashboard-deadline-group--overdue h3{color:var(--danger)}.dashboard-deadline-group ol{display:grid;margin:0;padding:0;list-style:none}.dashboard-deadline-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:start;padding:8px 0}.dashboard-deadline-item+li{border-top:1px solid var(--border)}.dashboard-deadline-item>time{padding-top:2px;font-size:var(--fs-12);line-height:16px}.dashboard-deadline-item.is-overdue>time{color:var(--danger)}.dashboard-deadline-item>span{display:grid;min-width:0}.dashboard-deadline-item a,.dashboard-deadline-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-deadline-item a{font-size:var(--fs-13);font-weight:500;line-height:20px;color:var(--text)}.dashboard-deadline-item small{color:var(--muted);font-size:var(--fs-12);line-height:16px}.dashboard-empty{margin:8px 0 0;padding:16px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-13);text-align:center}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(24px,3vw,42px);align-items:start}.dashboard-activity>.dashboard-section-heading{margin-bottom:4px}.dashboard-activity-feed{container:activity-feed/inline-size}.dashboard-activity-feed .activity-day:first-child>.date-separator{margin-top:0}.dashboard-activity-feed .activity-row{padding-top:12px;padding-bottom:12px}.dashboard-absence-column{min-width:0}.dashboard-absence-panel{min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}.dashboard-absence-heading{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:12px;padding:0;border-bottom:0}.dashboard-absence-heading h2{margin:0;font-size:var(--fs-16);font-weight:600}.dashboard-absence-heading .icon-button{width:28px;height:28px}.dashboard-absence-heading .icon{width:16px;height:16px}.dashboard-absence-group+.dashboard-absence-group{margin-top:12px}.dashboard-absence-group>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:4px 0}.dashboard-absence-group>header h3{margin:0;color:var(--muted);font-size:var(--fs-13);font-weight:500}.dashboard-absence-group>header time{color:var(--text-3);font-size:var(--fs-12);white-space:nowrap}.dashboard-absence-list{display:grid;margin:0;padding:0;list-style:none}.dashboard-absence-list>li{display:flex;align-items:flex-start;gap:8px;padding:8px 0}.dashboard-absence-list>li+li{border-top:1px solid var(--border)}.dashboard-absence-list .avatar{width:24px;height:24px;flex-basis:24px;font-size:var(--fs-12)}.dashboard-absence-copy{display:grid;min-width:0;gap:1px}.dashboard-absence-copy>a{width:max-content;max-width:100%;overflow:hidden;color:var(--text);font-size:var(--fs-13);font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.dashboard-absence-copy small{display:flex;gap:4px;color:var(--muted);font-size:var(--fs-12);line-height:16px;flex-wrap:wrap}.dashboard-absence-empty{margin:0;padding:0;color:var(--text-3);font-size:var(--fs-13)}.announcement-list{display:grid;gap:10px}.announcement{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:16px}.announcement>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.announcement-heading{min-width:0}.announcement h2{margin:0;font-size:var(--fs-14);font-weight:600;line-height:20px}.announcement-importance{display:inline-flex;align-items:center;gap:6px;color:var(--danger);font-size:var(--fs-12);font-weight:500}.announcement-importance .icon{width:13px;height:13px;flex-basis:13px}.announcement-actions{gap:2px}.announcement-actions .icon-button{width:32px;height:32px}.announcement-actions .icon{width:14px;height:14px}.announcement-close-action:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.announcement-body{margin-top:8px;line-height:1.5}.announcement-body>:first-child{margin-top:0}.announcement-body>:last-child{margin-bottom:0}.announcement-meta{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:var(--fs-12)}.announcement-author{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:400}.announcement-author .avatar{width:18px;height:18px;flex-basis:18px;font-size:var(--fs-12)}.announcement-meta>span:not(.announcement-author)::before,.announcement-meta>time::before{content:"·";margin-right:12px;color:var(--muted)}.announcement.is-finished{border-color:var(--border);background:transparent;opacity:1}.announcement.is-finished .announcement-importance{color:var(--muted)}
.work-item-toolbar{margin-bottom:14px}.work-item-list{border-top:1px solid var(--border)}.work-item-row{position:relative;display:grid;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer}.work-item-row:hover,.work-item-row:focus-within{background:var(--hover)}.work-item-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.work-item-row .work-item-title{color:var(--text)}.work-item-detail-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start;padding-bottom:24px}.project-work-items-card .work-item-list{container:project-work-items/inline-size}.project-work-items-card .work-item-row{grid-template-columns:96px minmax(150px,1fr) minmax(110px,.6fr) minmax(110px,auto)}.project-work-items-card .work-item-date{grid-column:1;grid-row:1}.project-work-items-card .work-item-title{grid-column:2;grid-row:1;min-width:0}.project-work-items-card .work-item-assignees{grid-column:3;grid-row:1}.project-work-items-card .work-item-status{grid-column:4;grid-row:1}.activity-work-item{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-12)}.activity-work-item--standalone{width:max-content;max-width:100%;margin:0 0 4px}.timeline-event{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--border)}.timeline-event time{font-size:var(--fs-12);color:var(--muted)}.limited-content{max-width:72ch}
.app-window.main-content-work-items{height:calc(100dvh - 16px);display:flex;min-height:0;flex-direction:column;padding:0;overflow:hidden;scrollbar-gutter:auto;background:var(--bg)}
.main-content-work-items>.mobile-bar{flex:0 0 auto}
.work-item-controls{container:work-item-controls/inline-size;flex:0 0 auto;display:grid;gap:8px;padding:16px var(--main-inline-padding) 8px;border-bottom:1px solid var(--border);background:var(--bg)}
.work-item-controls .work-item-toolbar{display:flex;align-items:center;gap:8px;margin:0}
.work-item-filter-form{min-width:0;flex:1;margin:0;flex-wrap:nowrap}.work-item-filter-form>.list-search-field{width:min(520px,55vw);min-width:180px;flex:0 1 520px}.work-item-filter-form .filter-popover-panel{right:0;left:auto}
.work-item-new-button{margin-left:auto}.work-item-new-button,.work-item-shortcut-button{gap:8px;white-space:nowrap}
.work-item-scopes{display:flex;align-items:center;gap:6px;max-width:100%;flex-wrap:wrap;margin:0}

.work-item-filter-chips{margin:0}.work-item-filter-chips .filter-chip{display:inline-flex;align-items:center;gap:4px;color:var(--text);text-decoration:none}.work-item-filter-chips .icon{width:12px;height:12px;flex-basis:12px}.work-item-filter-reset{margin-left:auto;font-size:var(--fs-12)}
.work-item-scroll{min-height:0;flex:1;padding:16px var(--main-inline-padding) 24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.work-item-feed{container:work-item-feed/inline-size}.work-item-group+.work-item-group{margin-top:24px}.work-item-group-heading{display:flex;align-items:center;min-height:0;margin:0;padding:0 12px 8px;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;line-height:20px}.work-item-group--overdue .work-item-group-heading{background:transparent;color:var(--danger)}.work-item-group--today .work-item-group-heading{background:transparent;color:var(--warning)}.work-item-group-rows>.work-item-feed-row:last-child{border-bottom:1px solid var(--border)}
.work-item-feed-row{position:relative;display:grid;grid-template-columns:104px minmax(260px,1.4fr) minmax(200px,1fr) 148px 34px;gap:16px;align-items:center;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer}.work-item-feed-row:hover,.work-item-feed-row:focus-within{background:var(--hover)}.work-item-feed-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.work-item-feed-context{display:grid;grid-template-columns:20px minmax(0,max-content);align-items:start;justify-content:start;gap:8px;min-width:0}.work-item-feed-context.has-description{grid-template-columns:20px minmax(0,max-content) 28px}.work-item-feed-context .project-avatar{width:20px;height:20px;flex-basis:20px}.work-item-feed-context-copy{display:grid;gap:0;min-width:0}.work-item-title-line{display:flex;align-items:flex-start;gap:0;min-width:0}.work-item-project,.work-item-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-item-title{flex:0 1 auto;color:var(--text);font-size:var(--fs-14);line-height:20px}.work-item-project{width:max-content;max-width:100%;justify-self:start;color:var(--muted);font-size:var(--fs-12);line-height:16px}.work-item-feed-context>.work-item-description-button{width:28px;height:28px;min-height:28px;align-self:center;padding:0;color:var(--muted)}.work-item-feed-context>.work-item-description-button .icon{width:16px;height:16px;flex-basis:16px}.work-item-feed-context>.work-item-description-button:hover{background:var(--hover);color:var(--text)}
.work-item-status,.work-item-assignees,.work-item-person{display:flex;align-items:center;gap:6px;min-width:0}.work-item-status{padding-top:0;white-space:nowrap}.work-item-assignees{gap:4px 12px;overflow:visible;color:var(--muted);font-size:var(--fs-13);flex-wrap:wrap}.work-item-person{overflow:visible;white-space:nowrap}.work-item-person .avatar{width:20px;height:20px;flex:0 0 20px;font-size:var(--fs-12)}
.work-item-date{padding-top:0;font-size:var(--fs-13);font-weight:400;font-variant-numeric:tabular-nums;line-height:20px;color:var(--muted);white-space:nowrap}.work-item-date.is-overdue{color:var(--danger);font-weight:400}.work-item-date.is-due-today{color:var(--warning);font-weight:400}.work-item-estimate{color:var(--muted)}.work-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.work-item-actions .icon-button{width:30px;height:30px;color:var(--muted)}.work-item-actions .icon-button:hover{background:var(--hover);color:var(--text)}
.work-item-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:20px}.work-item-form .multi-combobox{min-height:34px}.work-item-form .combobox-chips{margin-bottom:4px}.work-item-form [hidden]{display:none!important}.work-item-dialog-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}.work-item-dialog-title,.work-item-dialog-description,.work-item-dialog-assignees{grid-column:1/3}.work-item-dialog .multi-combobox{min-height:34px}.work-item-dialog .combobox-chips{margin-bottom:4px}.work-item-dialog-assignees .combobox-options{max-height:200px!important;overscroll-behavior:contain}
.work-item-description-dialog{width:min(520px,calc(100% - 24px));cursor:auto}.work-item-description-dialog .day-dialog-header h2{text-transform:none}.work-item-description-dialog .limited-content{margin-top:14px}.work-item-description-dialog .limited-content>:first-child{margin-top:0}.work-item-description-dialog .limited-content>:last-child{margin-bottom:0}
.work-item-detail-page{container:work-item-detail-page/inline-size;display:flex;min-height:100%;flex-direction:column}.work-item-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 calc(0px - var(--main-inline-padding)) 24px;padding:0 var(--main-inline-padding) 16px;border-bottom:1px solid var(--border)}.work-item-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}.work-item-back-button>span{font-size:var(--fs-22);line-height:1;transform:translateY(-1px)}.work-item-heading-copy{display:grid;gap:2px;min-width:0}.work-item-title-row{display:flex;align-items:center;gap:4px 12px;min-width:0;flex-wrap:wrap}.work-item-title-row h1{min-width:0;margin:0;font-size:var(--fs-22);overflow-wrap:anywhere}.work-item-title-row .work-item-status{gap:6px;padding:0;font-size:var(--fs-13);font-weight:400;transform:none}.work-item-detail-project{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;color:var(--muted);font-size:var(--fs-13)}.work-item-detail-project:hover{text-decoration:none;color:var(--text)}.work-item-detail-project .project-avatar{width:16px;height:16px;flex-basis:16px}.work-item-detail-project>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-item-detail-header .page-actions{align-items:center}.work-item-summary{display:grid;align-content:start;gap:24px;min-width:0}.work-item-description h2,.work-item-timeline-heading h2{margin:0;font-size:var(--fs-16);font-weight:600}.work-item-facts{display:grid;gap:16px;margin:0}.work-item-fact{min-width:0}.work-item-fact dt{margin-bottom:4px;color:var(--muted);font-size:var(--fs-13);font-weight:500}.work-item-fact dd{min-width:0;margin:0;color:var(--text);font-size:var(--fs-14)}.work-item-detail-assignees{display:flex;gap:6px 14px;min-width:0;flex-wrap:wrap}.work-item-detail-assignees .person-inline{width:max-content;max-width:100%}.work-item-due-value{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}.work-item-due-hint{color:var(--muted);font-size:var(--fs-13)}.work-item-due-hint--today{color:var(--warning)}.work-item-due-hint--overdue{color:var(--danger)}.work-item-description .limited-content{margin-top:8px;font-size:var(--fs-14);line-height:22px}.work-item-description .limited-content>:first-child{margin-top:0}.work-item-description .limited-content>:last-child{margin-bottom:0}.work-item-meta{display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-13)}.work-item-meta p{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0}.work-item-meta strong,.work-item-meta time{color:var(--text);font-weight:400;text-align:right}.work-item-timeline-section{min-width:0}.work-item-timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:20px}.work-item-timeline-heading>a{color:var(--muted);font-size:var(--fs-13);white-space:nowrap}.work-item-timeline{min-width:0}.work-item-timeline>.date-separator{display:block;margin:24px 0 0;padding:0 12px 8px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;font-variant-numeric:tabular-nums}.work-item-timeline>.date-separator:first-child{margin-top:16px}.work-item-timeline .date-separator-weekday{text-transform:capitalize}.timeline-event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;min-width:0;padding:12px 4px;border-bottom:1px solid color-mix(in srgb,var(--border) 35%,transparent)}.timeline-event>time{padding-top:1px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--fs-12);font-variant-numeric:tabular-nums}.timeline-event-content{min-width:0}.timeline-event-content>header{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.timeline-event-content>header>span{color:var(--muted)}.timeline-event p{margin:0}.change-list{display:grid;gap:8px;margin:8px 0 0}.change-item{display:grid;grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:8px}.change-item dt{color:var(--muted);font-size:var(--fs-12)}
.project-work-items-card .work-item-assignees{flex-wrap:wrap}.project-work-items-card .work-item-person .avatar{width:20px;height:20px;flex-basis:20px}.project-work-items-card .work-item-person>span:last-child{display:inline}.project-work-items-card .work-item-date.is-due-today{color:var(--warning)}
@container project-work-items (max-width:620px){.project-work-items-card .work-item-date{grid-column:1;grid-row:1/3}.project-work-items-card .work-item-title{grid-column:2;grid-row:1}.project-work-items-card .work-item-status{grid-column:3;grid-row:1}.project-work-items-card .work-item-assignees{grid-column:2/4;grid-row:2}}
@container project-work-items (max-width:430px){.project-work-items-card .work-item-date{grid-column:1;grid-row:1/4}.project-work-items-card .work-item-title{grid-column:2;grid-row:1}.project-work-items-card .work-item-status{grid-column:2;grid-row:2}.project-work-items-card .work-item-assignees{grid-column:2;grid-row:3}}
@container work-item-detail-page (max-width:760px){.work-item-summary{max-width:680px}}
@container work-item-detail-page (max-width:560px){.work-item-detail-header .page-actions{width:100%;justify-content:flex-start}.work-item-facts{gap:14px}.work-item-meta p{display:grid;justify-content:start;gap:2px}.timeline-event{padding-right:0;padding-left:0}.change-item{grid-template-columns:1fr}}
.main-content-calendar{height:calc(100dvh - 16px);overflow:hidden;display:flex;flex-direction:column;padding:0;background:var(--bg)}
.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;flex:0 0 auto;margin:0;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg)}
.absence-weekdays,.absence-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.62fr));gap:0}
.absence-weekdays{flex:0 0 auto;z-index:3;background:var(--bg);color:var(--muted);font-size:var(--fs-12);font-weight:500;padding:0;border-bottom:1px solid var(--border)}
.absence-weekdays span{padding:4px 8px}
.absence-calendar{position:relative;min-height:0;flex:1;display:flex;flex-direction:column;gap:0;padding:0;overflow:auto;overscroll-behavior:contain;background:var(--bg)}
.absence-week{flex:1;border-bottom:1px solid var(--border)}
.absence-day{position:relative;min-height:96px;padding:4px 8px 8px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;display:flex;flex-direction:column;gap:4px;min-width:0}
.absence-day:not(.is-outside):not(.is-today):hover{background:var(--hover)}
.absence-day.is-nonworking{background:color-mix(in srgb,var(--text) 2.5%,transparent)}
.absence-day.is-today{background:transparent;box-shadow:none}
.absence-day.is-outside{background:transparent;opacity:.6}
.absence-day-date{display:flex;align-items:center;justify-content:flex-start;min-height:24px;color:var(--muted);font-size:var(--fs-13)}.absence-day-weekday{display:none}.absence-day-date time{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:-4px;padding:0 4px;border-radius:999px;font-size:var(--fs-13);font-weight:500;color:var(--text)}.absence-day.is-today .absence-day-date time{background:var(--accent);color:var(--on-accent);font-weight:600}.absence-day.is-outside .absence-day-date{color:var(--muted)}.absence-day.is-outside .absence-day-date time{color:var(--muted);font-weight:400}.absence-day.is-nonworking .absence-day-date time{color:var(--muted)}
.absence-holiday{color:var(--muted);font-size:var(--fs-12);line-height:16px}
.absence-person{display:flex;align-items:center;gap:6px;min-width:0;min-height:20px;font-size:var(--fs-12);line-height:16px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.absence-meta-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.absence-date-selection{display:grid;grid-template-columns:minmax(0,560px) minmax(220px,1fr);gap:14px;align-items:start;margin-bottom:12px}.selected-dates-panel{min-height:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.selected-dates-panel h2{margin:0 0 10px;font-size:var(--fs-14);font-weight:600}.selected-dates-panel p{margin:0}.selected-dates-panel ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.selected-dates-panel li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px;border-bottom:1px solid var(--border);font-size:var(--fs-12);text-transform:capitalize}.selected-dates-panel li button{width:24px;height:24px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.selected-dates-panel li button:hover{background:var(--surface-2);color:var(--text)}
.search-dialog{width:min(600px,calc(100% - 24px));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);padding:0;overflow:hidden}
.search-dialog::backdrop{background:var(--scrim)}
.search-dialog input{width:100%;height:48px;padding:12px 16px 12px 44px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;font-size:var(--fs-14);outline:0}
.search-dialog [role=listbox]{display:grid;gap:1px;margin:0;padding:8px}
.search-dialog [role=option]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:8px;border-radius:var(--radius);color:var(--text);font-size:var(--fs-14)}
.dialog-close{float:right;border:0;background:none;color:var(--muted);font-size:var(--fs-22);line-height:1;cursor:pointer}
.shortcuts-dialog{width:min(480px,calc(100% - 24px));margin:auto;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog)}
.shortcuts-dialog::backdrop{background:var(--scrim)}
.shortcuts-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.shortcuts-dialog-header h2{margin:0;font-size:var(--fs-16)}
.shortcuts-list{display:grid;margin-top:16px}.shortcuts-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0;border-top:1px solid var(--border);font-size:var(--fs-13)}.shortcuts-list kbd{display:inline-flex;gap:4px;min-height:20px;align-items:center;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:11px}
.settings-layout{display:grid;grid-template-columns:168px minmax(0,640px);justify-content:center;gap:32px}
.settings-nav{display:grid;align-content:start;gap:4px}
.settings-nav a{padding:6px 8px;border-radius:var(--radius);color:var(--muted);font-size:var(--fs-13);font-weight:500}
.settings-nav a.is-active{background:var(--selected);color:var(--text)}

.auth-screen{min-height:100vh;background:var(--shell)}
@media(prefers-color-scheme:dark){
}
.auth-screen .main-content{margin:0;min-height:100vh;display:grid;place-items:center;padding:20px}
.auth-panel{width:min(360px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.auth-logo{display:block;width:136px;height:32px;margin:0 auto 24px;background:var(--accent);mask:center/contain no-repeat url("../images/evidente-logo-7CoUkCp.svg")}
.auth-panel .button-primary{width:100%}
.auth-panel-footer{text-align:center;margin:16px 0 0}
.centered-message{text-align:center;padding:48px 12px}
.muted{color:var(--muted)}
.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.align-end{text-align:right}
.nowrap{white-space:nowrap}
.pagination{margin-top:14px}
.pager{display:flex;align-items:center;justify-content:center;gap:10px}
.pager span{color:var(--muted);font-size:var(--fs-12)}
input[type=date]::-webkit-calendar-picker-indicator{box-sizing:border-box;width:30px;height:30px;margin:-4px -5px -4px 0;padding:8px;border-radius:var(--radius);cursor:pointer;opacity:.72}
input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:var(--surface-2);opacity:1}
input[type=date]::-webkit-calendar-picker-indicator:active{background-color:var(--selected);opacity:1}

@media(max-width:900px){.main-content{--main-inline-padding:16px;padding:16px}
.main-content-calendar{padding:0}
.project-detail-layout,.dashboard-grid,.dashboard-work-overview{grid-template-columns:1fr}
.dashboard-work-overview,.dashboard-grid{gap:24px}.dashboard-activity{grid-row:1}.dashboard-absence-column{grid-row:2}.dashboard-absence-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-absence-group+.dashboard-absence-group{border-top:0;border-left:1px solid var(--border)}




.absence-day.is-weekend{min-height:44px}

.absence-day-weekday{display:inline;margin-left:auto;color:var(--muted);font-size:var(--fs-12);font-weight:600}
.absence-day.is-today .absence-day-weekday{color:var(--accent)}
}

@media(max-width:620px){.project-form-grid,.project-collection-item>div:not(.project-collection-handle-wrap),.project-collection--contacts .project-collection-item>div:not(.project-collection-handle-wrap){grid-template-columns:1fr}.project-collection-item{align-items:start;padding:8px}.project-collection-handle-wrap,.project-collection-remove,.project-collection-action-spacer{margin-top:20px}.dashboard-heading-actions>a:not(.button){display:none}.dashboard-work-tiles,.dashboard-absence-groups{grid-template-columns:1fr}.dashboard-absence-group+.dashboard-absence-group{border-top:1px solid var(--border);border-left:0}.announcement-meta>span:not(.announcement-author)::before,.announcement-meta>time::before{content:none;margin:0}.announcement-meta{gap:6px 12px}.announcement-meta>*{width:100%}}

@media(max-width:1080px){
.work-item-feed-row{grid-template-columns:104px minmax(220px,1.2fr) minmax(170px,1fr) 140px 34px;gap:12px}
}

@media(max-width:840px){
.sidebar-open .sidebar{visibility:visible;transform:none}
.app-screen.sidebar-open::after{content:"";position:fixed;inset:0;z-index:19;background:rgba(10,14,28,.42)}
.sidebar-collapsed{--sidebar:0}
.app-screen .main-content{transition:none}
.app-window{height:100dvh;min-height:0;margin:0;border:0;border-radius:0}
.main-content-calendar,.app-window.main-content-work-items{height:100dvh}
.mobile-bar{display:flex;align-items:center;justify-content:space-between;height:48px;margin:-16px -16px 12px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border)}.main-content-calendar .mobile-bar{margin:0}
.mobile-bar:empty{display:none}
.mobile-bar .icon-button{width:38px;height:38px}
.mobile-bar .icon-button .icon{width:21px;height:21px;flex-basis:21px}
.mobile-brand{display:inline-flex;color:var(--accent);padding:4px 2px}
.mobile-bar .brand-wordmark{width:97px;height:21px}
.main-content-activity .mobile-bar,.main-content-projects .mobile-bar,.main-content-work-items .mobile-bar{flex:0 0 48px;margin:0}
.sidebar-collapsed .sidebar .brand-wordmark{display:block}.sidebar-collapsed .sidebar span.nav-label{display:inline}.sidebar-collapsed .sidebar .nav-divider{display:block}.sidebar-collapsed .sidebar .nav-link kbd.search-shortcut{display:inline-flex}.sidebar-collapsed .sidebar .theme-picker{display:grid}.sidebar-collapsed .sidebar .sidebar-tools{flex-direction:row;justify-content:flex-start;margin-inline:4px}.sidebar-collapsed .sidebar .sidebar-account details{display:block}.sidebar-collapsed .sidebar .sidebar-collapse-button .icon-collapse{display:inline-block}.sidebar-collapsed .sidebar .sidebar-collapse-button .icon-expand{display:none}.sidebar-collapsed .sidebar .sidebar-account{display:flex}.sidebar-collapsed .sidebar .sidebar-collapse-button{margin-left:auto}
}

@media(max-width:680px){
.absence-meta-fields,.absence-date-selection,.settings-layout{display:grid;grid-template-columns:1fr}
.page-actions,.detail-header{align-items:flex-start;flex-wrap:wrap}
.project-contact,.project-information-footer{align-items:flex-start;flex-direction:column}
.properties{grid-template-columns:1fr}
.properties dd{margin-bottom:6px}
.work-item-controls .work-item-toolbar{align-items:stretch;flex-wrap:wrap}.work-item-filter-form{flex:1 1 100%}.work-item-filter-form>.list-search-field{width:auto;min-width:0;flex:1 1 auto}.work-item-new-button{margin-left:0}.work-item-filter-form .filter-popover-panel{position:fixed;top:110px;right:16px;left:16px;width:auto;max-height:calc(100dvh - 126px);overflow:auto}.work-item-filter-reset{margin-left:0}.work-item-form-grid{grid-template-columns:1fr}.change-item{grid-template-columns:1fr}
}

@container work-item-controls (min-width:560px) and (max-width:760px){.work-item-filter-form{width:0;flex:1 1 0}.work-item-filter-form>.list-search-field{width:auto;min-width:0;flex:1 1 0}.work-item-new-button{margin-left:0}}
@container work-item-feed (max-width:900px){.work-item-feed-row{grid-template-columns:104px minmax(220px,1.1fr) minmax(130px,.8fr) 132px 34px;gap:12px}}
@container work-item-feed (max-width:700px){.work-item-feed-row{grid-template-columns:104px minmax(0,1fr) 132px 34px;gap:4px 12px;align-items:center}}
@container work-item-feed (max-width:560px){.work-item-group+.work-item-group{margin-top:20px}.work-item-feed-row{grid-template-columns:108px minmax(0,1fr) 40px;gap:8px 10px;padding:12px 0;align-items:start}}
@media(max-width:420px){.work-item-new-button{width:100%}.work-item-filter-form>.list-search-field{flex-basis:calc(100% - 92px)}.work-item-detail-header .page-actions>.button{flex:1}.work-item-detail-header .activity-more-menu{margin-left:auto}}

@media(prefers-reduced-motion:reduce){.sidebar,.app-screen .main-content{transition:none}}

.activity-rich-text.is-expanded{display:block;-webkit-line-clamp:unset}
.expand-control{border:0;background:none;color:var(--muted);padding:2px 0;font-size:var(--fs-13);cursor:pointer}
.combobox{position:relative}
.combobox>input{width:100%;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);padding:6px 40px 6px 8px;font-size:var(--fs-13)}
.combobox>input::-webkit-search-cancel-button{display:none}
.combobox-clear{position:absolute;top:50%;right:4px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;transform:translateY(-50%)}
.combobox-clear[hidden]{display:none}
.combobox-clear:hover{background:var(--surface-2);color:var(--text)}
.combobox-clear:active{background:var(--selected);color:var(--text)}
.combobox-clear .icon{width:14px;height:14px;flex-basis:14px}
.combobox.is-invalid>input{border-color:var(--danger)}
.combobox.is-invalid>input:focus-visible{outline-color:var(--danger)}
.combobox-options{position:absolute;z-index:12;top:calc(100% + 4px);left:0;right:0;display:grid;gap:1px;max-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:4px}
.combobox-options[hidden]{display:none}
.combobox-options button{display:block;width:100%;min-height:30px;border:0;background:none;text-align:left;padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--fs-13);cursor:pointer}
.select-combobox .combobox-options button,.select-combobox-value{display:flex;align-items:center;gap:8px;min-width:0}.select-combobox-value{flex:1}.select-combobox-value>span:last-child,.select-combobox .combobox-options button>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combobox-options button:hover,.combobox-options button.is-active{background:var(--hover)}
.select-combobox-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--control-h);padding:6px 10px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs-14);text-align:left;cursor:pointer}.select-combobox-trigger.is-placeholder{color:var(--muted)}.select-combobox-trigger:disabled{cursor:not-allowed;opacity:.65}.select-combobox-chevron{width:7px;height:7px;flex:0 0 7px;margin:-3px 2px 0 10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.select-combobox.is-open .select-combobox-chevron{margin-top:4px;transform:rotate(225deg)}
.combobox-label-row{display:flex;align-items:center;min-width:0;height:24px;gap:8px}
.combobox-label-row>label{flex:0 0 auto;font-size:var(--fs-13);font-weight:500;white-space:nowrap}
.combobox-chips{display:flex;min-width:0;flex:1 1 auto;gap:4px;overflow-x:auto;scrollbar-width:none}
.combobox-chips::-webkit-scrollbar{display:none}
.combobox-chip{display:inline-flex;align-items:center;min-height:21px;flex:0 0 auto;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;line-height:1;cursor:pointer}
.combobox-chip:hover{text-decoration:line-through;border-color:var(--border-strong);background:var(--hover)}
.collection-item{border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:8px}
.range-calendar{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--surface)}
.range-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.range-calendar-header strong{text-transform:capitalize}
.range-calendar-header button{border:0;background:none;border-radius:var(--radius);padding:8px 10px;cursor:pointer}.range-calendar-header button:hover{background:var(--surface-2)}
.range-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:4px;text-align:center}
.range-calendar-grid>span{font-size:var(--fs-12);color:var(--muted);padding:4px}
.range-calendar-grid button{display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.range-calendar-grid button:not(:disabled):hover{border-color:var(--border-strong);background:var(--hover);color:var(--text)}.range-calendar-grid button:disabled{cursor:not-allowed;opacity:.55}
.range-calendar-grid .is-weekend{color:var(--muted);background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--muted) 14%,transparent) 6px 7px),var(--surface)}
.range-calendar-grid .is-today{outline:2px solid var(--accent);outline-offset:-2px;font-weight:600}
.range-calendar-grid .is-selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}

/* Shared controls and semantic presentation refinements. */
.search-dialog:not([open]),.detail-dialog:not([open]){display:none}.search-dialog[open],.detail-dialog[open]{position:fixed;inset:10vh auto auto 50%;z-index:1000;transform:translateX(-50%)}
.icon-info{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E")}.icon-pencil{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E")}.icon-archive{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='5' x='2' y='3' rx='1'/%3E%3Cpath d='M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8M10 12h4'/%3E%3C/svg%3E")}.icon-history-clock{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5M12 7v5l4 2'/%3E%3C/svg%3E")}.icon-briefcase{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='14' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12a23 23 0 0 0 18 0M12 11v4'/%3E%3C/svg%3E")}.icon-list{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E")}.icon-filter{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M7 12h10M10 18h4'/%3E%3C/svg%3E")}.icon-trash{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E")}.icon-plus{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.icon-external{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E")}.icon-chevron-right{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.icon-alert{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 20h16a2 2 0 0 0 1.73-2'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}
.icon-grip{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='9' cy='5' r='1.6'/%3E%3Ccircle cx='15' cy='5' r='1.6'/%3E%3Ccircle cx='9' cy='12' r='1.6'/%3E%3Ccircle cx='15' cy='12' r='1.6'/%3E%3Ccircle cx='9' cy='19' r='1.6'/%3E%3Ccircle cx='15' cy='19' r='1.6'/%3E%3C/svg%3E")}
.button>.icon{width:16px;height:16px;flex-basis:16px;margin:0 0 0 -2px}.button.icon-button>.icon{margin:0}.filter-popover>summary>.icon{width:15px;height:15px;flex-basis:15px;margin-right:6px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.icon-button:hover{background:var(--hover);color:var(--text);text-decoration:none}.icon-button .icon{width:16px;height:16px;flex-basis:16px}.icon-button-bordered{width:var(--control-h);height:var(--control-h);border:1px solid var(--border-strong);background:var(--surface)}.icon-button-danger{color:var(--muted)}.icon-button-danger:hover{color:var(--danger)}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;font-size:var(--fs-12);font-weight:600;line-height:1;text-align:center;color:#fff;background:#687083}.avatar--image{background:transparent}.avatar--image img{display:block;width:100%;height:100%;object-fit:contain}
.avatar-color-0{background:#5577c8}.avatar-color-1{background:#7c66c2}.avatar-color-2{background:#368a84}.avatar-color-3{background:#b46754}.avatar-color-4{background:#837039}.avatar-color-5{background:#607d4d}.avatar-color-6{background:#a45479}.avatar-color-7{background:#4f7f9e}.avatar-more{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}
.person-inline{display:inline-flex;align-items:center;gap:8px;min-width:0}.person-inline>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.person-inline small{display:block;color:var(--muted);font-size:var(--fs-12)}.people-list{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.avatar-stack{display:flex;padding-left:4px}.avatar-stack>span{display:inline-flex;margin-left:-4px}.avatar-stack .avatar{border:2px solid var(--bg)}.person-summary{display:flex;align-items:center;gap:8px}.person-summary>span{display:grid}.person-summary small{color:var(--muted)}.person-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.person-heading .avatar{width:38px;height:38px;flex-basis:38px;font-size:var(--fs-13)}.person-heading h1{margin:0}
.project-statuses{display:flex;align-items:center;gap:4px 16px;color:var(--muted);flex-wrap:wrap}.project-statuses>span{display:inline-flex;align-items:center;white-space:nowrap}
.app-window.main-content-projects{display:flex;flex-direction:column;padding:0;overflow:hidden;scrollbar-gutter:auto}.project-directory-controls{flex:0 0 auto;padding:16px var(--main-inline-padding) 8px;border-bottom:1px solid var(--border)}.project-directory-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:16px var(--main-inline-padding) 24px;scrollbar-gutter:stable}.main-content-projects>.alert{flex:0 0 auto;margin:16px var(--main-inline-padding) 0}
.project-list-toolbar{margin-bottom:8px}
.project-platform-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}.project-filter-reset{margin-left:auto;font-size:var(--fs-12)}.project-filter-chips{margin:12px 0 0}.project-filter-chips .filter-chip{display:inline-flex;align-items:center;gap:4px;color:var(--text);text-decoration:none}.project-filter-chips .filter-chip .icon{width:12px;height:12px;flex-basis:12px}.project-platform-chip,.project-filter-chips.is-platform-only{display:none}
.project-directory{display:grid;gap:24px}.project-phase-group>summary{display:flex;align-items:baseline;gap:6px;margin:0 0 8px;list-style:none;cursor:pointer}.project-phase-group>summary::-webkit-details-marker{display:none}.project-phase-group>summary h2{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-16);font-weight:600;line-height:20px}.project-phase-group>summary .icon{width:14px;height:14px;flex-basis:14px;color:var(--text-3)}.project-phase-group[open]>summary .icon{transform:rotate(90deg)}
.project-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.project-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;grid-template-areas:"head head" "activity foot";gap:12px 8px;min-height:92px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.project-card:hover,.project-card:focus-within{border-color:var(--border-strong);background:var(--surface-2)}.project-card.is-muted{opacity:.78}.project-card-header{grid-area:head;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start}.project-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;color:#fff;font-size:var(--fs-14);font-weight:600}.project-card-heading{display:grid;gap:2px;min-width:0;padding-top:0}.project-card-link{min-width:0;color:var(--text);overflow-wrap:anywhere;text-decoration:none}.project-card-link::after{content:"";position:absolute;inset:0}.project-card-link:hover{text-decoration:none}.project-card-status{display:flex;align-items:center;min-width:0;color:var(--muted);font-size:var(--fs-12);line-height:16px}.project-platform{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:var(--fs-12);font-weight:400;font-variant-numeric:tabular-nums;line-height:20px;white-space:nowrap}.project-platform .technical{font-family:inherit;font-size:inherit;color:inherit}.project-platform--other,.project-platform--not-set{color:var(--text-3)}.project-card-activity{grid-area:activity;align-self:end;margin:0;padding:0;color:var(--muted);font-size:var(--fs-12);line-height:20px}.project-card-footer{grid-area:foot;align-self:end;display:flex;flex-direction:row-reverse;align-items:center;gap:4px;min-height:20px}.project-card-footer .avatar-stack{position:relative;z-index:2}.project-card-footer .avatar{width:20px;height:20px;flex-basis:20px;border-color:var(--surface)}.project-card:hover .project-card-footer .avatar,.project-card:focus-within .project-card-footer .avatar{border-color:var(--surface-2)}.project-production-link{position:relative;z-index:2}.project-card-action-spacer{width:30px;height:30px}.project-list-empty{padding:24px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center}
.filter-bar-primary{flex-wrap:nowrap}.list-search-field{position:relative;width:min(390px,45vw);min-width:240px;flex:0 1 390px}.list-search-field>.icon{position:absolute;top:50%;left:10px;width:16px;height:16px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.list-search-field>input[type=search]{width:100%;min-width:0;height:var(--control-h);padding:6px 32px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.list-search-field>input::-webkit-search-cancel-button{display:none}.filter-bar-primary>.filter-popover>summary,.activity-toolbar>.filter-popover>summary,.project-list-toolbar>.button,.work-item-toolbar>.button,.activity-new-button{min-height:var(--control-h)}.page-actions>.filter-bar{flex:1;margin-bottom:0}.filter-popover>summary{display:inline-flex;align-items:center}.filter-popover-panel .date-range-fields label{display:grid;gap:4px;color:var(--muted);font-size:var(--fs-12)}
.more-people{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:24px;height:20px;padding:0 4px;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--fs-12)}
.expand-control[hidden]{display:none}
.history-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding-bottom:14px}.history-header h1{margin-bottom:4px}.history-context{margin:0;color:var(--muted)}.history-header>time{color:var(--muted);font-size:var(--fs-12)}.history-timeline{position:relative;padding-top:16px}.history-timeline::before{content:"";position:absolute;top:18px;bottom:12px;left:15px;width:1px;background:var(--border)}.history-entry{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:12px;padding-bottom:16px}.history-entry-marker{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted)}.history-entry-marker .icon{width:14px;height:14px;flex-basis:14px}.history-entry-content{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.history-entry-content>header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.history-entry-content>header>span{color:var(--muted)}.history-entry-content>header time{margin-left:auto;color:var(--muted);font-size:var(--fs-12)}.change-list{margin:12px 0 0}.change-item{border-top:1px solid var(--border);padding:10px 0}.change-item:last-child{padding-bottom:0}.change-item dt{margin-bottom:6px;font-size:var(--fs-12);font-weight:600;color:var(--muted)}.change-item dd{display:grid;gap:4px;margin:0}.change-value{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px;padding:6px 8px;border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere}.change-value-old{background:color-mix(in srgb,var(--danger) 8%,var(--surface-2));color:color-mix(in srgb,var(--danger) 78%,var(--text))}.change-value-new{background:color-mix(in srgb,var(--success) 9%,var(--surface-2));color:color-mix(in srgb,var(--success) 78%,var(--text))}
.search-dialog-header{position:absolute;top:8px;right:8px;z-index:1;display:flex;align-items:center;justify-content:flex-end;margin:0}.search-dialog-header label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.search-dialog-header form{margin:0}.search-input-wrap{position:relative}.search-input-wrap>.icon{position:absolute;left:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted)}.search-dialog .search-input-wrap input{padding-left:44px}.search-dialog [role=option][aria-selected=true]{background:var(--selected);text-decoration:none}.search-dialog [role=option] small,.search-message{color:var(--muted)}.search-message{margin:8px 0 0;padding:16px;text-align:center}
.absence-person .avatar{display:inline-flex;width:18px;height:18px;flex-basis:18px}.absence-person>span:last-child{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis}.absence-person strong,.absence-person small{overflow:hidden;text-overflow:ellipsis}.absence-person small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1200px){}
@media(max-width:900px){.history-header{align-items:flex-start;flex-direction:column}.history-entry-content>header time{width:100%;margin-left:0}}
@media(max-width:900px){}
@media(max-width:680px){.main-content-projects .mobile-bar{flex:0 0 48px;margin:0}.project-list-toolbar>.button{align-self:flex-start}.project-platform-filters{display:none}.project-filter-chips.is-platform-only{display:flex}.project-filter-chips .project-platform-chip{display:inline-flex}.project-directory{gap:20px}.filter-bar-primary{flex-wrap:nowrap}.filter-bar-primary>.list-search-field{width:auto;min-width:0;flex:1 1 auto}.filter-bar-primary>.filter-popover{flex:0 0 auto}.calendar-toolbar>.inline-actions{display:flex;width:auto}.calendar-toolbar>.button-primary{width:auto;margin:0}.history-timeline::before{left:12px}.history-entry{grid-template-columns:25px minmax(0,1fr);gap:8px}.history-entry-marker{width:25px;height:25px}.history-entry-content{padding:10px}.change-value{font-size:var(--fs-12)}}

/* Month calendar view (ADR-024) */
.icon-chevron-left{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E")}
.icon-more-horizontal{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E")}
.icon-receipt-euro{--icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15.828%2014.829a4%204%200%200%201-5.656%200%204%204%200%200%201%200-5.657%204%204%200%200%201%205.656%200%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%203a1%201%200%200%201%201-1%201.3%201.3%200%200%201%20.7.2l.933.6a1.3%201.3%200%200%200%201.4%200l.934-.6a1.3%201.3%200%200%201%201.4%200l.933.6a1.3%201.3%200%200%200%201.4%200l.933-.6a1.3%201.3%200%200%201%201.4%200l.934.6a1.3%201.3%200%200%200%201.4%200l.933-.6A1.3%201.3%200%200%201%2019%202a1%201%200%200%201%201%201v18a1%201%200%200%201-1%201%201.3%201.3%200%200%201-.7-.2l-.933-.6a1.3%201.3%200%200%200-1.4%200l-.934.6a1.3%201.3%200%200%201-1.4%200l-.933-.6a1.3%201.3%200%200%200-1.4%200l-.933.6a1.3%201.3%200%200%201-1.4%200l-.934-.6a1.3%201.3%200%200%200-1.4%200l-.933.6a1.3%201.3%200%200%201-.7.2%201%201%200%200%201-1-1z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M8%2012h5%22%20%2F%3E%0A%3C%2Fsvg%3E")}.icon-banknote-arrow-down{--icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2018H4a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%2019%203%203%203-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M18%2012h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M19%2016v6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2012h.01%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E")}.icon-download{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E")}.icon-restore{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5'/%3E%3C/svg%3E")}

/* Manual invoices */
.invoice-list-header{align-items:flex-start}.invoice-list-header h1{margin-bottom:4px}.invoice-list-header p{margin:0}.invoice-scopes{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--border)}.invoice-list{border-top:1px solid var(--border)}.invoice-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.5fr) 120px 130px auto;gap:16px;align-items:center;min-height:66px;padding:10px 4px;border-bottom:1px solid var(--border)}.invoice-row:hover{background:transparent}.invoice-row-main,.invoice-customer{display:grid;gap:2px;min-width:0}.invoice-row-main span,.invoice-customer span{color:var(--muted);font-size:var(--fs-12)}.invoice-row-main strong,.invoice-customer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-row>time{color:var(--muted);font-size:var(--fs-12)}.invoice-total{text-align:right;font-variant-numeric:tabular-nums}.invoice-row-actions{display:flex;justify-content:flex-end;gap:2px}.invoice-delete-action{color:var(--danger)!important}.invoice-empty{display:grid;justify-items:center;gap:10px;padding:48px 20px;color:var(--muted);text-align:center}.invoice-empty>.icon{width:30px;height:30px}.form-intro{margin:-10px 0 8px}.invoice-form-grid{display:grid;gap:4px 16px;margin-bottom:12px}.invoice-form-grid>.form-row{grid-row:span 3;grid-template-rows:subgrid;margin:0}.invoice-form-grid--two{grid-template-columns:1fr 1fr}.invoice-form-grid--dates{grid-template-columns:repeat(3,1fr)}.invoice-form-grid--tax-id{grid-template-columns:minmax(150px,.45fr) 1fr}.invoice-items{display:grid;gap:8px}.invoice-item{position:relative;display:grid;grid-template-columns:minmax(230px,1fr) 90px 100px 145px 32px;gap:10px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.invoice-item>.form-row{min-width:0;margin:0}.invoice-item>.form-row>label{display:flex;align-items:flex-end;min-height:34px}.invoice-item .form-row textarea{min-height:64px}.invoice-item-remove{margin-top:40px}.invoice-add-item{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.invoice-add-item .icon{width:15px;height:15px}.invoice-issuer-note{display:grid;gap:4px;margin:16px 0;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:var(--fs-13);line-height:20px}.invoice-issuer-note span{color:var(--muted);font-size:var(--fs-12)}
@media(max-width:850px){.invoice-row{grid-template-columns:1fr auto}.invoice-customer{grid-column:1}.invoice-row>time{grid-column:1}.invoice-total{grid-column:2;grid-row:1;text-align:right}.invoice-row-actions{grid-column:2;grid-row:2/4}.invoice-item{grid-template-columns:1fr 1fr}.invoice-item>.form-row:first-child{grid-column:1/-1}.invoice-item-remove{position:absolute;top:5px;right:5px;margin:0}.invoice-form-grid--dates{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.invoice-form-grid--two,.invoice-form-grid--dates,.invoice-form-grid--tax-id,.invoice-item{grid-template-columns:1fr}.invoice-form-grid>.form-row{grid-row:auto;grid-template-rows:none}.invoice-item>.form-row>label{min-height:0}.invoice-row{gap:6px 12px}.invoice-list-header{display:grid}.invoice-list-header .button{width:100%}}

/* Activity feed rows */
[data-activity-feed]{container:activity-feed/inline-size}
.activity-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;min-height:0;align-items:start;padding:12px;border-bottom:1px solid var(--border)}
.activity-row:hover{background:var(--hover)}
.activity-time{grid-column:1;display:flex;align-items:center;gap:4px;padding:0 4px 0 0;font-size:var(--fs-12);line-height:20px;color:var(--muted)}
.activity-time--with-date{padding-top:0}.activity-time--with-date time{display:grid;gap:2px;line-height:1.15}.activity-time--with-date .activity-date{font-size:var(--fs-12);font-weight:500;white-space:nowrap}.activity-time--with-date .activity-clock{font-size:var(--fs-12)}
.activity-context{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;min-width:0;font-size:var(--fs-14)}
.activity-context .project-avatar{width:20px;height:20px;flex-basis:20px}
.activity-context-copy{display:grid;gap:4px;min-width:0}
.activity-context-copy>a:first-child,.activity-context-copy>strong{min-width:0;color:var(--text);font-weight:500;overflow-wrap:anywhere}
.activity-work-item{display:inline-grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;min-width:0;max-width:100%;margin:0;color:var(--muted);font-size:var(--fs-13);font-weight:400;line-height:18px;white-space:normal;overflow-wrap:anywhere}.activity-work-item>.icon{width:14px;height:14px;flex:0 0 14px;margin-top:2px;justify-self:center;color:var(--text-3)}.activity-work-item>span:last-child{min-width:0}
.activity-content{grid-column:1;min-width:0;display:grid;grid-template-columns:224px minmax(0,1fr);gap:24px}.activity-entry-main{min-width:0}.activity-content:not(:has(.activity-entry-header>*)){grid-template-columns:minmax(0,1fr)}.activity-entry-header{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0}.activity-entry-header:not(:has(*)),.activity-entry-details:not(:has(*)){display:none}.activity-entry-details{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin-bottom:8px}.activity-entry-details>*{max-width:100%}.activity-entry-header>*{flex:0 1 auto;max-width:100%}.activity-entry-header>.activity-work-item{width:auto;margin:0;overflow:visible}.activity-entry-details>.activity-change-summary{margin:0;flex-shrink:0}.activity-entry-details .status-label,.activity-date-change>span,.activity-date-change>strong{white-space:nowrap}.activity-body{min-width:0;font-size:var(--fs-14);line-height:1.45;font-weight:400;overflow-wrap:anywhere}
.activity-rich-text{--paragraph-spacing:.5em;display:-webkit-box;max-width:72ch;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.activity-rich-text:not(.is-expanded){max-height:calc(100px + 2 * var(--paragraph-spacing))}
:is(.activity-editor,.limited-content,.activity-rich-text)>p{margin:0 0 var(--paragraph-spacing)}
:is(.activity-editor,.limited-content,.activity-rich-text)>p:last-child{margin-bottom:0}
.activity-entry-meta{display:flex;align-items:center;gap:8px 14px;min-height:0;margin-top:6px;flex-wrap:wrap}
.activity-entry-meta:empty{display:none}
.activity-people{display:flex;align-items:center;gap:4px 12px;min-width:0;overflow:visible;flex-wrap:wrap}
.activity-people .avatar{width:18px;height:18px;flex-basis:18px}
.activity-people .person-inline{gap:6px;color:var(--muted);font-size:var(--fs-12);line-height:18px}
.activity-people .person-inline>span:last-child{min-width:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-transition{display:flex;align-items:center;gap:4px;margin:0;color:var(--muted);font-size:var(--fs-12);line-height:1.4;flex-wrap:wrap}
.status-transition>span:not(.status-transition-arrow){display:inline-grid;grid-template-columns:6px auto;align-items:center;gap:4px;line-height:inherit}

.status-transition-arrow{opacity:.68}
.archived-label{display:inline-block;margin:0;color:var(--muted);font-size:var(--fs-12)}
/* Keep manual and automatic rows aligned when Repeat is unavailable. */
.activity-actions{grid-column:2;grid-row:1;display:grid;grid-template-columns:max-content 30px 30px;align-items:center;gap:1px;padding-top:0}.activity-actions>.activity-time{grid-column:1;grid-row:1}.activity-actions>[data-activity-repeat]{grid-column:2;grid-row:1}.activity-actions>.activity-more-menu{grid-column:3;grid-row:1}
.activity-actions form{display:block}
.activity-more-menu{position:relative}
.activity-more-menu>summary{list-style:none}
.activity-more-menu>summary::-webkit-details-marker{display:none}
.activity-more-menu-panel{position:absolute;top:32px;right:0;z-index:20;width:max-content;min-width:168px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow)}
.activity-more-menu-panel a,.activity-more-menu-panel button{display:flex;width:100%;min-height:30px;align-items:center;gap:8px;padding:4px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-13);text-align:left;text-decoration:none;cursor:pointer}
.activity-more-menu-panel a:hover,.activity-more-menu-panel button:hover{background:var(--hover);text-decoration:none}
.activity-more-menu-panel .icon{width:14px;height:14px;flex:0 0 14px;color:var(--muted)}
.activity-more-menu-meta{display:flex;align-items:center;gap:8px;margin-top:4px;padding:8px 8px 4px;border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-12)}
.activity-day>.date-separator,[data-activity-feed]>.date-separator{display:block;margin:24px 0 0;padding:0 12px 8px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;line-height:20px;font-variant-numeric:tabular-nums}
.activity-day:first-child>.date-separator{margin-top:0}
.activity-day>.date-separator .date-separator-weekday{color:inherit;font-size:inherit;font-weight:inherit;text-transform:capitalize}
.activity-day-entries>.activity-row:hover{background:var(--hover)}
.activity-row--compact{grid-template-columns:minmax(0,1fr) auto;gap:10px}
.activity-row--compact .activity-context{grid-template-columns:24px minmax(0,1fr);gap:8px}
.activity-row--compact .activity-context .project-avatar{width:24px;height:24px;flex-basis:24px;font-size:var(--fs-12)}
.activity-row--compact .activity-people .person-inline>span:last-child{display:inline}
.activity-load-more{display:flex;justify-content:center;padding:20px 0 4px}.activity-load-more-button{min-width:132px}.activity-load-more-button.is-loading{pointer-events:none;opacity:.68}
/* Event summaries stay separate from the author's explanation. */
.activity-change-summary{display:flex;align-items:center;gap:4px 6px;width:fit-content;max-width:100%;min-height:20px;margin:0;padding:0;border-radius:0;background:transparent;color:var(--muted);font-size:var(--fs-13);line-height:20px;flex-wrap:wrap;align-content:center}
.activity-change-summary .activity-status-after{color:var(--text);font-weight:500}
.activity-row--status-blocked .activity-change-summary{background:transparent}
.activity-row--status-blocked .activity-status-after{color:var(--danger)}
.activity-date-change{background:transparent;color:var(--muted)}
.activity-date-change>.icon{width:14px;height:14px;flex-basis:14px;color:var(--status-amber)}
.activity-date-before{color:var(--muted)}
.activity-row--offer .activity-rich-text{font-size:var(--fs-13);color:var(--muted)}
.activity-row--offer .activity-entry-details>.status-transition{margin:0}
@container activity-feed (max-width:640px){.activity-row,.activity-row--compact{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0;border-bottom-color:color-mix(in srgb,var(--border) 62%,transparent)}.activity-entry-header{gap:6px 12px}.activity-work-item{font-size:var(--fs-12)}.activity-actions{grid-template-columns:max-content 40px 40px;gap:0}.activity-actions .icon-button{width:40px;height:40px}.activity-body{font-size:var(--fs-14)}.activity-people .person-inline>span:last-child{max-width:none}.activity-rich-text[data-expandable]:not(.is-expanded){max-height:calc(7.25em + 2 * var(--paragraph-spacing))}.activity-load-more{padding-top:16px}.activity-load-more-button{min-height:40px}}
@container activity-feed (max-width:420px){.activity-row,.activity-row--compact{gap:8px}.activity-entry-header{padding-right:135px}.activity-actions{position:absolute;right:0;top:12px;min-width:0}.activity-content{grid-column:1/-1}.activity-entry-main{padding-right:0}.activity-content:not(:has(.activity-entry-header>*)) .activity-entry-main{padding-right:135px}.activity-entry-header{margin-top:2px}}
.activity-entry-details{margin-top:4px;margin-bottom:0}.activity-body+.activity-entry-details{margin-top:4px}.activity-body+.activity-entry-details:not(:has(*)){display:none}
.activity-entry-details+.activity-body{margin-top:4px}.activity-body a{color:var(--link);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.activity-offer-title{color:var(--muted);overflow-wrap:anywhere}
.activity-row--offer{padding-top:12px;padding-bottom:12px}
.status-transition>.activity-change-label{display:inline;font-weight:400}
@container activity-feed (max-width:800px){.activity-content{grid-template-columns:minmax(0,1fr);gap:8px}.activity-entry-header{flex-direction:row;align-items:center;flex-wrap:wrap}.activity-row,.activity-row--compact{padding-left:8px;padding-right:8px}}
.activity-entry-main>.activity-entry-details:first-child{margin-top:0}
.activity-upload-message{font-size:var(--fs-14);line-height:1.45}

.activity-entry-main>.activity-people{margin-top:8px}.activity-row--compact .activity-work-item{gap:8px}.activity-actions>.activity-time{padding:0;margin-right:8px;white-space:nowrap;align-self:center;font-size:var(--fs-12)}.activity-actions{align-items:flex-start}.activity-actions>.activity-time--with-date time{display:grid;gap:2px}
/* Context-specific feeds avoid repeating the page identity or reserving an empty column. */
.activity-row--without-context .activity-content{grid-template-columns:minmax(0,1fr);gap:8px}
.activity-row--without-context .activity-entry-header{flex-direction:column;align-items:flex-start}
@container activity-feed (max-width:640px){.activity-row--without-context{grid-template-columns:minmax(0,1fr);gap:6px}.activity-row--without-context .activity-actions{position:static;grid-column:1;grid-row:1;justify-self:end}.activity-row--without-context .activity-content{grid-column:1;grid-row:2}.activity-row--without-context .activity-entry-header,.activity-row--without-context .activity-entry-main{padding-right:0!important}}
@container activity-feed (max-width:420px){.activity-entry-header{min-height:40px}.activity-entry-header>.activity-offer-title{width:100%}}

.calendar-toolbar>.inline-actions:last-child{justify-self:end}
.calendar-toolbar-actions{flex-wrap:nowrap}
.month-nav{display:flex;align-items:center;gap:4px}
.month-nav .icon-button{width:30px;height:30px}
.month-nav .icon-button .icon{width:16px;height:16px;flex-basis:16px}
.month-title{margin:0;min-width:176px;text-align:center;font-size:var(--fs-16);font-weight:600;line-height:24px}
@media(max-width:900px){}

/* Vacation statistics: compact ranking with factual totals. */
.vacation-statistics-dialog{width:min(420px,calc(100% - 24px));max-width:none;max-height:min(760px,calc(100dvh - 32px));margin:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);overflow:hidden}
.vacation-statistics-dialog::backdrop{background:var(--scrim)}
.vacation-statistics-dialog:not([open]){display:none}
.vacation-statistics-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 16px;border-bottom:1px solid var(--border)}
.vacation-statistics-header form{margin:0}.vacation-statistics-header .icon-button{flex:0 0 32px;width:32px;height:32px}
.vacation-statistics-header h2{margin:0;font-size:var(--fs-16)}
.vacation-statistics-years{display:flex;gap:2px;margin:12px 16px 0;padding:2px;border:0;border-radius:var(--radius);background:var(--hover)}
.vacation-statistics-year{display:flex;min-height:28px;flex:1;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-13);font-weight:500;font-variant-numeric:tabular-nums;text-decoration:none}.vacation-statistics-year:hover{color:var(--text);text-decoration:none}.vacation-statistics-year.is-active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 0 0 1px var(--border)}
.vacation-statistics-content{max-height:min(540px,calc(100dvh - 154px));padding:12px 16px 16px;overflow:auto;overscroll-behavior:contain}
.vacation-leaderboard{display:grid;gap:4px;margin:0;padding:0;list-style:none}.vacation-leaderboard-row{display:grid;grid-template-columns:24px 24px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius)}.vacation-leaderboard-row:hover{background:var(--hover)}.vacation-leaderboard-row.is-current-user{border-color:var(--border);background:var(--hover)}
.vacation-leaderboard-row>.avatar{width:24px;height:24px;flex-basis:24px}.vacation-leaderboard-rank{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;color:var(--muted);font-size:var(--fs-12);font-weight:500;font-variant-numeric:tabular-nums}.vacation-leaderboard-rank .icon{width:14px;height:14px;flex-basis:14px}.vacation-leaderboard-row.rank-1 .vacation-leaderboard-rank{border-color:var(--border-strong);background:transparent;color:var(--text)}.vacation-leaderboard-row.rank-2 .vacation-leaderboard-rank{border-color:var(--border-strong);background:transparent;color:var(--text)}.vacation-leaderboard-row.rank-3 .vacation-leaderboard-rank{border-color:var(--border-strong);background:transparent;color:var(--text)}
.vacation-leaderboard-person{display:grid;gap:4px;min-width:0}.vacation-leaderboard-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.vacation-leaderboard-meta>strong:first-child{min-width:0;overflow:hidden;font-size:var(--fs-13);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.vacation-leaderboard-track{width:100%;height:4px;border-radius:999px;background:var(--hover);overflow:hidden}.vacation-leaderboard-track>span{display:block;width:var(--vacation-progress);height:100%;border-radius:inherit;background:var(--text-3)}
.vacation-leaderboard-days{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap}.vacation-statistics-empty{padding:28px;color:var(--muted);text-align:center}
@media(max-width:680px){.calendar-toolbar-actions{width:100%!important}.calendar-toolbar-actions .button{flex:1}.vacation-statistics-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.vacation-statistics-header{padding:14px 16px}.vacation-statistics-years{margin-right:16px;margin-left:16px}.vacation-statistics-content{max-height:calc(100dvh - 134px);padding-right:10px;padding-left:10px}.vacation-leaderboard-row{grid-template-columns:25px 30px minmax(0,1fr);gap:8px;padding:8px 6px}.vacation-leaderboard-row>.avatar{width:30px;height:30px;flex-basis:30px}.vacation-leaderboard-rank{width:24px;height:24px}}

/* Activity log create dialog and toolbar */
.app-window.main-content-activity{display:flex;flex-direction:column;padding:0;overflow:hidden;scrollbar-gutter:auto}.activity-log-controls{container:activity-controls/inline-size;flex:0 0 auto;padding:24px var(--main-inline-padding) 16px;border-bottom:1px solid var(--border)}.activity-log-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:20px var(--main-inline-padding) 24px;scrollbar-gutter:stable}.main-content-activity>.alert{flex:0 0 auto;margin:16px var(--main-inline-padding) 0}
.activity-filter-form{display:grid;gap:12px}.activity-toolbar{display:flex;align-items:center;gap:8px;margin:0}.activity-toolbar>.list-search-field{width:min(520px,55vw);flex-basis:520px}.activity-date-control{display:inline-flex;align-items:center}.activity-filter-toggle{gap:6px;min-height:var(--control-h);white-space:nowrap}.activity-date-control.is-active .activity-filter-toggle{background:var(--selected);color:var(--text)}.activity-date-control:has(.activity-date-clear) .activity-filter-toggle{border-radius:var(--radius) 0 0 var(--radius)}.activity-date-clear{display:inline-flex;align-items:center;justify-content:center;width:34px;height:var(--control-h);margin-left:-1px;border:1px solid var(--border-strong);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-soft);color:var(--accent)}.activity-date-clear:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface));text-decoration:none}.activity-date-clear .icon{width:13px;height:13px;flex-basis:13px}.activity-filter-panel{display:grid;gap:8px}.activity-filter-panel[hidden]{display:none}.activity-filter-panel-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.activity-date-presets{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.activity-date-preset{display:inline-flex;align-items:center;min-height:30px;padding:4px 8px;border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap}.activity-date-preset:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.activity-date-preset.is-active{background:var(--selected);color:var(--text);font-weight:500}.activity-subpanel-toggle{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;cursor:pointer}.activity-subpanel-toggle:hover{background:var(--surface-2);color:var(--text)}.activity-subpanel-toggle .icon{width:14px;height:14px;flex-basis:14px}.activity-subpanel-toggle[aria-expanded=true] .icon{transform:rotate(90deg)}.activity-advanced-filters-toggle{margin-left:auto}.activity-custom-range-fields,.activity-advanced-filter-fields{display:flex;align-items:end;gap:10px;padding:8px 0 2px}.activity-custom-range-fields[hidden],.activity-advanced-filter-fields[hidden]{display:none}.activity-custom-range-fields label{display:grid;gap:4px;color:var(--muted);font-size:var(--fs-12)}.activity-custom-range-fields input{width:190px;height:38px;padding:8px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.activity-advanced-filter-fields{align-items:center;justify-content:flex-end}.activity-filter-chips{margin:0}.activity-filter-chips .filter-chip{display:inline-flex;align-items:center;gap:4px;color:var(--text);text-decoration:none}.activity-filter-chips .filter-chip:hover{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.activity-filter-chips .icon{width:12px;height:12px;flex-basis:12px}.activity-list-empty{display:grid;justify-items:center;gap:8px;padding:32px;color:var(--muted);text-align:center}.activity-list-empty p{margin:0}html:not(.js) .activity-filter-toggle,html:not(.js) .activity-subpanel-toggle{display:none}html:not(.js) .activity-filter-panel[hidden]{display:grid}html:not(.js) .activity-custom-range-fields[hidden],html:not(.js) .activity-advanced-filter-fields[hidden]{display:flex}
.activity-new-button{gap:8px;margin-left:auto;white-space:nowrap}
.activity-shortcut-button{gap:8px;white-space:nowrap}
.activity-new-button .icon{width:16px;height:16px;flex-basis:16px}

.activity-dialog{width:min(720px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);overflow:hidden}
.activity-dialog::backdrop{background:var(--scrim)}
.activity-dialog:not([open]){display:none}
.activity-dialog[open]{display:flex;flex-direction:column}
.activity-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.activity-dialog-header h2{margin:0;font-size:var(--fs-16);font-weight:600;line-height:24px}
.activity-edit-dialog .activity-dialog-header p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-12)}
.activity-dialog-form{display:flex;max-height:calc(100dvh - 94px);flex-direction:column}
.activity-dialog-content{min-height:0;flex:1 1 auto;padding:16px;overflow:auto}
.activity-dialog-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.activity-dialog-context{grid-column:1/3}
.activity-dialog-fields.has-work-item .activity-dialog-context{grid-column:1}
.activity-dialog-work-item{grid-column:2}
.activity-dialog-status{display:grid;grid-column:1/3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.activity-dialog-status[hidden]{display:none}
.activity-dialog-current-status{display:grid;align-content:start;gap:4px;margin-bottom:12px}
.activity-dialog-field-label{font-size:var(--fs-13);font-weight:500}
.activity-current-status-value{display:flex;align-items:center;height:34px;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}

.activity-dialog-participants,.activity-dialog-body{grid-column:1/3}
.activity-edit-dialog-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.activity-dialog-body .form-row{margin-bottom:0}
.activity-dialog .activity-editor{min-height:150px;max-height:280px}.activity-edit-dialog .activity-editor{min-height:180px}
.activity-dialog .activity-editor:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.activity-editor:empty::before{content:attr(data-placeholder);color:var(--muted);opacity:1;pointer-events:none}
.activity-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}
.activity-dialog-actions{display:flex;align-items:center;gap:8px}
.activity-save-button,.work-item-save-button{gap:8px}


@container activity-controls (max-width:820px){
    .activity-toolbar{flex-wrap:wrap}
    .activity-toolbar>.list-search-field{width:auto;min-width:0;flex:1 1 100%}
}

@media(max-width:680px){
    .main-content-activity .mobile-bar{flex:0 0 48px;margin:0}.activity-log-controls{padding:12px 16px 14px}.activity-log-scroll{padding:16px}
    .activity-toolbar{flex-wrap:wrap}
    .activity-toolbar>.list-search-field{width:auto;min-width:0;flex:1 1 100%}
    .activity-date-control{flex:1 1 auto}.activity-filter-toggle{flex:1 1 auto}.activity-new-button{margin-left:0}
    .activity-filter-panel-controls{align-items:stretch}.activity-date-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.activity-date-preset{justify-content:center}.activity-subpanel-toggle{flex:1 1 auto;justify-content:center}.activity-advanced-filters-toggle{margin-left:0}.activity-custom-range-fields{align-items:stretch;flex-direction:column}.activity-custom-range-fields input{width:100%}.activity-custom-range-fields .button{align-self:flex-end}.activity-advanced-filter-fields{justify-content:space-between}
    .activity-new-button kbd,.activity-shortcut-button kbd,.work-item-new-button kbd,.work-item-shortcut-button kbd{display:none}
    .toast-region{bottom:12px;width:calc(100vw - 24px)}

    .activity-dialog-form{min-height:0;flex:1 1 auto;max-height:none}
    .activity-dialog-content{padding:16px 16px 84px}
    .activity-dialog-fields{grid-template-columns:minmax(0,1fr)}
    .work-item-dialog-fields{grid-template-columns:minmax(0,1fr)}
    .work-item-dialog-title,.work-item-dialog-description,.work-item-dialog-assignees{grid-column:1}
    .activity-dialog-context,.activity-dialog-fields.has-work-item .activity-dialog-context,.activity-dialog-work-item,.activity-dialog-status,.activity-dialog-participants,.activity-dialog-body{grid-column:1}
    .activity-dialog-status{grid-template-columns:minmax(0,1fr)}
    .activity-dialog .activity-editor{min-height:140px}

    .activity-dialog-actions{width:100%;justify-content:flex-end}
}

/* Calendar chips are informational, not links; the note shows as an instant CSS tooltip */
.absence-person[data-note]{position:relative;cursor:pointer;overflow:visible}
.absence-person[data-note]::before{content:'';order:1;flex:none;align-self:center;margin-left:auto;width:15px;height:15px;background:color-mix(in srgb,var(--text) 55%,transparent);-webkit-mask:var(--icon-info-mask) center/contain no-repeat;mask:var(--icon-info-mask) center/contain no-repeat;--icon-info-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E")}
.absence-person[data-note]::after{content:attr(data-note);position:absolute;left:0;top:calc(100% + 5px);z-index:30;width:max-content;max-width:250px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs-12);font-weight:400;line-height:1.35;white-space:normal;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none}
.absence-person[data-note]:hover::after,.absence-person[data-note]:focus-visible::after{opacity:1;visibility:visible}

/* Employee directory and profile (ADR-025) */
.employee-directory{display:grid;gap:24px}
.employee-directory-group h2{margin:0 0 8px;font-size:var(--fs-16);font-weight:600}
.employee-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.employee-card{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:center;min-width:0;min-height:48px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}
.employee-card:hover,.employee-card:focus-visible{border-color:var(--border-strong);background:var(--surface-2);text-decoration:none}
.employee-card .avatar{grid-column:1;width:28px;height:28px;flex-basis:28px}
.employee-card-name{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-14);font-weight:500}
.employee-card-status{position:absolute;right:8px;top:50%;display:flex;align-items:center;min-width:0;min-height:16px;transform:translateY(-50%)}
.employee-card .absence-now-chip{width:max-content;margin:0;padding:0;font-size:var(--fs-12)}
@media(max-width:1100px){.employee-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.employee-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.employee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.employee-card-grid{grid-template-columns:1fr}}
.profile-header{display:flex;align-items:center;gap:12px;margin-bottom:0}
.profile-header .avatar{width:40px;height:40px;flex-basis:40px}
.profile-header h1{margin:0;display:flex;align-items:center;gap:8px}
.profile-meta{margin:4px 0 0;color:var(--muted);font-size:var(--fs-13)}
.profile-section{margin-top:32px}
.year-title{min-width:48px;text-align:center;font-size:var(--fs-13);font-weight:500}
.profile-section .date-separator{margin:12px 0 4px;font-size:var(--fs-13)}
.profile-totals{margin-top:8px;color:var(--muted);font-size:var(--fs-13)}
.profile-projects{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.absence-now-chip{display:inline-flex;align-items:center;margin-left:8px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:var(--fs-12);font-weight:400;white-space:nowrap}
.absence-now-banner{margin:16px 0 0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);font-size:var(--fs-13)}

/* Day-overview dialog on the month calendar */
.absence-day[data-day-dialog]{cursor:pointer}
.day-dialog{cursor:auto;width:min(400px,calc(100% - 24px));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);padding:16px}
.day-dialog::backdrop{background:var(--scrim)}
.day-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.day-dialog-header h2{margin:0;font-size:var(--fs-14);font-weight:600}
.day-dialog-header form{margin:0}
.day-dialog-holiday{margin:2px 0 0;color:color-mix(in srgb,var(--danger) 70%,var(--text));font-size:var(--fs-12)}
.day-dialog-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.day-dialog-list li{display:flex;gap:8px;align-items:flex-start}
.day-dialog-list li+li{border-top:1px solid var(--border);padding-top:8px}
.day-dialog-list .avatar{width:24px;height:24px;flex-basis:24px;font-size:var(--fs-12)}
.day-dialog-person{display:grid;gap:2px;min-width:0}
.day-dialog-person strong{font-size:var(--fs-13)}
.day-dialog-person small{color:var(--muted);font-size:var(--fs-12)}
.day-dialog-note{margin:4px 0 0;padding:4px 8px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--fs-13);line-height:18px}

/* New-absence form: searchable selects, picker polish, selection footer */
.range-calendar-header strong{}
.selected-dates-panel li button{display:inline-flex;align-items:center;justify-content:center}
.selected-dates-panel li button .icon{width:14px;height:14px;flex-basis:14px}
.selected-dates-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:var(--fs-13)}
.selected-dates-footer[hidden]{display:none}
.selected-dates-footer .button{min-height:28px;padding:4px 10px;font-size:var(--fs-12)}
.type-chips{display:flex;gap:8px;flex-wrap:wrap}
.type-chips input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.type-chips label{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:var(--fs-13);font-weight:500;cursor:pointer;user-select:none}
.type-chips label:hover{color:var(--text);border-color:color-mix(in srgb,var(--muted) 55%,var(--border))}
.type-chips input:checked+label{background:var(--selected);border-color:var(--border-strong);color:var(--text);font-weight:500}
.type-chips input:focus-visible+label{outline:2px solid var(--focus);outline-offset:2px}
.confirm-dialog{width:min(430px,calc(100% - 24px));border-left:1px solid var(--border)}
.confirm-dialog p{margin:0 0 6px}
.confirm-dialog-heading{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.confirm-dialog-heading .icon{width:20px;height:20px;flex:0 0 20px;background:var(--warning)}
.confirm-dialog-heading p{margin:0;font-size:var(--fs-14)}
.confirm-dialog-notice{margin:0 0 0 40px}
.confirm-dialog .form-actions{margin-top:16px;justify-content:flex-start;margin-left:40px}

/* Project favicon avatar */
.project-avatar--generated{background:transparent;border:0;border-radius:0}
.project-avatar--generated>svg{display:block;width:100%;height:100%;flex:none}

/* Semantic status icons stay paired with text; size follows the density of each surface. */
.work-item-title-row .work-item-status .status-icon{width:14px;height:14px;flex-basis:14px}.project-statuses .status-icon{width:14px;height:14px;flex-basis:14px}.project-phase-group>summary .status-icon{width:14px;height:14px;flex-basis:14px}.project-card-status .status-icon,.work-item-row .status-icon,.work-item-list-row .status-icon{width:13px;height:13px;flex-basis:13px}.filter-chip .status-icon{width:12px;height:12px;flex-basis:12px}.status-transition>span:not(.status-transition-arrow){display:inline-flex;align-items:center;gap:4px}.status-transition .status-icon{width:13px;height:13px;flex-basis:13px}.activity-current-status-value .status-icon{width:14px;height:14px;flex-basis:14px}.history-entry-content>header .status-icon{width:13px;height:13px;flex-basis:13px}.day-dialog-person small.status-label{display:flex}.day-dialog-person .status-icon{width:12px;height:12px;flex-basis:12px}.profile-projects .status-icon{width:12px;height:12px;flex-basis:12px}

/* Home uses independent columns so a taller side card never creates a gap in the primary feed. */
.dashboard-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:48px;align-items:start}.dashboard-primary-column,.dashboard-secondary-column{display:grid;align-content:start;gap:32px;min-width:0}.dashboard-my-work{padding-bottom:0;border-bottom:0}.dashboard-my-work-more{display:flex;align-items:center;gap:4px;width:max-content;margin-top:8px;color:var(--muted);font-size:var(--fs-13)}.dashboard-my-work-more .icon{width:15px;height:15px;flex-basis:15px}.dashboard-heading-hint,.dashboard-work-date{font-size:var(--fs-12)}.dashboard-team-deadlines-heading{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:12px;padding:0;border-bottom:0}.dashboard-team-deadlines-heading .dashboard-heading-title{align-items:baseline}.dashboard-team-deadlines-heading h2{margin:0;font-size:var(--fs-16);font-weight:600;line-height:20px}.dashboard-team-deadlines-heading .dashboard-heading-hint{line-height:20px}.dashboard-team-deadlines-heading>a{color:var(--muted);font-size:var(--fs-13);white-space:nowrap}.dashboard-deadline-item>.dashboard-deadline-copy{display:grid;min-width:0}.dashboard-deadline-item>.dashboard-deadline-assignees{display:flex;align-items:center;min-width:max-content;padding-left:8px}.dashboard-deadline-assignees .avatar{width:20px;height:20px;flex-basis:20px;border-color:var(--bg)}.dashboard-deadline-unassigned{color:var(--muted);font-size:var(--fs-12);white-space:nowrap}.dashboard-deadline-more{display:flex;align-items:center;gap:4px;margin:4px 0 0;padding-top:8px;border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-13)}.dashboard-deadline-more .icon{width:15px;height:15px;flex-basis:15px}.announcement-heading{flex:1}.announcement-title-line{display:flex;align-items:flex-end;gap:4px 16px;min-width:0;flex-wrap:wrap}.announcement-title-line h2{flex:0 1 auto;line-height:1.2}.announcement-meta{margin:0;font-size:var(--fs-12);line-height:1.35}.dashboard-announcements .announcement h2{font-size:var(--fs-14)}.dashboard-announcements .announcement-meta{margin:0}

@media(max-width:900px){.dashboard-activity{grid-row:auto;order:3}.dashboard-absence-column{grid-row:auto;order:4}.dashboard-absence-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-absence-group+.dashboard-absence-group{border-top:0;border-left:1px solid var(--border)}}
@media(max-width:620px){.dashboard-absence-groups{grid-template-columns:1fr}.dashboard-absence-group+.dashboard-absence-group{border-top:1px solid var(--border);border-left:0}.announcement-title-line{display:grid;gap:8px}.announcement-meta{gap:4px 8px}.announcement-meta>*{width:auto}}

/* Offers reuse invoice form and list primitives. */
.document-list-page{container:document-list/inline-size}
.document-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.document-list-toolbar>p{max-width:66ch;margin:0;font-size:var(--fs-12)}
.offer-filters,.invoice-filters{display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:620px}
.offer-filters .list-search-field,.invoice-filters .list-search-field{flex:1;min-width:160px}
.offer-filters .filter-popover-panel{left:auto;right:0;min-width:0;width:min(330px,calc(100vw - 48px))}
.offer-filters .filter-popover-panel>label{font-size:var(--fs-12);font-weight:600}
.offer-list-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.offer-list-actions .button{white-space:nowrap}
.document-list-scopes{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);margin-bottom:14px}
.document-list-scopes .invoice-scopes{border:0;margin:0;flex:1}
.document-filter-reset{font-size:var(--fs-12);color:var(--muted);white-space:nowrap}
.document-filter-chips{margin-bottom:14px}
.document-list-page .invoice-list{border-top:0}
.offer-row,.document-list-page .invoice-row{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(150px,1.2fr) 105px 130px 104px;grid-template-areas:"identity customer date total actions";gap:16px;align-items:center;min-height:56px;padding:8px 12px;border-bottom:1px solid var(--border)}
.document-list-page .invoice-row{grid-template-columns:minmax(130px,.8fr) minmax(150px,1.5fr) 105px 130px 104px}
.offer-row:hover{background:transparent}
.offer-row>*,.document-list-page .invoice-row>*{min-width:0;overflow-wrap:anywhere}
.document-list-page .invoice-row-main{grid-area:identity;gap:4px}
.document-list-page .invoice-customer{grid-area:customer;gap:4px;display:grid}
.offer-row>time,.document-list-page .invoice-row>time{grid-area:date;color:var(--muted);font-size:var(--fs-13);line-height:20px}
.document-list-page .invoice-total{grid-area:total;text-align:right;white-space:nowrap}
.document-list-page .invoice-row-actions{grid-area:actions}
.document-list-page .invoice-row-main strong,.document-list-page .invoice-customer strong{font-weight:500;white-space:normal;overflow-wrap:anywhere}
.document-list-page .invoice-row-main a{color:var(--text)}
.offer-row .invoice-customer>a{font-size:var(--fs-13);color:var(--text)}
.offer-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.offer-row-meta>.offer-archive-label{display:inline-flex;align-items:center}.offer-row-meta>span+span::before{content:"·";margin-right:12px;color:var(--muted)}
.offer-row .invoice-total{display:grid;gap:2px;font-weight:500}
.offer-row .invoice-total>span{font-size:var(--fs-12);color:var(--muted);font-weight:400}
.document-form{container:document-form/inline-size}
.document-form .form-section{padding:8px 0 20px}
.document-form .form-section>h2{margin-bottom:16px}
.document-form .form-actions{justify-content:flex-start;gap:8px;flex-wrap:wrap}
.document-form .invoice-items{gap:12px}
.document-form .invoice-item,.document-form .offer-item{position:relative;display:grid;grid-template-columns:100px minmax(100px,1fr) minmax(145px,1fr);gap:12px;align-items:start;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(100px,1fr) minmax(145px,1fr)}
.document-form .document-item-heading{grid-column:1/-1;font-size:var(--fs-12);font-weight:600;color:var(--muted);margin:0;padding-right:32px;line-height:24px}
.document-form .invoice-item>.form-row,.document-form .offer-item>.form-row{margin:0;min-width:0}
.document-form .invoice-item>.form-row:has(textarea),.document-form .offer-item>.form-row:has(textarea){grid-column:1/-1}
.document-form .invoice-item>.form-errors,.document-form .offer-item>.form-errors{grid-column:1/-1}
.document-form .invoice-item>.form-row>label{min-height:0}
.document-form .invoice-item textarea,.document-form .offer-item textarea{min-height:84px}
.document-form .invoice-item>.form-row:has(textarea)>label,.document-form .offer-item>.form-row:has(textarea)>label{padding-right:32px}
.document-form .invoice-item-remove,.document-form .offer-item-remove{position:absolute;top:8px;right:8px;margin:0}
.document-form .offer-item>[hidden],.document-form .invoice-item>[hidden]{display:none}
.offer-pricing-mode{max-width:340px}
.offer-pricing-help{font-size:var(--fs-12);max-width:65ch;margin:0 0 16px}
.offer-item-price-control{display:flex;align-items:center;gap:8px}
.offer-item-price-control>input{min-width:0;flex:1}
.offer-discount-toggle{flex:0 0 34px}
.offer-discount-symbol{font-size:var(--fs-16);font-weight:600;line-height:1}
.offer-discount-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0}
.offer-discount-fields>.form-row{min-width:0;margin:0}
.offer-item-price-control>[hidden],.offer-discount-toggle>[hidden],.offer-discount-fields[hidden]{display:none}
.offer-line-total{grid-column:1/-1;display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--border);text-align:right;font-size:var(--fs-12)}
.offer-line-total>[data-before-discount]{color:var(--muted)}
.offer-totals{margin:16px 0 0 auto;max-width:420px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.offer-totals p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:var(--fs-12)}
.offer-totals [data-offer-savings]{display:grid;gap:6px;color:var(--muted);margin-bottom:10px}
.offer-totals .offer-totals-final{font-size:var(--fs-14)}
.offer-totals [data-total-amount],.offer-line-total [data-total-amount]{white-space:nowrap}
.offer-totals[hidden],.offer-totals [hidden],.offer-line-total[hidden],.offer-line-total [hidden]{display:none}
.offer-note-fields{margin:0 0 20px}.offer-note-fields>summary{width:fit-content;list-style:none;cursor:pointer}.offer-note-fields>summary::-webkit-details-marker{display:none}.offer-note-fields[open]>summary{margin-bottom:12px}.offer-note-fields.is-enhanced[open]>summary{display:none}.offer-note-inputs{position:relative;display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.offer-note-inputs>.form-row{min-width:0;margin:0}.offer-note-inputs .activity-editor,.offer-note-inputs textarea{min-height:calc(5lh + 18px)}.offer-note-remove{position:absolute;top:8px;right:8px}.offer-note-inputs [data-offer-note-remove][hidden]{display:none}
.offer-copy-company{padding:2px 0 0}
.offer-copy-company .form-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px 8px;margin-bottom:0}
.offer-copy-company .form-row>label{grid-column:2;grid-row:1;margin:0;font-size:var(--fs-12);font-weight:400}
.offer-copy-company input[type=checkbox]{grid-column:1;grid-row:1;width:auto;margin:0;justify-self:start}
.offer-copy-company .form-help,.offer-copy-company .form-errors{grid-column:1/-1}
@container document-list (max-width:850px){
    .document-list-toolbar{flex-wrap:wrap;align-items:flex-start}
    .offer-filters,.invoice-filters{max-width:none;flex-basis:100%;order:2}
    .offer-list-actions{margin-left:auto}
    .offer-row,.document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"identity customer total" "identity date actions";gap:8px 16px}
}
@container document-list (max-width:540px){
    .document-list-toolbar{gap:12px}
    .offer-list-actions{width:100%;margin:0}
    .offer-list-actions .button{flex:1}
    .offer-filters .list-search-field,.invoice-filters .list-search-field{min-width:0}
    .offer-row,.document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity identity" "customer date" "total actions";gap:8px 12px;padding:16px 0}
    .document-list-page .invoice-total{text-align:left}

    .document-list-page .invoice-row-actions .icon-button{width:40px;height:40px}
    .document-list-page .invoice-row-main strong{font-size:var(--fs-14)}
    .document-list-page .invoice-customer{font-size:var(--fs-12)}
    .invoice-list-page .document-list-toolbar>.button{width:100%}
}
@container document-form (max-width:540px){
    .document-form .invoice-form-grid{grid-template-columns:1fr}
    .document-form .invoice-form-grid>.form-row{grid-row:auto;grid-template-rows:none}
    .document-form .invoice-item,.document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px}
    .offer-note-inputs{padding:14px}.offer-note-remove{width:40px;height:40px;top:2px;right:3px}
    .document-form .invoice-item>.form-row:last-of-type{grid-column:1/-1}
    .document-form .invoice-item-remove,.document-form .offer-item-remove{width:40px;height:40px;top:2px;right:3px}
    .document-form .form-actions>.button{flex:1}
}

.offer-row.is-draft{background:transparent;box-shadow:none}
.offer-row.is-draft:hover{background:transparent}
.offer-row-meta>.offer-draft-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--muted) 5%,transparent);color:var(--text);font-size:var(--fs-12);font-weight:600;line-height:1.4}
.offer-row-meta>.offer-draft-badge::before{display:none}
.offer-draft-badge .icon{width:12px;height:12px;flex-basis:12px;color:var(--status-amber)}
.offer-dialog-identity{display:grid;gap:4px;overflow-wrap:anywhere}
.offer-dialog-identity>span{color:var(--muted);font-size:var(--fs-12)}

/* Shared list chrome follows the Activity and Project directory spacing. */
.app-window.main-content-list{display:flex;flex-direction:column;padding:0;overflow:hidden;scrollbar-gutter:auto}
.main-content-list .list-page-controls{flex:0 0 auto;padding:16px var(--main-inline-padding) 8px;border-bottom:1px solid var(--border);background:var(--bg)}
.main-content-list .list-page-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:16px var(--main-inline-padding) 24px;scrollbar-gutter:stable}
.main-content-list>.alert{flex:0 0 auto;margin:16px var(--main-inline-padding) 0}
.main-content-documents .document-list-page{display:flex;flex:1;min-height:0;flex-direction:column}
.main-content-documents .document-list-scopes{margin-bottom:0;border-bottom:0}
.main-content-documents .document-filter-chips{margin-bottom:0}
@media(max-width:840px){.main-content-list>.mobile-bar{flex:0 0 48px;margin:0}}
@media(max-width:680px){


}

/* Quick filters use the same compact control across all list pages. */
.list-scope{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;line-height:20px;text-decoration:none;white-space:nowrap}
.list-scope:hover{background:var(--hover);color:var(--text);text-decoration:none}
.list-scope.is-active{background:var(--selected);color:var(--text)}
.document-list-scopes .invoice-scopes{align-items:center;gap:6px;flex-wrap:wrap}
.document-list-toolbar{margin-bottom:10px}
.list-page-controls .filter-popover>summary.button{min-height:var(--control-h)}

/* Offer workflow: compact commercial status and project-linked work. */
.offer-row{grid-template-columns:96px 104px minmax(150px,1fr) minmax(180px,1.8fr) 130px 136px;grid-template-areas:"date number customer identity total actions"}
.offer-row .offer-number{grid-area:number;color:var(--text);font-size:var(--fs-13);font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.offer-work-links{display:grid;gap:4px}.offer-row .offer-work-link{font-size:var(--fs-12);line-height:16px;color:var(--muted);overflow-wrap:anywhere}
.offer-row .invoice-customer>span{font-size:var(--fs-12);color:var(--muted)}


.offer-row-meta>.offer-draft-badge,.offer-manage-dialog .offer-draft-badge{padding:0;border:0;border-radius:0;background:none;font-size:var(--fs-12);font-weight:400;line-height:inherit}

.offer-status{font-size:var(--fs-12);font-weight:400}.offer-status--sent{color:var(--muted)}.offer-row .offer-row-meta>.offer-status--accepted,.offer-row .invoice-total>.offer-payment--paid{color:var(--success)}.offer-row .offer-row-meta>.offer-status--rejected{color:var(--danger)}
.offer-row .offer-payment{font-size:var(--fs-12);font-weight:400}
.offer-manage-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.offer-manage-dialog .activity-dialog-header>div{min-width:0}.offer-manage-dialog .activity-dialog-header h2{font-size:var(--fs-16)}
.offer-manage-identity{margin:4px 0 0;font-size:var(--fs-12);overflow-wrap:anywhere}.offer-manage-project{margin:0 0 16px;font-size:var(--fs-13)}
.offer-manage-section+.offer-manage-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.offer-manage-section h3{margin:0 0 12px;font-size:var(--fs-14)}.offer-manage-section .section-heading h3{margin:0}
.offer-manage-status-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.offer-manage-status-fields .form-row{min-width:0}
.offer-linked-work-items{list-style:none;padding:0;margin:14px 0}.offer-linked-work-items li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.offer-linked-work-items a{min-width:0;overflow-wrap:anywhere}.offer-linked-work-items .muted{font-size:var(--fs-12);flex-shrink:0}
.offer-link-editor{margin-top:14px}.offer-link-editor>summary{cursor:pointer;color:var(--link);font-size:var(--fs-13)}
.offer-work-choices{display:grid;gap:4px;max-height:240px;overflow:auto;margin:12px 0}.offer-work-choice{display:flex;align-items:start;gap:8px;padding:8px;border-radius:var(--radius);background:var(--surface)}.offer-work-choice>span{min-width:0;overflow-wrap:anywhere}.offer-work-choice small{display:block;font-size:var(--fs-12);color:var(--muted)}.offer-work-choice[hidden],.offer-manage-dialog [hidden]{display:none!important}
.offer-work-search{margin-top:14px}
@container document-list (max-width:1100px){.offer-row{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 136px;grid-template-areas:"date customer identity actions" "number customer total actions";gap:8px 16px}}
@container document-list (max-width:600px){.offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "customer customer" "identity identity" "total actions";gap:8px 12px}.offer-row .invoice-customer{margin-bottom:4px}}
@media(max-width:560px){.offer-manage-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.offer-manage-status-fields{grid-template-columns:1fr;gap:0}.offer-linked-work-items li{flex-direction:column;gap:4px}}

.offer-manage-dialog .toast-region{position:static;width:auto;max-width:none;transform:none;margin:0 0 14px;padding:0}.offer-manage-dialog .toast{box-shadow:none}

/* Offer status markers reuse the shared circular icon system. */
.offer-status,.offer-payment,.offer-manage-dialog .offer-draft-badge{display:inline-flex;align-items:center;gap:4px}
.offer-row .status-icon--offer-draft,.status-icon--offer-draft{color:var(--status-amber)}
.offer-row .status-icon--offer-accepted,.status-icon--offer-accepted,.status-icon--offer-payment-paid{color:var(--success)}
.offer-row .status-icon--offer-rejected,.status-icon--offer-rejected{color:var(--danger)}
.offer-project-link{display:flex;align-items:center;gap:8px;min-width:0}
.offer-project-link .project-avatar{width:20px;height:20px;flex-basis:20px;font-size:var(--fs-12);color:#fff}
.offer-manage-status-fields:has([data-offer-payment][hidden]){grid-template-columns:1fr}

/* Offer list alignment and single-list work selection. */
.offer-row>time,.offer-row .offer-number{align-self:center;text-align:left;line-height:20px}
.offer-row .invoice-total>.offer-payment{justify-content:flex-end;text-align:right}

.offer-manage-dialog #offer-management-title:focus{outline:none}
.offer-work-add{margin:16px 0 8px}
.offer-work-copy{display:grid;gap:4px;flex:1;min-width:0}
.offer-work-copy>.status-label{font-size:var(--fs-12);color:var(--muted)}
.offer-linked-work-items li{align-items:center}
.offer-linked-work-items [data-offer-work-remove]{flex:0 0 32px}
.offer-work-empty{padding:16px 12px;border:1px dashed var(--border);border-radius:var(--radius);text-align:center;font-size:var(--fs-12)}
.offer-work-actions{align-items:center;flex-wrap:wrap;gap:8px}
.offer-work-actions .form-help{margin:0}
@media(max-width:560px){.offer-linked-work-items li{flex-direction:row}.offer-work-actions>.form-help{flex-basis:100%}}

.offer-work-add .combobox-empty{margin:0;padding:10px 12px;color:var(--muted);font-size:var(--fs-12);line-height:1.5}
@container document-list (max-width:1100px){.offer-row .invoice-total>.offer-payment{justify-content:flex-start;text-align:left}}

/* Invoice rows share the offer information order and project identity. */
.document-list-page .invoice-row{grid-template-columns:96px minmax(100px,.65fr) minmax(180px,1.6fr) minmax(150px,1.1fr) 130px 136px;grid-template-areas:"date number identity customer total actions"}
.invoice-list-page .invoice-number{grid-area:number;align-self:center;text-align:left;font-variant-numeric:tabular-nums;font-size:var(--fs-13);font-weight:500;color:var(--text);line-height:20px}
.invoice-list-page .invoice-row>time{text-align:left;line-height:20px}
.invoice-list-page .offer-project-link{font-size:var(--fs-13);color:var(--text)}
.invoice-action-spacer{width:32px;flex:0 0 32px}
.invoice-filters .filter-popover-panel{left:auto;right:0;width:min(330px,calc(100vw - 48px))}
.invoice-project-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.invoice-project-dialog h2:focus{outline:none}
.invoice-project-dialog .activity-dialog-header p{margin:4px 0 0;font-size:var(--fs-12)}
@container document-list (max-width:1100px){.document-list-page .invoice-row{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 136px;grid-template-areas:"date identity customer actions" "number identity total actions";gap:8px 16px}.invoice-list-page .invoice-total{text-align:left}}
@container document-list (max-width:600px){.document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity identity" "customer customer" "total actions";gap:8px 12px}.invoice-list-page .invoice-row-actions{grid-row:auto;grid-column:auto}.invoice-list-page .invoice-total{grid-row:auto;grid-column:auto}}
.invoice-project-dialog{height:fit-content;border:1px solid var(--border);border-radius:var(--radius-md);overflow:visible}
.invoice-project-dialog .activity-dialog-content{overflow:visible;padding:16px}
.invoice-project-dialog .combobox-options{max-height:min(240px,35dvh)}

/* Project workspace: scoped navigation and naturally scrolling content. */

.project-tabs{display:flex;grid-column:1/-1;gap:20px;min-width:0;overflow-x:auto;scrollbar-width:none}
.project-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 0 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500}
.project-tab:hover,.project-tab.is-active{color:var(--text);text-decoration:none}
.project-tab.is-active{border-bottom-color:var(--text)}
.project-tab-count{padding:0;background:transparent;color:var(--text-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums}
.project-overview-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.project-overview-layout .project-side-card{height:auto;max-height:none;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.project-overview-layout .project-side-card::after{display:none}
.project-overview-layout .project-side-card-content{padding:0;overflow:visible;scrollbar-gutter:auto}
.project-overview-layout .project-side-card>.section-heading{min-height:32px;margin-bottom:0;padding:0 0 8px;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border)}
.project-overview-layout .project-information-footer{margin-top:0}
.project-overview-layout .project-people{grid-template-columns:1fr}
.project-overview-layout .project-key-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.project-customer-details{margin-top:0}
.project-customer-hint{color:var(--muted);font-size:var(--fs-13);line-height:20px}
.project-tab-content{padding-bottom:24px}
.project-tab-toolbar{margin-bottom:16px}
.project-tab-content.document-list-page .offer-row,.project-tab-content.document-list-page .invoice-row{grid-template-columns:100px minmax(110px,.7fr) minmax(200px,2fr) 130px 136px;grid-template-areas:"date number identity total actions"}
.project-work-offer{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--muted);font-size:var(--fs-12);font-weight:400}
.project-work-offer .icon{width:12px;height:12px}
.project-detail-page .work-item-title{min-width:0}
.project-detail-page .work-item-title>a:first-child{color:var(--text)}
.project-tab-content .work-item-row{grid-template-columns:110px minmax(0,1fr) minmax(100px,.4fr) 130px}
@media(max-width:1100px){}
@container document-list (max-width:900px){.project-tab-content.document-list-page .offer-row,.project-tab-content.document-list-page .invoice-row{grid-template-columns:100px minmax(0,1fr) 136px;grid-template-areas:"date identity actions" "number total actions";gap:8px 16px}}
@container document-list (max-width:600px){.project-tab-content.document-list-page .offer-row,.project-tab-content.document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity identity" "total actions"}.project-tab-content .work-item-row{grid-template-columns:minmax(0,1fr) auto}.project-tab-content .work-item-title{grid-column:1/-1}.project-tab-content .work-item-status{grid-column:2;grid-row:1}.project-tab-content .work-item-assignees{grid-column:1/-1}}
@media(max-width:600px){.project-overview-layout .section-heading .inline-actions{flex-wrap:wrap}.project-tab-toolbar{align-items:stretch;flex-direction:column}.project-tab-toolbar .offer-list-actions{justify-content:flex-end}.project-tab-toolbar .offer-filters{width:100%}}
.project-detail-page .work-item-title{white-space:normal;overflow:visible;text-overflow:clip}
.project-detail-page .work-item-title strong{white-space:normal;overflow-wrap:anywhere}


.project-tab-content .document-list-scopes,.project-tab-content .invoice-scopes,.project-tab-content .invoice-list,.project-tab-content .work-item-list{border-top:0;border-bottom:0}

/* Alternate work-item board, sharing the list controls and theme tokens. */
.work-item-view-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.work-item-views{display:inline-flex;flex-shrink:0;gap:2px;padding:0;border:0;border-radius:var(--radius);background:transparent}
.work-item-view{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;border-radius:var(--radius);font-size:var(--fs-13);font-weight:500;color:var(--muted)}
.work-item-view .icon{width:14px;height:14px}.work-item-view.is-active{background:var(--selected);color:var(--text)}.work-item-view:hover{color:var(--text);background:var(--hover);text-decoration:none}
.main-content-board{container:work-item-board/inline-size}.main-content-board .work-item-board-scroll{padding-top:12px;scroll-padding:16px}
.work-item-board{display:flex;align-items:stretch;gap:12px;min-height:100%;width:max-content;min-width:100%;padding-bottom:4px}
.work-item-board-column{flex:1 0 264px;width:264px;max-width:320px;min-width:0;border-radius:var(--radius)}
.work-item-board-heading{position:sticky;top:-12px;z-index:2;display:flex;align-items:center;gap:6px;min-height:32px;margin:0 0 8px;padding:4px;background:var(--bg);font-size:var(--fs-13);font-weight:500}
.work-item-board-count{font-size:inherit;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.work-item-board-cards{display:grid;gap:8px}
.work-item-board-card{min-width:0;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}
.work-item-board-card[draggable=true]{cursor:grab}.work-item-board-card:hover{border-color:var(--border-strong)}.work-item-board-card:focus-within{border-color:var(--focus)}
.work-item-board-card h3{margin:4px 0 8px;font-size:var(--fs-14);font-weight:500;line-height:20px;overflow-wrap:anywhere}.work-item-board-card h3 a{color:var(--text)}
.work-item-board-project{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-12);line-height:16px;color:var(--muted)}.work-item-board-project>span:last-child{min-width:0;overflow-wrap:anywhere}.work-item-board-project .project-avatar{width:16px;height:16px;flex:0 0 16px;border-radius:var(--radius-sm)}
.work-item-board-assignees{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;color:var(--muted);font-size:var(--fs-12);line-height:16px;overflow-wrap:anywhere}.work-item-board-assignees>.icon{display:none}.work-item-board-assignees>span:last-child{min-width:0}
.work-item-board-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.work-item-board-footer .work-item-date{min-width:0;padding:0;font-size:var(--fs-12);line-height:16px;white-space:normal}.work-item-board-due{display:inline;margin-left:4px;font-size:var(--fs-12)}.work-item-board-no-date{font-size:var(--fs-12)}
.work-item-board-activity{flex-shrink:0;gap:4px;min-height:24px;margin:-2px -4px -2px 0;padding:2px 6px;font-size:var(--fs-12);background:transparent;border-color:transparent;color:var(--muted)}.work-item-board-activity .icon{width:12px;height:12px}.work-item-board-activity:hover{background:var(--hover);color:var(--text)}
.work-item-board-empty{margin:0;padding:16px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;font-size:var(--fs-12);color:var(--text-3)}
.work-item-board-pagination{display:grid;gap:8px;margin-top:10px}.work-item-board-more,.work-item-board-previous{font-size:var(--fs-12);text-align:center}.work-item-board-more[aria-disabled=true]{opacity:.6;cursor:wait}
.work-item-board-card.is-dragging{opacity:.45}.work-item-board-column.is-drop-target{outline:2px dashed var(--border-strong);outline-offset:4px;background:var(--hover)}
@container work-item-board (max-width:680px){.work-item-board-column{width:auto;max-width:none}.work-item-board-card h3 a,.work-item-board-project{display:flex;align-items:center;min-height:24px}}

.work-item-board-card.is-overdue{background:var(--surface);border-color:var(--border)}.work-item-board-card.is-overdue:hover{border-color:var(--border-strong)}.work-item-board-card.is-overdue:focus-within{border-color:var(--focus)}
.work-item-board-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.work-item-board-info{width:24px;height:24px;flex:0 0 24px;margin:-4px -4px -4px 0;color:var(--muted)}.work-item-board-info:hover{background:var(--hover);color:var(--text)}.work-item-board-info .icon{width:14px;height:14px}
.work-item-board-info-dialog{cursor:auto}.work-item-board-info-estimate{margin:16px 0 0;font-size:var(--fs-13)}
@container work-item-board (max-width:680px){}
.invoice-form-grid>.offer-number-row{grid-template-rows:none}.offer-number-input{display:flex;align-items:center;gap:8px}.offer-number-input input{min-width:0;flex:1}.offer-number-suffix{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.offer-number-suffix[hidden]{display:none}
.project-delete-dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px}
.project-delete-dialog[open]{position:relative;inset:auto;transform:none;margin:24px auto}
.project-delete-dialog[open]:modal{position:fixed;inset:0;margin:auto}
.project-delete-dialog h1{font-size:var(--fs-22);margin:0 32px 8px 0}
.project-delete-name{font-size:var(--fs-16);font-weight:600;overflow-wrap:anywhere;margin:0 0 20px}
.project-delete-warning{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);padding:16px;background:color-mix(in srgb,var(--danger) 6%,var(--surface))}
.project-delete-warning p{margin:10px 0}
.project-delete-counts{margin:0;display:grid;gap:8px}
.project-delete-counts>div{display:flex;gap:16px;justify-content:space-between}
.project-delete-counts dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.project-delete-acknowledgement{display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.project-delete-acknowledgement input{flex:0 0 auto;margin-top:4px}
@media(max-width:520px){.project-delete-dialog{padding:20px}.project-delete-dialog .form-actions{flex-wrap:wrap}}

/* Notifications (ADR-042): bell with unread badge, popover of recent rows, and the list page. */
.sidebar-tools{display:flex;align-items:center;gap:2px;padding:4px 8px}
.notification-bell{position:relative}
.notification-bell>summary{list-style:none}.notification-bell>summary::-webkit-details-marker{display:none}
.notification-bell-button,.sidebar-tool-button{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}
.notification-bell-button:hover,.notification-bell[open]>.notification-bell-button,.sidebar-tool-button:hover{background:var(--hover);color:var(--text)}
.notification-bell-button .icon,.sidebar-tool-button .icon{width:16px;height:16px;flex-basis:16px}
.notification-badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:var(--on-danger,#fff);font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.notification-badge[hidden]{display:none}
.notification-popover{position:absolute;z-index:40;bottom:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 24px));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.notification-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;border-bottom:1px solid var(--border)}
.notification-popover-head strong{font-size:var(--fs-13);font-weight:600}
.notification-popover-head form[hidden],.notification-page .detail-header form[hidden]{display:none}
.notification-read-all{padding:0;border:0;background:transparent;color:var(--muted);font-size:var(--fs-12);cursor:pointer}
.notification-read-all:hover{text-decoration:underline}
.notification-popover-list{max-height:min(420px,60vh);overflow-y:auto}
.notification-popover-footer{display:block;padding:10px 12px;border-top:1px solid var(--border);text-align:center;font-size:var(--fs-12);font-weight:600;text-decoration:none}
.notification-popover-footer:hover{background:var(--surface-2);text-decoration:none}
.notification-list{margin:0;padding:0;list-style:none}
.notification-item+.notification-item{border-top:1px solid var(--border)}
.notification-item form{margin:0}
.notification-row{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 12px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.notification-row:hover,.notification-row:focus-visible{background:var(--hover)}
.notification-row .avatar{flex:0 0 24px;width:24px;height:24px;margin-top:0}
.notification-avatar-fallback{display:grid;place-items:center;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.notification-avatar-fallback .icon{width:14px;height:14px;flex-basis:14px}
.notification-text{display:grid;gap:2px;min-width:0;flex:1}
.notification-message{font-size:var(--fs-13);line-height:18px;color:var(--muted);overflow-wrap:anywhere}
.notification-message strong{font-weight:500;color:var(--text)}
.notification-time{font-variant-numeric:tabular-nums;font-size:var(--fs-12);color:var(--muted)}
.notification-item.is-unread .notification-message{color:var(--text)}
.notification-item.is-unread{background:transparent}
.notification-dot{flex:0 0 6px;width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--accent)}
.notification-empty{margin:0;padding:20px 12px;color:var(--muted);font-size:var(--fs-13);text-align:center}
.sidebar-collapse-button{margin-left:auto}
.sidebar-collapsed .sidebar-tools{flex-direction:column;justify-content:center;margin-inline:0}.sidebar-collapsed .sidebar-collapse-button{margin-left:0}
.notification-bell--mobile .notification-bell-button{width:38px;height:38px;border-color:transparent;background:transparent}
.notification-bell--mobile .notification-bell-button .icon{width:20px;height:20px;flex-basis:20px}
.notification-bell--mobile .notification-badge{top:1px;right:0;box-shadow:0 0 0 2px var(--surface)}
.notification-bell--mobile .notification-popover{position:fixed;top:52px;right:8px;bottom:auto;left:8px;width:auto}
.mobile-bar-end{display:inline-flex;align-items:center;gap:6px}
.notification-scopes{display:flex;gap:6px;margin:0 0 14px}
.notification-page-list{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.notification-page-list .notification-row{padding:12px 14px}
.notification-retention{margin-top:14px;font-size:var(--fs-12)}
.activity-row:target{background:var(--selected)}

/* Sidebar tools row: instant custom tooltips, only while the sidebar is expanded (hover and keyboard focus). */
.sidebar-footer [data-tip]{position:relative}
.sidebar-footer [data-tip]::after{content:attr(data-tip);position:absolute;z-index:45;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:6px;background:var(--text);color:var(--bg);font-size:var(--fs-12);font-weight:500;line-height:1.3;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden}
.sidebar-footer [data-tip]:hover::after,.sidebar-footer [data-tip]:focus-visible::after{opacity:1;visibility:visible}
.sidebar-tools .theme-picker [data-tip]::after{bottom:calc(100% + 10px)}
.sidebar-footer .sidebar-collapse-button[data-tip]::after{right:0;left:auto;transform:none}
.sidebar-footer .notification-bell[open]>[data-tip]::after,.sidebar-collapsed .sidebar-footer [data-tip]::after{display:none}

/* Shared validation covers both native fields and their visible enhancements. */
.form-required-marker{color:var(--text-3)}
.form-required-marker[hidden]{display:none}
.form-row.has-error .select-combobox-trigger,.form-row.has-error .activity-editor,[aria-invalid="true"]{border-color:var(--danger)}
.form-error-summary[hidden]{display:none}
.form-error-summary p{margin:0 0 6px;font-weight:600}
.form-error-summary ul{margin:0;padding-left:20px}
.form-error-summary a{color:inherit;text-decoration:underline}
.form-error-summary:focus{outline:2px solid var(--danger);outline-offset:2px}


[data-date-calendar][aria-invalid="true"]{outline:1px solid var(--danger);outline-offset:2px;border-radius:var(--radius)}

/* Work-item status controls and compact final-status drop destinations. */
.work-item-status-trigger{display:flex;align-items:center;gap:6px;min-height:28px;margin-left:-8px;padding:4px 8px;border:0;border-radius:var(--radius);background:transparent;font-size:var(--fs-13);font-weight:400;white-space:nowrap;cursor:pointer}
.work-item-status-trigger:hover,.work-item-status-menu[open]>.work-item-status-trigger{background:var(--selected);border-color:transparent}
.work-item-status-trigger>.icon{width:12px;height:12px;color:var(--text-3);transform:rotate(90deg)}
.work-item-status-menu{width:max-content;max-width:100%}.work-item-status-menu[open]{z-index:25}
.work-item-status-options{top:calc(100% + 4px);min-width:190px;max-height:min(330px,60vh);overflow:auto}
.work-item-status-options[popover]{position:fixed;inset:auto;margin:0;max-width:calc(100vw - 16px);visibility:hidden}
.work-item-status-options button:disabled{opacity:.55;cursor:default}
@media(max-width:680px){.work-item-status-trigger,.work-item-status-options a,.work-item-status-options button{min-height:40px}}
.work-item-final-actions{position:absolute;right:24px;bottom:16px;z-index:5;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(564px,calc(100% - 48px));margin:0;visibility:hidden}
.work-item-final-actions.is-drag-active{visibility:visible}
.main-content-board{position:relative}
.work-item-final-target{--drop-color:var(--success);position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:56px;padding:8px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font-size:var(--fs-13);line-height:16px}
.work-item-final-target small{display:block;font-size:var(--fs-12);color:var(--muted)}
.work-item-final-target--deadline{--drop-color:var(--status-cyan)}
.work-item-final-target--deadline>.icon{width:16px;height:16px;flex-basis:16px}
.work-item-final-target--cancelled{--drop-color:var(--danger)}
.work-item-final-actions.is-drag-active .work-item-final-target{border-color:color-mix(in srgb,var(--drop-color) 60%,var(--border));color:var(--text)}
.work-item-final-target.is-drop-target{outline:3px solid var(--drop-color);outline-offset:2px;border-style:solid;border-color:var(--drop-color);background:color-mix(in srgb,var(--drop-color) 25%,var(--surface));color:var(--text)}
.work-item-final-target .drop-ready{display:none;font-weight:600}
.work-item-final-target.is-drop-target .drop-ready{display:block}
.work-item-final-target.is-drop-target::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;bottom:-220px;width:min(900px,100vw);height:min(660px,85vh);transform:translateX(-50%);background:radial-gradient(ellipse at center,color-mix(in srgb,var(--drop-color) 24%,transparent),color-mix(in srgb,var(--drop-color) 10%,transparent) 35%,transparent 70%)}
@container work-item-board (max-width:680px){}

/* Work timelines place time below content, alongside people where available. */
.work-item-timeline .timeline-event{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px;border-bottom-color:var(--border)}
.work-item-timeline .timeline-event>time{grid-column:1;grid-row:2;margin:0;padding:0;font-size:var(--fs-12);line-height:18px}
.work-item-timeline .timeline-event-content{grid-column:1;grid-row:1;font-size:var(--fs-14);line-height:20px}
.work-item-timeline .activity-row{padding:12px}
.activity-offer-summary{font-size:var(--fs-14);line-height:1.45}
.activity-time--with-date time,.activity-actions>.activity-time--with-date time{display:flex;align-items:baseline;gap:6px}
.activity-time--with-date .activity-date,.activity-time--with-date .activity-clock{font-size:var(--fs-12);font-weight:400}
.activity-entry-footer{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:8px}
.activity-entry-footer>.activity-time{padding:0;font-size:var(--fs-12)}
.activity-row--time-footer .activity-actions{grid-template-columns:30px 30px}
.activity-row--time-footer .activity-actions>[data-activity-repeat]{grid-column:1}
.activity-row--time-footer .activity-actions>.activity-more-menu{grid-column:2}
@container activity-feed (max-width:640px){.activity-row--time-footer .activity-actions{grid-template-columns:40px 40px}.activity-row--time-footer{grid-template-columns:minmax(0,1fr) auto}.activity-row--time-footer .activity-content{grid-column:1;grid-row:1}.activity-row--time-footer .activity-actions{grid-column:2;grid-row:1}.activity-row--time-footer .activity-entry-header{min-height:0}}

/* Match metadata line boxes and align action glyphs with the first content line. */

.activity-entry-header:not(:has(>*)){display:none}
.activity-entry-footer,.activity-entry-footer .person-inline,.activity-entry-footer .activity-time,.activity-entry-footer .activity-time time{font-size:var(--fs-12);line-height:18px}
.activity-entry-footer .activity-time time{display:flex;align-items:center;gap:6px}
.activity-entry-footer .activity-time{margin:0;min-height:18px}
.activity-entry-footer .activity-people{margin:0}
.activity-row--without-context .activity-actions{margin-top:calc((20px - var(--activity-action-size))/2)}
.activity-change-summary .status-label{display:inline-flex;align-items:center;gap:4px;min-height:20px;line-height:20px;white-space:nowrap}
.activity-change-summary .status-icon,.activity-change-summary>.icon{display:block;width:14px;height:14px;flex:0 0 14px;align-self:center;vertical-align:middle}
.project-activity-show-all{display:block;width:fit-content;margin:8px 12px 0;color:var(--muted);font-size:var(--fs-13)}
.timeline-event--readable .timeline-field-change+.timeline-field-change{margin-top:10px}
.timeline-event--readable .timeline-field-change p{margin:0 0 4px}
.timeline-value-transition{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;overflow-wrap:anywhere}
.timeline-value-before{color:var(--muted)}
.timeline-event--readable .activity-entry-footer{margin-top:8px}
@container activity-feed (max-width:640px){

 .activity-row--without-context{grid-template-columns:minmax(0,1fr) auto}
 .activity-row--without-context .activity-content{grid-column:1;grid-row:1}
 .activity-row--without-context .activity-actions{grid-column:2;grid-row:1}
 .activity-row--without-context .activity-entry-header{min-height:0;margin-top:0}
}
/* On narrow embedded feeds only the context shares a row with actions; prose keeps full width. */
@container activity-feed (max-width:640px){
 .activity-row--without-context .activity-content{display:contents}
 .activity-row--without-context .activity-entry-header{grid-column:1;grid-row:1}
 .activity-row--without-context .activity-entry-main{grid-column:1/-1;grid-row:2}
 .activity-row--without-context .activity-actions{position:static}
}

/* Centre visible letter height as well as icon boxes inside change summaries. */



.activity-change-summary .activity-change-text{display:block;line-height:20px}
.activity-change-summary.status-transition>.activity-change-text{display:block}
@supports (text-box:trim-both cap alphabetic){

}

/* Project preview metadata: smaller timestamps share the names' lower text baseline. */
.project-activity-card .activity-entry-footer{align-items:last baseline;column-gap:16px}
.project-activity-card .activity-entry-footer .activity-people,.project-activity-card .activity-entry-footer .person-inline{align-items:baseline}
.project-activity-card .activity-entry-footer .person-inline>.avatar{align-self:center}
.project-activity-card .activity-entry-footer .activity-time{align-items:baseline;gap:12px}
.project-activity-card .activity-entry-footer .activity-time time{align-items:baseline}
.project-activity-card .activity-entry-footer .activity-time,.project-activity-card .activity-entry-footer .activity-time time,.project-activity-card .activity-date,.project-activity-card .activity-clock{font-size:var(--fs-12);line-height:18px}
.project-activity-card .activity-entry-footer .activity-people+.activity-time::before{content:'·';color:var(--muted)}

/* Shared invoice drafts use the document row layout and its responsive areas. */
.invoice-row--draft{background:transparent}
.invoice-row--draft:hover{background:transparent}

/* Expected dates are direct edit targets on every work-item surface. */
.work-item-deadline-link{display:inline-flex;align-items:center;gap:4px;min-height:24px;max-width:100%;padding:2px 0;border-radius:var(--radius-sm);color:inherit;vertical-align:top;text-decoration:none}
.work-item-deadline-link:hover,.work-item-deadline-link:focus-visible{color:inherit;background:transparent;text-decoration:underline}
.work-item-deadline-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.work-item-deadline-link .icon{width:12px;height:12px;flex-basis:12px;color:var(--text-3)}
.work-item-deadline-empty{font-size:var(--fs-13)}
.work-item-deadline-dialog{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.work-item-deadline-content{padding:16px}
.work-item-deadline-dialog .paragraph-editor{min-height:calc(100px + 1.45em)}
.work-item-deadline-context{display:grid;gap:4px;margin:16px 0;overflow-wrap:anywhere}
.work-item-deadline-context .muted{font-size:var(--fs-12)}
.work-item-deadline-dialog .form-actions{flex-wrap:wrap}
.work-item-deadline-dialog .form-help{font-size:var(--fs-12);color:var(--muted)}
@media(max-width:680px){}

.paragraph-editor{min-height:72px}

/* Footer hierarchy: personal notifications, quiet utilities, then account and sidebar control. */
.sidebar-footer{margin-top:auto;padding-top:12px;flex:0 0 auto}
.sidebar-footer>.notification-bell{margin:0}
.notification-bell--sidebar>.notification-bell-button{display:flex;gap:8px;width:100%;min-height:32px;height:auto;padding:6px 8px;font-size:var(--fs-13);font-weight:500}
.notification-bell-label{flex:1;text-align:left}
.notification-bell--sidebar .notification-badge{position:static;min-width:18px;height:18px;box-shadow:none}
.notification-bell.has-unread>.notification-bell-button{background:var(--selected);color:var(--text)}
.notification-bell.has-unread>.notification-bell-button>.icon{color:var(--accent)}


.sidebar-tools .theme-picker{margin-right:auto}
.sidebar-tools>.sidebar-tool-button{width:28px;height:28px}
.sidebar-tools>.sidebar-tool-button:hover,.sidebar-tools>.sidebar-tool-button.is-active{background:var(--hover);color:var(--text)}

.sidebar-account>.sidebar-collapse-button{flex:0 0 28px;width:28px;height:28px;margin-right:0}
@media(min-width:841px){
.sidebar-collapsed .sidebar-account{margin-inline:0}
.sidebar-collapsed .sidebar-footer>.notification-bell{margin-inline:0}
.sidebar-collapsed .notification-bell--sidebar>.notification-bell-button{width:36px;min-height:32px;padding:6px;justify-content:center}
.sidebar-collapsed .notification-bell-label{display:none}
.sidebar-collapsed .notification-bell--sidebar .notification-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--shell)}
}
@media(max-width:840px){

.sidebar-collapsed .sidebar-footer .sidebar-tools{flex-direction:row}
}

/* Footer interactions share the main navigation's neutral treatment. */
.sidebar-footer .theme-picker button:hover,.sidebar-footer .theme-picker button:focus-visible,
.sidebar-footer .sidebar-tool-button:hover,.sidebar-footer .sidebar-tool-button:focus-visible,
.sidebar-footer .notification-bell-button:hover,.sidebar-footer .notification-bell-button:focus-visible,
.sidebar-footer .notification-bell[open]>.notification-bell-button,
.sidebar-account .account-menu a:hover,
.sidebar-account .account-menu button:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}


/* Keep discussion markers immediately before the timestamp in every entry layout. */
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly){grid-template-columns:38px max-content 30px 30px}
.activity-actions>.activity-discussion-action,.activity-actions>.activity-discussion-readonly,.activity-actions>.activity-discussion-choice{grid-column:1;grid-row:1}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly,.activity-discussion-choice)>.activity-time{grid-column:2}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>[data-activity-repeat]{grid-column:3}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>.activity-more-menu{grid-column:4}
.activity-discussion-action .is-flagged,.activity-discussion-readonly,.activity-discussion-choice:has(input:not(:checked)){color:var(--accent)}
.activity-discussion-action .icon-button:hover,.activity-discussion-action .icon-button:focus-visible,.activity-discussion-choice:hover,.activity-discussion-choice:has(input:focus-visible){background:var(--hover);color:var(--text)}
.activity-discussion-action .icon,.activity-discussion-readonly .icon,.activity-discussion-choice .icon{width:13px;height:13px;flex-basis:13px}
.activity-discussion-readonly{display:grid;place-items:center;width:30px;height:30px}
.activity-time-actions{display:flex;align-items:center;gap:8px}
.activity-entry-footer .activity-time-actions{margin-block:-6px}
.activity-discussion-choice{position:relative;margin:0;cursor:pointer}
.activity-discussion-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.activity-discussion-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.activity-actions:has(.activity-discussion-choice){grid-template-columns:38px max-content}
@media (hover:hover) and (pointer:fine){
 .activity-discussion-action button:not(.is-flagged),.activity-discussion-choice:has(input:checked){opacity:0}
 .activity-row:hover .activity-discussion-action button,.activity-row:focus-within .activity-discussion-action button,.activity-row:hover .activity-discussion-choice,.activity-row:focus-within .activity-discussion-choice{opacity:1}
}
@container activity-feed (max-width:640px){
 .activity-actions:has(.activity-discussion-action,.activity-discussion-readonly){grid-template-columns:48px max-content 40px 40px}
 .activity-actions:has(.activity-discussion-choice){grid-template-columns:48px max-content}
 .activity-discussion-readonly{width:40px;height:40px}
 .activity-entry-footer .activity-time-actions{margin-block:0}
}
@container activity-feed (max-width:420px){
 .activity-row:has(>.activity-actions>.activity-discussion-action,>.activity-actions>.activity-discussion-readonly) .activity-entry-header{padding-right:183px}
 .activity-row:has(>.activity-actions>.activity-discussion-action,>.activity-actions>.activity-discussion-readonly) .activity-content:not(:has(.activity-entry-header>*)) .activity-entry-main{padding-right:183px}
}


/* Row actions stay out of the way until a pointer or keyboard reaches the row. */
@media (hover:hover) and (pointer:fine){
 .activity-row>.activity-actions>[data-activity-repeat],.activity-row>.activity-actions>.activity-more-menu>summary,
 .activity-meeting-header .activity-meeting-links>*{opacity:0}
 .activity-row:hover>.activity-actions>[data-activity-repeat],.activity-row:focus-within>.activity-actions>[data-activity-repeat],
 .activity-row:hover>.activity-actions>.activity-more-menu>summary,.activity-row:focus-within>.activity-actions>.activity-more-menu>summary,
 .activity-row>.activity-actions>.activity-more-menu[open]>summary,
 .activity-meeting-header:hover .activity-meeting-links>*,.activity-meeting-header:focus-within .activity-meeting-links>*{opacity:1}
}

.work-item-title strong{font-weight:500}
.project-phase-count{color:var(--text-3);font-size:var(--fs-14);font-variant-numeric:tabular-nums}
.project-card-link strong{font-weight:500}
.project-card-header>.project-avatar{width:20px;height:20px;flex-basis:20px}
.project-card .project-production-link{position:relative;z-index:2;width:24px;height:24px;margin:-2px 0}
.project-card .project-production-link .icon{width:14px;height:14px}
.project-card-action-spacer{display:none}
@media (hover:hover) and (pointer:fine){
 .project-card .project-production-link,.work-item-board-info,.work-item-board-activity,.work-item-feed-row .work-item-actions>*,
 .work-item-feed-context>.work-item-description-button,.work-item-feed-row .work-item-deadline-link .icon,.work-item-feed-row .work-item-status-trigger>.icon,
 .work-item-row .work-item-deadline-link .icon,.work-item-row .work-item-status-trigger>.icon{opacity:0}
 .project-card:hover .project-production-link,.project-card:focus-within .project-production-link,
 .work-item-board-card:hover .work-item-board-info,.work-item-board-card:focus-within .work-item-board-info,
 .work-item-board-card:hover .work-item-board-activity,.work-item-board-card:focus-within .work-item-board-activity,
 .work-item-feed-row:hover .work-item-actions>*,.work-item-feed-row:focus-within .work-item-actions>*,
 .work-item-feed-row:hover .work-item-description-button,.work-item-feed-row:focus-within .work-item-description-button,
 .work-item-feed-row:hover .work-item-deadline-link .icon,.work-item-feed-row:focus-within .work-item-deadline-link .icon,
 .work-item-feed-row:hover .work-item-status-trigger>.icon,.work-item-feed-row:focus-within .work-item-status-trigger>.icon,
 .work-item-row:hover .work-item-deadline-link .icon,.work-item-row:focus-within .work-item-deadline-link .icon,
 .work-item-row:hover .work-item-status-trigger>.icon,.work-item-row:focus-within .work-item-status-trigger>.icon{opacity:1}
}

.page-actions>h1,.detail-header>h1{margin:0}
.main-content>.page-actions{margin-bottom:16px}
.data-table th.align-end{text-align:right}
.form-section>h2:first-child{margin:0 0 12px}
.form-intro{margin:0 0 16px;color:var(--muted);font-size:var(--fs-13)}
.settings-layout .content-narrow{margin-inline:0}
.project-back-button,.work-item-back-button{width:30px;height:30px;margin-left:-8px;border:0;background:transparent}

.project-contact strong{font-weight:500}
.project-overview-layout .section-heading .inline-actions>a:not(.button){color:var(--muted);font-size:var(--fs-13)}
.project-overview-layout .section-heading .button-primary{min-height:28px;padding:2px 8px;background:var(--surface);border-color:var(--border-strong);color:var(--text)}
.project-overview-layout .section-heading .button-primary:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}

.absence-day:last-child{border-right:0}
.absence-week:last-child{border-bottom:0}
.absence-person strong{font-weight:400}
.absence-person>.status-icon{width:12px;height:12px;flex:0 0 12px;margin-left:auto}
.search-message{padding:8px;font-size:var(--fs-13)}
@media (hover:hover) and (pointer:fine){.search-dialog-header .dialog-close{display:none}}
.data-table a:not(.button):not(.icon-button){color:inherit}
.data-table tbody td{height:40px}
.data-table .person-inline{gap:8px}
.data-table .avatar{width:20px;height:20px;flex-basis:20px}
@media (hover:hover) and (pointer:fine){.data-table .inline-actions{opacity:0}.data-table tr:hover .inline-actions,.data-table tr:focus-within .inline-actions{opacity:1}}
.data-table .inline-actions .button{min-height:28px;padding:2px 8px;border-color:transparent;background:transparent;color:var(--muted)}
.data-table .inline-actions .button:hover{background:var(--hover);color:var(--text)}
.data-table .inline-actions .icon-button-bordered{width:28px;height:28px;border:0;background:transparent}
@media (hover:hover) and (pointer:fine){
 .offer-row .invoice-row-actions>*,.document-list-page .invoice-row .invoice-row-actions>*{opacity:0}
 .offer-row:hover .invoice-row-actions>*,.offer-row:focus-within .invoice-row-actions>*,
 .document-list-page .invoice-row:hover .invoice-row-actions>*,.document-list-page .invoice-row:focus-within .invoice-row-actions>*,
 .invoice-row-actions>details[open]{opacity:1}
}


/* Responsive layouts for the shared components above. */
@container project-work-items (max-width:620px){
 .project-work-items-card .work-item-row{grid-template-columns:108px minmax(0,1fr) auto;gap:8px 10px}
}
@container project-work-items (max-width:430px){
 .project-work-items-card .work-item-row{grid-template-columns:108px minmax(0,1fr)}
}
@container work-item-detail-page (max-width:760px){
 .work-item-detail-grid{grid-template-columns:1fr;gap:32px}
}
@container work-item-detail-page (max-width:560px){
 .work-item-detail-header{grid-template-columns:1fr;align-items:start;margin-bottom:20px}
 .work-item-title-row{display:grid;gap:4px}
 .work-item-title-row h1{font-size:var(--fs-22)}
 .work-item-title-row .work-item-status{width:max-content}
 .work-item-meta strong,.work-item-meta time{text-align:left}
 .work-item-timeline-heading{align-items:center}
 .work-item-timeline>.date-separator{font-size:var(--fs-12)}
}
@media(prefers-color-scheme:dark){
 
}
@media(max-width:900px){
 .dashboard-team-deadlines{padding:20px 0 0;border-top:1px solid var(--border);border-left:0}
 .project-information{overflow:visible}
 .project-key-facts{grid-template-columns:1fr}
 .absence-week{grid-template-columns:1fr}
 .absence-weekdays{display:none}
 .absence-day{min-height:88px}
 .absence-day.is-outside{display:none}
}
@media(max-width:620px){
 .dashboard-section-heading{align-items:flex-start}
 .dashboard-heading-actions{gap:8px}
}
@media(max-width:840px){
 .sidebar{visibility:hidden;transform:translateX(-100%);width:232px;background:var(--surface);border-right:1px solid var(--border)}
 .main-content{margin-left:0}
}
@media(max-width:680px){
 .project-contact-links{justify-content:flex-start}
 .work-item-controls{padding:12px 16px}
 .work-item-scroll{padding:16px 16px 20px}
}
@container work-item-feed (max-width:700px){
 .work-item-date{grid-column:1;grid-row:1/3}
 .work-item-feed-context{grid-column:2;grid-row:1}
 .work-item-assignees{grid-column:2;grid-row:2}
 .work-item-status{grid-column:3;grid-row:1/3}
 .work-item-actions{grid-column:4;grid-row:1/3}
}
@container work-item-feed (max-width:560px){
 .work-item-date{grid-column:1;grid-row:1;padding:2px 0 0}
 .work-item-feed-context{grid-column:2;grid-row:1}
 .work-item-actions{grid-column:3;grid-row:1}
 .work-item-status{grid-column:2/4;grid-row:2}
 .work-item-assignees{grid-column:2/4;grid-row:3}
 .work-item-title{font-size:var(--fs-14)}
}
@media(max-width:1200px){
 .project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .absence-person .avatar{display:inline-flex}
 .work-item-detail-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
 .project-directory-controls{padding:12px 16px 14px}
 .project-directory-scroll{padding:16px}
 .project-list-toolbar{align-items:stretch}
 .project-card-grid{grid-template-columns:1fr}
 .calendar-toolbar{align-items:center}
}
@container activity-feed (max-width:640px){
 .activity-context{font-size:var(--fs-13)}
}
@media(max-width:900px){
 .month-title{min-width:0}
 .calendar-toolbar{display:flex;flex-wrap:wrap}
}
@media(max-width:680px){
 .activity-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .activity-dialog-footer{position:fixed;right:0;bottom:0;left:0;z-index:2;padding:12px 16px}
}
@media(max-width:900px){
 .dashboard-content-grid{grid-template-columns:1fr;gap:24px}
 .dashboard-primary-column,.dashboard-secondary-column{display:contents}
 .dashboard-my-work{order:1}
 .dashboard-team-deadlines{order:2}
}
@media(max-width:620px){
 .dashboard-team-deadlines-heading{align-items:flex-start}
 .dashboard-deadline-item{grid-template-columns:45px minmax(0,1fr) auto;gap:8px}
}
@container document-list (max-width:540px){
 .offer-row .invoice-total{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
}
@media(max-width:680px){
 .main-content-list .list-page-controls{padding:12px 16px 14px}
 .main-content-list .list-page-scroll{padding:16px}
}
@container document-list (max-width:1100px){
 .offer-row .invoice-total{text-align:left}
}
@container document-list (max-width:600px){
 .offer-row .offer-number{text-align:right}
 .offer-row .invoice-total{display:grid;gap:4px}
 .invoice-list-page .invoice-row>time{grid-column:auto}
}
@media(max-width:1100px){
 .project-overview-layout{grid-template-columns:1fr}
 .project-overview-layout .project-key-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .project-tabs{gap:20px}
 .project-overview-layout .project-key-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}
@container work-item-board (max-width:680px){
 .work-item-board{display:grid;width:100%;min-height:0;gap:24px}
 .work-item-board-heading{top:-16px}
 .work-item-board-activity{min-height:40px;padding:6px 8px;font-size:var(--fs-12)}
 .work-item-view{min-height:34px}
 .work-item-board-info{width:40px;height:40px;flex-basis:40px;margin:-8px -8px -8px 0}
}
@container activity-feed (max-width:640px){
 .activity-row{--activity-action-size:40px}
}
@media(max-width:680px){
 .work-item-deadline-link{min-height:40px}
}
@media(max-width:840px){
 .sidebar-account>.sidebar-collapse-button{display:none}
}
@container activity-feed (max-width:640px){
 .activity-day>.date-separator,[data-activity-feed]>.date-separator{margin-top:16px;padding:0 0 8px}
}
@container work-item-feed (max-width:560px){
 .work-item-group-heading{padding:0 0 8px}
 .work-item-actions .icon-button{width:40px;height:40px}
}
@container work-item-board (max-width:680px){
 .work-item-final-actions{right:16px;width:min(564px,calc(100% - 32px))}
}

input{text-overflow:ellipsis}
@media(max-width:900px){
 .absence-day{min-height:56px;border-right:0;border-bottom:1px solid var(--border)}
 .absence-day.is-weekend{min-height:40px}
 .absence-week{display:block;border-bottom:0}
 .absence-person>.status-icon{margin-left:0}
}
@media(max-width:680px){
 :root{--control-h:40px}
 .list-controls,.list-controls>*,.list-filter-form,.activity-filter-form,.activity-date-panel{min-width:0;max-width:100%}
 
 .main-content-list .list-controls .list-toolbar-actions{flex:1 1 100%;justify-content:flex-end}
}
@container activity-feed (max-width:640px){
 .activity-row:not(.activity-row--without-context){row-gap:4px}
 .activity-row:not(.activity-row--without-context) .activity-content,
 .activity-row:not(.activity-row--without-context) .activity-entry-header{display:contents}
 .activity-row:not(.activity-row--without-context) .activity-context{grid-column:1;grid-row:1;align-self:center}
 .activity-row:not(.activity-row--without-context) .activity-entry-header>:not(.activity-context){grid-column:1/-1;grid-row:2}
 .activity-row:not(.activity-row--without-context) .activity-entry-main{grid-column:1/-1;grid-row:3}
 .activity-row .activity-actions{grid-column:2;grid-row:1;align-self:start;margin-block:-8px}
}
@container activity-feed (max-width:420px){
 .activity-row:not(.activity-row--without-context) .activity-actions{position:static}
 .activity-row:not(.activity-row--without-context) .activity-entry-header{padding-right:0}
 .activity-row:not(.activity-row--without-context) .activity-entry-main{padding-right:0}
}

input:not([type=checkbox]):not([type=radio]):focus-visible,textarea:focus-visible,.combobox>input:focus-visible,.activity-editor:focus-visible,.select-combobox-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:0;border-color:var(--focus)}
.search-dialog input:focus-visible{outline:0}
.main-content>.detail-header,.main-content>header.detail-header{margin-bottom:16px}
.data-table td{vertical-align:middle}
.audit-table td:last-child{white-space:normal;min-width:120px}
.audit-table td:nth-child(4){white-space:normal}


/* Page frame: every page scrolls in the app window, so toolbars and rows share the same edges. */
.app-window.main-content-list,.app-window.main-content-activity,.app-window.main-content-projects,.app-window.main-content-work-items{display:block;padding:0;overflow:auto}
.app-window.main-content-board{display:flex;flex-direction:column;overflow:hidden}
.main-content-documents .document-list-page{display:block}
.main-content-list .list-page-controls,.main-content-activity .list-page-controls,.main-content-projects .list-page-controls,.main-content-work-items .list-page-controls{position:sticky;top:0;z-index:6;padding:16px var(--main-inline-padding) 8px}
.main-content-list .list-page-scroll,.main-content-activity .list-page-scroll,.main-content-projects .list-page-scroll,.main-content-work-items .list-page-scroll{min-height:0;overflow:visible;padding:16px var(--main-inline-padding) 32px;scrollbar-gutter:auto}
.main-content-board .list-page-controls{position:static;flex:0 0 auto}
.main-content-board .list-page-scroll{flex:1;overflow:auto;padding-top:12px}
.main-content>.page-actions,.main-content>.detail-header{min-height:var(--control-h);margin-bottom:16px}
.main-content>.page-actions>h1,.main-content>.detail-header>h1{line-height:28px}
.main-content>.announcement-list{width:100%}
.main-content>.table-scroll{margin-top:0}
/* Rows: text sits on the page edge; hover bleeds outwards instead of indenting content. */
.activity-row,.work-item-feed-row,.work-item-row,.offer-row,.document-list-page .invoice-row{padding-inline:0}
.activity-row:hover,.activity-day-entries>.activity-row:hover,.work-item-feed-row:hover,.work-item-feed-row:focus-within,.work-item-row:hover,.work-item-row:focus-within,.offer-row:hover,.document-list-page .invoice-row:hover,.dashboard-work-tile:hover,.dashboard-work-tile:focus-visible{background:transparent}
.activity-row,.work-item-feed-row,.work-item-row,.offer-row,.document-list-page .invoice-row,.dashboard-work-tile{position:relative}
.activity-row:hover::before,.work-item-feed-row:hover::before,.work-item-feed-row:focus-within::before,.work-item-row:hover::before,.work-item-row:focus-within::before,.offer-row:hover::before,.document-list-page .invoice-row:hover::before,.dashboard-work-tile:hover::before{content:"";position:absolute;inset:0 -12px;border-radius:var(--radius);background:var(--hover);pointer-events:none}
.activity-meeting-topics>.activity-row:hover::before{inset:0}
.activity-day>.date-separator,[data-activity-feed]>.date-separator,.work-item-timeline>.date-separator,.work-item-group-heading{padding-inline:0}
.activity-day>.date-separator:has(+.activity-day-entries>.activity-meeting:first-child){border-bottom:0;padding-bottom:0}
.activity-day-entries>.activity-meeting:first-child{margin-top:8px}
.project-activity-show-all{margin:8px 0 0}
.work-item-timeline .timeline-event,.work-item-timeline .activity-row{padding-inline:0}
.data-table th:first-child,.data-table td:first-child{padding-left:0}
.data-table th:last-child,.data-table td:last-child{padding-right:0}
.data-table tbody tr:hover td{background:var(--hover)}
.data-table tbody tr:hover td:first-child{box-shadow:-12px 0 0 var(--hover)}
.data-table tbody tr:hover td:last-child{box-shadow:12px 0 0 var(--hover)}
.data-table td{height:40px;padding-block:4px}
.data-table .inline-actions{justify-content:flex-end;flex-wrap:nowrap}
.data-table .link-button{color:inherit}
.person-inline{align-items:center;line-height:20px}
/* Time stays on the row edge; actions appear beside it on demand. */
.activity-actions{grid-template-columns:30px 30px max-content;gap:0}
.activity-actions>[data-activity-repeat]{grid-column:1}
.activity-actions>.activity-more-menu{grid-column:2}
.activity-actions>.activity-time{grid-column:3;margin:0 0 0 8px;padding:0;text-align:right}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly){grid-template-columns:30px 30px 30px max-content}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>[data-activity-repeat]{grid-column:1}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>.activity-more-menu{grid-column:2}
.activity-actions>.activity-discussion-action,.activity-actions>.activity-discussion-readonly{grid-column:3}
.activity-actions:has(.activity-discussion-action,.activity-discussion-readonly,.activity-discussion-choice)>.activity-time{grid-column:4}
.activity-actions:has(.activity-discussion-choice){grid-template-columns:30px max-content}
.activity-actions:has(.activity-discussion-choice)>.activity-discussion-choice{grid-column:1}
.activity-actions:has(.activity-discussion-choice)>.activity-time{grid-column:2}
.activity-entry-footer>.activity-time,.activity-entry-footer .activity-time{margin-left:0}
.activity-entry-footer{gap:4px 12px}
.meeting-source-link{display:inline-flex;align-items:center;gap:6px;margin:0 0 4px;color:var(--muted);font-size:var(--fs-12);line-height:16px}
.meeting-source-link .icon{width:14px;height:14px}
.activity-date-change strong{font-weight:500;color:var(--text)}
.activity-row--status-blocked .activity-status-after{color:var(--text)}
.offer-row .offer-row-meta>.offer-status--accepted,.offer-row .invoice-total>.offer-payment--paid,.offer-row .offer-row-meta>.offer-status--rejected{color:var(--muted)}
.offer-status,.offer-payment{color:var(--muted)}
/* Documents: amount on the edge, actions appear just before it. */
.offer-row{min-height:56px;grid-template-columns:88px 104px minmax(150px,1fr) minmax(180px,1.6fr) 136px minmax(110px,auto);grid-template-areas:"date number customer identity actions total"}
.document-list-page .invoice-row{min-height:56px;grid-template-columns:88px 104px minmax(0,1.6fr) minmax(0,1fr) 136px minmax(110px,auto);grid-template-areas:"date number identity customer actions total"}
.document-list-page .invoice-row-main,.document-list-page .invoice-customer{gap:0}
.document-list-page .invoice-row-actions{justify-content:flex-end}
.offer-row .invoice-total,.document-list-page .invoice-total{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.offer-row .invoice-total>.offer-payment{justify-content:flex-end}
.offer-row .offer-number,.invoice-list-page .invoice-number{font-variant-numeric:normal}
.project-tab-content.document-list-page .offer-row,.project-tab-content.document-list-page .invoice-row{grid-template-columns:88px 104px minmax(200px,1fr) 136px minmax(110px,auto);grid-template-areas:"date number identity actions total"}
.work-item-feed-row{min-height:56px}
/* Project overview: current work leads, facts sit in a rail. */
.project-overview-layout{grid-template-columns:minmax(0,1fr) 360px;gap:48px}
.project-overview-layout .project-side-column{order:-1}
.project-detail-list>div{grid-template-columns:112px minmax(0,1fr)}
.project-key-facts,.project-overview-layout .project-key-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.project-contact{flex-wrap:wrap;gap:0 12px}
/* Logos share one frame in both themes. */
.project-avatar--image{overflow:hidden;border:0;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,#1c1e24 10%,transparent)}
.project-avatar--image img{display:block;width:100%;height:100%;padding:2px;object-fit:contain}
html[data-theme=dark] .project-avatar--image{padding:0;background:#e6e8e3;box-shadow:none}
html[data-theme=dark] .project-avatar--image img{filter:brightness(.97)}
@media(prefers-color-scheme:dark){html[data-theme=system] .project-avatar--image{padding:0;background:#e6e8e3;box-shadow:none}}
.work-item-board-project .project-avatar,.work-item-detail-project .project-avatar{width:20px;height:20px;flex-basis:20px}
/* Avatars use 20, 24 and 40. */
.avatar{width:24px;height:24px;flex-basis:24px}
.activity-people .avatar,.absence-person .avatar,.activity-meeting-attendees .avatar,.work-item-person .avatar{width:20px;height:20px;flex-basis:20px}
.sidebar-account summary .avatar{width:24px;height:24px;flex-basis:24px}
.employee-card .avatar,.dashboard-absence-list .avatar,.notification-row .avatar,.day-dialog-list .avatar{width:24px;height:24px;flex-basis:24px}
/* Home work as rows */
.dashboard-work-tiles{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--border)}
.dashboard-work-tile{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:56px;padding:8px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.dashboard-work-tile-meta{justify-content:flex-end;gap:24px;padding-left:0;font-size:var(--fs-13)}
.dashboard-work-tile-meta .status-label{min-width:104px;font-size:var(--fs-13)}
.dashboard-work-date{font-size:var(--fs-13)}
.dashboard-activity>.dashboard-section-heading{margin-bottom:0}
.dashboard-activity .activity-day:first-child>.date-separator{margin-top:12px}
.dashboard-my-work>.dashboard-section-heading,.dashboard-team-deadlines>.dashboard-section-heading{margin-bottom:8px}
.dashboard-announcements .announcement{background:color-mix(in srgb,var(--danger) 4%,var(--surface));border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}
/* Board */
.work-item-board-card.is-overdue .work-item-board-due{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.work-item-board-card.is-dragging{opacity:.5;box-shadow:var(--shadow)}
.work-item-final-actions{right:32px;width:min(564px,calc(100% - 64px))}
/* Calendar */
.absence-day-date time{display:inline-block;min-width:0;height:auto;margin:0;padding:0;line-height:24px}
.absence-day.is-today .absence-day-date time{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:-6px;padding:0 4px;border-radius:999px}
.absence-person>.status-icon{margin-left:0}
.absence-person>span:last-child{flex:0 1 auto}
.month-title{text-transform:capitalize}
.absence-weekdays,.absence-week{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.62fr))}
.calendar-toolbar{padding-inline:var(--main-inline-padding)}
.absence-weekdays span:first-child,.absence-day:first-child{padding-left:var(--main-inline-padding)}
.absence-weekdays span:last-child,.absence-day:last-child{padding-right:var(--main-inline-padding)}
/* Absence form */
.absence-meta-fields{grid-template-columns:minmax(0,560px) minmax(220px,1fr);gap:16px}
.range-calendar{border:0;border-radius:0;padding:0;background:transparent}
.range-calendar-header strong{font-size:var(--fs-16);font-weight:600;text-transform:capitalize}
.range-calendar-grid{gap:2px}
.range-calendar-grid button{position:relative;aspect-ratio:auto;height:40px;padding:0;border:0;border-radius:var(--radius);background:transparent;font-size:var(--fs-13)}
.range-calendar-grid button:not(:disabled):hover{background:var(--hover)}
.range-calendar-grid .is-weekend{background:transparent;color:var(--text-3)}
.range-calendar-grid .is-today{outline:0;color:var(--link);font-weight:600}
.range-calendar-grid .is-holiday{box-shadow:none;color:var(--text-3)}
.range-calendar-grid .is-holiday::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--danger)}
.range-calendar-grid .is-selected{background:var(--accent);color:var(--on-accent);font-weight:500}
.range-calendar-grid .is-selected:not(:disabled):hover{background:var(--accent-hover)}
.selected-dates-panel{padding:0 0 0 16px;border:0;border-left:1px solid var(--border);border-radius:0;background:transparent}
.selected-dates-panel h2{margin:0 0 8px;font-size:var(--fs-16)}
.selected-dates-panel li{padding:4px 0;font-size:var(--fs-13)}
.type-chips{display:inline-flex;gap:2px;width:fit-content;padding:2px;border-radius:var(--radius);background:var(--hover)}
.type-chips label{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500;cursor:pointer}
.type-chips label:hover{color:var(--text);background:transparent}
.type-chips input:checked+label{background:var(--surface);border:0;color:var(--text);box-shadow:0 0 0 1px var(--border)}
/* Forms */
.form-actions{flex-direction:row-reverse;justify-content:flex-start;margin-top:24px}
.document-form .form-actions{flex-direction:row-reverse;justify-content:flex-start}
.confirm-dialog .form-actions{margin-left:0}
.form-section{padding:24px 0 8px}
.form-row{margin:0 0 16px}
.invoice-form-grid{gap:4px 16px;margin-bottom:16px}
.project-collection-add{margin-bottom:16px}
input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--accent);vertical-align:-3px}
input[type=date],input[type=datetime-local]{position:relative}
input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6272' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") center/16px no-repeat}
html[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,html[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a79e' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}
.form-errors{margin:0;padding:0;list-style:none;color:var(--danger);font-size:var(--fs-13);line-height:18px}
.form-row input[aria-invalid="true"],.form-row textarea[aria-invalid="true"],.form-row.has-error input:not([type=checkbox]):not([type=radio]),.form-row.has-error textarea,.form-row.has-error select{border-color:var(--danger)}
.form-error-summary,.alert-danger.form-error-summary{padding:8px 12px;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-left-width:1px;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 5%,var(--surface))}
.form-error-summary:focus{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 25%,transparent)}
.search-dialog input:focus-visible{border-color:var(--border);outline:0}
@media(hover:none){.button kbd{display:none}}
.release-note-label{min-height:18px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-sm)}
.centered-message{padding:96px 16px}
.centered-message h1{margin-bottom:8px}
.centered-message .button{margin-top:16px}
.project-card-grid{grid-auto-rows:1fr}
.project-card-activity{color:var(--text-3)}
.status-icon--send{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E")}
@media(max-width:1100px){
 .project-overview-layout{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media(max-width:900px){
 .absence-weekdays span:first-child,.absence-day:first-child{padding-left:16px}
 .absence-weekdays span:last-child,.absence-day:last-child{padding-right:16px}
 .absence-day{padding-inline:16px}
 .calendar-toolbar{padding-inline:16px}
 .main-content-board .list-page-scroll{padding-top:12px}
 .absence-meta-fields{grid-template-columns:1fr}
 .selected-dates-panel{padding:16px 0 0;border-left:0;border-top:1px solid var(--border)}
}
@container document-list (max-width:1100px){
 .offer-row{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 136px;grid-template-areas:"date customer identity actions" "number customer total actions"}
 .document-list-page .invoice-row{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 136px;grid-template-areas:"date identity customer actions" "number identity total actions"}
 .offer-row .invoice-total,.document-list-page .invoice-total{text-align:left}
 .offer-row .invoice-total>.offer-payment{justify-content:flex-start}
}
@container document-list (max-width:600px){
 .offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "customer customer" "identity identity" "total actions"}
 .document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity identity" "customer customer" "total actions"}
 .project-tab-content.document-list-page .offer-row,.project-tab-content.document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity identity" "total actions"}
}
@container activity-feed (max-width:640px){
 .activity-actions{grid-template-columns:40px 40px max-content}
 .activity-actions>[data-activity-repeat]{display:none}
 .activity-actions:has(.activity-discussion-action,.activity-discussion-readonly){grid-template-columns:40px 40px max-content}
 .activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>.activity-more-menu{grid-column:1}
 .activity-actions>.activity-discussion-action,.activity-actions>.activity-discussion-readonly{grid-column:2}
 .activity-actions:has(.activity-discussion-action,.activity-discussion-readonly)>.activity-time{grid-column:3}
 .activity-actions:not(:has(.activity-discussion-action,.activity-discussion-readonly))>.activity-more-menu{grid-column:2}
 .activity-actions .activity-menu-repeat{display:flex}
}
.activity-menu-repeat{display:none}
@container work-item-feed (max-width:560px){
 .work-item-feed-row{grid-template-columns:auto minmax(0,1fr) 40px;gap:4px 12px;align-items:center;padding-block:12px}
 .work-item-feed-context{grid-column:1/3;grid-row:1;grid-template-columns:20px minmax(0,1fr)}
 .work-item-feed-context.has-description{grid-template-columns:20px minmax(0,1fr) 28px}
 .work-item-actions{grid-column:3;grid-row:1}
 .work-item-date{grid-column:1;grid-row:2;padding:0}
 .work-item-status{grid-column:2/4;grid-row:2;justify-self:start}
 .work-item-assignees{grid-column:1/4;grid-row:3}
 .work-item-project,.work-item-title{white-space:normal}
 .work-item-status-trigger{min-height:28px}
}
@media(max-width:680px){
 .main-content-list .list-page-controls,.main-content-activity .list-page-controls,.main-content-projects .list-page-controls,.main-content-work-items .list-page-controls{position:static;padding:12px 16px 8px}
 .main-content-list .list-page-scroll,.main-content-activity .list-page-scroll,.main-content-projects .list-page-scroll,.main-content-work-items .list-page-scroll{padding:12px 16px 24px}
 .main-content-list .list-controls .list-toolbar,.document-list-toolbar{flex-wrap:nowrap;gap:8px;align-items:center}
 .main-content-list .list-controls .list-search-controls{flex:1 1 0;flex-basis:0;min-width:0;gap:8px}
 .main-content-list .list-controls .list-toolbar-actions{flex:0 0 auto;gap:8px;flex-wrap:nowrap;width:auto}
 .main-content-list .list-controls .list-filter-trigger{min-width:40px;width:40px;padding:0;font-size:0;gap:0}
 .main-content-list .list-controls .list-filter-trigger>.icon{margin:0}
 .main-content-list .list-controls .list-toolbar-actions>.button{width:40px;min-width:40px;padding:0;font-size:0;gap:0}
 .main-content-list .list-controls .list-toolbar-actions>.button>.icon{margin:0;width:18px;height:18px;flex-basis:18px}
 .main-content-list .list-controls .list-toolbar-actions>.button kbd{display:none}
 .data-table.users-table thead{display:none}
 .data-table.users-table,.data-table.users-table tbody,.data-table.users-table tr{display:block}
 .data-table.users-table tr{padding:12px 0;border-bottom:1px solid var(--border)}
 .data-table.users-table td{display:flex;justify-content:space-between;gap:16px;height:auto;padding:2px 0;border:0;white-space:normal;font-size:var(--fs-13)}
 .data-table.users-table td[data-label]::before{content:attr(data-label);color:var(--muted)}
 .data-table.users-table td:first-child{margin-bottom:4px;font-size:var(--fs-14);font-weight:500}
 .data-table.users-table td:last-child{justify-content:flex-end;margin-top:4px}
 .data-table.users-table .inline-actions{opacity:1}
 .page-actions{flex-wrap:nowrap;align-items:center}
 .form-actions .button{flex:1}
}

@media(max-width:680px){
 .calendar-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 16px}
 .calendar-toolbar .month-nav{justify-self:end}
 .month-title{min-width:0;white-space:nowrap}
 .calendar-toolbar>.inline-actions:last-child{grid-column:1/-1;width:100%;justify-self:stretch}
 .calendar-toolbar-actions .button{flex:1}
}


/* Reading frame: content stays within 1360px on wide screens so related fields stay close. */
.app-screen{--main-inline-padding:max(32px,calc((100vw - var(--sidebar) - 16px - 1200px)/2))}
.main-content-calendar{--main-inline-padding:32px}
.main-content>.page-actions:has(>h1.visually-hidden),.main-content>.detail-header:has(>h1.visually-hidden),.notification-page>.detail-header:has(>h1.visually-hidden){justify-content:flex-end}
.main-content>.page-actions:has(>h1.visually-hidden:only-child),.main-content>.detail-header:has(>h1.visually-hidden:only-child),.notification-page>.detail-header:has(>h1.visually-hidden:only-child){min-height:0;margin:0}
.notification-page>.detail-header{min-height:var(--control-h);margin-bottom:16px}
.main-content .filter-bar-primary{margin-bottom:16px}
.main-content .filter-bar-primary .list-search-field{flex:0 1 360px;width:360px}
/* Prose */
.activity-body,.limited-content,.activity-rich-text{line-height:22px}
.activity-rich-text:not(.is-expanded){max-height:calc(110px + 2 * var(--paragraph-spacing))}
/* Phase markers are their own vocabulary. */
.status-icon--phase-active-development{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9'/%3E%3Cpath d='m18 15 4-4'/%3E%3Cpath d='m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5'/%3E%3C/svg%3E")}
.status-icon--phase-maintenance{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E")}
/* Header action menu */
.project-detail-header .activity-more-menu>summary{cursor:pointer}
.project-detail-header .activity-more-menu-panel{top:38px}
/* Long forms keep their actions in reach. */
.document-form form>.form-actions,.project-form form>.form-actions,.meeting-save-actions{position:sticky;bottom:-32px;z-index:5;margin:24px 0 -32px;padding:12px 0;border-top:1px solid var(--border);background:var(--bg)}
/* Document items: description beside amounts */
.document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(0,1fr) 112px 176px;gap:8px 12px;padding:12px}
.document-form .offer-item.is-fixed .offer-item-price-control{min-width:0}
.document-form .offer-item>.document-item-heading{grid-column:1/-1;margin:0}
.document-form .offer-item>.form-row:has(textarea){grid-column:1;grid-row:2/span 3}
.document-form .offer-item>.form-row:not(:has(textarea)){grid-column:2/-1}
.document-form .offer-item>.form-row:has(input[type=number],input[inputmode]):not(:has(.offer-item-price-control)){grid-column:2}
.document-form .offer-item>.form-row:has(.offer-item-price-control){grid-column:3}
.document-form .offer-item.is-fixed>.form-row:has(.offer-item-price-control){grid-column:2/-1}
.document-form .offer-discount-fields{grid-column:2/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.document-form .offer-line-total{grid-column:2/-1;padding-top:8px;font-size:var(--fs-13)}
.document-form .invoice-item textarea,.document-form .offer-item textarea{min-height:64px}
.document-form .offer-item .paragraph-editor,.document-form .invoice-item .paragraph-editor{min-height:64px}
.document-form .offer-item-remove,.document-form .invoice-item-remove{top:4px;right:4px}
@container document-form (max-width:540px){
 .document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-item>.form-row:has(textarea),.document-form .offer-discount-fields,.document-form .offer-line-total{grid-column:1/-1;grid-row:auto}
 .document-form .offer-item>.form-row:not(:has(textarea)){grid-column:auto}
 .document-form .offer-item.is-fixed>.form-row:has(.offer-item-price-control){grid-column:1/-1}
}
@media(max-width:900px){
 .main-content-calendar{--main-inline-padding:16px}
}
@media(max-width:680px){
 .offer-row,.document-list-page .invoice-row{padding-block:12px;gap:2px 12px}
 .offer-row .invoice-customer{margin-bottom:0}
 .main-content .filter-bar-primary .list-search-field{flex:1 1 0;width:auto}
 .document-form form>.form-actions,.project-form form>.form-actions,.meeting-save-actions{bottom:-16px;margin-bottom:-16px}
}

.activity-entry-details:not(:has(*))+.activity-body{margin-top:0}
.activity-actions{margin-top:-5px;margin-bottom:-5px}
.activity-meeting-topics .activity-content{grid-template-columns:224px minmax(0,1fr)}
.data-table .person-inline{display:flex}
.form-actions .button-primary{order:-1}
@container activity-feed (max-width:800px){.activity-meeting-topics .activity-content{grid-template-columns:minmax(0,1fr)}}
@container activity-feed (max-width:640px){
 .activity-row .activity-actions,.activity-row:not(.activity-row--without-context) .activity-actions{margin-block:-10px}
}


/* Shared conventions */
.calendar-toolbar{padding-block:16px 8px}
.settings-layout{grid-template-columns:136px minmax(0,1fr);justify-content:stretch;gap:24px;max-width:720px}
.content-form-absence{max-width:720px}
.absence-meta-fields,.absence-date-selection{grid-template-columns:minmax(0,1fr) 200px}
/* Reference chips and secondary actions */
.project-overview-layout .section-heading .button-primary{min-height:var(--control-h);padding:6px 12px}
.project-link{min-height:var(--control-h);padding:6px 12px;border-color:var(--border-strong);background:var(--surface);font-weight:500}
/* Inside an overdue group the heading carries the state. */
.work-item-group--overdue .work-item-date.is-overdue,.dashboard-deadline-group--overdue .dashboard-deadline-item.is-overdue>time{color:var(--muted)}
/* Timestamps */
.activity-time--with-date time,.activity-actions>.activity-time--with-date time,.activity-entry-footer .activity-time time{gap:4px}
.activity-entry-footer{width:100%}
.activity-entry-footer>.activity-time,.activity-entry-footer>.activity-time-actions{margin-left:auto}
.activity-row--time-footer{grid-template-columns:minmax(0,1fr)}
.activity-row--time-footer .activity-content{grid-column:1}
.activity-row--time-footer .activity-actions{position:absolute;top:12px;right:0;margin:-5px 0;z-index:1}
/* Project cards */
.project-card{min-height:76px}
.project-card-activity{display:flex;align-items:center;gap:6px;color:var(--muted)}
.project-card-status{gap:0;color:var(--link)}
.project-card-status .icon{width:14px;height:14px;flex-basis:14px}
.project-phase-group>summary{align-items:center}
.project-phase-count{line-height:20px}
/* Avatar stacks: ring + -4px overlap */
.avatar-stack{padding-left:4px}
.avatar-stack>span{margin-left:-2px}
.avatar-stack .avatar,.dashboard-deadline-assignees .avatar,.project-card-footer .avatar{width:24px;height:24px;flex-basis:24px;border:2px solid var(--bg)}
.project-card-footer .avatar{border-color:var(--surface)}
.project-card:hover .project-card-footer .avatar,.project-card:focus-within .project-card-footer .avatar{border-color:var(--surface-2)}
.project-card-footer,.dashboard-deadline-item>.dashboard-deadline-assignees{min-height:24px}
.more-people.avatar-more,.avatar-more{width:auto;min-width:24px;padding:0 4px;background:transparent;border:0;color:var(--muted);font-size:var(--fs-12)}
/* Forms: one rhythm */
.document-form .form-section{padding:24px 0 8px}
.document-form .form-section>h2{margin:0 0 12px}
.project-form-grid{gap:16px}
.document-form .paragraph-editor,.project-form .paragraph-editor{min-height:56px}
.invoice-form-grid--tax-id{grid-template-columns:1fr 1fr}
.invoice-form-grid>.form-row>label{align-self:end}
.offer-copy-company .form-row{column-gap:8px}
.offer-line-total{font-size:var(--fs-14)}
.offer-totals p{font-size:var(--fs-14)}
.offer-totals .offer-totals-final{font-size:var(--fs-16);font-weight:600}
.document-item-heading{font-size:var(--fs-13);font-weight:500;color:var(--muted)}
.offer-discount-toggle{width:auto;flex:0 0 auto;min-width:var(--control-h);height:var(--control-h);padding:0 8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-13);font-weight:500}
.offer-discount-symbol{font-size:var(--fs-14);font-weight:500}
/* Selected-person chips */
.combobox-chip{color:var(--text);border-color:var(--border-strong);background:var(--surface);font-weight:400}
/* Logos on dark */
html[data-theme=dark] .project-avatar--image{background:#dcdfda;padding:1px}
html[data-theme=dark] .project-avatar--image img{filter:none;padding:1px}
/* Calendar */
.absence-person>.status-icon{width:14px;height:14px;flex:0 0 14px}
/* Tables */
.audit-table td:nth-child(1),.audit-table td:nth-child(2){color:var(--muted)}
.users-table th:last-child{font-size:0}
.users-table td:nth-child(6){color:var(--muted)}
/* Details */
.dashboard-count{line-height:20px}
.profile-section .section-heading{align-items:center;min-height:var(--control-h);margin-bottom:8px}
.profile-section .section-heading h2{margin:0}
.document-list-page .invoice-total{font-weight:500}
.work-item-status-options button:disabled{opacity:1;color:var(--text);background:var(--selected);cursor:default}
.search-dialog .search-input-wrap input:not([type=checkbox]):not([type=radio]):focus-visible{border-color:var(--border);outline:0}
.search-dialog [role=option] .project-avatar{width:20px;height:20px;flex-basis:20px;margin-right:8px}
.search-dialog [role=option]>span:not(.project-avatar){flex:1;min-width:0}
.range-calendar-header button{min-width:30px;height:30px;padding:0;color:var(--muted);font-size:var(--fs-16)}
.status-icon--phase-active-development{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 16 4-4-4-4'/%3E%3Cpath d='m6 8-4 4 4 4'/%3E%3Cpath d='m14.5 4-5 16'/%3E%3C/svg%3E")}
.icon-tag{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='black'/%3E%3C/svg%3E")}
.icon-upload{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' x2='12' y1='3' y2='15'/%3E%3C/svg%3E")}
/* Meeting topics */
.meeting-topic-editor{position:relative}
.meeting-topic-actions{position:absolute;top:8px;right:8px;z-index:1}
.meeting-topic-columns:not(:has(.meeting-project-context-content)){grid-template-columns:minmax(0,1fr)}
.meeting-topic-project-context:not(:has(.meeting-project-context-content)){display:none}
@media(max-width:900px){
 .dashboard-team-deadlines{padding-top:0;border-top:0}
 .absence-day:not(:has(.absence-person,.absence-holiday)){min-height:32px;padding-block:4px}
 .absence-day.is-weekend{min-height:32px}
 .absence-meta-fields,.absence-date-selection{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:680px){
 .settings-layout{grid-template-columns:minmax(0,1fr)}
 .dashboard-work-tile{grid-template-columns:minmax(0,1fr);gap:4px;padding-block:12px}
 .dashboard-work-tile-context strong{white-space:normal}
 .dashboard-work-tile-meta{justify-content:flex-start;padding-left:28px;gap:12px}
 .dashboard-work-tile-meta .status-label{min-width:0}
 .activity-toolbar .meeting-new-button,.main-content-list .list-controls .list-toolbar-actions>.button{flex:0 0 40px}
 .users-table td:nth-child(2),.users-table td:nth-child(3),.users-table td:nth-child(4){justify-content:flex-start;padding:0}
 .users-table td:nth-child(2)::before,.users-table td:nth-child(3)::before,.users-table td:nth-child(4)::before{display:none}
 .users-table td:nth-child(2),.users-table td:nth-child(3),.users-table td:nth-child(4),.users-table td:nth-child(7){color:var(--muted)}
 .data-table.users-table td:nth-child(5),.data-table.users-table td:nth-child(6){display:inline-flex;justify-content:flex-start;gap:4px;margin:4px 12px 0 0;padding:0}
 .data-table.users-table td:nth-child(7){padding-top:0}
 .audit-table th:nth-child(5),.audit-table td:nth-child(5){display:none}
}
@container project-work-items (max-width:430px){
 .project-work-items-card .work-item-row{grid-template-columns:auto minmax(0,1fr);gap:4px 12px}
 .project-work-items-card .work-item-title{grid-column:1/-1;grid-row:1}
 .project-work-items-card .work-item-date{grid-column:1;grid-row:2}
 .project-work-items-card .work-item-status{grid-column:2;grid-row:2}
 .project-work-items-card .work-item-assignees{grid-column:1/-1;grid-row:3}
}


/* Page bands and shared rows */
.status-icon--work-state-open{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12h.01'/%3E%3Cpath d='M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3Cpath d='M22 13a18.15 18.15 0 0 1-20 0'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E")}
/* Floating surfaces */
.activity-more-menu-panel,.combobox-options,.filter-popover-panel,.notification-popover,.account-menu,.project-collection-move-menu{background:var(--float);border-color:var(--float-border);border-radius:var(--radius-md)}
/* Feed columns: context, prose, then a fixed time column right beside them. */
.activity-content{grid-template-columns:224px minmax(0,1fr)}
.activity-entry-main{max-width:72ch}
/* Project card: identity on top, facts below */
.project-card-activity{gap:6px;min-width:0;white-space:nowrap}
.project-card-activity>span{overflow:hidden;text-overflow:ellipsis}
.project-card-activity .project-platform{flex:0 0 auto;color:var(--muted)}
.project-card-header{grid-template-columns:auto minmax(0,1fr)}
.project-card{grid-template-rows:auto auto;min-height:72px}
.project-card-grid{grid-auto-rows:auto}
/* Announcements are important, not errors. */
.dashboard-announcements .announcement{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}
.dashboard-heading-title--important>.icon{color:var(--link)}
.announcement-importance{color:var(--link)}
/* Finance editors use the width they need. */
.content-form.document-form{max-width:960px}
.document-form .form-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-items:start}
.document-form .form-section>*{grid-column:1/-1;min-width:0}
.document-form .form-section>.form-row,.document-form .form-section>[data-invoice-tax-note]{grid-column:auto}
.document-form .form-section>.form-row:has(.limited-content-editor,.paragraph-editor,textarea){grid-column:auto}
.document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(0,1fr) 112px 208px}
.document-form .invoice-item{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:12px}
.document-form .invoice-item>.document-item-heading{grid-column:1/-1;margin:0}
.document-form .invoice-item>.form-row:has(textarea){grid-column:1/-1;grid-row:auto}
.document-form .invoice-item>.form-row>label{align-self:end;white-space:nowrap}
.document-form .invoice-item-remove{top:4px;right:4px}
.offer-discount-toggle .icon{margin:0}
.offer-discount-label,.offer-discount-remove-label{font-size:var(--fs-13);font-weight:500}
@container document-form (max-width:760px){
 .document-form .form-section{grid-template-columns:minmax(0,1fr)}
 .document-form .invoice-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* Mobile calendar: date and weekday in a column, people beside them. */
@media(max-width:900px){
 .absence-day{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:0 8px;min-height:32px;padding-block:6px}
 .absence-day.is-weekend,.absence-day:not(:has(.absence-person,.absence-holiday)){min-height:32px;padding-block:6px}
 .absence-day-date{grid-column:1;grid-row:1/span 5;min-height:20px;gap:6px}
 .absence-day-date time{line-height:20px}
 .absence-day-weekday{margin-left:0;font-weight:400;line-height:20px}
 .absence-day>:not(.absence-day-date){grid-column:2}
 .absence-person{min-height:20px}
}


/* List frames and toolbars */
/* Callouts are one family: tone border, quiet fill, no stripe. */
.alert{--tone:var(--accent);border:1px solid color-mix(in srgb,var(--tone) 30%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--tone) 6%,var(--surface));padding:8px 12px;font-size:var(--fs-13);line-height:20px}
.alert-danger,.form-error-summary{--tone:var(--danger)}
.alert-success{--tone:var(--success)}
.alert-warning{--tone:var(--warning)}
.form-error-summary:focus{outline:2px solid color-mix(in srgb,var(--danger) 35%,transparent);outline-offset:1px;box-shadow:none}
/* Sidebar states */
.notification-bell.has-unread>.notification-bell-button{background:transparent;color:var(--muted)}
.notification-bell.has-unread>.notification-bell-button>.icon{color:inherit}
.sidebar-footer .notification-bell[open]>.notification-bell-button{background:var(--selected);color:var(--text)}
/* Key hints */
.button kbd{min-width:18px;justify-content:center;background:color-mix(in srgb,currentColor 16%,transparent);color:inherit;font-size:11px}
/* Toolbar family: search and buttons share a border weight; form fields carry the 3:1 boundary. */
:root{--border-strong:#c9cdd5}
html[data-theme=dark]{--border-strong:#40433e;--button-border:var(--control-border)}
@media(prefers-color-scheme:dark){html[data-theme=system]{--border-strong:#40433e}}
/* Back control sits in the gutter so titles keep the content edge. */
.project-heading,.work-item-heading{position:relative}
.project-back-button,.work-item-back-button{position:absolute;top:-1px;left:-30px;margin:0;width:28px;height:30px}
/* Project card marker beside the name */
.project-card-heading{display:flex;align-items:center;gap:6px;min-width:0}
.project-card-heading .project-card-status{flex:0 0 auto;display:inline-flex;color:inherit}
.project-card-activity .project-platform{flex:0 0 auto}
/* Home has no competing primary */
.dashboard-heading-actions .button-primary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}
.dashboard-heading-actions .button-primary:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}
/* Totals */
.offer-totals{min-width:320px;padding:12px 16px;border-radius:var(--radius-md)}
.offer-totals p{gap:24px}
.offer-totals .offer-totals-final{font-size:var(--fs-16);font-weight:600}
.offer-totals .offer-totals-final>:first-child{display:inline-block;text-transform:lowercase}
.offer-totals .offer-totals-final>:first-child::first-letter{text-transform:uppercase}
.form-section>p,.form-section>.muted{margin:0 0 12px;font-size:var(--fs-13);line-height:18px;color:var(--muted)}
/* Discount: quiet text action below the amount */
.offer-discount-toggle{grid-column:2/-1;justify-self:end;width:auto;min-width:0;height:24px;margin:0;padding:0 4px;border:0;background:transparent;color:var(--muted);font-size:var(--fs-13);font-weight:500}
.offer-discount-toggle:hover{background:var(--hover);color:var(--text)}
.offer-item-price-control{display:block}
.offer-item-price-control>input{width:100%}
/* Period navigation uses one form */
.section-heading .icon-button-bordered,.profile-section .icon-button-bordered{width:30px;height:30px;border:0;background:transparent}
.range-calendar-header button .icon{display:block;margin:auto}
/* Logos on dark */
html[data-theme=dark] .project-avatar--image{background:#d8dad6}
html[data-theme=dark] .project-avatar--image img{filter:brightness(.94)}
/* Absence type control */
.absence-meta-fields{grid-template-columns:minmax(0,1fr) auto}
.type-chips{flex-wrap:nowrap;white-space:nowrap}
/* Mobile top bar names the section */
.mobile-bar-title{flex:1;min-width:0;margin-left:4px;overflow:hidden;font-size:var(--fs-14);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.mobile-bar{gap:4px}
.icon-projects{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E")}
@media(max-width:900px){
 .absence-day-date time{display:inline-block;min-width:18px;text-align:right}
 .absence-day-weekday{min-width:24px}
 .absence-calendar{padding-top:0;margin-top:0}
}
@media(max-width:680px){
 .project-back-button,.work-item-back-button{position:static;margin:0 0 0 -8px}
 .project-heading{display:grid;grid-template-columns:minmax(0,1fr)}
 .work-item-heading{flex-direction:column;gap:2px}
 .activity-row--time-footer .activity-entry-main>:first-child,.activity-row--time-footer .activity-entry-header>:first-child{padding-right:44px}
 .activity-row--time-footer .activity-actions{top:8px;margin:0}
 .invoice-form-grid{row-gap:0}
 .invoice-form-grid>.form-row{margin:0 0 16px}
 .users-table td:nth-child(5),.users-table td:nth-child(6){white-space:nowrap}
 .alert{hyphens:none}
 .mobile-bar .brand-wordmark{width:84px;height:18px}
}
@container activity-feed (max-width:640px){
 .activity-row--time-footer .activity-entry-footer{flex-wrap:wrap}
}

.activity-row--time-footer .activity-entry-main{max-width:none}
.main-content:has(h1:not(.visually-hidden)) .mobile-bar-title{visibility:hidden}
@media(max-width:680px){
 .activity-row--time-footer .activity-actions{top:0;margin:0}
 .activity-row--time-footer .activity-entry-header{padding-right:44px}
 .activity-row--time-footer .activity-entry-main>:first-child{padding-right:0}
 .activity-row--time-footer .activity-content:not(:has(.activity-entry-header>*)) .activity-entry-main>:first-child{padding-right:44px}
}


/* Rows, status and metadata */
.status-icon--offer-sent{color:var(--status-cyan)}
.icon-sliders{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E")}
/* Outside-month days stay readable. */
.absence-day.is-outside{opacity:1;background:color-mix(in srgb,var(--text) 1.5%,transparent)}
.absence-day.is-outside .absence-day-date time,.absence-day.is-outside .absence-person{color:var(--muted)}
.absence-day.is-outside .avatar{opacity:.72}
.absence-day.is-outside .status-icon{opacity:.8}
/* Project overview timestamps */
.project-activity-card .activity-entry-footer,.project-activity-card .activity-entry-footer .activity-time,.project-activity-card .activity-entry-footer .activity-time time,.project-activity-card .activity-date,.project-activity-card .activity-clock{font-size:var(--fs-12);line-height:18px;color:var(--muted)}
.project-activity-card .activity-entry-footer .activity-people+.activity-time::before{content:none}
.work-item-final-target.is-drop-target{outline:2px solid var(--drop-color);outline-offset:1px}
.document-list-page .invoice-row{grid-template-columns:88px 104px minmax(0,2fr) minmax(0,1fr) 136px minmax(110px,auto)}
@media(max-width:1100px){
 .project-overview-layout{display:flex;flex-direction:column;gap:24px}
 .project-overview-layout .project-information,.project-overview-layout .project-side-column{display:contents}
 .project-overview-layout .project-note{order:1}
 .project-overview-layout .project-people{order:2}
 .project-overview-layout .project-links{order:3}
 .project-overview-layout .project-work-items-card{order:4}
 .project-overview-layout .project-activity-card{order:5}
 .project-overview-layout .project-key-facts{order:6}
 .project-overview-layout .project-customer-details{order:7}
 .project-overview-layout .project-information-footer{order:8}
 .project-overview-layout .project-information>*{min-width:0}
}
@media(max-width:680px){
 .list-scopes,.main-content-list .list-controls .list-scopes{flex-wrap:wrap}
 .main-content-list .list-controls .list-scope{min-height:36px;padding:6px 10px}
 .main-content-list.main-content-work-items .work-item-controls.list-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:8px}
 .main-content-work-items .work-item-controls>.work-item-toolbar{grid-column:1;grid-row:1}
 .main-content-list.main-content-work-items .list-controls .work-item-view-row{display:contents}
 .main-content-work-items .work-item-scopes{grid-column:1/-1;grid-row:2}
 .main-content-work-items .work-item-views{grid-column:2;grid-row:1}
 .main-content-work-items .work-item-view{width:32px;min-height:40px;padding:0;justify-content:center;font-size:0;gap:0}
 .main-content-work-items .work-item-view .icon{margin:0}
 .main-content-work-items .work-item-filter-chips{grid-column:1/-1}
 /* Touch: one metadata line, participants left, flag + time + menu right */
 .activity-row--time-footer{padding-bottom:12px}
 .activity-row--time-footer .activity-actions{top:auto;bottom:2px;right:0;margin:0}
 .activity-row--time-footer .activity-entry-header{padding-right:0}
 .activity-row--time-footer .activity-entry-footer{padding-right:44px;min-height:40px}
 /* Board */
 .work-item-board{gap:20px}
 .work-item-board-card{padding:12px}
 .work-item-board-card h3{margin:4px 0}
 .work-item-board-activity{margin-block:-8px}
 .work-item-board-assignees{margin-bottom:4px}
 .work-item-board-heading{margin-bottom:4px;min-height:28px}
 .work-item-board-info{margin-block:-8px}
 /* Calendar toolbar */
 .calendar-toolbar{padding-block:8px}
}

.activity-entry-footer .activity-time,.activity-entry-footer>.activity-time{padding:0}
@media(max-width:1100px){
 .project-overview-layout{align-items:stretch}
 .project-overview-layout .project-contacts,.project-overview-layout .project-people{width:100%}
}


/* Detail pages and forms */
/* One activity entry: top-right time, 680px prose measure. */
.activity-entry-main{max-width:680px}
.activity-rich-text{max-width:680px}
.activity-row--time-footer .activity-entry-main{max-width:680px}
.date-separator-weekday{text-transform:capitalize}
.activity-row--time-footer .activity-entry-footer .activity-time-actions{position:absolute;top:12px;right:0;margin:0;display:flex;align-items:center;gap:0}
.activity-row--time-footer .activity-entry-footer .activity-time{line-height:20px;margin:0}
.activity-row--time-footer .activity-actions{top:7px;right:104px;margin:0}
.work-item-timeline .timeline-event{position:relative}
.timeline-event--readable .activity-entry-footer>.activity-time,.timeline-event--readable .activity-entry-footer>time,.work-item-timeline .timeline-event>time{position:absolute;top:12px;right:0;margin:0;line-height:20px}
.activity-entry-header{align-items:flex-start;align-content:start}
@container activity-feed (min-width:700px){
 .activity-content{grid-template-columns:224px minmax(0,1fr);gap:24px}
 .activity-entry-header{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:2px}
 .activity-meeting-topics .activity-content{grid-template-columns:224px minmax(0,1fr)}
}
.activity-meeting{margin-inline:-12px}
.activity-row--without-context .activity-work-item{grid-template-columns:14px minmax(0,1fr);gap:6px}
/* Toolbars: every list opens with the same stuck control bar and rule. */
.main-content>.page-actions:has(>h1.visually-hidden),.main-content>.detail-header:has(>h1.visually-hidden),.main-content>.filter-bar-primary,.notification-page>.notification-scopes{position:sticky;top:-16px;z-index:6;min-height:calc(var(--control-h) + 24px);margin:-16px calc(0px - var(--main-inline-padding)) 16px;padding:16px var(--main-inline-padding) 8px;border-bottom:1px solid var(--border);background:var(--bg)}
.main-content>.filter-bar-primary{display:flex;align-items:center}
.notification-page{position:relative}
.notification-page>.detail-header{position:absolute;top:0;right:0;z-index:7;min-height:0;margin:0}
.notification-page>.notification-scopes{display:flex;align-items:center;gap:4px}
.main-content>.page-actions:has(>h1.visually-hidden:only-child),.main-content>.detail-header:has(>h1.visually-hidden:only-child){display:none}
/* Page tops: back control hangs in the gutter, title keeps the content edge. */
.content-form,.content-narrow,.meeting-editor-page,.project-form,.history-page{position:relative}
.back-link{position:absolute;top:1px;left:-30px;display:flex;align-items:center;justify-content:center;width:28px;height:30px;margin:0;border-radius:var(--radius);color:var(--muted);font-size:0}
.back-link:hover{background:var(--hover);color:var(--text);text-decoration:none}
.back-link::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.form-intro{margin:-8px 0 16px}
.meeting-page-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.meeting-page-header h1{margin:0 0 4px}
.meeting-details-editor{padding-bottom:16px}
.meeting-topics-editor{padding-top:24px}
.meeting-topics-editor>h2{margin-top:0}
/* Key-value facts: one pattern */
.project-key-facts,.project-overview-layout .project-key-facts{grid-template-columns:minmax(0,1fr);gap:0}
.project-fact-card{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;padding:8px 0;border-top:1px solid var(--border);font-size:var(--fs-13)}
.project-fact-card:first-child{border-top:0}
.project-fact-card>*{grid-column:2}
.project-fact-label{grid-column:1;grid-row:1/span 6;margin:0}
.project-fact-value{margin:0;font-size:var(--fs-13)}
.project-contact:first-child{border-top:0}
.project-detail-list>div:first-child{border-top:0}
.work-item-fact{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:16px;align-items:baseline;font-size:var(--fs-13)}
.work-item-fact dt{margin:0;font-weight:400}
.work-item-fact dd{font-size:var(--fs-13)}
.work-item-fact:has(>dt.visually-hidden){display:block}
.work-item-facts{gap:8px}
.work-item-meta p{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:16px;justify-content:start}
.work-item-meta strong,.work-item-meta time{text-align:left}
.properties{grid-template-columns:120px minmax(0,1fr);gap:4px 16px;font-size:var(--fs-13)}
.value-empty{color:var(--text-3)}
/* Long forms: opaque footer across the panel */
.document-form form>.form-actions,.project-form form>.form-actions,.meeting-save-actions{border-top:0;background:var(--bg);box-shadow:0 0 0 100vmax var(--bg),0 -1px 0 100vmax var(--border);clip-path:inset(-1px -100vmax 0 -100vmax)}
/* Document items */
.document-form .offer-item>.form-row:has(textarea){grid-row:2/span 2;height:100%;grid-template-rows:auto minmax(0,1fr)}
.document-form .offer-item>.form-row:has(textarea) .paragraph-editor,.document-form .offer-item>.form-row:has(textarea) textarea{height:100%}
.offer-totals{margin:12px 0 16px auto;width:320px;padding:0;border:0;background:transparent}
.offer-pricing-mode{max-width:none}
.offer-number-input{gap:0}
.offer-number-input input{border-radius:var(--radius) 0 0 var(--radius)}
.offer-number-suffix{display:inline-flex;align-items:center;height:var(--control-h);padding:0 10px;border:1px solid var(--control-border);border-left:0;border-radius:0 var(--radius) var(--radius) 0;background:var(--surface-2);font-size:var(--fs-13)}
.invoice-add-item,.project-collection-add{margin-bottom:16px}
.offer-copy-company{margin-bottom:12px;padding:0}
.form-section{padding:24px 0 12px}
.document-form .form-section{padding:24px 0 12px}
.form-section>h2:first-child{margin:0 0 12px}
/* Small form details */
.document-form .invoice-item label .form-required-marker,.document-form .offer-item label .form-required-marker{margin-left:.25em}
.offer-copy-company .form-row{grid-template-columns:16px minmax(0,1fr);column-gap:8px}
label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:8px}
input[type=date]:invalid::-webkit-datetime-edit{color:var(--muted)}
/* Table hover shape matches every other row */
.data-table td{position:relative}
.data-table tbody tr:hover td:first-child{box-shadow:none}
.data-table tbody tr:hover td:last-child{box-shadow:none}
.data-table tbody tr:hover td:first-child::before{content:"";position:absolute;inset:0 100% 0 -12px;border-radius:var(--radius) 0 0 var(--radius);background:var(--hover);pointer-events:none}
.data-table tbody tr:hover td:last-child::after{content:"";position:absolute;inset:0 -12px 0 100%;border-radius:0 var(--radius) var(--radius) 0;background:var(--hover);pointer-events:none}
.table-scroll{margin-inline:-12px;padding-inline:12px}
.users-table td:last-child{width:1%}
.data-table .activity-more-menu-panel{text-align:left}
.data-table .activity-more-menu-panel button{white-space:nowrap}
.users-table tbody tr:has(.activity-more-menu[open]) .inline-actions{opacity:1}
/* Money and status */
.offer-row .invoice-total strong,.document-list-page .invoice-total strong,.document-list-page .invoice-total{font-weight:500}
.work-item-status-trigger{color:var(--muted)}
.work-item-status-trigger:hover,.work-item-status-menu[open]>.work-item-status-trigger{color:var(--text)}
.offer-status,.offer-draft-badge,.offer-row-meta>.offer-draft-badge,.dashboard-work-tile-meta .status-label{color:var(--muted)}
/* Logos */
html[data-theme=dark] .project-avatar--image{background:#c9cbc6;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
html[data-theme=dark] .project-avatar--image img{filter:none}
/* Calendar */
.absence-day.is-outside{background:transparent}
.absence-weekdays,.absence-calendar{padding-inline:24px}
.absence-weekdays span:first-child,.absence-day:first-child{padding-left:8px}
.absence-weekdays span:last-child,.absence-day:last-child{padding-right:8px}
/* Kanban fits the frame */
.work-item-board-column{flex:1 0 232px;width:232px}
.work-item-board{gap:12px}
.work-item-board-empty{padding:4px;border:0;text-align:left;color:var(--text-3)}
.work-item-final-actions{right:var(--main-inline-padding);width:min(564px,calc(100% - 2 * var(--main-inline-padding)))}
.work-item-final-target,.work-item-final-actions.is-drag-active .work-item-final-target{border:1px solid var(--border-strong);border-style:solid}
/* Notes that are not alerts */
.invoice-issuer-note{border-color:var(--border);background:var(--surface-2)}
.alert{hyphens:none}
.form-error-summary{font-size:var(--fs-13)}
.form-error-summary:focus{outline:2px solid var(--focus);outline-offset:2px;box-shadow:none}
.project-card-link strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-card-link{min-width:0;overflow:hidden}
.sidebar-account summary.is-active{background:var(--selected)}
.icon-copy-plus{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 12v6M12 15h6'/%3E%3Crect width='14' height='14' x='8' y='8' rx='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E")}
@media(max-width:900px){
 .absence-weekdays,.absence-calendar{padding-inline:0}
 .absence-day:first-child,.absence-day:last-child,.absence-day{padding-inline:16px}
}
@media(max-width:680px){
 .back-link{position:static;display:inline-flex;margin:0 0 0 -8px}
 .activity-meeting{margin-inline:0}
 .main-content-list.main-content-work-items .list-controls .work-item-view{min-height:40px;width:36px}
 .main-content-calendar .mobile-bar-title{visibility:visible}
 .activity-row--time-footer .activity-entry-footer .activity-time-actions{position:static;margin-left:auto;gap:4px}
 .activity-row--time-footer .activity-actions{top:auto;right:0;bottom:2px;margin:0}
 .work-item-feed-row{gap:0 12px;padding-block:10px}
 .work-item-assignees{grid-column:3;grid-row:2;justify-self:end;flex-wrap:nowrap;gap:2px}
 .work-item-status{grid-column:2;grid-row:2}
 .work-item-feed-row{grid-template-columns:auto minmax(0,1fr) auto}
 .work-item-feed-context{grid-column:1/3}
 .work-item-actions{grid-column:3;grid-row:1}
 .work-item-person>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .work-item-assignees>.muted{font-size:var(--fs-12)}
 .data-table.users-table td[data-label]::before{margin-right:4px}
 .data-table.users-table td:nth-child(5),.data-table.users-table td:nth-child(6){color:var(--text)}
 .data-table.users-table td:nth-child(7){justify-content:flex-start;gap:4px}
 .data-table.users-table td:nth-child(7){color:var(--text)}
 .table-scroll{margin-inline:0;padding-inline:0}
 .data-table tbody tr:hover td{background:transparent}
 .data-table tbody tr:hover td:first-child::before,.data-table tbody tr:hover td:last-child::after{content:none}
}


/* Home, calendar and directory */
.document-form .offer-discount-fields{grid-column:1;grid-row:4;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.document-form .offer-line-total{grid-column:2/-1;grid-row:4;align-self:end;padding-top:0;border-top:0}
.document-form .offer-discount-toggle{grid-row:3}
.document-form .offer-item>.form-row:has(.offer-item-price-control){grid-row:2}
.document-form .offer-item>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)){grid-row:2}
/* Quiet column headers for financial lists */
.document-list-head{display:grid;gap:16px;align-items:center;padding:0 0 8px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-12);font-weight:500}
.document-list-head--offer{grid-template-columns:88px 104px minmax(150px,1fr) minmax(180px,1.6fr) 136px minmax(110px,auto)}
.document-list-head--invoice{grid-template-columns:88px 104px minmax(0,2fr) minmax(0,1fr) 136px minmax(110px,auto)}
.document-list-head>span:last-child{grid-column:-2;text-align:right}
.document-list-page{container:document-list/inline-size}
@container document-list (max-width:1100px){.document-list-head{display:none}}
/* Calendar legend */
.absence-legend{display:inline-flex;align-items:center;gap:12px;margin-left:8px;color:var(--muted);font-size:var(--fs-12)}
.absence-legend>span{display:inline-flex;align-items:center;gap:4px}
.absence-legend .status-icon{width:14px;height:14px;flex-basis:14px}
/* Project activity tab keeps prose and time together */
/* Board fits exactly five columns */
.work-item-board-column{flex:1 1 224px;width:auto;min-width:224px}
@container work-item-board (max-width:680px){.work-item-board-column{width:auto;min-width:0;max-width:none}.work-item-board-empty{padding:4px 0}}
@media(max-width:1100px){
 .project-overview-layout .project-note{order:1}
 .project-overview-layout .project-work-items-card{order:2}
 .project-overview-layout .project-links{order:3}
 .project-overview-layout .project-people{order:4}
 .project-overview-layout .project-activity-card{order:5}
}
@media(max-width:680px){
 .project-detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}
 .project-heading{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px}
 .project-back-button{margin:0 0 0 -8px}
 .project-heading .project-statuses{flex-basis:100%;gap:0 12px;font-size:var(--fs-12)}
 .project-detail-header>.page-actions{flex-wrap:nowrap}
 .form-intro{display:none}
 .main-content-activity .list-controls .list-toolbar-actions>.meeting-new-button{flex:0 0 40px;width:40px;min-width:0;padding:0;font-size:0}
 .absence-legend{order:9;flex-basis:100%;margin:0}
 .calendar-toolbar>.inline-actions:first-child{flex-wrap:wrap}
}

@container project-work-items (max-width:560px){
 .project-work-items-card .work-item-row{grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px}
 .project-work-items-card .work-item-title{grid-column:1/-1;grid-row:1}
 .project-work-items-card .work-item-date{grid-column:1;grid-row:2}
 .project-work-items-card .work-item-status{grid-column:2;grid-row:2}
 .project-work-items-card .work-item-assignees{grid-column:3;grid-row:2;justify-self:end;flex-wrap:nowrap;gap:2px}
 .project-work-items-card .work-item-person>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}


/* Screen-specific refinements */
/* Toolbars and content share one width. */
.work-item-board{width:auto;min-width:0}
.work-item-board-column{flex:1 1 0;min-width:224px;max-width:none}
.main-content>.page-actions.calendar-toolbar{margin:0;position:static;min-height:0}
/* Row lists instead of card lists */
.notification-page-list{overflow:visible;border:0;border-radius:0;background:transparent}
.notification-page-list .notification-row{position:relative;padding:12px 0}
.notification-page-list .notification-row:hover{background:transparent}
.notification-page-list .notification-row:hover::before{content:"";position:absolute;inset:0 -12px;border-radius:var(--radius);background:var(--hover);pointer-events:none}
.main-content>.announcement-list .announcement{padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.main-content>.announcement-list .announcement-body{max-width:680px}
/* Page tops */
.back-link{top:-1px}
.content-form>h1,.content-narrow>h1{margin-bottom:16px}
.content-form:not(.document-form):not(.project-form):not(.meeting-editor-page)>h1{padding-bottom:16px;border-bottom:1px solid var(--border)}
/* Sticky form footer */
.document-form form>.form-actions,.project-form form>.form-actions,.meeting-save-actions{border-top:1px solid transparent;border-image:conic-gradient(var(--border) 0 0) 1/1px 0 0 0/0 100vmax;box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax 0 -100vmax)}
/* Work rows read date-first everywhere */
.dashboard-work-tile{grid-template-columns:96px minmax(0,1fr) 112px;gap:16px}
.dashboard-work-tile-meta{display:contents}
.dashboard-work-tile-meta>.dashboard-work-date{grid-column:1;grid-row:1}
.dashboard-work-tile-context{grid-column:2;grid-row:1}
.dashboard-work-tile-meta>.status-label{grid-column:3;grid-row:1;min-width:0}
@container project-work-items (min-width:561px){.project-work-items-card .work-item-row{grid-template-columns:96px minmax(150px,1fr) 160px 112px}}
/* Pixel alignment */
.activity-row--without-context .activity-actions{margin-top:-5px}
.activity-change-summary{gap:4px 6px}
.activity-change-summary .status-label{gap:6px}
.main-content .filter-bar-primary .list-search-field>input[type=search]{padding:6px 32px 6px 36px}
.main-content .filter-bar-primary .list-search-field>.icon,.main-content-list .list-controls .list-search-field>.icon{left:11px}
.main-content .filter-bar-primary{gap:10px}
.dashboard-section-heading,.dashboard-team-deadlines-heading,.dashboard-absence-heading{min-height:32px}
.dashboard-section-heading h2,.dashboard-team-deadlines-heading h2,.dashboard-absence-heading h2{line-height:24px}
/* Project rail: one section pattern */
.project-information .project-subheading,.project-information .form-section>h2{font-size:var(--fs-14);line-height:20px;letter-spacing:0;margin:0 0 8px}
.project-subheading+.project-contact,.project-subheading+.project-contacts>.project-contact:first-child{border-top:0;padding-top:0}
.project-link{min-height:28px;padding:2px 8px;border-color:var(--border);background:transparent;font-weight:400}
.project-information .project-customer-details{padding:0;border:0}
.project-fact-card,.project-detail-list>div{border-top:1px solid var(--border)}
.project-key-facts{border-bottom:1px solid var(--border)}
/* System events are quieter than human notes */
.timeline-event--readable{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:0 8px;padding-block:8px;color:var(--muted);font-size:var(--fs-13)}
.timeline-event--readable .timeline-event-content{flex:1 1 0;min-width:0;padding-right:64px;font-size:var(--fs-13);line-height:20px}
.timeline-event--readable .activity-entry-footer{width:auto;margin:0}
.timeline-event--readable .timeline-event-content p{margin:0}
.work-item-timeline .timeline-event--readable .activity-entry-footer>.activity-time,.work-item-timeline .timeline-event--readable .activity-entry-footer>time{top:8px}
/* Flag: filled when active */
.activity-discussion-action .is-flagged .icon,.activity-discussion-readonly .icon,.activity-discussion-choice:has(input:checked) .icon{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V3a1 1 0 0 1 .4-.8C8-.5 12 6 16 3s4 0 4 0v11s0-3-4 0-8-3.5-12-1'/%3E%3C/svg%3E")}
/* Rank medals stay restrained but distinct */
.vacation-leaderboard-row.rank-1 .vacation-leaderboard-rank{color:var(--muted)}
.vacation-leaderboard-row.rank-2 .vacation-leaderboard-rank{color:var(--muted)}
.vacation-leaderboard-row.rank-3 .vacation-leaderboard-rank{color:var(--muted)}
/* Details */
.range-calendar-grid button:disabled{opacity:1}
.range-calendar-grid .is-weekend,.range-calendar-grid .is-holiday{color:var(--text-3)}
html[data-theme=dark] .project-avatar--image{background:#bcbeb9}
.document-form .form-section>.offer-pricing-mode{grid-column:auto}
.invoice-add-item{justify-self:start;width:auto}
.type-chips{height:var(--control-h);align-items:center}
.meeting-discussion .activity-rich-text{display:block;max-width:none;max-height:none;-webkit-line-clamp:unset}
.meeting-discussion .activity-entry-main{max-width:none}
.form-error-summary{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}
.form-error-summary:focus{border-color:transparent;outline:2px solid color-mix(in srgb,var(--danger) 55%,transparent);outline-offset:0}
.shortcuts-dialog-header{padding-bottom:12px;margin-bottom:0;border-bottom:1px solid var(--border)}
.shortcuts-list{margin-top:0}
.shortcuts-list>div:first-child{border-top:0}
.main-content-list .list-controls .work-item-view{min-height:28px;padding:4px 8px}
.main-content-list .list-controls .work-item-views{padding:0}
.work-item-date,.notification-time,.dashboard-work-date,.project-card-activity,.absence-holiday{font-variant-numeric:normal}
.mobile-bar-title,.main-content:has(h1:not(.visually-hidden)) .mobile-bar-title,.main-content-calendar .mobile-bar-title{visibility:visible}
@media(hover:none){.work-item-deadline-link{gap:4px}.work-item-deadline-link .icon{display:block;width:12px;height:12px;flex-basis:12px;color:var(--muted)}}
@media(max-width:680px){
 .users-table td:last-child{width:auto}
 .data-table.users-table .inline-actions{display:flex;opacity:1}
 .main-content>.page-actions:has(>h1.visually-hidden),.main-content>.detail-header:has(>h1.visually-hidden),.main-content>.filter-bar-primary,.notification-page>.notification-scopes{top:0;margin:-12px -16px 12px;padding:12px 16px 8px}
 .calendar-toolbar>.inline-actions:first-child{display:contents}
 .calendar-toolbar{grid-template-columns:auto minmax(0,1fr);align-items:center}
 .calendar-toolbar .month-nav{grid-column:2;grid-row:1;justify-self:end}
 .calendar-toolbar>.inline-actions:first-child>.button{grid-column:1;grid-row:1}
 .calendar-toolbar>.calendar-toolbar-actions{grid-column:1/-1;grid-row:2}
 .absence-legend{grid-column:1/-1;grid-row:3;margin:0;flex-wrap:wrap;gap:4px 12px}
 .content-form:has(>.back-link)>h1,.content-narrow:has(>.back-link)>h1,.meeting-page-header h1{padding-left:24px}
 .meeting-editor-page>.back-link,.content-form>.back-link,.content-narrow>.back-link{position:absolute;top:-1px;left:-6px;margin:0}
 .work-item-feed-context.has-description{grid-template-columns:20px minmax(0,1fr) 28px}
 .work-item-feed-row{grid-template-columns:auto minmax(0,1fr) auto}
 .dashboard-work-tile{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
 .dashboard-work-tile-context{grid-column:1/-1;grid-row:1}
 .dashboard-work-tile-meta>.dashboard-work-date{grid-column:1;grid-row:2;padding-left:28px}
 .dashboard-work-tile-meta>.status-label{grid-column:2;grid-row:2}
 .project-work-items-card .work-item-row{grid-template-columns:auto minmax(0,1fr) auto}
}

[data-date-calendar]{min-height:318px}
@media(max-width:680px){
 .data-table.users-table tr{position:relative;padding:14px 0 12px}
 .data-table.users-table td:last-child{position:absolute;top:8px;right:0;margin:0;padding:0}
 .data-table.users-table td:first-child{padding-right:88px}
 .meeting-header-fields{max-width:none}
 .absence-meta-fields{grid-template-columns:minmax(0,1fr);gap:0}
 .absence-meta-fields .type-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:2px;padding:2px}
 .absence-meta-fields .type-chips label{justify-content:center;padding:0 4px;text-align:center}
}


/* Page measures: narrow pages are centred on the panel, everything else fills the 1200 frame. */
.content-form{width:100%;margin-inline:auto}
.content-form:not(.document-form):not(.meeting-editor-page),.content-form-absence,.settings-layout,.release-notes{max-width:760px}
.settings-layout,.release-notes{margin-inline:auto}
.content-form.document-form{max-width:960px}
.main-content>.announcement-list{gap:0}
/* Form titles: same full-panel rule as toolbars. */
.content-form:not(.document-form):not(.project-form):not(.meeting-editor-page)>h1,.document-form>h1,.project-form>h1,.meeting-page-header{padding-bottom:14px;border-bottom:1px solid transparent;border-image:conic-gradient(var(--border) 0 0) 0 0 1 0/0 0 1px 0/0 100vmax}
/* Long forms pin their action bar to the panel bottom. */
.main-content:has(>.document-form),.main-content:has(>.project-form),.main-content:has(>.meeting-editor-page){display:flex;flex-direction:column}
.main-content>.document-form,.main-content>.project-form,.main-content>.meeting-editor-page{display:flex;flex:1 0 auto;flex-direction:column}
.document-form>form,.project-form>form,.meeting-editor-page>form{flex:1 0 auto}
.document-form>form,.project-form>form{display:flex;flex-direction:column}
.document-form form>.form-actions,.project-form form>.form-actions{margin-top:auto}
.meeting-editor-page form>.meeting-save-actions{grid-column:1/-1;align-self:end}
/* Project tabs use the list toolbar widths. */
.project-tab-toolbar .list-search-field{flex:0 1 360px;width:360px;max-width:360px}
.project-tab-toolbar>:last-child{margin-left:auto}
/* Work rows keep every row action in one right-hand cluster. */
@container work-item-feed (min-width:561px){.work-item-feed-row{grid-template-columns:96px minmax(200px,1.4fr) minmax(120px,1fr) 148px 60px}}
.work-item-feed-context,.work-item-feed-context.has-description{grid-template-columns:20px minmax(0,1fr)}
.work-item-actions{display:flex;justify-content:flex-end;gap:4px}
.work-item-feed-row .work-item-actions .icon-button{width:28px;height:28px}
/* Links, sidebars, text */
.dashboard-absence-heading>a{color:var(--muted);font-size:var(--fs-13)}
.dashboard-absence-heading>a:hover{color:var(--text)}
.section-heading .inline-actions>a:not(.button){color:var(--muted);font-size:var(--fs-13)}
.section-heading .inline-actions>a:not(.button):hover{color:var(--text)}
.section-heading .inline-actions{align-items:center;gap:12px}
html[data-theme=dark] .project-avatar--image{background:#e6e8e3;box-shadow:none}
html[data-theme=dark]{--surface:#181917;--surface-2:#1f201e}
.document-form strong,.offer-totals strong,.offer-line-total strong{font-weight:600}
/* Offer item: description, amount and discount share one row, the result follows. */
.document-form .offer-item.is-fixed{column-gap:16px;grid-template-columns:minmax(0,1fr) 140px 160px 140px}
.document-form .offer-item:not(.is-fixed){column-gap:16px;grid-template-columns:minmax(0,1fr) 72px 120px 130px 102px}
.document-form .offer-item>.form-row:has(textarea){grid-column:1;grid-row:2;height:auto;align-self:start}
.document-form .offer-item>.form-row:has(textarea) .paragraph-editor,.document-form .offer-item>.form-row:has(textarea) textarea{height:auto;min-height:56px}
.document-form .offer-item.is-fixed>.form-row:has(.offer-item-price-control){grid-column:2;grid-row:2}
.document-form .offer-item:not(.is-fixed)>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)){grid-column:2;grid-row:2}
.document-form .offer-item:not(.is-fixed)>.form-row:has(.offer-item-price-control){grid-column:3;grid-row:2}
.document-form .offer-item.is-fixed>.offer-discount-fields{grid-column:3/5;grid-row:2;column-gap:16px;grid-template-columns:160px 140px}
.document-form .offer-item:not(.is-fixed)>.offer-discount-fields{grid-column:4/6;grid-row:2;column-gap:16px;grid-template-columns:130px 102px}
.document-form .offer-discount-fields{grid-template-columns:140px 96px;gap:12px;align-self:start}
.document-form .offer-item.is-fixed>.offer-discount-toggle{grid-column:5;grid-row:2}
.document-form .offer-item:not(.is-fixed)>.offer-discount-toggle{grid-column:6;grid-row:2}
.document-form .offer-discount-toggle{justify-self:start;align-self:start;height:var(--control-h);margin:24px 0 0;white-space:nowrap}
.document-form .offer-item.is-fixed:has(>.offer-discount-fields[hidden])>.offer-discount-toggle{grid-column:3/-1}
.document-form .offer-item:not(.is-fixed):has(>.offer-discount-fields[hidden])>.offer-discount-toggle{grid-column:4/-1}
.document-form .offer-line-total{display:flex;grid-column:1/-1;grid-row:3;justify-self:end;align-self:start;gap:16px;padding:0;text-align:right}
/* Offer item, narrow form: one field per cell. */
@container document-form (max-width:760px){
 .document-form .offer-item>.document-item-heading,
 .document-form .offer-item>.form-row:has(textarea),
 .document-form .offer-item>.form-row:not(:has(textarea)),
 .document-form .offer-item>.form-row:has(input[type=number],input[inputmode]):not(:has(.offer-item-price-control)),
 .document-form .offer-item>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)),
 .document-form .offer-item>.form-row:has(.offer-item-price-control),
 .document-form .offer-item.is-fixed>.form-row:has(.offer-item-price-control),
 .document-form .offer-discount-fields,
 .document-form .offer-discount-toggle,
 .document-form .offer-line-total{grid-column:1/-1;grid-row:auto}
 .document-form .offer-item,.document-form .offer-item.is-fixed{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-item:not(.is-fixed)>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)){grid-column:1}
 .document-form .offer-item:not(.is-fixed)>.form-row:has(.offer-item-price-control){grid-column:2}
 .document-form .offer-item>.form-row:has(textarea){height:auto;grid-template-rows:auto}
 .document-form .offer-item.is-fixed>.form-row:has(.offer-item-price-control),.document-form .offer-item.is-fixed>.offer-discount-fields,.document-form .offer-item:not(.is-fixed)>.offer-discount-fields,.document-form .offer-item.is-fixed>.offer-discount-toggle,.document-form .offer-item:not(.is-fixed)>.offer-discount-toggle,.document-form .offer-item.is-fixed:has(>.offer-discount-fields[hidden])>.offer-discount-toggle,.document-form .offer-item:not(.is-fixed):has(>.offer-discount-fields[hidden])>.offer-discount-toggle{grid-column:1/-1;grid-row:auto}
 .document-form .offer-item.is-fixed,.document-form .offer-item:not(.is-fixed){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-item:not(.is-fixed)>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)){grid-column:1;grid-row:auto}
 .document-form .offer-item:not(.is-fixed)>.form-row:has(.offer-item-price-control){grid-column:2;grid-row:auto}
 .document-form .offer-discount-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-discount-toggle{justify-self:end;height:auto;margin:0}
 .document-form .offer-line-total{display:block;grid-column:1/-1;grid-row:auto}
 .document-form .offer-item>.form-row:has(textarea) .paragraph-editor,.document-form .offer-item>.form-row:has(textarea) textarea{height:auto;min-height:84px}
 .document-form .offer-discount-toggle{justify-self:end}
 .document-form .offer-line-total{align-self:auto;padding-top:4px;text-align:right}
}
/* Work detail */
.work-item-fact:has(>dt.visually-hidden){display:grid}
.work-item-fact--assignees{align-items:start}
.work-item-fact--assignees dd .work-item-detail-assignees{display:flex;flex-wrap:wrap;gap:4px 12px}
.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px;min-height:36px;padding-block:6px;color:var(--muted);font-size:var(--fs-13)}
.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)) .timeline-event-content{flex:1 1 0;padding-right:64px;color:inherit}
.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)) .activity-entry-footer{flex:0 0 auto;width:auto;margin:0}
.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)) .activity-entry-footer>.activity-time,.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)) .activity-entry-footer>time{top:8px}
/* Calendar grid runs the full panel. */
.absence-weekdays,.absence-calendar{padding-inline:0}
.absence-weekdays span:first-child,.absence-day:first-child{padding-left:32px}
.absence-weekdays span:last-child,.absence-day:last-child{padding-right:32px}
/* Home columns share a row rhythm. */
.dashboard-deadline-groups{border-top:1px solid var(--border)}
.dashboard-deadline-item{min-height:56px;align-items:center;padding-block:8px}
.dashboard-deadline-group--overdue .dashboard-deadline-item.is-overdue>time{color:var(--danger)}
.dashboard-work-tile{grid-template-columns:64px minmax(0,1fr) 112px}
/* Document rows */
.offer-row{min-height:0;align-items:start;padding-block:12px;grid-template-columns:88px 104px minmax(150px,1fr) minmax(180px,1.4fr) 112px 136px minmax(110px,auto);grid-template-areas:"date number customer identity status actions total"}
.document-list-page .invoice-row{align-items:start;padding-block:12px}
.offer-row>.offer-row-meta{grid-area:status;display:flex;flex-wrap:wrap;gap:0 8px;margin:0;font-size:var(--fs-13)}
.document-list-head--offer{grid-template-columns:88px 104px minmax(150px,1fr) minmax(180px,1.4fr) 112px 136px minmax(110px,auto)}
.project-tab-content.document-list-page .offer-row{grid-template-columns:88px 104px minmax(200px,1fr) 112px 136px minmax(110px,auto);grid-template-areas:"date number identity status actions total"}
@container document-list (max-width:1100px){
 .offer-row{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 110px 120px;grid-template-areas:"date customer identity total actions" "number customer status total actions"}
 .project-tab-content.document-list-page .offer-row{grid-template-columns:88px minmax(0,1fr) 110px 120px;grid-template-areas:"date identity total actions" "number status total actions"}
}
@container document-list (max-width:600px){
 .offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "customer customer" "identity identity" "status status" "total actions"}
 .project-tab-content.document-list-page .offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity identity" "status status" "total actions"}
}
/* Admin */
.users-table td:nth-child(6){color:inherit}
.users-table td.value-empty,.data-table.users-table td.value-empty{color:var(--muted)}
.users-table td:nth-child(3) a:not(:hover){color:var(--muted)}
.users-table td:nth-child(3){color:var(--muted)}
.alert code,.notice code,.callout code{padding:1px 4px;border-radius:var(--radius-sm);background:var(--hover);font-family:var(--font-mono,monospace);font-size:12px}
/* Date inputs line up with text inputs. */
input[type=date]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit{padding:0;letter-spacing:0}
input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{padding:0}
input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-year-field,input[type=datetime-local]::-webkit-datetime-edit-day-field,input[type=datetime-local]::-webkit-datetime-edit-month-field,input[type=datetime-local]::-webkit-datetime-edit-year-field,input[type=datetime-local]::-webkit-datetime-edit-hour-field,input[type=datetime-local]::-webkit-datetime-edit-minute-field{padding:0}
/* A date shown with its time is metadata, not a column: both halves use the same proportional numerals. */
.offer-row>time,.invoice-row>time,.activity-date,.activity-time--with-date .activity-clock,.absence-holiday{font-variant-numeric:normal}
/* Sidebar footer: one right edge, account row is one shape. */
.sidebar-tools{margin-right:0}
/* Buttons */
.filter-popover>summary.button{gap:8px}
/* Alerts */
.dashboard-heading-title--important .icon{color:var(--warning)}
.dashboard-announcements .announcement-body{max-width:840px}
.form-error-summary:focus:not(:focus-visible){outline:0;border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}
/* Repeat is already a row action on pointer devices. */
@media(hover:hover) and (pointer:fine){.activity-menu-repeat{display:none}}
.project-card-open-count{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:var(--fs-12);font-variant-numeric:normal}
/* Employee absences */
.employee-absences td:last-child,.employee-absences th:last-child{padding-left:40px}
@media(min-width:681px){.main-content .filter-bar-primary .list-search-field{flex:0 1 360px}}
@media(max-width:680px){
 .main-content .filter-popover>summary.button,.main-content-list .list-controls .filter-popover>summary.button{flex:0 0 40px;width:40px;min-width:0;padding:0;justify-content:center}
 .main-content .filter-bar-primary .list-search-field,.main-content-list .list-controls .list-search-field{flex:1 1 0;width:auto;min-width:0;max-width:none}
 .project-tab-toolbar .list-search-field{flex:1 1 0;width:auto;max-width:none}
 .main-content .list-scopes,.main-content .document-list-scopes,.main-content .project-phase-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .absence-weekdays span:first-child,.absence-day:first-child{padding-left:16px}
 .absence-weekdays span:last-child,.absence-day:last-child{padding-right:16px}
 .calendar-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}
 .calendar-toolbar .month-nav{grid-column:2;grid-row:1;justify-self:center}
 .calendar-toolbar>.calendar-toolbar-actions{grid-column:3;grid-row:1;display:flex;gap:6px}
 .calendar-toolbar>.calendar-toolbar-actions>.button{flex:0 0 40px;width:40px;min-width:0;padding:0;font-size:0;justify-content:center}
 .absence-legend{grid-column:1/-1;grid-row:2}
 .month-title{font-size:var(--fs-14);white-space:nowrap}
 .month-nav .icon-button{width:28px;min-width:28px}
 .day-dialog.activity-dialog .activity-editor,.activity-dialog textarea{flex:1 1 auto}
}


/* Single first line across document rows. */
.offer-row>*,.document-list-page .invoice-row>*{align-self:start}
.offer-row>time,.offer-row>.offer-number,.document-list-page .invoice-row>time,.document-list-page .invoice-row>.invoice-number{line-height:20px}
.document-form form>.form-section:not(.form-section~.form-section){border-top:0;padding-top:8px}
.work-item-fact--assignees{align-items:center}
.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)){flex-wrap:nowrap}
.main-content .calendar-toolbar{gap:8px}
.project-activity-show-all{margin:8px 0 0;color:var(--muted);font-size:var(--fs-13)}
.project-activity-card .activity-row .activity-time{margin-top:-6px}
.project-work-items-card .status-icon{width:14px;height:14px;flex-basis:14px}
/* Home columns align */
.dashboard-deadline-groups{margin-top:8px;padding-top:0;gap:0}
.dashboard-deadline-group,.dashboard-deadline-group>ol{margin:0;padding:0}
.dashboard-work-tile{grid-template-columns:72px minmax(0,1fr) 112px}
@media(max-width:680px){
 .main-content .calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto}
 .main-content .calendar-toolbar>.calendar-toolbar-actions{display:contents}
 .calendar-toolbar>.calendar-toolbar-actions>.button:not(.button-primary){grid-column:3;grid-row:2;flex:none;width:auto;height:28px;min-height:28px;padding:0 4px;border:0;background:transparent;color:var(--muted);font-size:var(--fs-13)}
 .calendar-toolbar>.calendar-toolbar-actions>.button-primary{grid-column:3;grid-row:1;justify-self:end}
 .absence-legend{grid-column:1/3;grid-row:2;flex-wrap:nowrap;gap:0 10px;white-space:nowrap;font-size:var(--fs-12)}
 .dashboard-work-tile{grid-template-columns:minmax(0,1fr) auto}
}

/* Home deadlines keep the whole title. */
.dashboard-deadline-copy>a{display:-webkit-box;overflow:hidden;white-space:normal;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2}
/* Mobile offers: the title leads. */
@container document-list (max-width:600px){
 .offer-row{grid-template-areas:"date number" "identity identity" "customer customer" "status status" "total actions"}
 .offer-row .invoice-row-main strong{font-weight:500}
 .offer-row .offer-project-link strong{color:var(--muted);font-size:var(--fs-13);font-weight:400}
}
@media(max-width:680px){
 .activity-dialog-form,.activity-dialog-content{display:flex;flex-direction:column}
 .activity-dialog-content{flex:1 1 auto;min-height:0}
 .activity-dialog-fields{display:flex;flex:1 1 auto;flex-direction:column}
 .activity-dialog-body,.activity-dialog-body .form-row{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}
 .activity-dialog .activity-editor{flex:1 1 auto;min-height:150px;max-height:none}
}
.main-content-board{overflow-x:hidden}
.main-content-board .work-item-board-scroll{min-width:0;max-width:100%;overflow-x:auto}


/* First-line alignment for every row component. */
.offer-row>time:nth-child(n),.offer-row>.offer-number:nth-child(n),.document-list-page .invoice-row>time:nth-child(n),.document-list-page .invoice-row>.invoice-number:nth-child(n){align-self:start}
.offer-row .offer-status,.offer-row .offer-draft-badge{font-size:var(--fs-13)}
.offer-row>.invoice-row-actions{align-self:start;margin-top:-4px}
.document-list-page .invoice-row>.invoice-row-actions{align-self:start;margin-top:-4px}
.activity-row .activity-actions{align-self:start;align-items:flex-start}
.activity-row .activity-actions>.activity-time,.activity-row .activity-time-actions>.activity-time{height:20px;margin-top:3px;line-height:20px}
.activity-row .activity-time-actions{align-items:flex-start}
.activity-row .activity-time-actions>.activity-time{margin-top:0}
.activity-row .activity-actions .icon-button,.activity-row .activity-actions .activity-more-menu>summary{margin-top:-1px}
.activity-row .activity-time-actions .icon-button,.activity-row .activity-time-actions .activity-more-menu>summary{margin-top:-4px}
.activity-meeting-source,.activity-source-label{font-size:var(--fs-13);line-height:20px}
/* Meeting rail: text uses the whole column. */
/* Project logos */
html[data-theme=dark] .project-avatar--image{background:#cfd1cc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.project-avatar--image{border-radius:var(--radius)}
.project-avatar--image img{padding:2px}
/* Project cards: a long platform label truncates. */
.project-card-activity{justify-content:flex-start}
.project-card-activity .project-platform{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Forms */
.project-form form>.form-section:not(.form-section~.form-section){border-top:0;padding-top:8px}
.document-form .form-intro,.project-form .form-intro{margin:8px 0 8px}
.document-form .form-section>.form-row:has(textarea){grid-row:span 2}
.document-form .offer-item>.form-row:has(textarea){grid-row:2/span 4;height:100%;align-self:stretch;grid-template-rows:auto minmax(0,1fr)}
.document-form .offer-item>.form-row:has(textarea) .paragraph-editor,.document-form .offer-item>.form-row:has(textarea) textarea{height:100%}
.form-actions,.document-form .form-actions{gap:8px}
/* Links that lead to a full list share one treatment. */
.section-link,.notification-popover-footer{color:var(--muted);font-size:var(--fs-13);font-weight:400}
.section-link:hover,.notification-popover-footer:hover{color:var(--text)}
/* Home: both columns share rows, second sections always line up. */
@media(min-width:901px){
 .dashboard-content-grid{grid-template-rows:auto 1fr;row-gap:32px}
 .dashboard-primary-column,.dashboard-secondary-column{display:contents}
 .dashboard-primary-column>*{grid-column:1}
 .dashboard-secondary-column>*{grid-column:2}
 .dashboard-primary-column>:first-child,.dashboard-secondary-column>:first-child{grid-row:1}
 .dashboard-primary-column>:nth-child(2),.dashboard-secondary-column>:nth-child(2){grid-row:2}
}
.dashboard-absence-heading{min-height:var(--control-h)}
/* Project rail */
.project-overview-layout .project-information{gap:32px;padding-top:6px}
.project-overview-layout .project-information>*{margin-block:0}
/* Calendar */
.absence-day.is-outside .absence-day-date time{color:var(--text-3)}
/* Kanban */
.work-item-board-heading{padding-inline:13px}
.work-item-board-empty{padding-inline:13px}
@media(hover:hover) and (pointer:fine){
 .work-item-board-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:baseline}
 .work-item-board-card>.work-item-board-card-header,.work-item-board-card>h3{grid-column:1/-1}
 .work-item-board-card>.work-item-board-assignees{grid-column:1;margin:0}
 .work-item-board-card>.work-item-board-footer{grid-column:2;display:block;min-height:0}
 .work-item-board-card .work-item-board-activity{position:absolute;top:10px;right:34px;width:28px;height:24px;min-height:0;padding:0;font-size:0;justify-content:center;background:var(--surface)}
 .activity-more-menu .activity-menu-repeat{display:none}
}
/* Status menu: current value shows a check, grey is reserved for hover. */
.work-item-status-options [aria-current=true]{background:transparent;color:var(--text)}
.icon-check-single{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.work-item-status-options [aria-current=true]>.icon-check-single{margin-left:auto;width:16px;height:16px;color:var(--text)}
/* Key hints on primary buttons */
.button-primary kbd{background:color-mix(in srgb,currentColor 20%,transparent);color:inherit;opacity:1;font-size:11px}
/* Date groups have a label, not a second rule. */
.activity-day>.date-separator,[data-activity-feed]>.date-separator,.work-item-timeline>.date-separator{margin-top:32px;padding-bottom:4px;border-bottom:0}
.activity-day:first-child>.date-separator,[data-activity-feed]>.date-separator:first-child,.work-item-timeline>.date-separator:first-child{margin-top:0}
.alert{text-wrap:pretty}
@media(max-width:680px){
 .main-content-list .list-controls .list-scopes{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .mobile-bar{flex:0 0 48px;height:48px;min-height:48px}
 .main-content-list.main-content-work-items .work-item-controls.list-controls{grid-template-columns:minmax(0,1fr) auto auto}
 .main-content-list.main-content-work-items .work-item-controls>.work-item-toolbar{display:contents}
 .main-content-work-items .work-item-filter-form{grid-column:1;grid-row:1;min-width:0}
 .main-content-work-items .work-item-views{grid-column:2;grid-row:1}
 .main-content-work-items .work-item-controls .list-toolbar-actions{grid-column:3;grid-row:1;margin:0}
}
@container document-list (max-width:600px){
 .offer-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"date date number" "identity identity identity" "customer customer customer" "status total actions";padding-block:10px}
 .offer-row>.invoice-row-actions{margin-top:-8px}
 .project-tab-content.document-list-page .offer-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"date date number" "identity identity identity" "status total actions"}
}
.project-information .project-contact:last-child{padding-bottom:0}
.project-information .project-contacts,.project-information>section:empty{margin-block:0}


/* Overdue is named as well as coloured. */
.dashboard-deadline-group>h3{margin:8px 0 0;font-size:var(--fs-13);line-height:20px}
.dashboard-work-date small{display:block;color:inherit;font-size:var(--fs-12);line-height:16px}
.work-item-board-card.is-overdue .work-item-board-due{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin-left:6px}
.work-item-board-card.is-overdue .work-item-board-footer .work-item-date{display:flex;flex-wrap:nowrap;white-space:nowrap}
/* Readable metadata */
.activity-entry-footer .person-inline,.activity-entry-footer .activity-participants,.project-contact small,.project-contact-role{font-size:var(--fs-13)}
/* Project journal: time stays with the entry. */
.project-tab-content .activity-rich-text{max-width:680px}
/* Mobile refinements */
.dashboard-announcements .announcement-meta>time{white-space:nowrap}
@media(max-width:680px){
 .announcement-meta>span:not(.announcement-author)::before,.announcement-meta>time::before{content:"\00b7";margin-right:8px}
 .announcement-meta{gap:2px 8px;font-size:var(--fs-12);line-height:18px}
 .announcement-meta>*{width:auto}
 .main-content-activity .list-controls{position:relative}
 .main-content-activity .list-controls .list-toolbar-actions>.meeting-new-button{flex:0 0 40px;width:40px;padding:0;font-size:0}
 .data-table.users-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px}
 .data-table.users-table td:first-child{grid-column:1/-1;grid-row:1}
 .data-table.users-table td:nth-child(2){grid-column:1;grid-row:2}
 .data-table.users-table td:nth-child(4){grid-column:2;grid-row:2}
 .data-table.users-table td:nth-child(3){grid-column:1/-1;grid-row:3}
 .data-table.users-table td:nth-child(5){grid-column:1;grid-row:4}
 .data-table.users-table td:nth-child(6){grid-column:2;grid-row:4}
 .data-table.users-table td:nth-child(7){grid-column:1/-1;grid-row:5}
 .data-table.users-table td:nth-child(2),.data-table.users-table td:nth-child(3),.data-table.users-table td:nth-child(4){color:var(--muted)}
 .data-table.users-table td:nth-child(5),.data-table.users-table td:nth-child(6){display:flex;justify-content:flex-start;gap:4px;margin:0}
 .data-table.users-table td[data-label]::before{color:var(--muted)}
}
@container document-form (max-width:760px){
 .invoice-form-grid--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:680px){
 .activity-row .activity-actions .icon-button,.activity-row .activity-actions .activity-more-menu>summary{margin-top:0}
 .main-content-list .list-controls form .list-scopes,.main-content-list .list-controls details .list-scopes{flex-wrap:wrap;overflow:visible;padding-right:0}
}


/* Poslovi: work columns hug the right edge. */
/* Overdue: red date everywhere, the word itself stays quiet. */
.work-item-date.is-overdue{color:var(--danger)}
.work-item-group--overdue .work-item-date.is-overdue{color:var(--muted)}
.work-item-board-card.is-overdue .work-item-board-due{color:var(--muted)}
.dashboard-work-date small,.dashboard-deadline-item>time small{display:block;color:var(--muted);font-size:var(--fs-12);line-height:16px}
/* Both Home lists share one row anatomy. */
.dashboard-deadline-group--overdue>h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.dashboard-deadline-item{grid-template-columns:72px minmax(0,1fr) auto;gap:16px}
.dashboard-deadline-group>ol>li:last-child{border-bottom:1px solid var(--border)}
/* Invoice items: numeric fields fit their values. */
@container document-form (min-width:761px){.document-form .invoice-item{grid-template-columns:120px 120px 200px minmax(0,1fr)}}
/* Page frames */
.profile-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid transparent;border-image:conic-gradient(var(--border) 0 0) 0 0 1 0/0 0 1px 0/0 100vmax}
/* Row hover: the pill replaces the hairlines beside it. */
.activity-row:hover,.work-item-feed-row:hover,.work-item-feed-row:focus-within,.work-item-row:hover,.offer-row:hover,.document-list-page .invoice-row:hover{border-bottom-color:transparent}
.activity-row:has(+.activity-row:hover),.work-item-feed-row:has(+.work-item-feed-row:hover),.work-item-row:has(+.work-item-row:hover),.offer-row:has(+.offer-row:hover),.document-list-page .invoice-row:has(+.invoice-row:hover){border-bottom-color:transparent}
.data-table tbody tr:hover td,.data-table tbody tr:has(+tr:hover) td{border-bottom-color:transparent}
/* Offers and invoices: the title is the entry point. */
.offer-row .offer-number,.document-list-page .invoice-number,.offer-row .invoice-total strong,.document-list-page .invoice-total strong,.document-list-page .invoice-total{font-weight:400}
.offer-row .invoice-total,.document-list-page .invoice-total{font-variant-numeric:tabular-nums}
.offer-row .offer-work-links{padding-left:28px}
.activity-row.activity-row--time-footer .activity-entry-footer .activity-time-actions{align-items:flex-start}
/* Key-value rows: one rhythm everywhere. */
.project-fact-card,.project-detail-list>div{grid-template-columns:128px minmax(0,1fr);padding-block:4px;border-top:0}
.project-key-facts{border-bottom:0}
.work-item-fact{grid-template-columns:128px minmax(0,1fr);min-height:28px}
.meeting-source-link{font-size:var(--fs-13);line-height:20px}
.project-card-status .status-icon{color:var(--text-3)}
/* Announcement: one informational signal. */
.dashboard-heading-title--important .icon{color:var(--link)}
/* Key hints */
.button-primary kbd{background:rgba(0,0,0,.18);color:var(--on-accent)}
.dashboard-activity .activity-new-button kbd,.project-activity-card .activity-shortcut-button kbd,.project-work-items-card .work-item-shortcut-button kbd{background:var(--hover);color:inherit}
/* Error and auth */
.centered-message{margin-top:24vh}
.auth-panel{padding:32px}
html[data-theme=light]{--scrim:rgba(20,24,40,.16)}
@media(prefers-color-scheme:light){html[data-theme=system]{--scrim:rgba(20,24,40,.16)}}
/* Kanban rows on touch too */
.work-item-board-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:baseline}
.work-item-board-card>.work-item-board-card-header,.work-item-board-card>h3{grid-column:1/-1}
.work-item-board-card>.work-item-board-assignees{grid-column:1;margin:0}
.work-item-board-card>.work-item-board-footer{grid-column:2;display:block;min-height:0}
@media(hover:none){.work-item-board-card .work-item-board-activity{position:absolute;top:7px;right:44px;width:36px;height:36px;min-height:0;padding:0;font-size:0;justify-content:center;background:transparent;border:0}}
@media(max-width:680px){
 .absence-day-date time{font-variant-numeric:tabular-nums}
 .main-content-list .list-controls>.list-scopes,.main-content-list .list-controls .list-scope-row>.list-scopes{padding-right:24px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
 .main-content-activity .list-controls>.list-scopes:last-child{-webkit-mask-image:none;mask-image:none}
 .data-table.users-table td:nth-child(n){color:var(--muted)}
 .data-table.users-table td:first-child{color:var(--text)}
 .users-table td.value-empty{color:var(--muted)}
}
@container document-list (max-width:600px){
 .offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity total" "customer customer" "status actions"}
 .project-tab-content.document-list-page .offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity total" "status actions"}
 .offer-row .invoice-total{text-align:right}
 .offer-row>.invoice-row-actions{margin-top:0}
 .offer-row .offer-work-links{padding-left:28px}
}


/* Offer summary lines stay separate on narrow forms. */
@container document-form (max-width:760px){
 .document-form .offer-line-total>span:not([hidden]){display:block}
}
/* Helper text */
.form-help{font-size:var(--fs-12);line-height:18px}
/* Current page in the sidebar footer */
.sidebar-footer .notification-bell.is-current>.notification-bell-button{background:var(--selected);color:var(--text)}
/* Scroll strips show they continue. */
.combobox-chips{padding-right:16px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent)}
@media(max-width:680px){
 .work-item-detail-page .work-item-heading{position:relative;display:block}
 .work-item-detail-page .work-item-back-button{position:absolute;top:0;left:-6px;width:28px;height:30px;margin:0;border:0;background:transparent}
 .work-item-detail-page .work-item-heading-copy{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
 .work-item-detail-page .work-item-title-row{display:contents}
 .work-item-detail-page .work-item-title-row>h1{flex:1 0 100%;padding-left:24px}
 .work-item-detail-page .work-item-detail-project{order:1}
 .work-item-detail-page .work-item-status-menu{order:2;margin-left:auto}
 .work-item-detail-header{gap:8px;margin-bottom:12px}
 .activity-row .activity-time-actions{align-items:center}
 .activity-row.activity-row--time-footer .activity-entry-footer .activity-time-actions{align-items:center}
 .activity-row .activity-time-actions .icon-button,.activity-row .activity-time-actions .activity-more-menu>summary{margin-top:0}
 .dashboard-work-date small{display:inline;margin-left:4px}
 .dashboard-work-tile{padding-block:10px}
 .meeting-project-overview summary{min-height:40px;padding-block:6px}
 .meeting-page-header p{display:none}
}


/* Overdue reads the same everywhere: red date, quiet word on one line. */
.work-item-due-value:has(.work-item-due-hint--overdue) .technical{color:var(--danger)}
.work-item-due-hint--overdue{color:var(--muted)}
.dashboard-work-date small,.dashboard-deadline-item>time small{display:inline;margin-left:6px;color:var(--muted);font-size:var(--fs-12)}
.dashboard-work-tile{grid-template-columns:104px minmax(0,1fr) 112px}
.dashboard-deadline-item{grid-template-columns:104px minmax(0,1fr) auto}
.dashboard-deadline-copy>a{font-size:var(--fs-14);line-height:20px}
.dashboard-deadline-item>time{font-size:var(--fs-14)}
.dashboard-work-tile-meta>.status-label{justify-self:end}
.project-work-items-card .work-item-date small{margin-left:6px;color:var(--muted);font-size:var(--fs-12)}
/* Document items: ruled rows with one anatomy. */
.invoice-items,.offer-items,[data-offer-items],[data-invoice-items]{gap:0}
.document-form .offer-item,.document-form .offer-item.is-fixed,.document-form .invoice-item{padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.document-form .offer-item-remove,.document-form .invoice-item-remove{top:13px;right:-6px}
.document-form .offer-item>.form-row:has(textarea)>label,.document-form .invoice-item>.form-row:has(textarea)>label{padding-right:0}
@container document-form (min-width:761px){
 .document-form .invoice-item{column-gap:16px;grid-template-columns:minmax(0,1fr) 140px 160px 140px}
 .document-form .invoice-item>.form-row:has(textarea){grid-column:1;grid-row:2}
 .document-form .invoice-item>.form-row:has(textarea) textarea,.document-form .invoice-item .paragraph-editor{min-height:56px}
 .document-form .invoice-item>.form-row:not(:has(textarea)){grid-row:2;align-self:start}
}
/* Meetings stay inside the frame. */
.activity-meeting{margin-inline:0;border:0;border-bottom:1px solid var(--border);border-radius:0}
.activity-meeting{margin-top:16px}
.activity-meeting-header{padding:4px 4px 4px 12px;border-bottom:0;border-radius:var(--radius);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
.activity-meeting-topics>.activity-row{padding-inline:0}
.activity-meeting-topics>.activity-row:first-child{border-top:0}
/* Rows align to the first line. */
.work-item-feed-row{align-items:start}
.work-item-feed-row>.work-item-date,.work-item-feed-row>.work-item-assignees,.work-item-feed-row>.work-item-status,.work-item-feed-row>.work-item-actions{align-self:start}
.work-item-feed-row>.work-item-actions{margin-top:-4px}
.main-content-board .work-item-board-info{margin-right:30px}
.work-item-board-card .work-item-board-activity{right:8px;align-items:center}
@media(hover:none){.work-item-board-card .work-item-board-activity{right:6px;width:36px;height:36px;align-items:center}.main-content-board .work-item-board-info{margin-right:36px}}
/* Admin ink: name leads, only exceptions stand out. */
.users-table td:first-child{font-weight:500}
.users-table td:nth-child(n+2){color:var(--muted)}
.users-table td:nth-child(3) a:not(:hover){color:inherit}
.users-table td.value-strong{color:var(--text)}
/* Work detail facts */
.work-item-facts{gap:0}
.work-item-fact,.work-item-meta p{grid-template-columns:128px minmax(0,1fr);min-height:28px;align-items:center}
.work-item-meta{gap:0}
/* Controls share a text line. */
.form-row input:not([type=checkbox]):not([type=radio]),.form-row select:not([multiple]),.filter-bar select,.combobox>input,.select-combobox-trigger{line-height:20px}
.list-search-field>input[type=search],.main-content .filter-bar-primary .list-search-field>input[type=search]{border-color:var(--control-border);padding-left:36px}
.main-content-list .list-controls .list-toolbar-actions,.page-actions,.detail-header .inline-actions,.work-item-detail-header .page-actions{gap:8px}
.filter-popover>summary.button{min-width:96px;justify-content:center;gap:8px}
.shortcuts-dialog-header{border-image:conic-gradient(var(--border) 0 0) 0 0 1 0/0 0 1px 0/0 16px}
.shortcuts-dialog{overflow:hidden}
.document-form .form-section>.form-row:has(textarea){grid-template-rows:auto minmax(0,1fr)}
.document-form .form-section>.form-row:has(textarea)>textarea{height:100%}
.meeting-source-link{margin-bottom:-4px}
.project-activity-card .activity-entry-main,.dashboard-activity .activity-entry-main{max-width:none}
/* Collapse lives in the logo row. */
.app-screen:not(.sidebar-collapsed) .sidebar-account>.sidebar-collapse-button{position:absolute;top:14px;right:8px}
.sidebar-footer .sidebar-collapse-button[data-tip]::after{top:calc(100% + 7px);bottom:auto}
@media(max-width:680px){
 .dashboard-deadline-item{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}
 .dashboard-deadline-item>.dashboard-deadline-copy{grid-column:1;grid-row:1}
 .dashboard-deadline-item>time{grid-column:1;grid-row:2;font-size:var(--fs-13)}
 .dashboard-deadline-item>.dashboard-deadline-assignees{grid-column:2;grid-row:1/3}
 .dashboard-work-tile{grid-template-columns:minmax(0,1fr) auto}
 .data-table.users-table td:last-child{top:4px}
 .data-table.users-table td:nth-child(n+2){color:var(--text)}
 .data-table.users-table td:nth-child(2),.data-table.users-table td:nth-child(3),.data-table.users-table td:nth-child(4){color:var(--muted)}
 .data-table.users-table td.value-empty{color:var(--text)}
 .calendar-toolbar>.calendar-toolbar-actions>.button:not(.button-primary){height:28px;min-height:28px;padding:0 8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-13)}
}
.notification-page>.notification-scopes{min-height:calc(var(--control-h) + 25px)}
@media(max-width:680px){
 .activity-row--time-footer .activity-entry-footer{padding-right:0}
 .activity-row.activity-row--time-footer .activity-actions{top:auto;right:68px;bottom:13px;margin:0}
 .announcement-meta>span:not(.announcement-author):last-child:not(:nth-child(2)){width:100%}
 .announcement-meta>span:not(.announcement-author):last-child:not(:nth-child(2))::before{content:none}
 .dashboard-work-date small{margin-left:6px}
}


/* Overdue component: one line, one baseline, everywhere. */
.work-item-date{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.work-item-date>small,.project-work-items-card .work-item-date small{margin:0;color:var(--muted);font-size:var(--fs-12);font-weight:400;line-height:inherit;vertical-align:baseline}
@container project-work-items (min-width:561px){.project-work-items-card .work-item-row{grid-template-columns:136px minmax(150px,1fr) 160px 112px}}
@media(min-width:901px){.project-tab-content .work-item-row{grid-template-columns:136px minmax(0,1fr) minmax(100px,.4fr) 130px}}
/* Two-line rows align every cell to the first line. */
.work-item-feed-row>.work-item-date,.work-item-feed-row .work-item-status-trigger,.work-item-feed-row .work-item-person{line-height:20px}
.work-item-feed-row>.work-item-status .status-label{min-height:20px;padding-block:0}
.dashboard-work-tile{align-items:start}
.dashboard-work-tile-meta>*{align-self:start;line-height:20px}
.dashboard-deadline-item{align-items:start}
.dashboard-deadline-item>time{line-height:20px}
.dashboard-deadline-item>.dashboard-deadline-assignees{align-self:start}
.dashboard-deadline-copy .project-avatar{display:none}
/* One search border. */
.main-content-list .list-controls .list-search-field>input[type=search]{border-color:var(--control-border)}
/* Calendar numbers */
.absence-day.is-weekend:not(.is-today) .absence-day-date time{color:var(--text)}
.absence-day.is-outside:not(.is-today) .absence-day-date time{color:var(--text-3)}
/* Offer item: discount action sits on the result line. */
.document-form .offer-item.is-fixed>.offer-discount-toggle,.document-form .offer-item:not(.is-fixed)>.offer-discount-toggle,.document-form .offer-item.is-fixed:has(>.offer-discount-fields[hidden])>.offer-discount-toggle,.document-form .offer-item:not(.is-fixed):has(>.offer-discount-fields[hidden])>.offer-discount-toggle{grid-column:2/-1;grid-row:3;justify-self:start;align-self:center;height:20px;margin:0 0 0 -4px}
.document-form .offer-line-total{grid-column:2/-1;justify-self:end;white-space:nowrap}
.document-form textarea[id$=customerName]{height:var(--control-h);min-height:var(--control-h);resize:none;overflow:hidden;white-space:nowrap}
.document-form textarea[id$=customerAddress]{min-height:78px}
/* Meeting editor rail */
.meeting-discussion .activity-rich-text>:last-child{margin-bottom:0}
.meeting-intro{margin:8px 0 16px}
/* Row hover tints only. */
.offer-row:hover a:not(:hover),.document-list-page .invoice-row:hover a:not(:hover){text-decoration:none}
/* Text and tags on the release page */
.release-note-content p,.release-note-content ul{color:var(--text)}
.release-note-label{border:0;padding:0;background:transparent}
/* Date groups outrank what they contain. */
.activity-day>.date-separator,[data-activity-feed]>.date-separator,.work-item-timeline>.date-separator{color:var(--text);font-weight:600}
/* Project rail */
.project-overview-layout .project-information{gap:24px}
/* Controls start text on one edge. */
.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.filter-bar select,.combobox>input,.select-combobox-trigger{padding-left:10px}
.filter-popover-panel>.button,.filter-popover-panel form>.button,.filter-popover-panel>button{justify-self:end;align-self:flex-end;width:auto}
/* Settings title follows the form header. */
.auth-panel{padding:40px}
@media(max-width:680px){
 .main-content-work-items .work-item-feed-row{grid-template-columns:96px minmax(0,1fr) auto;align-items:center}
 .main-content-work-items .work-item-feed-row>.work-item-feed-context{grid-column:1/3;grid-row:1}
 .main-content-work-items .work-item-feed-row>.work-item-actions{grid-column:3;grid-row:1;margin-top:0;align-self:start}
 .main-content-work-items .work-item-feed-row>.work-item-date{grid-column:1;grid-row:2;align-self:center}
 .main-content-work-items .work-item-feed-row>.work-item-status{grid-column:2;grid-row:2;align-self:center;justify-self:start}
 .main-content-work-items .work-item-feed-row>.work-item-assignees{grid-column:3;grid-row:2;align-self:center}
 .work-item-board-card .work-item-board-activity>.icon{margin:0}
 .dashboard-deadline-copy{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:8px}
 .dashboard-deadline-copy .project-avatar{display:inline-flex;grid-row:1/span 2}
 .dashboard-deadline-item>time{padding-left:28px}
 .offer-row>.offer-row-meta,.offer-row>.invoice-row-actions{align-self:center;margin:0}
 .auth-panel{padding:24px}
}
.auth-panel>p:last-child{margin:16px 0 0;text-align:center}
.profile-header{position:relative}
.work-item-board-card .work-item-board-activity{margin:0}
.work-item-board-card .work-item-board-activity>.icon{flex:none;width:16px;height:16px}


/* Settings: tabs live in the page band. */
.settings-layout{display:block}
.settings-layout .content-narrow{max-width:none}
.settings-nav{display:flex;gap:4px;min-height:0;margin-bottom:16px;padding-top:3px;padding-bottom:11px;border-bottom:1px solid transparent;border-image:conic-gradient(var(--border) 0 0) 0 0 1 0/0 0 1px 0/0 100vmax}
/* Offer item rows */
.document-form .offer-item>.form-row:has(textarea){grid-template-rows:auto auto;height:auto}
.document-form .offer-item>.form-row:has(textarea) .paragraph-editor,.document-form .offer-item>.form-row:has(textarea) textarea{min-height:56px;height:auto;max-height:none}
/* Selects read on the same line as inputs. */
.form-row select:not([multiple]),.filter-bar select,.select-combobox-trigger{padding-top:7px;padding-bottom:5px}
/* First lines */
.dashboard-deadline-item>time{padding-top:0}
.work-item-feed-row>.work-item-date{padding-top:0;margin-top:0}
.status-label{line-height:20px}
.date-value{display:inline-block;min-width:44px}
.work-item-row .date-value{min-width:96px}
.work-item-row .work-item-date{align-items:center}
.dashboard-deadline-item>time small,.dashboard-work-date small{margin-left:6px}
/* Space under the page band */
.notification-page-list .notification-row:first-child{padding-top:4px}
.main-content>.announcement-list .announcement:first-child{padding-top:4px}
.mail-disabled-alert{margin-top:24px}
.audit-table thead th{padding-top:0}
/* Bands */
.meeting-page-header h1{margin:0}
.meeting-page-header{margin-bottom:0}
.project-detail-header{row-gap:6px}
/* Row density */
.offer-row,.document-list-page .invoice-row{min-height:48px;padding-block:12px}
.offer-row>.invoice-row-actions,.document-list-page .invoice-row>.invoice-row-actions{margin-block:-4px}
.project-work-items-card .work-item-row{min-height:48px}
/* Offers: the title anchors the row. */
.offer-row .offer-project-link strong,.document-list-page .invoice-customer strong,.document-list-page .invoice-customer a{font-weight:400}
.offer-row .invoice-row-main strong,.document-list-page .invoice-row-main strong{font-weight:500}
.offer-row:hover strong,.document-list-page .invoice-row:hover strong{text-decoration:none}
/* Journal meta lines share one text start. */
.activity-row .activity-change-summary .status-label{gap:6px}
.activity-row .activity-change-summary .status-icon,.activity-row .activity-change-summary>.icon{width:14px;height:14px;flex-basis:14px}
/* Meeting rail */
.meeting-discussion .activity-rich-text>p:last-child:has(>br:only-child),.meeting-discussion .activity-rich-text>p:empty{display:none}
/* Repeaters use ruled rows. */
.meeting-topic,.meeting-topic-card,[data-meeting-topic]{padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.document-form .invoice-items{margin-top:-16px}
.document-form textarea[id$=customerName]{height:var(--control-h);min-height:var(--control-h)}
/* Band-less pages start on one line. */
.employee-directory-group h2{display:flex;align-items:center;min-height:32px;margin:0 0 8px}
.release-note:first-child{padding-top:6px}
/* Property rail sits on the right everywhere. */
@media(min-width:1101px){
 .work-item-detail-grid{grid-template-columns:minmax(0,1fr) 360px}
 .work-item-detail-grid>.work-item-summary{order:2}
}
.work-item-timeline-heading{margin-bottom:12px}
/* Small details */
.release-note-heading{align-items:baseline}
.status-icon--circle-pause,.status-icon--work-waiting{transform:scale(1.08)}
@media(max-width:680px){
 .dashboard-deadline-copy .project-avatar{width:20px;height:20px;flex-basis:20px}
 .main-content-work-items .work-item-feed-row{grid-template-columns:124px minmax(0,1fr) auto}
 .main-content-work-items .work-item-feed-row>.work-item-date{padding-left:28px}
 .dashboard-section-heading,.dashboard-activity-heading{align-items:center}
 .dashboard-section-heading>:is(a,div)>a:not(.button),.dashboard-section-heading>a{display:inline}
 .mobile-bar>[data-sidebar-toggle]{margin-left:-6px}
 .calendar-toolbar>.calendar-toolbar-actions>.button:not(.button-primary){height:40px;min-height:40px}
 .data-table.users-table td:last-child{top:9px}
}
@container document-form (min-width:761px){.document-form .offer-line-total [data-before-discount]{display:none}}
.meeting-intro{margin:16px 0}

/* Offer item, narrow form: final layout after every wide-form rule above. */
@container document-form (max-width:760px){
 .document-form .offer-item.offer-item{column-gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-item.offer-item>*{grid-column:1/-1!important;grid-row:auto!important}
 .document-form .offer-item.offer-item:not(.is-fixed)>.form-row:not(:has(textarea)):not(:has(.offer-item-price-control)){grid-column:1!important}
 .document-form .offer-item.offer-item:not(.is-fixed)>.form-row:has(.offer-item-price-control){grid-column:2!important}
 .document-form .offer-item.offer-item>.offer-discount-fields{column-gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .document-form .offer-item.offer-item>.offer-discount-toggle{justify-self:start;height:40px;margin:0 0 0 -4px}
 .document-form .offer-item.offer-item>.offer-line-total{display:block;justify-self:end;white-space:normal}
}
.release-note-heading h2{flex:1 0 100%;margin:0}


/* Board cards: date and word stay together at the right. */
.work-item-board-footer .work-item-date{display:inline-flex;justify-content:flex-end;gap:8px;width:100%}
/* Work rows: first line */
.work-item-feed-row>.work-item-date{height:20px;align-items:baseline}
.dashboard-deadline-item{min-height:55px}
/* Meeting rail */
.meeting-topic-editor .meeting-remove-topic{right:-6px}
.activity-rich-text>p:last-child>br:last-child{display:none}
/* Settings */
.settings-nav a{min-height:28px;padding:4px 10px;line-height:20px}
.settings-layout form:has(input[id$=firstName]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
.settings-layout form:has(input[id$=firstName])>*{grid-column:1/-1}
.settings-layout form:has(input[id$=firstName])>.form-row:has(input[id$=firstName]){grid-column:1}
.settings-layout form:has(input[id$=firstName])>.form-row:has(input[id$=lastName]){grid-column:2}
.settings-layout .profile-details,.settings-layout .content-narrow>dl{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}
/* Space under the page band */
.document-form .form-intro{margin-top:0}
.notification-page>.notification-scopes{margin-bottom:4px}
.profile-header{margin-bottom:0}
/* Announcement rows: title first */
.announcement-heading{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px}
.announcement-title-line{display:contents}
.announcement-title-line>h2{flex:1 0 100%;order:1;margin:0}
.announcement-importance{order:2}
.announcement-title-line>.announcement-meta{order:3;margin:0}
/* Year suffix */
.offer-number-input input{border-top-right-radius:0;border-bottom-right-radius:0}
.offer-number-suffix{border-radius:0 var(--radius) var(--radius) 0;font-family:inherit;font-size:var(--fs-14);font-variant-numeric:tabular-nums;letter-spacing:0}
/* Search dialog keeps one text edge. */
.search-dialog [role=option] .project-avatar{margin-right:0}
/* Empty native dates read as placeholders. */
input[type=date]:not([value]):not(:focus)::-webkit-datetime-edit,input[type=date][value=""]:not(:focus)::-webkit-datetime-edit{color:var(--muted)}
/* Baselines */
.release-note{align-items:baseline}
.absence-holiday{line-height:20px}
.mail-disabled-alert,.mail-disabled-alert span{text-wrap:pretty}
@media(max-width:680px){
 .activity-row .activity-change-summary>:first-child .status-icon,.activity-row .activity-change-summary>.icon:first-child{margin:0 5px 0 3px}
 .data-table.users-table td.value-empty{color:var(--muted)}
 .data-table.users-table td.value-strong{color:var(--text)}
 .invoice-form-grid{gap:0 12px;margin-bottom:0}
 .announcement-title-line>.announcement-meta{width:100%}
}


/* Deadline link keeps the row's line; the hit area grows invisibly. */
.work-item-deadline-link{position:relative;height:20px;min-height:0}
.work-item-deadline-link::after{content:"";position:absolute;inset:-10px -4px}
/* Holidays */
.absence-day.is-holiday:not(.is-outside):not(.is-today) .absence-day-date time{color:var(--text)}
.range-calendar-grid .is-holiday::after{content:none}
/* Settings body heading follows the tab. */
.settings-layout .content-narrow>h1{margin:0 0 12px;font-size:var(--fs-16);line-height:24px}
/* Table status cells share the row line. */
.data-table .status-label{display:inline-flex;vertical-align:top}
/* Controls */
.combobox>input,.select-combobox-trigger{font-size:var(--fs-14)}
.meeting-remove-topic{position:relative;left:14px}
/* Meeting rail: unframed sections. */
.document-form .form-section{padding-top:24px}
.document-form form>.form-section:not(.form-section~.form-section){padding-top:8px}
@media(max-width:680px){
 .main-content-work-items .work-item-feed-row>.work-item-date{height:auto;min-height:24px;align-items:center}
 .main-content-work-items .work-item-feed-row{grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px;padding-block:12px}
 .main-content-work-items .work-item-feed-row>.work-item-assignees{min-height:24px}
 .work-item-row .work-item-date{min-height:24px}
}
.combobox-label-row{height:20px}
.combobox-label-row>.combobox-chips{margin-block:-2px;overflow-y:visible}
.activity-discussion-choice{color:var(--muted)}
.activity-discussion-choice:has(input:checked){color:var(--link)}
@media(max-width:680px){
 .activity-row--without-context .activity-change-summary>:first-child .status-icon,.activity-row--without-context .activity-change-summary>.icon:first-child{margin:0 2px 0 0}
}


/* History pages: ruled rows inside the reading frame. */
.history-page.content-narrow{max-width:760px;margin-inline:auto}
.history-header{padding-bottom:14px;border-bottom:1px solid transparent;border-image:conic-gradient(var(--border) 0 0) 0 0 1 0/0 0 1px 0/0 100vmax}
.history-header h1{margin:0}
.history-context{font-size:var(--fs-13)}
.history-timeline{padding-top:4px}
.history-timeline::before{content:none}
.history-entry{display:block;padding:12px 0;border-bottom:1px solid var(--border)}
.history-entry-marker{display:none}
.history-entry-content{padding:0;border:0;border-radius:0;background:transparent}
.history-entry-content>header{gap:6px 12px}
.history-entry-content>header>strong{font-weight:500}
.history-page .change-list{margin:6px 0 0;padding:0;border:0}
.history-page .change-item{display:grid;grid-template-columns:128px minmax(0,1fr);column-gap:16px;padding:2px 0;border:0}
.history-page .change-item>dt{color:var(--muted);font-size:var(--fs-13);font-weight:400}
.history-page .change-value{display:inline-flex;gap:6px;min-height:0;padding:0;border-radius:0;background:transparent;font-size:var(--fs-13)}
.history-page .change-value-old{color:var(--muted)}
.history-page .change-value-new{color:var(--text)}
/* Forms with paired name fields */
.content-form form:has(input[id$=firstName]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
.content-form form:has(input[id$=firstName])>*{grid-column:1/-1}
.content-form form:has(input[id$=firstName])>.form-row:has(input[id$=firstName]){grid-column:1}
.content-form form:has(input[id$=firstName])>.form-row:has(input[id$=lastName]){grid-column:2}
.form-row:has(>input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}
.form-row:has(>input[type=checkbox])>label{font-weight:400}
@media(min-width:681px){
 .work-item-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
 .work-item-form-grid>div:not(.form-row){display:contents}
 .work-item-form-grid>.form-row:first-child{grid-column:1/-1}
 /* Date presets open as a popover under the Datum button. */
 .main-content-activity .activity-filter-form{position:relative}
 .main-content-activity .activity-filter-panel{position:absolute;z-index:8;top:calc(var(--control-h) + 6px);left:370px;width:520px;padding:12px;border:1px solid var(--float-border);border-radius:var(--radius-md);background:var(--float);box-shadow:var(--shadow)}
 .main-content-activity .activity-filter-panel[hidden]{display:none}
}
/* Native file input keeps the product's button look. */
input[type=file]{padding:0;border:0;background:transparent;font-size:var(--fs-13);color:var(--muted)}
input[type=file]::file-selector-button{height:var(--control-h);margin-right:12px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer}
input[type=file]::file-selector-button:hover{background:var(--hover)}
/* Year suffix seam */
.form-row .offer-number-input input:not([type=checkbox]){border-radius:var(--radius) 0 0 var(--radius)}
/* Work list hover: controls share one signal. */
@media(hover:hover) and (pointer:fine){
 .work-item-feed-row .work-item-deadline-link .icon-pencil,.work-item-feed-row .work-item-status-trigger .icon-chevron-right{display:none}
 .work-item-feed-row .work-item-deadline-link:hover,.work-item-feed-row .work-item-status-trigger:hover{border-radius:var(--radius-sm);background:var(--hover)}
}
.selected-dates-panel h2{font-size:var(--fs-13);font-weight:500;line-height:20px}
.vacation-leaderboard-rank .icon{width:16px;height:16px;flex-basis:16px}
.meeting-source-link{gap:6px}
.meeting-source-link .icon{width:14px;height:14px;flex-basis:14px}
.employee-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.alert-warning{border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}
.mail-disabled-alert>span{max-width:680px}
.auth-panel .form-required-marker{display:none}
.work-item-detail-header{align-items:start}
.work-item-detail-header .page-actions{margin-top:0}
@container document-list (max-width:600px){
 .document-list-page .invoice-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date number" "identity total" "customer customer" ". actions"}
 .document-list-page .invoice-row>.invoice-row-actions{grid-area:actions;margin:0;align-self:center}
 .document-list-page .invoice-row>.invoice-total{grid-area:total;text-align:right}
 .document-list-page .invoice-row>.invoice-number{grid-area:number;text-align:right}
}
@media(max-width:680px){
 .employee-card-grid{grid-template-columns:minmax(0,1fr)}
 .main-content .filter-bar-primary .filter-popover>summary.button{font-size:0;gap:0}
 .audit-table thead,.employee-absences thead{display:none}
 .table-scroll:has(.audit-table),.table-scroll:has(.employee-absences){overflow:visible}
 .audit-table,.audit-table tbody,.employee-absences,.employee-absences tbody{display:block}
 .audit-table tr,.employee-absences tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--border)}
 .audit-table td,.employee-absences td{display:block;height:auto;padding:0;border:0;white-space:normal}
 .audit-table td:nth-child(3){grid-column:1;grid-row:1}
 .audit-table td:nth-child(1){grid-column:2;grid-row:1;color:var(--muted);font-size:var(--fs-13)}
 .audit-table td:nth-child(4){grid-column:1/-1;grid-row:2}
 .audit-table td:nth-child(2){grid-column:1;grid-row:3;color:var(--muted);font-size:var(--fs-13)}
 .audit-table td:nth-child(5){grid-column:2;grid-row:3;color:var(--muted);font-size:var(--fs-13)}
 .employee-absences td:nth-child(1){grid-column:1;grid-row:1}
 .employee-absences td:nth-child(2){grid-column:2;grid-row:1;font-size:var(--fs-13)}
 .employee-absences td:nth-child(3){grid-column:2;grid-row:2;color:var(--muted);font-size:var(--fs-13);text-align:right}
 .employee-absences td:nth-child(3)::before{content:attr(data-label) ": "}
 .employee-absences td:nth-child(4){grid-column:1;grid-row:2;padding:0;color:var(--muted);font-size:var(--fs-13)}
 .history-page:has(>.back-link)>.history-header h1,.history-page:has(>.back-link)>h1{padding-left:24px}
 .history-page>.back-link{position:absolute;top:-1px;left:-6px;margin:0}
 .history-page .change-item{grid-template-columns:minmax(0,1fr)}
 .data-table.users-table td:nth-child(7){color:var(--muted)}
 .form-row:has(>input[type=checkbox]){min-height:40px}
 .content-form form:has(input[id$=firstName]){grid-template-columns:minmax(0,1fr)}
 .content-form form:has(input[id$=firstName])>.form-row:has(input[id$=lastName]){grid-column:1}
 .calendar-toolbar{padding-top:12px}
}
@media(max-width:1200px){.main-content-activity .activity-filter-panel{left:0;max-width:100%}}
@media(max-width:680px){
 .data-table.audit-table td,.data-table.employee-absences td{height:auto;min-height:0;padding:0;line-height:20px}
 .data-table.employee-absences td:nth-child(2){text-align:right}
 .main-content-list.main-content-work-items .work-item-controls.list-controls{row-gap:10px}
 .main-content>.page-actions:has(>h1.visually-hidden),.main-content>.detail-header:has(>h1.visually-hidden){padding-top:10px}
 .main-content>.filter-bar-primary{padding-top:10px}
 .settings-nav{padding-top:6px;padding-bottom:15px}
}
.search-dialog-header .dialog-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px}


/* File input */
.form-row input[type=file]:not([type=checkbox]){height:auto;padding:0;border:0;border-radius:0;background:transparent}
/* Popovers open from their trigger's left edge. */
@media(min-width:681px){.filter-popover{position:relative}.filter-popover-panel,.main-content-list .list-controls .list-search-controls .filter-popover-panel{right:auto;left:0}}
/* Secondary button weight */
.button:not(.button-primary),.icon-button-bordered{border-color:var(--button-border)}
@media(prefers-color-scheme:dark){html[data-theme=system]{--button-border:var(--control-border)}}
/* Section spacing under bands */
.project-form form>.form-section:not(.form-section~.form-section){padding-top:0}
.work-item-detail-header{margin-bottom:12px}
.profile-header+*{margin-top:16px}
/* Draft has its own glyph. */
.status-icon--file-pen-line{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2'/%3E%3Cpath d='M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3Cpath d='M8 18h1'/%3E%3C/svg%3E")}
/* Absence type control keeps a field boundary. */
.absence-meta-fields .type-chips,.type-chips{border:1px solid var(--control-border);background:transparent}
.type-chips label{color:var(--text)}
/* Group headings */
.work-item-group-heading{font-size:var(--fs-14);font-weight:600}
.document-form .document-item-heading{color:var(--text);font-size:var(--fs-13);font-weight:600}
.invoice-add-item,[data-offer-add]{margin-top:16px}
/* Project tab toolbars */
.project-tab-toolbar,.project-tab-toolbar form{gap:10px}
.project-tab-content .document-list-scopes{margin-top:-6px}
/* One selected style for exclusive choices */
.vacation-statistics-years{display:inline-flex;gap:2px;width:auto;padding:0;background:transparent}
.vacation-statistics-year{min-height:28px;padding:4px 10px;border:0;border-radius:var(--radius);background:transparent;box-shadow:none;color:var(--muted);font-size:var(--fs-13);font-weight:500}
.vacation-statistics-year.is-active{background:var(--selected);box-shadow:none;color:var(--text)}
/* Release notes */
.release-note-label+.release-note-label::before{content:"\00b7";margin-right:8px;color:var(--text-3)}
.release-note-meta time{color:var(--muted);font-weight:400}
/* History labels */
.history-page .change-item{grid-template-columns:200px minmax(0,1fr)}
@container document-list (max-width:600px){
 .offer-row{grid-template-areas:"date number" "identity identity" "customer total" "status actions"}
 .project-tab-content.document-list-page .offer-row{grid-template-areas:"date number" "identity identity" "status total" ". actions"}
 .document-list-page .invoice-row{grid-template-areas:"date number" "identity identity" "customer total" ". actions"}
}
@media(max-width:680px){
 .history-entry-content>header{flex-wrap:nowrap}
 .history-entry-content>header time{width:auto;margin-left:auto;white-space:nowrap}
 .history-page .change-item{grid-template-columns:minmax(0,1fr);row-gap:0}
 .history-page .change-list{margin-top:2px}
 .history-page .change-item>dt{margin:0}
 .history-page .change-item>dd{margin:0}
 .data-table.users-table td:nth-child(4){justify-self:end;text-align:right}
 .main-content-work-items .work-item-feed-row{grid-template-columns:138px minmax(0,1fr) auto}
 .profile-meta-email-sep{display:none}
 .profile-meta a{display:block}
 .profile-header .back-link{position:absolute;top:0;left:-6px;margin:0}
 .profile-header{padding-left:24px}
}

/* Selected people: only whole chips show at rest; the pill counts the rest. */
.combobox-label-row[data-chip-overflow]::after{content:attr(data-chip-more);flex:none;margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--selected);color:var(--text);font-size:var(--fs-12);line-height:20px;text-align:center}
.combobox-label-row[data-chip-overflow]>.combobox-chips{padding-right:0;-webkit-mask-image:none;mask-image:none}
/* Audit details read as a link. */
.audit-table .link-button{display:inline;color:inherit;text-align:left;text-decoration:none}
.audit-table .link-button:hover{text-decoration:underline;text-underline-offset:3px}
.audit-table .audit-changes-button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}
.audit-table .audit-changes-button::after{content:"";flex:none;width:12px;height:12px;background:var(--text-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:680px){.data-table.audit-table td:last-child{display:block;text-align:right}}


/* Empty pickers announce a list. */
.combobox:has(>.combobox-clear[hidden])::after{content:"";position:absolute;top:50%;right:8px;width:16px;height:16px;margin-top:-8px;background:var(--muted);pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.combobox{position:relative}
/* Settings: section tabs, like project detail. */
.settings-nav{gap:20px;align-items:flex-end;min-height:43px;padding:0}
.settings-nav a,.settings-nav a.is-active{min-height:0;padding:7px 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;border-radius:0;background:transparent}
.settings-nav a.is-active{border-bottom-color:var(--text);color:var(--text)}
.settings-layout .content-narrow>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Absence type: dividers between choices. */
.type-chips{gap:0;padding:0;overflow:hidden}
.type-chips label{border:0;border-radius:0;background:transparent}
.type-chips label+input+label,.type-chips input+label~label{border-left:1px solid var(--border)}
.type-chips input:checked+label{background:var(--selected);font-weight:500}
/* Project overview on phones */
.project-statuses .status-icon--work-state-open{color:var(--muted)}
.history-entry-content>header time,.data-table.audit-table td:first-child{font-variant-numeric:tabular-nums}
.meeting-remove-topic:disabled{visibility:hidden}
.form-row:has(>input[type=checkbox]:disabled)>label{color:var(--muted)}
.work-item-board-card .work-item-board-activity,.work-item-board-card .work-item-board-activity:hover{border:0;background:transparent}
.work-item-board-card .work-item-board-activity:hover{background:var(--hover)}
.project-information .avatar,.work-item-detail-assignees .avatar{width:20px;height:20px;flex-basis:20px}
.form-error-summary{margin-top:8px}
@media(max-width:680px){
 .activity-row--time-footer:has(.activity-time--with-date) .activity-actions{right:112px}
 .activity-row.activity-row--time-footer:has(.activity-time--with-date) .activity-actions{right:112px}
 .project-heading .project-statuses,.history-context{padding-left:24px}
 .work-item-detail-page .work-item-detail-project{padding-left:24px}
 .project-tab-toolbar{flex-direction:row;align-items:center}
 .project-tab-toolbar>form,.project-tab-toolbar .list-search-field{flex:1 1 0;min-width:0}
 .project-tab-toolbar .button-primary{flex:0 0 40px;width:40px;padding:0;font-size:0;justify-content:center}
 .project-tab-toolbar .button-primary .icon{margin:0}
 .work-item-detail-header .page-actions{justify-content:flex-end;width:auto}
 .work-item-detail-header .page-actions>.button{flex:0 0 auto;width:auto}
 .offer-row>.invoice-row-actions,.document-list-page .invoice-row>.invoice-row-actions{margin-right:-12px}
 .work-item-feed-row>.work-item-actions{margin-right:-6px}
 .work-item-detail-page .work-item-status-trigger{margin-right:-8px}
 .table-scroll:has(.users-table){overflow:visible}
 .data-table.users-table td:last-child{right:-12px}
 .work-item-feed-row>.work-item-assignees{margin-right:0}
 .data-table.audit-table td:first-child{justify-self:end;text-align:right}
 .project-key-facts,.project-information>.project-fact-group:first-of-type{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}
}
@media(max-width:680px){
 .project-tab-toolbar>.offer-filters{flex:1 1 0;width:auto;min-width:0}
 .project-tab-toolbar>.offer-list-actions{flex:0 0 auto;width:auto;margin-left:0}
}

/* History rows name what changed. */
.history-entity{flex:1 0 100%;color:var(--text);font-weight:500;line-height:20px}
.history-entry-content>header:has(.history-entity)>strong{color:var(--muted);font-weight:400}
.history-entry-content>header>.history-entity{color:var(--text)}
/* Meeting editor uses the document frame. */
.meeting-editor-page.content-form{max-width:960px;margin-inline:auto}
/* Phones and tablets: provenance follows the work log. */
@media(max-width:1100px){
 .work-item-detail-grid{display:flex;flex-direction:column;align-items:stretch}
 .work-item-detail-grid>*{width:100%;min-width:0}
 .work-item-detail-grid>.work-item-summary{display:contents}
 .work-item-detail-grid .work-item-meta{order:3}
 .work-item-detail-grid>.work-item-timeline-section{order:2}
}
@media(max-width:680px){
 .history-entry-content>header{flex-wrap:wrap}
 .history-entry-content>header time{margin-left:auto}
}


/* Repeaters are ruled rows everywhere. */
.project-collection-item{padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.project-collection-item label{color:var(--text);font-size:var(--fs-13);font-weight:500}
/* History: short changes read on one line. */
.history-entity{order:-1;flex:1 1 calc(100% - 180px)}
.history-entry-content>header:has(.history-entity)>time{order:0;margin-left:auto}
.history-entry-content>header:has(.history-entity)>strong,.history-entry-content>header:has(.history-entity)>.status-label{order:1}
.history-page .change-item>dd{display:flex;flex-wrap:wrap;gap:0 8px;margin:0}
.history-page .change-value>span[aria-hidden=true]{display:none}
.history-page .change-value-new::before{content:"\2192";color:var(--text-3)}
/* Single-field sections need no second label. */
.document-form .form-section>h2+.form-row:last-child>label,.project-form .form-section>h2+.form-row:last-child>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.document-form .form-section>.form-row:last-child:nth-child(even):not(:has(textarea)){grid-column:1/-1}
.document-form .form-section:has(select[id$=signer],select[id$=signerId],select[id*=sign])>.form-row:has(textarea){grid-column:1/-1;grid-row:auto;order:3}
/* Project cards: link in a fixed corner. */
.project-card .project-production-link{position:absolute;top:8px;right:8px;z-index:2}
/* Tab toolbars close with a rule. */
.project-tab-toolbar:not(:has(+.document-list-scopes)){padding-bottom:12px;border-bottom:1px solid var(--border)}
.project-tab-content .document-list-scopes{padding-bottom:12px;border-bottom:1px solid var(--border)}
.project-tab-content [data-activity-feed]{margin-top:-16px}
.project-tab-content .work-item-list{margin-top:-14px}
/* Project rail groups */
/* Current person in statistics */
.vacation-leaderboard-row.is-current,.vacation-leaderboard-row.is-self,.vacation-leaderboard-row[aria-current]{border:0;background:var(--hover)}
/* One title line */
.content-form:not(.document-form):not(.project-form):not(.meeting-editor-page)>h1,.document-form>h1,.project-form>h1,.meeting-page-header,.history-header{padding-top:3px;padding-bottom:11px}
.back-link{top:2px}
.avatar-stack{margin-right:-2px}
html[data-theme=dark] .button-primary kbd{background:rgba(255,255,255,.3)}
.document-form .offer-item:last-child,.document-form .invoice-item:last-child{border-bottom:0}
.document-form .offer-item,.document-form .offer-item.is-fixed,.document-form .invoice-item{padding-block:16px}
.main-content>.announcement-list .announcement-body,.dashboard-announcements .announcement-body{max-width:680px}
@media(hover:none){
 .activity-row .activity-actions .icon,.activity-row .activity-time-actions .icon,.work-item-actions .icon,.work-item-board-card .icon-button .icon,.work-item-board-activity .icon{color:var(--text-3)}
}
.project-collection-item>div:not(.project-collection-handle-wrap)>.form-row>label{color:var(--text);font-size:var(--fs-13);font-weight:500}

/* Project tabs on phones reuse the list anatomy. */
@media(max-width:680px){
 .project-tab-toolbar .filter-popover>summary.button{flex:0 0 40px;width:40px;min-width:0;padding:0;font-size:0;gap:0;justify-content:center}
 .project-tab-toolbar .filter-popover>summary.button .icon{margin:0}
 .project-tab-toolbar>.offer-filters{display:flex;align-items:center;gap:8px;order:1}
 .project-tab-toolbar>.offer-list-actions{order:2}
 .project-tab-content .work-item-row,.project-work-items-card .work-item-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title title title" "date status people";gap:8px 12px;padding-block:12px;align-items:center}
 .project-tab-content .work-item-row>.work-item-title,.project-work-items-card .work-item-row>.work-item-title{grid-area:title}
 .project-tab-content .work-item-row>.work-item-date,.project-work-items-card .work-item-row>.work-item-date{grid-area:date}
 .project-tab-content .work-item-row>.work-item-status,.project-work-items-card .work-item-row>.work-item-status{grid-area:status;justify-self:start}
 .project-tab-content .work-item-row>.work-item-assignees,.project-work-items-card .work-item-row>.work-item-assignees{grid-area:people;justify-self:end}
 .project-tab-content .work-item-row .work-item-person>span:last-child,.project-work-items-card .work-item-row .work-item-person>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
@media(max-width:900px){.project-links{padding-top:0;border-top:0}}


/* Form content starts clear of a two-line header. */
.content-form>.history-header{margin-bottom:16px}
/* Actions read as actions. */
.dashboard-section-heading a:not(.button),.dashboard-team-deadlines-heading>a,.dashboard-absence-heading>a,.section-heading .inline-actions>a:not(.button),.project-activity-show-all,.section-link,.work-item-timeline-heading a,.offer-discount-toggle{font-weight:500}
.dashboard-section-heading a:not(.button):hover,.dashboard-team-deadlines-heading>a:hover,.dashboard-absence-heading>a:hover,.section-heading .inline-actions>a:not(.button):hover,.project-activity-show-all:hover,.section-link:hover,.work-item-timeline-heading a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}
/* System dark follows dark. */
@media(prefers-color-scheme:dark){
 html[data-theme=system]{--surface:#181917;--surface-2:#1f201e;--border-strong:#40433e}
 html[data-theme=system] .project-avatar--image{background:#cfd1cc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
 html[data-theme=system] .button-primary kbd{background:rgba(255,255,255,.3)}
}
/* Hints on outlined section buttons stay quiet. */
html[data-theme=dark] .dashboard-activity .activity-new-button kbd,html[data-theme=dark] .project-activity-card .activity-shortcut-button kbd,html[data-theme=dark] .project-work-items-card .work-item-shortcut-button kbd{background:var(--surface-2);color:var(--muted)}
/* History: the action type stays neutral. */
.history-page .status-icon{color:var(--muted)}
input[type=date]{padding-top:7px;padding-bottom:5px}
.form-row input[type=date]:not([type=checkbox]){padding-top:7px;padding-bottom:5px}
.document-form .form-section>.form-row:has(textarea[id$=paymentTerms]){grid-column:1/-1;grid-row:auto}
.document-form .form-section>.form-row:has(select[id$=workItems])~.form-row:has(input[id$=_title]){grid-column:1/-1}
.selected-dates-panel h2{margin-top:5px}
.work-item-detail-header .work-item-heading{padding-top:3px}
.work-item-detail-header .work-item-back-button{margin-top:0}
.profile-header .back-link{top:-1px}
.sidebar .nav-divider.nav-label{margin:8px 8px 0;padding:12px 0 0;border-top:1px solid var(--border)}
.announcement-meta>span:not(.announcement-author)::before,.announcement-meta>time::before{margin-right:6px}
.announcement-meta{column-gap:6px}
@media(max-width:680px){
 .project-tab-content .work-item-row>.work-item-status,.project-work-items-card .work-item-row>.work-item-status{margin-block:-8px}
 .project-tab-content .work-item-row,.project-work-items-card .work-item-row{row-gap:6px}
 .mobile-bar-end{padding-right:4px}
 .offer-row>.offer-row-meta .status-icon{margin:0 7px 0 3px}
 .work-item-detail-page .work-item-status-trigger{margin-right:-16px}
 .dashboard-team-deadlines-heading{align-items:baseline}
}
.select-combobox-trigger{padding-right:8px}
.select-combobox-chevron{flex:none;width:16px;height:16px;margin:0;border:0;background:var(--muted);transform:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:680px){
 .form-intro{display:block;margin:8px 0;font-size:var(--fs-13);line-height:18px}
 .history-entry-content>header{align-items:flex-start}
}


/* Journal hierarchy */
.activity-row .activity-context-copy>a:first-child,.activity-row .activity-context-copy>strong{font-weight:500}
.activity-day>.date-separator,[data-activity-feed]>.date-separator,.work-item-timeline>.date-separator{font-size:var(--fs-14)}
.dashboard-absence-group>header>h3{color:var(--text);font-size:var(--fs-14);font-weight:600}
/* One centred plus on icon-only mobile buttons */
@media(max-width:680px){.project-tab-toolbar .button-primary,.calendar-toolbar-actions .button-primary{gap:0}}
/* Chevrons sit on the title line. */
.work-item-detail-header .work-item-back-button{margin-top:3px}
.project-overview-layout{margin-top:-6px}
/* One checkbox */
input[type=checkbox]{width:16px;height:16px}
.form-row label:has(>input[type=checkbox]){color:var(--text);font-size:var(--fs-14);font-weight:400}
.document-form .offer-discount-toggle{color:var(--text)}
.work-item-due-hint--overdue{display:inline-block}
.work-item-due-hint--overdue::first-letter{text-transform:uppercase}
/* Directory cards appear on interaction. */
.employee-card{border-color:transparent;background:transparent}
.employee-card:hover,.employee-card:focus-visible{border-color:var(--border);background:var(--hover)}
.project-card .project-production-link{top:10px;width:24px;height:24px;margin:0}
/* Announcements: one metadata rhythm */
.announcement-meta>.announcement-author::before{content:"\00b7";margin-right:6px;color:var(--muted)}
@media(max-width:680px){
 .activity-row.activity-row--time-footer .activity-actions{bottom:8px}
 .work-item-row .date-value{min-width:0}
 .meeting-editor-page>.back-link,.content-form>.back-link,.content-narrow>.back-link,.history-page>.back-link{top:2px}
 .main-content-activity .activity-log-controls+*{margin-top:0}
 .document-list-page .offer-row:first-child,.document-list-page .invoice-row:first-child{padding-top:4px}
 .work-item-detail-header{position:relative}
 .work-item-detail-header .page-actions{position:absolute;right:0;bottom:8px;width:auto}
 .work-item-detail-header .page-actions>.button-primary{flex:0 0 40px;width:40px;padding:0;gap:0;font-size:0;justify-content:center}
 .work-item-detail-header .page-actions>.button-primary .icon{margin:0}
 .work-item-detail-page .work-item-status-menu{margin-left:0}
 .work-item-detail-page .work-item-heading-copy{padding-right:96px;min-height:40px}
 .work-item-detail-page .work-item-title-row>h1{margin-right:-96px}
 .work-item-detail-page .work-item-status-trigger{margin-right:0}
}

/* Directory: resting avatars align with group headings; the hover surface outsets. */
.employee-card-grid{margin-inline:-13px}
@media(max-width:680px){
 .work-item-detail-header .page-actions{right:16px}
}

/* Audit detail: the close button shares the title row; a change reads as one line. */
.detail-dialog>form[method=dialog]{position:absolute;top:12px;right:12px;margin:0}
.detail-dialog>h2{margin:0 36px 16px 0;font-size:var(--fs-16);line-height:24px;font-weight:600}
.detail-dialog .audit-changes dt{margin-top:10px;font-size:var(--fs-13);color:var(--muted)}
.detail-dialog .audit-changes dt:first-child{margin-top:0}
.detail-dialog .audit-changes dd{display:flex;flex-wrap:wrap;gap:0 8px;margin:2px 0 0;overflow-wrap:anywhere}
.detail-dialog .audit-changes dd>div:first-child{color:var(--muted)}

/* Offer rows: project and amount keep a clear gutter on narrow screens. */
@media(max-width:680px){
 .document-list-page .offer-row,.project-tab-content.document-list-page .offer-row{column-gap:12px}
}

/* Announcements on Home have no status, so the author opens the row. */
.dashboard-announcements .announcement-meta>.announcement-author::before{content:none}
/* Audit: the change count ends beside its chevron on mobile. */
@media(max-width:680px){
 .audit-table .audit-changes-button{justify-content:flex-end}
 .search-dialog[open]{inset:12px auto auto 50%;max-height:calc(100dvh - 24px)}
}
/* Toolbar triggers share one icon gap. */
@media(min-width:681px){
 .filter-popover>summary.button{gap:6px}
 .filter-popover>summary.button>.icon{width:16px;height:16px;flex-basis:16px;margin:0 0 0 -2px}
}
/* One checkbox everywhere: field surface at rest, accent when ticked. */
input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;flex:none;place-content:center;width:16px;height:16px;margin:0;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}
input[type=checkbox]:hover:not(:disabled){border-color:var(--text-3)}
input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}
input[type=checkbox]:checked::after{content:"";width:12px;height:12px;background:var(--on-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
input[type=checkbox]:disabled{border-color:var(--border);background:var(--hover);cursor:not-allowed}
input[type=checkbox]:disabled:checked{border-color:transparent;background:var(--text-3)}
input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.offer-copy-company input[type=checkbox]{width:16px}
.offer-copy-company .form-row>label{font-size:var(--fs-14)}
/* Offer discount: a quiet text action with an icon, distinct from labels. */
.document-form .offer-discount-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.document-form .offer-discount-toggle:hover{color:var(--text);background:transparent}
.document-form .offer-discount-label::before,.document-form .offer-discount-remove-label::before{content:"";flex:none;display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;background:currentColor;-webkit-mask:var(--discount-icon) center/contain no-repeat;mask:var(--discount-icon) center/contain no-repeat}
.document-form .offer-discount-label{--discount-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}
.document-form .offer-discount-remove-label{--discount-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E")}
/* Audit table: columns breathe; the flexible column gives way. */
@media(min-width:681px){
 .data-table.audit-table th,.data-table.audit-table td{padding-right:24px}
 .data-table.audit-table th:last-child,.data-table.audit-table td:last-child{padding-right:0}
}
/* Work rows on mobile: status starts at one x across rows. */
@media(max-width:680px){
 .work-item-timeline>:last-child{border-bottom:0}
}
/* History: one compact header line, then the change. */
@media(min-width:681px){
 .history-entry-content>header:has(.history-entity){flex-wrap:nowrap;align-items:center}
 .history-entry-content>header:has(.history-entity)>.history-entity{order:0;flex:1 1 auto;min-width:0}
 .history-entry-content>header:has(.history-entity)>strong{order:1;flex:none}
 .history-entry-content>header:has(.history-entity)>.status-label{order:2;flex:none}
 .history-entry-content>header:has(.history-entity)>time{order:3;flex:none;margin-left:12px;white-space:nowrap}
}
@media(max-width:680px){
 .history-page .change-item{display:flex;flex-wrap:wrap;gap:0 8px}
}
/* Mobile invoices: type sits where offers show status. */
@media(max-width:680px){
 .document-list-page:not(.project-tab-content) .invoice-row{grid-template-areas:"date number" "identity identity" "customer total" "type actions"}
 .document-list-page:not(.project-tab-content) .invoice-row>.invoice-row-main{display:contents}
 .document-list-page:not(.project-tab-content) .invoice-row>.invoice-row-main>strong{grid-area:identity}
 .document-list-page:not(.project-tab-content) .invoice-row>.invoice-row-main>span{grid-area:type;align-self:center;color:var(--muted);font-size:var(--fs-13)}
}
/* Offer customer block: the address spans both company rows. */
@media(min-width:681px){
 .offer-form .form-section>.form-row:has(textarea[id$=customerAddress]){grid-row:span 2;align-self:stretch;display:flex;flex-direction:column}
 .offer-form .form-section>.form-row:has(textarea[id$=customerAddress])>.paragraph-editor{flex:1 1 auto}
}
/* Prose avoids one-word last lines. */
.form-help,.notice,.alert,.muted,.mail-disabled-notice{text-wrap:pretty}
/* Announcement status joins the metadata row at the same rhythm. */
@media(min-width:681px){
 .announcement-heading{column-gap:6px}
}
/* Multi-field history entries stay one list. */
.history-page .change-list{gap:0}
/* The status-to-author dot uses the same 6px on both sides. */
.announcement-meta>.announcement-author::before{margin-right:0}
/* The save chord stays legible on the filled button. */
[data-activity-submit-shortcut],[data-work-item-submit-shortcut]{min-width:26px;padding:0 5px;font-family:system-ui,sans-serif;font-size:var(--fs-12);letter-spacing:.04em}

input[type=checkbox],.filter-bar input[type=checkbox],.filter-popover input[type=checkbox]{flex:0 0 16px;width:16px;min-width:16px;height:16px;min-height:0;padding:0}

/* Absence type: each segment carries a radio mark, so "nothing chosen yet" is explicit. */
.type-chips input[type=radio]+label{gap:6px}
.type-chips input[type=radio]+label::before{content:"";flex:none;width:14px;height:14px;border:1px solid var(--control-border);border-radius:50%;background:var(--surface)}
.type-chips input[type=radio]:checked+label::before{border:4px solid var(--accent)}
/* Offer items on mobile: the amount stays close to its discount action. */
@media(max-width:680px){
 .document-form .offer-item.offer-item>.offer-line-total{margin-top:-10px}
}
/* Home headings: the horizon never touches the section link. */
.dashboard-team-deadlines-heading{column-gap:12px}
.dashboard-team-deadlines-heading>.dashboard-heading-title{flex-wrap:wrap;min-width:0}
@media(max-width:680px){
 .absence-meta-fields .type-chips{grid-template-columns:auto auto auto}
 .absence-meta-fields .type-chips label{padding:0 8px}
}

/* History: fixed columns, so person, action and time never shift between rows. */
@media(min-width:681px){
 .history-entry-content>header:has(.history-entity)>strong{width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .history-entry-content>header:has(.history-entity)>.status-label{width:84px}
 .history-entry-content>header:has(.history-entity)>time{width:124px;margin-left:0;text-align:right}
}
/* One action label in both history views: quiet ink; only create and delete keep colour. */
.status-icon--audit-update{color:var(--muted)}
.audit-table .status-label,.detail-dialog .status-label{color:var(--muted)}
/* Work rows keep one pitch on every project tab. */
@media(min-width:681px){
 .project-tab-content .work-item-row{min-height:48px;align-items:center}
}
/* Outside-month absences stay fully informative. */
.absence-day.is-outside .avatar{opacity:.85}
.absence-day.is-outside .status-icon{opacity:1}
/* Dnevnik: a rule in the gutter spans a meeting's topics and marks where it ends. */
.activity-meeting-topics{position:relative}
.activity-meeting-topics::before{content:"";position:absolute;top:0;bottom:0;left:-12px;width:2px;border-radius:1px;background:var(--border-strong);pointer-events:none}
@media(max-width:680px){
 .activity-meeting-topics::before{left:-8px}
 /* Date, then Kasni, then the pencil: one cell, so the status starts at one x. */
 .project-tab-content .work-item-row>.work-item-date,.project-work-items-card .work-item-row>.work-item-date{position:relative;min-width:144px;padding-right:20px}
 .project-tab-content .work-item-row .date-value,.project-work-items-card .work-item-row .date-value{position:static;min-width:88px}
 .project-tab-content .work-item-row .work-item-deadline-link,.project-work-items-card .work-item-row .work-item-deadline-link{position:static}
 .project-tab-content .work-item-row .work-item-deadline-link .icon-pencil,.project-work-items-card .work-item-row .work-item-deadline-link .icon-pencil{position:absolute;top:50%;right:0;margin:0;transform:translateY(-50%)}
 /* Compact journals use the same 40px action slots as Dnevnik. */
 .activity-row--time-footer .activity-discussion-action .icon-button{width:40px;height:40px}
 .activity-row.activity-row--time-footer .activity-entry-footer .activity-time-actions{gap:8px}
 .activity-row.activity-row--time-footer .activity-actions{right:82px;bottom:12px}
 .activity-row.activity-row--time-footer:has(.activity-time--with-date) .activity-actions{right:120px}
}
/* Project rail: contact details sit under the name on one value line. */
.project-overview-layout .project-contact-links{flex:none;justify-content:flex-start;margin:0}
/* Optional note: a quiet addition, same family as the item discount action. */
.offer-note-fields:not([open])>summary.button{min-height:24px;padding:0;border:0;background:transparent;color:var(--muted)}
.offer-note-fields:not([open])>summary.button:hover{background:transparent;color:var(--text)}
.offer-note-fields:not([open])>summary.button>.icon{margin:0}
/* Mobile admin rows: non-exception flags drop out; exceptions stay. */
@media(max-width:680px){
 .main-content .data-table tbody td.value-empty{display:none}
}
/* Statistics: the person leads, the count is a plain tabular value. */
.vacation-leaderboard-meta strong{font-weight:500}
.vacation-leaderboard-meta .vacation-leaderboard-days{font-weight:400;font-variant-numeric:tabular-nums}
/* Callouts and intros keep lines even. */
.form-section>p.muted,.content-form>p.muted{text-wrap:pretty}

/* The meeting band opens into the gutter rule; its content sits on the row's edge. */
.activity-meeting-header{margin-inline:-12px;padding-inline:12px}
.activity-meeting-topics::before{left:-12px}
@media(max-width:680px){
 .activity-meeting-header{margin-inline:-8px;padding-inline:8px}
 .activity-meeting-topics::before{left:-8px}
}

/* Today stays legible on the accent circle on every kind of day. */
.absence-day.absence-day.is-today .absence-day-date time{background:var(--accent);color:var(--on-accent);font-weight:600}
/* Date picker: today is a dot under the number; unselectable days keep muted ink. */
.range-calendar-grid button{position:relative}
.range-calendar-grid .is-today::after{content:"";position:absolute;bottom:5px;left:50%;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--accent)}
.range-calendar-grid .is-today:disabled{color:var(--text-3);font-weight:400}
.range-calendar-grid .is-selected.is-today::after{background:var(--on-accent)}
/* Repeater rows align with the field grid: the handle and remove slot hang in the gutter. */
@media(min-width:841px){
 .project-collection-item{position:relative;margin-inline:-40px;border-bottom:0}
 .project-collection-item::after{content:"";position:absolute;right:40px;bottom:0;left:40px;height:1px;background:var(--border)}
 .project-collection--links .project-collection-item,.project-collection--technical .project-collection-item{padding-block:6px}
 .project-collection--links .project-collection-item::after,.project-collection--technical .project-collection-item::after{content:none}
 .project-collection--links .project-collection-item:not(:first-child)>div:not(.project-collection-handle-wrap)>.form-row>label,.project-collection--technical .project-collection-item:not(:first-child)>div:not(.project-collection-handle-wrap)>.form-row>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .project-collection--links .project-collection-item:not(:first-child) :is(.project-collection-handle-wrap,.project-collection-remove,.project-collection-action-spacer),.project-collection--technical .project-collection-item:not(:first-child) :is(.project-collection-handle-wrap,.project-collection-remove,.project-collection-action-spacer){margin-top:0}
}
/* Directory: a real row with room for the avatar. */
.employee-directory{gap:16px}
.employee-card{grid-template-columns:32px minmax(0,1fr);column-gap:10px;min-height:44px;padding-block:6px}
.employee-card .avatar{width:32px;height:32px;flex-basis:32px}
.employee-card-grid{row-gap:0}
.employee-directory-group h2{margin-bottom:4px}
/* Kanban: valid columns show themselves during a drag; the one under the pointer is stronger. */
.work-item-board:has(.is-dragging) [data-board-column]{border-radius:var(--radius-md);background:color-mix(in srgb,var(--text) 3%,transparent)}
.work-item-board:has(.is-dragging) [data-board-column].is-drop-target{background:color-mix(in srgb,var(--text) 6%,transparent);box-shadow:inset 0 0 0 1px var(--border-strong)}
/* Statistics: top three trophies are told apart by a quiet metal tint. */
.vacation-leaderboard-rank .icon{width:16px;height:16px;flex-basis:16px}
.vacation-leaderboard-row.rank-1 .vacation-leaderboard-rank{color:#9a7400}
.vacation-leaderboard-row.rank-2 .vacation-leaderboard-rank{color:#747b87}
.vacation-leaderboard-row.rank-3 .vacation-leaderboard-rank{color:#a2622c}
html[data-theme=dark] .vacation-leaderboard-row.rank-1 .vacation-leaderboard-rank{color:#d6b23c}
html[data-theme=dark] .vacation-leaderboard-row.rank-2 .vacation-leaderboard-rank{color:#b0b6c0}
html[data-theme=dark] .vacation-leaderboard-row.rank-3 .vacation-leaderboard-rank{color:#d2935a}
@media(prefers-color-scheme:dark){
 html[data-theme=system] .vacation-leaderboard-row.rank-1 .vacation-leaderboard-rank{color:#d6b23c}
 html[data-theme=system] .vacation-leaderboard-row.rank-2 .vacation-leaderboard-rank{color:#b0b6c0}
 html[data-theme=system] .vacation-leaderboard-row.rank-3 .vacation-leaderboard-rank{color:#d2935a}
}
/* Small tabular metadata keeps normal text colour and tracking. */
.activity-time,.history-entry-content>header time,.project-timestamps{letter-spacing:-.01em}
.history-entry-content>header time{font-size:var(--fs-13)}
.offer-number-suffix{font-variant-numeric:normal}
/* Dark calendar: non-working days stay visible. */
html[data-theme=dark] .absence-day.is-nonworking{background:color-mix(in srgb,var(--text) 4.5%,transparent)}
@media(prefers-color-scheme:dark){html[data-theme=system] .absence-day.is-nonworking{background:color-mix(in srgb,var(--text) 4.5%,transparent)}}
/* Long forms leave a section's distance above the pinned footer. */
.document-form form>.form-actions{margin-top:32px}

/* One outlined button: section actions, file inputs and link chips use the same border. */
.button.button:not(.button-primary):not(.button-danger):not(:hover),.project-link.project-link:not(:hover),input[type=file]::file-selector-button{border-color:var(--button-border)}
/* Document lists: title and amount lead; number and project stay quiet. */
.offer-row .offer-number,.document-list-page .invoice-number,.offer-row .offer-project-link strong,.document-list-page .invoice-customer strong,.document-list-page .invoice-customer a{color:var(--muted);font-weight:400}
/* Audit: only "Što" is in full ink. */
.audit-table .audit-changes-button,.data-table.audit-table td:last-child{color:var(--muted)}
/* The empty-value dash stays quieter than real content. */
.employee-absences td.value-dash{color:var(--muted)}
/* Repeaters: add actions sit one step from the last row; no trailing rule; no extra top padding. */
.project-collection-item:last-child::after{content:none}
.project-collection-add,.invoice-add-item,[data-offer-add]{margin-top:16px}
.project-collection-item:first-child{padding-top:0}
/* The locked-status hint belongs to its checkboxes. */
.form-row:has(>input[type=checkbox])+.form-help,.form-row:has(>input[type=checkbox])~.form-help{margin-top:0}
.form-row:has(>input[type=checkbox]):has(+.form-help){margin-bottom:8px}
/* Kanban drag: columns stop above the tray; tiles keep one height in every state. */
.work-item-board:has(.is-dragging) [data-board-column]{margin-bottom:84px}
.work-item-final-target{min-height:62px}
/* Project contact: one structure on every width. */
.project-overview-layout .project-contact.project-contact{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:0;min-height:0;height:auto}
/* Subtitle bands: the status trigger does not push the rule down. */
@media(min-width:681px){
 .work-item-detail-header{padding-bottom:9px}
 .work-item-detail-header .work-item-status-trigger{margin-block:-4px}
}
@media(max-width:680px){
 .work-item-board-heading{padding-left:0}
}
/* Section actions keep the outlined-button border. */
.main-content .dashboard-activity .activity-new-button.button:not(:hover),.main-content .project-activity-card .activity-shortcut-button.button:not(:hover),.main-content .project-work-items-card .work-item-shortcut-button.button:not(:hover){border-color:var(--button-border)}
/* History on mobile: the time keeps a fixed cell, the title wraps before it. */
@media(max-width:680px){
 .history-entry-content>header:has(.history-entity)>.history-entity{flex:1 1 calc(100% - 136px);max-width:calc(100% - 136px)}
 .history-entry-content>header:has(.history-entity)>time{flex:0 0 124px;margin-left:0;text-align:right}
}
.history-page .change-list:not(:has(.change-item)){display:none}

/* Section text actions: neutral, but stronger than metadata. */
.dashboard-section-heading a:not(.button),.dashboard-team-deadlines-heading>a,.dashboard-absence-heading>a,.section-heading .inline-actions>a:not(.button),.project-activity-show-all,.section-link,.work-item-timeline-heading a,.offer-discount-toggle,.section-link,.work-item-section-link{color:color-mix(in srgb,var(--text) 78%,var(--bg));font-weight:500}
.history-context>a,.work-item-detail-project{color:color-mix(in srgb,var(--text) 78%,var(--bg))}
.history-context>a{display:inline-flex;align-items:center;gap:6px}
.history-context>a .project-avatar{width:20px;height:20px;flex-basis:20px}
.history-context>a:hover,.work-item-detail-project:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}
/* Repeater columns follow the form grid. */
.project-collection-item>div:not(.project-collection-handle-wrap){column-gap:16px}
@media(min-width:841px){
 .project-collection--contacts .project-collection-item>div:not(.project-collection-handle-wrap){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.project-member-selection{margin-left:-4px}
/* Empty repeaters take no room; add actions sit 24px below the last field. */
.project-collection-items:not(:has(.project-collection-item)){display:none}
/* Kanban stacked: heading and empty text share one edge. */
@media(max-width:680px){
 .work-item-board-empty{padding-inline:0}
 .project-tab-content .work-item-row,.project-work-items-card .work-item-row{column-gap:16px}
}
/* Notifications: actor and main object lead; secondary values step back. */
.notification-row strong:nth-of-type(n+3),.notification-popover strong:nth-of-type(n+3){color:color-mix(in srgb,var(--text) 78%,var(--bg));font-weight:400}
/* Work timeline: a system event is one line. */
.timeline-event--readable{padding-block:6px;border-bottom:0}
.timeline-event--readable .timeline-event-content{display:flex;align-items:center;gap:8px}
.timeline-event--readable .timeline-event-content>p{line-height:20px}
.timeline-event--readable .activity-entry-footer{display:contents}
.timeline-event--readable .activity-people{order:0;flex:none}
.timeline-event--readable .timeline-event-content>p,.timeline-event--readable .timeline-field-change{order:1;flex:1 1 auto;min-width:0;margin:0;color:var(--muted);font-size:var(--fs-13)}
.timeline-event--readable .activity-time{order:2;flex:none;margin-left:auto}
.timeline-event--readable .person-inline .avatar{width:16px;height:16px;flex-basis:16px;font-size:9px}
/* Offer rows: linked work stays on one line. */
.offer-work-links{min-width:0}
.offer-work-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Ghost year stepper: the glyph sits on the gutter. */
nav.inline-actions:has(.year-title){margin-right:-9px}
/* Sidebar search shortcut is a quiet keycap like the others. */
.nav-link kbd.search-shortcut{display:inline-flex;align-items:center;min-height:18px;padding:0 4px;border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,currentColor 10%,transparent);font-size:var(--fs-11)}
/* Add actions: 24px below the last field in every form. */
.document-form .offer-item:last-of-type,.document-form .invoice-item:last-of-type{padding-bottom:0}
.document-form .offer-item:last-of-type{margin-bottom:-16px}
.invoice-add-item,[data-offer-add]{margin-top:24px}
.project-collection--technical:not(:has(.project-collection-item)) .project-collection-add{margin-top:0}
.project-collection--technical:not(:has(.project-collection-item)){margin-top:8px}
/* Touch: search results are comfortable targets. */
@media(max-width:680px){
 .search-dialog [role=option]{min-height:44px}
 .offer-row .invoice-total strong,.document-list-page .invoice-total strong,.offer-row .invoice-total,.document-list-page .invoice-row>.invoice-total{font-size:var(--fs-16)}
}
/* Amounts lead document rows. */
.offer-row .invoice-total strong,.document-list-page .invoice-total strong,.document-list-page .invoice-total{font-weight:500}
/* Calendar: people are the primary data of a day. */
@media(min-width:1280px){
 .absence-person{font-size:var(--fs-14);line-height:20px}
}

/* Short forms: 24px from the last element to the actions. */
.form-row:has(+.form-actions),.form-help:has(+.form-actions){margin-bottom:0}
/* Sub-row headers: one 88px band with the title on one line. */
.history-context{display:block;height:20px;line-height:20px}
.history-context>a{height:20px;vertical-align:top}
.history-context>a .project-avatar{margin-block:0}
@media(min-width:681px){
 .profile-header{padding-top:3px;padding-bottom:8px}
 .work-item-detail-grid>.work-item-summary{margin-top:-2px}
}
/* Client logos share one light plate. */
.project-avatar--image{background:#fff;outline:1px solid var(--border);outline-offset:-1px}
.project-avatar--image img{object-fit:contain}
html[data-theme=dark] .project-avatar--image{background:#cfd1cc;outline:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
@media(prefers-color-scheme:dark){html[data-theme=system] .project-avatar--image{outline:0}}
/* Dark announcement: neutral raised surface; the accent stays in the border. */
html[data-theme=dark] .dashboard-announcements .announcement{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
@media(prefers-color-scheme:dark){html[data-theme=system] .dashboard-announcements .announcement{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}}
/* Dialog bodies end on the same padding. */
.work-item-dialog-fields>:last-child .form-help:last-child,.work-item-dialog-fields>:last-child.form-row{margin-bottom:0}
/* Validation summary starts where other first content starts. */
.form-errors-summary,.alert-danger:first-child{margin-top:8px}
/* Mobile admin rows: one line rhythm with or without flags. */
@media(max-width:680px){
 .data-table.users-table td.value-empty+td.value-empty+td{margin-top:-2px}
 .project-information-footer{flex-direction:row;align-items:center;justify-content:space-between}
}
/* Totals start on the item grid. */
.document-form .offer-totals{width:316px}
/* Notice: even lines, inline code on the sentence baseline. */
.mail-disabled-alert code{vertical-align:baseline;line-height:1}
.project-key-facts-heading+.project-key-facts{margin-top:-16px;padding-top:0;border-top:0}

/* Non-working days: one tint rule on every kind of cell, in both themes. */
.absence-day.is-nonworking,.absence-day.is-nonworking.is-today,.absence-day.is-nonworking.is-outside{background:color-mix(in srgb,var(--text) 3.5%,transparent)}
html[data-theme=dark] .absence-day.is-nonworking,html[data-theme=dark] .absence-day.is-nonworking.is-today,html[data-theme=dark] .absence-day.is-nonworking.is-outside{background:color-mix(in srgb,var(--text) 4.5%,transparent)}
@media(prefers-color-scheme:dark){html[data-theme=system] .absence-day.is-nonworking,html[data-theme=system] .absence-day.is-nonworking.is-today,html[data-theme=system] .absence-day.is-nonworking.is-outside{background:color-mix(in srgb,var(--text) 4.5%,transparent)}}
/* Repeater rows on mobile: handle and remove share a header line; fields use the full width. */
@media(max-width:840px){
 .project-collection-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 0;align-items:center}
 .project-collection-item>.project-collection-handle-wrap{grid-column:1;grid-row:1;margin:0}
 .project-collection-item>.project-collection-remove,.project-collection-item>.project-collection-action-spacer{grid-column:3;grid-row:1;margin:0}
 .project-collection-item>div:not(.project-collection-handle-wrap){grid-column:1/-1;grid-row:2}
}
/* One hover: rows wash and reveal actions; cards share a fill and border. */
.offer-row .invoice-row-main a:hover,.document-list-page .invoice-row .invoice-row-main a:hover{text-decoration:none}
.work-item-board-card:hover{background:var(--surface-2)}
/* Item result is one line on every width. */
.document-form .offer-line-total [data-before-discount]{display:none}
/* Meeting rail logos use the standard tile. */
.meeting-editor-page .project-avatar{width:20px;height:20px;flex-basis:20px}
/* Notice keeps even lines on wide screens; the command never breaks. */
.mail-disabled-alert code{white-space:nowrap}
@media(min-width:681px){.mail-disabled-alert{text-wrap:balance}}
@media(max-width:680px){.mail-disabled-alert{text-wrap:wrap}}
/* Narrow overview: the facts heading travels with its rows, after the journal. */
@media(max-width:1100px){
 .project-overview-layout .project-key-facts-heading{order:6;margin-bottom:0}
 .project-overview-layout .project-key-facts{order:6}
 .project-key-facts-heading+.project-key-facts{margin-top:-16px}
}
/* Meeting band: a faint accent tint in light mode, so it never reads as a stuck row hover. */
:root{--meeting-band:color-mix(in srgb,var(--accent) 5%,var(--bg))}
html[data-theme=dark]{--meeting-band:color-mix(in srgb,var(--surface-2) 55%,transparent)}
@media(prefers-color-scheme:dark){html[data-theme=system]{--meeting-band:color-mix(in srgb,var(--surface-2) 55%,transparent)}}
.activity-meeting-header{background:var(--meeting-band)}
/* Selected people always show how to remove them. */
.combobox-chip::after,.project-member-choice::after{content:"";flex:none;width:10px;height:10px;background:var(--text-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat}
.combobox-chip{gap:6px;padding-right:6px}
.combobox-chip:hover,.project-member-choice:hover>span:last-child,.project-member-choice:focus-visible>span:last-child{text-decoration:none}
.combobox-chip:hover::after,.project-member-choice:hover::after,.project-member-choice:focus-visible::after{background:var(--danger)}
/* Small legibility fixes: the sidebar shortcut hint and the audit disclosure chevron. */
.nav-link kbd.search-shortcut{color:var(--muted)}
.audit-table .audit-changes-button::after{width:14px;height:14px;background:var(--muted)}
/* Audit: the time starts on one vertical line. */
@media(min-width:681px){.data-table.audit-table .audit-date{display:inline-block;min-width:var(--audit-date-w,82px)}}
/* Inline code uses the app's mono face; the short admin notice uses the full width. */
.alert code,.notice code,.callout code{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;font-variant-ligatures:none;font-feature-settings:"calt" 0}
.mail-disabled-alert>span{max-width:none}
.mail-disabled-alert span.nowrap{white-space:nowrap}
/* Work timeline: a system event's time sits on the row's baseline. */
.timeline-event--readable .timeline-event-content,.work-item-timeline .timeline-event--readable:not(:has(.timeline-field-change)) .timeline-event-content{padding-right:0}
.timeline-event--readable .activity-entry-footer>.activity-time,.work-item-timeline .timeline-event--readable .activity-entry-footer>.activity-time{position:static}
/* Journal meta lines: a leading status icon takes the avatar's slot, so text starts at +26. */
.activity-row .activity-change-summary>:first-child .status-icon,.activity-row .activity-change-summary>.icon:first-child{margin:0 4px 0 2px}
/* History: the change line is as tall as the header line, so rows are balanced. */
@media(min-width:681px){
 .history-page .change-item{align-items:baseline}
 .history-page .change-item>dt{margin:0}
}
/* History on mobile: the title takes the full width; person, action and time share the next line. */
@media(max-width:680px){
 .history-entry-content>header:has(.history-entity){display:grid;grid-template-columns:auto auto minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center}
 .history-entry-content>header:has(.history-entity)>.history-entity{grid-column:1/-1;grid-row:1;max-width:none;flex:none}
 .history-entry-content>header:has(.history-entity)>strong{grid-column:1;grid-row:2;width:auto}
 .history-entry-content>header:has(.history-entity)>.status-label{grid-column:2;grid-row:2;width:auto}
 .history-entry-content>header:has(.history-entity)>time{grid-column:3;grid-row:2;justify-self:end;width:auto;flex:none;margin:0}
}
/* Repeater rows on mobile: move and remove sit at the right of the first label. */
@media(max-width:840px){
 .project-collection-item{grid-template-columns:minmax(0,1fr) 40px 40px;gap:0}
 .project-collection-item>div:not(.project-collection-handle-wrap){grid-column:1/-1;grid-row:1}
 .project-collection-item>.project-collection-handle-wrap{grid-column:2;grid-row:1;align-self:start;z-index:1;margin:-4px 0 0}
 .project-collection-item>.project-collection-remove,.project-collection-item>.project-collection-action-spacer{grid-column:3;grid-row:1;align-self:start;z-index:1;margin:-4px 0 0}
 .project-collection-drag-handle,.project-collection-remove{width:40px;height:40px}
 .project-collection-item>div:not(.project-collection-handle-wrap)>.form-row:first-child>label{display:flex;align-items:center;min-height:32px;padding-right:88px}
}
/* Mobile Dnevnik: the icon-only "Novi sastanak" carries a plus, so it reads as create, not filter. */
@media(max-width:680px){
 .main-content-activity .list-controls .list-toolbar-actions>.meeting-new-button{position:relative}
 .main-content-activity .list-controls .list-toolbar-actions>.meeting-new-button>.icon{transform:translateX(-3px)}
 .main-content-activity .list-controls .list-toolbar-actions>.meeting-new-button::after{content:"";position:absolute;top:10px;left:calc(50% + 6px);width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") center/contain no-repeat}
}
/* Dnevnik: every day opens with a tinted band, so day boundaries stand out while scrolling. */
:root{--day-band:color-mix(in srgb,var(--text) 5.5%,var(--bg))}
html[data-theme=dark]{--day-band:color-mix(in srgb,var(--text) 7%,var(--bg))}
@media(prefers-color-scheme:dark){html[data-theme=system]{--day-band:color-mix(in srgb,var(--text) 7%,var(--bg))}}
.activity-day>.date-separator.date-separator,[data-activity-feed]>.date-separator.date-separator,.work-item-timeline>.date-separator.date-separator{margin-top:24px;margin-inline:-12px;padding:6px 12px;border:0;border-radius:var(--radius);background:var(--day-band)}
.activity-day:first-child>.date-separator.date-separator,[data-activity-feed]>.date-separator.date-separator:first-child,.work-item-timeline>.date-separator.date-separator:first-child{margin-top:0}
@media(max-width:680px){
 .activity-day>.date-separator.date-separator,[data-activity-feed]>.date-separator.date-separator,.work-item-timeline>.date-separator.date-separator{margin-inline:-8px;padding-inline:8px}
}
/* Meeting topics: hover spans from the meeting rule to the header's right edge. */
.activity-meeting-topics>.activity-row:hover::before{inset:0 -12px 0 -8px}
@media(max-width:680px){.activity-meeting-topics>.activity-row:hover::before{inset:0 -8px 0 -4px}}
/* Meeting editor: pending mentions and the Project overview lead the form at full width. */
.meeting-editor-page>form{display:flex;flex-direction:column}
.meeting-editor-page>form>.meeting-save-actions{margin-top:auto}
.meeting-editor-page .meeting-project-overview{margin:0 0 16px}
/* Topic removal sits under the body, clear of every input. */
.meeting-topic-actions{position:static;display:flex;justify-content:flex-end;margin-top:-8px}
.meeting-topic-editor .meeting-remove-topic{position:static}
.meeting-remove-topic:disabled{display:none}
/* Selected people wrap onto further lines, so every name stays visible. */
.combobox-label-row{flex-wrap:wrap;align-items:flex-start;height:auto;min-height:20px}
.combobox-label-row>.combobox-chips,.combobox-label-row[data-chip-overflow]>.combobox-chips{flex-wrap:wrap;row-gap:4px;margin-block:0 4px;overflow:visible;padding-right:0;-webkit-mask-image:none;mask-image:none}
.combobox-label-row>label{line-height:20px}
/* Open dropdowns flip their chevron in place. */
.select-combobox.is-open .select-combobox-chevron{margin:0;transform:rotate(180deg)}
.combobox.is-open:has(>.combobox-clear[hidden])::after{transform:rotate(180deg)}
/* Kanban: the new-entry action is a square icon target like its neighbour. */
.work-item-board-card .work-item-board-activity{width:24px;height:24px;gap:0}
@media(hover:none){.work-item-board-card .work-item-board-activity{width:36px;height:36px}}
/* Field labels are only as wide as their text. */
.form-row>label{width:fit-content;max-width:100%}
/* Notifications open beside the sidebar instead of covering it. */
@media(min-width:841px){
 .notification-bell--sidebar .notification-popover{bottom:0;left:calc(100% + 16px)}
}
/* Mobile project work rows: without the Kasni word, the pencil follows the date closely. */
@media(max-width:680px){
 .project-tab-content .work-item-row>.work-item-date,.project-work-items-card .work-item-row>.work-item-date{min-width:116px}
}
/* A day band keeps its padding when a meeting follows it directly. */
.activity-day>.date-separator.date-separator:has(+.activity-day-entries>.activity-meeting:first-child){padding-bottom:6px;border-radius:var(--radius)}
/* Meeting topics: fields always take the left half; Project context fills the right half once chosen. */
@media(min-width:1101px){
 .meeting-editor-page .meeting-topic-columns,.meeting-editor-page .meeting-topic-columns:not(:has(.meeting-project-context-content)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
.meeting-project-recent-entry .status-transition{margin-block:4px}
/* Godišnji: every day is a framed cell on a recessed grid; neighbouring-month days have no fill and stay muted. */
:root{--cal-bg:var(--surface-2);--cal-cell:var(--surface);--cal-off:color-mix(in srgb,var(--danger) 4%,var(--surface))}
html[data-theme=dark]{--cal-bg:var(--bg);--cal-off:color-mix(in srgb,var(--danger) 7%,var(--surface))}
@media(prefers-color-scheme:dark){html[data-theme=system]{--cal-bg:var(--bg);--cal-off:color-mix(in srgb,var(--danger) 7%,var(--surface))}}
@media(min-width:901px){
 .main-content-calendar .absence-weekdays,.main-content-calendar .absence-calendar{gap:6px;padding-inline:12px;background:var(--cal-bg)}
 .main-content-calendar .absence-weekdays{padding-block:6px 0;border-bottom:0}
 .main-content-calendar .absence-calendar{padding-block:6px 12px}
 .absence-week{gap:6px;border-bottom:0}
 .absence-weekdays span,.absence-weekdays span:first-child,.absence-weekdays span:last-child{padding:4px 10px}
 html .absence-calendar .absence-week>.absence-day{--cell-bg:var(--cal-cell);padding:6px 10px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--cell-bg);background-image:none}
 html .absence-calendar .absence-week>.absence-day.is-nonworking{--cell-bg:var(--cal-off)}
 html .absence-calendar .absence-week>.absence-day:hover{background:var(--cell-bg)}
 html .absence-calendar .absence-week>.absence-day[data-day-dialog]:hover{border-color:var(--border-strong)}
 html .absence-calendar .absence-week>.absence-day.is-today{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}
 html .absence-calendar .absence-week>.absence-day.is-outside{--cell-bg:transparent;background:transparent}
 .absence-day.is-nonworking:not(.is-today):not(.is-outside) .absence-day-date time{color:var(--status-rose)}
}
.absence-day.is-outside .absence-person,.absence-day.is-outside .absence-holiday{color:var(--text-3)}
.absence-day.is-outside .avatar,.absence-day.is-outside .status-icon{opacity:.55}
/* Absence type: three equal segments with permanent dividers; the radio dot alone marks the choice. */
@media(min-width:681px){.absence-meta-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
.type-chips.type-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:100%;height:var(--control-h);padding:0;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--border);overflow:hidden}
.type-chips.type-chips label{justify-content:center;gap:8px;min-width:0;height:100%;min-height:0;padding:0 10px;border:0;border-radius:0;background:var(--surface);box-shadow:none;color:var(--text);font-weight:500;white-space:nowrap}
.type-chips.type-chips input:checked+label{border:0;background:var(--surface);box-shadow:none;font-weight:500}
.type-chips.type-chips label:hover{background:color-mix(in srgb,var(--text) 4%,var(--surface))}
.type-chips.type-chips input:focus-visible+label{outline:2px solid var(--focus);outline-offset:-2px}
.type-chips input[type=radio]+label::before{box-sizing:border-box;width:14px;height:14px;border:1px solid var(--control-border);background:var(--surface)}
.type-chips input[type=radio]:checked+label::before{border:1px solid var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface)}
@media(max-width:680px){.type-chips.type-chips{height:40px}.type-chips.type-chips label{font-size:var(--fs-12);padding:0 4px}}
/* Zaposlenici: one column read top to bottom. */
.employee-directory{grid-template-columns:minmax(0,560px)}
.employee-card-grid{grid-template-columns:minmax(0,1fr)}
/* Notification popover: clearer header, inset rows, tinted unread rows and a quiet footer link. */
.notification-popover{width:min(380px,calc(100vw - 24px));border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog)}
.notification-popover-head{min-height:44px;padding:6px 8px 6px 16px}
.notification-popover-head strong{font-size:var(--fs-14);font-weight:600}
.notification-popover .notification-read-all{min-height:28px;padding:0 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-13);cursor:pointer}
.notification-popover .notification-read-all:hover{background:var(--hover);color:var(--text)}
.notification-popover-list{max-height:min(480px,calc(100vh - 160px));padding:4px}
.notification-popover .notification-item+.notification-item{border-top:0;margin-top:2px}
.notification-popover .notification-row{gap:10px;padding:10px 12px;border-radius:var(--radius)}
.notification-popover .notification-item.is-unread .notification-row{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.notification-popover .notification-item.is-unread .notification-row:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.notification-popover .notification-item.is-unread .notification-message strong{font-weight:600}
.notification-popover .notification-time{color:var(--text-3)}
.notification-popover .notification-empty{padding:32px 16px}
.notification-popover-footer.notification-popover-footer{padding:10px 16px;text-align:right;color:var(--text);font-weight:500}
.notification-popover-footer::after{content:" →"}
/* Meeting topic: a quiet hint holds the right half until a Project is chosen. */
.meeting-topic-context-hint{margin:0;padding:2px 0 0 20px;border-left:1px solid var(--border);color:var(--text-3);font-size:var(--fs-13)}
@media(min-width:1101px){.meeting-topic-columns>.meeting-topic-context-hint{grid-column:2;grid-row:1;align-self:stretch}}
@media(max-width:1100px){.meeting-topic-context-hint{display:none}}
/* Narrow feeds on pointer devices hide the row repeat action, so the menu keeps Ponovi unos. */
@container activity-feed (max-width:640px){.activity-actions .activity-more-menu .activity-menu-repeat{display:flex}}
/* History: a markup-only rich-text change is named instead of showing two identical lines. */
.change-note{margin:0;color:var(--muted);font-size:var(--fs-13)}
/* Project cards: newest Activity date with a hover/focus preview of that entry. */
.project-card-activity .project-card-last-activity{position:relative;z-index:2;display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;min-height:20px;margin:0;padding:0 4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);font:inherit;font-size:var(--fs-12);line-height:20px;white-space:nowrap;cursor:default}
.project-card-activity button.project-card-last-activity:hover,.project-card-activity button.project-card-last-activity[aria-expanded=true]{background:var(--hover);color:var(--text)}
.project-card-activity button.project-card-last-activity:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.project-card-last-activity .icon{width:13px;height:13px;flex-basis:13px}
.project-card-last-activity.is-empty{padding-left:0;opacity:.8}
.project-activity-preview{position:fixed;inset:auto;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:0;padding:10px 14px 4px;overflow:auto;overscroll-behavior:contain;white-space:normal;border:1px solid var(--float-border);border-radius:var(--radius-md);background:var(--float);color:var(--text);box-shadow:var(--shadow-dialog)}
.project-activity-preview-title{margin:0 0 2px;color:var(--text-3);font-size:var(--fs-12);font-weight:500}
.project-activity-preview .activity-row{grid-template-columns:minmax(0,1fr);padding:4px 0 8px;border-bottom:0}
.project-activity-preview .activity-rich-text{display:block;max-width:none;max-height:none;-webkit-line-clamp:unset}
.project-activity-preview .activity-entry-footer .activity-time-actions{position:static;margin-left:auto}
.project-activity-preview .expand-control{display:none}
.project-card-activity{flex-direction:column;align-items:flex-start;gap:0}
.project-card-activity .project-card-last-activity{margin-left:-4px}
.project-card-activity .project-card-last-activity.is-empty{margin-left:0}
.project-group-empty{margin:0 0 4px;color:var(--text-3);font-size:var(--fs-13)}
.project-order-views{margin-left:auto}
@media(max-width:680px){.project-view-row.list-scope-row{justify-content:flex-end}.project-order-views .work-item-view{min-height:36px}}
