:root{--bg: #0d1117;--bg-elev: #161b22;--bg-elev-2: #1c2128;--border: #30363d;--border-strong: #484f58;--text: #e6edf3;--text-dim: #8b949e;--text-muted: #6e7681;--accent: #58a6ff;--accent-strong: #1f6feb;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--urgent: #ff7b72;--purple: #a371f7;--focus: #58a6ff;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}code,pre{font-family:var(--mono);font-size:12.5px}button{font-family:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--text-dim)}.small{font-size:12.5px}.text-danger{color:var(--danger)}.link-strong{color:var(--text);font-weight:500}.link-strong:hover{color:var(--accent)}.app-shell{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid var(--border)}.brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--accent-strong),#8957e5);color:#fff;font-weight:700;font-size:18px;display:grid;place-items:center}.brand-name{font-weight:700;font-size:15px}.brand-sub{font-size:11.5px;color:var(--text-dim);letter-spacing:.04em}.nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius);color:var(--text-dim);font-weight:500}.nav-item:hover{background:var(--bg-elev-2);color:var(--text);text-decoration:none}.nav-active{background:#58a6ff1f;color:var(--accent)}.nav-icon{width:18px;text-align:center}.nav-count{margin-left:auto;background:var(--accent-strong);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;line-height:18px}.nav-item-review{border:1px solid var(--border);margin-top:6px}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px}.user-dot{width:9px;height:9px;border-radius:50%;background:var(--ok)}.user-meta{display:flex;flex-direction:column;min-width:0}.user-name{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:52px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;background:#0d1117eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5}.topbar-title{font-size:12px;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-email{font-size:12.5px;color:var(--text-dim)}.content{padding:24px;max-width:1240px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:18px}.page-title{margin-bottom:4px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-sub{color:var(--text-dim);margin:4px 0 0;max-width:720px}.page-actions{display:flex;gap:8px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:8px;flex-wrap:wrap}.card-actions{display:flex;gap:8px;align-items:center}.card-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-grid-sm{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stat-value{font-size:26px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-dim);font-size:12.5px}.stat-sub{color:var(--text-muted);font-size:11.5px}.tone-danger .stat-value{color:var(--danger)}.tone-warn .stat-value{color:var(--warn)}.tone-ok .stat-value{color:var(--ok)}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;border:1px solid var(--border-strong);white-space:nowrap;line-height:18px}.badge-muted{color:var(--text-dim);border-color:var(--border)}.st-backlog,.st-planned{color:#9ecbff}.st-in-progress{color:var(--warn)}.st-blocked{color:var(--danger)}.st-review{color:var(--purple)}.st-done{color:var(--ok)}.st-cancelled{color:var(--text-muted)}.pr-urgent{color:var(--urgent)}.pr-high{color:#ff9da0}.pr-medium{color:var(--warn)}.pr-low{color:var(--text-dim)}.hl-on-track{color:var(--ok)}.hl-at-risk{color:var(--warn)}.hl-blocked{color:var(--danger)}.hl-paused{color:var(--text-dim)}.hl-unknown{color:var(--text-muted)}.badge-source{border-style:dashed}.src-markdown{color:#9ecbff}.src-github{color:var(--purple)}.src-dashboard{color:var(--ok)}.src-agent{color:var(--warn)}.actor-user{color:#9ecbff}.actor-agent{color:var(--warn)}.actor-sync{color:var(--purple)}.actor-github{color:#a5d6ff}.actor-system{color:var(--text-dim)}.proposal-pending{color:var(--warn)}.proposal-applied,.proposal-approved{color:var(--ok)}.proposal-rejected{color:var(--danger)}.proposal-expired{color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:12.5px}.btn{border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);border-radius:var(--radius);padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.3}.btn:hover:not(:disabled){background:#262c36}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn-primary:hover:not(:disabled){background:#388bfd}.btn-danger{background:#f851491f;border-color:#f8514980;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f8514938}.btn-sm{padding:4px 10px;font-size:12px}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field-label{font-size:12.5px;font-weight:600;color:var(--text-dim)}.field-hint{font-size:11.5px;color:var(--text-muted)}input,select,textarea{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius);padding:8px 10px;font-size:13.5px;font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #58a6ff33}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.check{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px}.check input{width:auto}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:10px 12px;color:var(--text-dim);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--bg-elev-2);white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-elev-2)}.row-click{cursor:pointer}.progress{width:90px;height:6px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;overflow:hidden;margin-bottom:3px}.progress-fill{height:100%;background:var(--ok)}.row-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.row-item:last-child{border-bottom:none}.row-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.row-item-title{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-item-sub{color:var(--text-dim);font-size:12px}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feed-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.feed-item:last-child{border-bottom:none}.feed-action{font-weight:500}.feed-target{color:var(--text-dim);font-size:12.5px}.feed-time{color:var(--text-muted);font-size:12px;margin-left:auto;white-space:nowrap}.feed-value{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.feed-large .feed-item{align-items:flex-start}.feed-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.feed-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feed-details{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.feed-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.agent-health{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--text-dim)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar select,.toolbar .input-search{width:auto}.input-search{min-width:220px}.tabs{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tab{background:transparent;border:none;color:var(--text-dim);padding:7px 14px;cursor:pointer;font-size:12.5px;font-weight:500}.tab:hover{color:var(--text)}.tab-active{background:var(--bg-elev-2);color:var(--accent)}.seg{display:inline-flex;flex-wrap:wrap;gap:4px}.seg button{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}.seg .seg-active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:start}.kanban-col{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-height:200px}.kanban-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:10px}.kanban-card{width:100%;text-align:left;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:8px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.kanban-card:hover{border-color:var(--accent)}.kanban-card-title{font-weight:500;font-size:13px;color:var(--text)}.kanban-card-meta{display:flex;justify-content:space-between;align-items:center;gap:6px}.kanban-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:12px}.calendar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.calendar-dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);background:var(--bg-elev-2)}.calendar-dow-cell{padding:8px;text-align:center;font-size:11.5px;text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:96px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.calendar-cell:nth-child(7n){border-right:none}.calendar-out{background:#0d111766}.calendar-today .calendar-day{background:var(--accent-strong);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.calendar-day{font-size:12px;color:var(--text-dim);font-weight:600}.cal-item{font-size:11px;border-radius:4px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:4px;align-items:center;color:var(--text)}.cal-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.cal-task-due{background:#58a6ff29;color:#9ecbff}.cal-milestone{background:#a371f72e;color:var(--purple)}.cal-event{background:#3fb95024;color:var(--ok)}.cal-more{font-size:11px;color:var(--text-dim)}.calendar-heading{min-width:150px;text-align:center}.agenda{display:flex;flex-direction:column;gap:2px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 600px at 80% -10%,rgba(88,166,255,.09),transparent 60%),radial-gradient(900px 500px at 10% 110%,rgba(163,113,247,.08),transparent 60%),var(--bg)}.login-card{width:min(420px,100%);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:14px;padding:32px;display:flex;flex-direction:column;box-shadow:0 24px 70px #00000073}.login-brand{border-bottom:1px solid var(--border);padding:0 0 18px;margin-bottom:10px}.login-title{font-size:20px;margin-top:8px}.login-desc{color:var(--text-dim);margin:6px 0 18px;line-height:1.55}.login-cta{width:100%;justify-content:center;padding:10px 14px;font-size:14px}.login-hint{font-size:12.5px;color:var(--warn);margin:12px 0 0;line-height:1.5}.login-foot{font-size:11.5px;color:var(--text-muted);text-align:center;margin:18px 0 0;letter-spacing:.04em;text-transform:uppercase}.login-loading{color:var(--text-dim);text-align:center;padding:40px 0;margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#010409b8;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:12px;width:min(560px,100%);max-height:88vh;overflow-y:auto}.modal-wide{width:min(820px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-body{padding:18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.confirm-message{margin:0}.loading,.empty-state{padding:48px 16px;text-align:center;color:var(--text-dim)}.empty-state h3{margin-top:10px;color:var(--text)}.empty-icon{font-size:28px;color:var(--text-muted)}.error-box{border:1px solid rgba(248,81,73,.5);background:#f8514914;color:var(--danger);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.code-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-word}.key-box{display:flex;gap:10px;align-items:center;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px;margin:10px 0}.key-box code{flex:1;word-break:break-all;color:var(--warn)}.detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0;font-size:13px}.detail-grid dt{color:var(--text-dim)}.detail-grid dd{margin:0}.task-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.status-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.source-ref{font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap}.source-ref:last-child{border-bottom:none}.proposal-list{display:flex;flex-direction:column;gap:14px}.proposal-title{font-weight:600}.proposal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}.proposal-diff{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}.diff-side{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.diff-side pre{margin:0;white-space:pre-wrap}.diff-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:6px}.diff-arrow{align-self:center;color:var(--text-dim)}.proposal-actions{display:flex;gap:10px;margin-top:12px}.proposal-reason{font-size:13px;margin:8px 0 0}.guide{display:flex;flex-direction:column;gap:12px}@media(max-width:900px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border)}.nav{flex-direction:row;flex-wrap:wrap;overflow:visible}.grid-2,.proposal-diff{grid-template-columns:1fr}.content{padding:16px}}
