:root{--paper:#f4f3ef;--surface:#fdfcf9;--surface-2:#f9f8f4;--surface-3:#eeece6;--ink:#111b17;--ink-2:#414a46;--muted:#68716d;--border:#d9dedb;--border-2:#c3c9c6;--gold:#c9a35c;--gold-ink:#7c550f;--gold-soft:#f9edd5;--gold-line:#e6d3a8;--emerald:#2e8f7a;--emerald-ink:#00654f;--emerald-soft:#dbf5ec;--emerald-line:#b4e3d3;--danger-ink:#ac3031;--danger-soft:#ffe6e3;--danger-line:#f6c9c4;--on-gold:#111b17;--on-ink:#fdfcf9;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Poppins","Inter",system-ui,sans-serif;--font-script:"Pacifico","Brush Script MT",cursive;--text-xs:calc(11.5rem / 14);--text-sm:calc(12.5rem / 14);--text-base:1rem;--text-md:calc(15rem / 14);--text-lg:calc(18rem / 14);--text-xl:calc(22rem / 14);--text-2xl:2rem;--text-display:clamp(26px,3.2vw,38px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--rail-w:244px;--topbar-h:56px;--content-max:2160px;--gutter:clamp(20px,2.4vw,56px);--elev-card:0 1px 2px rgba(17,27,23,0.04);--elev-pop:0 12px 32px rgba(17,27,23,0.10),0 2px 6px rgba(17,27,23,0.05);--ease-ink:cubic-bezier(0.16,1,0.3,1);--dur-quick:150ms;--dur-base:240ms}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}body,html{overflow-x:clip}html{font-size:clamp(14px,.35vw + 9.1px,18px)}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{text-decoration:none}a,button{color:inherit}button{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0}::selection{background:var(--emerald-soft);color:var(--ink)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}svg.i.lg{width:18px;height:18px}.auth{position:relative;overflow:hidden;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper)}#warp{position:absolute;inset:0;width:100%;height:100%;display:block}.auth:after,.auth:before{content:"";position:absolute;border-radius:50%;filter:blur(64px);pointer-events:none}.auth:before{width:40%;aspect-ratio:1;top:-10%;right:-8%;background:var(--gold);opacity:.26}.auth:after{width:36%;aspect-ratio:1;bottom:-14%;left:-6%;background:var(--emerald);opacity:.2}.auth.has-gl:after,.auth.has-gl:before{display:none}.auth-form-side{position:relative;z-index:1;display:grid;place-items:center;padding:var(--space-8) var(--space-6)}.auth-form{width:min(400px,100%);padding:var(--space-8);border:1px solid rgba(17,27,23,.1);border-radius:var(--radius-lg);background:rgba(253,252,249,.84);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(17,27,23,.08),0 1px 2px rgba(17,27,23,.04)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-8)}.auth-eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.auth h1{font-size:var(--text-2xl);font-weight:600;line-height:1.15;letter-spacing:-.02em}.auth h1,.auth-note{margin-top:var(--space-3)}.auth-note{color:var(--ink-2);font-size:var(--text-md)}.auth-legal{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--muted)}.auth-art{position:relative;z-index:1;display:grid;align-content:end;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-12)}.auth-quote{font-family:var(--font-display);font-weight:600;font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-.02em;max-width:15ch}.auth-quote em{font-family:var(--font-script);font-style:normal;color:var(--gold-ink)}.auth-sig{font-size:var(--text-sm);color:var(--ink-2)}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100svh}.rail{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100svh;display:flex;flex-direction:column;background:var(--surface-2);border-right:1px solid var(--border);padding:var(--space-4) var(--space-3)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px var(--space-4)}.brand-mark{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--ink);color:var(--on-ink);font-weight:700;font-size:13px}.brand-mark,.brand-name{font-family:var(--font-display)}.brand-name{font-weight:600;font-size:var(--text-md);letter-spacing:-.01em}.brand-name .dot{color:var(--gold-ink)}.org{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;margin-bottom:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--dur-quick) var(--ease-ink),background-color var(--dur-quick) var(--ease-ink)}.org:hover{background:var(--surface-3)}.org:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.org-avatar{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:var(--emerald-soft);color:var(--emerald-ink);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.org-text{min-width:0;flex:1 1}.org-name{display:block;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-role{display:block;font-size:var(--text-xs);color:var(--muted)}.nav-group+.nav-group{margin-top:var(--space-5)}.nav-key{padding:0 10px var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.nav-link{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--ink-2);font-size:var(--text-base);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-ink),color var(--dur-quick) var(--ease-ink)}.nav-link+.nav-link{margin-top:2px}.nav-link.is-hover,.nav-link:hover{background:var(--surface-3);color:var(--ink)}.nav-link:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-1px}.nav-link[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:600;border-color:var(--border);box-shadow:var(--elev-card)}.nav-link[aria-current=page] .i{color:var(--emerald-ink)}.nav-count{margin-left:auto;padding:1px 7px;border-radius:var(--radius-pill);background:var(--gold-soft);color:var(--gold-ink);font-size:var(--text-xs);font-weight:600}.rail-foot{margin-top:auto;padding-top:var(--space-4)}.user{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;cursor:pointer;text-align:left}.user:hover{background:var(--surface-3)}.user:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-1px}.user-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--on-ink);font-size:var(--text-xs);font-weight:600}.user-text{min-width:0;flex:1 1}.user-name{font-size:var(--text-sm);font-weight:600}.user-mail,.user-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mail{font-size:var(--text-xs);color:var(--muted)}.menu{position:absolute;z-index:40;min-width:208px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-pop)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);text-align:left;cursor:pointer}.menu-item:hover{background:var(--surface-3)}.menu-item:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-2px}.menu-sep{height:1px;background:var(--border);margin:6px 4px}.col{display:flex;flex-direction:column;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--gutter);background:rgba(244,243,239,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:6px;font-size:var(--text-sm);color:var(--muted);min-width:0}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--border-2)}.crumbs .here{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{margin-left:auto;display:flex;align-items:center;gap:8px;width:min(280px,32vw);padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-ink)}.search:hover{border-color:var(--border-2)}.search:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.search .kbd{margin-left:auto;padding:1px 6px;border-radius:5px;border:1px solid var(--border);background:var(--surface-2);font-size:var(--text-xs);font-family:var(--font-ui);color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:2px}.canvas{flex:1 1;padding:var(--space-8) var(--gutter) var(--space-16)}.canvas-inner{max-width:var(--content-max);margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.page-head h1{font-size:var(--text-display);font-weight:600;line-height:1.12;letter-spacing:-.025em}.page-head h1 .script{font-family:var(--font-script);font-weight:400;font-size:.92em;color:var(--gold-ink)}.page-sub{margin-top:6px;color:var(--ink-2);font-size:var(--text-md);max-width:62ch}.section{margin-top:var(--space-10)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.section-head h2{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.section-head .hint{font-size:var(--text-sm);color:var(--muted)}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-card)}.card-pad{padding:var(--space-5)}.rail-scrim,.tabbar{display:none}.ws-menu-item[aria-current=true]{background:var(--surface-3);font-weight:600}.ws-menu-item .role-tag{margin-left:auto}.rail-owner{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.rail-toggle-row{padding:0 0 var(--space-2)}.rail-toggle{width:100%;justify-content:flex-start}.rail-toggle .i{transition:transform var(--dur-base) var(--ease-ink)}.search-wrap{position:relative;margin-left:auto;width:min(280px,32vw)}.search-wrap .search{width:100%;cursor:text}.search-wrap:focus-within .search{border-color:var(--border-2)}.search-input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit}.search-input:focus{outline:none}.search-input::placeholder{color:var(--muted)}.search-results{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(420px,92vw);max-height:60vh;overflow-y:auto;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-pop)}.search-group+.search-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.search-group-label{padding:4px 8px;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.search-hit{display:flex;align-items:baseline;gap:var(--space-3);padding:7px 8px;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none}.search-hit:hover{background:var(--surface-3)}.search-hit:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-2px}.search-hit-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-hit-meta{flex:none}.search-hit-meta,.search-note{font-size:var(--text-sm);color:var(--muted)}.search-note{padding:8px}@media (max-width:860px){.search-wrap{width:auto;flex:1 1;min-width:0}.search-results{width:min(420px,calc(100vw - 2 * var(--gutter)))}}.skel{display:block;background:var(--border);border-radius:6px}.skel-col{flex:1 1;min-width:0;width:100%}.skel-eyebrow{height:calc(var(--text-xs) * 1.5);width:64px;margin-bottom:8px}.skel-h1{height:calc(var(--text-display) * 1.12);width:min(420px,60%)}.skel-sub{height:calc(var(--text-md) * 1.5);width:min(560px,85%);margin-top:6px}.skel-badge{height:26px;width:88px;border-radius:var(--radius-pill)}.skel-key{height:calc(var(--text-sm) * 1.5);width:45%}.skel-value{height:calc(var(--text-xl) * 1.1);width:55%}.skel-note{height:calc(var(--text-sm) * 1.5);width:85%}.skel-h2{height:calc(var(--text-lg) * 1.5);width:160px}.skel-hint{height:calc(var(--text-sm) * 1.5);width:96px}.skel-chip{height:30px;width:84px;border-radius:var(--radius-pill)}.skel-seg{margin-left:auto;height:36px;width:72px;border-radius:var(--radius-sm)}.skel-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:-moz-fit-content;width:fit-content;max-width:100%}.skel-tab{height:calc(var(--text-base) * 1.5 + 16px);width:104px;border-radius:6px}.skel-row,.skel-thead{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 20px;grid-gap:var(--space-4);gap:var(--space-4);align-items:center}.skel-thead{padding:10px var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0}.skel-thead .skel{height:calc(var(--text-xs) * 1.5)}.skel-row{padding:13px var(--space-4);border-bottom:1px solid var(--border)}.skel-row:last-child{border-bottom:0}.skel-row .skel{height:calc(var(--text-base) * 1.5)}.skel-stack{display:grid;grid-gap:2px;gap:2px}.skel-stack .skel-cell-sub{height:calc(var(--text-sm) * 1.5)}.skel-feed{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) 0}.skel-feed+.skel-feed{border-top:1px solid var(--border)}.skel-feed .skel-dot{width:26px;height:26px;border-radius:50%}.skel-feed .skel-stack .skel{height:calc(var(--text-base) * 1.5)}.skel-feed .skel-stack .skel-cell-sub{height:calc(var(--text-sm) * 1.5)}.label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--ink-2);margin-bottom:6px}.field{width:100%;padding:10px 12px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-feature-settings:normal;font-variant-numeric:normal;transition:border-color var(--dur-quick) var(--ease-ink),box-shadow var(--dur-quick) var(--ease-ink)}.field::placeholder{color:var(--muted)}.field:hover{border-color:var(--muted)}.field:focus{outline:none;border-color:var(--emerald-ink);box-shadow:0 0 0 3px var(--emerald-soft)}.field:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:1px}.field:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;min-height:38px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--gold);color:var(--on-gold);font-size:var(--text-base);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-ink),transform var(--dur-quick) var(--ease-ink),box-shadow var(--dur-quick) var(--ease-ink)}.btn.is-hover,.btn:hover{background:#d5b273}.btn.is-focus,.btn:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.btn.is-active,.btn:active{transform:translateY(1px)}.btn:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed;transform:none}.btn[data-state=loading]{color:transparent;position:relative;pointer-events:none}.btn[data-state=loading]:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;border:2px solid rgba(17,27,23,.28);border-top:2px solid var(--on-gold);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn-block{width:100%}.btn-sm{padding:6px 12px;min-height:32px;font-size:var(--text-sm)}.btn-quiet{background:var(--surface);color:var(--ink);border-color:var(--border-2)}.btn-quiet.is-hover,.btn-quiet:hover{background:var(--surface-3)}.btn-plain{background:transparent;color:var(--ink-2);border-color:transparent;font-weight:500}.btn-plain.is-hover,.btn-plain:hover{background:var(--surface-3);color:var(--ink)}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);cursor:pointer;position:relative;transition:background-color var(--dur-quick) var(--ease-ink),color var(--dur-quick) var(--ease-ink)}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.icon-btn .dot-flag{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--gold-ink);border:1.5px solid var(--surface)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--ink-2);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted)}.badge.ok{color:var(--emerald-ink);background:var(--emerald-soft);border-color:var(--emerald-line)}.badge.ok:before{background:var(--emerald-ink)}.badge.due{color:var(--gold-ink);background:var(--gold-soft);border-color:var(--gold-line)}.badge.due:before{background:var(--gold-ink)}.badge.late:before{background:var(--danger-ink)}.badge.flat:before{display:none}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-8)}.kpi{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.kpi-top{display:flex;align-items:center;gap:8px;color:var(--muted)}.kpi-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.kpi.accent-gold .kpi-icon{background:var(--gold-soft);color:var(--gold-ink)}.kpi.accent-green .kpi-icon{background:var(--emerald-soft);color:var(--emerald-ink)}.kpi-key{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.kpi-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.1;letter-spacing:-.02em}.kpi-note{font-size:var(--text-sm);color:var(--muted)}.todo-card{border-color:var(--gold-line);background:linear-gradient(180deg,var(--gold-soft) 0,var(--surface) 46%)}.todo-list{list-style:none;padding:0;margin-top:var(--space-3)}.todo-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) 0}.todo-row+.todo-row{border-top:1px solid var(--border)}.todo-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--gold-ink)}.todo-title{font-weight:600;font-size:var(--text-base)}.todo-meta{font-size:var(--text-sm);color:var(--muted);margin-top:1px}.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.tablewrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--text-base)}table.data th{text-align:left;font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}table.data th:first-child{border-top-left-radius:var(--radius-md)}table.data th:last-child{border-top-right-radius:var(--radius-md)}table.data td{padding:13px var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tbody tr{cursor:pointer;transition:background-color var(--dur-quick) var(--ease-ink)}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr:focus-within{background:var(--surface-2)}.cell-title{display:flex;align-items:center;gap:10px}.cell-title a{font-weight:600;white-space:nowrap}.cell-title a:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px;border-radius:4px}.cell-sub{font-size:var(--text-sm);color:var(--muted)}.nowrap{white-space:nowrap}.pips{display:inline-flex;gap:4px;vertical-align:middle}.pip{width:7px;height:7px;border-radius:50%;background:var(--border-2)}.pip.done{background:var(--emerald)}.pip.current{background:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}.progress-cell{display:flex;align-items:center;gap:10px;white-space:nowrap}.progress-num{font-size:var(--text-sm);color:var(--muted);font-weight:500}.feed{list-style:none;padding:0}.feed li{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) 0}.feed li+li{border-top:1px solid var(--border)}.feed-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.feed-dot.ok{background:var(--emerald-soft);color:var(--emerald-ink)}.feed-text{font-size:var(--text-base);color:var(--ink-2)}.feed-text strong{color:var(--ink);font-weight:600}.feed-date{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:2px}.offer{border-color:var(--emerald-line)}.offer-key{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald-ink)}.offer h3{margin-top:var(--space-2);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.offer p{margin-top:6px;font-size:var(--text-base);color:var(--ink-2)}.offer .btn{margin-top:var(--space-4)}.tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-2);font-size:var(--text-base);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-ink),color var(--dur-quick) var(--ease-ink)}.tab:hover{color:var(--ink)}.tab:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:1px}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:600;border-color:var(--border);box-shadow:var(--elev-card)}.tab .tab-n{font-size:var(--text-xs);color:var(--muted);font-weight:600}.milestones{list-style:none;padding:0}.milestones li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4) 0;align-items:start}.milestones li+li{border-top:1px solid var(--border)}.ms-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-top:-2px;border:1.5px solid var(--border-2);background:var(--surface);color:var(--muted)}.done .ms-mark{background:var(--emerald-soft);border-color:var(--emerald-line);color:var(--emerald-ink)}.current .ms-mark{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold-ink)}.ms-title{font-size:var(--text-base);font-weight:500;color:var(--ink-2)}.current .ms-title{font-weight:600;color:var(--ink)}.ms-note{margin-top:3px;max-width:56ch}.ms-date,.ms-note{font-size:var(--text-sm);color:var(--muted)}.ms-date{font-weight:500;white-space:nowrap}.current .ms-date{color:var(--gold-ink)}.doc-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.doc-group-head{display:flex;align-items:center;gap:8px;padding:0 0 var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.doc-group-head .n{margin-left:auto;color:var(--ink-2)}.doc{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);width:100%;padding:var(--space-3);text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-ink),background-color var(--dur-quick) var(--ease-ink),transform var(--dur-quick) var(--ease-ink)}.doc+.doc{margin-top:var(--space-2)}.doc.is-hover,.doc:hover{border-color:var(--border-2);background:var(--surface-2)}.doc.is-focus,.doc:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.doc.is-active,.doc:active{transform:translateY(1px)}.doc-mark{width:34px;height:42px;border-radius:5px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.doc.needs .doc-mark{border-color:var(--gold-line);background:var(--gold-soft);color:var(--gold-ink)}.doc-title{display:block;font-size:var(--text-base);font-weight:600;overflow-wrap:anywhere}.doc-meta{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--muted)}.doc-foot{display:flex;align-items:center;gap:8px;margin-top:var(--space-2);flex-wrap:wrap}.empty{border:1px dashed var(--border-2);border-radius:var(--radius-md);padding:var(--space-8) var(--space-5);text-align:center;color:var(--muted);font-size:var(--text-base)}.empty strong{display:block;color:var(--ink-2);font-weight:600;margin-bottom:4px}.thread{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);max-height:52vh;overflow-y:auto}.msg{max-width:74%}.msg p{padding:10px 13px;border-radius:12px;font-size:var(--text-base)}.msg.them p{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.msg.me{margin-left:auto}.msg.me p{background:var(--emerald-soft);border:1px solid var(--emerald-line);border-bottom-right-radius:4px}.msg .who{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--muted)}.msg.me .who{text-align:right}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);box-shadow:var(--elev-pop);font-size:var(--text-base);font-weight:500}.toast .i{color:var(--emerald-ink)}.persona-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-4)}.persona{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color var(--dur-quick) var(--ease-ink),background-color var(--dur-quick) var(--ease-ink)}.persona:hover{background:var(--surface-3)}.persona:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.persona .user-avatar{width:22px;height:22px;font-size:9.5px}.persona .sub{color:var(--muted);font-weight:400}.switch{position:relative;display:inline-flex;align-items:center;width:34px;height:20px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface-3);cursor:pointer;padding:0;transition:background-color var(--dur-quick) var(--ease-ink)}.switch:after{content:"";position:absolute;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(17,27,23,.2);transition:transform var(--dur-quick) var(--ease-ink)}.switch[aria-checked=true]{background:var(--emerald-ink);border-color:var(--emerald-ink)}.switch[aria-checked=true]:after{transform:translateX(14px)}.switch:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.switch:disabled{opacity:.45;cursor:not-allowed}.switch-row{gap:8px;font-size:var(--text-sm);white-space:nowrap}.role-tag,.switch-row{display:inline-flex;align-items:center;color:var(--ink-2)}.role-tag{padding:2px 8px;border-radius:5px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-3)}.role-tag.owner{background:var(--ink);color:var(--on-ink)}.role-tag.admin{background:var(--gold-soft);color:var(--gold-ink)}.role-tag.figmenta{background:var(--emerald-soft);color:var(--emerald-ink)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.member{display:flex;align-items:center;gap:12px;padding:var(--space-3)}.member .user-text .user-name{font-size:var(--text-base)}.member .user-avatar.agent{background:var(--gold-soft);color:var(--gold-ink)}.member .user-avatar.client{background:var(--emerald-soft);color:var(--emerald-ink)}.sow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.sow-list{margin:8px 0 0 18px;padding:0;color:var(--ink-2);font-size:var(--text-base)}.sow-list li+li{margin-top:4px}.kv{display:grid;grid-template-columns:130px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;font-size:var(--text-base)}.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--ink)}.alert-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4)}.alert-row+.alert-row{border-top:1px solid var(--border)}.alert-row .todo-icon.late{color:var(--danger-ink);border-color:var(--danger-line);background:var(--danger-soft)}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.chips,.toolbar{display:flex;flex-wrap:wrap}.chip,.chips{gap:6px}.chip{display:inline-flex;align-items:center;padding:6px 11px;min-height:32px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-sm);font-weight:500;color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-ink),border-color var(--dur-quick) var(--ease-ink),color var(--dur-quick) var(--ease-ink)}.chip:hover{background:var(--surface-3);color:var(--ink)}.chip:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.chip .n{font-size:var(--text-xs);opacity:.7}.seg{margin-left:auto;display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.seg button{display:inline-grid;place-items:center;width:32px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.seg button:hover{color:var(--ink)}.seg button:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:1px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--elev-card)}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.pcard{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);text-decoration:none;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-ink),transform var(--dur-quick) var(--ease-ink)}.pcard:hover{border-color:var(--border-2);transform:translateY(-1px)}.pcard:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.pcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.pcard h3{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.pcard p{color:var(--ink-2)}.pcard p,.pcard-foot{font-size:var(--text-sm)}.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--muted)}.pcard.dim{opacity:.72}.pcard.dim:hover{opacity:1}.badge.paused{color:var(--gold-ink);background:var(--gold-soft);border-color:var(--gold-line)}.badge.paused:before{background:var(--gold-ink)}.badge.completed{color:var(--emerald-ink);background:var(--surface);border-color:var(--emerald-line)}.badge.completed:before{background:var(--emerald-ink)}.badge.terminated{color:var(--danger-ink);background:var(--surface);border-color:var(--danger-line)}.badge.terminated:before{background:var(--danger-ink)}.badge.archived{color:var(--muted);background:var(--surface-2);border-color:var(--border)}.badge.archived:before{background:var(--border-2)}.badge.draft{color:var(--ink-2);background:var(--surface-2);border-style:dashed}.badge.draft:before{display:none}select.field{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;width:auto;min-width:150px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2368716d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}select.field.sm{padding:6px 28px 6px 10px;font-size:var(--text-sm);min-width:130px}.acc{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-card)}.acc+.acc{margin-top:var(--space-3)}.acc summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);cursor:pointer;border-radius:var(--radius-md)}.acc summary::-webkit-details-marker{display:none}.acc summary:hover{background:var(--surface-2)}.acc summary:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-2px}.acc[open] summary{border-bottom:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0}.acc-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.acc-sub{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.acc-flags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.acc-chev{color:var(--muted);transition:transform var(--dur-base) var(--ease-ink)}.acc[open] .acc-chev{transform:rotate(90deg)}.acc-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-ink)}.acc-wrap>.acc-inner{min-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity var(--dur-base) var(--ease-ink),transform var(--dur-base) var(--ease-ink)}.acc-wrap.is-open{grid-template-rows:1fr}.acc-wrap.is-open>.acc-inner{opacity:1;transform:none}.acc-body{padding:var(--space-5);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5)}.acc-block h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}.acc-block+.acc-block{margin-top:var(--space-5)}.status-note{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2)}.status-note.paused{border-color:var(--gold-line);background:var(--gold-soft)}.status-note.terminated{border-color:var(--danger-line);background:var(--danger-soft)}.status-note.active,.status-note.completed{border-color:var(--emerald-line);background:var(--emerald-soft)}.status-note .why{font-size:var(--text-base);color:var(--ink)}.status-note .since{font-size:var(--text-sm);color:var(--ink-2);margin-top:2px}.ext{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:inherit;text-decoration:none;transition:border-color var(--dur-quick) var(--ease-ink),background-color var(--dur-quick) var(--ease-ink)}.ext+.ext{margin-top:var(--space-2)}.ext:hover{border-color:var(--border-2);background:var(--surface-2)}.ext:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.ext .doc-mark{width:34px;height:40px}.ext.late .doc-mark{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger-ink)}.ext.due .doc-mark{border-color:var(--gold-line);background:var(--gold-soft);color:var(--gold-ink)}.ext-open{font-size:var(--text-sm);font-weight:500;color:var(--emerald-ink);white-space:nowrap}.ext-action,.ext-open{display:inline-flex;align-items:center;gap:6px}.ext-action{color:inherit;text-decoration:none}.ext-action+.ext-action{margin-left:var(--space-2)}.ext-action:hover{text-decoration:underline}.ext-action:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px;border-radius:var(--radius-sm)}.badge.late{color:var(--danger-ink);background:var(--danger-soft);border-color:var(--danger-line)}.acc.phase summary{grid-template-columns:24px minmax(0,1fr) auto auto;padding:var(--space-3) var(--space-4)}.acc.phase .acc-title{font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;color:var(--ink-2)}.acc.phase.current .acc-title{font-weight:600;color:var(--ink)}.acc.phase.todo .acc-title{color:var(--muted)}.acc.phase .ms-mark{margin-top:0}.acc.phase .ms-date{justify-self:end}.acc.phase .acc-body{display:block;padding:var(--space-4)}.acc.phase .ms-note{max-width:none;font-size:var(--text-base);color:var(--ink-2)}.phase-deliv{margin-top:var(--space-3)}.phase-deliv .doc{margin:0}.phase-none{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted)}.avatars{display:flex;align-items:center;padding-left:6px}.avatars .user-avatar{width:30px;height:30px;margin-left:-8px;border:2px solid var(--surface);font-size:10.5px;position:relative}.avatars .user-avatar:focus-visible,.avatars .user-avatar:hover{z-index:1;outline:2px solid var(--emerald-ink);outline-offset:1px}.kpi .avatars{min-height:30px}.acc.mbr summary{grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr) auto}.acc.mbr .cell-title{min-width:0}.acc.mbr .grants{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.acc.mbr.suspended summary{opacity:.72}.acc.mbr .acc-body{display:block}.grant-row{gap:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.action-row,.grant-row{display:flex;flex-wrap:wrap}.action-row{gap:var(--space-2);padding-top:var(--space-4)}.action-row .hint{font-size:var(--text-sm);color:var(--muted);align-self:center;margin-left:auto}.btn-danger{background:var(--surface);color:var(--danger-ink);border-color:var(--danger-line)}.btn-danger:hover{background:var(--danger-soft)}.toast .btn{margin-left:4px}.confirm{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:var(--space-4)}.confirm-box{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-pop);padding:var(--space-6);transform:translateY(8px);opacity:0;transition:transform var(--dur-base) var(--ease-ink),opacity var(--dur-base) var(--ease-ink)}.confirm.is-open .confirm-box{transform:none;opacity:1}.confirm-box h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.confirm-box p{margin-top:8px;color:var(--ink-2);font-size:var(--text-base)}.confirm-box .row{display:flex;justify-content:flex-end;gap:8px;margin-top:var(--space-5)}.btn-danger-solid{background:var(--danger-ink);color:var(--on-ink);border-color:var(--danger-ink)}.btn-danger-solid:hover{background:#8f2526}.kpi .avatars .user-avatar{width:40px;height:40px;margin-left:-10px;font-size:12px;cursor:default}.kpi .avatars{padding-left:10px}.avatar-tip{position:fixed;z-index:80;width:240px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--elev-pop);display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--dur-quick) var(--ease-ink),transform var(--dur-quick) var(--ease-ink)}.avatar-tip.is-open{opacity:1;transform:none}.avatar-tip .user-avatar{width:72px;height:72px;font-size:var(--text-lg)}.avatar-tip b{display:block;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.avatar-tip span{display:block;font-size:var(--text-sm);color:var(--ink-2);margin-top:2px}.avatar-tip small{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:4px}.editable input,.editable select,.editable textarea{width:100%;font:inherit;color:inherit;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);padding:2px 6px}.acc.phase .ms-note,.offer p,.sow-list,.status-note .why{max-width:68ch}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.doc-grid .doc{min-width:0;margin:0}.duo{margin-top:var(--space-8);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.duo.solo{grid-template-columns:minmax(0,1fr)}.duo>.needs,.duo>.offers{margin-top:0}.needs{margin-top:var(--space-8);border-color:var(--gold-line);background:linear-gradient(180deg,var(--gold-soft) 0,var(--surface) 46%);padding:var(--space-4) var(--space-5) var(--space-2)}.needs-head{display:flex;align-items:baseline;gap:var(--space-3)}.needs-head h2{font-size:var(--text-lg);letter-spacing:-.01em}.needs-head .n{font-family:var(--font-display);font-weight:600;color:var(--gold-ink)}.needs-list{list-style:none;padding:0;margin-top:var(--space-2)}.todo-meta .late{color:var(--danger-ink);font-weight:500}.offers{display:flex;flex-direction:column;border-color:var(--emerald-line);background:linear-gradient(180deg,var(--emerald-soft) 0,var(--surface) 46%);padding:var(--space-4) var(--space-5) var(--space-3)}.offers-head{display:flex;align-items:baseline;gap:var(--space-3)}.offers-head h2{font-size:var(--text-lg);letter-spacing:-.01em}.offers-head .n{font-family:var(--font-display);font-weight:600;color:var(--emerald-ink)}.offer-list{list-style:none;padding:0;margin-top:var(--space-2)}.offer-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) 0}.offer-row+.offer-row{border-top:1px solid var(--border)}.offer-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--emerald-ink)}.offer-title{font-weight:600;font-size:var(--text-base)}.offer-meta{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:1px}.offer-meta .soon{color:var(--gold-ink);font-weight:500}.offer-meta .late{color:var(--danger-ink);font-weight:500}.offers-empty{display:flex;align-items:center;gap:var(--space-4) var(--space-5);flex-wrap:wrap;padding:var(--space-3) 0 var(--space-1)}.offers-empty p{flex:1 1 280px;font-size:var(--text-base);color:var(--ink-2);max-width:52ch}.offers-foot{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.offers-foot .why{font-size:var(--text-sm);color:var(--muted)}.btn-ok{background:var(--emerald-soft);color:var(--emerald-ink);border-color:var(--emerald-line)}.btn-ok:hover{background:var(--emerald-line)}.offer-ask .label{margin-top:var(--space-4)}.offer-ask textarea.field{min-height:96px;resize:vertical}.strips{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.strip{display:block;color:inherit;transition:border-color var(--dur-quick) var(--ease-ink),transform var(--dur-quick) var(--ease-ink)}.strip:hover{border-color:var(--border-2);transform:translateY(-1px)}.strip:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.strip-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.3fr);grid-gap:var(--space-6);gap:var(--space-6);padding:var(--space-5) var(--space-6)}.strip-body.cols-3{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.4fr)}.zone{min-width:0}.zone+.zone{border-left:1px solid var(--border);padding-left:var(--space-6)}.zone-key{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2)}.zone-key .i{width:13px;height:13px}.strip-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.strip-title h3{font-size:var(--text-lg);letter-spacing:-.015em;line-height:1.2}.strip-desc{margin-top:6px;color:var(--ink-2);font-size:var(--text-base);max-width:52ch}.strip-since{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.phase-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);letter-spacing:-.01em}.progress{display:flex;align-items:center;gap:10px;margin-top:6px;white-space:nowrap}.next-when{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);letter-spacing:-.01em;color:var(--emerald-ink);white-space:nowrap}.next-when.unset{color:var(--muted);font-weight:500}.next-note{margin-top:4px;font-size:var(--text-base);color:var(--ink-2);max-width:40ch}.update{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.update .feed-dot .i{width:13px;height:13px}.update-text{font-size:var(--text-base);color:var(--ink-2);max-width:44ch}.update-text strong{color:var(--ink);font-weight:600}.update-date{display:block;margin-top:2px}.strip-foot,.update-date{font-size:var(--text-sm);color:var(--muted)}.strip-foot{gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-6);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-md) var(--radius-md)}.strip-foot,.strip-foot .meta{display:flex;align-items:center}.strip-foot .meta{gap:8px;min-width:0;flex:1 1 auto;max-width:100%}.strip-foot .meta b{color:var(--ink-2);font-weight:600;white-space:nowrap}.strip-foot .meta .t{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}.strip-foot .open{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--emerald-ink);font-weight:500;white-space:nowrap}.arch{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.arch h3{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.arch-list{list-style:none;padding:0;margin-top:var(--space-2);display:grid;grid-gap:2px;gap:2px}.arch-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);margin-inline:calc(var(--space-3) * -1);border-radius:var(--radius-sm);color:var(--ink-2);font-size:var(--text-base)}.arch-row:hover{background:var(--surface-2)}.arch-row:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.arch-row .nm{font-weight:600;color:var(--ink)}.arch-row .when{font-size:var(--text-sm);color:var(--muted)}.arch-row .open{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--emerald-ink);font-weight:500;white-space:nowrap}.slideover{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(420px,100%);display:flex;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--elev-pop);transform:translateX(100%);transition:transform var(--dur-base) var(--ease-ink)}.slideover.is-open{transform:translateX(0)}.slideover-form{display:flex;flex-direction:column;min-height:0;width:100%}.slideover-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.slideover-head h3{flex:1 1;min-width:0;font-size:var(--text-lg);letter-spacing:-.01em}.slideover-body{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-5)}.slideover-lead{margin-bottom:var(--space-5);font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.slideover-body .label{margin-top:var(--space-4)}.slideover-body .label:first-of-type{margin-top:0}.slideover-hint{margin-top:6px;font-size:var(--text-xs);color:var(--muted)}.slideover-foot{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface-2)}.slideover-error{padding:0 var(--space-5) var(--space-4);color:var(--danger-ink);font-size:var(--text-sm)}.offers-add{margin-left:auto}.slideover-saved{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--emerald-line);background:var(--emerald-soft);color:var(--emerald-ink);font-size:var(--text-sm);line-height:1.5}.slideover-saved,a.offer-row{border-radius:var(--radius-sm)}a.offer-row{color:inherit;text-decoration:none;margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-2)}a.offer-row:hover{background:var(--surface-2)}a.offer-row:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}a.offer-row:hover .btn-ok{background:var(--emerald-line)}.offer-nolink{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.scrim{position:fixed;inset:0;z-index:49;background:rgba(17,27,23,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.viewer{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(820px,100vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--elev-pop);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.viewer-head{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.viewer-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.viewer-meta{margin-top:3px;font-size:var(--text-sm);color:var(--muted)}.viewer-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}.viewer-page{padding:var(--space-5);overflow-y:auto;background:var(--paper);border-right:1px solid var(--border);display:grid;justify-items:center}.sheet{width:100%;max-width:420px;aspect-ratio:1/1.414;border:1px dashed var(--border-2);border-radius:6px;background:var(--surface);display:grid;place-content:center;text-align:center;padding:var(--space-6);color:var(--muted);font-size:var(--text-sm)}.sheet .sheet-key{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.viewer-side{display:flex;flex-direction:column;min-height:0}.viewer-side-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.comments{flex:1 1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.comment-anchor{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-pill);padding:1px 8px}.comment p{margin-top:6px;font-size:var(--text-base);color:var(--ink-2)}.comment .who{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--muted)}.comment-empty{font-size:var(--text-base);color:var(--muted)}.composer{display:flex;gap:8px;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.composer .field{font-size:var(--text-base)}.viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:var(--surface-2)}.viewer-foot-note{font-size:var(--text-sm);color:var(--ink-2)}.grant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.grant-col{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--space-3) var(--space-4)}.grant-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.grant-head strong{font-size:var(--text-sm);font-weight:600}.grant-all{font-size:var(--text-sm);color:var(--muted);margin-top:6px}.grant-list{list-style:none;padding:0;margin:var(--space-3) 0 0;display:grid;grid-gap:4px;gap:4px}.grant-list label{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;font-size:var(--text-sm);cursor:pointer}.grant-list label:hover{background:var(--surface-3)}.grant-list label.locked{cursor:default;color:var(--ink-2)}.grant-list input{width:15px;height:15px;accent-color:var(--emerald-ink);margin:0}.grant-list input:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.grant-list .req{margin-left:auto;font-size:var(--text-xs);color:var(--gold-ink);white-space:nowrap}.grant-list .st{margin-left:auto}.grant-list label.locked .st{margin-left:8px}.panel{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(480px,100vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--elev-pop);display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform:translateX(102%);transition:transform var(--dur-base) var(--ease-ink)}.panel.is-open{transform:none}.panel-head{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.panel-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.panel-sub{margin-top:3px;font-size:var(--text-sm);color:var(--muted)}.panel-body{padding:var(--space-5);overflow-y:auto;display:grid;grid-gap:var(--space-5);gap:var(--space-5);align-content:start}.panel-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface-2)}.field-error{display:none;margin-top:6px;font-size:var(--text-sm);color:var(--danger-ink)}.is-invalid .field{border-color:var(--danger-ink);box-shadow:0 0 0 3px var(--danger-soft)}.is-invalid .field-error{display:block}.check-list{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:6px}.check-list label{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:var(--text-base);cursor:pointer}.check-list label:hover{background:var(--surface-3)}.check-list input{width:15px;height:15px;accent-color:var(--emerald-ink);margin:0}.check-list input:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:2px}.is-invalid .check-list{border-color:var(--danger-ink);box-shadow:0 0 0 3px var(--danger-soft)}.badge.pending{color:var(--gold-ink);background:var(--gold-soft);border-color:var(--gold-line)}.badge.pending:before{background:transparent;border:2px solid var(--gold-ink)}.logo-pick{display:flex;align-items:center;gap:var(--space-4)}.logo-preview{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--border-2);background:var(--surface-2);color:var(--emerald-ink);font-weight:600;font-size:var(--text-md);flex:none}.logo-preview img{width:100%;height:100%;object-fit:cover;display:block}.logo-preview.has-img{border-style:solid}.logo-actions{display:flex;gap:8px;flex-wrap:wrap}.logo-actions .hint{width:100%;font-size:var(--text-sm);color:var(--muted)}.org-avatar img,.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.check-list .sub{color:var(--muted);font-size:var(--text-sm);margin-left:4px}.check-list .mini{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-2)}.check-list .mini input{width:13px;height:13px}.picker{position:relative}.chips-in{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chips-in:empty{display:none}.chip-in{display:inline-flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface-2);font-size:var(--text-sm);font-weight:500}.chip-in .user-avatar{width:20px;height:20px;font-size:9px}.chip-in.new{border-style:dashed}.chip-in .sub{color:var(--muted);font-weight:400}.chip-in .x{display:inline-grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.chip-in .x:hover{background:var(--surface-3);color:var(--ink)}.chip-in .x:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:1px}.suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;list-style:none;margin:0;padding:6px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--elev-pop)}.suggest li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:var(--text-sm);cursor:pointer}.suggest li:hover,.suggest li[aria-selected=true]{background:var(--surface-3)}.suggest li .sub,.suggest li.none{color:var(--muted)}.suggest li.none{cursor:default}.invite-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;grid-gap:8px;gap:8px}.invite-row .btn{min-height:38px}textarea.field{min-height:84px;resize:vertical;line-height:1.5}.phase-rows{display:grid;grid-gap:6px;gap:6px}.phase-row{display:grid;grid-template-columns:24px minmax(0,1fr) 110px 34px;grid-gap:8px;gap:8px;align-items:center}.phase-row .n{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-align:center}.phase-row .icon-btn{width:34px;height:34px}.mode{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.mode button{padding:6px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-2);font-size:var(--text-sm);font-weight:500;cursor:pointer}.mode button[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:var(--elev-card)}.mode button:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:1px}.access-list{display:grid;grid-gap:6px;gap:6px}.access-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.access-row .who{min-width:0}.access-row .who b{display:block;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-row .who span{color:var(--muted)}.access-row .switch-row,.access-row .who span{font-size:var(--text-xs)}.access-row.off{opacity:.6}.app[data-mode=admin] .rail{background:var(--ink);border-right-color:rgba(253,252,249,.1);color:var(--on-ink)}.app[data-mode=admin] .brand-mark{background:var(--gold);color:var(--on-gold)}.app[data-mode=admin] .brand-name{color:var(--on-ink)}.app[data-mode=admin] .brand-name .dot{color:var(--gold)}.app[data-mode=admin] .brand-tag{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:5px;background:rgba(253,252,249,.12);color:var(--on-ink);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.app[data-mode=admin] .nav-key{color:rgba(253,252,249,.5)}.app[data-mode=admin] .nav-link{color:rgba(253,252,249,.72)}.app[data-mode=admin] .nav-link:hover{background:rgba(253,252,249,.08);color:var(--on-ink)}.app[data-mode=admin] .nav-link[aria-current=page]{background:rgba(253,252,249,.12);border-color:rgba(253,252,249,.18);color:var(--on-ink);box-shadow:none}.app[data-mode=admin] .nav-link[aria-current=page] .i{color:var(--gold)}.app[data-mode=admin] .nav-link:focus-visible{outline-color:var(--gold)}.app[data-mode=admin] .nav-count{background:var(--gold);color:var(--on-gold)}.app[data-mode=admin] .rail-back{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(253,252,249,.12)}.app[data-mode=admin] .rail-back .nav-link{color:var(--on-ink)}.app[data-mode=admin] .user:hover{background:rgba(253,252,249,.08)}.app[data-mode=admin] .user-avatar{background:var(--on-ink);color:var(--ink)}.app[data-mode=admin] .user-name{color:var(--on-ink)}.app[data-mode=admin] .user-mail{color:rgba(253,252,249,.55)}.app[data-mode=admin] .rail-toggle,.app[data-mode=admin] .user>.i{color:rgba(253,252,249,.6)}.app[data-mode=admin] .rail-toggle:hover{background:rgba(253,252,249,.08);color:var(--on-ink)}.app[data-mode=admin] #user-menu{color:var(--ink)}.app[data-mode=admin] .topbar{background:rgba(244,243,239,.86)}.app[data-mode=admin] .canvas{background:var(--paper)}.app[data-mode=admin] #org-btn,.app[data-mode=admin] #org-menu{display:none}.app[data-mode=admin] .tabbar{background:rgba(17,27,23,.94);border-top-color:rgba(253,252,249,.12)}.app[data-mode=admin] .tabbar-link{color:rgba(253,252,249,.6)}.app[data-mode=admin] .tabbar-link[aria-current=page]{color:var(--on-ink)}.app[data-mode=admin] .tabbar-link[aria-current=page] .i{color:var(--gold)}.adm-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--ink);color:var(--on-ink);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.acc.wsrow summary{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto auto auto}.acc.wsrow .wsmeta{font-size:var(--text-sm);color:var(--muted)}.acc.wsrow .acc-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5)}.set-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--space-4)}.set-block+.set-block{margin-top:var(--space-4)}.set-block h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}.set-block.danger{border-color:var(--danger-line);background:var(--danger-soft)}.set-block.danger h4{color:var(--danger-ink)}.set-block .row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.set-block .row+.row{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.set-block .row .hint{font-size:var(--text-sm);color:var(--muted);max-width:40ch}.set-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:var(--space-3)}.badge.archived-ws{color:var(--muted);background:var(--surface-2);border-color:var(--border)}.badge.archived-ws:before{background:var(--border-2)}.acc.wsrow.archived summary{opacity:.75}.ws-select-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.ws-select-row .label{margin:0}.ws-select-row .summary{font-size:var(--text-sm);color:var(--muted);margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.ws-chips{display:flex;gap:4px;flex-wrap:wrap}.ws-chips .badge{font-weight:500}.acc.mbr summary .icon-btn{width:30px;height:30px}.acc.mbr summary{grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr) auto auto}.avatar-pick{display:flex;align-items:center;gap:var(--space-4)}.avatar-pick .user-avatar{width:56px;height:56px;font-size:var(--text-md)}.who-title{font-size:var(--text-xs);color:var(--muted)}@media (prefers-reduced-motion:no-preference){.auth:before{animation:drift-a 22s var(--ease-ink) infinite alternate}.auth:after{animation:drift-b 26s var(--ease-ink) infinite alternate}@keyframes drift-a{to{transform:translate3d(-6%,8%,0) scale(1.1)}}@keyframes drift-b{to{transform:translate3d(7%,-6%,0) scale(1.08)}}}@media (prefers-reduced-motion:reduce){.btn[data-state=loading]:after{animation-duration:2s}}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in .26s var(--ease-ink)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}}@media (max-width:1120px){:root{--rail-w:212px;--gutter:22px}.split{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){:root{--gutter:16px;--topbar-h:54px}.app{grid-template-columns:minmax(0,1fr)}.rail{position:fixed;top:0;left:0;z-index:55;width:272px;max-width:86vw;height:100svh;transform:translateX(-102%);transition:transform var(--dur-base) var(--ease-ink);box-shadow:var(--elev-pop)}.rail[data-open=true]{transform:translateX(0)}@media (prefers-reduced-motion:reduce){.rail{transition:none}}.rail-scrim{display:block;position:fixed;inset:0;z-index:54;background:rgba(17,27,23,.34)}.canvas{padding-bottom:calc(64px + var(--space-10))}.search{width:auto;padding:7px}.search .kbd,.search .search-text{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.doc-groups{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.section-head{gap:var(--space-2)}.page-head,.section-head{flex-direction:column;align-items:flex-start}.viewer{width:100vw;border-left:0}.viewer-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.viewer-page{border-right:0;border-bottom:1px solid var(--border);padding:var(--space-4)}.sheet{max-width:260px}.viewer-side{min-height:200px}.msg{max-width:88%}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(249,248,244,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 4px;border:0;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap;cursor:pointer}.tabbar-link:focus-visible{outline:2px solid var(--emerald-ink);outline-offset:-3px}.tabbar-link[aria-current=page]{color:var(--ink);font-weight:600}.tabbar-link[aria-current=page] .i{color:var(--emerald-ink)}}@media (max-width:560px){#cta-msg{display:none}.kpi{padding:var(--space-3);gap:var(--space-2)}.kpi-value{font-size:var(--text-lg)}.auth{grid-template-columns:minmax(0,1fr)}.auth-art{display:none}.auth-form{padding:var(--space-6)}.todo-row{grid-template-columns:30px minmax(0,1fr)}.todo-row .btn{grid-column:2;justify-self:start}.viewer-foot{flex-direction:column;align-items:stretch}.viewer-foot .btn{width:100%}}@media (max-width:359px){.kpis{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.data,table.data tbody,table.data td,table.data tr{display:block;width:100%}table.data tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4)}table.data tr+tr{margin-top:var(--space-3)}table.data td{border:0;padding:0}table.data td+td{margin-top:var(--space-2)}table.data td[data-k]:before{content:attr(data-k);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.projects-card{border:0;background:transparent;box-shadow:none}}@media (max-width:860px){.kv,.sow-grid{grid-template-columns:minmax(0,1fr)}.kv{gap:2px 0}.kv dt{margin-top:8px}}@media (min-width:861px){.app[data-rail=compact]{--rail-w:68px}.app[data-rail=compact] .rail{padding:var(--space-4) 10px}.app[data-rail=compact] .brand{justify-content:center;padding:4px 0 var(--space-4)}.app[data-rail=compact] .brand-name,.app[data-rail=compact] .nav-text,.app[data-rail=compact] .org-text,.app[data-rail=compact] .org>.i,.app[data-rail=compact] .rail-toggle .nav-text,.app[data-rail=compact] .user-text,.app[data-rail=compact] .user>.i{display:none}.app[data-rail=compact] .org{justify-content:center;padding:8px 0}.app[data-rail=compact] .nav-key{height:1px;padding:0;margin:0 8px var(--space-2);background:var(--border);font-size:0;overflow:hidden}.app[data-rail=compact] .nav-group:first-child .nav-key{display:none}.app[data-rail=compact] .nav-link{justify-content:center;padding:10px 0;position:relative}.app[data-rail=compact] .nav-link .i,.app[data-rail=compact] .rail-toggle .i{width:18px;height:18px}.app[data-rail=compact] .nav-count{position:absolute;top:6px;right:10px;margin:0;padding:0;width:7px;height:7px;border-radius:50%;background:var(--gold-ink);font-size:0;overflow:hidden}.app[data-rail=compact] .user{justify-content:center;padding:8px 0}.app[data-rail=compact] .rail-toggle{justify-content:center;padding:10px 0}.app[data-rail=compact] .rail-toggle .i{transform:rotate(180deg)}.app[data-rail=compact] #org-menu,.app[data-rail=compact] #user-menu{left:calc(100% + 8px);right:auto;width:240px}.app[data-rail=compact] #org-menu{top:0}.app[data-rail=compact] #user-menu{bottom:0}.app[data-rail=compact] [data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:60;background:var(--ink);color:var(--on-ink);font-size:var(--text-sm);font-weight:500;opacity:0;visibility:hidden;transition:opacity var(--dur-quick) var(--ease-ink),visibility 0s linear var(--dur-quick)}.app[data-rail=compact] [data-tip]:hover:after{opacity:1;visibility:visible;transition-delay:.5s,.5s}.app[data-rail=compact] [data-tip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:0s,0s}.app[data-rail=compact] .org,.app[data-rail=compact] .rail-toggle,.app[data-rail=compact] .user{position:relative}}@media (max-width:560px){.seg{margin-left:0}}@media (prefers-reduced-motion:reduce){.acc-chev,.acc-wrap,.acc-wrap>.acc-inner{transition:none}}@media (max-width:860px){.acc summary{grid-template-columns:minmax(0,1fr) auto}.acc-chev{grid-column:2;grid-row:1}.acc-flags{grid-column:1/-1;grid-row:2;justify-content:flex-start}.acc-body{grid-template-columns:minmax(0,1fr)}.ext{grid-template-columns:34px minmax(0,1fr)}.ext .ext-open{grid-column:2}.acc.phase summary{grid-template-columns:24px minmax(0,1fr) auto}.acc.phase .ms-date{grid-column:2;grid-row:2;justify-self:start}.acc.phase .acc-chev{grid-column:3;grid-row:1}.acc.mbr summary{grid-template-columns:minmax(0,1fr) auto}.acc.mbr .role-tag{grid-column:1;grid-row:2;justify-self:start}.acc.mbr .grants{grid-column:1/-1;grid-row:3;justify-content:flex-start}.acc.mbr .acc-chev{grid-column:2;grid-row:1}.action-row .hint{margin-left:0;width:100%}.grant-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.panel{transition:none}}@media (max-width:560px){.invite-row{grid-template-columns:minmax(0,1fr)}.phase-row{grid-template-columns:24px minmax(0,1fr) 34px}.phase-row .date{grid-column:2}.access-row{grid-template-columns:28px minmax(0,1fr)}.access-row .switch-row{grid-column:2}}@media (min-width:861px){.app[data-mode=admin][data-rail=compact] [data-tip]:after{background:var(--surface);color:var(--ink);box-shadow:var(--elev-pop)}}@media (max-width:860px){.acc.wsrow summary{grid-template-columns:minmax(0,1fr) auto}.acc.wsrow .grants,.acc.wsrow .wsmeta{grid-column:1/-1}.acc.wsrow .acc-chev{grid-column:2;grid-row:1}.acc.wsrow .acc-body{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){#wa-ws-hint{display:none}.toolbar .picker{max-width:none!important;flex-basis:100%}}@media (prefers-reduced-motion:reduce){.confirm-box{transition:none}}@media (max-width:860px){.acc.mbr summary{grid-template-columns:minmax(0,1fr) auto auto}.acc.mbr summary .icon-btn{grid-column:2;grid-row:1}.acc.mbr .acc-chev{grid-column:3;grid-row:1}}@media (prefers-reduced-motion:reduce){.avatar-tip{transition:none}}@media (prefers-reduced-motion:no-preference){.skel{animation:skel-pulse 1.2s ease-in-out infinite alternate}@keyframes skel-pulse{to{opacity:.45}}}@media (max-width:1120px){.strip-body,.strip-body.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.zone+.zone{border-left:0;padding-left:0}.zone:nth-child(odd){border-right:1px solid var(--border);padding-right:var(--space-5)}.zone:nth-child(n+3){border-top:1px solid var(--border);padding-top:var(--space-4)}.strip-body.cols-3 .zone:nth-child(3){grid-column:1/-1;border-right:0;padding-right:0}}@media (max-width:860px){.duo{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.strip-body,.strip-body.cols-3{grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:var(--space-4)}.zone:nth-child(odd){border-right:0;padding-right:0}.zone+.zone{border-top:1px solid var(--border);padding-top:var(--space-4)}.strip-foot{padding:var(--space-3) var(--space-4)}.strip-foot .open{margin-left:0;width:100%}.strip-foot .meta{flex-wrap:wrap}.strip-foot .meta .t{white-space:normal;overflow:visible;flex-basis:100%}.offer-row{grid-template-columns:30px minmax(0,1fr)}.offer-row .btn{grid-column:2;justify-self:start}.needs,.offers{padding-inline:var(--space-4)}.arch-row .open{margin-left:0;width:100%}}@media (prefers-reduced-motion:reduce){.strip{transition:none}.strip:hover{transform:none}.slideover{transition:none}}