*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fb;color:#1e293b}.top{height:56px;background:#0f3f74;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10}.brand{font-weight:700}.top a{color:#fff;text-decoration:none}.shell{display:flex}.side{width:240px;background:#fff;border-right:1px solid #e5e7eb;min-height:calc(100vh - 56px);position:sticky;top:56px}.side nav{padding:12px}.side a{display:block;padding:9px 10px;text-decoration:none;color:#334155;border-radius:8px}.side a:hover{background:#eef5ff}.group{font-size:12px;font-weight:700;text-transform:uppercase;color:#64748b;margin:14px 8px 4px}.content{flex:1;padding:20px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;box-shadow:0 4px 16px rgba(15,23,42,.04);margin-bottom:16px}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}.btn{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;text-decoration:none;color:#0f172a;display:inline-block}.btn.primary{background:#0f3f74;color:#fff;border-color:#0f3f74}.btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}.btn.small{padding:5px 8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-4{grid-column:span 4}.field label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.field input,.field select,.field textarea,input,select,textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:8px}textarea{min-height:74px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#475569}.right{text-align:right}.num-input,.money-input{text-align:right;min-width:90px}.muted{color:#64748b}.actions{display:flex;gap:8px;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:0;z-index:4;display:flex;gap:8px;justify-content:flex-end}.modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:50;align-items:center;justify-content:center}.modal.show{display:flex}.modal-box{background:#fff;border-radius:14px;padding:22px;max-width:420px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.notice{padding:10px 12px;border-radius:8px;background:#fff8e1;border:1px solid #facc15;margin-bottom:12px}h1{font-size:24px}h2{font-size:17px;margin-top:0}@media(max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.span-4{grid-column:span 2}}@media(max-width:800px){.shell{display:block}.side{width:auto;position:static;min-height:0}.grid,.grid-4{grid-template-columns:1fr}.span-4{grid-column:span 1}}



