:root{--ink:#182b33;--muted:#748088;--line:#e2e8e7;--teal:#155e56;--bg:#f6f8f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:8px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;border:1px solid #dce3e1;border-radius:7px;background:white;padding:12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#388e80;box-shadow:0 0 0 3px #e8f2ee}textarea{resize:vertical;line-height:1.7}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:12px}h2{font-size:18px}h3{font-size:16px}p{line-height:1.8}p,small,time{color:var(--muted)}small,time{font-size:12px}.shell{display:flex;min-height:100vh}.sidebar{width:232px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 20px 16px}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:700}.brand span{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:4px;color:#667c76}.brand-mark{background:var(--teal);color:white;border-radius:12px;width:44px;height:44px;display:grid;place-items:center}.nav-label{font-size:11px;color:#9aa5a2;margin:44px 14px 14px;letter-spacing:2px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;justify-content:flex-start;padding:14px;color:#71807b;background:transparent}.sidebar nav button.active{background:#eaf3ef;color:var(--teal);font-weight:600}.nav-count{margin-left:auto;font-size:12px}.sidebar-note{margin-top:auto;padding:28px 12px}.sidebar-note>span{font-size:11px;color:#648078}.sidebar-note p{font-size:12px;margin:10px 0;color:#677b74}.sidebar-note a{gap:5px;color:var(--teal)}.sidebar-note a,.user{display:flex;font-size:12px}.user{border-top:1px solid var(--line);padding-top:18px;align-items:center;gap:10px}.user small{display:block;margin-top:5px;font-size:10px}.user button{margin-left:auto;border:0;padding:5px}.avatar{background:#e8efeb;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.workspace{margin-left:232px;width:calc(100% - 232px)}header{height:74px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;justify-content:space-between;align-items:center;background:#ffffffb3;font-size:12px;color:#7d8c85}header b{font-weight:400;margin:0 14px;color:#bdc6c2}main{max-width:1440px;margin:auto;padding:38px 40px 64px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 30px}.heading p{margin-bottom:0;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:#71877e;display:block;margin-bottom:13px}.primary{background:var(--teal);color:white;border-color:var(--teal);font-weight:600;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:8px}.quiet{border:0;background:transparent;padding:7px;color:#5b736a;font-size:12px}.hero{background:#e8efdf;border:1px solid #e1e7d7;border-radius:14px;min-height:295px;display:flex;justify-content:space-between;align-items:center;padding:35px 42px;overflow:hidden}.hero h2{font-size:29px;line-height:1.55;letter-spacing:-.5px;margin-bottom:14px}.hero p{font-size:12px;color:#67745f}.hero button{background:#ffffff9c;border:0;font-size:12px}.paper-stack{position:relative;margin:0 40px;width:205px;height:265px;flex-shrink:0}.paper,.paper-back{position:absolute;inset:0;border-radius:6px;background:#fffef7;box-shadow:0 12px 20px #264b2512;transform:rotate(7deg);padding:20px}.paper-back{transform:rotate(-9deg);background:#bfcbb1}.paper{transform:rotate(6deg)}.paper small{font-size:8px;letter-spacing:2px}.paper h3{font-size:22px;line-height:1.5;margin:10px 0 8px}.paper mark{background:#dce9af;color:#30402c;padding:1px 3px}.paper-chip{font-size:8px;background:#edf0df;border-radius:20px;padding:5px 9px;display:inline-block}.blocks{display:flex;gap:9px;margin:15px 0 10px}.blocks div{height:42px;flex:1 1;border-radius:10px 10px 4px 4px;background:#d9dec5}.blocks div:nth-child(2){background:#eadbb7}.blocks div:nth-child(3){background:#d3e2da}.paper-lines{display:flex;gap:10px}.paper-lines i{height:4px;background:#e4e4d5;flex:1 1}.paper>span{position:absolute;bottom:13px;font-size:8px;color:#9a9b86}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:24px 0}.stats button{display:flex;align-items:flex-start;flex-direction:column;padding:22px;gap:10px}.stats span{font-size:12px;color:#61716c}.stats strong{font-size:32px;font-weight:500;letter-spacing:1px}.stats small{font-size:10px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-head h2,.section-head h3{margin:0}.section-head h2 small{margin-left:8px}.filters{display:flex;gap:12px;margin-bottom:15px}.filters input{max-width:340px;padding:10px;font-size:12px}.filters select{width:130px;font-size:12px}.job-list{display:grid}.job-row{width:100%;border:0;border-radius:0;border-top:1px solid #eef1ef;padding:20px 0;text-align:left;justify-content:flex-start;gap:15px}.job-icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;background:#f0f4ee;color:#809473}.job-row div{flex:1 1}.job-row strong{font-size:13px;font-weight:600}.job-row small{display:block;margin-top:8px;font-size:11px}.job-row time{margin-left:18px;font-size:11px}.badge{font-size:10px;padding:5px 9px;white-space:nowrap;border-radius:5px;background:#f0f2f3;color:#66717b}.badge.working{background:#eaf0fa;color:#486aa1}.badge.approved,.badge.ready{background:#e8f3e9;color:#3d7555}.badge.changes,.badge.needs_info{background:#fff1de;color:#a0793d}.badge.large{font-size:12px;padding:8px 14px}.empty{text-align:center;padding:42px 10px;color:#85958d}.empty>svg{margin-bottom:15px;stroke-width:1.3}.empty h3{color:#3f554b;margin-bottom:8px}.empty button,.empty p{font-size:12px}.empty button{margin-top:10px}.form-section{display:flex;align-items:center;gap:16px;padding:10px 0 20px;margin-top:16px;border-bottom:1px solid #eef2ef}.form-section h2{margin-bottom:6px}.form-section p{font-size:12px;margin:0}.step{border:1px solid #ceddd4;color:#648a73;padding:10px;border-radius:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px 0}.field{display:grid;gap:9px}.field>span{font-size:12px;font-weight:600;color:#51655c}.field em{color:#bf8c57;font-style:normal}.field input,.field textarea{font-size:13px}.wide{grid-column:1/-1}.upload{position:relative;margin:22px 0;padding:28px;border:1px dashed #bccfc2;border-radius:9px;background:#f8fbf8;display:flex;flex-direction:column;align-items:center;gap:12px;color:#6c8c78}.upload strong{font-size:13px;font-weight:500}.upload span{font-size:11px;color:#8b9b90}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.uploads{display:flex;flex-wrap:wrap;gap:12px}.uploads>div{width:120px;position:relative;border:1px solid var(--line);border-radius:8px;padding:6px}.uploads img{width:100%;height:90px;object-fit:contain}.uploads span{font-size:10px;overflow-wrap:anywhere}.uploads button{position:absolute;right:-5px;top:-5px;padding:2px 6px}.specs{grid-template-columns:repeat(4,1fr)}.form-footer{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.form-footer>span{font-size:11px;color:#87958e}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.brief-item{margin:20px 0}.brief-item small{font-size:11px}.brief-item p{font-size:12px;color:#4b6156;margin:7px 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.source-grid img{width:100%;height:80px;object-fit:contain;background:#f6f8f6;border-radius:5px}.source-grid small{font-size:9px;overflow-wrap:anywhere}.version+.version{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.version h3 small{font-size:10px;margin-left:12px}.version>p{font-size:12px}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.image-grid figure{margin:0}.image-button{padding:0;overflow:hidden;background:#f4f6f2}.image-button,.image-button img{display:block;width:100%}.image-grid figcaption{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;font-size:10px;color:#7c8b80;margin-top:10px}.review-box{background:#f5f8f5;padding:20px;margin-top:25px;border-radius:8px}.review-box h3{font-size:13px;display:flex;align-items:center;gap:8px}.review-box textarea{font-size:12px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.timeline>div{display:flex;gap:14px}.timeline>div>span{width:7px;height:7px;border-radius:50%;background:#a1bfa9;margin-top:6px;flex-shrink:0}.timeline section{flex:1 1;margin-bottom:20px}.timeline strong{font-size:12px}.timeline time{float:right;font-size:10px}.timeline p{font-size:12px;margin:7px 0 0}.member-form{display:flex;gap:12px;max-width:500px;margin:25px 0}.member{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.member small{display:block;margin-top:6px}.issued{padding:20px;background:#fff5df;border-radius:8px;line-height:1.8}.issued button{display:block;margin-top:15px}.issued p{color:#554b37}.error{border:1px solid #e4b8a4;background:#fff5ed;color:#985c3e;border-radius:8px;padding:14px;margin-bottom:20px;display:flex;justify-content:space-between;gap:10px;align-items:center}.error button{padding:4px;background:transparent;border:0;color:inherit}footer{padding:20px 40px;border-top:1px solid var(--line);font-size:11px;color:#9ba69f;display:flex;justify-content:space-between}.lightbox{position:fixed;inset:0;background:#12231dee;z-index:100;display:flex;align-items:center;justify-content:center;padding:60px 30px}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.lightbox button{position:absolute;top:15px;right:20px}.loading{padding:100px;text-align:center;color:#648472}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#e5eddf;padding:65px;display:flex;flex-direction:column;justify-content:center}.login-story h1{font-size:42px;line-height:1.5;margin-top:90px}.login-box{display:flex;align-items:center;justify-content:center;padding:60px}.login-box>div{width:380px}.login-box h2{font-size:24px}.login-box p{font-size:12px}.login-box form{display:grid;gap:20px}.login-provider{display:flex;align-items:center;gap:12px;margin:25px 0 18px}.login-provider strong{font-size:13px}.login-provider small{display:block;font-size:10px;margin-top:6px}.feishu-entry{padding:0 0 20px}.feishu-entry .primary{width:100%;justify-content:center;font-size:13px}.provider-note{display:block;margin-top:8px}.login-divider{color:#98a29c;font-size:11px;text-align:center;margin:15px 0 24px}.account-help{margin-top:22px}.inline-error{color:#9c523c;background:#fff2e8;padding:10px}.login-switch{margin-top:20px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(min-width:1500px){main{padding-top:45px}.hero{min-height:330px}}@media(max-width:1100px){.sidebar{width:190px;padding:25px 15px}.workspace{margin-left:190px;width:calc(100% - 190px)}.hero,main{padding:25px}.hero h2{font-size:23px}.paper-stack{margin:0 10px;transform:scale(.85)}.stats{gap:10px}.stats button{padding:16px}.detail-grid{grid-template-columns:1fr}.detail-grid>aside{order:2}.login-story{padding:35px}.login-story h1{font-size:32px}}@media(max-width:720px){.shell{display:block}.sidebar{position:static;width:100%;padding:18px;border:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:19px}.brand-mark{width:36px;height:36px}.sidebar nav{display:flex;overflow:auto;margin-top:17px;gap:5px}.sidebar nav button{padding:10px;white-space:nowrap;font-size:12px}.nav-label,.sidebar-note,.user{display:none}.workspace{margin:0;width:100%}header{padding:0 20px;height:50px}main{padding:22px 16px}.heading{align-items:flex-start;margin-bottom:22px}h1{font-size:23px}.heading>.primary{font-size:11px;padding:10px}.heading p{font-size:11px}.hero{min-height:245px;padding:25px}.hero h2{font-size:23px}.hero p{font-size:11px}.paper-stack{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats button{padding:17px}.stats strong{font-size:27px}.panel{padding:18px}.section-head h2{font-size:16px}.job-row{gap:10px}.job-row time{display:none}.job-icon{width:32px;height:32px}.job-row strong{font-size:12px}.job-row small,.job-row>.badge{font-size:9px}.job-row>svg{display:none}.form-grid{grid-template-columns:1fr;gap:18px}.specs{grid-template-columns:1fr 1fr}.form-footer{align-items:flex-start;flex-direction:column}.form-footer .primary{width:100%;justify-content:center}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-wrap{display:block}.login-story{padding:30px}.login-story h1{margin-top:30px;font-size:26px;margin-bottom:12px}.login-story>p{display:none}.login-box{padding:35px 24px}.login-box>div{width:100%;max-width:420px}.login-box h2{font-size:22px}footer{padding:20px;gap:15px;line-height:1.6;font-size:9px}.member{gap:10px}.member .actions{flex-wrap:wrap}.member button{font-size:11px;padding:8px}.member-form{flex-wrap:wrap}}