:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#312e2a;background:#f6f5f1;font-synthesis:none;font-size:14px;--brand: #572b25;--muted: #7c7b72;--line: #e7e5de;--green: #426553}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:1px solid transparent;border-radius:6px;min-height:38px;padding:8px 15px;cursor:pointer;font-weight:500}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.95)}a{color:inherit;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:6px;padding:8px 13px;cursor:pointer;border:1px solid var(--line);background:#fff}.secondary{background:#fff;color:#4e4b44;border:1px solid #d9d6cd}.icon{background:transparent;color:inherit;border:0;min-height:30px;padding:6px}.textbutton{background:transparent;color:var(--brand);border:0;padding:5px;min-height:30px}.plain{background:none;color:inherit;border:0;padding:0;min-height:24px;text-align:left;justify-content:flex-start}.shell{display:flex;min-height:100vh}aside{width:232px;flex-shrink:0;background:#eeede6;border-right:1px solid #e0dfd6;display:flex;flex-direction:column;padding:32px 18px 16px;position:fixed;inset:0 auto 0 0;z-index:20}.wordmark{font-family:Songti SC,serif;font-weight:700;font-size:34px;color:#44221e;letter-spacing:6px;line-height:1.3}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:7px}.project-label{margin:34px 4px 22px;display:flex;align-items:center;gap:7px;font-weight:600;font-size:12px}.project-label small{margin-left:auto;font-weight:400;font-size:10px;color:#827b6b;background:#e5e3d8;padding:3px 5px;border-radius:3px}.dot{width:7px;height:7px;background:#5c7561;border-radius:50%}nav{display:flex;flex-direction:column;gap:5px}nav button{justify-content:flex-start;background:none;color:#696b62;min-height:42px;padding:10px 13px;font-size:13px}nav button svg:last-child:not(:first-child){margin-left:auto}nav button.active{background:#fffdf8;color:#572b25;box-shadow:0 1px 4px #2d271309;font-weight:650}nav button.active:before{content:"";width:3px;height:19px;background:var(--brand);position:absolute;left:18px;border-radius:2px}.sidebar-footer{margin-top:auto;padding:22px 3px 0;display:flex;align-items:center;gap:9px;font-size:12px}.sidebar-footer small{font-size:10px;color:var(--muted);margin-top:3px}.sidebar-footer .icon{margin-left:auto}.avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e0d8c9;color:#5c5142;font-weight:600;flex-shrink:0}main{margin-left:232px;min-width:0;flex:1}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#faf9f6;border-bottom:1px solid var(--line);font-size:12px;color:#75756c}.topbar>span,.topbar>div{display:flex;align-items:center;gap:12px}.connection{display:flex;align-items:center;gap:6px;font-size:11px}.connection i{width:6px;height:6px;border-radius:50%;background:#6f8e71}.content{padding:25px 38px 44px;max-width:1640px;margin:auto}.trialbar{display:flex;align-items:center;gap:9px;color:#837c65;font-size:11px;margin-bottom:30px}.overview-head,.pagehead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:27px}h1{font-family:Songti SC,"Noto Serif SC",serif;font-size:34px;font-weight:600;letter-spacing:1px;margin:8px 0 12px}h2{font-size:17px;margin:0;font-weight:600}h3{font-size:15px;margin:24px 0 12px}p{line-height:1.8}small{display:block}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;font-family:Arial,sans-serif;color:#978771;letter-spacing:2px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 27px}.stats article{background:#fffefa;border:1px solid var(--line);border-radius:8px;padding:23px 23px 17px;min-width:0}.stats article>span{color:#77796f;font-size:12px}.stats strong{font-size:36px;font-weight:500;display:block;letter-spacing:-1px;margin:14px 0 6px;font-variant-numeric:tabular-nums}.stats strong small{font-size:11px;display:inline;margin-left:8px;color:#949488;letter-spacing:0}.stats p{font-size:10px;color:#9b9a8f;margin:7px 0 0}.stats .money{font-size:25px;letter-spacing:-.7px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:22px}.panel{background:#fffefa;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 24px;border-bottom:1px solid #efeee8}.upcoming{display:flex;align-items:center;gap:15px;padding:17px 24px;border-bottom:1px solid #efeee8;font-size:13px}.upcoming:last-child{border:0}.upcoming>div:first-of-type{flex:1;min-width:0}.upcoming small{color:#9a998e;font-size:10px;margin-top:6px;line-height:1.6;overflow-wrap:anywhere}.index{font-family:Georgia,serif;font-size:19px;color:#bab6a4}.badge{display:inline-flex;align-items:center;border-radius:4px;padding:4px 7px;font-size:10px;color:#7c7e6e;background:#eeeee5;white-space:nowrap}.badge.doing,.badge.review,.badge.submitted,.badge.pending{background:#f5edda;color:#9a7634}.badge.done,.badge.approved,.badge.passed,.badge.closed{background:#e6eee6;color:#53725e}.badge.blocked,.badge.rejected,.badge.failed{background:#f5e5df;color:#a26250}.attention{background:#eceee6;padding:30px 27px}.attention h2{font-family:Songti SC,serif;font-size:23px;margin:23px 0 18px}.attention p{color:#7e8273;font-size:12px}.attention .secondary{margin-top:25px;background:#ffffff60;font-size:12px}.note-item{display:flex;gap:12px;align-items:flex-start;margin-top:25px;font-size:12px;line-height:1.7;color:#646c56}.note-item small{font-size:10px;color:#969c87}.mainfooter{display:flex;justify-content:space-between;padding:15px 38px;color:#a5a398;font-size:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar>select{width:auto;min-width:130px}.search{display:flex;align-items:center;gap:8px;color:#98988b;flex:1;max-width:280px}.search input{background:transparent;border:0;padding:5px}.segmented{display:flex;background:#efeee7;border-radius:5px;padding:3px;gap:2px;margin-left:auto}.segmented button{font-size:11px;min-height:27px;padding:5px 12px;background:transparent;color:#8b8a7f}.segmented .active{background:#fffefa;color:#4b4c40;box-shadow:0 1px 3px #00000010}.gantt-tools{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;color:#8c8d7f;font-size:10px;gap:15px}.legend{display:inline-block;width:9px;height:9px;border-radius:2px;background:#6c8070;margin:0 5px 0 13px}.legend.baseline{background:#dedace}.legend.critical{background:#ac7958}.gantt-scroll{overflow:auto;max-height:650px}.gantt{display:grid;grid-template-columns:272px 1fr;position:relative}.gantt-label{position:sticky;left:0;z-index:4;background:#fffefa;color:#4d5044;border-radius:0;border:0;border-bottom:1px solid #efeee8;border-right:1px solid #e4e4da;padding:13px 16px;text-align:left;justify-content:flex-start;height:60px;font-size:11px;gap:12px}.gantt-label b{font:14px Georgia;color:#b4b09f}.gantt-label small{margin-top:5px;color:#9b9a8f;font-size:9px}.gantt-label.head{height:40px;color:#919083;font-size:10px;padding-top:13px}.timehead{position:relative;height:40px;border-bottom:1px solid #e8e8df;background:#f9f8f3}.timehead span{position:absolute;font-size:9px;color:#aaa799;top:13px;white-space:nowrap;padding-left:3px}.track{height:60px;position:relative;border-bottom:1px solid #efeee8;background-image:linear-gradient(to right,#eeeee6 1px,transparent 1px)}.baselinebar{position:absolute;height:5px;top:43px;background:#dcd9cd;border-radius:2px;max-width:100%}.taskbar{position:absolute;top:14px;height:25px;min-height:25px;border-radius:4px;background:#a1afa2;color:#fff;font-size:9px;padding:2px 5px;overflow:hidden;touch-action:none;cursor:grab;justify-content:flex-end}.taskbar .barprogress{position:absolute;left:0;top:0;bottom:0;background:#586f5d66}.taskbar.criticalbar{outline:1px solid #b68869;outline-offset:2px}.taskbar.done{background:#50735e}.taskbar.blocked{background:#b9957a}.resize{position:absolute;right:0;top:0;bottom:0;width:7px;background:#00000012;cursor:ew-resize}.todayline{position:absolute;top:0;bottom:0;width:1px;background:#a86956;pointer-events:none;opacity:.6}.caption{font-size:10px;color:#929082;margin:14px 20px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;font-weight:500;background:#f9f8f3;color:#909083;padding:13px 20px;white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #efeee8;max-width:300px;overflow-wrap:anywhere}td small{font-size:10px;color:#929287;line-height:1.7;margin-top:5px}td b{font-weight:500}.rowactions{display:flex;gap:7px;flex-wrap:wrap;min-width:100px}.rowactions button{background:none;color:#776041;padding:2px 1px;min-height:24px;font-size:11px}.tabs{display:flex;gap:22px;overflow:auto;margin:0 0 18px;border-bottom:1px solid #deded3}.tabs button{background:none;color:#919184;border-radius:0;padding:10px 1px 14px;white-space:nowrap;font-size:12px}.tabs button.active{border-bottom:2px solid var(--brand);color:var(--brand)}.notice{margin:16px 24px;padding:12px 14px;background:#f4f1e8;color:#8c8067;border-radius:4px;font-size:11px}.notice+button{margin-left:24px}.empty{text-align:center;color:#aea99a;padding:50px 20px}.empty svg{opacity:.65}.empty p{font-size:12px}.external-card{display:flex;align-items:center;gap:22px;padding:26px;background:#fffefa;border:1px solid var(--line);border-radius:8px;max-width:650px}.external-card div{flex:1}.external-card p{font-size:12px;color:var(--muted);margin-bottom:0}.mt{margin-top:22px}.overlay{position:fixed;inset:0;background:#211d184a;z-index:50;display:flex;align-items:center;justify-content:center;padding:22px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{background:#fffefa;border:1px solid #e4e0d5;border-radius:10px;padding:25px;width:560px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 15px 80px #1d1b1826}.dialog.wide{width:780px}.dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}label{display:block;font-size:11px;color:#777569;line-height:1.7}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #dcd9ce;border-radius:5px;background:#fff;color:#403e35;font-size:12px;margin-top:6px}input[type=checkbox]{width:18px;height:18px;display:block}textarea{resize:vertical;line-height:1.7}select[multiple]{min-height:95px}label small{font-size:10px;color:#a8a08b}.error{background:#f9e9e5;color:#9e4e3a;padding:12px 14px;border-radius:5px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.banner{display:flex;align-items:center;justify-content:space-between;margin:10px 0 20px}.red{color:#ad6549!important}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);background:#34513e;color:#fff;padding:13px 24px;border-radius:7px;box-shadow:0 4px 20px #0002;z-index:100;display:flex;gap:10px;align-items:center}.lineinputs{display:flex;gap:9px;margin-bottom:10px}.lineinputs>select{flex:2}.lineinputs>input{flex:1;min-width:70px}.lineinputs>button{flex:0 0 auto;margin-top:6px}.outputs{flex-wrap:wrap}.outputs input:first-child{flex:2}.outputs select{flex:1}.upload{display:flex;gap:8px;align-items:center;color:var(--brand);position:relative;padding:20px;border:1px dashed #cdc6b7;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.file{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:18px 2px;font-size:12px}.file span{flex:1}.file small{color:#a5a091;font-size:10px;margin-top:6px}.hidden{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{background:#e7e8dc;padding:60px 70px;display:flex;flex-direction:column;justify-content:space-between;color:#7c816b}.login-brand h1{font-size:46px;line-height:1.55;color:#424c3b}.login-brand p{font-size:12px}.login-brand>span{font-size:10px}.login-form{align-self:center;justify-self:center;width:340px;max-width:85vw}.login-form h2{font-family:Songti SC,serif;font-size:29px;margin:16px 0}.login-form label{margin-top:22px}.login-form button{width:100%;margin-top:28px;justify-content:space-between;padding:12px 16px}.login-form>small{margin-top:22px;color:#a9a493;font-size:10px}.loading{padding:80px;text-align:center;color:#8b846f}@media(max-width:1100px){aside{width:195px;padding:24px 12px}main{margin-left:195px}.content{padding:22px}.topbar{padding:0 22px}.stats{gap:10px}.stats article{padding:16px}.stats .money{font-size:20px}.overview-grid{grid-template-columns:1fr}.attention{display:none}.pagehead{align-items:flex-start}.actions{max-width:230px}.stats strong,h1{font-size:28px}}@media(max-width:700px){.shell{display:block}aside{position:static;width:100%;height:auto;padding:14px 16px 0}.wordmark{font-size:23px}.wordmark span{display:inline;margin-left:10px;font-size:8px}.project-label{position:absolute;right:16px;top:3px;margin:14px 0}.project-label small{display:none}nav{flex-direction:row;overflow:auto;margin-top:14px;gap:2px;padding-bottom:5px}nav button{white-space:nowrap;font-size:11px;min-height:34px;padding:7px 10px}nav button.active:before{display:none}nav button>svg{width:14px}nav button svg:last-child:not(:first-child){display:none}.sidebar-footer{display:none}main{margin:0}.topbar{height:43px;padding:0 16px;font-size:10px}.connection{font-size:9px}.content{padding:18px 14px}.trialbar{font-size:9px;align-items:flex-start;margin-bottom:22px}.trialbar svg{flex-shrink:0}.stats{grid-template-columns:1fr 1fr;gap:9px}.stats article{padding:15px}.stats strong{font-size:29px;margin:10px 0}.stats p{font-size:9px}.pagehead,.overview-head{display:block;margin-bottom:20px}.pagehead .actions,.pagehead>button,.overview-head>button{margin-top:13px;max-width:none}h1{font-size:27px}.panelhead{padding:17px}.upcoming{padding:15px}.upcoming .badge{font-size:9px}.gantt-label{width:215px;font-size:10px}.gantt{grid-template-columns:215px 1fr!important}.timehead,.track{margin-left:-57px}.gantt-label{z-index:5}.gantt-tools{padding:10px;font-size:9px}.legend{margin-left:5px}.gantt-tools .segmented button{padding:4px 8px}.toolbar{padding:12px;gap:8px}.toolbar>.segmented{margin-left:0}.tablewrap td,.tablewrap th{padding:12px;min-width:85px}.tablewrap td:first-child{min-width:165px}.overlay{padding:10px}.dialog{padding:18px;max-height:94vh}.formgrid{grid-template-columns:1fr}.mainfooter{padding:12px 16px;font-size:9px}.login{display:block}.login-brand{padding:25px;min-height:200px}.login-brand h1{font-size:27px;margin-top:20px}.login-brand>span,.login-brand p:not(.eyebrow){display:none}.login-brand .eyebrow{margin-top:25px}.login-form{margin:40px auto}.lineinputs{flex-wrap:wrap}.lineinputs select{min-width:140px}.outputs input{max-width:45%}.outputs input:first-child{max-width:100%}.dialog h3 small{font-size:9px;line-height:1.8}.notice{margin:12px}.stats .money{font-size:21px}}@media print{aside,.topbar,.trialbar,.actions,button,.tabs,.toolbar,.mainfooter{display:none!important}main{margin:0}.content{padding:0}.gantt-scroll{overflow:visible;max-height:none}.gantt{transform:scale(.55);transform-origin:top left}.gantt-label,.taskbar{display:flex!important}.gantt-label{position:static}.panel{border:0}.gantt-tools{display:none}.pagehead{margin:0}body{background:#fff}}.brand-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:22px 26px;margin-bottom:24px;border:1px solid var(--line, #e2dfd6);border-radius:10px;background:#eeeee6}.brand-story span{font-size:16px;font-weight:600;color:#4c2822}.brand-story p{margin:8px 0 0;font-size:13px;line-height:1.8;color:#707365}.brand-meaning{max-width:430px;line-height:1.9;font-size:14px}@media(max-width:700px){.brand-story{grid-template-columns:1fr;gap:14px;padding:20px}}.management-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.management-toolbar input{max-width:300px}.management table small{display:block;padding-top:6px;color:var(--muted)}.management .row-actions{display:flex;gap:6px;flex-wrap:wrap;max-width:330px}.management .row-actions button,.management .row-actions select{font-size:12px;padding:8px}.management-summary{border:1px solid var(--line);padding:22px;border-radius:12px;margin-bottom:28px;background:#fffefa}.management-summary .compact-value{font-size:23px;overflow-wrap:anywhere}.purchase-line{border:1px solid var(--line);padding:18px;border-radius:8px;margin-bottom:16px}.management .table-wrap{overflow:auto;background:#fffefa;border:1px solid var(--line);border-radius:10px}.management .table-wrap table{min-width:650px}.management .dialog table{font-size:13px;width:100%}.management .dialog article{border-bottom:1px solid var(--line)}.management-summary .stats{margin:16px 0}@media(max-width:700px){.management-summary{padding:14px}.management-summary .compact-value{font-size:18px}.management-toolbar input{max-width:100%}}
