
:root{--navy-950:#00263a;--navy-900:#002f48;--navy-700:#004368;--navy-600:#005580;--navy-200:#b4d1e1;--navy-100:#dcebf2;--navy-50:#eff6fa;
--gold-900:#5f4717;--gold-800:#7d5d22;--gold-700:#97712c;--gold-500:#b78a3b;--gold-400:#c79f5c;--gold-300:#d8ba88;--gold-200:#e8d5b4;--gold-50:#faf5ec;
--ink-900:#141d24;--ink-800:#1f2a33;--ink-700:#33414d;--ink-600:#4d5d6b;--ink-500:#6b7b89;--ink-400:#95a3af;--ink-300:#c1cad2;--ink-200:#dde4e9;--ink-100:#edf1f4;--ink-50:#f6f8fa}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#e9edf1;font-family:'Manrope',system-ui,sans-serif;color:var(--ink-800);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.bar{position:sticky;top:0;z-index:20;background:rgba(0,38,58,.94);backdrop-filter:blur(8px);padding:10px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bar .home{color:var(--gold-300);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;margin-right:auto}
.bar .home:hover{color:#fff}
.btn{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;cursor:pointer;transition:transform .16s cubic-bezier(.22,1,.36,1),background .16s}
.btn:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.pri{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}
.btn.pri:hover{background:#a87e33}
.saved{font-size:11px;color:var(--navy-200);min-width:90px}
.sheet{padding:26px 0 40px;display:flex;justify-content:center}
.page{width:794px;min-height:1123px;background:#fff;box-shadow:0 2px 14px rgba(0,38,58,.22);display:flex;flex-direction:column}
header.hd{flex:none;background:linear-gradient(135deg,#00263a 0%,#004368 100%);padding:22px 44px 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;position:relative;overflow:hidden}
header.hd .wm{position:absolute;right:-30px;top:-46px;width:230px;opacity:.07}
header.hd .lock{display:flex;flex-direction:column;gap:10px;position:relative}
header.hd .lock img{width:158px;display:block}
.tag{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-300)}
.hd .rt{position:relative;text-align:right;display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.eyebrow{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400)}
h1{margin:0;font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.03em;color:#fff;line-height:1.15}
.hdmeta{display:flex;gap:14px;justify-content:flex-end;font-size:10px;color:var(--navy-200);align-items:flex-end;flex-wrap:wrap}
.hdmeta label{display:flex;flex-direction:column;gap:2px;text-align:left}
.hdmeta span{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-400)}
.hdmeta input{width:118px;background:rgba(255,255,255,.08);border:0;border-bottom:1px solid rgba(255,255,255,.4);color:#fff;font:600 11px/1.4 'Manrope',sans-serif;padding:3px 6px;border-radius:3px 3px 0 0}
.hdmeta input::placeholder{color:rgba(180,209,225,.75);font-weight:400}
.rule{flex:none;height:3px;background:var(--gold-500)}
.body{flex:1;padding:20px 44px 0;display:flex;flex-direction:column;gap:14px}
.intro{margin:0;font-size:10.5px;line-height:1.5;color:var(--ink-600);text-wrap:pretty}
.intro em,.lb em{color:var(--gold-700);font-weight:700;font-style:normal}
.sec{display:flex;align-items:center;gap:9px}
.sec b{width:16px;height:3px;background:var(--gold-500);display:block}
.sec s{flex:1;height:1px;background:var(--ink-200);text-decoration:none}
.sec i{font-family:'Sora',system-ui,sans-serif;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-700)}
.grid{display:grid;gap:9px 14px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}
.span2{grid-column:span 2}.span3{grid-column:span 3}
.fld{display:flex;flex-direction:column;gap:3px;min-width:0}
.lb{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}
.in,textarea.in{width:100%;font:400 13px/1.4 'Manrope',sans-serif;color:var(--ink-900);background:var(--ink-50);border:0;border-bottom:1px solid var(--ink-200);border-radius:3px 3px 0 0;padding:5px 8px;outline:none}
.in::placeholder{color:var(--ink-400)}
.in:focus{box-shadow:0 0 0 3px var(--gold-200),0 0 0 1.5px var(--gold-500);background:#fff}
textarea.in{min-height:42px;resize:vertical;line-height:1.5}
.card{border:1px solid var(--ink-200);border-top:3px solid var(--navy-700);border-radius:0 0 4px 4px;padding:11px 13px;display:flex;flex-direction:column;gap:6px}
.card.gold{border-top-color:var(--gold-500)}
.card .ct{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-700);font-weight:700}
.card.gold .ct{color:var(--gold-700)}
.card .nm{font-family:'Sora',system-ui,sans-serif;font-size:12.5px;font-weight:700;color:var(--ink-900)}
.card .fx{font-size:10px;line-height:1.6;color:var(--ink-600)}
.cols{display:grid;grid-template-columns:1fr 1.1fr;gap:14px}
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl thead th{text-align:left;padding:7px 12px;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-weight:600;background:var(--navy-700)}
.tbl.lite thead th{background:var(--ink-100);color:var(--navy-700);font-weight:700}
.tbl td{padding:5px 8px;border-bottom:1px solid var(--ink-200);vertical-align:middle}
.tbl td.seq{padding-left:12px;font-weight:600;color:var(--ink-700);font-size:12px}
.tbl .in{background:transparent;border-bottom:0;padding:4px 4px}
.tbl .in:focus{background:#fff}
.tbl .r{text-align:right}.tbl .c{text-align:center}
.rowbtns{display:flex;gap:8px;margin-top:2px}
.rowbtns button{font:600 10px/1 'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--ink-200);background:#fff;color:var(--navy-700);border-radius:4px;cursor:pointer}
.rowbtns button:hover{background:var(--navy-50)}
.total{display:flex;align-items:stretch;background:linear-gradient(135deg,#00263a 0%,#004368 100%);border-radius:4px;overflow:hidden}
.total .l{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:4px}
.total .l .k{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400)}
.total .l input{width:100%;background:rgba(255,255,255,.08);border:0;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;font:400 10.5px/1.4 'Manrope',sans-serif;padding:3px 6px;border-radius:3px 3px 0 0}
.total .l input::placeholder{color:rgba(180,209,225,.75)}
.total .r{padding:12px 18px;display:flex;align-items:center;gap:6px;background:rgba(183,138,59,.18);border-left:1px solid rgba(255,255,255,.16)}
.total .r .cur{font-family:'Sora',system-ui,sans-serif;font-size:19px;font-weight:700;color:#fff;letter-spacing:-.02em}
.total .r input{width:150px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);font-family:'Sora',system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.03em;color:#fff;padding:0 4px 2px;text-align:right}
.total .r input::placeholder{color:rgba(255,255,255,.45)}
.note{margin:0;border:1px solid var(--gold-200);background:var(--gold-50);border-radius:4px;padding:10px 13px;font-size:10.5px;line-height:1.6;color:var(--gold-900);text-wrap:pretty}
.note .ct{display:block;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-800);font-weight:700;margin-bottom:4px}
.box{border:1px solid var(--ink-200);border-radius:4px;padding:11px 13px;display:flex;flex-direction:column;gap:5px}
.box .k{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}
.box .v{font-size:10.5px;line-height:1.65;color:var(--ink-700)}
.sign{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:2px}
.sign div{display:flex;flex-direction:column;gap:5px;padding-top:22px;border-top:1px solid var(--ink-400)}
.sign strong{font-size:10px;font-weight:600;color:var(--ink-800)}
.sign span{font-size:9px;color:var(--ink-500)}
.desc{margin:0;background:var(--ink-50);border-left:3px solid var(--navy-200);padding:10px 12px}
.desc textarea{background:transparent;border:0;min-height:52px}
footer.ft{flex:none;margin-top:auto;padding:12px 44px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid var(--ink-200)}
footer.ft .l{display:flex;flex-direction:column;gap:2px;font-size:9px;line-height:1.55;color:var(--ink-500)}
footer.ft .l b{color:var(--navy-700);font-size:9.5px;letter-spacing:.04em}
footer.ft .w{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700)}
/* index */
.hub{max-width:980px;margin:0 auto;padding:44px 24px 60px}
.hub h2{font-family:'Sora',sans-serif;font-size:30px;letter-spacing:-.03em;color:var(--navy-700);margin:0 0 8px}
.hub p.sub{margin:0 0 28px;font-size:14px;color:var(--ink-600);max-width:60ch;text-wrap:pretty}
.hub .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.hub a.doc{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--ink-100);border-top:3px solid var(--gold-500);border-radius:0 0 8px 8px;padding:16px 18px;text-decoration:none;box-shadow:0 1px 3px rgba(0,38,58,.08);transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s}
.hub a.doc:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,38,58,.14)}
.hub a.doc .e{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-700)}
.hub a.doc .t{font-family:'Sora',sans-serif;font-size:16px;font-weight:700;color:var(--navy-700);letter-spacing:-.02em}
.hub a.doc .d{font-size:11.5px;line-height:1.5;color:var(--ink-600)}
.hubhd{background:linear-gradient(135deg,#00263a 0%,#004368 100%);padding:26px 24px;display:flex;justify-content:center}
.hubhd .in2{width:100%;max-width:980px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.hubhd img{width:170px;display:block}
@media print{
 @page{size:A4;margin:0}
 body{background:#fff}
 .bar,.rowbtns{display:none!important}
 .sheet{padding:0}
 .page{width:210mm;min-height:297mm;box-shadow:none}
 .in,textarea.in,.hdmeta input,.total input{background:transparent!important;box-shadow:none!important}
 .in,textarea.in{border-bottom:1px solid var(--ink-300)}
 .tbl .in{border-bottom:0}
 .in::placeholder,textarea.in::placeholder,.hdmeta input::placeholder,.total input::placeholder{color:transparent!important}
}
