:root{--navy:#0b2545;--teal:#13a89e;--bg:#f5f7fa;--line:#dde3ea;--muted:#6b7785;--warn:#fff4d6;--bad:#fde2e2}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:#17202a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}a{color:var(--navy)}header.top{background:var(--navy);color:#fff;display:flex;align-items:center;gap:16px;padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:20;flex-wrap:wrap}header.top .logo{font-weight:800;letter-spacing:.5px}header.top nav a{color:#fff;text-decoration:none;margin-right:14px;opacity:.85}header.top nav a:hover{opacity:1;text-decoration:underline}main{padding:16px;max-width:1500px;margin:0 auto}h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.15rem;margin:1.2rem 0 .5rem}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1 1}button,input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}button{cursor:pointer;background:#fff}button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}button.danger{color:#b00020}button:disabled{opacity:.5;cursor:default}table.grid{width:100%;border-collapse:collapse;background:#fff}table.grid td,table.grid th{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left;vertical-align:middle}table.grid th{background:#eef2f6;position:-webkit-sticky;position:sticky;top:0;font-size:.85rem}table.grid td.num,table.grid th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}table.grid input.cell{width:100%;border:1px solid transparent;background:transparent;padding:3px 4px}table.grid input.cell:focus{border-color:var(--teal);background:#fff}table.grid input.cell.num{text-align:right}tr.archived td{opacity:.5}tr.total td{font-weight:700;border-top:2px solid #333}tr.optional td{color:#555;font-style:italic}.tag{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.75rem;background:#e8eef5}.tag.warn{background:var(--warn)}.tag.bad{background:var(--bad)}.muted{color:var(--muted);font-size:.85rem}.pill{padding:4px 10px;border-radius:16px;border:1px solid var(--line);background:#fff}.pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}.calc{display:grid;grid-template-columns:300px 1fr;grid-gap:16px;gap:16px}.modellist{max-height:calc(100vh - 220px);overflow:auto}.modellist .m{padding:6px 8px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;gap:6px}.modellist .m:hover{background:#eef2f6}.modellist .m.on{background:var(--navy);color:#fff}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px;margin:10px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.kpi b{display:block;font-size:1.25rem}.slot select{max-width:100%;width:100%}.toast{position:fixed;bottom:16px;right:16px;background:#222;color:#fff;padding:10px 14px;border-radius:8px;z-index:50}.scroll{overflow:auto}@media (max-width:900px){.calc{grid-template-columns:1fr}.modellist{max-height:260px}table.grid .hide-sm{display:none}main{padding:10px}}.sheet{background:#fff;padding:24px;margin:0 auto 24px;max-width:900px;border:1px solid var(--line);page-break-after:always}.sheet:last-child{page-break-after:auto}.sheet .hdr{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:8px;margin-bottom:12px}.sheet .brandname{font-weight:900;font-size:1.3rem;color:var(--navy)}.sheet table{width:100%;border-collapse:collapse;font-size:.9rem}.sheet td,.sheet th{padding:4px 6px;border-bottom:1px solid #e5e5e5;text-align:left}.sheet .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sheet tr.total td{border-top:2px solid #000;font-weight:700}.sheet tr.adv td{font-weight:800;font-size:1.05rem;background:#eef6f5}@media print{.noprint,header.top{display:none!important}body{background:#fff}main{padding:0}.sheet,main{max-width:none}.sheet{border:none;margin:0;padding:0 0 10mm}}html.hide-cost .cost{display:none!important}label.hidecost{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-flex;gap:4px;align-items:center}button.printbig{font-size:1.15rem;padding:10px 22px}.ovtable{width:100%;border-collapse:collapse;font-size:.82rem}.ovtable td,.ovtable th{border-bottom:1px solid #e3e6ea;padding:3px 6px;text-align:left}.ovtable td.num,.ovtable th.num{text-align:right;white-space:nowrap}.ovtable thead th{background:#0b2545;color:#fff}.ovtable tr.grp td{background:#eef2f7;font-weight:700;padding-top:6px}@media print{.ovtable{font-size:9pt}.ovtable tr{page-break-inside:avoid;break-inside:avoid}.ovtable thead{display:table-header-group}.ovtable thead th,.ovtable tr.grp td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ovprint .hdr{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:8px;margin-bottom:8px}.ovprint .brandname{font-weight:900;font-size:1.3rem;color:var(--navy)}button.sm{padding:2px 6px;font-size:.8rem}table.rig td{vertical-align:top}td.pnmissing{background:var(--warn)}tr.sechead td{background:#eef2f6}.sugbox{background:#fff;border:1px solid var(--teal);border-radius:6px;padding:6px;margin-top:4px;min-width:320px;position:relative;z-index:5}.sugbox .cand{border-bottom:1px dashed var(--line);padding:4px 0}.alt{font-size:.85rem}.altform input{width:90px;padding:2px 4px}.savebar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg);padding:8px 0}.cands{display:flex;gap:8px;flex-wrap:wrap}.cands .cand{flex:1 1 260px;max-width:420px;padding:8px}.rpgrid{display:grid;grid-template-columns:minmax(0,1fr) 210mm;grid-gap:14px;gap:14px;align-items:start}.rpedit{max-height:calc(100vh - 160px);padding:0}.rigsheet{max-width:210mm;width:210mm;padding:12mm;font-size:10pt}.rigmodel{display:grid;grid-template-columns:2fr 1.5fr 1fr;grid-gap:10px;gap:10px;margin-bottom:10px}.rigmodel>div{border:1px solid #bbb;padding:4px 8px;display:flex;flex-direction:column}.rigmodel .muted{font-size:8pt}.rigtable{width:100%;border-collapse:collapse}.rigtable th{background:#0b2545;color:#fff;font-size:9pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rigtable td,.rigtable th{border:1px solid #c8cdd3;padding:3px 5px;vertical-align:top}.rigtable td.pn{font-family:ui-monospace,Menlo,monospace;font-size:9pt;white-space:nowrap}.rigtable .tick{width:9mm;text-align:center}.rigtable .box{display:inline-block;width:4mm;height:4mm;border:1.2px solid #333}.rigtable tr.grp td{background:#eef2f7;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rigtable .sub{font-size:8pt;color:#555}.rigtable tr{page-break-inside:avoid;break-inside:avoid}.rigtable thead{display:table-header-group}.rignotes{margin-top:10px;border:1px solid #c8cdd3;padding:6px 8px}.rigfoot,.rignotes{page-break-inside:avoid;break-inside:avoid}.rigfoot{display:flex;gap:16px;margin-top:16px}.rigfoot .line{display:inline-block;width:55mm;border-bottom:1px solid #333}.rigfoot .line.short{width:30mm}@media (max-width:1300px){.rpgrid{grid-template-columns:1fr}}@media print{.rpgrid{display:block}.rigsheet{width:auto;max-width:none;padding:0;border:none}body,html{background:#fff!important}.rigprint,.rpgrid{background:#fff}.no-print{display:none!important}}.brandblock{display:flex;align-items:center;gap:12px}.brandlogo{width:auto;display:block}.brandlogo,.ovprint .brandlogo,.sheet .brandlogo{height:40px}.rigprint .brandlogo{height:30px}header.top .logo{display:inline-flex;align-items:center;gap:10px}header.top .hdrlogo{height:24px;width:auto;filter:invert(1)}.brandblock .brandname{white-space:nowrap}.brandblock .brandlogo{flex-shrink:0}.sheet .brandlogo{height:34px}.rigprint .brandlogo{height:24px}.rigprint .brandblock{gap:8px}.custform{display:grid;grid-template-columns:170px 1fr;grid-gap:10px 14px;gap:10px 14px;align-items:center;max-width:760px}.custform>label.lbl{font-weight:600;text-align:right}.custform input,.custform select,.custform textarea{width:100%}.custform .inl{display:flex;gap:8px;align-items:center}.custform .inl>*{min-width:0}.custform .chk{white-space:nowrap;display:flex;gap:6px;align-items:center;font-weight:600}.custform .chk input{width:auto}.custform .addr3{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:8px;gap:8px}.custform .addr3 span{display:block;font-size:.8rem;color:var(--muted)}.methods{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:260px}.methods .mrow{display:flex;gap:6px;align-items:center;width:100%}.methods .mrow input[type=radio],.methods .mrow select{width:auto!important}.methods .chk{white-space:nowrap;display:flex;gap:4px;align-items:center;font-size:.85rem}.tag.ok{background:#e3f4e8;color:#1b6b34}.tag.new{background:#e6eefc;color:#1f4fa3}.addrsearch{position:relative}.addrsearch input{padding-right:32px}.addrsearch .mag{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.addrsugg{position:absolute;left:0;right:0;top:100%;margin-top:2px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12);z-index:30;list-style:none;padding:4px 0;margin-left:0}.addrsugg li{padding:7px 10px;cursor:pointer}.addrsugg li.on,.addrsugg li:hover{background:#eef6f5}.addrsugg .prov{font-size:.72rem;color:var(--muted);padding:3px 10px 0;border-top:1px solid var(--line);cursor:default}.contacts{margin-top:6px}.contacts table.grid td input,.contacts table.grid td select{width:100%}.role-primary{background:#d8f3ef}.role-secondary{background:#e8eef5}.custlayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.custform{grid-template-columns:1fr}.custform>label.lbl{text-align:left}.custlayout{grid-template-columns:1fr}.custform .addr3{grid-template-columns:1fr 1fr}}.contacts table.grid td select{min-width:118px}.printonly{display:none}.spprint .hdr{justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:8px;margin-bottom:8px}.spprint .brandlogo{height:34px}.spprint .brandname{font-weight:900;font-size:1.2rem;color:var(--navy)}.spicker{position:absolute;right:0;z-index:20;width:460px;background:#fff}td .spicker{white-space:normal}@media print{.spprint .printonly.hdr{display:flex}.sptable{font-size:8.5pt}.sptable tr{page-break-inside:avoid;break-inside:avoid}.sptable thead{display:table-header-group}.spprint .pill{border:none;padding:0 4px 0 0}.spprint .card.scroll{overflow:visible;max-height:none}}.spform label{display:inline-flex;flex-direction:column;font-size:.85rem;gap:2px}.spform{margin-bottom:8px}tr.archived td{opacity:.65}.modellist .m.on .tag{color:#17202a}@media (max-width:760px){.calc{grid-template-columns:1fr}.modellist{max-height:40vh}}.seg{display:inline-flex;border:1px solid #bbb;border-radius:6px;overflow:hidden}.seg button{border:0;border-radius:0;padding:3px 8px;background:#f4f4f4;color:#555;font-size:.8rem}.seg button.on{background:#1d6b3a;color:#fff;font-weight:600}.seg button.on.opt{background:#b26a00}.badge-opt{display:inline-block;background:#fff1d6;color:#8a5200;border:1px solid #e8c27a;border-radius:10px;padding:1px 8px;font-size:.8rem;white-space:nowrap}.pickrow{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;margin:0;text-align:left;background:transparent;border:0;border-bottom:1px solid #eee;border-radius:0;font:inherit;color:inherit;cursor:pointer}.pickrow:focus-visible,.pickrow:hover{background:#e8f1fb;outline:none;box-shadow:inset 3px 0 0 var(--teal)}.pickrow:active{background:#d6e7f8}.pickrow .pickuse{flex:none;padding:4px 12px;border:1px solid var(--teal);border-radius:4px;color:var(--teal);font-weight:600;font-size:.85rem}.pickrow:focus-visible .pickuse,.pickrow:hover .pickuse{background:var(--teal);color:#fff}@media (max-width:700px){.pickrow{min-height:52px;padding:10px 8px}}.touchset{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;opacity:.9}.touchset select{padding:2px 4px;font-size:.8rem}html.touch .pill,html.touch button,html.touch input:not([type=checkbox]):not([type=radio]):not([type=file]),html.touch nav a,html.touch select{min-height:48px}html.touch input,html.touch select,html.touch textarea{font-size:16px}html.touch .pill,html.touch button{padding:10px 14px;margin:3px 2px}html.touch button.sm{min-width:48px}html.touch input[type=checkbox],html.touch input[type=radio]{width:24px;height:24px;margin:0 8px 0 0;vertical-align:middle}html.touch label:has(>input[type=checkbox]),html.touch label:has(>input[type=radio]){display:inline-flex;align-items:center;min-height:48px;padding:0 6px}html.touch nav{display:flex;flex-wrap:wrap;gap:2px}html.touch nav a{display:inline-flex;align-items:center;padding:0 12px}html.touch .touchset{min-height:48px;font-size:.9rem}html.touch .touchset select{font-size:16px}html.touch .pickrow{min-height:56px;padding:12px;margin:0}html.touch .pickrow .pickuse{padding:8px 14px}html.touch .modellist .m{min-height:52px;align-items:center;padding:12px;border-bottom:1px solid #eee;border-radius:0}html.touch table.grid td,html.touch table.grid th{padding-top:12px;padding-bottom:12px}html.touch .row{gap:8px;flex-wrap:wrap}html.touch .card:has(>.pickrow),html.touch .card:has(>div>.pickrow){position:static!important;width:100%}html.touch .card:has(.pickrow)>div[style*=max-height]{max-height:60vh!important}@media (max-width:768px){html.touch .card:has(.pickrow) .grow,html.touch .card:has(.pickrow) input{width:100%;flex-basis:100%}}.qgrid2{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);grid-gap:12px;gap:12px}@media (max-width:768px){.qgrid2{grid-template-columns:1fr}html.touch header.top{position:static;padding:6px 10px;gap:4px}html.touch header.top nav a{margin-right:0}}.rtprev{margin-top:6px;border:1px dashed var(--line);border-radius:6px;padding:6px 8px;background:#fff}.rtdoc{white-space:pre-wrap;font-family:Helvetica,Arial,sans-serif;font-size:12px;line-height:1.4}.invlink{background:#eef5ff;border:1px solid #c9dcf5;border-radius:6px;padding:6px 10px;margin:4px 0 8px}.boatgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px 12px;gap:8px 12px}.boatgrid label{display:flex;flex-direction:column;gap:2px}.boatgrid input{width:100%;min-height:36px}@media (max-width:768px){.boatgrid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.boatgrid{grid-template-columns:1fr}}html.touch .boatgrid input{min-height:48px}.docktick{display:flex;align-items:center;gap:4px;font-size:.8rem;margin-top:4px;min-height:32px;cursor:pointer}html.touch .docktick{min-height:44px}.paydlg{border:2px solid #0b5;border-radius:8px;padding:12px;margin-top:10px;background:#f6fffa;display:flex;flex-direction:column;gap:6px;max-width:520px}.paydlg input{min-height:40px;width:100%;font-size:1rem}.paybtns{display:flex;flex-wrap:wrap;gap:8px}.paybtns button{min-height:48px;min-width:110px;font-size:1rem;border:1px solid #888;background:#fff;border-radius:6px}.paybtns button.on{background:#0b5;color:#fff;border-color:#0b5}tr.payrev td{color:#888}.warnbox{background:#fff4e0;border:1px solid #e8c27a;border-radius:6px;padding:6px 10px}.warn{color:#a34b00;font-weight:600}.flash{background:#eef6ee;border:1px solid #9c9;border-radius:6px;padding:6px 10px}.badge{display:inline-block;border-radius:10px;padding:1px 8px;font-size:.8rem;background:#eef;border:1px solid #aac}.st-approved,.st-waiting{background:#fff1d6;border-color:#e8c27a}.st-failed,.st-rejected{background:#fde;border-color:#d99}.st-sent{background:#e6f5e6;border-color:#9c9}table.kv th{text-align:left;vertical-align:top;padding-right:12px;white-space:nowrap;color:#555;font-weight:600}pre.mailbody{white-space:pre-wrap;font-family:inherit;margin:0}.sendform label{display:block;margin-bottom:6px}.sendform input,.sendform textarea{display:block;width:100%}.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:30px 10px}.modal>.card{width:min(760px,100%);background:#fff}@media (max-width:900px){main table{display:block;overflow-x:auto}main iframe,main img,main input:not([type=checkbox]):not([type=radio]),main select,main table,main textarea,main video{max-width:100%}main .row{flex-wrap:wrap}main pre{white-space:pre-wrap;word-break:break-word}}@media (max-width:700px){header.top{position:static;padding:6px 10px;gap:4px}header.top .logo{font-size:.85rem}header.top nav{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin}header.top nav a{flex:0 0 auto;margin-right:12px}}