*{box-sizing:border-box}body{margin:0;color:#202729;background:#f8faf9;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}button,input,select{font:inherit}button{cursor:pointer}input,select{outline:none}.shell{display:flex;min-height:100vh}.sidebar{width:225px;flex:none;background:#f5f8f6;border-right:1px solid #e4e9e6;display:flex;flex-direction:column;padding:22px 12px}.sidebrand{gap:10px;padding:4px 10px 30px}.brandIcon,.sidebrand{display:flex;align-items:center}.brandIcon{width:35px;height:35px;border-radius:9px;background:#147d65;color:white;justify-content:center;box-shadow:0 4px 12px #147d6522}.sidebrand b{display:block;font-size:15px;letter-spacing:.3px}.sideBottom small,.sidebrand small{display:block;color:#8a9690;font-size:11px}.sideLabel{font-size:10px;letter-spacing:1.4px;color:#a6afaa;font-weight:700;padding:0 12px 10px}.sideLabel.second{padding-top:27px}.nav{border:0;background:none;width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:8px;color:#5a6862;margin:2px 0}.nav.active,.nav:hover{background:#e6f2ed;color:#116c57}.nav.active{font-weight:700}.navCount{margin-left:auto;color:#7c9789;background:#d5e9de;padding:0 6px;border-radius:5px;font-size:11px}.sideBottom{margin-top:auto;border-top:1px solid #e3e9e5;padding:17px 8px 0;display:flex;align-items:center;gap:8px}.sideBottom b{font-size:12px}.sideBottom button{margin-left:auto;border:0;background:none;color:#9ba7a0}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#d9ebdf;color:#197056;font-weight:700}.avatar.mini{width:28px;height:28px}.main{min-width:0;flex:1 1}.topbar{height:61px;background:#fff;border-bottom:1px solid #e7ece9;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.breadcrumb{color:#5c6862;font-size:12px}.breadcrumb span{color:#b6c0bb;margin:0 10px}.topright{display:flex;gap:9px;align-items:center;color:#8b9890;font-size:11px}.topright .avatar{margin-left:13px}.onlineDot{width:7px;height:7px;background:#30aa76;border-radius:50%}.content{padding:33px 38px;max-width:1700px;margin:auto}.pageHeading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#18906f;margin-bottom:7px}.pageHeading h1{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:0 0 7px}.pageHeading p{margin:0;color:#89958d;font-size:13px}.titleCount{font-size:14px;background:#e9eeeb;color:#79877e;border-radius:6px;padding:3px 8px;vertical-align:middle;margin-left:5px}.headingActions{display:flex;gap:10px}.primary,.quiet{border-radius:7px;display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:9px 15px;font-size:12px;font-weight:650}.primary{border:1px solid #147d65;background:#147d65;color:white;box-shadow:0 2px 4px #147d651a}.primary:hover{background:#0e6b55}.quiet{border:1px solid #dfe7e2;color:#405049;background:#fff}.quiet:hover{background:#f4f8f5}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-bottom:15px}.stats.two{grid-template-columns:repeat(2,1fr)}.panel,.stat,.tablePanel{background:white;border:1px solid #e5eae7;border-radius:10px;box-shadow:0 2px 8px #153d2710}.stat{padding:17px 19px}.statTop{color:#78877d;font-size:12px;display:flex;align-items:center;justify-content:space-between}.statTop svg{color:#a4b3aa}.stat strong{display:block;font-size:28px;margin-top:12px;line-height:1.2;letter-spacing:-1px}.progress{height:6px;background:#e9f0eb;border-radius:4px;margin-top:12px}.progress i{display:block;height:100%;border-radius:4px;background:#41ac82}.charts{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px;gap:15px;margin-top:25px}.panel{padding:20px}.panel h3{font-size:14px;margin:0 0 18px}.barRow{display:flex;align-items:center;gap:13px;margin:12px 0;font-size:12px}.barRow span{width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#56635c}.barRow b{width:28px;text-align:right;color:#6b786f}.bar{height:7px;background:#edf3ee;flex:1 1}.bar,.bar i{border-radius:5px}.bar i{height:100%;display:block;background:#71bca0}.tablePanel{overflow:visible}.toolbar{height:59px;padding:0 16px}.search,.toolbar{display:flex;align-items:center;gap:8px}.search{height:35px;border:1px solid #e3e9e5;background:#fafcfb;border-radius:7px;padding:0 10px;width:min(440px,50%);color:#9aa89e}.search input{border:0;background:none;flex:1 1;width:20px;font-size:12px;color:#26342b}.search input::placeholder{color:#9ba79f}.iconBtn{padding:8px}.divider{height:22px;border-left:1px solid #e8ede9;margin-left:auto}.viewBtn{border:0;background:none;padding:6px;color:#a6b1a9}.viewBtn.chosen{background:#edf5f0;border-radius:5px;color:#147d65}.columnWrap{position:relative}.columnMenu{position:absolute;right:0;top:38px;z-index:5;background:white;border:1px solid #e1e8e3;box-shadow:0 10px 24px #24372b22;border-radius:8px;padding:10px;width:160px;display:grid}.columnMenu label{display:flex;gap:8px;padding:5px}.filters{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #edf0ed;padding:12px 16px}.drawerActions select,.filters select{background:#f7f9f7;border:1px solid #e4e9e5;border-radius:6px;padding:6px 9px;font-size:11px;color:#65746b;max-width:125px}.tableScroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1100px}td,th{border-top:1px solid #edf0ee;text-align:left;padding:12px 11px;font-size:11px;white-space:nowrap}th{background:#fafbfa;color:#87958b;font-weight:650}td,th{cursor:pointer}td{color:#5d6a61;max-width:270px;overflow:hidden;text-overflow:ellipsis}tr:hover td{background:#fbfdfb}td:first-child,th:first-child{width:38px;padding-left:17px}input[type=checkbox]{accent-color:#178769}.titleCell{display:flex;align-items:center;gap:9px;color:#273c30}.titleCell svg{color:#87a99a;flex:none}.titleCell b{font-weight:600;overflow:hidden;text-overflow:ellipsis}.sortMark{margin-left:3px;color:#178769}.pill{display:inline-block;border-radius:4px;padding:2px 6px;font-size:10px;margin-right:3px;font-weight:600}.pill.lilac{background:#f0eafa;color:#7955a3}.status{display:inline-block;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:650}.status.draft{background:#edf0ef;color:#718077}.status.pending_review{background:#fff2db;color:#b77a16}.status.published{background:#e4f5eb;color:#2c925c}.status.offline{background:#f6e9e7;color:#b15c55}.yes{color:#269667}.muted{color:#abb6af}.danger{color:#ca5d50}.tableFooter{border-top:1px solid #edf0ee;justify-content:space-between;padding:13px 17px;color:#91a097;font-size:11px}.tableFooter,.tableFooter div{display:flex;align-items:center}.tableFooter div{gap:12px}.tableFooter button{border:1px solid #e2e9e4;background:#fff;border-radius:5px;padding:4px 8px;font-size:11px;color:#65746b}.tableFooter button:disabled{opacity:.4}.empty{text-align:center;padding:45px;color:#9da9a0}.cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;padding:16px;border-top:1px solid #edf0ee}.paperCard{border:1px solid #e5ece7;background:#fff;border-radius:8px;min-height:150px;text-align:left;padding:15px;display:flex;flex-direction:column;gap:7px;color:#73867a}.paperCard:hover{border-color:#91c7ae}.paperCard b{color:#293c30}.paperCard .status{align-self:flex-start;margin-top:auto}.bulkbar{background:#ecf6ef;border-top:1px solid #d6eadc;display:flex;gap:12px;align-items:center;padding:9px 16px;color:#187454;font-size:12px}.bulkbar .quiet{padding:5px 10px}.dropzone{height:300px;border:2px dashed #bed8c8;border-radius:12px;background:#f4faf6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#148061;cursor:pointer}.dropzone b{font-size:17px;color:#315b41}.dropzone span{color:#8ca296;font-size:12px}.dropzone input{position:absolute;opacity:0;width:1px;height:1px}.results{margin-top:20px}.resultRow{display:flex;gap:12px;align-items:center;border-top:1px solid #edf1ee;padding:10px 0}.resultRow span:nth-last-child(2){margin-left:auto;color:#85938a}.textLink{border:0;background:none;color:#168065}.dictLayout{display:grid;grid-template-columns:190px 1fr;grid-gap:16px;gap:16px}.dictTabs{background:white;border:1px solid #e5eae7;border-radius:9px;padding:8px;height:max-content;display:grid}.dictTabs button{border:0;background:none;text-align:left;padding:10px;border-radius:6px;color:#67776c}.dictTabs button.active{background:#eaf5ee;color:#167c5d;font-weight:700}.dictContent{padding:0}.dictHead{display:flex;align-items:center;justify-content:space-between;padding:17px 20px}.dictHead h3{margin:0}.dictHead span{color:#9ca99f;font-size:12px}.dictRow{border-top:1px solid #eef1ef;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.dictRow b{font-size:12px;font-weight:600}.dictRow small{display:block;color:#9ca9a0}.switch{color:#93a097;font-size:11px;display:flex;gap:5px}.addDict{display:flex;gap:8px;padding:15px 20px;border-top:1px solid #eef1ef}.addDict input,.field input,.field select{height:36px;border:1px solid #e0e7e1;border-radius:6px;padding:0 9px;background:#fff;color:#334b39;width:100%}.addDict input{max-width:300px}.overlay{position:fixed;inset:0;background:#1a2e2499;display:flex;justify-content:flex-end;z-index:20}.drawer{width:min(700px,100vw);height:100%;background:#fff;box-shadow:-12px 0 40px #10271c2b;display:flex;flex-direction:column}.drawerTop{padding:23px 26px;border-bottom:1px solid #e9eeeb;display:flex;align-items:flex-start;justify-content:space-between}.drawerTop small{color:#168565;font-weight:700;letter-spacing:.5px}.drawerTop h2{font-size:20px;margin:3px 0}.drawerTop button{border:0;background:none;color:#829187}.drawerBody{overflow-y:auto;padding:22px 26px}.drawerBody h3{font-size:13px;margin:26px 0 11px}.drawerActions{display:flex;gap:9px;align-items:center;margin-bottom:24px}.drawerActions .quiet{margin-left:auto}.detailGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.detailGrid div{min-width:0;border-bottom:1px solid #edf1ee;padding-bottom:8px}.detailGrid span{display:block;color:#95a299;font-size:11px}.detailGrid b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#374b3d;font-weight:600}.preview{width:100%;max-height:550px;object-fit:contain;background:#eef1ee;border:1px solid #e2e7e3;border-radius:7px}.fileLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fileLinks a{border:1px solid #e0e8e2;border-radius:6px;padding:8px 10px;color:#147d65;text-decoration:none;display:flex;align-items:center;gap:5px;font-size:12px}.timeline>div{border-left:2px solid #c8e3d1;padding:0 0 15px 13px;margin-left:5px}.timeline b,.timeline small{display:block;font-size:11px}.timeline small{color:#9eaca1}.formGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.field{display:block;margin-bottom:14px}.field>span{display:block;color:#66796d;font-size:11px;font-weight:650;margin-bottom:5px}.checkGrid{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #e7ece8;border-radius:6px}.checkGrid label{font-size:11px;display:flex;align-items:center;gap:4px;color:#526b59}.choices{margin:10px 0 18px}.save{width:100%}.modal{width:min(540px,95vw);max-height:90vh;overflow:auto;margin:auto;background:#fff;border-radius:10px;padding:0 22px 22px}.modal .drawerTop{margin:0 -22px 18px}.modal p{color:#879789;font-size:12px}.modal .checkGrid{max-height:135px;overflow:auto}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#e0f2e7,transparent 40%),#f6faf7}.loginCard{width:390px;background:#fff;padding:34px;border:1px solid #e3ebe5;border-radius:15px;box-shadow:0 18px 60px #164c2922}.loginCard .brandIcon{margin-bottom:20px}.loginCard h1{font-size:21px;margin:0 0 4px}.loginCard p{color:#91a094;margin:0 0 25px;font-size:12px}.loginCard label{display:block;font-size:12px;font-weight:650;color:#5a6e5e;margin-bottom:14px}.loginCard input{display:block;width:100%;border:1px solid #dae5dc;border-radius:6px;height:40px;margin-top:6px;padding:0 11px}.loginCard .primary{width:100%;height:40px;margin-top:5px}.error{color:#ad3f35;background:#fff1ee;border:1px solid #f4d5ce;padding:9px;border-radius:6px;font-size:12px}.banner{display:flex;justify-content:space-between;margin-bottom:16px;cursor:pointer}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.content{padding:25px}.sidebar{width:190px}}@media(max-width:700px){.sidebar{width:60px;padding:12px 5px}.navCount,.sideBottom button,.sideBottom div:not(.avatar),.sideLabel,.sidebrand>div:last-child{display:none}.nav{justify-content:center;font-size:0}.nav svg{flex:none}.topbar{padding:0 15px}.content{padding:17px}.pageHeading h1{font-size:22px}.charts,.stats,.stats.two{grid-template-columns:1fr 1fr}.dictLayout{grid-template-columns:1fr}.dictTabs{display:flex;overflow:auto}.cards,.formGrid{grid-template-columns:1fr}}.attachInputs{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.attachInputs label{cursor:pointer}.attachInputs input,.editUpload input{position:absolute;opacity:0;width:1px;height:1px}.editUpload{border:1px dashed #a9cfb6;background:#f5faf6;border-radius:8px;padding:14px;color:#207b58;display:flex;align-items:center;gap:9px;cursor:pointer;margin-bottom:18px;font-size:12px}.dictEdit{border:0;background:none;color:#178464;margin-left:auto;margin-right:18px;font-size:11px}.priceInput{display:flex;align-items:center;border:1px solid #d8e5da;border-radius:6px;background:#f7fbf8;overflow:hidden}.priceInput>span{padding:0 11px;color:#18835f;font-weight:700}.priceInput input{border:0!important;border-radius:0!important;background:#fff!important;flex:1 1;min-width:0}.priceField small{display:block;color:#94a298;font-size:10px;margin-top:4px}.checkGrid input[type=checkbox]{width:14px;height:14px;margin:0;flex:none}.checkGrid label{white-space:nowrap}