:root{font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:#f2fff8;background:#103b2d;font-size:14px;--mint:#9ae9bf;--border:#c2f7d83b;--muted:#bfdbca;--panel:#d4ffe613}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 100% 0,#7fbe7777,transparent 48%),radial-gradient(ellipse at 0 100%,#81b96d55,transparent 40%),linear-gradient(125deg,#10392d,#1b5943 55%,#0d3f30);background-attachment:fixed}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:10px;background:#e7fff317;color:inherit;padding:10px 16px;transition:.15s}button:hover{background:#e7fff32d;border-color:#b8f9d7a3}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#a2edc5;color:#123c2c;border-color:transparent;font-weight:700}.primary:hover{background:#c2ffda}.small{padding:6px 11px;font-size:12px}.danger{color:#ffb0ac}input,select,textarea{background:#0c3429b0;color:white;border:1px solid #d3ffe54a;border-radius:8px;padding:10px;width:100%;outline:none}input:focus,textarea:focus{border-color:var(--mint)}select option{background:#154532}textarea{min-height:80px;resize:vertical}input[type=checkbox]{width:auto;accent-color:#9debc1}input[type=file]{font-size:12px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;margin-bottom:6px;font-weight:650;letter-spacing:2px}h2{font-size:21px;font-weight:650;margin-bottom:20px}h3{font-size:17px;margin-bottom:15px}.muted,small{color:var(--muted)}small{font-size:12px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:1px solid #e2fff225;gap:16px}.identity{display:flex;align-items:center;gap:14px}.identity img{width:40px}.wordmark{font-size:29px;font-weight:600;letter-spacing:4px}.subbrand{border-left:1px solid #fff5;padding-left:20px;font-size:17px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status{font-size:11px;max-width:200px;line-height:1.5;color:#c7e8d4}.workspace{max-width:1800px;margin:auto;padding:24px 32px 12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{border:1px solid var(--border);border-radius:18px;background:linear-gradient(130deg,#d6ffe614,#b9eed508);box-shadow:0 15px 45px #052b201a;backdrop-filter:blur(20px);padding:23px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panelhead h2,.panelhead h3{margin:0}.toolbar{display:flex;gap:8px;margin:16px 0}.toolbar input{flex:1;min-width:80px}.toolbar select{width:110px}.productlist{height:452px;overflow:auto;padding-right:5px}.listhead,.productrow{display:grid;grid-template-columns:38px 1fr 105px 24px;gap:10px;align-items:center;padding:13px 14px}.listhead{color:#d6f8e3;font-size:12px;background:#e7fff318;border-radius:9px;margin-bottom:6px}.productrow{min-height:55px;border-bottom:1px solid #effff31c;border-radius:9px;cursor:pointer;position:relative;outline:none}.productrow:hover,.productrow:focus,.productrow.selected{background:#eafff120;box-shadow:inset 0 0 0 1px #d4ffe564}.productname{font-size:18px;font-weight:600}.qty{font-size:14px;text-align:right}.detailicon{border:1px solid #d8ffea99;border-radius:50%;width:19px;height:19px;text-align:center;font-size:12px;color:#d5ffe5}.zero{color:#ff9295;font-weight:bold}.num{font-variant-numeric:tabular-nums}.hovercard{display:none;position:fixed;padding:15px;border:1px solid #bdeacb77;background:#164f40;z-index:25;border-radius:12px;pointer-events:none;box-shadow:0 12px 35px #001b20aa;max-width:290px}.hovercard b{display:block;margin-bottom:8px}.rightstack{display:flex;flex-direction:column;gap:20px}.chartpanel{flex:1;min-height:315px}.chart{height:255px;display:flex;align-items:end;gap:14px;border-bottom:1px solid #b8e7c866;padding:28px 12px 0;margin:10px 0 12px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#dcffe411 50px)}.barwrap{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:end;height:100%;min-width:0}.bar{background:linear-gradient(#a8f7ce,#4ca87f);border-radius:5px 5px 0 0;min-height:1px;max-width:70px;width:75%;margin:0 auto;box-shadow:0 0 16px #94ffbb11}.barvalue{font-size:11px;white-space:nowrap;margin-bottom:5px}.barlabel{font-size:11px;position:relative;bottom:-23px;margin-top:-15px}.chartnote{margin-top:32px;color:var(--muted);font-size:12px;line-height:1.7}.empty{height:230px;display:grid;place-content:center;text-align:center;color:var(--muted);gap:10px}.functiontile{width:100%;display:flex;align-items:center;gap:22px;text-align:left;padding:22px;border-radius:14px}.functiontile .glyph{font-size:36px;color:#d9ffe9}.functiontile b{font-size:23px;display:block;margin-bottom:8px}.footer{font-size:11px;color:#c9e2d3;padding:17px 32px;display:flex;justify-content:space-between}.detailtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.hero{display:grid;grid-template-columns:minmax(260px,1.2fr) repeat(3,1fr);gap:16px;margin-bottom:20px}.productidentity{display:flex;align-items:center;gap:18px}.photo{width:104px;height:116px;border-radius:12px;background:#e5f6e7;color:#406654;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;flex-shrink:0;overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain}.photo span{font-size:35px}.photo small{color:#4c725c;font-size:11px}.badge{display:inline-block;font-size:11px;border:1px solid #b8edc477;border-radius:30px;padding:4px 10px;margin-top:10px;background:#afffc711}.metric{background:#d0ffe50c;border:1px solid var(--border);border-radius:13px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:10px}.metric strong{font-size:29px;line-height:1.2}.metric span{font-size:13px;color:#d7f3df}.detailgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.stack{display:flex;flex-direction:column;gap:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px}.field{display:grid;grid-template-columns:95px 1fr;gap:6px;line-height:1.65}.field .label{color:#d1e5d7}.field .value{overflow-wrap:anywhere}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#cde7d6;font-weight:500;background:#e2ffe910}td,th{padding:11px 9px;border-bottom:1px solid #e4ffe322;vertical-align:middle}td button{padding:5px 8px;font-size:11px}.scrolltable{overflow:auto}.note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}.green{color:#9ff4c2}.states{display:flex;gap:14px;flex-wrap:wrap;line-height:2;font-size:12px}.states .circle{display:inline-block;width:12px;height:12px;border:1px solid white;border-radius:50%;margin-right:6px;vertical-align:middle}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid label,.formlabel{display:block;font-size:12px;color:#d4ecdd}.formgrid input,.formgrid select,.formgrid textarea{margin-top:7px}.full{grid-column:1/-1}.modalactions{display:flex;justify-content:end;gap:10px;margin-top:22px}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modalhead h2{margin:0}dialog{border:1px solid #b1f3cd77;border-radius:19px;background:#174a3ef5;color:#f1fff5;max-width:780px;width:calc(100% - 30px);padding:26px;box-shadow:0 30px 100px #001e1ad9;max-height:90vh;overflow:auto}dialog::backdrop{background:#001c20a0;backdrop-filter:blur(5px)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#ddffe9;color:#15432e;border-radius:10px;padding:14px 24px;z-index:100;box-shadow:0 10px 40px #001e1a80;display:none;max-width:90%;font-size:13px}#splash{position:fixed;inset:0;background:#f7fff8;color:#176547;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:110;transition:opacity .3s}#splash h1{font-family:'STKaiti','KaiTi',serif;font-size:72px;letter-spacing:16px;padding-left:16px;font-weight:500}.brandmark{font-size:100px;color:#42b882;line-height:1.2}#splash p{letter-spacing:7px;color:#596d61}#splash small{margin-top:25px;color:#81998a}.login{max-width:430px;margin:8vh auto}.login input{margin-bottom:15px}.errorbox{background:#6d333366;border:1px solid #ffb7af55;padding:12px;border-radius:10px;margin-bottom:15px;line-height:1.6}.sheetwrap{overflow:auto;background:#203c30;border-radius:10px;padding:22px}.sheet{background:white;color:#171d19;max-width:794px;min-height:850px;margin:auto;padding:50px 40px;position:relative}.sheet h2{text-align:center;font-size:23px;margin-bottom:45px;font-weight:500}.sheet input{background:transparent;color:#111;border:1px dashed #bac5bd;border-radius:0;padding:5px;box-shadow:none}.sheet th,.sheet td{border:1px solid #333;color:#111;padding:9px;background:white}.sheet th{text-align:center}.sheet .docdate{display:flex;align-items:center;gap:12px;margin-bottom:25px}.sheet .docdate input{width:180px}.sheet .contact{display:grid;grid-template-columns:70px 1fr;gap:14px;margin-top:24px;align-items:center}.sheet .signatures{display:flex;justify-content:space-between;margin-top:75px;font-size:13px;gap:15px}.stamparea{height:90px;position:relative;margin-bottom:-90px;pointer-events:none}.stamp{position:absolute;object-fit:contain;cursor:move;touch-action:none;pointer-events:auto;max-width:250px}.doccontrols{margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.doccontrols label{max-width:170px;font-size:12px}.doccontrols input{padding:5px}.loglist{max-height:450px;overflow:auto}.logrow{padding:12px;border-bottom:1px solid #ffffff22;font-size:12px;line-height:1.6}.hidden{display:none!important}.previewimage{width:80px;height:80px;object-fit:contain;border-radius:8px;background:#dfffeb}a{color:#bbefcb}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#b6e5c764;border-radius:9px}@media(max-width:1050px){.topbar{padding:15px 20px}.workspace{padding:18px 20px}.subbrand{display:none}.hero{grid-template-columns:1fr 1fr}.grid{gap:15px}.panel{padding:18px}.field{grid-template-columns:75px 1fr}.listhead,.productrow{grid-template-columns:25px 1fr 82px 18px;padding:12px 6px;gap:5px}.productname{font-size:16px}.qty{font-size:13px}}@media(max-width:700px){.grid,.detailgrid{grid-template-columns:1fr}.topbar{height:auto;min-height:75px;align-items:flex-start}.topbar .actions{justify-content:end;max-width:65%}.wordmark{font-size:24px}.identity img{width:30px}.workspace{padding:16px 12px}.panel{border-radius:14px;padding:17px}.productlist{height:auto;max-height:455px}.hero{grid-template-columns:1fr 1fr;gap:10px}.hero .productidentity{grid-column:1/-1}.hero .metric{padding:15px}.hero .metric:last-child{grid-column:1/-1}.metric strong{font-size:23px}.fields{grid-template-columns:1fr;gap:12px}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.footer{padding:15px;font-size:10px}.sheetwrap{padding:8px}.sheet{min-width:650px;padding:35px 28px}.doccontrols{gap:8px}.status{display:none}.hovercard{display:none!important}}
@page{size:A4;margin:12mm}@media print{body{background:white!important}#splash,#modal,#toast,.topbar,.footer,.doccontrols,.detailtop,.no-print{display:none!important}.workspace{padding:0!important;max-width:none}.sheetwrap{background:white!important;padding:0!important;overflow:visible}.sheet{width:100%;max-width:none;min-height:0;padding:10mm 3mm!important;color:black;box-shadow:none}.sheet input{border:0!important;padding:0!important;appearance:none}.sheet button,.sheet .deleterow{display:none!important}.sheet table{page-break-inside:auto}.sheet tr{break-inside:avoid}.stamp{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sheet input[type=date]::-webkit-calendar-picker-indicator{display:none}.sheet .signatures{margin-top:28mm}.sheet .docdate{margin-bottom:8mm}}

.print-value{display:none}@media print{.sheet input{display:none!important}.sheet .print-value{display:inline!important;overflow-wrap:anywhere}.sheet h2{text-align:center!important}.sheet th,.sheet td{white-space:normal}.sheet .docdate .print-value{font-size:14px}}

.stamparea{position:absolute;inset:0;height:auto;margin-bottom:0;pointer-events:none}.sheet h2,.sheet table,.sheet .contact,.sheet .docdate,.sheet .signatures{position:relative}.stamparea{z-index:2}