/* Stage 3: approved legacy interface skin */
:root{--bg:#f7f0ea;--side:#2b160e;--accent:#b8864b;--accent2:#8a5f33;--card:#fffaf6;--text:#261a16;--muted:#7d6b60;--line:#eadbcf;--ok:#14834a;--bad:#a01818}
body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.top{background:#fffaf6;color:var(--text);border-bottom:1px solid var(--line);height:auto;min-height:66px;padding:16px 28px;box-shadow:0 2px 10px rgba(57,34,19,.04)}
.top .brand{font-size:22px;font-weight:800;color:#6e4a2b}.top a{color:#6e4a2b}.shell{display:flex}.side{width:280px;background:linear-gradient(180deg,#32180e,#120906);border-right:0;min-height:calc(100vh - 66px);top:66px}.side nav{padding:16px}.side a{color:#f5eadf;border-radius:12px;margin:2px 0;font-size:13.5px}.side a:hover,.side a.on{background:rgba(184,134,75,.28);color:#fff}.group{color:#d4bda0;margin:16px 8px 6px}.content{padding:26px}.card,.panel,.entryPanel,.compactPanel,.panelSub{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(57,34,19,.07);margin-bottom:16px}.compactPanel{background:#fffdfb}.panelSub{background:#fff;border-radius:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar h1,.toolbar h2,h1,h2,h3{margin:0;color:#2d1c13}.toolbar h2{font-size:19px}.btn{display:inline-block;border:1px solid var(--accent);background:white;color:var(--accent2);padding:9px 13px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer;margin:3px}.btn.primary,.btn.green{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.orange{background:#e6a23c;color:#fff;border-color:#e6a23c}.btn.light{background:#fffaf6;color:#7a5530}.btn.danger{background:#a01818;color:white;border-color:#a01818}.btn.secondary{background:#6e4a2b;color:#fff;border-color:#6e4a2b}.badge{display:inline-block;background:#fff4e9;border:1px solid var(--line);color:#6e4a2b;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;margin:2px}.notice{background:#fff3cd;border:1px solid #ead89a;border-radius:12px;padding:12px;margin-bottom:15px;color:#5f4316}.salesHeaderGrid,.purchaseHeaderGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid4,.moneyStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.moneyStrip{grid-template-columns:1.2fr repeat(4,1fr);align-items:end;margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,select,textarea,.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #dec9b8;border-radius:10px;background:#fffdfb;color:var(--text)}input[readonly]{background:#f8f0e8;color:#5a463b}.right{text-align:right}.table-wrap{background:white;border:1px solid var(--line);border-radius:16px;overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}th{background:#fff4e9;color:#6e4a2b;position:sticky;top:0}.entryTable input,.entryTable select{min-width:90px}.entryTable .description-input{min-width:220px}.entryTable .stock-cell{min-width:155px}.entryTable .cert-cell{min-width:120px}.num-input,.money-input{text-align:right}.btns,.sticky-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:0;z-index:4;background:rgba(255,250,246,.96);border-radius:16px}.hidden{display:none!important}.note,.muted{color:var(--muted);font-size:13px}.modal-box{background:#fffaf6;border:1px solid var(--line);border-radius:18px}.form-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.form-summary .sumBox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.form-summary span{display:block;color:var(--muted);font-size:12px}.form-summary b{font-size:20px;color:#2d1c13}
@media(max-width:1100px){.salesHeaderGrid,.purchaseHeaderGrid{grid-template-columns:1fr}.moneyStrip,.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.form-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.shell{display:block}.side{width:auto;position:static;min-height:0}.content{padding:14px}.grid2,.grid3,.grid4,.moneyStrip{grid-template-columns:1fr}.form-summary{grid-template-columns:1fr}.top{display:block}}

/* Stage 4 approved blue/white invoice interface */
body{background:#f4f7fb;color:#0f172a;font-family:Arial,Helvetica,sans-serif}.content{padding:12px}.top{background:#ffffff;color:#0f172a;border-bottom:1px solid #d9e2ef;box-shadow:0 1px 8px rgba(30,64,175,.08)}.top .brand,.top a{color:#0f3f74}.side{background:#ffffff;border-right:1px solid #d9e2ef}.side a{color:#334155}.side a:hover,.side a.on{background:#eaf2ff;color:#1d4ed8}.group{color:#64748b}.doc-top-line{height:0}.approved-toolbar{background:#fff;border-left:4px solid #2563eb;border-radius:14px 14px 0 0;margin:0;padding:14px 14px 10px 14px;border-top:1px solid #d9e2ef;border-right:1px solid #d9e2ef}.approved-toolbar h1{font-size:16px;color:#020617}.panel.approved-master,.panel.approved-details{background:#fff;border:1px solid #d9e2ef;border-radius:0 0 14px 14px;box-shadow:0 3px 12px rgba(15,23,42,.06);padding:12px;margin-bottom:14px}.approved-details{border-radius:14px}.approved-grid{display:grid;grid-template-columns:0.95fr 1.1fr;gap:12px}.approved-box{background:#fff;border:1px solid #dfe7f1;border-radius:12px;padding:16px;box-shadow:0 2px 9px rgba(15,23,42,.04)}.approved-box h3{font-size:14px;margin:0 0 8px;color:#020617}.approved-form-grid{display:grid;gap:10px}.approved-form-grid.two{grid-template-columns:1fr 1fr}.approved-form-grid.four{grid-template-columns:repeat(4,1fr)}.totals-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:8px;background:#f8fafc;border:1px solid #d9e2ef;border-radius:12px;padding:10px;margin-bottom:12px}.field label{font-size:11px;font-weight:700;color:#0f2251;margin-bottom:4px}input,select,textarea,.field input,.field select,.field textarea{background:#fff;border:1px solid #cbd8ea;border-radius:8px;padding:8px;font-size:13px;color:#020617}input[readonly]{background:#f8fafc}.note{font-size:11px;color:#475569}.badge{background:#eef2ff;color:#1e22aa;border:0;border-radius:999px;padding:4px 8px;font-size:11px}.btn{border-radius:9px;border:1px solid #cbd5e1;background:#e2e8f0;color:#020617;font-size:12px;padding:8px 12px}.btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn.green{background:#16a34a;border-color:#16a34a;color:#fff}.btn.orange{background:#e07800;border-color:#e07800;color:#fff}.btn.light{background:#e2e8f0;border-color:#e2e8f0;color:#020617}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.shipper-line{margin:8px 0}.shipper-line input{width:auto}.table-wrap{border:0;border-radius:12px;background:#fff}th{background:#eaf2ff;color:#0f2251;text-transform:none;font-size:12px;padding:9px 10px}td{border-bottom:1px solid #e5eaf2;padding:7px}.entryTable input,.entryTable select{min-width:96px;padding:7px;border-radius:7px}.entryTable .description-input{min-width:210px}.sticky-actions{background:#fff;border:1px solid #d9e2ef;border-radius:12px;box-shadow:0 -2px 10px rgba(15,23,42,.04)}
@media(max-width:1200px){.approved-grid{grid-template-columns:1fr}.approved-form-grid.four,.totals-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.approved-form-grid.two,.approved-form-grid.four,.totals-strip{grid-template-columns:1fr}}

/* Stage 5: three-column approved invoice/consign header */
.invoice-toolbar-v5{border-radius:14px 14px 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.invoice-master-v5{border-radius:0 0 14px 14px}.invoice-header-grid-v5{display:grid;grid-template-columns:1fr 1fr 0.95fr;gap:0;border:1px solid #d9e2ef;border-radius:12px;overflow:hidden;background:#fff}.invoice-col-v5,.invoice-summary-v5{padding:16px;border-right:1px solid #d9e2ef;min-height:440px}.invoice-summary-v5{border-right:0;background:#fbfdff}.invoice-col-v5 h3,.invoice-summary-v5 h3{font-size:13px;letter-spacing:.03em;margin:0 0 14px;color:#020617;text-transform:uppercase}.invoice-col-v5 .field{margin-bottom:10px}.invoice-col-v5 .field>.field{margin-bottom:0}.invoice-col-v5 label,.invoice-summary-v5 label{font-size:11px;font-weight:700;color:#0f2251}.invoice-col-v5 input,.invoice-col-v5 select,.invoice-summary-v5 input,.invoice-summary-v5 select{height:34px;border-radius:8px;background:#fff}.invoice-summary-v5 .summary-row{display:grid;grid-template-columns:1fr 145px;align-items:center;gap:10px;margin:12px 0;font-size:13px}.invoice-summary-v5 .summary-row span{color:#334155;font-weight:700}.invoice-summary-v5 .summary-row strong{font-size:18px;text-align:right;color:#0f172a}.invoice-summary-v5 .summary-row input{text-align:right;font-weight:700}.summary-line{height:1px;background:#cbd5e1;margin:18px 0}.summary-grand{display:grid;grid-template-columns:1fr 145px;align-items:center;gap:10px;margin:14px 0 20px}.summary-grand span{font-weight:800;color:#0f172a}.summary-grand strong{font-size:22px;text-align:right;color:#0f172a}.exchange-box{margin-top:18px;border-top:1px dashed #cbd5e1;padding-top:12px;font-size:12px;line-height:1.7;color:#334155}.exchange-box b{color:#0f2251}.exchange-box span{color:#64748b}.shipper-line{display:grid;gap:3px;margin:10px 0}.shipper-line label{display:flex;align-items:center;gap:6px}.shipper-line input{width:auto;height:auto}.approved-details{margin-top:14px}
@media(max-width:1200px){.invoice-header-grid-v5{grid-template-columns:1fr 1fr}.invoice-summary-v5{grid-column:span 2;border-top:1px solid #d9e2ef}.invoice-col-v5:nth-child(2){border-right:0}}
@media(max-width:800px){.invoice-toolbar-v5{display:block}.invoice-header-grid-v5{grid-template-columns:1fr}.invoice-col-v5,.invoice-summary-v5{border-right:0;border-bottom:1px solid #d9e2ef;min-height:auto}.invoice-summary-v5{grid-column:auto}.invoice-summary-v5 .summary-row,.summary-grand{grid-template-columns:1fr}}

/* Stage 6: approved four-column invoice/consign header */
.invoice-header-grid-v6{display:grid;grid-template-columns:1.05fr 1fr 1fr .95fr;gap:0;border:1px solid #d9e2ef;border-radius:12px;overflow:hidden;background:#fff}.invoice-col-v6,.invoice-summary-v6{padding:14px;border-right:1px solid #d9e2ef;min-height:430px}.invoice-summary-v6{border-right:0;background:#fbfdff}.invoice-col-v6 h3,.invoice-summary-v6 h3{font-size:13px;letter-spacing:.03em;margin:0 0 12px;color:#020617;text-transform:uppercase}.invoice-col-v6 .field{margin-bottom:10px}.invoice-col-v6 .field>.field{margin-bottom:0}.invoice-col-v6 label,.invoice-summary-v6 label{font-size:11px;font-weight:700;color:#0f2251}.invoice-col-v6 input,.invoice-col-v6 select,.invoice-summary-v6 input,.invoice-summary-v6 select{height:34px;border-radius:8px;background:#fff}.field-row-v6.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-summary-v6 .summary-row{display:grid;grid-template-columns:1fr 135px;align-items:center;gap:10px;margin:12px 0;font-size:13px}.invoice-summary-v6 .summary-row span{color:#334155;font-weight:700}.invoice-summary-v6 .summary-row strong{font-size:18px;text-align:right;color:#0f172a}.invoice-summary-v6 .summary-row input{text-align:right;font-weight:700}.invoice-summary-v6 .summary-grand{display:grid;grid-template-columns:1fr 135px;align-items:center;gap:10px;margin:14px 0 20px}.invoice-summary-v6 .summary-grand span{font-weight:800;color:#0f172a}.invoice-summary-v6 .summary-grand strong{font-size:22px;text-align:right;color:#0f172a}.invoice-extra-col{background:#fff}.customer-col{background:#fff}.invoice-col-main{background:#fff}.invoice-extra-col .note{display:block;margin-top:8px;line-height:1.45}.approved-master.panel{padding:12px}.invoice-toolbar-v5{border-left:4px solid #2563eb}.invoice-toolbar-v5 h1{font-size:16px}
@media(max-width:1500px){.invoice-header-grid-v6{grid-template-columns:1fr 1fr}.invoice-col-v6:nth-child(2){border-right:0}.invoice-extra-col{border-top:1px solid #d9e2ef}.invoice-summary-v6{border-top:1px solid #d9e2ef}.invoice-col-v6,.invoice-summary-v6{min-height:auto}}
@media(max-width:850px){.invoice-header-grid-v6{grid-template-columns:1fr}.invoice-col-v6,.invoice-summary-v6{border-right:0;border-bottom:1px solid #d9e2ef}.field-row-v6.two,.invoice-summary-v6 .summary-row,.invoice-summary-v6 .summary-grand{grid-template-columns:1fr}.invoice-summary-v6 .summary-row strong,.invoice-summary-v6 .summary-grand strong{text-align:left}}

/* Stage 7: compact six-column invoice header with merged sections */
.compact-six-master.panel{padding:10px;margin-bottom:12px}
.invoice-header-grid-v7{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid #d9e2ef;border-radius:12px;overflow:hidden;background:#fff}
.six-section{padding:10px 12px;border-right:1px solid #d9e2ef;min-height:0;background:#fff}
.six-section h3{font-size:12px;letter-spacing:.035em;text-transform:uppercase;color:#020617;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #e5eaf2}
.six-customer{grid-column:span 2}.six-invoice{grid-column:span 2}.six-diamond{grid-column:span 1}.six-summary{grid-column:span 1;border-right:0;background:#fbfdff}
.six-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;align-items:end}.six-diamond .six-fields,.six-summary .six-fields{grid-template-columns:1fr}.six-span-2{grid-column:span 2}
.six-section .field{margin-bottom:0}.six-section .field label,.six-summary label{font-size:10.5px;font-weight:800;color:#0f2251;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.six-section input,.six-section select{height:31px;padding:6px 8px;font-size:12px;border-radius:7px}.six-section .note{font-size:10.5px}.six-section .shipper-line{margin:0;font-size:11px}.six-section .shipper-line label{font-size:11px;font-weight:700;color:#0f2251}.six-section .shipper-line input{height:auto;width:auto}
.summary-six-grid{display:grid;grid-template-columns:1fr;gap:7px}.summary-mini{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:6px}.summary-mini span{font-size:11px;font-weight:800;color:#334155}.summary-mini strong{font-size:15px;text-align:right;color:#0f172a}.summary-mini input{height:29px;text-align:right;font-weight:700;padding:5px 7px}.summary-grand-six{border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;padding:8px 0;margin:2px 0;display:grid;grid-template-columns:1fr;gap:2px}.summary-grand-six span{text-transform:uppercase;font-size:11px;font-weight:900;color:#0f172a}.summary-grand-six strong{font-size:20px;line-height:1.05;text-align:right;color:#0f172a}.exchange-six{font-size:10.5px;line-height:1.45;color:#334155}.exchange-six b{color:#0f2251}.exchange-six span{display:block;color:#64748b}
@media(max-width:1600px){.invoice-header-grid-v7{grid-template-columns:repeat(4,minmax(0,1fr))}.six-customer,.six-invoice{grid-column:span 2}.six-diamond,.six-summary{grid-column:span 2;border-top:1px solid #d9e2ef}.six-invoice{border-right:0}.six-diamond .six-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-six-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.summary-grand-six{grid-column:span 1}.exchange-six{grid-column:span 3}}
@media(max-width:950px){.invoice-header-grid-v7{grid-template-columns:1fr}.six-customer,.six-invoice,.six-diamond,.six-summary{grid-column:auto;border-right:0;border-top:1px solid #d9e2ef}.six-customer{border-top:0}.six-fields,.six-diamond .six-fields,.summary-six-grid{grid-template-columns:1fr}.six-span-2,.exchange-six{grid-column:auto}}

/* Stage 8 lot/item picker */
.vts-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.55);z-index:9999;padding:20px}
.vts-modal.show{display:flex}
.vts-modal-box{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);width:min(1100px,96vw);max-height:90vh;overflow:auto;padding:16px;color:#0f172a}
.stock-picker-box .toolbar{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid #e5e7eb;margin:-16px -16px 14px;padding:12px 16px}
.picker-controls{align-items:end;margin-bottom:12px}.picker-controls .wide{grid-column:span 2}.clickrow{cursor:pointer}.clickrow:hover{background:#eff6ff}.memo-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px;color:#9a3412;font-weight:700}.memo-summary strong{font-size:13px;color:#9a3412}.consign-safe{background:#fff7ed!important;color:#9a3412!important}
.stock-code-input[readonly]{background:#f8fafc;cursor:pointer}

/* Stage 10: compact sales/purchase detail entry table */
.entryTable.compact-lines th,
.entryTable.compact-lines td{padding:4px 5px;font-size:12px;white-space:nowrap;vertical-align:middle}
.entryTable.compact-lines input,
.entryTable.compact-lines select{padding:4px 5px;border-radius:5px;font-size:12px;min-width:48px;height:28px}
.entryTable.compact-lines .description-input{min-width:220px;width:220px;white-space:normal}
.entryTable.compact-lines .stock-code-input{min-width:74px;width:74px}
.entryTable.compact-lines input[name="line_certificate_no[]"]{min-width:76px;width:76px}
.entryTable.compact-lines .num-input,
.entryTable.compact-lines .money-input{min-width:62px;width:62px;text-align:right}
.entryTable.compact-lines input[name="line_notes[]"]{min-width:70px;width:70px}
.entryTable.compact-lines td:last-child{min-width:112px;width:112px;text-align:right;white-space:nowrap}
.entryTable.compact-lines .btn.small{padding:3px 5px;margin:1px;border-radius:5px;font-size:11px}
button.disabled,button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}
#saveReadyNote{margin-right:auto}

/* Stage 11: final compact approved detail + list + view modal */
.phase11-compact-header .six-section{padding:8px 10px}
.phase11-compact-header .six-section input,
.phase11-compact-header .six-section select{height:29px;font-size:11.5px;padding:4px 7px}
.phase11-compact-header .six-section h3{margin-bottom:6px;padding-bottom:5px}
.header-action-block{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:2px}
.header-action-block .btn{padding:6px 9px;font-size:12px;line-height:1.1}
.header-save-btn{min-width:64px}
.origin-polished-field,.origin-rough-field{transition:opacity .15s ease}
.phase11-lines{table-layout:fixed;min-width:1320px}
.phase11-lines th:nth-child(1){width:92px}.phase11-lines th:nth-child(2){width:86px}.phase11-lines th:nth-child(3){width:360px}.phase11-lines th:nth-child(4){width:90px}.phase11-lines th:nth-child(5){width:90px}.phase11-lines th:nth-child(6){width:78px}.phase11-lines th:nth-child(7){width:78px}.phase11-lines th:nth-child(8){width:78px}.phase11-lines th:nth-child(9){width:85px}.phase11-lines th:nth-child(10){width:80px}.phase11-lines th:last-child{width:126px}
.entryTable.compact-lines.phase11-lines td{padding:3px 4px}.entryTable.compact-lines.phase11-lines input,.entryTable.compact-lines.phase11-lines select{height:27px;padding:3px 5px;font-size:12px;width:100%;min-width:0;box-sizing:border-box}.entryTable.compact-lines.phase11-lines .description-input{width:100%;min-width:0}.entryTable.compact-lines.phase11-lines .num-input,.entryTable.compact-lines.phase11-lines .money-input{width:100%;min-width:0}.entryTable.compact-lines.phase11-lines .line-actions{display:flex;justify-content:flex-end;gap:3px;min-width:118px}.entryTable.compact-lines.phase11-lines .btn.small{width:30px;height:26px;padding:2px 3px;display:inline-flex;align-items:center;justify-content:center}.entryTable.compact-lines.phase11-lines input:focus,.entryTable.compact-lines.phase11-lines select:focus{outline:2px solid #2563eb;border-color:#2563eb}
.list-filter-card{padding:12px}.list-filters{margin-bottom:8px;align-items:end}.list-filters .field{margin:0}.list-filters input,.list-filters select{height:32px;font-size:12px}.sortable-filterable th{cursor:pointer;user-select:none;position:relative}.sortable-filterable th.sort-asc::after{content:' ▲';font-size:10px}.sortable-filterable th.sort-desc::after{content:' ▼';font-size:10px}.list-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.list-pager span{font-weight:700;color:#334155}.view-label-card h2{font-size:16px;margin:0 0 12px}.label-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.label-grid>div{border:1px solid #dbe5f0;border-radius:10px;background:#fbfdff;padding:8px}.label-grid b{display:block;font-size:11px;color:#0f2251;text-transform:uppercase;margin-bottom:4px}.label-grid span{display:block;font-size:14px;color:#0f172a;font-weight:700;min-height:19px}.label-grid .grand-label{background:#eff6ff;border-color:#bfdbfe}.label-grid .grand-label span{font-size:18px}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.label-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid6.list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.label-grid,.preview-grid,.grid6.list-filters{grid-template-columns:1fr}.header-action-block .btn{flex:1}}

/* Stage 12: professional grid, two-row filters, compact toolbars */
.header-action-toolbar{display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap;background:#f8fafc;border:1px solid #d9e2ef;border-radius:10px;padding:7px;margin-top:4px}
.header-action-toolbar .btn{padding:7px 11px;font-size:12px;margin:0}.header-action-toolbar .btn.green{background:#16a34a;color:#fff;border-color:#16a34a}
.two-row-filters{display:grid!important;grid-template-columns:1.4fr repeat(5,1fr);gap:10px;align-items:end;margin-bottom:8px}.two-row-filters .field{margin:0}.two-row-filters .field label{font-size:11px;color:#334155;text-transform:uppercase;letter-spacing:.02em}.two-row-filters input,.two-row-filters select{height:34px;padding:6px 9px;border-radius:8px;font-size:12px;background:#fff}
.list-filter-card{padding:14px;background:#fff;border-color:#d9e2ef;border-radius:14px}.list-filter-card .notice{background:#f8fafc;border:1px dashed #cbd5e1;color:#475569;font-size:12px;margin:8px 0 10px}
#docListTable{border-collapse:separate;border-spacing:0;font-size:12px;min-width:1120px}#docListTable thead th{background:linear-gradient(#eef5ff,#e6effc);color:#0f2251;border-bottom:1px solid #c6d7ee;text-transform:none;font-size:12px;font-weight:800;letter-spacing:.01em;padding:8px 9px;white-space:nowrap;cursor:pointer;position:sticky;top:0;z-index:2}#docListTable tbody td{padding:7px 9px;border-bottom:1px solid #edf2f7;white-space:nowrap;vertical-align:middle;color:#0f172a}#docListTable tbody tr:nth-child(even){background:#fbfdff}#docListTable tbody tr:hover{background:#eef6ff}#docListTable a{font-weight:800;color:#1d4ed8;text-decoration:none}#docListTable .right{text-align:right;font-variant-numeric:tabular-nums}.list-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:10px}.list-pager span{font-size:12px;color:#475569}.sort-asc::after{content:' ▲';font-size:10px}.sort-desc::after{content:' ▼';font-size:10px}
.view-label-card{padding:14px}.view-label-card h2{font-size:15px;margin-bottom:10px}.label-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.label-grid>div{background:#f8fafc;border:1px solid #dbe6f3;border-radius:9px;padding:8px}.label-grid b{display:block;font-size:11px;color:#334155;text-transform:uppercase;margin-bottom:3px}.label-grid span{display:block;font-size:13px;color:#020617;font-weight:600}.grand-label{background:#eef6ff!important;border-color:#b9d2f5!important}.item-toolbar{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.item-toolbar .btn{padding:5px 8px;font-size:11px;margin:0}.header-toolbar-card{background:#fff;border:1px solid #d9e2ef;border-radius:12px;padding:9px 10px;margin-bottom:10px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.header-toolbar-card h3{font-size:14px;margin:0;color:#0f2251}
@media(max-width:1200px){.two-row-filters{grid-template-columns:repeat(3,1fr)}.label-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.two-row-filters,.label-grid{grid-template-columns:1fr}}
.six-span-3{grid-column:span 2}
@media(max-width:950px){.six-span-3{grid-column:auto}}

/* Stage 13: dependent filter bar and print/action refinements */
.list-filter-card .two-row-filters{grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px 14px;align-items:end}
.list-filter-card .field label{font-size:11px;font-weight:800;color:#233a60;letter-spacing:.02em;text-transform:uppercase}
.list-filter-card input,.list-filter-card select{height:34px;font-size:12px;border:1px solid #c8d5e8;border-radius:8px;background:#fff}
#docListTable.sortable-filterable{font-size:12px;border-spacing:0;border-collapse:separate;border-radius:12px;overflow:hidden}
#docListTable.sortable-filterable th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:#eaf2ff;color:#0f2f66;border-bottom:1px solid #cbd8ee;white-space:nowrap}
#docListTable.sortable-filterable td{font-size:12px;border-bottom:1px solid #edf1f7;vertical-align:middle}
#docListTable.sortable-filterable tbody tr:hover{background:#f7fbff}
.btn.warn{background:#fff3cd;border-color:#f5c542;color:#6b4b00}
.view-label-card .label-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.item-toolbar .btn,.line-actions .btn{min-width:28px;padding:5px 7px}
@media(max-width:1100px){.list-filter-card .two-row-filters{grid-template-columns:repeat(2,minmax(160px,1fr))}.view-label-card .label-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
/* Stage31 purchase original modal compatibility */
.purchase-modal-wide{max-width:1280px;width:96vw;max-height:92vh;overflow:auto}.purchase-modal-wide .grid4{grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.purchase-modal-wide .wide{grid-column:span 2}.purchase-modal-wide input[readonly]{background:#f5f7fb}.purchase-modal-wide .stockGridOnly{display:none}

/* Stage 41 save lock reason display */
.line-save-reason{margin-top:4px;font-size:11px;line-height:1.25;max-width:260px;white-space:normal}
.line-save-reason.bad{color:#b91c1c;font-weight:700}
.line-save-reason.ok{color:#15803d;font-weight:700}
#detailTable tr.line-invalid td{background:#fff7f7}
#detailTable tr.line-valid td{background:#f6fff8}
.save-ready-bad{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.save-ready-ok{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
button.disabled,button:disabled{cursor:not-allowed;opacity:.65}

/* Stage 42 visible save lock reasons */
.save-reason-panel{margin:10px 0;padding:10px 12px;border-radius:8px;font-weight:600;border:1px solid #ddd;background:#fffbe6;color:#7a4b00;}
.save-reason-panel.bad{background:#fff1f1;border-color:#ffb9b9;color:#9b1c1c;}
.save-reason-panel.ok{background:#eefaf0;border-color:#bfe6c8;color:#17652d;}
.line-save-reason{min-width:180px;max-width:260px;white-space:normal;font-size:11px;line-height:1.25;padding:5px 7px;border-radius:6px;border:1px solid #ddd;}
.line-save-reason.bad{background:#fff1f1;border-color:#ffb9b9;color:#9b1c1c;}
.line-save-reason.ok{background:#eefaf0;border-color:#bfe6c8;color:#17652d;}
tr.line-invalid{background:#fff7f7;}
tr.line-valid{background:#f7fff8;}
.line-reason-cell{vertical-align:top;}

/* Stage 51: protected modern workspace shell */
:root{--ws-bg:#f3f5f7;--ws-panel:rgba(255,255,255,.78);--ws-border:rgba(15,23,42,.10);--ws-text:#111827;--ws-muted:#64748b;--ws-shadow:0 8px 24px rgba(15,23,42,.08)}
body.workspace-shell-body{background:var(--ws-bg);color:var(--ws-text);padding-top:104px;padding-bottom:34px;min-height:100vh}
.workspace-topbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:58px;display:flex;align-items:center;gap:14px;padding:8px 14px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--ws-border);box-shadow:var(--ws-shadow)}
.workspace-brand a{font-weight:900;letter-spacing:.02em;color:#111827;text-decoration:none;white-space:nowrap}.workspace-iconbar{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;padding:2px}.module-icon-btn{height:40px;min-width:42px;border:1px solid var(--ws-border);border-radius:14px;background:#fff;color:#111827;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 3px 10px rgba(15,23,42,.04);transition:.14s ease}.module-icon-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.12);background:#f8fafc}.workspace-userbar{display:flex;align-items:center;gap:12px;font-size:13px;color:#334155;white-space:nowrap}.workspace-userbar a{color:#111827;text-decoration:none;font-weight:700}.notify-dot{background:#111827;color:#fff;border-radius:999px;padding:5px 8px;font-size:13px}.workspace-search-row{position:fixed;top:58px;left:0;right:0;z-index:999;height:46px;background:rgba(243,245,247,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ws-border);display:flex;align-items:center;padding:7px 14px}.global-search-form{width:100%;max-width:none}.global-search-form input{height:32px;border-radius:999px;border:1px solid var(--ws-border);background:#fff;padding:6px 16px;font-size:13px;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.workspace-content{padding:18px;width:100%;max-width:none}.shell{display:block}.side{display:none!important}.content.workspace-content{margin:0;min-height:calc(100vh - 138px)}.workspace-footer{position:fixed;left:0;right:0;bottom:0;height:32px;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--ws-border);display:flex;align-items:center;gap:18px;padding:0 14px;font-size:12px;color:#475569}.workspace-hero{background:var(--ws-panel);border:1px solid var(--ws-border);border-radius:18px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--ws-shadow)}.workspace-hero h1{margin:0 0 6px;font-size:24px;color:#111827}.workspace-hero p{margin:0;color:var(--ws-muted)}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.workspace-tile{display:block;background:#fff;border:1px solid var(--ws-border);border-radius:18px;padding:18px;text-decoration:none;color:#111827;box-shadow:var(--ws-shadow);min-height:132px;transition:.14s ease}.workspace-tile:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.13)}.tile-icon{display:block;font-size:30px;margin-bottom:12px}.tile-title{display:block;font-weight:900;font-size:16px}.tile-desc{display:block;color:var(--ws-muted);font-size:13px;margin-top:6px}.card,.panel,.entryPanel,.compactPanel,.panelSub{box-shadow:var(--ws-shadow)}
@media(max-width:780px){body.workspace-shell-body{padding-top:112px}.workspace-topbar{height:auto;min-height:58px;flex-wrap:wrap}.workspace-userbar{display:none}.workspace-search-row{top:64px}.workspace-grid{grid-template-columns:1fr}.module-icon-btn{min-width:38px;height:38px}}

/* Stage 52: compact document view header for Sales/Purchase/Consign */
.view-label-card{padding:8px 10px!important;margin-bottom:10px!important}
.view-label-card h2{font-size:13px!important;margin:0 0 6px!important;line-height:1.1!important;color:#111827!important}
.view-label-card .label-grid{grid-template-columns:repeat(8,minmax(100px,1fr))!important;gap:4px!important;align-items:stretch!important}
.view-label-card .label-grid>div{border-radius:7px!important;padding:5px 7px!important;min-height:34px!important;background:#f8fafc!important}
.view-label-card .label-grid b{font-size:9px!important;line-height:1!important;margin:0 0 2px!important;letter-spacing:.02em!important;color:#334155!important}
.view-label-card .label-grid span{font-size:12px!important;line-height:1.15!important;min-height:14px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.view-label-card .label-grid .grand-label{background:#eaf3ff!important;border-color:#bfdbfe!important}
.view-label-card .label-grid .grand-label span{font-size:15px!important;color:#0f172a!important}
.card.view-label-card + .card{margin-top:8px!important}
@media(max-width:1500px){.view-label-card .label-grid{grid-template-columns:repeat(6,minmax(100px,1fr))!important}}
@media(max-width:1100px){.view-label-card .label-grid{grid-template-columns:repeat(4,minmax(100px,1fr))!important}}
@media(max-width:700px){.view-label-card .label-grid{grid-template-columns:repeat(2,minmax(100px,1fr))!important}}

/* Stage 58 secure print modal */
.vts-print-modal{display:none;position:fixed;inset:0;z-index:9999}
.vts-print-modal.show{display:block}
.vts-print-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(7px)}
.vts-print-modal-box{position:absolute;inset:28px;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.vts-print-modal-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #dbe5f2;background:rgba(255,255,255,.92)}
.vts-print-modal-actions{display:flex;gap:8px;align-items:center}
#vtsPrintFrame{width:100%;height:100%;border:0;background:#fff;flex:1}
.vts-print-modal-btn{cursor:pointer}
@media(max-width:700px){.vts-print-modal-box{inset:8px;border-radius:12px}.vts-print-modal-head{height:auto;min-height:52px;gap:8px;flex-wrap:wrap}}


/* Stage 61: top icon labels only */
body.workspace-shell-body{padding-top:122px}
.workspace-topbar{height:76px;align-items:center}
.workspace-iconbar{gap:7px;align-items:center}
.module-icon-btn{height:58px;min-width:72px;padding:5px 7px;flex-direction:column;gap:2px;font-size:19px;line-height:1}
.module-icon-btn .module-icon{display:block;line-height:1.05}
.module-icon-btn .module-label{display:block;font-size:10.5px;font-weight:800;line-height:1.1;color:#334155;white-space:nowrap;max-width:76px;overflow:hidden;text-overflow:ellipsis}
.workspace-search-row{top:76px}
@media(max-width:780px){body.workspace-shell-body{padding-top:132px}.workspace-topbar{height:auto;min-height:76px}.workspace-search-row{top:84px}.module-icon-btn{min-width:62px;height:54px}.module-icon-btn .module-label{font-size:10px;max-width:62px}}
