:root{font-family:'Malgun Gothic','Segoe UI',sans-serif;color:#243249;background:#f3f5f8;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#235fab;background:#fff;border:1px solid #b9c9de;border-radius:6px;padding:8px 12px}button:hover{background:#eaf2ff}button:disabled{opacity:.5;cursor:default}header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;padding:16px 24px;border-bottom:1px solid #dce3ec}header strong{font-size:20px;margin-right:auto}header span{color:#52637a}.shell{display:grid;grid-template-columns:185px minmax(0,1fr);min-height:calc(100vh - 75px)}nav{background:#fff;padding:16px 10px;border-right:1px solid #dce3ec}nav button{display:block;width:100%;text-align:left;color:#35465e;border:0;margin-bottom:5px}nav button.active{background:#eaf2ff;color:#235fab;font-weight:700}main{min-width:0;padding:25px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}h1{font-size:24px;margin:0}h2{font-size:20px;margin:0}h3{font-size:16px;margin:0 0 10px}p{margin:6px 0;color:#57667b}#add,#save{background:#235fab;color:#fff}.panel{background:#fff;border:1px solid #dce3ec;border-radius:9px;margin-bottom:20px;overflow:hidden}.panel-title{padding:14px 16px;border-bottom:1px solid #dce3ec;font-weight:700}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{padding:12px 14px;text-align:left;border-bottom:1px solid #e2e7ee;font-weight:400}th{background:#edf2f8;color:#4a5c74}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:#596a81}.tag{background:#eaf2ff;color:#235fab;padding:3px 7px;border-radius:4px}.cancelled{color:#7a5252;background:#fff4f4}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid #dce3ec;border-radius:9px;padding:18px}.stat strong{font-size:24px;display:block;margin-top:12px}.empty{padding:28px;color:#53647d}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.toolbar label{max-width:220px}.toolbar .check{display:flex;align-items:center;gap:5px}.check input{width:auto}label{display:grid;gap:5px;color:#33445a}input,select,textarea{background:#fff;border:1px solid #b9c7d8;border-radius:5px;padding:8px;min-width:0;width:100%;color:#243249}textarea{min-height:70px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.full{grid-column:1/-1}.line{background:#f5f8fc;padding:14px;border:1px solid #dae2ed;border-radius:7px;margin:12px 0}.line-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.role-list{display:flex;gap:18px;flex-wrap:wrap}.role-list label{display:flex;align-items:center}.role-list input{width:auto}dialog{width:min(850px,96vw);max-height:90vh;border:1px solid #b9c7d8;border-radius:10px;padding:0;background:#fff;color:#243249}dialog::backdrop{background:#14243780}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px;border-bottom:1px solid #dce3ec}form{padding:20px}footer{display:flex;justify-content:flex-end;padding-top:20px}#message:empty,#form-error:empty{display:none}#message{padding:10px 14px;background:#eaf2ff;margin:0 0 15px;border-radius:6px}#form-error{padding:10px;background:#fff1f1;color:#9d2929;margin-top:12px}.actions{display:flex;gap:6px}.detail{padding:16px}.link{border:0;padding:0;background:transparent;text-decoration:underline;color:#235fab}.summary{padding:12px;background:#edf3fc;border-radius:6px;margin:12px 0}.wide-input{min-width:110px}.allocation{max-width:145px}#print-area{display:none}small{font-size:13px}.warn{color:#984624}[hidden]{display:none!important}#login-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:#fff;border:1px solid #dce3ec;border-radius:10px;width:min(430px,100%);padding:28px}.login-card form{display:grid;gap:18px;padding:22px 0 0}#login-button{background:#235fab;color:white}#login-error{color:#9d2929}#login-error:empty{display:none}#user-name{max-width:250px;overflow-wrap:anywhere}@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:155px minmax(0,1fr)}main{padding:18px}}@media(max-width:640px){.shell{display:block}nav{display:flex;flex-wrap:wrap;border-right:0;border-bottom:1px solid #dce3ec}nav button{width:auto}.fields{grid-template-columns:1fr}header{padding:12px}.stats{grid-template-columns:1fr}main{padding:12px}button{min-height:44px}input,select,textarea{font-size:16px}}@media print{body>header,.shell,dialog,#login-screen{display:none!important}#print-area{display:block;color:#000;background:#fff;padding:10mm}#print-area h1{text-align:center;margin-bottom:20px}#print-area table{white-space:normal}#print-area th,#print-area td{border:1px solid #666;padding:8px}#print-area p{color:#000}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}@page{size:A4 landscape;margin:10mm}}

.po-document .po-note{white-space:pre-wrap;overflow-wrap:anywhere}.po-document table{width:100%;table-layout:fixed}.po-document td,.po-document th{overflow-wrap:anywhere;white-space:normal}.po-document th:first-child{width:40px}.po-document .po-total{text-align:right;font-weight:700}.po-document .po-sign{display:flex;justify-content:space-between;margin-top:25px}.po-document h1{letter-spacing:.3em}.po-document thead{display:table-header-group}.po-document tr{break-inside:avoid}.po-document .print-meta{break-inside:avoid}.po-document .print-meta p{margin:5px 0}@media print{.po-document{font-size:11px}.po-document td,.po-document th{padding:6px!important}.po-document .po-note{font-size:11px}#print-area:has(.po-document){padding:0}}

/* Raw material purchase editor: compact document header and one row per item. */
dialog.raw-editor{width:min(1500px,98vw);max-height:94vh}.raw-editor .dialog-head{padding:12px 18px}.raw-editor form{padding:14px 18px}.raw-editor #fields>.fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}.raw-editor .po-help{margin:0;font-size:13px}.raw-editor .raw-line{margin:6px 0;padding:10px}.raw-editor .raw-line>.fields{grid-template-columns:minmax(130px,1.7fr) minmax(110px,1.4fr) 76px repeat(3,minmax(78px,1fr)) minmax(100px,1.1fr) minmax(95px,1fr) 68px 50px;gap:8px}.raw-editor label{font-size:13px;gap:4px}.raw-editor input,.raw-editor select{padding:7px 5px}.raw-editor .raw-remove{align-self:end}.raw-editor .raw-remove button{padding:7px}.raw-editor input[readonly]{background:#eaf2ff;color:#174879;font-weight:700}.raw-editor textarea{min-height:44px;height:44px}.raw-editor .summary{margin:8px 0;padding:8px 12px}.raw-editor footer{position:sticky;bottom:-14px;background:#fff;padding:10px 0 0;z-index:1}.raw-editor #save{min-width:110px}
@media(max-width:1150px){.raw-editor .raw-line>.fields{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:700px){.raw-editor #fields>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-editor .raw-line>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-editor input,.raw-editor select{font-size:16px}.raw-editor form{padding:12px}.raw-editor .raw-line{padding:8px}.raw-editor label{font-size:12px}.raw-editor .raw-remove button{width:100%}}
