@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #F7F7FE;--surface: #F9F9FB;--card: #FFFFFF;--card-hover: #F5F5FB;--border: #EBEAF2;--border-subtle: #F0F0F6;--text: #1A1F2E;--text-muted: #6C718A;--text-dim: #9CA0B4;--accent: #408DFB;--accent-soft: rgba(64, 141, 251, .08);--accent-hover: #5A9FFD;--accent-contrast: #FFFFFF;--green: #10B981;--green-soft: rgba(16, 185, 129, .1);--red: #E5453E;--red-soft: rgba(229, 69, 62, .1);--blue: #1B6DE0;--blue-soft: rgba(27, 109, 224, .1);--orange: #E88C30;--orange-soft: rgba(232, 140, 48, .12);--purple: #7C3AED;--purple-soft: rgba(124, 58, 237, .1);--cyan: #0891B2;--cyan-soft: rgba(8, 145, 178, .1);--topbar-bg: #1E2235;--topbar-text: #E8ECF1;--topbar-dim: #8899AB;--topbar-border: #2E3348;--surface-2: var(--card-hover);--muted: var(--text-muted);--accent-2: var(--accent-hover);--amber: var(--orange);--radius-card: 6px;--radius-ctl: 4px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-pop: 0 10px 30px -4px rgba(16, 24, 40, .18);--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d5d8e2;border-radius:3px}::selection{background:var(--accent-soft)}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button{font:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 16px;border-radius:var(--radius-ctl);transition:all .15s var(--ease)}button:hover{background:var(--card-hover);border-color:var(--accent)}button:active{transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{filter:brightness(1.07);border-color:var(--accent);background:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}input,select,textarea{font:inherit;font-size:14px;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:8px 12px;transition:border-color .15s,box-shadow .15s;outline:none}input:hover,select:hover,textarea:hover{border-color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:76px}input::placeholder,textarea::placeholder{color:var(--text-dim)}label{display:block;margin:14px 0 6px;color:var(--text-muted);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 20px;height:54px;background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);color:var(--topbar-text)}.topbar .brand{font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff}.topbar .brand:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:3px;background:var(--accent);vertical-align:middle}.topbar nav{display:flex;gap:6px}.topbar nav a{color:var(--topbar-dim);padding:6px 12px;border-radius:var(--radius-ctl);font-weight:500;transition:all .15s}.topbar nav a.active{color:#fff;background:#ffffff14}.topbar nav a:hover{color:#fff;text-decoration:none;background:#ffffff0f}.topbar .spacer{flex:1}.topbar .user{color:var(--topbar-dim);font-size:13px}.topbar button{background:#ffffff0f;border-color:var(--topbar-border);color:var(--topbar-text)}.topbar button:hover{background:#ffffff1f;border-color:var(--topbar-border)}.content{flex:1;overflow:auto;padding:26px}.container{max-width:1240px;margin:0 auto;animation:fade-in-up .3s var(--ease)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;box-shadow:var(--shadow-sm)}.row{display:flex;gap:12px;flex-wrap:wrap}.grid{display:grid;gap:16px}.muted{color:var(--text-muted)}.title{font-size:22px;font-weight:700;margin:0 0 16px;letter-spacing:-.02em;line-height:1.25}.h2{font-size:11px;font-weight:600;margin:22px 0 8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.section>p,.section-body,.field-value{font-size:14px;line-height:1.6;color:var(--text)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;background:var(--border-subtle);color:var(--text-muted);border:none}.badge.NotReady{background:var(--border-subtle);color:var(--text-muted)}.badge.NeedsRefinement{background:var(--blue-soft);color:var(--blue)}.badge.Ready{background:var(--green-soft);color:var(--green)}.badge.AtRisk{background:var(--orange-soft);color:var(--orange)}.badge.Blocked{background:var(--red-soft);color:var(--red)}.pill{font-size:12px;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--border-subtle);border:none;color:var(--text-muted)}.pill-type{background:var(--accent-soft);color:var(--accent);font-weight:600}.section>p{margin:0}.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}.column{min-width:264px;max-width:264px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.column .col-head{padding:11px 14px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text);border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.column .col-body{padding:10px;display:flex;flex-direction:column;gap:10px;min-height:60px}.issue-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.issue-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #1018281f}.issue-card .ik{font-size:12px;font-weight:700;color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace}.issue-card .sm{margin:5px 0 10px;line-height:1.4}.issue-card .meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.issue-list{width:100%;border-collapse:collapse;font-size:13px}.issue-list th,.issue-list td{text-align:left;padding:11px 14px}.issue-list thead{background:var(--surface)}.issue-list th{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.issue-list td{border-bottom:1px solid var(--border-subtle)}.issue-list tbody tr{transition:background .1s}.issue-list tr:hover td{background:var(--card-hover)}.issue-list tbody tr:last-child td{border-bottom:none}.login-wrap{display:grid;place-items:center;height:100%;background:radial-gradient(1200px 600px at 50% -10%,rgba(64,141,251,.1),transparent 60%),var(--bg)}.login-card{width:380px;animation:scale-in .25s var(--ease)}.error{color:var(--red);font-size:13px;margin-top:8px}.success{color:var(--green);font-size:13px;margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;animation:fade-in .18s ease-out}.modal{width:560px;max-width:92vw;max-height:88vh;overflow:auto;box-shadow:var(--shadow-pop);animation:scale-in .2s var(--ease)}.kv{display:grid;grid-template-columns:130px 1fr;gap:7px 12px}.kv .k{color:var(--text-muted)}.section{margin-top:22px}.rule{border:none;border-top:1px solid var(--border);margin:18px 0 4px}.code{font-family:JetBrains Mono,ui-monospace,monospace;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:9px 11px;word-break:break-all;font-size:12px;color:var(--text)}.key-link{font-family:JetBrains Mono,ui-monospace,monospace}.token-box{background:var(--green-soft);border:1px solid var(--green)}.subnav{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:14px 0 22px}.subnav a{padding:9px 14px;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.subnav a:hover{color:var(--text);text-decoration:none}.subnav a.active{color:var(--accent);border-bottom-color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px 18px;box-shadow:var(--shadow-sm)}.stat-card .v{font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-card .l{font-size:12px;color:var(--text-muted);margin-top:5px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-sm)}.card-title{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.01em}.card-subtitle{font-size:12px;color:var(--text-muted);margin-top:3px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.legend .dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:middle}@media (max-width: 860px){.chart-grid{grid-template-columns:1fr}}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-bar select{width:auto;min-width:130px;font-size:13px;padding:7px 10px}.filter-bar .search{flex:1;min-width:220px}.issue-list td{vertical-align:middle}.issue-list tr td:first-child{font-family:JetBrains Mono,ui-monospace,monospace}.people{display:flex;gap:28px;flex-wrap:wrap}.person-block{display:flex;align-items:center;gap:10px}.person-block .who{display:flex;flex-direction:column;gap:1px}.person-block .who .role{font-size:11px;color:var(--text-dim)}.person-block .who .nm{font-size:14px;font-weight:500}
