:root{--green:#246552;--ink:#243b33;--muted:#839087;--line:#e3e8e1;--bg:#f5f6f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 'Microsoft YaHei',sans-serif}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:9px 17px;cursor:pointer;white-space:nowrap}button:hover{background:#edf3ed}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#194d3e}input,textarea,select{width:100%;border:1px solid #dce3dc;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #a7c5b5;outline-offset:1px}textarea{resize:vertical}label{display:block;color:#53645a;font-size:13px}label input,label select{margin-top:7px}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:600;letter-spacing:1px}h2{font-size:17px;font-weight:600}h3{font-size:14px}.muted,small{color:var(--muted);font-size:12px}small{display:block}header{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:24px}.logo{display:flex;align-items:center;gap:12px}.logo strong{font-size:21px;letter-spacing:3px}.seal{display:inline-grid;place-items:center;width:42px;height:44px;background:var(--green);color:#fff;border-radius:7px;font:27px serif}nav{display:flex;gap:12px}nav button{border:0;background:transparent;color:#7b887f;padding:13px 19px}nav button.active{background:#edf4ee;color:var(--green);font-weight:bold}.account{display:flex;gap:14px;align-items:center}.account button{border:0;font-size:12px}main{max-width:1440px;padding:32px 42px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#859a8a}.heading h1{margin:7px 0}.heading p{color:#829083;font-size:13px}.brandtag{padding:6px 14px;background:#eaf1e8;color:#47745c;border-radius:30px;font-size:12px}article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px;margin-bottom:20px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}i{font-style:normal;color:#789c84;font-size:12px;margin-right:10px;letter-spacing:1px}.row{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.row select{width:280px}.row input{max-width:420px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 22px}.wide{grid-column:span 2}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.product{border:1px solid var(--line);border-radius:9px;padding:15px;display:flex;align-items:center;gap:12px}.product.chosen{border-color:#9cbca7;background:#f8fbf7}.thumb{background:#ecf1e7;color:#597b59;min-width:42px;height:48px;display:grid;place-items:center;font:22px serif;border-radius:6px}.product b{font-size:13px}.qty{display:flex;align-items:center;margin-left:auto;gap:4px}.qty button{padding:2px 7px;border:0;background:#edf2eb}.qty input{width:39px;padding:2px;text-align:center;border:0;background:transparent;appearance:textfield}.selected{background:#f6f8f3;border:1px solid var(--line);border-radius:8px;padding:18px}.selected h3 span{font-weight:normal;font-size:12px;color:#849080;margin-left:10px}.selectedline{display:flex;justify-content:space-between;margin-top:10px;font-size:13px}.submitbar{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.check{display:flex;align-items:center;gap:7px}.check input{width:15px;margin:0}.submitbar small{margin-top:6px}.money{font-size:25px;color:var(--green);font-family:Georgia,serif}.textbutton{border:0;color:#879183}.tablewrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8b968e;font-weight:normal;background:#f7f9f5}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}td{max-width:250px;min-width:85px}td button{padding:5px 9px;font-size:12px}.tag{display:inline-block;white-space:nowrap;background:#edf4eb;color:#4e7755;border-radius:5px;padding:4px 8px}.empty{text-align:center;padding:40px;color:#95a091}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.metric{padding:26px;background:white;border:1px solid var(--line);border-radius:10px}.metric strong{display:block;font-size:28px;margin-top:10px}.settingrow{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:14px}footer{font-size:11px;color:#9aa598;margin:28px 0}footer span{float:right}.login{max-width:390px;margin:12vh auto;padding:32px}.login h1{margin-top:15px}.login p{color:#819080}.login label{margin:20px 0}.login button{width:100%;margin:6px 0 20px}dialog{width:480px;max-width:95vw;border:1px solid var(--line);border-radius:12px;padding:28px}dialog::backdrop{background:#10291e66}dialog label{margin:14px 0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#263e32;color:#fff;border-radius:8px;padding:13px 24px;display:none;z-index:20}[hidden]{display:none!important}@media(max-width:1050px){.products{grid-template-columns:repeat(2,1fr)}header{padding:15px 22px;height:auto;flex-wrap:wrap}.account{margin-left:auto}nav{order:3;width:100%;justify-content:center}main{padding:24px}.fields{gap:16px}}@media(max-width:650px){main{padding:18px 12px}article{padding:20px 15px}.products,.fields{grid-template-columns:1fr}.wide{grid-column:auto}.sectionhead .muted{display:none}.submitbar{align-items:start;gap:15px;flex-direction:column}h1{font-size:23px}nav{gap:0}nav button{padding:10px 12px}.metrics{grid-template-columns:1fr}footer span{float:none;display:block}.heading .brandtag{display:none}}
.dinglogin{margin-top:28px}.dinglogin button{width:100%}.dinglogin p{font-size:12px;text-align:center;margin:8px 0}.dinglogin #dingError{color:#a44936;overflow-wrap:anywhere}.fallback{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.fallback summary{cursor:pointer;color:#879183;font-size:12px}.login{max-width:440px}
.sales-manage{padding:4px 0;margin-top:5px;border:0;background:transparent;color:var(--green);font-size:12px}#salesList{max-height:280px;overflow:auto;margin-top:14px}
.materialImage{width:52px;height:52px;object-fit:contain;border-radius:6px;background:#f6f8f3}.materialCode{font-family:Consolas,monospace;overflow-wrap:anywhere}.materialTable{min-width:720px}.materialTable td:nth-child(3){min-width:160px}.materialTable td:nth-child(4){min-width:190px}.materialTable td:nth-child(2),.materialTable td:nth-child(3){font-family:Consolas,monospace;overflow-wrap:anywhere}.materialNotice{margin-top:14px}.materialDetails{max-height:55vh;overflow:auto;margin-top:15px}.materialDetails .settingrow span:last-child{max-width:65%;text-align:right;overflow-wrap:anywhere}nav{gap:4px}nav button{padding:12px 14px}

.productPagination{justify-content:center;margin:16px 0}.productPagination button:disabled{cursor:default}

.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:20px;color:var(--muted,#75837e);font-size:13px}.pagination select{width:auto;min-width:110px}.pagination button:disabled{opacity:.45;cursor:not-allowed}

.orderConfirmation{width:min(680px,calc(100vw - 40px));max-height:85vh;overflow:auto}.orderConfirmation .settingrow{gap:20px}.orderConfirmation .settingrow strong{overflow-wrap:anywhere;text-align:right}.confirmationError{color:#a63832}

.periodButtons{display:flex;gap:10px;flex-wrap:wrap}.periodButtons button{min-width:76px}.periodButtons button.active{background:#246656;border-color:#246656;color:#fff}

/* Keep personnel actions in consistent columns regardless of account length or role. */
.personnelRow{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:24px;padding:18px 0}
.personnelInfo{min-width:0}.personnelInfo small{margin-top:5px;overflow-wrap:anywhere}
.personnelActions{display:grid;grid-template-columns:64px 64px 92px 180px;gap:10px;align-items:center}
.personnelActions button{padding:9px 10px;width:100%}
.personnelEdit{grid-column:1;grid-row:1}.personnelDelete{grid-column:2;grid-row:1;color:#a34d43}
.personnelSales{grid-column:3;grid-row:1}.personnelNotify{grid-column:4;grid-row:1}
@media(max-width:800px){.personnelRow{grid-template-columns:1fr;gap:12px}.personnelActions{justify-self:start;max-width:100%}}
@media(max-width:500px){.personnelActions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.personnelSales{grid-column:1;grid-row:2}.personnelNotify{grid-column:2;grid-row:2}}

.personnelRow{grid-template-columns:minmax(0,1fr) 138px}.personnelActions{grid-template-columns:64px 64px}.personnelActions .personnelDelete{grid-column:2}@media(max-width:500px){.personnelRow{grid-template-columns:1fr}.personnelActions{width:auto}}
