:root{--bg:#fff;--surface:#faf9f8;--surface-2:#f2f0ee;--border:#e5e1dc;--border-strong:#d3cdc5;--text:#14100d;--text-muted:#6b6259;--text-faint:#a49a8f;--brand:#d31e2b;--brand-hover:#af1420;--brand-strong:#8f0f19;--brand-tint:#fbe2e2;--brand-on:#fff;--ok:#1a7a4f;--ok-tint:#e3f3ea;--warn:#b06a05;--warn-tint:#faedd6;--crit:var(--brand);--crit-tint:var(--brand-tint);--neutral-dot:#9a9187;--rail-bg:#100c0a;--rail-bg-2:#17120f;--rail-text:#d8d0c7;--rail-text-dim:#746a60;--rail-active:#fff;--rail-border:#ffffff14;--shadow-sm:0 1px 2px #14100d0d;--shadow-md:0 1px 2px #14100d0a, 0 8px 24px -8px #14100d1f;--radius:10px;--radius-sm:7px;--font-display:"Sora", system-ui, sans-serif;--font-body:"Public Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15110e;--surface:#1c1713;--surface-2:#241e19;--border:#362e26;--border-strong:#473c32;--text:#f5f0e9;--text-muted:#ab9f92;--text-faint:#786c60;--brand:#ef4a4a;--brand-hover:#f56767;--brand-strong:#fff;--brand-tint:#3a1517;--brand-on:#1a0708;--ok:#4fc48c;--ok-tint:#163025;--warn:#e3a838;--warn-tint:#362808;--neutral-dot:#7c7264;--rail-bg:#0b0807;--rail-bg-2:#131010;--rail-text-dim:#675e54;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #00000059, 0 10px 28px -8px #0000008c}}:root[data-theme=dark]{--bg:#15110e;--surface:#1c1713;--surface-2:#241e19;--border:#362e26;--border-strong:#473c32;--text:#f5f0e9;--text-muted:#ab9f92;--text-faint:#786c60;--brand:#ef4a4a;--brand-hover:#f56767;--brand-strong:#fff;--brand-tint:#3a1517;--brand-on:#1a0708;--ok:#4fc48c;--ok-tint:#163025;--warn:#e3a838;--warn-tint:#362808;--neutral-dot:#7c7264;--rail-bg:#0b0807;--rail-bg-2:#131010;--rail-text-dim:#675e54;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #00000059, 0 10px 28px -8px #0000008c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px}::selection{background:var(--brand-tint);color:var(--brand)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.app{grid-template-columns:258px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.app.collapsed{grid-template-columns:72px 1fr}.rail{background:linear-gradient(180deg, var(--rail-bg-2) 0%, var(--rail-bg) 220px);border-right:1px solid var(--rail-border);flex-direction:column;height:100vh;padding:16px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.rail-top{align-items:center;gap:10px;margin-bottom:18px;padding:2px 4px 0;display:flex}.rail-mark{background:linear-gradient(155deg, var(--brand) 0%, var(--brand-hover) 100%);width:32px;height:32px;font-family:var(--font-display);color:#fff;letter-spacing:-.02em;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 8px -1px #d31e2b8c,inset 0 1px #ffffff26}.rail-orgname{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;font-size:14px;font-weight:700;line-height:1.2}.rail-orgsub{color:var(--rail-text-dim);margin-top:1px;font-size:11px}.collapsed .rail-orgname,.collapsed .rail-orgsub,.collapsed .rail-label,.collapsed .rail-heading,.collapsed .rail-scope,.collapsed .rail-userinfo,.collapsed .rail-role-switch,.collapsed .proj-lock-note{display:none}.collapsed .rail-top{justify-content:center}.collapsed .rail-item{justify-content:center;padding:0}.rail-role-switch{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;gap:2px;margin-bottom:16px;padding:3px;display:flex}.rail-role-switch button{color:var(--rail-text-dim);font-size:11.5px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:6px;flex:1;padding:6px 4px}.rail-role-switch button.on{background:var(--brand);color:#fff}.rail-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--rail-text-dim);padding:14px 8px 6px;font-size:10.5px;font-weight:700}.rail-heading:first-of-type{padding-top:0}.rail-nav{flex-direction:column;gap:2px;width:100%;display:flex}.rail-item{height:38px;color:var(--rail-text-dim);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:11px;width:100%;padding:0 10px;transition:background .15s,color .15s;display:flex;position:relative}.rail-item svg{stroke:currentColor;fill:none;stroke-width:1.7px;flex-shrink:0;width:17px;height:17px}.rail-item:hover{color:#fff;background:#ffffff0f}.rail-item.active{color:var(--rail-active);background:var(--brand)}.rail-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.rail-count{font-family:var(--font-mono);color:var(--rail-text);background:#ffffff1a;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:600}.rail-item.active .rail-count{color:#fff;background:#ffffff38}.rail-item .rail-dot{background:var(--warn);border:1.5px solid var(--rail-bg);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:26px}.rail-scope{flex-direction:column;gap:1px;display:flex}.scope-item{color:var(--rail-text);border-radius:8px;align-items:center;gap:9px;padding:7px 10px;display:flex}.scope-item:hover{background:#ffffff0f}.scope-dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.scope-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.scope-pct{font-family:var(--font-mono);color:var(--rail-text-dim);font-size:10.5px}.proj-lock-note{color:var(--rail-text-dim);background:#ffffff0a;border:1px dashed #ffffff24;border-radius:8px;align-items:flex-start;gap:7px;margin-top:8px;padding:9px 10px;font-size:11px;line-height:1.45;display:flex}.proj-lock-note svg{stroke:currentColor;fill:none;stroke-width:2px;flex-shrink:0;width:13px;height:13px;margin-top:1px}.rail-spacer{flex:1}.rail-foot{border-top:1px solid #ffffff14;align-items:center;gap:9px;margin-top:10px;padding:10px 6px 2px;display:flex}.rail-avatar{background:var(--surface-2);border:1px solid var(--border-strong);width:30px;height:30px;font-family:var(--font-display);color:var(--rail-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.rail-userinfo{flex:1;min-width:0}.rail-username{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.rail-userrole{color:var(--rail-text-dim);margin-top:1px;font-size:10.5px}.rail-collapse-btn{width:26px;height:26px;color:var(--rail-text-dim);background:0 0;border:1px solid #ffffff1a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rail-collapse-btn svg{stroke:currentColor;fill:none;stroke-width:2px;width:13px;height:13px;transition:transform .18s}.collapsed .rail-collapse-btn svg{transform:rotate(180deg)}.collapsed .rail-foot{justify-content:center}.collapsed .rail-foot .logout-btn{display:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:5;align-items:center;gap:18px;padding:16px 28px;display:flex;position:sticky;top:0}.brand-word{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;font-size:17px;font-weight:700}.brand-word .dot{color:var(--brand)}.crumb{color:var(--text-faint);align-items:center;gap:6px;font-size:13px;display:flex}.search{background:var(--surface);border:1px solid var(--border);color:var(--text-faint);border-radius:999px;align-items:center;gap:8px;min-width:240px;margin-left:auto;padding:8px 14px 8px 12px;font-size:13px;display:flex}.search svg{stroke:currentColor;fill:none;stroke-width:1.8px;flex-shrink:0;width:15px;height:15px}.search kbd{font-family:var(--font-mono);color:var(--text-faint);border:1px solid var(--border-strong);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10.5px}.top-actions{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:16px;height:16px}.icon-btn .ping{background:var(--brand);border:2px solid var(--bg);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px}.org-pill{border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:12.5px;font-weight:600;display:flex}.org-pill .sw{background:var(--brand);border-radius:50%;width:20px;height:20px}.notif-backdrop{z-index:40;position:fixed;inset:0}.notif-dropdown{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:320px;max-height:420px;box-shadow:var(--shadow-md);z-index:41;position:absolute;top:42px;right:0;overflow-y:auto}.notif-dropdown-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;font-size:12.5px;font-weight:700;display:flex}.notif-markall{color:var(--brand);background:0 0;border:none;font-size:11px;font-weight:600}.notif-empty{text-align:center;color:var(--text-faint);padding:24px 14px;font-size:12.5px}.notif-item{border-top:1px solid var(--border);color:var(--text);gap:10px;padding:12px 14px;display:flex}.notif-item:first-of-type{border-top:none}.notif-item:hover{background:var(--surface)}.notif-dot{background:0 0;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.notif-item.unread .notif-dot{background:var(--brand)}.notif-title{font-size:13px;font-weight:600}.notif-item:not(.unread) .notif-title{color:var(--text-muted);font-weight:500}.notif-body{color:var(--text-faint);margin-top:1px;font-size:12px}.notif-time{color:var(--text-faint);margin-top:3px;font-size:11px}.body-scroll{padding:26px 28px 60px}.page[hidden]{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-head h1{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;margin:0 0 4px;font-size:24px;font-weight:700}.page-head p{color:var(--text-muted);margin:0;font-size:13.5px}.period{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:7px 6px 7px 14px;font-size:12.5px;font-weight:500;display:flex}.period .seg{background:var(--bg);border:1px solid var(--border);border-radius:999px;display:flex;overflow:hidden}.period .seg span{padding:4px 10px}.period .seg span.on{background:var(--text);color:var(--bg);border-radius:999px}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:16px 18px 14px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--kpi-accent,var(--border));height:3px;position:absolute;top:0;left:0;right:0}.kpi-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:700}.kpi-icon{border-radius:var(--radius-sm);background:var(--kpi-accent,var(--surface-2));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kpi-icon svg{stroke:currentColor;fill:none;stroke-width:2.1px;width:14px;height:14px}.kpi-value-row{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.kpi-value small{color:var(--text-faint);font-size:16px;font-weight:500}.kpi-sub{color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;font-size:12.5px;display:flex}.kpi-sub .tag{font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:700}.tag-ok{background:var(--ok-tint);color:var(--ok)}.tag-warn{background:var(--warn-tint);color:var(--warn)}.tag-crit{background:var(--crit-tint);color:var(--crit)}.grid2{grid-template-columns:1.35fr 1fr;align-items:start;gap:16px;margin-bottom:16px;display:grid}.grid2.wide-right{grid-template-columns:1fr 1.35fr}.panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 18px 13px;display:flex}.panel-head h2{font-family:var(--font-display);letter-spacing:-.005em;margin:0;font-size:14.5px;font-weight:600}.panel-head .link{color:var(--text-muted);background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:12.5px;font-weight:600;display:flex}.panel-body{padding:16px 18px 18px}.roster{flex-wrap:wrap;gap:18px;margin-bottom:18px;display:flex}.roster-item{align-items:center;gap:8px;display:flex}.roster-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.roster-item b{font-variant-numeric:tabular-nums}.roster-item span{color:var(--text-muted);font-size:12.5px}.proj-row{border-top:1px solid var(--border);grid-template-columns:108px 1fr 46px 74px;align-items:center;gap:12px;padding:10px 0;display:grid}.proj-row:first-child{border-top:none;padding-top:0}.proj-name{font-size:13px;font-weight:600}.proj-bar{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.proj-bar>i{border-radius:999px;height:100%;display:block}.proj-pct{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.status-chip{border-radius:999px;justify-self:end;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-chip i{border-radius:50%;width:6px;height:6px}.alert-row{border-top:1px solid var(--border);align-items:flex-start;gap:11px;padding:11px 0;display:flex}.alert-row:first-child{border-top:none;padding-top:0}.alert-icn{border-radius:var(--radius-sm);background:var(--sev,var(--text-faint));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;margin-top:1px;display:flex}.alert-icn svg{stroke:currentColor;fill:none;stroke-width:2.3px;width:13px;height:13px}.alert-txt{min-width:0}.alert-txt div:first-child{font-size:13px;font-weight:600;line-height:1.4}.alert-txt div:last-child{color:var(--text-faint);margin-top:2px;font-size:12px}.alert-sev-label{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;align-self:center;margin-left:auto;padding:3px 7px;font-size:10px;font-weight:700}.feed-row{border-top:1px solid var(--border);align-items:baseline;gap:10px;padding:8px 0;display:flex}.feed-row:first-child{border-top:none;padding-top:0}.feed-time{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;width:40px;font-size:11.5px}.feed-txt{font-size:12.5px}.feed-txt b{font-weight:600}.feed-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.feed-live{color:var(--ok);align-items:center;gap:5px;display:flex}.feed-live i{background:var(--ok);border-radius:50%;width:6px;height:6px;display:inline-block}.people{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.person{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px 13px;display:flex}.person.blocked{border-color:var(--crit);background:var(--crit-tint)}.person-top{align-items:center;gap:8px;display:flex}.p-avatar{width:26px;height:26px;font-family:var(--font-display);background:var(--av-bg,var(--surface-2));color:var(--av-fg,var(--text));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:flex}.person-name{font-size:13px;font-weight:600}.person-proj{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:600}.person-task{color:var(--text-muted);font-size:12px}.person-task b{color:var(--text);font-weight:500}.person-foot{justify-content:space-between;align-items:center;font-size:11px;display:flex}.person-foot .since{color:var(--text-faint);font-family:var(--font-mono)}.person-foot .pct{font-family:var(--font-mono);font-weight:600}.blocked-tag{color:var(--crit);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:flex}.goals-table{padding:4px 18px 10px}.goals-row{border-top:1px solid var(--border);grid-template-columns:120px 1fr 140px 108px 112px;align-items:center;gap:14px;padding:12px 0;display:grid}.goals-row:first-child{border-top:none}.goals-row--head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding-top:0;padding-bottom:8px;font-size:10.5px;font-weight:700}.goal-proj{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.goal-proj i{border-radius:3px;flex-shrink:0;width:8px;height:8px}.goal-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.goal-tasks{align-items:center;gap:9px;font-size:12.5px;display:flex}.goal-tasks b{font-family:var(--font-mono);font-weight:700}.goal-tasks .of{font-family:var(--font-mono);color:var(--text-faint)}.goal-due{font-family:var(--font-mono);color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.goal-overdue{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03em;color:var(--crit);font-size:10px;font-style:normal;font-weight:700}.goals-more{text-align:center;color:var(--brand);border-top:1px solid var(--border);background:0 0;border-bottom:none;border-left:none;border-right:none;width:100%;margin-top:4px;padding:12px 0 4px;font-size:12.5px;font-weight:600;display:block}.goal-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);margin-bottom:16px;overflow:hidden}.goal-card-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.goal-card-mark{border-radius:3px;flex-shrink:0;width:10px;height:34px;margin-top:2px}.goal-card-titles{flex:1;min-width:0}.goal-card-proj{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:11.5px;font-weight:700}.goal-card-title{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin-top:2px;font-size:16.5px;font-weight:700}.goal-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;font-size:12px;display:flex}.goal-card-meta span{align-items:center;gap:5px;display:flex}.goal-card-meta svg{stroke:currentColor;fill:none;stroke-width:2px;width:13px;height:13px}.goal-card-side{text-align:right;flex-shrink:0}.goal-card-pct{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.goal-card-pct-label{color:var(--text-faint);margin-top:-2px;font-size:10.5px}.goal-card-body{grid-template-columns:repeat(4,1fr);gap:14px;padding:16px 20px 18px;display:grid}.goal-stat{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.goal-stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}.goal-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:4px;font-size:18px;font-weight:600}.goal-stat-value small{font-family:var(--font-body);color:var(--text-faint);font-size:11px;font-weight:500}.goal-milestones{flex-direction:column;gap:1px;padding:4px 20px 18px;display:flex}.ms-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.ms-row:first-child{border-top:none}.ms-check{border:1.5px solid var(--border-strong);color:#0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.ms-check svg{stroke:currentColor;fill:none;stroke-width:3px;width:11px;height:11px}.ms-row.done .ms-check{background:var(--ok);border-color:var(--ok);color:#fff}.ms-row.doing .ms-check{border-color:var(--brand)}.ms-name{flex:1;font-size:13px}.ms-row.done .ms-name{color:var(--text-faint);text-decoration:line-through}.ms-owner{color:var(--text-faint);font-size:11.5px;font-weight:500}.legend{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px;padding:14px 18px;display:flex}.legend-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:11px;font-weight:700}.legend-item{color:var(--text-muted);align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:flex}.legend-item i{border-radius:3px;flex-shrink:0;width:9px;height:9px}.legend-brand{color:var(--text);font-weight:600}.legend-sep{flex:1;min-width:4px}.data-table{padding:4px 18px 10px;overflow-x:auto}.data-row{border-top:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:grid}.data-row:first-child{border-top:none}.data-row--head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding-top:0;padding-bottom:8px;font-size:10.5px;font-weight:700}.data-row--head span{white-space:nowrap}.cell-person{align-items:center;gap:9px;min-width:0;display:flex}.cell-person .p-avatar{width:24px;height:24px;font-size:10px}.cell-person-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.cell-person-sub{color:var(--text-faint);font-size:11px}.cell-mono{font-family:var(--font-mono);color:var(--text-muted);font-size:12.5px}.cell-strong{font-size:13px;font-weight:600}.cell-muted{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-ok{background:var(--ok-tint);color:var(--ok)}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-crit{background:var(--crit-tint);color:var(--crit)}.badge-neutral{background:var(--surface-2);color:var(--text-muted)}.mini-bar{align-items:center;gap:8px;display:flex}.mini-bar .proj-bar{width:60px}.mini-bar b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.metric-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:16px 18px}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:700}.metric-value{font-family:var(--font-display);letter-spacing:-.02em;margin-top:10px;font-size:28px;font-weight:700}.metric-value small{color:var(--text-faint);margin-left:4px;font-size:14px;font-weight:500}.metric-trend{margin-top:6px;font-size:12px}.metric-trend.ok{color:var(--ok)}.metric-trend.warn{color:var(--warn)}.aging-row{border-top:1px solid var(--border);grid-template-columns:90px 1fr 40px;align-items:center;gap:12px;padding:10px 0;display:grid}.aging-row:first-child{border-top:none;padding-top:0}.aging-row span:first-child{color:var(--text-muted);font-size:12.5px;font-weight:500}.aging-row span:last-child{font-family:var(--font-mono);text-align:right;color:var(--text-muted);font-size:12px}.aging-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.aging-bar>i{border-radius:999px;height:100%;display:block}.bars-chart{align-items:flex-end;gap:16px;height:140px;padding:10px 4px 0;display:flex}.bars-chart .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bars-chart .bar-fill{background:var(--brand);border-radius:6px 6px 0 0;width:100%;max-width:46px;position:relative}.bars-chart .bar-value{font-family:var(--font-mono);color:var(--text-muted);font-size:11.5px;font-weight:600}.bars-chart .bar-label{color:var(--text-faint);font-size:11px}.integration-card{border-top:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.integration-card:first-child{border-top:none;padding-top:0}.integration-mark{border-radius:var(--radius-sm);background:var(--surface-2);width:38px;height:38px;font-family:var(--font-display);color:var(--text);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.integration-info{flex:1;min-width:0}.integration-name{font-size:13.5px;font-weight:600}.integration-desc{color:var(--text-faint);margin-top:1px;font-size:12px}.integration-detail{color:var(--text-muted);margin-top:4px;font-size:12px}.btn{border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:999px;flex-shrink:0;padding:7px 16px;font-size:12.5px;font-weight:600}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}.login-screen{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:32px 28px 28px}.login-mark{background:linear-gradient(155deg, var(--brand) 0%, var(--brand-hover) 100%);width:42px;height:42px;font-family:var(--font-display);color:#fff;border-radius:11px;justify-content:center;align-items:center;margin-bottom:16px;font-size:18px;font-weight:800;display:flex;box-shadow:0 2px 8px -1px #d31e2b8c}.login-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 2px;font-size:20px;font-weight:700}.login-sub{color:var(--text-muted);margin:0 0 22px;font-size:13px}.login-form{flex-direction:column;gap:14px;display:flex}.login-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.login-label input{font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;font-size:14px}.login-label input:focus{outline:2px solid var(--brand);outline-offset:1px}.login-error{color:var(--crit);background:var(--crit-tint);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.login-submit{width:100%;margin-top:2px;padding:10px;font-size:13.5px}.login-submit:disabled{opacity:.6}.login-demo{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:22px;padding-top:18px;display:flex}.login-demo-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:700}.login-demo-btn{text-align:left;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.login-demo-btn:hover{border-color:var(--border-strong);color:var(--text)}.auth-loading{min-height:100vh;color:var(--text-faint);justify-content:center;align-items:center;font-size:13px;display:flex}.modal-overlay{z-index:50;background:#14100d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow-md);max-height:90vh;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h2{font-family:var(--font-display);margin:0;font-size:15px;font-weight:700}.modal-close{color:var(--text-faint);background:0 0;border:none;border-radius:6px;width:26px;height:26px;font-size:15px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-form{flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.modal-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-form select{font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 10px;font-size:13.5px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.public-title{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;margin:0 0 8px;font-size:26px;font-weight:700}.public-sub{color:var(--text-muted);margin:0 0 28px;font-size:14px;line-height:1.5}.public-breadcrumb{color:var(--text-faint);margin-bottom:6px;font-size:12.5px}.public-breadcrumb a{color:var(--text-muted);font-weight:600}.public-grid{flex-direction:column;gap:12px;display:flex}.public-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px;display:block}.public-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.public-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.public-card-name{font-family:var(--font-display);font-size:15px;font-weight:700}.public-card-desc{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.5}.public-card-cta{color:var(--brand);font-size:12.5px;font-weight:700}.public-track-link{color:var(--text-muted);text-align:center;margin-top:28px;font-size:13px}.public-track-link a{color:var(--brand);font-weight:600}.public-form{flex-direction:column;gap:14px;margin-top:8px;display:flex}.public-form textarea{font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;padding:9px 12px;font-size:14px}.public-form-tabs{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.public-tab{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.public-tab.on{background:var(--text);color:var(--bg);border-color:var(--text)}.public-success{background:var(--ok-tint);color:var(--ok);border-radius:var(--radius-sm);margin-bottom:18px;padding:10px 14px;font-size:13px;font-weight:600}.public-steps{flex-direction:column;gap:2px;margin:20px 0;display:flex}.public-step{color:var(--text-faint);align-items:center;gap:12px;padding:8px 0;font-size:13.5px;display:flex}.public-step-dot{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px}.public-step.done{color:var(--text);font-weight:600}.public-step.done .public-step-dot{background:var(--ok);border-color:var(--ok)}.work-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 18px 13px;display:flex}.icon-btn-text{color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:12.5px;font-weight:600;display:inline-flex}.icon-btn-text:hover{color:var(--crit);background:var(--crit-tint)}@media (width<=980px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.people{grid-template-columns:1fr}.search{display:none}.goals-table{overflow-x:auto}.goals-row{grid-template-columns:100px 220px 130px 90px 100px;width:max-content;min-width:100%}.metric-grid{grid-template-columns:repeat(2,1fr)}}
