:root{--bg:#f8f7f6;--ink:#352f24;--muted:#a4967b;--line:#f1efeb;--teal:#a4967b;--nav:#28241b}body{background:radial-gradient(ellipse at 85% 0,#f4f3f080,transparent 50%),var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button{transition:background .15s,box-shadow .15s,transform .15s;border-radius:8px}button:hover{filter:none;background:#f8f7f4;border-color:#e6e3dc}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d1cbbe;outline-offset:2px}.primary{background:linear-gradient(120deg,#aca087,#ada188);border:0;box-shadow:0 4px 12px #9f917522;padding:11px 19px}.primary:hover{background:linear-gradient(120deg,#9b8d70,#9b8d70);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}aside{background:linear-gradient(165deg,#332e24 0,#252119 65%,#363126 100%);width:230px;padding:27px 15px;color:#c2b9a8;border-right:1px solid #443d30}.brand{padding:0 8px 32px;letter-spacing:2px;font-size:24px;font-weight:600;gap:13px}.brandmark{display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;width:42px;height:45px;border-radius:12px;background:linear-gradient(145deg,#ada18a,#bcb29f);color:white!important;font-size:29px!important;box-shadow:0 0 28px #aea28a40;font-weight:700;font-family:Arial}.brandmark>span{position:absolute;right:3px;top:-6px;font-size:27px;color:#bfb6a3}.brand small{color:#b2a68f;font-size:9px;letter-spacing:2px}.group{color:#998a6c;font-size:10px}.sidebottom{color:#a4977d;border-top:1px solid #423b2e}.sidebottom button{color:#cac2b3;border-color:#504837;font-size:10px;padding:7px 9px;margin-right:4px}.sidebottom button:hover{background:#4e4637}.dot{background:#b9af9b;box-shadow:0 0 9px #b9af9b80}nav button{color:#b9af9b;padding:12px 15px;margin:4px 0;font-size:13px;position:relative}nav button:hover{background:#423b2e;color:white}nav button.active{background:linear-gradient(90deg,#7d7057,#605642);color:#fff;box-shadow:inset 0 0 0 1px #998a6d50}nav button.active:before{content:'';position:absolute;left:0;height:20px;width:3px;background:#c6bdac;border-radius:2px}nav i{color:#bbb19c;font-size:18px}main{margin-left:230px}header{height:66px;background:#ffffffdd;backdrop-filter:blur(14px);padding:0 34px;color:#a5987e}.avatar{background:#f6f5f3;color:#a2957a}.demo{background:#f8f7f5;color:#9f9176;border:1px solid #efede8}.content{padding:30px 34px;max-width:1680px}.heading{gap:20px}.heading h1{font-size:29px;letter-spacing:1px;font-weight:650;margin:10px 0}.heading p{font-size:13px;margin:9px 0}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2px;color:#ada188}.heroactions{display:flex;gap:10px;flex-shrink:0}.dashboardhero{padding:25px 27px;background:linear-gradient(105deg,#fff 0,#f8f7f4 68%,#f3f1ee 100%);border:1px solid #eeece7;border-radius:13px;position:relative;overflow:hidden}.dashboardhero:after{content:'';position:absolute;width:220px;height:220px;right:250px;top:-120px;border:30px solid #d7d1c516;border-radius:50%;pointer-events:none}.toolbar{margin:24px 0 21px}.switch{background:#f2f0ed}.switch .selected{color:#9c8d70;background:white}.switch button{color:#a3967c;padding:9px 18px}.filters select{border-color:#edeae4;color:#81745a;font-size:12px;min-height:38px}.stats{gap:16px}.stat{border-radius:12px;box-shadow:0 4px 12px #4e463603;padding:22px;min-height:145px;border-color:#efede9}.stat:first-child{background:linear-gradient(120deg,#f6f5f3,#fafaf9);border-color:#edeae4}.stat .icon{display:flex;align-items:center;justify-content:center;color:#b2a68f;background:#f8f7f5;width:27px;height:27px;border-radius:7px}.stat label{color:#a5987e;font-size:12px}.number{font-size:32px;font-weight:650;color:#3c3629;letter-spacing:-.8px}.stat small{color:#aca18b;font-size:10px}.panel{border-radius:12px;border-color:#f0eee9;padding:23px;box-shadow:0 3px 12px #4e463603}.panelhead h2{font-size:15px;color:#494233}.panelhead h2:before{content:'';display:inline-block;width:3px;height:14px;background:#b3a891;vertical-align:-2px;border-radius:3px;margin-right:10px}.grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.chart{background:repeating-linear-gradient(to top,transparent,transparent 47px,#f6f4f1 48px);padding-top:15px;height:185px}.bar{background:linear-gradient(#c6bdac,#aa9d84);width:28px;border-radius:4px 4px 0 0}.bar.pale{background:linear-gradient(#e1dcd3,#e6e2da)}.legend b{background:#b2a790}.legend b.pale{background:#dfdbd2}.hot-icon{color:#b4a993;background:#f8f7f6;border:1px solid #f3f1ed}.hot p{color:#aca18a}.hot strong{color:#645a46}.progress{background:#f5f4f1}.progress div{background:linear-gradient(90deg,#c7bfaf,#aea28b)}th{background:#fafaf9;color:#afa38c;font-size:11px;padding:14px}td{padding:18px 14px;border-color:#f4f3f0;color:#7d7057}td b{color:#544c3b;font-weight:550}.badge{background:#f8f7f4;color:#aa9d84;border-radius:5px}.badge.warn{background:#fff5e7;color:#be903e}.link{color:#a3957a}.link:hover{background:transparent;border:0;text-decoration:underline}tbody tr:hover{background:#fcfcfb}.muted{color:#afa38c;font-size:10px;margin-top:5px}.notice{background:#f9f8f6;color:#9d8e71;border:1px solid #f1efea;font-size:12px;line-height:1.8}.details{background:#f9f8f6;color:#756951;border:1px solid #efede9}.details small{color:#b2a68f}.tabs{border-bottom:1px solid var(--line);gap:7px;padding-bottom:12px}.tabs button{white-space:nowrap;border:0;background:#f9f8f7;color:#98896c}.tabs .selected{background:#f6f5f2;color:#9b8c6e}.task{border-color:#f3f1ed}.task small{color:#afa38b}.kanban>div{background:#f8f7f5}.card{border-color:#f0eeea;box-shadow:0 3px 7px #87795d05}.card:hover{border-color:#d1cbbe}.card h3{color:#574e3c}.metricrow>div{background:#f8f7f5}.metricrow b{color:#7b6f56}.metricrow{flex-wrap:wrap}.metricrow>div{min-width:140px}footer{color:#b9af9b;font-size:10px}dialog{width:min(1100px,95vw);border:1px solid #efece7;padding:28px;border-radius:15px;box-shadow:0 35px 120px #38322755}dialog::backdrop{background:#3d372b66;backdrop-filter:blur(5px)}.modalhead h2{font-size:21px;margin-top:7px}.modalhead{border-bottom:1px solid #f2f0ed;padding-bottom:17px;margin-bottom:20px}.formgrid{gap:0 20px}form label{font-size:12px;color:#9a8b6d;font-weight:550}form input,form select,form textarea{border-color:#edeae4;color:#5a513e;background:#fff;padding:11px 12px}input:read-only{background:#f8f7f6;color:#aca088}textarea{resize:vertical;line-height:1.8}.formactions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;border-top:1px solid #f4f3f0;padding-top:18px}.formactions>span{margin-right:auto}.sectionline{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.helper{font-size:11px;color:#b1a68f;line-height:1.8}.error{color:#cc4c58;font-size:12px;margin:12px 0}.numeric{font-variant-numeric:tabular-nums}.price{color:#a3957a;font-weight:600}.ordertable input{width:100px;min-width:85px;padding:9px}.ordertable select{max-width:310px;min-width:190px;font-size:12px}.ordertable small{display:block}.ordersummary{display:flex;justify-content:flex-end;gap:26px;background:#fafaf9;padding:20px;margin:16px 0;color:#a69980;font-size:12px;border-radius:9px;flex-wrap:wrap}.ordersummary b{display:inline-block;margin-left:8px;color:#6a5f4a;font-size:18px}.ordersummary .grand b{font-size:24px;color:#a29478}.notetext{white-space:pre-wrap;overflow-wrap:anywhere;background:#fbfaf9;padding:14px;border-radius:7px;font-size:13px}.productcell{display:flex;gap:12px;align-items:center}.producticon{display:flex;width:38px;height:38px;align-items:center;justify-content:center;background:linear-gradient(145deg,#f9f8f6,#f2f0ed);color:#ada18a;font-size:22px;border-radius:9px;border:1px solid #efede8}.lowstock{color:#cd8942;background:#fff4e7;padding:4px 7px;border-radius:4px}.inventoryactions{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.inventoryactions button{padding:19px;background:white;color:#8b7d61;border:1px solid #eeece7;font-weight:550}.inventoryactions button span{display:block;color:#ada188;font-size:25px;margin-bottom:8px}.inventoryactions button:hover{background:#f8f7f4}.nodeworkspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px}.nodelist{border-right:1px solid #f2f0ec;padding-right:16px}.nodelist button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;margin:3px 0;padding:11px 9px;font-size:12px;color:#a09277}.nodelist button>span{font-size:10px;color:#c3baa8;align-self:flex-start;margin-top:3px}.nodelist button small{display:block;font-size:10px;color:#bdb4a1;margin-top:5px}.nodelist button.selected{background:#f7f6f4;color:#9a8b6d}.nodelist button.selected>span{color:#a6997e}.nodelist button b{margin-left:auto;color:#aa9e85}.nodecontent{min-width:0}.nodecontent .sectionline{margin-top:5px}.uploadzone{display:flex;gap:15px;align-items:center;border:1px dashed #d5cfc2;background:#fcfbfa;padding:18px;border-radius:9px;margin-top:12px}.uploadicon{color:#bdb3a0;font-size:32px}.uploadzone b{font-size:12px;color:#948567}.uploadzone p{font-size:10px;margin:7px 0 0;color:#b9af9a}.filebtn{position:relative;display:block;flex-shrink:0;margin:0 0 0 auto!important;color:#a09277;background:white;border:1px solid #edeae4;border-radius:6px;padding:9px 12px;font-size:12px;cursor:pointer;overflow:hidden}.filebtn input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}.filelist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.filecard{display:flex;gap:12px;align-items:center;border:1px solid #efede9;border-radius:8px;padding:10px;min-width:0;background:white}.filecard img{width:62px;height:62px;object-fit:cover;border-radius:5px}.filecard>div{min-width:0}.filecard b{display:block;font-size:11px;overflow-wrap:anywhere;color:#887a5e}.filecard small{display:block;font-size:9px;color:#bab09b;margin:5px 0}.filecard a{font-size:10px;color:#aa9e85}.filetype{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:55px;height:60px;font-size:11px;color:#b1a68f;background:#f8f7f4;border-radius:5px}.fileempty{font-size:11px;color:#bab09c;grid-column:1/-1;padding:13px}.projectsummary{margin:20px 0}.projectsummary p{font-size:12px}#toast{background:#574e3d;box-shadow:0 10px 25px #453e3030;max-width:90vw;font-size:12px;z-index:2147483647}
@media(min-width:1500px){.content{padding:34px 44px}.chart{height:210px}}@media(max-width:1050px){aside{width:195px;padding:24px 10px}.brand{font-size:20px;letter-spacing:1px}.brandmark{width:34px;height:39px;font-size:25px!important}.brand small{font-size:8px;letter-spacing:1px}main{margin-left:195px}.content{padding:24px}.grid{grid-template-columns:1fr}.dashboardhero{padding:20px}.heroactions{gap:7px}.heroactions button{font-size:12px;padding:10px}.nodeworkspace{grid-template-columns:155px minmax(0,1fr);gap:18px}.filelist{grid-template-columns:1fr}.inventoryactions{gap:8px}}@media(max-width:650px){aside{width:100%;position:static;padding:15px;background:#2d281f}.brand{font-size:21px;padding:0;gap:10px}.brandmark{width:30px;height:34px;font-size:24px!important}.brand small{display:block;font-size:7px;margin-top:4px}.brandmark>span{font-size:21px}main{margin:0}nav{margin-top:15px}nav button{padding:9px 13px;font-size:12px;margin:0 3px;flex-shrink:0}.content{padding:17px 13px}header{padding:0 15px;height:49px}.heading{flex-wrap:wrap;gap:12px}.heading h1{font-size:25px}.dashboardhero{padding:19px}.heroactions{width:100%}.heroactions button{flex:1}.stat{padding:15px;min-height:125px}.number{font-size:26px}.stats{gap:10px}.toolbar{margin:18px 0;gap:12px}.panel{padding:17px}.inventoryactions{grid-template-columns:repeat(3,1fr);gap:8px}.inventoryactions button{padding:13px 7px;font-size:11px}.nodeworkspace{grid-template-columns:1fr;gap:15px}.nodelist{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #f0eee9;padding:0 0 10px}.nodelist button{min-width:130px}.uploadzone{flex-wrap:wrap;gap:10px;padding:13px}.filebtn{margin-left:0!important}.details{grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.details>div:last-child{grid-column:1/-1}dialog{padding:17px;width:96vw;max-height:94vh}.modalhead h2{font-size:19px}.ordersummary{gap:12px;padding:14px;justify-content:space-between}.formgrid{grid-template-columns:1fr 1fr;gap:0 12px}.tabs button{font-size:12px;padding:9px 12px}.uploadzone p{font-size:10px}.heroactions button{white-space:nowrap}.searchrow{flex-wrap:wrap}.metricrow>div{min-width:120px}}
