:root{--ink: #111;--rule: #000;--navy: #8f1616;--navy-soft: #a81b1b;--navy-ink: #7a1212;--brand: #8f1616;--brand-2: #b45309;--gold: #b45309;--gold-soft: #fff7ed;--logo: #16305c;--logo-deep: #0f2246;--ivory: #fffaf5;--ivory-deep: #fdf0e4;--sheet-rule: #e8d2be;--sheet-rule-strong: #c9a583;--panel-bg: #f4f5f7;--panel-line: #d8dce2;--accent: #8f1616}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#1a2233}.app{display:flex;min-height:100vh;align-items:flex-start}.panel{width:380px;flex:0 0 380px;background:var(--panel-bg);border-right:1px solid var(--panel-line);padding:16px;height:100vh;overflow-y:auto;position:sticky;top:0}.panel-head h1{font-size:15px;margin:0 0 10px}.panel-actions{display:flex;gap:8px;margin-bottom:8px}.panel button{flex:1;padding:8px 10px;font-size:13px;border:1px solid #b9bfc8;background:#fff;border-radius:5px;cursor:pointer}.panel button:hover{background:#eef1f5}.panel button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.panel button.primary:hover{filter:brightness(1.08)}.fieldset{border-top:1px solid var(--panel-line);padding-top:10px;margin-top:10px}.fieldset h2{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5a6472;margin:0 0 8px}.field{display:block;margin-bottom:8px}.field>span{display:block;font-size:11px;color:#5a6472;margin-bottom:3px}.field input,.field select,.field textarea{width:100%;padding:6px 7px;font:inherit;font-size:13px;border:1px solid #c4cad2;border-radius:4px;background:#fff}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.row{display:flex;gap:8px}.row .field{flex:1}.field input.veh-input{font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase}.charge-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.totals{margin:8px 0 0;font-size:12px}.totals>div{display:flex;justify-content:space-between;padding:2px 0}.totals dt{color:#5a6472}.totals dd{margin:0;font-variant-numeric:tabular-nums}.totals .grand{border-top:1px solid var(--panel-line);margin-top:4px;padding-top:4px;font-weight:700}.panel button.save{background:var(--navy);border-color:var(--navy);color:#fff}.panel button.save:hover{filter:brightness(1.25)}.who{margin:8px 0 0;font-size:11.5px;color:#7a6a5c;display:flex;align-items:center;gap:6px}.role-tag{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--navy);border-radius:3px;padding:1px 5px}.flash{margin:6px 0 0;padding:6px 8px;font-size:12px;color:#14532d;background:#dcfce7;border:1px solid #86efac;border-radius:4px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#fffaf5,#fdf0e4)}.login-card{width:min(360px,100%);background:#fff;border-top:4px solid var(--navy);border-radius:6px;padding:26px 24px 24px;box-shadow:0 14px 40px #50141429}.login-logo{width:150px;margin-bottom:4px}.login-logo .logo{width:100%}.login-sub{margin:0 0 20px;font-size:11px;color:#8a7a6c}.login-card h1{font-size:17px;margin:0 0 16px;color:var(--navy)}.login-card .field{margin-bottom:12px}.login-card .primary{width:100%;margin-top:6px;padding:10px;font-size:14px;background:var(--navy);border:1px solid var(--navy);color:#fff;border-radius:5px;cursor:pointer}.login-card .primary:disabled{opacity:.55;cursor:not-allowed}.login-error{margin:0 0 12px;padding:8px 10px;font-size:12.5px;color:#7a1212;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px}.empty.error{color:#b91c1c}.login-card.wide{width:min(480px,100%)}.stack{display:flex;flex-direction:column;gap:8px;margin-top:4px}.login-card .ghost{width:100%;padding:9px;font-size:13px;background:transparent;border:1px solid #d8cfc4;color:var(--navy);border-radius:5px;cursor:pointer}.login-card .ghost:hover{background:#faf6f0}.role-picker{display:flex;gap:8px;margin-bottom:16px}.role-option{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 11px;border:1.5px solid #ddd3c7;border-radius:6px;cursor:pointer;background:#fff}.role-option:hover{border-color:#c2b4a3}.role-option.on{border-color:var(--navy);background:#fdf6f5;box-shadow:0 0 0 1px var(--navy) inset}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-title{font-size:13px;font-weight:700;color:var(--navy)}.role-note{font-size:10.5px;line-height:1.35;color:#7d6a5c}.group{border:1px solid #e8ddd0;border-radius:6px;padding:12px 12px 4px;margin:0 0 14px}.group legend{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a7565;padding:0 5px}.field input.pin-input{font-size:16px;letter-spacing:.28em;font-weight:700}.hint{margin:0 0 10px;font-size:11px;color:#8a7565;line-height:1.45}.ok-box{margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.5;color:#14532d;background:#dcfce7;border:1px solid #86efac;border-radius:5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#5014148c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{background:#fff;width:min(900px,100%);max-height:84vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 50px #00000059}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--panel-line)}.modal-head h2{margin:0;font-size:16px}.modal .icon{border:none;background:none;font-size:22px;line-height:1;cursor:pointer;color:#64748b;padding:0 4px}.modal .search{margin:14px 16px 8px;padding:9px 11px;font:inherit;font-size:14px;border:1px solid #c4cad2;border-radius:5px}.modal .search:focus{outline:2px solid var(--navy);outline-offset:-1px}.results{flex:1;overflow-y:auto;padding:0 16px}.empty{color:#64748b;font-size:14px;padding:20px 0;text-align:center}.rec-table{width:100%;border-collapse:collapse;font-size:13px}.rec-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;padding:8px 8px 6px;border-bottom:1px solid var(--panel-line);position:sticky;top:0;background:#fff}.rec-table td{padding:8px;border-bottom:1px solid #eef1f5;vertical-align:middle}.rec-table td.cn{font-weight:700;color:var(--navy)}.rec-table td.dim{color:#94a3b8;white-space:nowrap}.rec-table tr:hover td{background:#f8fafc}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{padding:4px 10px;font-size:12px;border:1px solid #c4cad2;background:#fff;border-radius:4px;cursor:pointer;white-space:nowrap}.row-actions button:hover{background:#eef1f5}.row-actions button.danger{color:#b91c1c;border-color:#fca5a5}.row-actions button.danger:hover{background:#fef2f2}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--panel-line);background:#fafbfc}.count{font-size:12px;color:#64748b}.foot-buttons{display:flex;gap:8px}.foot-buttons button{padding:7px 12px;font-size:13px;border:1px solid #c4cad2;background:#fff;border-radius:5px;cursor:pointer}.foot-buttons button:hover{background:#eef1f5}.preview{flex:1;padding:24px;display:flex;justify-content:center}.sheet{box-shadow:0 10px 34px #00000073}.sheet{width:277mm;background:#fff;color:#000;padding:6mm 5mm 3mm;font-size:9pt;line-height:1.15;background:radial-gradient(130% 100% at 85% 0%,#ffffffe6,#fff0 55%),linear-gradient(165deg,var(--ivory) 0%,var(--ivory-deep) 100%);border:.9pt solid var(--navy);box-shadow:0 2px 14px #0000002e}.sheet:after{content:"HRP";position:absolute;right:50%;top:50%;transform:translate(50%,-50%) rotate(-18deg);font:700 64pt Arial,sans-serif;letter-spacing:.12em;color:#8f16160a;white-space:nowrap;pointer-events:none;z-index:0}.sheet>*{position:relative;z-index:1}.sheet:before{content:"";position:absolute;top:0;left:0;right:0;height:1.6mm;background:var(--navy);border-bottom:.6pt solid var(--brand-2);pointer-events:none}.sheet{position:relative}.hdr{display:flex;align-items:flex-start;gap:6mm}.hdr-logo{flex:0 0 52mm}.logo{width:100%;height:auto;color:var(--navy)}.logo-hrp{font:700 30px Arial,sans-serif;letter-spacing:-.5px;fill:var(--logo)}.logo-swoosh{fill:var(--logo-deep)}.logo-log{font:700 24px Arial,sans-serif;letter-spacing:.5px;fill:var(--logo)}.hdr-addr{flex:1;font-size:7.6pt;line-height:1.5;padding-top:2mm;color:#4a5a6a}.hdr-right{flex:0 0 72mm}.copy-type{color:var(--navy);background:transparent;border:.7pt solid var(--brand-2);border-radius:1mm;padding:.8mm 2.5mm;letter-spacing:.06em;display:block;width:fit-content;margin-left:auto;font-weight:700;font-size:7.2pt;text-align:right;letter-spacing:.18em;margin-bottom:1.5mm}.cn-line{display:flex;align-items:flex-end;gap:2mm;margin-bottom:1.5mm}.cn-line .lbl{flex:0 0 16mm;font-size:6.8pt;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--navy-ink);padding-bottom:.8mm}.cn-line .val{flex:1;min-height:5mm;border-bottom:.8pt solid var(--sheet-rule-strong);padding:0 1mm .5mm;font-size:10pt}.cn-line .val.strong{font-weight:700}.parties{display:flex;gap:4mm;margin-top:1.5mm;padding-top:1.5mm;border-top:.6pt solid rgba(150,114,58,.55)}.parties-left{flex:1}.parties-right{flex:0 0 72mm;padding-top:0}.party-row{display:flex;align-items:flex-end;gap:3mm;margin-bottom:2.8mm}.party-label{flex:0 0 34mm;font-size:6.8pt;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--navy-ink);line-height:1.2}.party-value{flex:1;min-height:6mm;border-bottom:.8pt solid var(--sheet-rule);padding:0 1mm .5mm;white-space:pre-wrap}.party-row.dotted .party-value{border-bottom-style:dotted;border-bottom-width:1.5px}.route-row{display:flex;align-items:flex-end;gap:2mm;margin-bottom:2mm}.route-label{flex:0 0 12mm;font-size:6.8pt;font-weight:700;letter-spacing:.13em;color:var(--navy);padding-bottom:.5mm}.route-value{flex:1;min-height:6mm;border-bottom:.8pt solid var(--sheet-rule-strong);padding:0 1mm .5mm;font-size:10pt;display:flex;align-items:flex-end}.goods{width:100%;border-collapse:collapse;margin-top:1.5mm;table-layout:fixed}.goods td,.goods th{border:.5pt solid var(--sheet-rule);padding:.7mm 1.5mm;vertical-align:top}.goods td{background:#ffffffe0}.goods .rate{background:#8f16160e;color:var(--navy-ink)}.c-rail{width:18mm}.c-pkg{width:24mm}.c-part{width:92mm}.c-weight{width:30mm}.c-rate{width:34mm}.c-rs{width:28mm}.c-p{width:12mm}.hdr-row th{background:var(--navy);color:var(--gold-soft);border-color:var(--navy)!important;text-align:center;font-size:7.4pt;font-weight:600;letter-spacing:.09em;text-transform:uppercase;vertical-align:middle;padding:1.4mm 1mm}.amt-th{padding:0!important}.amt-head{display:block;padding:.4mm 0}.amt-sub{display:flex}.amt-sub span{flex:1;text-align:center;padding-bottom:.4mm}.amt-sub span:first-child{flex:0 0 70%}.hdr-row .rail-head{text-align:left}.rail{vertical-align:middle;text-align:center}.rail-text{color:var(--navy);display:flex;flex-direction:column;gap:1mm;font-weight:700;font-size:10.5pt;letter-spacing:.04em}.pkg{vertical-align:top}.pkg-val{font-size:11pt;padding-top:1mm;font-weight:700;color:var(--navy)}.particulars{vertical-align:top}.part-main{font-size:11pt;padding-top:1mm;font-weight:700;color:var(--navy)}.part-line{font-size:9.5pt;margin-top:1mm}.part-line.remarks{white-space:pre-wrap}.part-line.value{margin-top:2mm;font-size:10.5pt}.wcell{vertical-align:top}.wlabel{font-size:7.5pt;font-weight:700;letter-spacing:.04em;color:var(--navy-ink)}.wvalue{font-size:10pt;text-align:center;padding-top:1mm}.rate{font-size:7.4pt;font-weight:600;letter-spacing:.06em;text-align:right;white-space:nowrap}.rate.strong{font-size:9pt}.rs{text-align:right;font-size:10pt;font-variant-numeric:tabular-nums}.p{text-align:center;font-size:9pt;color:#555;font-variant-numeric:tabular-nums}.sign{vertical-align:top;position:relative}.sign-text{font-size:8.5pt;line-height:1.3}.permit-box{position:absolute;top:50%;left:66%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.6mm;border:.7pt solid var(--navy);padding:1.2mm 4mm;background:#ffffffeb;text-align:center}.permit-label{font-size:6pt;font-weight:700;letter-spacing:.14em;color:var(--brand-2)}.permit-no{font-size:11pt;font-weight:700;line-height:1.05;color:var(--navy);min-height:4mm;min-width:26mm}.foot{display:flex;justify-content:space-between;align-items:flex-start;border:.5pt solid var(--sheet-rule);border-top:none;color:var(--navy-ink);padding:1.4mm 1.5mm;font-size:7.2pt;font-weight:600;letter-spacing:.05em}.juris{color:var(--navy-ink);letter-spacing:.1em;text-align:center;font-size:6.8pt;font-weight:600;text-transform:uppercase;line-height:1.3;padding-top:1.5mm}@page{size:A4 landscape;margin:6mm}@media print{body{background:#fff;margin:0}.no-print{display:none!important}.app{display:block}.preview{padding:0;display:block}.sheet{width:100%;max-width:100%;margin:0;box-shadow:none;page-break-inside:avoid;break-inside:avoid;page-break-after:avoid;break-after:avoid}.sheet,.sheet:after,.hdr-row th,.copy-type,.goods td,.goods .rate,.permit-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
