:root{--ink:#18312a;--green:#0c5b43;--lime:#bcd772;--paper:#fbfcf9;--line:#dfe5dd;--muted:#718079;--orange:#ef8d4b}.app-shell{min-height:100vh;display:flex}.sidebar{color:#eef8f2;z-index:3;background:#103d32;flex-direction:column;width:238px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand-mark{background:var(--lime);color:#163a2f;letter-spacing:-1px;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand b{font-size:17px;display:block}.brand small{color:#9ec0b2;letter-spacing:1.2px;margin-top:3px;font-size:9px;display:block}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#aecabf;text-align:left;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-weight:700}.sidebar nav i{width:26px;font-size:18px;font-style:normal;display:inline-grid}.sidebar nav button.active{color:#174435;background:#f6f8f2}.side-note{background:#174b3e;border:1px solid #2d6455;border-radius:14px;margin-top:auto;padding:14px}.side-note span,.side-note small{color:#9fc0b3;font-size:11px;display:block}.side-note b{margin:7px 0;font-size:13px;display:block}.developer{color:#7da395;padding:16px 5px 0;font-size:10px;line-height:1.6}.workspace{width:calc(100% - 238px);max-width:1500px;margin-left:238px;padding:30px 38px 60px}header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}header h1{color:var(--ink);margin:3px 0 0;font-family:Georgia,Microsoft YaHei,serif;font-size:30px}.eyebrow{color:#7b8c84;text-transform:uppercase;letter-spacing:2px;margin:0;font-size:10px;font-weight:800}.header-actions{align-items:end;gap:10px;display:flex}.header-actions label{color:var(--muted);font-size:10px;font-weight:700}.header-actions input{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:5px;padding:9px;display:block}.primary,.commit{background:var(--green);color:#fff;border:0;border-radius:10px;padding:12px 17px;font-weight:800}.hero-grid{grid-template-columns:1.35fr 1fr 1fr;gap:15px;margin-bottom:16px;display:grid}.hero-card,.metric-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px}.hero-card{color:#fff;background:#153f34;padding:24px;position:relative;overflow:hidden}.hero-card:after{content:"";border:34px solid #25594b;border-radius:50%;width:190px;height:190px;position:absolute;top:-75px;right:-65px}.hero-card p{color:#b8d1c7;margin:0;font-size:12px}.hero-card>strong{z-index:1;margin:9px 0 17px;font-size:39px;display:block;position:relative}.hero-card em{color:#bcd772;font-size:15px;font-style:normal}.hero-split{z-index:1;gap:35px;display:flex;position:relative}.hero-split span{color:#9fbbb0;font-size:11px}.hero-split b{color:#fff;margin-top:5px;display:block}.metric-card{flex-direction:column;justify-content:center;padding:24px;display:flex}.metric-card.mint{background:#e8f1df}.metric-card.sand{background:#f4eadb}.metric-card span{color:#62746b;font-size:12px}.metric-card strong{color:#17382e;margin:12px 0;font-size:25px}.metric-card small{color:#7b887f;font-size:10px}.grid-2{grid-template-columns:1.15fr .85fr;gap:16px;display:grid}.panel{padding:22px}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-title span{color:#86938d;letter-spacing:.5px;font-size:10px}.panel-title h2{margin:4px 0 0;font-family:Georgia,Microsoft YaHei,serif;font-size:20px}.panel-title button{color:var(--green);background:0 0;border:0;font-size:11px;font-weight:800}.stock-list{gap:12px;display:grid}.stock-row{grid-template-columns:38px 110px 1fr 76px;align-items:center;gap:10px;display:grid}.material-icon{width:34px;height:34px;color:var(--green);background:#edf1e8;border-radius:9px;place-items:center;font-size:10px;font-weight:900;display:grid}.stock-row b,.stock-row small{display:block}.stock-row small{color:#8b9691;margin-top:3px;font-size:9px}.stock-row strong{text-align:right;font-size:12px}.bar{background:#e9ece8;border-radius:4px;height:5px;overflow:hidden}.bar i{background:#89b96c;border-radius:4px;height:100%;display:block}.accent-panel{background:#fafaf4}.accent-panel>select,.field select,.field input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:11px}.recipe-preview{margin:15px 0}.recipe-preview>div{grid-template-columns:1fr 85px 75px;align-items:center;gap:10px;margin:11px 0;display:grid}.recipe-preview span{background:#e5e9df;border-radius:4px;height:7px;overflow:hidden}.recipe-preview i{background:var(--lime);height:100%;display:block}.recipe-preview b{font-size:12px}.recipe-preview em{text-align:right;font-size:11px;font-style:normal}.total-line{border-top:1px solid var(--line);padding-top:13px;font-size:11px}.total-line span{float:right;color:var(--muted)}.wide{width:100%}.segmented{background:#eef1ed;border-radius:10px;margin-left:auto;padding:3px;display:flex}.segmented button{color:#6c7973;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-size:11px}.segmented button.on{color:var(--green);background:#fff;box-shadow:0 1px 4px #ccd4ce}.ghost{border-radius:9px;border:1px solid var(--line)!important;background:#fff!important;padding:9px 12px!important}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th{text-align:left;color:#849189;border-bottom:1px solid var(--line);padding:10px;font-size:10px;font-weight:800}td{border-bottom:1px solid #ebeeea;padding:12px 10px;font-size:12px}.plain-input,.number-input{background:0 0;border:1px solid #0000;border-radius:6px;width:88px;padding:6px}.plain-input.code{width:120px;font-weight:800}.number-input{width:82px}.plain-input:hover,.number-input:hover,.plain-input:focus,.number-input:focus{background:#fff;border-color:#ccd8d1;outline:none}.receive{white-space:nowrap;align-items:center;gap:7px;display:flex}.receive input{border:1px solid var(--line);border-radius:7px;width:55px;padding:7px}.receive span{color:var(--muted);font-size:10px}.receive button{color:#315f43;background:#e1edd2;border:0;border-radius:7px;padding:7px 9px;font-weight:800}.formula-layout{grid-template-columns:290px 1fr;gap:16px;display:grid}.formula-list>button{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;width:100%;padding:13px}.formula-list>button.selected{background:#edf3e8;border-color:#d8e5cf}.formula-list b,.formula-list small{display:block}.formula-list small{color:var(--muted);margin-top:5px;font-size:10px}.new-formula{gap:5px;margin-top:14px;display:flex}.new-formula input{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:9px}.new-formula button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:8px}.valid,.invalid{border-radius:20px;padding:7px 10px;font-size:12px}.valid{color:#267044;background:#e3f1dc}.invalid{color:#a44a3a;background:#f7e4dd}.formula-head,.formula-row{grid-template-columns:1.5fr .8fr 1fr 1fr;align-items:center;gap:12px;display:grid}.formula-head{color:#89948f;padding:9px;font-size:10px}.formula-row{border-top:1px solid #ebeeea;padding:10px}.formula-row select,.formula-row input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:9px}.formula-row label{position:relative}.formula-row label i{font-style:normal;position:absolute;top:10px;right:10px}.tag{background:#eef1eb;border-radius:15px;width:max-content;padding:6px 9px;font-size:10px}.add-line{color:var(--green);background:0 0;border:1px dashed #b7c5bc;border-radius:9px;width:100%;margin-top:12px;padding:11px}.formula-summary{color:#fff;background:#143e33;border-radius:11px;justify-content:space-between;align-items:center;margin-top:18px;padding:17px;display:flex}.formula-summary span{font-size:11px}.formula-summary strong{font-size:21px}.outbound-layout{grid-template-columns:1fr .9fr;gap:17px;max-width:1020px;display:grid}.field{color:#67766f;margin-bottom:16px;font-size:11px;display:block}.field input,.field select{margin-top:7px;display:block}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.source-tip{color:#557064;background:#edf2e9;border-radius:9px;margin-bottom:18px;padding:12px;font-size:11px}.commit{text-align:left;width:100%;padding:15px}.commit span{float:right}.bill{color:#fff;background:#173f35}.bill .panel-title span,.bill small{color:#9dbbb0}.bill-row{border-top:1px solid #2d594e;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.bill-row b,.bill-row small{display:block}.bill-row small{margin-top:4px;font-size:10px}.bill-row strong{font-size:14px}.bill-row strong.short{color:#ff9c79}.bill-total{border-top:1px solid #5d7b72;justify-content:space-between;align-items:center;margin-top:10px;padding:19px 0 0;display:flex}.bill-total strong{color:var(--lime);font-size:22px}.report-strip{color:#fff;background:#153f34;border-radius:15px;grid-template-columns:1.2fr repeat(3,1fr);gap:20px;margin-bottom:16px;padding:18px 22px;display:grid}.report-strip>div{border-left:1px solid #41665c;padding-left:18px}.report-strip>div:first-child{border:0;padding:0}.report-strip span{color:#9fbdb2;margin-bottom:7px;font-size:10px;display:block}.report-strip strong{font-size:18px}.report-strip input{color:#fff;background:#234e43;border:1px solid #537269;border-radius:7px;padding:7px}.usage-row{border-top:1px solid #e8ece7;grid-template-columns:28px 1fr 1fr 90px 80px;align-items:center;padding:12px 0;font-size:11px;display:grid}.usage-row i{background:#edf2e8;border-radius:6px;place-items:center;width:21px;height:21px;font-style:normal;display:grid}.usage-row span,.usage-row em{color:var(--muted);font-style:normal}.ledger-list>div{border-top:1px solid #e8ece7;grid-template-columns:38px 25px 1fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.ledger-list time{color:var(--muted);font-size:9px}.ledger-list .in,.ledger-list .out{border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:grid}.ledger-list .in{color:#32714a;background:#dff0d8}.ledger-list .out{color:#a75436;background:#fae4da}.ledger-list p{margin:0}.ledger-list b,.ledger-list small{display:block}.ledger-list small{color:var(--muted);margin-top:3px;font-size:9px}.ledger-list strong{font-size:11px}.empty{text-align:center;color:#8b9691;padding:45px}.toast{color:#fff;z-index:10;background:#173f35;border-radius:10px;padding:14px 18px;font-size:12px;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 30px #153b2d45}@media (max-width:1000px){.sidebar{width:78px}.brand div,.sidebar nav button:not(.active){font-size:0}.brand{padding-left:0}.brand-mark{flex:none}.sidebar nav i{font-size:19px}.sidebar nav button.active{font-size:0}.side-note,.developer{display:none}.workspace{width:calc(100% - 78px);margin-left:78px;padding:25px}.hero-grid,.grid-2,.formula-layout,.outbound-layout{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}}.record-filter{border:1px solid var(--line);background:#f7f8f3;border-radius:14px;align-items:end;gap:14px;margin-bottom:12px;padding:12px 15px;display:flex}.record-filter-buttons{background:#e9eee8;border-radius:10px;padding:3px;display:flex}.record-filter-buttons button{color:#64746c;background:0 0;border:0;border-radius:8px;padding:9px 14px;font-weight:800}.record-filter-buttons button.on{color:var(--green);background:#fff;box-shadow:0 1px 5px #b9c5bd66}.record-filter label{color:var(--muted);font-size:10px;font-weight:800}.record-filter input{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:4px;padding:8px;display:block}.record-filter>strong{color:var(--green);margin-left:auto;padding-bottom:9px;font-size:12px}.full-ledger{max-height:680px;padding-right:5px;overflow:auto}.record-count{color:var(--green);white-space:nowrap;font-size:12px}@media (max-width:650px){.sidebar{flex-direction:row;width:100%;height:64px;padding:7px;position:fixed;inset:auto 0 0}.brand,.side-note,.developer{display:none}.sidebar nav{justify-content:space-around;width:100%;display:flex}.sidebar nav button,.sidebar nav button.active{color:#b7cdbf;background:0 0;padding:9px;font-size:0}.sidebar nav i{width:auto;display:block}.workspace{width:100%;margin:0 0 64px;padding:18px 14px}.workspace header{align-items:flex-start}.header-actions label{display:none}.primary{padding:10px;font-size:11px}.hero-grid{grid-template-columns:1fr}.hero-card{grid-column:auto}.formula-head{display:none}.formula-row{grid-template-columns:1.4fr .7fr 1fr}.formula-row>strong{grid-column:3}.field-row,.report-strip{grid-template-columns:1fr}.record-filter{flex-direction:column;align-items:stretch}.record-filter-buttons{width:100%}.record-filter-buttons button{flex:1;padding:9px 5px}.record-filter>strong{margin:0;padding:0}.report-strip>div{border-top:1px solid #41665c;border-left:0;padding:10px 0 0}.stock-row{grid-template-columns:35px 80px 1fr}.stock-row .bar{display:none}.panel{padding:17px}}.developer-contact{color:#fff;background:#1b5143;border:1px solid #477566;border-radius:13px;margin-top:14px;padding:14px 13px}.developer-contact span{color:#bcd772;letter-spacing:1px;font-size:11px;font-weight:800;display:block}.developer-contact strong{margin:4px 0 9px;font-size:22px;line-height:1.15;display:block}.developer-contact p{color:#bdd2ca;margin:4px 0;font-size:13px}.developer-contact b{color:#fff;letter-spacing:.5px;font-size:15px}@media (max-width:1000px){.developer-contact{display:none}}.owner-switch{color:#b7d0c6;border:1px solid #2d6455;border-radius:10px;margin:0 5px 14px;padding:10px;font-size:10px;display:block}.owner-switch select{color:#174435;background:#f7faf7;border:0;border-radius:7px;width:100%;margin-top:6px;padding:8px;font-weight:800;display:block}@media (max-width:1000px){.owner-switch{display:none}}.account-box{border:1px solid #2d6455;border-radius:10px;margin:0 5px 14px;padding:10px}.account-box span{color:#9fc0b3;font-size:10px;display:block}.account-box b{margin:4px 0 8px;font-size:13px;display:block}.account-box button{color:#eef8f2;background:0 0;border:1px solid #6e9688;border-radius:7px;width:100%;padding:7px;font-size:10px;font-weight:800}@media (max-width:1000px){.account-box{z-index:20;background:#174b3e;margin:0;padding:7px;position:fixed;top:10px;right:12px}.account-box span,.account-box b{display:none}.account-box button{white-space:nowrap}}.login-card select{background:#fff;border:1px solid #dbe3dc;border-radius:10px;outline:none;width:100%;margin:8px 0 11px;padding:13px;display:block}.delete-material{color:#a53f2d;background:#fff5f2;border:1px solid #e3b9ad;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800}.delete-material:hover{color:#fff;background:#a53f2d}.wide .panel-title span{font-size:13px;font-weight:700}.wide .panel-title h2{font-size:27px}.wide .table-wrap{margin:0 -8px}.wide table{table-layout:fixed;min-width:1120px}.wide th{color:#56675f;padding:13px 9px;font-size:13px;line-height:1.35}.wide td{vertical-align:middle;padding:14px 9px;font-size:15px;line-height:1.35}.wide th:first-child{width:14%}.wide th:nth-child(2),.wide th:nth-child(3){width:11%}.wide th:nth-child(4){width:17%}.wide th:nth-child(5),.wide th:nth-child(6){width:11%}.wide th:nth-child(7){width:19%}.wide th:last-child{width:72px}.wide .plain-input,.wide .number-input{background:#fbfcfa;border-color:#dce3de;width:100%;min-width:0;padding:10px 9px;font-size:15px}.wide .plain-input.code{letter-spacing:.2px;width:100%;font-size:17px}.wide .manual-stock{width:100%;min-width:0;padding:2px 8px}.wide .manual-stock input{width:calc(100% - 31px);min-width:75px;padding:8px 4px;font-size:18px;font-weight:800}.wide .manual-stock b{font-size:13px}.wide .threshold-set,.wide .threshold-off{white-space:nowrap;font-size:13px}.wide .receive{grid-template-columns:minmax(55px,72px) 1fr auto;gap:7px;width:100%;display:grid}.wide .receive input{width:100%;min-width:0;padding:9px;font-size:15px}.wide .receive span{white-space:normal;font-size:13px;line-height:1.25}.wide .receive button{padding:9px 12px;font-size:14px}.wide .delete-material{padding:9px 11px;font-size:13px}.wide .ghost,.wide .panel-save,.wide .segmented button{padding:10px 13px!important;font-size:13px!important}.wide table:not(:has(th:nth-child(8))) th:first-child{width:15%}.wide table:not(:has(th:nth-child(8))) th:nth-child(2){width:12%}.wide table:not(:has(th:nth-child(8))) th:nth-child(3){width:12%}.wide table:not(:has(th:nth-child(8))) th:nth-child(4){width:20%}.wide table:not(:has(th:nth-child(8))) th:nth-child(5){width:13%}.wide table:not(:has(th:nth-child(8))) th:nth-child(6){width:auto}.wide table:not(:has(th:nth-child(8))) th:last-child{width:72px}@media (max-width:650px){.wide .panel-title h2{font-size:23px}.wide table{min-width:1050px}.wide th{font-size:12px}.wide td,.wide .plain-input,.wide .number-input{font-size:14px}}.stock-content{border:0;min-width:0;margin:0;padding:0}.stock-content:disabled{opacity:.75}button:disabled{cursor:not-allowed}
