@charset "UTF-8";
.material-actual .material-grid-head,.material-actual .material-edit-row{grid-template-columns:36px 150px minmax(220px,2fr) minmax(130px,1fr) 80px 100px 110px;min-width:826px}
:root{--ink:#20372f;--muted:#7b8882;--green:#234c3e;--green-dark:#17352f;--cream:#f5f6f2;--line:#e6ebe6;--amber:#a97530;--mint:#edf5ee;--white:#fff;--danger:#b94339;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-decoration:none}button{border:0;background:transparent;color:inherit}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dce3dd;border-radius:7px;background:white;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#5f8874;box-shadow:0 0 0 3px #234c3e0c}textarea{resize:vertical;min-height:80px}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}label input,label select,label textarea{display:block;margin-top:8px;font-weight:400}label small{font-weight:400;color:var(--muted)}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;width:232px;inset:0 auto 0 0;background:var(--green-dark);color:#e7eeea;display:flex;flex-direction:column;padding:30px 20px;z-index:10}.brand{display:flex;gap:12px;color:#f5f2e9;align-items:center;font-size:18px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:10px;font-weight:400;color:#b3c5bb;letter-spacing:3px;margin-top:7px}.brand-mark{border:1px solid #d6c399;color:#e0c591;width:42px;height:42px;display:grid;place-items:center;font-family:serif;font-size:25px;border-radius:8px}.side-label{color:#93aa9c;font-size:10px;letter-spacing:2px;margin:46px 14px 16px}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:7px;text-align:left;font-size:13px;color:#c4d2ca}nav button span{font-size:20px;width:22px;text-align:center;color:#a7b8ae}nav button:hover{background:#ffffff09}nav button.active{color:white;background:#ffffff12}nav button.active span{color:#ddc390}.sidebar-note{margin-top:auto;padding:32px 14px 10px;font-size:11px;color:#c3cfbf}.sidebar-note p{color:#94a79c;font-size:10px;margin:10px 0}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b8ccac;margin-right:8px}.logout{text-align:left;margin:20px 14px 0;font-size:11px;color:#a9bbb0}.main{margin-left:232px;min-width:0;flex:1}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:#fbfcf9;gap:20px}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{padding:0 13px;color:#c6cec8}.breadcrumb b{color:var(--ink);font-weight:500}.topbar-right{display:flex;align-items:center;gap:20px;font-size:12px}.topbar select{max-width:220px;border:0;background:transparent;font-weight:600;font-size:12px}.topbar-right>span{white-space:nowrap}.content{padding:35px 40px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--amber);margin-bottom:12px}.page-heading h1{font-size:27px;font-weight:600;letter-spacing:1px;margin:0 0 10px}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.actions{display:flex;gap:9px;flex-wrap:wrap}.primary,.secondary,.danger{padding:11px 18px;border-radius:7px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.primary{background:var(--green);color:white}.primary:hover{background:#1b3e32}.secondary{border:1px solid #dce3dd;background:#fff}.secondary:hover{background:#f0f4ed}.danger{background:#fff0ed;color:var(--danger);border:1px solid #f3d5cf}.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;min-height:145px}.metric-label{color:var(--muted);font-size:11px;display:flex;align-items:center;justify-content:space-between}.metric-icon{display:grid;place-items:center;background:var(--mint);color:#54765b;width:30px;height:30px;border-radius:8px;font-size:17px}.metric-value{font-size:30px;font-weight:600;letter-spacing:-1px;margin:12px 0 9px;font-variant-numeric:tabular-nums}.metric-note{font-size:10px;color:var(--muted)}.metric.accent{background:var(--green);color:white;border-color:var(--green)}.metric.accent .metric-label,.metric.accent .metric-note{color:#b7c9bb}.metric.accent .metric-icon{background:#ffffff13;color:#dccaa2}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:22px}.panel-header{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{font-size:15px;font-weight:600;margin:0}.panel-header small{color:var(--muted);font-size:11px}.panel-body{padding:22px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.flow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.flow-step{display:grid;gap:8px;font-size:11px}.flow-step b{font-size:13px;font-weight:500}.flow-step small{color:var(--muted);font-size:10px}.flow-num{font-family:serif;color:var(--amber);font-size:23px}.flow-arrow{color:#b8c8bb;font-size:20px}.quick-list{display:grid;gap:15px}.quick-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:12px}.quick-item:last-child{padding:0;border:0}.quick-item small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.quick-item b{font-size:20px;font-weight:500;color:var(--amber)}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.toolbar input{max-width:300px}.toolbar select{width:auto;min-width:125px}.toolbar input[type=date]{width:155px}.toolbar label{margin:0;font-size:10px;font-weight:400;color:var(--muted)}.toolbar label input{margin-top:5px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}thead{background:#f8faf6;color:#7a8780}th{font-weight:500;white-space:nowrap;padding:14px 18px;font-size:11px}td{padding:16px 18px;border-bottom:1px solid #eef1eb;line-height:1.5;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sku{font-size:10px;color:var(--muted);font-family:ui-monospace,monospace;display:block;margin-top:3px}.badge{font-size:10px;padding:5px 9px;border-radius:5px;display:inline-block;background:#edf3eb;color:#54714f;white-space:nowrap}.badge.pending,.badge.issued{background:#faf1de;color:#9b7336}.badge.void,.badge.cancelled{background:#f5eae7;color:#a36256}.badge.signed{background:#e6f0ed;color:#316856}.text-button{font-size:11px;color:var(--green);padding:5px}.empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:12px;line-height:2}.empty-icon{font-size:28px;color:#c9d4ca;margin-bottom:10px}.info-bar{background:#f0f5ef;border:1px solid #e0eadd;border-radius:7px;padding:14px 16px;color:#526852;font-size:12px;line-height:1.7;margin-bottom:20px}.warning-bar{background:#fcf5e8;border:1px solid #eee0c0;color:#8a692f;border-radius:7px;padding:14px 16px;font-size:12px;line-height:1.7;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.form-grid .wide{grid-column:1/-1}.line-row{display:grid;grid-template-columns:minmax(230px,1fr) 130px 130px 180px 36px;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.line-row label{margin:0;font-size:10px}.line-row .icon-btn{height:42px}.line-row input,.line-row select{margin-top:5px}.section-note{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 22px}.auth-overlay{position:fixed;inset:0;z-index:20;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;overflow:auto}.auth-intro{background:var(--green-dark);color:#f1f1e9;padding:70px max(40px,12%);display:flex;flex-direction:column;justify-content:center}.brand-mark.large{width:58px;height:58px;font-size:32px;margin-bottom:70px}.auth-intro .eyebrow{color:#cdb78c;margin-bottom:24px}.auth-intro h1{font-family:serif;font-weight:500;font-size:44px;line-height:1.6;letter-spacing:3px;margin:0 0 26px}.auth-intro p{color:#a9bfb0;font-size:13px;line-height:2.1}.auth-features{display:flex;gap:20px;margin-top:42px;color:#d1d8c9;font-size:11px}.auth-card{align-self:center;justify-self:center;width:min(390px,calc(100% - 60px));padding:35px 0}.auth-card h2{font-size:27px;font-weight:600;margin:15px 0}.auth-card>p{color:var(--muted);font-size:12px;margin:0 0 28px}.auth-footer{color:#87958b;font-size:10px;text-align:center;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.form-error{color:var(--danger);font-size:12px;margin:0 0 14px;line-height:1.6}.modal-overlay{position:fixed;inset:0;z-index:30;background:#12261e66;display:flex;align-items:center;justify-content:center;padding:25px;backdrop-filter:blur(2px)}.modal{background:white;border-radius:13px;width:min(1040px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 90px #13271c33}.modal>header{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.modal h2{font-size:18px;font-weight:500;margin:0}.modal #modal-body{padding:26px}.icon-btn{font-size:24px;color:var(--muted);padding:3px 10px}.detail-header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 20px}.detail-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--cream);padding:20px;border-radius:7px;margin-bottom:24px;font-size:12px}.detail-info span{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.signature{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fafbf6;border:1px solid var(--line);border-radius:7px;padding:18px;margin:22px 0}.signature img{max-width:260px;max-height:130px}.signature small{color:var(--muted);display:block;line-height:1.8}.signature-pad{width:100%;height:210px;border:1px dashed #91a596;border-radius:7px;background:white;touch-action:none;display:block}.signature-controls{display:flex;justify-content:space-between;align-items:center;margin:12px 0 20px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-tabs{display:flex;gap:12px;margin-bottom:20px}.settings-tabs button{font-size:12px;padding:10px 18px;border:1px solid var(--line);border-radius:7px;background:white}.settings-tabs button.active{background:var(--green);color:white}.cost-bar{height:7px;background:#e9efe6;border-radius:10px;overflow:hidden;margin-top:7px;min-width:100px}.cost-bar i{display:block;height:100%;background:#709473}.loading{padding:60px;color:var(--muted);text-align:center;font-size:13px}footer{padding:6px 40px 25px;font-size:10px;color:#98a297;text-align:right}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);z-index:50;padding:14px 25px;background:#203b30;color:white;border-radius:8px;box-shadow:0 5px 25px #203b3030;font-size:13px;max-width:90vw}.print-title{display:none}.error-page{padding:35px;background:#fff0ed;color:var(--danger);border-radius:8px}
@media(max-width:1100px){.sidebar{width:195px;padding:25px 14px}.main{margin-left:195px}.content{padding:28px 25px}.topbar{padding:0 25px}.metrics{gap:12px}.metric{padding:18px}.metric-value{font-size:25px}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.line-row{grid-template-columns:minmax(170px,1fr) 90px 100px 100px 30px}.two-columns{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:62px;display:block;padding:0;background:#fff;border-top:1px solid var(--line);color:var(--ink)}.sidebar .brand,.side-label,.sidebar-note,.logout{display:none}nav{display:flex;gap:0;justify-content:space-around;overflow:auto;height:62px}nav button{display:flex;flex-direction:column;gap:3px;padding:9px 13px;font-size:9px;white-space:nowrap;color:var(--muted);border-radius:0}nav button span{font-size:19px;color:#78927c}nav button.active{background:#eef4eb;color:var(--green)}nav button.active span{color:var(--green)}.main{margin-left:0;padding-bottom:65px}.topbar{height:64px;padding:0 18px}.breadcrumb{font-size:10px}.topbar-right{gap:6px}.topbar select{max-width:145px;font-size:11px}.topbar-right>span{display:none}.content{padding:25px 16px}.page-heading{align-items:flex-start;gap:15px;flex-direction:column}.page-heading h1{font-size:24px}.page-heading .actions{width:100%}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:15px;min-height:125px}.metric-value{font-size:24px}.panel-header{padding:17px}.panel-body{padding:17px}th,td{padding:12px 13px}.form-grid{grid-template-columns:1fr}.line-row{grid-template-columns:1fr 1fr 36px;gap:10px}.line-row>label:first-child{grid-column:1/-1}.line-row>label:nth-child(4){grid-column:1/3}.line-row>.icon-btn{grid-column:3;grid-row:2/4}.toolbar input{max-width:100%}.toolbar select{min-width:110px}.auth-overlay{display:block;background:var(--cream)}.auth-intro{padding:35px 30px;min-height:240px}.brand-mark.large{display:none}.auth-intro .eyebrow{margin:0 0 18px}.auth-intro h1{font-size:27px;line-height:1.5;margin:0}.auth-intro h1 br{display:none}.auth-intro p{font-size:11px;margin-bottom:0}.auth-features{margin-top:20px;gap:22px;font-size:10px}.auth-card{width:calc(100% - 50px);margin:auto;padding:30px 0}.modal-overlay{padding:10px}.modal{max-height:94vh;border-radius:10px}.modal #modal-body{padding:18px}.detail-info{grid-template-columns:repeat(2,1fr);gap:15px;padding:15px}.signature{flex-direction:column;align-items:flex-start}.two-columns{grid-template-columns:1fr}.flow{gap:8px}.flow-step b{font-size:11px}.flow-step small{font-size:9px}footer{padding:10px 16px;font-size:9px}.settings-tabs{overflow:auto}.settings-tabs button{white-space:nowrap;padding:9px 14px}.detail-header{align-items:flex-start;flex-direction:column}}
@media print{body{background:#fff}.shell,.auth-overlay,.modal>header,.no-print,#toast{display:none!important}.modal-overlay{position:static;background:white;padding:0;display:block}.modal{box-shadow:none;width:100%;max-height:none;border:0;overflow:visible}.modal #modal-body{padding:0}.print-title{display:block;font-size:22px;text-align:center;margin-bottom:25px}.detail-info{background:white;border:1px solid #ccc}.signature{break-inside:avoid;background:white}.signature img{max-width:240px}th,td{padding:8px;font-size:11px}table{border:1px solid #ddd}.table-scroll{overflow:visible}tr{break-inside:avoid}.badge{border:1px solid #aaa}}
.photo-panel{margin:20px 0;break-inside:avoid}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.photo-grid figure{margin:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.photo-grid img{width:100%;height:170px;object-fit:contain;background:#f4f5f1;cursor:zoom-in}.photo-grid figcaption{padding:12px;font-size:10px;color:var(--muted);line-height:1.7}.photo-grid figcaption b{display:block;color:var(--green);font-weight:500}.photo-grid figcaption span{display:block;overflow-wrap:anywhere}@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-grid img{height:130px}}@media print{.photo-grid img{height:140px}.photo-grid figure{break-inside:avoid}}

/* Center business form entries and table cells on desktop and mobile layouts. */
#content form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]),#content form select,#content form textarea,#modal-body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]),#modal-body select,#modal-body textarea{text-align:center}
.table-scroll th,.table-scroll td,.table-scroll td.num{text-align:center}

.stock-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:16px;flex-wrap:wrap}.stock-pager small{margin-right:auto;color:var(--muted)}.stock-note{white-space:normal;min-width:140px;max-width:250px}.account-exit{font-size:11px;padding:9px 12px;white-space:nowrap}.stock-query-info{margin-top:22px}@media(min-width:761px){.sidebar nav{overflow-y:auto;min-height:0;flex:1}.sidebar .sidebar-note{padding-top:16px}}@media(max-width:760px){.topbar-right{gap:8px}.topbar select{max-width:115px}.topbar-right>#user-name{display:none}.account-exit{padding:8px;font-size:10px}}

/* One material per editable row; keep fields readable and scroll horizontally. */
.material-entry-wrapper{margin-top:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.material-table-scroll{overflow-x:auto}.material-grid-head,.material-edit-row{display:grid;align-items:center;gap:0}.material-grid-head{background:#f4f7f1;font-size:12px;font-weight:600;min-height:44px;text-align:center;border-bottom:1px solid var(--line)}.material-grid-head>div{padding:10px 8px}.material-edit-row{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:10px 0;overflow:visible;background:white}.material-edit-row:nth-child(even){background:#fbfcf9}.material-edit-row>.panel-body,.material-edit-row .form-grid{display:contents}.material-edit-row label{font-size:0!important;margin:0!important;padding:0 6px;min-width:0;grid-column:auto!important}.material-edit-row input,.material-edit-row select{display:block;font-size:12px!important;margin:0!important;min-width:0;width:100%;padding:8px 6px;min-height:36px;text-align:center}.material-edit-row input[readonly]{background:#f6f8f3;color:#516253}.material-edit-row .material-option-add{font-size:10px;margin:3px 0 0;padding:0;display:block;width:100%}.material-row-number{text-align:center;font-size:12px}.material-edit-row>.panel-body>.text-button,.material-edit-row>.line-remove{margin:0;padding:8px;font-size:12px;color:var(--danger)}.material-edit-row .line-reference{display:none!important}.material-edit-row label[hidden]{display:none!important}.material-entry-footer{display:flex;gap:20px;justify-content:space-between;padding:12px 16px;font-size:12px;background:#f4f7f1}.material-reference-summary{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.material-purchase .material-grid-head,.material-purchase .material-edit-row{grid-template-columns:40px 250px 170px 140px 100px 90px 115px 115px 180px 55px;min-width:1255px}.material-document .material-grid-head,.material-document .material-edit-row{grid-template-columns:40px 150px 260px 145px 85px 90px 180px 50px;min-width:1100px}.material-document.material-priced .material-grid-head,.material-document.material-priced .material-edit-row{grid-template-columns:40px 150px 260px 145px 85px 90px 115px 115px 180px 50px;min-width:1330px}.material-receipt .material-grid-head,.material-receipt .material-edit-row{grid-template-columns:40px 250px 190px 150px 85px 100px 120px 120px;min-width:1155px}.material-entry-wrapper .line-row{gap:0;padding:10px 0}.material-row-number,.material-edit-row label{align-self:center}.material-edit-row input[type=hidden],.material-edit-row .panel-body>b[hidden]{display:none!important}
/* Compact desktop layout at normal browser zoom, with an always-visible logout. */
@media(min-width:761px){.sidebar{padding:20px 16px;display:flex;height:100dvh;overflow:hidden}.sidebar>.brand,.sidebar>.side-label,.sidebar>.sidebar-note,.sidebar>.logout{flex-shrink:0}.sidebar>.side-label{margin:24px 12px 12px}.sidebar nav{flex:1;min-height:0;overflow-y:auto;align-content:start;gap:4px}.sidebar nav button{padding:9px 12px;min-height:36px;line-height:1.3}.sidebar-note{margin-top:8px;padding:12px 12px 0}.sidebar-note p{margin:5px 0}.sidebar>.logout{margin:10px 12px 0;padding:6px 0}.topbar{height:60px;min-height:60px;padding:0 26px;position:sticky;top:0;z-index:11}.topbar-right{gap:10px;min-width:0}.topbar-right>#user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis}.topbar select{max-width:175px}.account-exit{flex-shrink:0}.content{padding:20px 26px}.page-heading{margin-bottom:18px}.page-heading h1{margin-bottom:7px}.page-heading p{line-height:1.5}.form-grid{gap:0 14px}.form-grid label{margin-bottom:14px}.panel-body{padding:18px}.panel-header{padding:16px 18px}footer{padding:0 26px 16px}.modal-overlay{align-items:flex-start;padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal>header{padding:14px 18px}.modal #modal-body{padding:18px}.material-edit-row .panel-body{padding:0}}@media(min-width:761px) and (max-width:1050px){.topbar-right>#user-name{display:none}.topbar select{max-width:135px}.breadcrumb{white-space:nowrap}.topbar{gap:12px;padding:0 18px}}@media(max-width:760px){.content{padding-top:16px}.page-heading{margin-bottom:18px}.material-entry-wrapper{margin-top:12px}.material-entry-footer{gap:10px;flex-wrap:wrap}.account-exit{min-height:32px}}

.modal:has(.material-entry-wrapper){width:min(1440px,calc(100vw - 24px))}.material-purchase .material-grid-head,.material-purchase .material-edit-row{grid-template-columns:36px minmax(200px,2fr) minmax(150px,1.5fr) minmax(115px,1fr) 90px 90px 110px 110px minmax(150px,1.4fr) 50px;min-width:1180px}.material-document .material-grid-head,.material-document .material-edit-row{grid-template-columns:36px 150px minmax(240px,2fr) minmax(120px,1fr) 80px 90px minmax(160px,1.4fr) 50px}.material-document.material-priced .material-grid-head,.material-document.material-priced .material-edit-row{grid-template-columns:36px 145px minmax(230px,2fr) minmax(120px,1fr) 80px 90px 105px 110px minmax(160px,1.4fr) 50px;min-width:1230px}.material-receipt .material-grid-head,.material-receipt .material-edit-row{grid-template-columns:36px minmax(240px,2fr) minmax(170px,1.4fr) minmax(130px,1fr) 80px 90px 120px 120px;min-width:1120px}
