@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--ink:#343434;--muted:#727272;--line:#dddcd9;--gold:#c99632;--cream:#f7f6f2;--panel:#fff;--shadow:0 18px 48px rgba(39,33,24,.10)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans','Noto Sans SC',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:1480px;margin:0 auto;padding:36px 42px 52px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow,.section-kicker{margin:0 0 8px;color:var(--gold);font-size:10px;letter-spacing:.18em;font-weight:700}.app-header h1{margin:0;font-size:32px;letter-spacing:-.04em}.subtitle{margin:8px 0 0;color:var(--muted);font-size:14px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.language-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fff}.language-button{border:0;background:transparent;border-radius:999px;padding:7px 13px;color:var(--muted);font-weight:600;font-size:12px}.language-button.active{background:var(--ink);color:#fff}.button{border:0;border-radius:8px;padding:12px 17px;font-weight:600;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.button-primary{background:var(--gold);color:#fff;box-shadow:0 8px 18px rgba(201,150,50,.22)}.button-secondary{background:var(--ink);color:#fff}.workspace{display:grid;grid-template-columns:380px minmax(0,1fr);gap:30px;align-items:start}.form-panel{background:var(--panel);border:1px solid #ebe9e4;border-radius:14px;padding:24px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:22px}.panel-heading h2{margin:0;font-size:22px;letter-spacing:-.03em}.saved-note{font-size:10px;color:#9c9b98;white-space:nowrap;margin-top:4px}.form-section{border-top:1px solid #efeeeb;padding-top:18px;margin-top:19px}.form-section h3{font-size:12px;margin:0 0 14px;letter-spacing:.02em}.form-section label{display:block;margin:0 0 12px}.form-section label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.form-section input,.form-section textarea{width:100%;border:1px solid #deddd9;background:#fbfbfa;border-radius:6px;padding:9px 10px;color:var(--ink);font-size:13px;outline:none;resize:vertical;transition:border .15s,box-shadow .15s}.form-section input:focus,.form-section textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,150,50,.13)}.field-grid{display:grid;gap:10px}.field-grid.two{grid-template-columns:1fr 1fr}.logo-actions{display:flex;align-items:center;gap:14px}.upload-button{background:#f6f2e8;border:1px dashed #cfb47b;border-radius:6px;padding:9px 12px;color:#9c701f;font-size:12px;cursor:pointer}.upload-button input{display:none}.text-button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:6px}.helper,.export-tip{font-size:11px;color:#999;margin:10px 0 0;line-height:1.5}.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.button-icon{font-size:18px;line-height:10px}.preview-panel{min-width:0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 2px 12px;color:var(--muted);font-size:12px;font-weight:600}.a4-badge{font-size:10px;letter-spacing:.12em;color:#aaa}.preview-stage{padding:34px 24px 42px;min-height:860px;border:1px solid #e6e3dd;border-radius:14px;background:linear-gradient(135deg,#f2f1ed,#faf9f6);display:flex;justify-content:center;overflow:auto}.confirmation-page{width:min(100%,595px);aspect-ratio:595/842;background:#fff;padding:42px 30px 34px;flex:none;color:#3a3a3a;font-family:'DM Sans','Noto Sans SC',Arial,sans-serif}.page-topline{height:74px;display:flex;justify-content:space-between;align-items:flex-start;padding:0 6px}.logo{width:120px;height:70px;object-fit:contain;object-position:left top}.letter-heading{text-align:right;padding-top:13px}.letter-title{font-size:18px;margin-bottom:3px}.confirmation-number{font-size:13px;color:#111}.confirmation-number strong{color:var(--gold);font-size:16px;font-weight:500}.document-frame{border:1px solid #777;min-height:700px}.hotel-block{padding:25px 16px 22px;border-bottom:1px solid var(--line)}.hotel-block h2{font-size:17px;margin:0 0 8px;font-weight:700;letter-spacing:-.025em}.hotel-meta{display:flex;gap:13px;align-items:flex-start;font-size:10px;line-height:1.75}.meta-label{color:#747474;min-width:42px}.gold{color:var(--gold)}.stay-summary{display:grid;grid-template-columns:1fr 1fr 1fr;padding:19px 10px 20px;border-bottom:1px solid var(--line);min-height:108px}.summary-item{display:flex;flex-direction:column;align-items:center;border-right:1px solid #e7e5e1;gap:8px}.summary-item>span,.summary-pair span{font-size:11px}.summary-item strong{color:var(--gold);font-size:23px;font-weight:500;letter-spacing:.03em}.summary-pair{display:flex;align-items:center;justify-content:center;gap:10px}.summary-pair>div{display:flex;align-items:center;flex-direction:column;gap:8px}.summary-pair strong{font-size:22px;font-weight:500}.summary-pair i{font-style:normal;color:#aaa;font-size:20px;margin-top:20px}.reservation-block{padding:26px 16px 22px}.reservation-block h2{font-size:16px;margin:0 0 20px}.reservation-field{margin-bottom:15px}.reservation-field span{display:block;color:#777;font-size:10px;margin-bottom:3px}.reservation-field strong{display:block;font-size:11px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.meal-field{margin-top:5px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);padding:10px 16px;background:#343434;color:#fff;font-size:12px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.app-shell{padding:25px 18px 40px}.app-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.workspace{grid-template-columns:1fr}.form-panel{order:1}.preview-panel{order:2}.preview-stage{min-height:0;padding:25px 12px 30px}.confirmation-page{width:min(100%,595px)}}
@media(max-width:540px){.app-header h1{font-size:27px}.field-grid.two,.export-actions{grid-template-columns:1fr}.preview-stage{padding:14px 4px 20px}.confirmation-page{transform-origin:top center}.page-topline{padding:0 2px}.document-frame{min-height:620px}.hotel-meta{font-size:9px}.hotel-block{padding:18px 10px}.reservation-block{padding:22px 10px}.stay-summary{padding-left:4px;padding-right:4px}}
@media print{body{background:#fff}.app-shell{padding:0;max-width:none}.app-header,.form-panel,.preview-toolbar{display:none}.workspace{display:block}.preview-stage{display:block;padding:0;border:0;background:#fff}.confirmation-page{width:210mm;height:297mm;max-width:none;aspect-ratio:auto;padding:15mm 11mm 10mm;box-shadow:none}.document-frame{min-height:247mm}.toast{display:none}}
.field-with-quick-terms{margin-bottom:12px}.field-with-quick-terms>label{margin-bottom:6px}.quick-terms{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.quick-terms-label{color:var(--muted);font-size:11px}.quick-term-button{appearance:none;border:1px solid var(--line);background:#f7f6f2;color:var(--ink);border-radius:999px;padding:5px 9px;font:inherit;font-size:11px;line-height:1.2;cursor:pointer}.quick-term-button:hover{border-color:var(--gold);color:#9c701f}
.upload-button{display:inline-flex;align-items:center;justify-content:center;height:40px;margin:0!important;padding:0 12px;text-align:center;white-space:nowrap}.form-section .upload-button>span{display:flex;align-items:center;justify-content:center;height:100%;margin:0;color:inherit;font-size:inherit;line-height:1}.form-section textarea[data-field="address"]{height:calc(3em + 20px);line-height:1.5;resize:none}
