:root{--navy:#14233b;--navy2:#1f3557;--ivory:#f7f3ea;--paper:#fffdf8;--brass:#b08d4c;--ink:#1b1b1b;--mute:#6b6b6b;--line:#e3dccb;--ok:#2f7d4f;--warn:#c27c0e;--bad:#b3261e;--badbg:#fdecea;--badline:#f1b0aa}:root[data-skin=charcoal_gold]{--navy:#232427;--navy2:#33353a;--brass:#c9a227;--ivory:#efeeeb;--paper:#fbfbfa;--line:#dcdad5}:root[data-skin=high_contrast]{--navy:#000;--navy2:#111;--brass:#ffbf00;--ivory:#fff;--paper:#fff;--line:#000;--ink:#000;--mute:#222}:root[data-skin=high_contrast] .card{border-width:2px}*{box-sizing:border-box}html,body{margin:0}body{font-family:Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--ivory);font-size:15px;min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}.top{min-height:56px;background:var(--navy);color:#fff;display:flex;align-items:center;flex-wrap:wrap;padding:6px 16px;gap:12px}.brand{font-family:Georgia,serif;font-size:20px;letter-spacing:2px;white-space:nowrap}.brand b{color:var(--brass);font-weight:400}.sp{flex:1}.pill{background:#ffffff1f;border-radius:20px;padding:6px 12px;font-size:13px;border:0;color:#fff;cursor:pointer}.pill.off{background:var(--bad)}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px}.h{font-family:Georgia,serif;font-size:20px;margin:0 0 4px;font-weight:400}.sub{color:var(--mute);font-size:13px;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;font-weight:600;font-size:15px;border:1px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}.btn.pri{background:var(--navy);color:#fff}.btn.brass{background:var(--brass);border-color:var(--brass);color:#fff}.btn.sm{min-height:38px;font-size:13px;padding:0 12px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:22px;margin:0 6px 8px 0;font-size:14px;background:#fff;cursor:pointer}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.wrap{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:16px;padding:16px;max-width:1400px;margin:0 auto}@media (max-width:960px){.wrap{grid-template-columns:minmax(0,1fr)}}.pad{padding:18px}.search{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--navy);border-radius:14px;min-height:64px;padding:0 18px;margin-top:12px}.search input{flex:1;border:0;outline:0;font-size:22px;font-family:Consolas,monospace;background:transparent;min-width:0}.search span{color:var(--mute);font-size:14px;white-space:nowrap}.res{margin-top:12px;overflow:hidden}.r{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line);cursor:pointer;background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left}.r:hover,.r.sel{background:#f3eee2}.r:last-child{border-bottom:0}.av{width:44px;height:44px;border-radius:50%;background:var(--navy2);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia}.r b{font-size:16px}.r small{display:block;color:var(--mute);font-size:12.5px}.empty{padding:22px;color:var(--mute);text-align:center}.fl{margin-bottom:12px}.fl label,.lbl{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--mute);margin-bottom:4px}.in{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;font-size:15px}textarea.in{padding:10px 12px;min-height:70px}.in.err{border-color:var(--bad)}.in:focus{outline:2px solid var(--brass);outline-offset:1px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.msg{border-radius:10px;padding:10px 12px;font-size:13.5px;margin-bottom:10px}.msg.bad{background:var(--badbg);border:1px solid var(--badline);color:#7a1c14}.msg.ok{background:#e7f3ec;border:1px solid #a9d3b9;color:#1d5234}.msg.info{background:#eef2f8;border:1px solid #c5d2e6;color:#1f3557}.ck{display:flex;align-items:center;gap:10px;font-size:14px;margin:8px 0;cursor:pointer}.ck input{width:22px;height:22px;accent-color:var(--navy)}.err-t{color:var(--bad);font-size:12.5px;margin-top:4px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:16px}.login .card{width:100%;max-width:380px;padding:28px}.login .brand{color:var(--navy);text-align:center;font-size:26px;margin-bottom:4px}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:14px}.kv span{color:var(--mute)}.skins{display:grid;gap:10px}.skin-opt{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;text-align:left}.skin-opt.on{outline:2px solid var(--brass)}.sw{width:36px;height:36px;border-radius:8px;flex:none}.foot{text-align:center;color:var(--mute);font-size:12px;padding:12px}.fl label.ck{display:flex;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);margin:8px 0}.mt{width:100%;border-collapse:collapse;font-size:14px}.mt th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--mute);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line)}.mt td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.mt .in.num{width:96px;min-height:40px;font-family:Consolas,monospace;font-size:16px}.mt tr.row-err td{background:#fdf1ef}.in:disabled{background:#f4f1ea;color:var(--ink)}.chip:disabled{cursor:default;opacity:.85}.sec{font-family:Georgia,serif;font-weight:400;font-size:17px;margin:20px 0 8px;border-top:1px solid var(--line);padding-top:14px}.addgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:12px}.addbox{border:1px dashed var(--line);border-radius:10px;padding:8px 10px}.addbox b{display:block;font-size:13px;margin-bottom:4px}.addbox .chip{font-size:12.5px;padding:7px 10px}.line{padding:10px 12px;margin-bottom:8px}.line-head{display:grid;grid-template-columns:minmax(0,1fr) auto 110px 90px auto auto;gap:8px;align-items:center}.qty{display:flex;align-items:center;gap:6px}.qty span{min-width:22px;text-align:center;font-weight:700}.qty .btn{min-width:38px;padding:0}.rate{text-align:right}.rate .in.num{width:100px;min-height:38px;text-align:right}.amt{text-align:right}@media (max-width:640px){.line-head{grid-template-columns:1fr auto auto}.line-head .rate,.line-head .amt{text-align:left}}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width:640px){.grid3{grid-template-columns:1fr 1fr}}.fab{background:#faf7f0;border-radius:10px;padding:10px;margin:6px 0 10px}.tot{margin:6px 0 10px;font-size:14px}.tot div{display:flex;justify-content:space-between;padding:3px 0}.tot .b{border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-weight:700}.tot .big{font-size:18px}.in.num{font-family:Consolas,monospace}a.btn{text-decoration:none}.a5{width:148mm;min-height:210mm;margin:16px auto;background:#fff;color:#111;padding:9mm;font-family:Arial,Helvetica,sans-serif;font-size:9.5pt;box-shadow:0 2px 10px #0000001f;display:flex;flex-direction:column}@media (max-width:640px){.a5{width:auto;margin:12px 16px;padding:5mm}}.r-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1f3a5f;padding-bottom:3mm}.r-shop{font-size:17pt;font-weight:700;letter-spacing:1px;color:#1f3a5f}.r-shop small{display:block;font-size:7.5pt;font-weight:400;letter-spacing:0;color:#444;margin-top:1mm;line-height:1.35}.r-ono{text-align:right}.r-lbl{font-size:7.5pt;text-transform:uppercase;color:#555}.r-num{font-size:22pt;font-weight:700;font-family:Courier New,monospace}.r-title{text-align:center;font-weight:700;font-size:11pt;letter-spacing:2px;margin:3mm 0 2mm;text-transform:uppercase}.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2mm 6mm;margin-bottom:3mm}.r-kv{display:flex;border-bottom:1px dotted #999;padding:.8mm 0}.r-kv b{width:25mm;flex:none;font-weight:600;color:#444}.r-table{width:100%;border-collapse:collapse;margin-top:1mm}.r-table th{background:#1f3a5f;color:#fff;text-align:left;font-size:8pt;padding:1.5mm 2mm}.r-table td{border-bottom:1px solid #ddd;padding:1.6mm 2mm;vertical-align:top}.r-table .ra{text-align:right}.r-table small{color:#555}.r-totals{margin-left:auto;width:72mm;margin-top:2mm}.r-totals div{display:flex;justify-content:space-between;gap:4mm;padding:.8mm 0}.r-due{border-top:2px solid #111;font-weight:700;font-size:11pt;margin-top:1mm;padding-top:1.5mm!important}.r-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm;margin:3mm 0}.r-dates div{border:1px solid #1f3a5f;border-radius:1.5mm;padding:1.5mm;text-align:center}.r-dates b{display:block;font-size:7pt;text-transform:uppercase;color:#555}.r-dates span{font-size:10.5pt;font-weight:700}.r-terms{font-size:7pt;color:#333;line-height:1.4;margin-top:2mm}.r-terms ol{margin:1mm 0 0 4mm;padding:0}.r-sign{display:flex;justify-content:space-between;margin-top:auto;padding-top:10mm;font-size:7.5pt}.r-sign div{width:45%;border-top:1px solid #111;text-align:center;padding-top:1mm}.r-foot{text-align:center;font-size:6.5pt;color:#777;margin-top:3mm}@media print{@page{size:A5 portrait;margin:0}body{background:#fff}.no-print,.foot{display:none!important}.a5{box-shadow:none;margin:0;width:148mm;min-height:209mm}}
