:root{--blue:#4e79c9;--blue-dark:#173a68;--ink:#233142;--border:#d9e0e9;--paper:#fff;--bg:#f4f6f9}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#2864ad}h1,h2,h3,p{margin-top:0}.staff-body{background:var(--bg);min-height:100vh}.staff-nav{display:flex;align-items:center;gap:28px;padding:10px max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blue-dark);font-weight:700;white-space:nowrap}.brand img{width:43px;height:38px;object-fit:contain}.staff-nav nav{display:flex;gap:18px;flex:1}.staff-nav nav a{text-decoration:none;font-size:14px;font-weight:600}.staff-nav form{margin-left:auto}.text-button{background:none;border:0;color:#3567a4;padding:5px;font-size:14px}.app-shell{max-width:1180px;margin:0 auto;padding:30px 20px 80px}.page-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:20px}.page-title h1{font-size:32px;margin:4px 0 8px;color:#152e4c}.page-title p{color:#617080;margin-bottom:0}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#5580bf!important}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:22px;margin-bottom:18px;box-shadow:0 1px 3px #1429430a}.panel h2{font-size:19px;color:#193b66;margin-bottom:14px}.panel h3{font-size:16px;margin:25px 0 10px}.new-voucher{background:#f9fbff}.inline-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.inline-form label{min-width:260px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:grid;gap:15px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#344a63}input,select,textarea{border:1px solid #c9d3df;background:#fff;border-radius:7px;padding:10px 11px;min-width:0;width:100%;color:#172f4b}input:focus,select:focus,textarea:focus{outline:2px solid #a9c8f9;border-color:#477fc7}textarea{resize:vertical}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;border-radius:7px;border:1px solid transparent;padding:10px 15px;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.primary{background:#315fac;color:#fff}.primary:hover{background:#214c91}.primary.green{background:#18794e}.secondary{background:white;color:#25548d;border-color:#bfcfe3}.secondary:hover{background:#eef4fd}.danger{background:#fff0f0;color:#a22323;border-color:#e6a2a2}.small{padding:7px 10px;font-size:12px}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-top h2{margin-bottom:14px}.section-top span,.hint,.empty{color:#68798b;font-size:13px}.hint{margin:8px 0 0}.table-scroll{overflow-x:auto}.list-table{width:100%;border-collapse:collapse;font-size:14px}.list-table th{text-align:left;background:#f0f4fa;color:#315276}.list-table th,.list-table td{padding:12px;border-bottom:1px solid #e4e9f0}.list-table td:last-child{text-align:right}.pill{display:inline-block;border-radius:99px;padding:5px 9px;background:#e8edf3;color:#526174;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pill.published{background:#e1f4e8;color:#12643f}.pill.revoked{background:#fde8e8;color:#9b2929}.link-button{text-decoration:none}.alert{border:1px solid #f1bbad;background:#fff2ed;border-radius:8px;padding:12px;color:#8a3b24}.login-card{width:min(420px,calc(100% - 32px));margin:12vh auto;padding:30px}.login-card h1{font-size:26px;color:#193b66}.agent-row{padding:16px 0;border-top:1px solid var(--border)}.agent-row button{align-self:end}.back-link{text-decoration:none;font-size:13px;font-weight:700}.editor-status{text-align:right;display:grid;gap:8px;justify-items:end}.editor-status small{color:#657589}.editor-actions{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--bg);padding:10px 0 16px;border-bottom:1px solid var(--border);margin-bottom:20px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:20px}.row-card{border:1px solid #d9e2ed;border-radius:9px;padding:16px;margin:12px 0;background:#fcfdff}.row-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#355271}.remove-row{color:#a44040}.url-code{display:block;overflow-wrap:anywhere;padding:10px;background:#eef3fb;border-radius:7px;font-size:12px}.editor-side{align-self:start;position:sticky;top:78px}.editor-side ol{padding-left:20px;line-height:1.8}.danger-zone{border-color:#efc8c8}.success-text{color:#167347;font-size:13px}.error-text{color:#b32b2b;font-size:13px}
.voucher-body{background:#f6f6f6;color:#1a3659;font-family:Arial,Helvetica,sans-serif}.voucher-toolbar{max-width:850px;margin:12px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:13px}.voucher-toolbar button{background:#315fac;border:0;border-radius:5px;color:#fff;padding:8px 13px}.voucher-sheet{width:min(850px,calc(100% - 24px));margin:10px auto 30px}.voucher-heading{display:grid;grid-template-columns:24% 48% 28%;align-items:start;min-height:80px;padding:0 10px;text-align:center;color:#103c72}.voucher-logo{text-align:left}.voucher-logo img{width:90px;height:70px;object-fit:contain}.voucher-agent{font-weight:bold;font-size:18px;line-height:1.25;padding-top:4px}.voucher-agent small{display:block;font-size:8px;margin-top:3px}.voucher-service{text-align:left;font-size:13px;padding:5px 0 0 5px}.voucher-service strong{display:block}.voucher-service span{display:block;font-weight:400;margin-top:3px}.voucher-card{background:#fff;border:1px solid #dedede;border-radius:10px;overflow:hidden;padding:0 10px 14px;box-shadow:0 2px 5px #0000000a}.voucher-number{height:39px;background:linear-gradient(#fff,#f1f1f1);margin:0 -10px 17px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;position:relative;color:#3677c6}.voucher-number strong{font-size:17px}.voucher-number span{font-size:10px;font-weight:700;margin-right:90px}.voucher-qr{width:68px;height:68px;position:absolute;right:12px;top:4px;background:#fff}.print-only{display:none}.voucher-section{margin-bottom:12px;break-inside:avoid}.voucher-section h2{font-size:14px;margin:0 0 5px;color:#173d68}.voucher-overflow{overflow-x:auto}.voucher-section table{border-collapse:collapse;width:100%;font-size:11px;color:#173d68;table-layout:auto}.voucher-section th{background:var(--blue);color:white;text-align:left;font-weight:700;padding:3px 4px;white-space:nowrap}.voucher-section td{border:1px solid #6a7d91;background:#f2f2f2;padding:4px 4px;vertical-align:middle;min-height:20px}.voucher-section table tr:nth-child(even) td{background:#e8edf3}.stays-table th:nth-child(3),.stays-table td:nth-child(3){width:35%}.remarks{display:flex;border:1px solid var(--blue);min-height:22px;font-size:11px;margin-top:5px}.remarks strong{background:var(--blue);color:white;width:100px;padding:3px}.remarks span{padding:3px}.voucher-footer{display:grid;grid-template-columns:40% 60%;gap:6px;margin-top:12px}.contacts h2{font-size:20px;margin:0 0 5px;text-decoration:underline;font-weight:400}.contacts p{font-size:10px;margin:0 0 2px;line-height:1.25}.instructions img{width:100%;max-height:370px;object-fit:contain;object-position:top right}.instructions h2{color:#d32222;font-size:19px;margin:0 0 6px}.instructions p{white-space:pre-line;font-size:12px;color:#2154c9;line-height:1.6}.published-note{text-align:center;color:#69788a;font-size:11px;margin-top:10px}.draft-banner{background:#a52d2d;color:#fff;text-align:center;padding:6px;font-weight:800;letter-spacing:.1em}.unavailable-body{display:grid;place-items:center;min-height:100vh;background:#f5f7fa;padding:20px}.unavailable-card{max-width:420px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:30px;text-align:center}.unavailable-card img{width:80px}.unavailable-card h1{font-size:22px;color:#193b66}.unavailable-card p{line-height:1.5;color:#586b7e}
@media(max-width:850px){.staff-nav{padding:8px 14px;gap:12px;flex-wrap:wrap}.staff-nav nav{order:3;width:100%}.app-shell{padding:20px 12px}.page-title{align-items:start}.editor-layout{display:block}.editor-side{position:static}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-sheet{width:calc(100% - 12px)}.voucher-heading{grid-template-columns:23% 49% 28%;min-height:65px}.voucher-agent{font-size:clamp(9px,2.2vw,17px)}.voucher-service{font-size:clamp(8px,1.7vw,13px)}.voucher-logo img{width:clamp(45px,10vw,90px);height:60px}.voucher-card{padding:0 7px 10px}.voucher-section table{font-size:9px}.voucher-section th,.voucher-section td{padding:2px}.voucher-footer{grid-template-columns:35% 65%}.contacts h2{font-size:14px}.contacts p{font-size:8px}.instructions img{max-height:300px}}@media(max-width:550px){.form-grid,.form-grid.three{grid-template-columns:1fr}.page-title h1{font-size:25px}.editor-status{align-self:start}.voucher-toolbar{padding:0 8px}.voucher-number strong{font-size:12px}.voucher-number span{font-size:7px;margin-right:0}.voucher-section h2{font-size:12px}.voucher-section table{font-size:7px}.voucher-section th,.voucher-section td{padding:1px}.voucher-footer{display:block}.contacts{margin-bottom:8px}.instructions img{max-height:none}.voucher-service{line-height:1.1}}
.catalog-item{display:grid;grid-template-columns:150px minmax(220px,1fr) 160px 130px auto;gap:12px;align-items:end;padding:14px 0;border-top:1px solid var(--border)}.catalog-item:first-of-type{border-top:0}.check-label{display:flex;align-items:center;gap:7px;padding-bottom:10px;white-space:nowrap}.check-label input{width:auto}.catalog-form button{align-self:end}.choice-hint{font-weight:400;font-size:11px;color:#728396}
@media(max-width:850px){.catalog-item{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-item .check-label{padding:0}}
@media print{@page{size:A4;margin:8mm}body.voucher-body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}.print-only{display:block}.voucher-sheet{width:100%;margin:0}.voucher-heading{min-height:68px}.voucher-card{box-shadow:none}.voucher-section{margin-bottom:10px}.voucher-section table{font-size:9px}.voucher-footer{grid-template-columns:40% 60%}.instructions img{max-height:310px}.voucher-qr{width:68px;height:68px}.voucher-number span{margin-right:85px}.draft-banner{display:block}}

/* The reference voucher uses open columns and only outlines each table and row. */
.voucher-section table{border:1px solid #8092a8}
.voucher-section th,.voucher-section td{border:0}
.voucher-section tbody tr+tr td{border-top:1px solid #8092a8}
.voucher-section tbody tr:nth-child(even) td{background:#f2f2f2}
.preset-action{display:flex;align-items:end;padding-bottom:1px}

/* Keep the public QR voucher as compact as the reference on a phone. */
@media screen and (max-width:550px){
  .voucher-public .voucher-sheet{margin:2px auto 12px}
  .voucher-public .voucher-heading{min-height:53px;padding:0 4px}
  .voucher-public .voucher-logo img{width:clamp(42px,11vw,58px);height:48px}
  .voucher-public .voucher-agent{padding-top:0;line-height:1.15}
  .voucher-public .voucher-agent small{margin-top:1px}
  .voucher-public .voucher-service{padding-top:0}
  .voucher-public .voucher-card{padding:0 5px 6px}
  .voucher-public .voucher-number{height:24px;margin:0 -5px 7px;padding:4px 5px}
  .voucher-public .voucher-section{margin-bottom:6px}
  .voucher-public .voucher-section h2{font-size:10px;margin-bottom:2px}
  .voucher-public .voucher-section:first-of-type h2{display:none}
  .voucher-public .remarks{min-height:13px;margin-top:2px;font-size:7px}
  .voucher-public .remarks strong{width:42px;padding:1px}
  .voucher-public .remarks span{padding:1px}
  .voucher-public .voucher-footer{display:grid;grid-template-columns:35% minmax(0,65%);gap:2px;margin-top:5px;align-items:start}
  .voucher-public .contacts{margin:0}
  .voucher-public .contacts h2{font-size:10px;margin-bottom:2px}
  .voucher-public .contacts p{font-size:6px;margin-bottom:1px}
  .voucher-public .instructions img{display:block;width:100%;height:auto;max-height:none}
  .voucher-public .instructions h2{font-size:10px;margin-bottom:2px}
  .voucher-public .instructions p{font-size:7px;line-height:1.25}
  .voucher-public .published-note{display:none}
}
