:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#0b1c30;background:#f8f9ff;font-synthesis:none;--primary: #644fac;--primary-soft: #f4f3ff;--primary-container: #9d88e9;--surface: #ffffff;--surface-low: #eff4ff;--background: #f8f9ff;--text: #0b1c30;--muted: #667085;--outline: #d9dce5;--danger: #ba1a1a;--radius: 12px;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--background)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font:600 11px/16px ui-monospace,SFMono-Regular,monospace;letter-spacing:.11em;color:var(--primary)}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-lockup>span:last-child{display:grid}.brand-lockup strong{font-size:17px;line-height:20px}.brand-lockup small{color:var(--muted);font-size:11px;line-height:16px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--primary);color:#fff;font-weight:700}.session-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid #d8d3ed;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner.light{border-color:#fff6;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr)}.login-intro{padding:48px clamp(32px,6vw,96px);background:var(--surface-low);display:flex;flex-direction:column;justify-content:space-between}.login-brand{align-self:flex-start}.login-intro h1{margin:16px 0 18px;font-size:clamp(36px,4.4vw,62px);line-height:1.12;letter-spacing:-.04em}.login-intro p{max-width:520px;color:var(--muted);font-size:16px;line-height:28px}.login-footnote{color:var(--muted)}.login-form-column{display:grid;place-items:center;padding:36px;background:var(--surface)}.login-card{width:min(420px,100%);display:grid;gap:20px}.login-card header{margin-bottom:10px}.login-card h2{margin:8px 0;font-size:30px;line-height:38px;letter-spacing:-.02em}.login-card header p,.security-note{margin:0;color:var(--muted);font-size:13px;line-height:21px}.login-card label{display:grid;gap:8px;font-size:13px;font-weight:600}.login-card input{width:100%;height:48px;border:1px solid var(--outline);border-radius:10px;padding:0 14px;color:var(--text);background:#fff;outline:none}.login-card input:focus{border-color:var(--primary-container);box-shadow:0 0 0 3px #9d88e92b}.form-error{margin:-4px 0;padding:10px 12px;border-radius:8px;color:#93000a;background:#ffdad6;font-size:13px}.primary-button{height:48px;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--primary);color:#fff;font-weight:600;box-shadow:0 3px 8px #644fac2b}.primary-button:hover:not(:disabled){background:#533e99}.primary-button:disabled{opacity:.55}.security-note{text-align:center}.app-frame{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;background:#fff;border-right:1px solid #e7e9f0;display:flex;flex-direction:column;gap:30px}.sidebar nav{display:grid;gap:6px}.nav-item{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:9px;display:flex;align-items:center;gap:10px;color:#4b5565;background:transparent;text-decoration:none;font-size:14px}.nav-item.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.nav-item.logout{margin-top:auto}.nav-item:hover{background:#f7f7fb;color:var(--primary)}.sidebar-error{margin:-22px 10px 0;color:var(--danger)}.app-content{padding:32px}.page-wrap{width:min(1440px,100%);margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2px 0 24px}.page-header h1{margin:6px 0 4px;font-size:30px;line-height:38px;letter-spacing:-.02em}.page-header p{margin:0;color:var(--muted);font-size:14px}.header-action{width:auto;height:42px;padding:0 16px;text-decoration:none}.inbox-card{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 3px #0000000d}.filters-bar{padding:14px;border-bottom:1px solid #edf0f4;display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,120px) repeat(2,110px);gap:10px}.filters-bar input,.filters-bar select{height:40px;border:1px solid var(--outline);border-radius:8px;background:#fff;color:var(--text);outline:none;padding:0 11px;font-size:13px}.filters-bar input:focus,.filters-bar select:focus{border-color:var(--primary-container);box-shadow:0 0 0 3px #9d88e925}.search-box{position:relative}.search-box svg{position:absolute;left:12px;top:10px;color:#8a8f9c}.search-box input{width:100%;padding-left:40px}.feedback-table-wrap{overflow-x:auto;transition:opacity .15s}.feedback-table-wrap.refreshing{opacity:.52}.feedback-table{width:100%;border-collapse:collapse;min-width:900px}.feedback-table th{padding:11px 16px;background:#f6f8fb;color:#687284;text-align:left;font:600 11px/16px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.feedback-table td{padding:14px 16px;border-top:1px solid #edf0f4;color:#344054;font-size:13px;vertical-align:middle}.feedback-table tbody tr:hover{background:#fafbfe}.row-delete-button{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:#98a2b3}.row-delete-button:hover:not(:disabled){border-color:#f1b7b2;background:#fff4f3;color:var(--danger)}.row-delete-button:disabled{opacity:.45}.row-delete-button svg{width:16px;height:16px}.feedback-title{display:flex;gap:11px;color:var(--text);text-decoration:none}.feedback-title:hover strong{color:var(--primary)}.feedback-title>span:last-child{display:grid;gap:5px}.feedback-title strong{max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.feedback-title small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.feedback-title code{font-family:ui-monospace,monospace}.type-icon{flex:0 0 32px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.feedback-title.bug .type-icon{color:#b42318;background:#feeceb}.feedback-title.idea .type-icon{color:#175cd3;background:#eaf2ff}.type-icon svg{width:17px;height:17px}.has-image{display:inline-flex;align-items:center;gap:3px}.has-image svg{width:13px;height:13px}.route-text{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}.cell-subtext{display:block;margin-top:4px;color:var(--muted)}.status-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.triage{color:#475467;background:#f2f4f7}.status-badge.ready{color:#175cd3;background:#eaf2ff}.status-badge.in_progress,.status-badge.awaiting_user_decision{color:#6941c6;background:#f2edff}.status-badge.blocked{color:#b42318;background:#feeceb}.status-badge.awaiting_acceptance{color:#b54708;background:#fff1dc}.status-badge.completed{color:#067647;background:#e7f8ef}.status-badge.declined{color:#667085;background:#eceff3}.pagination{min-height:58px;padding:10px 16px;border-top:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.pagination div{display:flex;gap:7px}.pagination button{width:36px;height:36px;border:1px solid var(--outline);border-radius:8px;display:grid;place-items:center;background:#fff;color:#4b5565}.pagination button:disabled{opacity:.35}.state-panel{min-height:330px;padding:40px;display:grid;place-items:center;align-content:center;text-align:center}.state-panel h2{margin:15px 0 6px;font-size:18px}.state-panel p{margin:0 0 18px;color:var(--muted)}.empty-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft)}.empty-icon svg{width:25px;height:25px}.secondary-button{min-height:38px;padding:0 14px;border:1px solid #d7d3e9;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-weight:600}.loading-rows{padding:24px;display:grid;gap:14px}.loading-rows i{height:48px;border-radius:8px;background:linear-gradient(90deg,#f2f4f7 20%,#fafbfc,#f2f4f7 80%);background-size:240% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-240% 0}}.detail-page{padding-bottom:80px}.back-link{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;color:#5f6674;text-decoration:none;font-size:13px}.back-link:hover{color:var(--primary)}.back-link svg{width:17px;height:17px}.notice-banner{margin-bottom:16px;padding:12px 16px;border:1px solid #ded8ef;border-radius:10px;display:flex;align-items:center;gap:8px;background:var(--primary-soft);color:#4c3692;font-size:13px}.source-chip{padding:3px 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:11px;font-weight:600}.create-card{display:grid;gap:14px}.create-card{max-width:720px;padding:22px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.create-card label,.inline-field{display:grid;gap:7px;color:#5b6473;font-size:12px;font-weight:600}.create-card select{width:180px;height:40px;border:1px solid var(--outline);border-radius:8px;padding:0 10px;background:#fff}.inline-field{margin-bottom:14px;max-width:180px}.inline-field select{height:40px;border:1px solid var(--outline);border-radius:8px;padding:0 10px;background:#fff}.version-list{margin:0;padding:0;list-style:none;display:grid;gap:16px}.version-list li{padding-bottom:16px;border-bottom:1px solid #edf0f4}.version-list li:last-child{padding-bottom:0;border-bottom:0}.version-list strong{font-size:13px}.version-list p{margin:6px 0;color:#4b5565;font-size:12px}.version-list small{color:var(--muted);font-size:11px}.detail-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.detail-header h1{max-width:920px;margin:8px 0 0;font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.025em}.detail-type-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center}.detail-type-icon.bug{color:#b42318;background:#feeceb}.detail-type-icon.idea{color:#175cd3;background:#eaf2ff}.detail-type-icon svg{width:22px;height:22px}.detail-kicker{min-height:24px;display:flex;align-items:center;gap:10px}.detail-kicker code{color:var(--muted);font:500 11px/16px ui-monospace,monospace}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.detail-main{display:grid;gap:16px;min-width:0}.detail-side{position:sticky;top:22px;display:grid;gap:14px}.detail-card,.side-card{border:1px solid #e2e8f0;border-radius:13px;background:#fff;box-shadow:0 1px 3px #0000000a;overflow:hidden}.detail-card>header{min-height:48px;padding:0 18px;border-bottom:1px solid #edf0f4;display:flex;align-items:center}.detail-card>header span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.detail-card>header svg{width:17px;height:17px;color:var(--primary)}.detail-card-body{padding:20px}.feedback-body-editor{width:100%;min-height:220px;resize:vertical;border:1px solid #d0d5dd;border-radius:9px;padding:13px 14px;background:#fff;color:#293548;font:inherit;line-height:1.65}.feedback-body-editor:focus{outline:2px solid #d9d6fe;border-color:#7f56d9}.side-card{padding:18px}.side-card h2{margin:0 0 16px;font-size:15px}.update-card{padding:0}.update-card-header{padding:18px;border-bottom:1px solid #eaecf0}.update-card-header h2{margin:0 0 5px;font-size:16px}.update-card-header p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.workflow-section{margin:0;padding:18px;border:0;border-bottom:1px solid #eaecf0;display:grid;gap:14px;min-width:0}.workflow-heading{display:flex;align-items:flex-start;gap:10px}.workflow-step{flex:0 0 24px;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:#59449c;background:#f0edfa;font-size:11px;font-weight:700}.workflow-heading h3,.workflow-heading-copy h3{margin:1px 0 3px;color:#253044;font-size:13px;line-height:18px}.workflow-heading p,.workflow-heading-copy p{margin:0;color:var(--muted);font-size:11px;line-height:17px}.workflow-heading-copy{display:grid;gap:2px}.workflow-heading-copy strong{color:#253044;font-size:13px;line-height:18px}.workflow-heading-copy small{color:var(--muted);font-size:11px;line-height:17px;font-weight:400}.update-card .ready-box{background:#fbfaff}.ready-hints{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;list-style:none}.ready-hints li{position:relative;padding-left:13px;color:#596273;font-size:12px;line-height:18px}.ready-hints li:before{content:"";position:absolute;left:0;top:7px;width:4px;height:4px;border-radius:50%;background:#8974cc}.update-card .discussion-choice{min-height:56px;padding:10px 11px;border:1px solid #ded8ef;border-radius:8px;display:flex;align-items:center;gap:10px;background:#fff;color:#344054;cursor:pointer}.update-card .discussion-choice:has(input:checked){border-color:#9d88e9;background:#f5f2ff}.update-card .discussion-choice input[type=checkbox]{appearance:auto;flex:0 0 16px;width:16px;height:16px;margin:0;padding:0;accent-color:var(--primary);box-shadow:none}.discussion-choice>span{display:grid;gap:2px}.discussion-choice strong{color:#344054;font-size:12px;line-height:18px}.discussion-choice small{color:var(--muted);font-size:10px;line-height:15px;font-weight:400}.update-card .text-field{display:grid;gap:7px;color:#5b6473;font-size:12px;font-weight:600}.update-card select,.update-card input:not([type=checkbox]){width:100%;height:40px;border:1px solid var(--outline);border-radius:8px;padding:0 10px;background:#fff;color:var(--text);outline:none;font-size:13px}.update-card select:focus,.update-card input:not([type=checkbox]):focus{border-color:var(--primary-container);box-shadow:0 0 0 3px #9d88e925}.update-card .primary-button,.update-card .secondary-button{width:100%;height:40px;min-height:40px;margin:0;box-shadow:none}.update-card .secondary-button{background:#fff}.alternate-action{background:#fcfcfd}.acceptance-action{background:#fbfaff}.record-actions{padding:18px;display:grid;gap:12px;background:#fffdfd}.record-actions>div{display:grid;gap:2px}.record-actions strong{color:#5b6473;font-size:12px}.record-actions span{color:#98a2b3;font-size:11px}.record-actions .danger-button{width:100%}.danger-button{height:40px;border:1px solid #efb4b4;border-radius:8px;background:#fff;color:var(--danger);font-weight:600}.danger-button:hover:not(:disabled){border-color:var(--danger);background:#fff4f3}.danger-button:disabled{opacity:.55}.metadata-card{display:grid;gap:13px}.metadata-card h2{margin-bottom:2px}.meta-row{display:grid;gap:4px;min-width:0}.meta-row>span{color:var(--muted);font-size:11px}.meta-row>strong{min-width:0;overflow-wrap:anywhere;color:#344054;font-size:13px;font-weight:500}.meta-row>strong.mono{font-family:ui-monospace,monospace;font-size:11px}.feedback-screenshot{display:block;width:100%;max-height:720px;object-fit:contain;border:1px solid #e4e7ec;border-radius:9px;background:#f5f6f8}.markdown-body{color:#293548;font-size:14px;line-height:1.75;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h2{margin:22px 0 8px;font-size:19px}.markdown-body h3{margin:18px 0 7px;font-size:16px}.markdown-body p{margin:0 0 13px}.markdown-body ul,.markdown-body ol{margin:0 0 14px;padding-left:22px}.markdown-body code,.diagnostic-columns code,.failed-request code,.warning-list code{padding:2px 5px;border-radius:5px;background:#f2f4f7;font-family:ui-monospace,monospace;font-size:12px}.markdown-body pre{padding:14px;border-radius:8px;overflow-x:auto;background:#182230;color:#eaf1ff}.markdown-body pre code{padding:0;background:none;color:inherit}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.failed-request{margin-top:18px;padding:12px;border-radius:9px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff4f2;color:#7a271a;font-size:12px}.diagnostic-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.diagnostic-columns>div{min-width:0;padding:13px;border:1px solid #edf0f4;border-radius:9px}.diagnostic-columns h3{margin:0 0 10px;font-size:12px}.diagnostic-columns ul{max-height:240px;margin:0;padding:0;overflow:auto;list-style:none}.diagnostic-columns li{padding:7px 0;border-top:1px solid #f0f2f5;display:flex;justify-content:space-between;gap:10px}.diagnostic-columns li:first-child{border-top:0}.diagnostic-columns code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagnostic-columns time{flex:0 0 auto;color:var(--muted);font-size:10px}.warning-list{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#7a5d00;font-size:12px}.warning-list code{background:#fff8db}.muted-copy{margin:0;color:var(--muted);font-size:13px}.timeline{margin:0;padding:0;list-style:none}.timeline li{position:relative;min-height:58px;padding:0 0 18px 25px;border-left:1px solid #ddd8ed}.timeline li:last-child{min-height:auto;padding-bottom:0;border-left-color:transparent}.timeline-dot{position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--primary-container);box-shadow:0 0 0 4px #f4f3ff}.timeline strong{font-size:13px}.timeline p{margin:4px 0;color:#4b5565;font-size:12px}.timeline small{color:var(--muted);font-size:11px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;min-height:46px;padding:0 16px;border-radius:10px;display:flex;align-items:center;gap:9px;color:#fff;box-shadow:0 12px 28px #10182830;font-size:13px;font-weight:600}.toast.success{background:#067647}.toast.error{background:#b42318}.secret-once{margin:0 0 18px;padding:16px 18px;border-radius:var(--radius);background:#fff7ed;border:1px solid #fed7aa;display:grid;gap:8px}.secret-once strong{font-size:13px;color:#9a3412}.secret-once code{overflow-wrap:anywhere;font-size:13px}.credential-list{display:grid;gap:10px}.credential-row{min-height:72px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:var(--radius);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.credential-row div{display:grid;gap:6px}.credential-row code{font-size:13px}.credential-row small{color:var(--muted);font-size:12px}.credential-row button{height:36px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--danger)}.empty-copy{color:var(--muted)}.toast svg{width:18px;height:18px}.detail-loading{display:grid;gap:16px}.detail-loading i{height:120px;border-radius:13px;background:linear-gradient(90deg,#eef1f5 20%,#f9fafb,#eef1f5 80%);background-size:240% 100%;animation:shimmer 1.2s infinite}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-intro{min-height:230px;padding:28px 24px}.login-intro>div:nth-child(2){margin-top:44px}.login-intro h1{font-size:30px}.login-intro p,.login-footnote{display:none}.login-form-column{place-items:start stretch;padding:32px 24px}.login-card{margin:0 auto}.app-frame{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:auto;padding:14px 18px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid #e7e9f0}.sidebar nav{margin-left:auto}.sidebar .nav-item{width:auto}.sidebar .logout{margin:0}.app-content{padding:20px}.page-header{align-items:flex-start}.page-header p{display:none}.filters-bar{grid-template-columns:1fr 1fr}.search-box{grid-column:1 / -1}.compact-filter{min-width:0}.detail-grid{grid-template-columns:1fr}.detail-side{position:static;grid-row:1}.diagnostic-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.sidebar .brand-lockup>span:last-child,.sidebar .nav-item{font-size:0}.sidebar .nav-item{padding:0 10px}.filters-bar{grid-template-columns:1fr}.search-box{grid-column:auto}.app-content{padding:16px 12px}.detail-header h1{font-size:22px}.detail-kicker{align-items:flex-start;flex-direction:column;gap:5px}.detail-kicker code{overflow-wrap:anywhere}.notice-banner{align-items:flex-start;flex-wrap:wrap}.diagnostic-grid,.diagnostic-columns{grid-template-columns:1fr}.detail-card-body{padding:16px}.toast{left:12px;right:12px;bottom:12px;justify-content:center}}
