:root{--ink: #0F0F13;--bg: #0B0B10;--bg-grad: radial-gradient(1100px 700px at 8% -8%, rgba(70, 96, 236, .1), transparent 60%), radial-gradient(900px 600px at 110% 0%, rgba(70, 96, 236, .05), transparent 60%), #0B0B10;--surface: #12121A;--surface-2: #181823;--surface-3: #20202D;--border: #23232F;--border-strong: #31313E;--text: #F4F4F7;--text-dim: #A0A0B0;--text-mute: #5C5C6A;--brand: #4660EC;--brand-hi: #6A80F0;--brand-soft: rgba(70, 96, 236, .14);--brand-line: rgba(70, 96, 236, .38);--green: #34D399;--green-soft: rgba(52, 211, 153, .14);--red: #F87171;--red-soft: rgba(248, 113, 113, .14);--amber: #FBBF24;--amber-soft: rgba(251, 191, 36, .14);--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 4px 12px rgba(0, 0, 0, .3);--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 32px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:var(--bg-grad);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}h1{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.015em}h2{font-size:16px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em}h3{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.sub{color:var(--text-dim);font-size:13.5px}.mono{font-family:var(--mono)}.muted{color:var(--text-mute)}.dim{color:var(--text-dim)}.right{text-align:right}.center{text-align:center}.row{display:flex;align-items:center;gap:10px}.gap-8{gap:8px}.hr{height:1px;background:var(--border);margin:14px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stack-16>*+*{margin-top:16px}.stack-10>*+*{margin-top:10px}.logo-wide{display:block}.logo-wide .ink{fill:#f4f4f7}.logo-wide .brand{fill:#4660ec}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.rail{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}.rail .brand-row{display:flex;align-items:center;gap:10px;padding:4px 6px;margin-bottom:24px}.rail .brand-row .sep{width:1px;height:16px;background:var(--border);margin:0 2px}.rail .brand-row .app-name{color:var(--text-dim);font-size:12px;font-weight:500}.nav{display:flex;flex-direction:column;gap:2px}.nav .section{color:var(--text-mute);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:14px 8px 6px}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-dim);font-size:13.5px;font-weight:500;transition:background .15s,color .15s;text-decoration:none}.nav a:hover:not(.disabled){background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--brand-soft);color:#fff;box-shadow:inset 0 0 0 1px var(--brand-line)}.nav a.disabled{opacity:.45;cursor:not-allowed}.rail .me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px 8px;border-top:1px solid var(--border)}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#4660ec,#8b9cf2);color:#0b0b10;font-weight:700;font-size:12px;display:grid;place-items:center}.me .who{display:flex;flex-direction:column;line-height:1.2;min-width:0}.me .who b{font-size:13px;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me .who span{font-size:11px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--border);background:#0b0b10bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.crumbs{color:var(--text-mute);font-size:13px}.crumbs b{color:var(--text);font-weight:600}.spacer{flex:1}.content{padding:28px;max-width:1440px;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card .hd{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.card .bd{padding:18px}.card .hd h2{margin:0}.card .hd .tail{margin-left:auto;display:flex;align-items:center;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-mute)}.chip.plain:before{display:none}.chip.green{background:var(--green-soft);color:var(--green);border-color:#34d39940}.chip.green:before{background:var(--green)}.chip.red{background:var(--red-soft);color:var(--red);border-color:#f8717140}.chip.red:before{background:var(--red)}.chip.amber{background:var(--amber-soft);color:var(--amber);border-color:#fbbf2447}.chip.amber:before{background:var(--amber)}.chip.brand{background:var(--brand-soft);color:var(--brand-hi);border-color:var(--brand-line)}.chip.brand:before{background:var(--brand-hi)}.chip.build{background:#4660ec;color:#fff;border-color:#4660ec}.chip.build:before{background:#fff}.chip.business{background:transparent;color:var(--brand-hi);border:1px solid var(--brand-line)}.chip.business:before{background:transparent;border:1px solid var(--brand);box-sizing:border-box;width:7px;height:7px}.chip.role-ceo{background:#4660ec26;color:#8d9ff2;border-color:#4660ec66}.chip.role-ceo:before{background:#8d9ff2}.chip.role-strat{background:var(--green-soft);color:var(--green);border-color:#34d3994d}.chip.role-strat:before{background:var(--green)}.chip.role-all{background:var(--surface-3);color:var(--text-dim)}.chip.role-all:before{background:var(--text-mute)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);transition:background .15s}.btn:hover{background:var(--surface-3)}.btn.sm{padding:5px 10px;font-size:12px}.btn.primary{background:var(--brand);border-color:var(--brand);box-shadow:0 4px 16px #4660ec59,inset 0 1px #ffffff26}.btn.primary:hover{background:var(--brand-hi);border-color:var(--brand-hi)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover{color:var(--text);background:var(--surface-2)}.btn.success{background:var(--green-soft);color:var(--green);border-color:#34d3994d}.btn.danger{background:var(--red-soft);color:var(--red);border-color:#f871714d}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:18px}.filters .pill,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;color:var(--text-dim);cursor:pointer}.pill.active{background:var(--brand-soft);color:var(--brand-hi);border-color:var(--brand-line)}.filters .sep{width:1px;height:20px;background:var(--border);margin:0 4px}.search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);padding:7px 10px;border-radius:var(--radius-sm);width:280px;color:var(--text-dim);font-size:13px}.search input{background:transparent;border:none;color:var(--text);outline:none;flex:1;font-size:13px}.seg{display:inline-flex;align-items:center;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:2px;text-transform:none;letter-spacing:0}.seg button{padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:600;color:var(--text-dim);letter-spacing:.02em}.seg button.on{background:var(--brand);color:#fff;box-shadow:0 2px 6px #4660ec59}.seg button:hover:not(.on){color:var(--text)}.progress{height:6px;background:var(--surface-3);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-hi))}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:11px 14px;font-size:11.5px;font-weight:600;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface-2);position:sticky;top:0}.table td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:hover td{background:#ffffff04}.table td .row-avatar{display:flex;align-items:center;gap:10px}.week-cell{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:5px;font-size:11.5px;font-weight:500;background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border)}.week-cell.green{background:var(--green-soft);color:var(--green);border-color:#34d3994d}.week-cell.amber{background:var(--amber-soft);color:var(--amber);border-color:#fbbf244d}.week-cell.red{background:var(--red-soft);color:var(--red);border-color:#f871714d}.week-cell.empty{color:var(--text-mute);font-style:italic;background:transparent;border-color:transparent}.table tbody.person tr td{border-bottom:none}.table tbody.person tr:first-child td{padding-bottom:6px}.table tbody.person tr:last-child td{padding-top:6px;border-bottom:1px solid var(--border)}.table tbody.person:hover tr td{background:#ffffff04}.table tbody.person .person-cell{vertical-align:middle;border-right:1px solid var(--border)}.table tbody.person .team-cell{vertical-align:middle;border-right:1px solid var(--border);color:var(--text-dim)}.goal-row{display:flex;align-items:baseline;gap:14px;padding-left:10px;border-left:3px solid var(--brand)}.goal-row.business{border-left:3px dashed var(--brand-line)}.goal-row .type-tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;min-width:64px}.goal-row.build .type-tag{color:var(--brand-hi)}.goal-row.business .type-tag{color:var(--text-mute)}.goal-row.empty{border-left:3px dotted var(--border);opacity:.6}.goal-row.empty .type-tag{color:var(--text-mute)}.goal-row .title{color:var(--text);font-weight:500;flex:1}.goal-row.empty .title{color:var(--text-mute);font-style:italic;font-weight:400}.auth-page{min-height:100vh;display:grid;place-items:center;padding:40px 24px;background:var(--bg-grad);position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none}.auth-page:before{width:520px;height:520px;background:#4660ec;top:-120px;left:-120px}.auth-page:after{width:400px;height:400px;background:#4660ec;bottom:-160px;right:-120px;opacity:.15}.auth-card{position:relative;width:420px;max-width:100%;background:#12121ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:18px;padding:36px 32px;box-shadow:var(--shadow)}.auth-card .brand-row{display:flex;align-items:center;justify-content:center;margin-bottom:24px;gap:10px}.auth-card .app-suffix{color:var(--text-mute);font-size:13px}.auth-card h1{text-align:center;font-size:20px;margin-bottom:4px}.auth-card .sub{text-align:center;margin-bottom:24px}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#fff;color:#1f1f1f;border-radius:8px;font-weight:600;font-size:14px;transition:background .15s}.google-btn:hover{background:#f5f5f5}.google-btn:disabled{opacity:.7;cursor:wait}.google-btn svg{width:18px;height:18px}.auth-error{margin-top:12px;color:var(--red);background:var(--red-soft);border:1px solid rgba(248,113,113,.3);padding:8px 12px;border-radius:6px;font-size:12.5px;text-align:center}.auth-note{margin-top:16px;text-align:center;color:var(--text-mute);font-size:12px}.auth-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);text-align:center;color:var(--text-mute);font-size:11.5px;letter-spacing:.02em}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:18px}.kpi-item{padding:18px 22px;border-right:1px solid var(--border)}.kpi-item:last-child{border-right:none}.kpi-label{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em}.kpi-value{font-size:26px;font-weight:500;letter-spacing:-.02em;margin-top:8px}.kpi-sub{font-size:12px;color:var(--text-dim);margin-top:4px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;margin-bottom:10px;border-bottom:1px solid var(--border)}.card-flush{padding:0;overflow:hidden}.table.clean th{background:transparent;color:var(--text-mute);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:12px 16px 10px;border-bottom:1px solid var(--border)}.table.clean td{padding:14px 16px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.table.clean tbody tr:last-child td{border-bottom:none}.table.clean tr:hover td{background:#ffffff04}.table.clean tbody.person tr td{border-bottom:none}.table.clean tbody.person tr:first-child td{padding-bottom:6px}.table.clean tbody.person tr:last-child td{padding-top:6px;border-bottom:1px solid rgba(255,255,255,.04)}.table.clean tbody.person:last-child tr:last-child td{border-bottom:none}.table.clean tbody.person .person-cell,.table.clean tbody.person .team-cell{border-right:1px solid rgba(255,255,255,.04)}.stage-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;background:#4660ec1a;color:var(--brand-hi);border:1px solid rgba(70,96,236,.2)}.empty-state{padding:40px 22px;text-align:center;color:var(--text-mute);font-style:italic;font-size:13px}.empty-state.small{padding:14px;font-size:12px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px;display:flex;flex-direction:column;gap:10px;min-height:260px}.kanban-col-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:4px 6px 10px;border-bottom:1px solid var(--border)}.kanban-card{padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.kanban-card:hover{border-color:var(--border-strong)}.input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 12px;font-size:13.5px;font-family:inherit;outline:none;transition:border-color .15s,background .15s}.input:focus{border-color:var(--brand);background:var(--surface-3)}.input::placeholder{color:var(--text-mute)}.ov-section{margin-bottom:28px}.ov-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.ov-section-head h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0}.ov-link{font-size:12px;color:var(--text-mute);transition:color .15s}.ov-link:hover{color:var(--brand-hi)}.ov-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ov-stats{display:flex;gap:28px;flex-wrap:wrap}.ov-stat{display:flex;flex-direction:column}.ov-stat-label{font-size:10.5px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em}.ov-stat-value{font-size:24px;font-weight:500;letter-spacing:-.02em;margin-top:4px;line-height:1}.ov-risk-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 0}.ov-risk-head{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);padding:10px 16px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.ov-risk-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.03)}.ov-risk-row:last-child{border-bottom:none}.ov-risk-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-risk-sub{font-size:11.5px;color:var(--text-mute);margin-top:2px}.ov-tile{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.ov-tile:hover{border-color:var(--border-strong)}.ov-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.ov-mini-list{display:flex;flex-direction:column}.ov-mini-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.03)}.ov-mini-row:last-child{border-bottom:none}.ov-mini-row:hover{background:#ffffff04}.avatar-btn{padding:2px;border-radius:50%;transition:box-shadow .15s}.avatar-btn:hover{box-shadow:0 0 0 3px #4660ec33}.menu-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 40px #00000080;padding:6px;z-index:50}.menu-head{padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px;display:flex;flex-direction:column}.menu-head b{font-size:13px;font-weight:600}.menu-head span{font-size:11px;color:var(--text-mute);margin-top:2px}.menu-item{display:block;width:100%;text-align:left;padding:8px 12px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:background .15s}.menu-item:hover{background:var(--surface-2)}.pw-form{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.pw-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.pw-label span{font-weight:600;letter-spacing:.02em}.pw-label input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,background .15s}.pw-label input:focus{border-color:var(--brand);background:var(--surface-3)}.pw-divider{display:flex;align-items:center;gap:10px;margin:14px 0 12px;color:var(--text-mute);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.pw-divider:before,.pw-divider:after{content:"";flex:1;height:1px;background:var(--border)}
