html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{font-family:Aptos,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#1f2420;background:#f6f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--page: #f6f7f4;--surface: #ffffff;--surface-muted: #f1f4f0;--surface-hover: #edf2ed;--ink: #1f2420;--ink-soft: #424a43;--muted: #68716a;--subtle: #8a948d;--line: #dde4dc;--line-strong: #c6d0c6;--primary: #29483d;--primary-hover: #1f372f;--primary-soft: #e4eee9;--blue: #466282;--blue-soft: #e7edf4;--amber: #9a6332;--amber-soft: #f3e7d8;--red: #a34e43;--red-soft: #f3e1de;--shadow: 0 18px 48px rgba(31, 36, 32, .07);--radius: 8px;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--page)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.ant-btn,.ant-input,.ant-select-selector,.ant-upload-list-item{box-shadow:none!important}.ant-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;font-weight:650}.ant-btn .anticon,.nav .anticon,.item-time .anticon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.ant-btn-primary{background:var(--primary)}.ant-btn-primary:hover{background:var(--primary-hover)!important}.ant-input,.ant-select-selector{border-color:var(--line)!important}.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector{border-color:var(--primary)!important}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled),.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){color:#f7fbf8;background:var(--primary)}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-content,.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) .ant-select-item-option-content{color:#f7fbf8}.ant-segmented{padding:3px;background:var(--surface-muted)}.ant-segmented-item{border-radius:6px}.ant-empty{color:var(--muted)}.boot-screen{display:grid;min-height:100vh;align-content:center;justify-items:center;gap:12px;color:var(--muted)}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(41,72,61,.08),transparent 34%),var(--page)}.login-card{width:min(408px,100%);padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.login-brand,.brand{display:flex;min-width:0;gap:12px;align-items:center}.brand-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:var(--radius);color:#fff;background:var(--ink);font-size:12px;font-weight:800;letter-spacing:.02em}.login-brand span,.brand span,.eyebrow{display:block;color:var(--muted);font-size:12px;letter-spacing:0}.login-brand strong,.brand strong{display:block;margin-top:2px;overflow:hidden;color:var(--ink);font-size:18px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.login-form{display:grid;gap:16px;margin-top:30px}label{display:grid;min-width:0;gap:7px;color:var(--muted);font-size:13px}.form-error{margin:0;color:var(--red);font-size:13px}.login-button{width:100%;margin-top:4px}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(210px,auto) minmax(0,1fr) minmax(190px,auto);align-items:center;gap:18px;min-height:66px;padding:0 24px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav{display:flex;justify-content:center;gap:6px;min-width:0}.nav button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;min-width:82px;padding:0 13px;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);background:transparent;font-weight:680;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}.nav button:hover{color:var(--ink);background:var(--surface-muted)}.nav button.active{color:var(--ink);border-color:var(--line);background:var(--surface-muted)}.profile{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;justify-self:end;gap:10px;min-width:0}.profile strong,.profile span{display:block;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.profile span{margin-top:3px;color:var(--muted);font-size:12px}.main-surface{min-width:0;padding:18px 22px 28px}.workspace-section{width:min(100%,1560px);margin:0 auto}.workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.workspace-header h1{margin:3px 0 7px;color:var(--ink);font-size:28px;line-height:1.16;letter-spacing:0}.workspace-header p{margin:0;max-width:680px;color:var(--muted);line-height:1.55}.workspace-meta-row{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:13px}.workspace-meta-row span+span:before{content:"/";display:inline-block;margin:0 10px 2px 0;color:var(--subtle)}.workspace-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.project-list-panel,.content-panel,.project-record,.empty-state,.detail-loading{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.project-list-panel{position:sticky;top:84px;align-self:start;padding:12px;box-shadow:0 12px 34px #1f24200a}.panel-title,.section-heading,.workbench-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{margin-bottom:12px}.panel-title>div,.section-heading>div,.workbench-bar>div{display:grid;gap:3px}.panel-title span,.section-heading span{color:var(--muted);font-size:13px}.panel-title strong,.section-heading strong,.workbench-bar strong{color:var(--ink);font-size:18px;line-height:1.05}.directory-controls{display:grid;gap:8px;margin-bottom:8px}.search-box,.select-field{width:100%}.project-list{display:grid}.project-list-item{display:grid;width:100%;min-width:0;gap:9px;padding:12px 8px 12px 11px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:0;background:transparent;color:inherit;text-align:left;transition:background .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.project-list-item:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.project-list-item:last-child{border-bottom-color:transparent;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.project-list-item:hover{background:var(--surface-muted)}.project-list-item.selected{border-color:var(--line-strong);background:#f7faf7;box-shadow:inset 3px 0 0 var(--primary)}.project-row-top,.project-row-footer,.item-meta,.item-time{display:flex;align-items:center;min-width:0}.project-row-top,.project-row-footer{justify-content:space-between;gap:10px}.item-main{display:grid;min-width:0;gap:3px}.item-main strong,.file-item strong,.demo-item strong,.user-item strong{display:block;min-width:0;color:var(--ink);line-height:1.25;overflow-wrap:anywhere}.item-main span,.item-time,.item-meta,.file-item span,.demo-item span,.note-item span{color:var(--muted);font-size:12px}.item-meta{gap:6px;flex-wrap:wrap}.item-time{flex:0 0 auto;gap:6px;white-space:nowrap}.priority-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--subtle)}.stage-pill,.stage-chip,.priority-badge{display:inline-flex;align-items:center;max-width:100%;height:22px;margin:0;padding:0 7px;border:0;border-radius:6px;font-size:12px;line-height:1;white-space:nowrap}.stage-pill,.stage-chip{color:var(--blue);background:var(--blue-soft)}.priority-badge{color:var(--amber);background:var(--amber-soft)}.priority-high,.priority-dot.priority-high{color:var(--red);background:var(--red-soft)}.priority-dot.priority-high{background:var(--red)}.priority-low,.priority-dot.priority-low{color:var(--muted);background:var(--surface-hover)}.priority-dot.priority-low{background:var(--subtle)}.stage-demo{color:var(--amber);background:var(--amber-soft)}.stage-pilot,.stage-converted{color:var(--primary);background:var(--primary-soft)}.stage-paused,.stage-lost{color:var(--muted);background:var(--surface-hover)}.detail-column{min-width:0}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:14px;align-items:start}.record-main{display:grid;min-width:0;gap:12px}.project-record{display:grid;gap:14px;padding:16px;box-shadow:var(--shadow)}.record-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.project-heading{display:grid;min-width:0;gap:6px;justify-items:start}.record-key{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.02em;text-transform:uppercase}.title-input.ant-input{height:auto;min-height:38px;padding:0;border:0!important;border-radius:0;background:transparent;color:var(--ink);font-size:30px;font-weight:760;line-height:1.12;letter-spacing:0}.title-input.ant-input:focus{box-shadow:none!important}.record-actions,.action-row,.demo-actions,.file-actions{display:flex;gap:8px;flex-wrap:wrap}.record-actions{justify-content:flex-end}.next-action-card{padding:12px;border:1px solid #d7e2da;border-radius:var(--radius);background:#f2f7f3}.next-action-card label{color:var(--primary);font-weight:700}.next-action-field{min-height:72px;border-color:transparent!important;background:#ffffffc2}.project-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wide-control{grid-column:1 / -1}.project-meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line)}.project-meta-strip div{min-width:0;padding:10px 12px;background:#fbfcfb}.project-meta-strip dt,.project-meta-strip dd{margin:0}.project-meta-strip dt{color:var(--muted);font-size:12px}.project-meta-strip dd{margin-top:4px;overflow:hidden;color:var(--ink-soft);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-workbench{display:grid;min-width:0;gap:12px}.project-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:12px}.overview-block{min-width:0;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.overview-intro p{margin:0;color:var(--ink-soft);line-height:1.72;white-space:pre-wrap}.compact-heading{margin-bottom:12px}.compact-heading .ant-btn{height:32px}.overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0}.overview-facts div{min-width:0;padding:9px 10px;border-radius:7px;background:var(--surface-muted)}.overview-facts dt,.overview-facts dd{margin:0}.overview-facts dt{color:var(--muted);font-size:12px}.overview-facts dd{margin-top:4px;overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.repository-link{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px;color:var(--primary);background:#fbfcfb;text-decoration:none}.repository-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-card{display:grid;gap:12px;margin-top:12px}.activity-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}.activity-cell{width:100%;aspect-ratio:1;border-radius:3px;background:#e6ebe5}.activity-level-1{background:#c8d9cf}.activity-level-2{background:#96b7a5}.activity-level-3{background:#5f8873}.activity-level-4{background:var(--primary)}.commit-list,.overview-list{display:grid;gap:8px}.commit-item,.overview-list-item,.demo-account-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fbfcfb}.commit-item{grid-template-columns:18px minmax(0,1fr)}.commit-item>.anticon,.overview-list-item>.anticon,.demo-account-item>.anticon,.repository-link>.anticon{color:var(--primary)}.commit-item div,.overview-list-item div,.demo-account-item div{min-width:0}.commit-item strong,.overview-list-item strong,.demo-account-item strong{display:block;overflow:hidden;color:var(--ink);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.commit-item span,.overview-list-item span,.demo-account-item span{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.demo-account-item code{display:inline-block;max-width:100%;margin-top:6px;padding:4px 6px;overflow:auto;border-radius:5px;background:var(--primary-soft);color:var(--primary);font-size:12px}.inline-empty{padding:12px;border:1px dashed var(--line-strong);border-radius:7px;color:var(--muted);background:var(--surface-muted);font-size:13px}.document-preview-frame{width:100%;min-height:calc(100vh - 158px);border:1px solid var(--line);border-radius:7px;background:#fff}.workbench-bar{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8}.content-panel{min-width:0;padding:16px}.section-heading{margin-bottom:14px}.demo-form,.upload-strip,.user-form{display:grid;gap:10px;margin-bottom:14px}.demo-form{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-form>.ant-btn,.upload-strip>.ant-btn,.user-form>.ant-btn{width:max-content;align-self:end;justify-self:start}.upload-strip{grid-template-columns:minmax(132px,.6fr) minmax(0,1fr)}.upload-strip .ant-upload-wrapper{min-width:0}.upload-strip .ant-upload-list-item-name{max-width:280px}.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.note-composer{display:grid;grid-template-columns:156px minmax(0,1fr);gap:10px;margin-bottom:14px;align-items:start}.note-composer textarea{min-height:94px}.note-composer>.ant-btn{width:max-content;justify-self:end;grid-column:2}.note-list,.file-list,.demo-list,.user-list,.timeline-list{display:grid;gap:8px}.note-item,.file-item,.demo-item,.user-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fbfcfb}.note-item{display:block}.note-item p{margin:0 0 8px;color:var(--ink-soft);line-height:1.62;white-space:pre-wrap}.demo-item>div:first-child,.file-item>div:first-child,.user-item>div:first-child{min-width:0}.demo-item a{display:block;max-width:100%;margin-top:4px;overflow:hidden;color:var(--primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.demo-item code{display:inline-block;max-width:100%;margin-top:8px;padding:5px 7px;overflow:auto;border-radius:6px;background:var(--primary-soft)}.timeline-panel{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 104px);overflow:auto;box-shadow:0 12px 34px #1f24200a}.timeline-event{display:grid;grid-template-columns:11px minmax(0,1fr);gap:10px;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-event:last-child{border-bottom:0}.timeline-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--primary)}.timeline-event strong,.timeline-event p,.timeline-event span{display:block;margin:0}.timeline-event strong{color:var(--ink);font-size:14px;line-height:1.35}.timeline-event p{margin-top:3px;color:var(--ink-soft);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.timeline-event span{margin-top:5px;color:var(--muted);font-size:12px}.empty-copy,.empty-state,.detail-loading{margin:0;padding:22px;color:var(--muted);text-align:center}.settings-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-list h2{margin:8px 0;color:var(--ink);font-size:19px;overflow-wrap:anywhere}.settings-list p{margin:0;color:var(--muted);line-height:1.7}@media(min-width:1440px){.workspace-grid{grid-template-columns:316px minmax(0,1fr)}.record-layout{grid-template-columns:minmax(0,1fr) 336px}.upload-strip{grid-template-columns:148px minmax(0,1fr) minmax(190px,.8fr) auto}.user-form{grid-template-columns:repeat(4,minmax(138px,1fr)) auto}}@media(max-width:1240px){.record-layout{grid-template-columns:1fr}.timeline-panel{position:static;max-height:none}}@media(max-width:980px){.topbar{position:static;grid-template-columns:1fr;justify-items:stretch;gap:12px;padding:14px 16px}.nav{justify-content:stretch}.nav button{flex:1 1 0;min-width:0}.profile{width:100%;justify-self:stretch}.profile strong,.profile span{text-align:left}.workspace-grid,.project-overview,.settings-list{grid-template-columns:1fr}.project-list-panel{position:static}}@media(max-width:720px){.main-surface,.login-page{padding:14px}.workspace-header{align-items:stretch;flex-direction:column}.workspace-header h1{font-size:25px}.record-header,.project-controls,.project-meta-strip,.overview-facts,.demo-form,.upload-strip,.user-form,.note-composer{grid-template-columns:1fr}.title-input.ant-input{font-size:27px}.workspace-header .ant-btn,.record-actions .ant-btn,.note-composer>.ant-btn{width:100%}.record-actions{width:100%}.workbench-bar{align-items:stretch;flex-direction:column}.workbench-bar .ant-segmented{width:100%}.file-item,.demo-item,.overview-list-item,.demo-account-item,.user-item{grid-template-columns:1fr;align-items:start}.demo-actions,.file-actions{width:100%}.demo-actions .ant-btn,.file-actions .ant-btn{width:max-content}.note-composer>.ant-btn{grid-column:1}}@media(max-width:430px){.nav button{padding:0 8px;font-size:13px}.brand-mark{width:36px;height:36px;flex-basis:36px}.project-record,.content-panel,.project-list-panel{padding:12px}.title-input.ant-input{font-size:24px}.project-row-footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
