:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#1d2922;background:#f4f5f0;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1d2922;--muted: #718077;--line: #dfe5dd;--panel: #ffffff;--canvas: #f4f5f0;--green-950: #123522;--green-900: #193f2b;--green-800: #25573b;--green-700: #2f6a48;--green-100: #e7f1e8;--green-50: #f1f7f1;--lime: #b9da7a;--amber: #c88022;--red: #b8493f;--blue: #356b82;--shadow: 0 12px 40px rgba(34, 54, 42, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.app-shell.collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 16px 18px;color:#f4f8f3;background:radial-gradient(circle at 20% 0%,rgba(164,210,120,.13),transparent 34%),linear-gradient(180deg,#173b29,#102c1e);overflow:hidden;z-index:20}.sidebar-brand{min-height:48px;display:flex;align-items:center;gap:11px;padding:0 8px 20px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px 4px;color:#173b29;background:var(--lime);font-family:Songti SC,serif;font-size:21px;font-weight:800;box-shadow:inset 0 -2px #00000014}.brand-mark.large{width:48px;height:48px;font-size:27px}.sidebar-brand div{display:flex;min-width:0;flex-direction:column}.sidebar-brand strong{font-size:16px;letter-spacing:.05em}.sidebar-brand small{margin-top:3px;color:#9fb5a6;font-size:8px;letter-spacing:.12em}.main-nav{display:flex;flex-direction:column;gap:6px;margin-top:18px}.nav-caption{padding:0 13px 8px;color:#8fa697;font-size:10px;letter-spacing:.13em}.main-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 13px;border-radius:10px;color:#b9c9be;font-size:14px;transition:.15s ease}.main-nav a:hover{color:#fff;background:#ffffff0e}.main-nav a.active{color:#173b29;background:var(--lime);font-weight:650}.main-nav a.active:after{content:"";position:absolute;right:9px;width:5px;height:5px;border-radius:50%;background:#173b29}.collapsed .main-nav{align-items:center}.collapsed .main-nav a{width:46px;justify-content:center;padding:0}.collapsed .main-nav a.active:after{display:none}.sidebar-spacer{flex:1}.sidebar-note{display:flex;gap:10px;padding:13px;margin:12px 2px;border:1px solid rgba(185,218,122,.2);border-radius:10px;color:#ccddcf;background:#ffffff0a}.sidebar-note svg{flex:0 0 auto;margin-top:1px;color:var(--lime)}.sidebar-note div{display:flex;flex-direction:column;gap:2px}.sidebar-note strong{font-size:11px;font-weight:600}.sidebar-note span{color:#8fa697;font-size:10px}.collapse-button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:9px;color:#9eb0a2;background:transparent;font-size:12px}.collapse-button:hover{color:#fff;background:#ffffff0d}.collapsed .collapse-button{justify-content:center}.main-column{min-width:0}.topbar{position:sticky;top:0;height:68px;display:flex;align-items:center;gap:14px;padding:0 36px;border-bottom:1px solid rgba(218,225,216,.8);background:#f8f9f5e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:12}.topbar-search{display:flex;align-items:center;gap:9px;width:min(380px,48vw);height:38px;padding:0 12px;border:1px solid #e1e6df;border-radius:9px;color:#8b978f;background:#fff;font-size:12px;text-align:left}.topbar-search span{flex:1}.topbar-search kbd{padding:2px 6px;border:1px solid #e1e6df;border-radius:5px;color:#87928a;background:#f7f8f5;font-family:inherit;font-size:10px}.notification{position:relative;margin-left:auto}.notification i{position:absolute;top:9px;right:9px;width:5px;height:5px;border:1px solid var(--canvas);border-radius:50%;background:#cc654e}.profile-wrap{position:relative}.profile-button{display:flex;align-items:center;gap:9px;padding:5px 8px 5px 5px;border:0;border-radius:10px;color:var(--ink);background:transparent}.profile-button:hover{background:#ecefe9}.profile-button>span:nth-child(2){display:flex;min-width:88px;flex-direction:column;align-items:flex-start}.profile-button strong{font-size:12px;font-weight:650}.profile-button small{margin-top:1px;color:var(--muted);font-size:10px}.avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#244c34;background:#dceccc;font-size:12px;font-weight:750}.avatar.small{width:31px;height:31px;font-size:10px}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:190px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.profile-menu p{padding:7px 9px 10px;color:var(--muted);font-size:11px}.profile-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px;border:0;border-radius:7px;color:#39463f;background:transparent;text-align:left;font-size:12px}.profile-menu button:hover{background:#f1f4ef}.page-content{width:min(1460px,100%);margin:0 auto;padding:38px 40px 64px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.eyebrow{color:var(--green-700);font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.eyebrow.light{color:#cde6b2}.page-header h1{margin-top:7px;font-family:Songti SC,STSong,serif;font-size:clamp(27px,3vw,38px);font-weight:700;letter-spacing:-.04em}.page-header p{max-width:590px;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6}.primary-button,.secondary-button,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;white-space:nowrap}.primary-button{min-height:39px;padding:0 16px;border:1px solid var(--green-900);color:#fff;background:var(--green-900);font-size:12px;font-weight:650;box-shadow:0 6px 16px #173b2926}.primary-button:hover{background:var(--green-800)}.secondary-button{min-height:37px;padding:0 13px;border:1px solid #d6ddd5;color:#334139;background:#fff;font-size:12px;font-weight:550}.secondary-button:hover{border-color:#bec8bd;background:#f9faf8}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 14px;border:1px solid #a84940;border-radius:9px;color:#fff;background:#a84940;font-size:12px;font-weight:650}.danger-button:hover{background:#913a33}.danger-text-button{display:inline-flex;align-items:center;gap:5px;min-height:35px;padding:0 9px;border:0;color:#a24940;background:transparent;font-size:10px;font-weight:600}.danger-text-button:hover{border-radius:7px;background:#fff1ee}.danger-copy{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #efd5d1;border-radius:9px;color:#8e453d;background:#fff7f5}.danger-copy svg{flex:0 0 auto}.danger-copy p{font-size:11px;line-height:1.65}.text-button{padding:4px 2px;border:0;color:var(--green-700);background:transparent;font-size:12px;font-weight:600}.text-button:hover{color:var(--green-900)}.icon-button{width:35px;height:35px;padding:0;border:1px solid transparent;color:#5f6c64;background:transparent}.icon-button:hover{background:#ecefe9}.icon-button.subtle{border-color:#e2e7e0;background:#fff}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{position:relative;min-height:146px;padding:20px 21px;border:1px solid #e0e5de;border-radius:14px;background:#fff;box-shadow:0 8px 24px #1f2d2409;overflow:hidden}.metric-card:after{content:"";position:absolute;right:-18px;bottom:-30px;width:95px;height:95px;border-radius:50%;background:var(--wash)}.metric-card.mint{--wash: #e5f0dd;--accent: #47774f}.metric-card.sand{--wash: #f4ead2;--accent: #9a6c20}.metric-card.blue{--wash: #e2edf0;--accent: #376d7b}.metric-card.slate{--wash: #e7e9e7;--accent: #5a665e}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#6f7c74;font-size:12px}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--accent);background:var(--wash)}.metric-card>strong{display:block;margin-top:15px;font-family:Avenir Next,Helvetica Neue,sans-serif;font-size:32px;line-height:1;letter-spacing:-.04em}.metric-card>p{margin-top:8px;color:#89948d;font-size:10px}.alert-strip{display:flex;align-items:center;gap:13px;padding:15px 18px;margin-bottom:18px;border:1px solid #efdcc1;border-radius:12px;color:#73501d;background:#fff9ed}.alert-strip div{flex:1}.alert-strip strong{font-size:12px}.alert-strip p{margin-top:2px;color:#977644;font-size:10px}.alert-strip a{color:#73501d;font-size:11px;font-weight:650}.dashboard-columns{display:grid;grid-template-columns:1.12fr .88fr;gap:16px}.development-panel{margin-top:16px;overflow:hidden}.development-list{border-top:1px solid #edf0eb}.development-row{display:grid;grid-template-columns:minmax(0,1fr) 155px 90px 20px;align-items:center;gap:18px;padding:15px 22px;border-bottom:1px solid #edf0eb;transition:background .12s ease}.development-row:last-child{border-bottom:0}.development-row:hover{background:#fafcf9}.development-main{display:grid;min-width:0;grid-template-columns:112px minmax(0,1fr);column-gap:13px;row-gap:4px}.development-main strong{overflow:hidden;color:#29362e;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.development-main p{grid-column:2;color:#88948c;font-size:9px}.development-decomp{display:flex;min-width:0;flex-direction:column;gap:3px}.development-decomp span{color:#949e97;font-size:8px}.development-decomp strong{overflow:hidden;color:#3b674b;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.development-decomp em{color:#8d9891;font-size:9px;font-style:normal}.development-chevron{color:#a3aca6}.mindmap-stats{display:flex;align-items:stretch;gap:1px;padding:4px;border:1px solid #dde4db;border-radius:12px;background:#fff}.mindmap-stats span{display:flex;min-width:88px;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;color:#87928b;font-size:9px}.mindmap-stats span+span{border-left:1px solid #edf0eb}.mindmap-stats strong{color:#294132;font-family:Avenir Next,Helvetica Neue,sans-serif;font-size:18px}.mindmap-toolbar{display:flex;align-items:center;gap:10px;padding:13px 16px;margin-bottom:16px;border:1px solid #e0e5de;border-radius:12px;background:#fff;box-shadow:0 8px 24px #1f2d2408}.mindmap-toolbar .search-box{flex:1}.mindmap-toolbar>select{height:37px;padding:0 28px 0 11px;border:1px solid #dfe5dc;border-radius:8px;color:#58655d;background:#fbfcfa;font-size:10px}.mindmap-visible{color:#89948d;font-size:9px;white-space:nowrap}.mindmap-canvas{min-height:540px;padding:26px;border:1px solid #dfe6dc;border-radius:16px;background:radial-gradient(circle,#dce4da .8px,transparent .9px) 0 0 / 18px 18px,linear-gradient(180deg,#fbfcf9,#f4f7f1)}.mindmap-root{position:relative;z-index:2;width:fit-content;display:flex;align-items:center;gap:11px;margin:0 auto;padding:13px 18px;border:1px solid #2e5f41;border-radius:11px;color:#fff;background:linear-gradient(135deg,#285a3b,#1c432d);box-shadow:0 12px 26px #1c432d2e}.mindmap-root>span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:#23452f;background:var(--lime)}.mindmap-root div{display:flex;flex-direction:column}.mindmap-root strong{font-size:13px}.mindmap-root small{margin-top:2px;color:#b7cbbd;font-size:8px}.mindmap-trunk{width:1px;height:24px;margin:0 auto;background:#a9c0ad}.mindmap-stages{position:relative;display:grid;gap:18px;padding-top:12px}.mindmap-stages:before{content:"";position:absolute;top:0;left:4%;right:4%;height:1px;background:#b8cbb9}.mindmap-stage{display:grid;grid-template-columns:155px minmax(0,1fr);gap:18px;align-items:start}.mindmap-stage-node{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:11px 13px;border:1px solid #bfd0bf;border-radius:9px;color:#274c34;background:#f3f8ef;box-shadow:0 6px 14px #2949330d}.mindmap-stage-node:before{content:"";position:absolute;top:-13px;left:50%;width:1px;height:13px;background:#b8cbb9}.mindmap-stage-node:after{content:"";position:absolute;top:50%;right:-19px;width:18px;height:1px;background:#b8cbb9}.mindmap-stage-node span{font-size:10px;font-weight:650}.mindmap-stage-node strong{min-width:24px;padding:3px 6px;border-radius:99px;color:#fff;background:#3d6c4a;font-size:9px;text-align:center}.mindmap-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.mindmap-module{position:relative;padding:13px;border:1px solid #dbe4d9;border-radius:11px;background:#ffffffeb;box-shadow:0 7px 18px #24402c0b}.mindmap-module:before{content:"";position:absolute;top:25px;left:-13px;width:12px;height:1px;background:#c2d1c2}.mindmap-module>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #edf0eb}.mindmap-module>header div{display:flex;flex-direction:column}.mindmap-module>header span{color:#97a19a;font-size:7px;letter-spacing:.12em}.mindmap-module>header h2{margin-top:2px;color:#2a3a30;font-size:11px;font-weight:700}.mindmap-module>header>strong{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#497151;background:#eef5ea;font-size:9px}.mindmap-requirements{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.mindmap-card{width:100%;padding:10px;border:1px solid #e2e7e0;border-radius:8px;color:#2e3b33;background:#fcfdfb;text-align:left;transition:.13s ease}.mindmap-card:hover{border-color:#a9c3aa;background:#f7fbf5;transform:translateY(-1px)}.mindmap-card-top,.mindmap-card-footer{display:flex;align-items:center;justify-content:space-between;gap:9px}.mindmap-card-top>svg{color:#8fa095}.mindmap-codes{display:flex;gap:5px;min-width:0}.mindmap-codes span{padding:2px 5px;border-radius:4px;color:#3a6948;background:#e8f2e4;font-family:SFMono-Regular,Consolas,monospace;font-size:7px;font-weight:650}.mindmap-codes span.xq{color:#326878;background:#e4eff2}.mindmap-card>strong{display:-webkit-box;margin:8px 0;overflow:hidden;color:#28362d;font-size:10px;font-weight:650;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mindmap-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mindmap-card-footer{padding-top:7px;border-top:1px solid #edf0eb;color:#8b968f;font-size:8px}.mindmap-lg{display:inline-flex;align-items:center;gap:4px;color:#3c6c4c;font-family:SFMono-Regular,Consolas,monospace}.mindmap-no-lg{color:#a0a9a3}.panel{border:1px solid #e0e5de;border-radius:14px;background:var(--panel);box-shadow:0 8px 24px #1f2d2408}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px 17px}.panel-heading h2{font-size:14px;font-weight:700}.panel-heading p{margin-top:4px;color:var(--muted);font-size:10px}.panel-heading>a{display:inline-flex;align-items:center;gap:4px;color:var(--green-700);font-size:10px;font-weight:600}.compact-list{border-top:1px solid #edf0eb}.compact-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 22px;border-bottom:1px solid #edf0eb}.compact-row:last-child{border-bottom:0}.compact-row:hover{background:#fafbf8}.compact-row div{min-width:0}.compact-row strong{display:block;overflow:hidden;color:#29352e;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.compact-row p{margin-top:4px;overflow:hidden;color:#8a958e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.code{display:inline-flex;color:#3b6447;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.code.xq{color:#356774}.code.large{font-size:12px}.status-pill,.archive-pill,.decomposition-pill{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:4px 8px;border-radius:99px;font-size:9px;font-weight:650;white-space:nowrap}.status-pill.success{color:#2d6840;background:#e3f2e5}.status-pill.warning{color:#8c6123;background:#fbecce}.status-pill.info{color:#396778;background:#e4eff2}.status-pill.muted{color:#737b76;background:#ebeeeb}.archive-pill{color:#737b76;background:#f0f2ef}.archive-pill.success{color:#3d7048;background:#eef5eb}.archive-pill.failed{color:#9e493f;background:#faeae7}.archive-pill.syncing{color:#386a7a;background:#e8f1f3}.decomposition-pill{color:#737b76;background:#f0f2ef}.decomposition-pill.pending,.decomposition-pill.running{color:#396778;background:#e4eff2}.decomposition-pill.completed{color:#3d7048;background:#eef5eb}.decomposition-pill.failed{color:#9e493f;background:#faeae7}.table-panel{overflow:hidden}.filter-bar{display:flex;align-items:center;gap:9px;min-height:62px;padding:12px 16px;border-bottom:1px solid #e8ece6}.search-box{display:flex;align-items:center;gap:8px;min-width:270px;height:37px;padding:0 11px;border:1px solid #dfe5dc;border-radius:8px;color:#8a958d;background:#fafbf9}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:11px}.filter-divider{align-self:stretch;width:1px;margin:4px 3px;background:#e8ece6}.filter-bar>svg{color:#8b968e}.filter-bar select,.compact-filter{height:35px;padding:0 28px 0 10px;border:1px solid #dfe5dc;border-radius:8px;outline:0;color:#59655d;background:#fff;font-size:10px}.month-tabs{display:flex;align-items:center;gap:7px;padding:10px 16px;border-bottom:1px solid #e8ece6;background:#fcfdfb;overflow-x:auto}.month-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:0 10px;border:1px solid #e0e6df;border-radius:7px;color:#617067;background:#fff;font-size:10px;white-space:nowrap}.month-tabs button span{min-width:17px;padding:1px 4px;border-radius:99px;color:#718078;background:#eef2ed;font-size:8px;text-align:center}.month-tabs button.active{border-color:#b8d1ae;color:#244f34;background:#edf6e9;font-weight:650}.month-tabs button.active span{color:#fff;background:#4d7957}.month-tabs .clear-month{margin-left:auto;border-color:transparent;color:#718078;background:transparent}.compact-filter{width:105px;padding-right:8px}.module-filter{width:120px}.table-scroll{overflow-x:auto}.requirement-table{width:100%;min-width:940px;border-collapse:collapse;table-layout:fixed}.requirement-table th{padding:10px 14px;border-bottom:1px solid #e6ebe4;color:#89948d;background:#f8faf7;font-size:9px;font-weight:650;letter-spacing:.04em;text-align:left}.requirement-table td{padding:14px;border-bottom:1px solid #edf0eb;color:#58645c;font-size:10px;vertical-align:middle}.requirement-table tbody tr{cursor:pointer;transition:background .12s ease}.requirement-table tbody tr:hover{background:#fafcf9}.requirement-table tbody tr:last-child td{border-bottom:0}.requirement-table th:nth-child(1){width:112px}.requirement-table th:nth-child(2){width:165px}.requirement-table th:nth-child(3){width:30%}.requirement-table th:nth-child(4){width:92px}.requirement-table th:nth-child(5){width:76px}.requirement-table th:nth-child(6){width:96px}.requirement-table th:nth-child(7){width:94px}.requirement-table th:nth-child(8){width:104px}.raw-table th:nth-child(1){width:42%}.raw-table th:nth-child(2){width:155px}.raw-table th:nth-child(3){width:100px}.raw-table th:nth-child(4){width:78px}.raw-table th:nth-child(5){width:100px}.raw-table th:nth-child(6){width:98px}.raw-table th:nth-child(7){width:108px}.formal-table th:nth-child(1){width:112px}.formal-table th:nth-child(2){width:31%}.formal-table th:nth-child(3){width:102px}.formal-table th:nth-child(4){width:104px}.formal-table th:nth-child(5){width:100px}.formal-table th:nth-child(6){width:90px}.formal-table th:nth-child(7){width:148px}.formal-table th:nth-child(8){width:94px}.archive-table th:nth-child(1){width:160px}.archive-table th:nth-child(2){width:100px}.archive-table th:nth-child(3){width:90px}.archive-table th:nth-child(5){width:130px}.archive-table th:nth-child(6){width:90px}.cell-title{display:block;color:#26332b;font-size:11px;font-weight:650}.pain-point-title{display:-webkit-box;max-width:620px;margin-top:7px;overflow:hidden;color:#26332b;font-size:12px;font-weight:650;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.module-title{display:block;color:#34483b;font-size:11px;font-weight:650}.decomposition-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 7px;border:1px solid #d8e5dd;border-radius:7px;color:#326046;background:#f3f8f2;transition:.12s ease}.decomposition-link:hover{border-color:#b8d1bd;background:#eaf4e9}.decomposition-link>span{display:flex;min-width:0;flex-direction:column;gap:1px}.decomposition-link strong{overflow:hidden;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.decomposition-link small{color:#789081;font-size:8px;font-weight:400}.decomposition-empty{color:#9aa39d;font-size:9px}.month-label{display:inline-flex;padding:4px 7px;border-radius:5px;color:#3f674e;background:#edf4e9;font-size:9px;font-weight:600;white-space:nowrap}.cell-subtitle{display:block;margin-top:4px;color:#8a958e;font-size:9px}.clamp-1,.clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.clamp-1{-webkit-line-clamp:1}.clamp-2{-webkit-line-clamp:2;line-height:1.5}.priority{display:inline-flex;min-width:28px;justify-content:center;padding:3px 7px;border-radius:5px;color:#777f7a;background:#f0f2ef;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700}.priority.p0{color:#a4473e;background:#fae9e6}.priority.p1{color:#95671e;background:#f9efdb}.date-cell{color:#89948d!important;white-space:nowrap}.table-footer{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:9px 18px;border-top:1px solid #e8ece6;color:#8a958e;font-size:10px}.table-footer>div{display:flex;align-items:center;gap:10px}.table-footer .icon-button{width:30px;height:30px}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.detail-actions{display:flex;align-items:center;gap:9px}.detail-hero{position:relative;padding:28px 30px;margin-bottom:16px;border:1px solid #dce8da;border-radius:16px;background:radial-gradient(circle at 95% 0%,rgba(185,218,122,.22),transparent 35%),#f9fcf7;overflow:hidden}.detail-hero:after{content:"";position:absolute;right:28px;bottom:-50px;width:170px;height:170px;border:1px solid rgba(47,106,72,.12);border-radius:50%}.detail-hero h1{max-width:820px;margin-top:12px;color:#1b2a21;font-family:Songti SC,serif;font-size:clamp(24px,2.7vw,34px);line-height:1.35;letter-spacing:-.025em}.formal-hero{background:radial-gradient(circle at 95% 0%,rgba(132,182,195,.18),transparent 35%),#f7fbfc}.meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;margin-top:17px;color:#738078;font-size:10px}.meta-line>span:not(.status-pill){position:relative}.meta-line>span:not(.status-pill)+span:not(.status-pill):before{content:"";position:absolute;left:-8px;top:50%;width:3px;height:3px;border-radius:50%;background:#b6c0b8}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);align-items:start;gap:16px}.detail-form{padding:0 22px 24px}.detail-form .panel-heading{margin:0 -22px 20px}.timeline-panel{padding-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.field.span-2{grid-column:span 2}.field-label{display:flex;align-items:baseline;gap:4px;color:#4d5a52;font-size:10px;font-weight:650}.field-label i{color:#b64d43;font-style:normal}.field-label small{margin-left:auto;color:#929d96;font-size:9px;font-weight:400}.field input,.field select,.field textarea,.login-panel input{width:100%;border:1px solid #dce3da;border-radius:8px;outline:0;color:#25312a;background:#fbfcfa;font-size:12px;transition:.13s ease}.field input,.field select,.login-panel input{height:39px;padding:0 11px}.field textarea{min-height:88px;padding:10px 11px;line-height:1.65;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.login-panel input:focus{border-color:#73967b;background:#fff;box-shadow:0 0 0 3px #3f6e4c14}.field input:disabled,.field select:disabled,.field textarea:disabled{color:#657169;background:#f3f5f2;opacity:1}.timeline{margin:0;padding:2px 22px 0;list-style:none}.timeline li{position:relative;display:grid;grid-template-columns:15px 1fr;gap:10px;padding-bottom:21px}.timeline li:not(:last-child):before{content:"";position:absolute;left:5px;top:11px;bottom:0;width:1px;background:#dfe6dd}.timeline-dot{width:11px;height:11px;margin-top:2px;border:3px solid #edf4e9;border-radius:50%;background:#4a7b55;box-shadow:0 0 0 1px #bcd1bd}.timeline strong{display:block;color:#354239;font-size:11px;font-weight:650}.timeline p{margin-top:5px;color:#8b968f;font-size:9px}.timeline-status{display:inline-block;margin-top:5px;padding:2px 5px;border-radius:4px;color:#667269;background:#f0f3ef;font-size:8px}.timeline-empty{padding:8px 22px 20px;color:#8a958e;font-size:10px}.attachment-panel{margin-top:16px;padding-bottom:18px}.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-upload{position:relative}.spinner.compact{width:14px;height:14px}.attachment-empty{padding:10px 22px 18px;color:#919b95;font-size:10px}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px;padding:0 22px 4px}.attachment-card{position:relative;border:1px solid #e0e6de;border-radius:10px;background:#fbfcfa;overflow:hidden}.attachment-preview{display:block;width:100%;padding:0;border:0;aspect-ratio:16 / 10;cursor:zoom-in;background:linear-gradient(45deg,#edf0eb 25%,transparent 25%),linear-gradient(-45deg,#edf0eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf0eb 75%),linear-gradient(-45deg,transparent 75%,#edf0eb 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.attachment-lightbox{display:grid;flex:1;place-items:center;min-height:280px;padding:20px;overflow:auto;background:#17251c}.attachment-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 18px 50px #00000040}.modal.attachment-modal{width:80vw;height:80vh;max-height:80vh}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-info{padding:9px 40px 9px 10px}.attachment-info strong{display:block;overflow:hidden;color:#344239;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.attachment-info p{margin-top:4px;color:#8d9891;font-size:8px}.attachment-actions{position:absolute;right:7px;bottom:7px;display:flex;gap:2px}.attachment-actions .icon-button{width:28px;height:28px;border:1px solid #e1e6df;background:#fff}.danger-icon{color:#a4483f}.danger-icon:hover{background:#fff0ed!important}.inline-notice{padding:11px 13px;margin:12px 0;border:1px solid #efd3cf;border-radius:8px;color:#98443b;background:#fff5f3;font-size:11px}.inline-notice.success{border-color:#cfe3d1;color:#3f6d48;background:#f2f8f1}.loading-block{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:#7f8b83;font-size:11px}.spinner{width:18px;height:18px;border:2px solid #dce4da;border-top-color:#487253;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.empty-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:14px;border-radius:18px;color:#506e59;background:#edf4e9}.empty-state strong{font-size:14px}.empty-state p{max-width:380px;margin-top:7px;color:#838f87;font-size:11px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#0d1d1480;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(520px,100%);max-height:calc(100vh - 56px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.45);border-radius:17px;background:#fff;box-shadow:0 32px 90px #0f22173d;overflow:hidden}.modal.wide{width:min(760px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 23px 17px;border-bottom:1px solid #e7ebe5}.modal-header h2{font-size:17px;letter-spacing:-.02em}.modal-header p{margin-top:5px;color:#859087;font-size:10px}.modal-body{padding:21px 23px 23px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 23px 18px;border-top:1px solid #e7ebe5;background:#fafbf9}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #e0e5de;border-radius:12px;background:#fff}.member-main{display:flex;min-width:0;flex:1;flex-direction:column}.member-main strong{font-size:12px}.member-main span{margin-top:3px;color:#89948d;font-size:9px}.role-badge{padding:4px 8px;border-radius:99px;color:#5c695f;background:#edf0ec;font-size:9px}.role-badge.admin{color:#855b18;background:#f8ebd1}.role-badge.product{color:#356b4b;background:#e5f1e5}.role-badge.developer{color:#356a79;background:#e3eff2}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#f5f5ef}.login-story{position:relative;display:flex;flex-direction:column;padding:45px 7vw;color:#fff;background:radial-gradient(circle at 20% 18%,rgba(188,222,126,.16),transparent 24%),radial-gradient(circle at 85% 85%,rgba(106,162,112,.2),transparent 34%),linear-gradient(145deg,#163925,#0f2c1d 72%);overflow:hidden}.login-story:before,.login-story:after{content:"";position:absolute;border:1px solid rgba(208,233,173,.13);border-radius:50%}.login-story:before{width:560px;height:560px;right:-250px;top:13%}.login-story:after{width:350px;height:350px;right:-100px;top:30%}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:650;letter-spacing:.04em}.story-copy{position:relative;z-index:1;margin:auto 0}.story-copy h1{margin-top:16px;font-family:Songti SC,serif;font-size:clamp(42px,5vw,68px);line-height:1.14;letter-spacing:-.055em}.story-copy p{max-width:460px;margin-top:22px;color:#b8cabc;font-size:14px;line-height:1.9}.story-path{position:relative;z-index:1;display:flex;align-items:center;gap:12px;color:#b8c9bc;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.story-path i{width:34px;height:1px;background:#b9da7a73}.login-panel{display:grid;place-items:center;padding:40px}.login-form-wrap{width:min(360px,100%)}.login-form-wrap h2{margin-top:9px;font-family:Songti SC,serif;font-size:32px;letter-spacing:-.04em}.login-form-wrap>p{margin-top:8px;color:#7f8a82;font-size:12px}.login-form-wrap form{display:flex;flex-direction:column;gap:15px;margin-top:30px}.login-form-wrap label{display:flex;flex-direction:column;gap:7px;color:#4d5a52;font-size:10px;font-weight:650}.login-form-wrap input{height:44px;background:#fff}.login-button{min-height:45px;margin-top:4px;font-size:12px}.login-error{padding:10px 12px;border-radius:8px;color:#9c463d;background:#fceeea;font-size:10px}.login-form-wrap>small{display:block;margin-top:24px;color:#98a29b;font-size:9px;line-height:1.6}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#f4f5f0}.mobile-only,.sidebar-close{display:none}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.detail-grid{grid-template-columns:1fr}.mindmap-stage{grid-template-columns:130px minmax(0,1fr)}.development-row{grid-template-columns:minmax(0,1fr) 130px 90px 20px}.page-content{padding:30px 28px 50px}}@media(max-width:760px){.app-shell,.app-shell.collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:0;width:240px;transform:translate(-102%);transition:transform .18s ease}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;z-index:19;background:#0c191159}.mobile-only,.sidebar-close{display:inline-flex}.collapse-button{display:none}.sidebar-close{margin-left:auto;color:#fff}.topbar{padding:0 16px}.topbar-search{display:none}.profile-button>span:nth-child(2){display:none}.page-content{padding:23px 16px 45px}.page-header{align-items:flex-start;flex-direction:column}.metric-grid,.member-grid,.form-grid{grid-template-columns:1fr}.mindmap-stats{width:100%}.mindmap-stats span{flex:1}.mindmap-toolbar{align-items:stretch;flex-direction:column}.mindmap-stage{grid-template-columns:1fr}.mindmap-stage-node:after{display:none}.mindmap-modules{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.filter-bar{flex-wrap:wrap}.search-box{min-width:calc(100% - 100px);flex:1}.compact-row{grid-template-columns:90px minmax(0,1fr)}.compact-row .status-pill{display:none}.development-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.development-decomp,.development-chevron{display:none}.development-main{grid-template-columns:92px minmax(0,1fr)}.login-page{grid-template-columns:1fr}.modal.attachment-modal{width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:calc(100vh - 24px)}.login-story{display:none}}
