:root{font-family:Inter,Arial,sans-serif;color:#20191c;background:#f1eeea;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#812c34}h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,3vw,36px);line-height:1.18;margin:0 0 14px}p{line-height:1.6}img{max-width:100%}
.app{width:min(100%,760px);min-height:100dvh;margin:auto;background:#fff;box-shadow:0 20px 80px #28141918;display:flex;flex-direction:column}
.header{display:grid;grid-template-columns:128px minmax(0,1fr) auto auto;align-items:center;gap:16px;background:#1d171b;color:white;min-height:108px;padding:16px clamp(18px,4vw,30px)}
.brand{width:128px;display:flex;align-items:center}.brand img{display:block;width:100%;height:auto}.header-title{display:grid;gap:2px;min-width:0}.header-title strong{font-size:16px}.header-title small{font-size:12px;color:#ddd0d2}
.room-nav{display:flex;align-items:center;gap:8px}.room-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid rgba(245,193,60,.52);border-radius:999px;background:#17050a;color:#fff;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.room-nav a:hover{background:#40251b}
.language{position:relative;justify-self:end}.language summary{display:flex;align-items:center;justify-content:center;gap:7px;min-width:76px;height:48px;padding:0 12px;border:1px solid rgba(245,193,60,.52);border-radius:999px;background:#17050a;color:#fff;font-size:14px;font-weight:900;cursor:pointer;list-style:none}.language summary::-webkit-details-marker{display:none}.language summary span:first-child{font-size:18px}.language nav{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:192px;padding:8px;border:1px solid rgba(245,193,60,.34);border-radius:16px;background:rgba(23,5,10,.98);box-shadow:0 14px 30px #130a0d55}.language:not([open]) nav{display:none}.language nav button{display:grid;grid-template-columns:24px 28px 1fr;align-items:center;gap:9px;width:100%;min-height:48px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#fff;text-align:left;font-weight:800}.language nav button:hover,.language nav button[aria-pressed=true]{background:#40251b}.language nav button span:first-child{font-size:19px}.language nav small{font-size:12px;color:#e3d4d1;font-weight:600}
.statusbar{background:#fffaf4;border-bottom:1px solid #eaded0;padding:15px clamp(18px,4vw,30px)}.status-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}.status-chips span{padding:5px 9px;border-radius:4px;background:#f3e8e8;color:#7c2c34;font-size:12px;font-weight:800}.status-chips span+span{background:#efeae2;color:#624835}.status-chips span:empty{display:none}.status-step{display:flex;justify-content:space-between;gap:10px;font-size:13px}.status-step span{color:#665d60;text-align:right}.progress{display:flex;gap:5px;margin-top:11px}.progress span{height:4px;flex:1;background:#e8dccc;border-radius:3px}.progress span.done{background:#8b2b31}
.screen{width:100%;max-width:650px;margin:0 auto;padding:24px clamp(18px,4vw,34px) 34px;flex:1}.eyebrow{color:#8b2b31;font-size:12px;text-transform:uppercase;font-weight:800;margin-bottom:9px}.lead{font-size:16px;color:#544e50;margin:0 0 22px}.sofia{display:flex;align-items:flex-start;gap:10px;margin:0 0 23px}.avatar{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#8b2b31;color:#fff;font-weight:800}.bubble{background:#f7f2ed;border:1px solid #eee2d8;padding:10px 13px;border-radius:6px;line-height:1.5;font-size:13px}.bubble b{display:block;color:#812c34}
.card{border:1px solid #eaded0;border-radius:6px;padding:18px;background:#fffcf9;margin:16px 0}.card ol{padding-left:20px;margin:0}.card li{padding:5px 0;line-height:1.5}.hint{color:#665f61;font-size:13px;line-height:1.5}.note{background:#f8f3eb;padding:12px 14px;border-left:3px solid #d5af57;margin:14px 0;line-height:1.5;font-size:13px}.field{display:grid;gap:7px;margin:19px 0}.field label,.group-label{font-weight:700;font-size:14px}.field input,.field textarea,.field select,.code-input{border:1px solid #bfaeac;border-radius:5px;background:white;padding:12px 13px;width:100%;min-height:46px;color:#241b1e}.field textarea{min-height:128px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.code-input:focus{outline:2px solid #8b2b31;outline-offset:1px}.field small{color:#6a6264;line-height:1.5}.field input[type=file]{border-style:dashed;min-height:60px}.field input[type=checkbox]{width:18px;min-height:18px;accent-color:#8b2b31}.checkline{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:13px;line-height:1.5}.checkline input{accent-color:#8b2b31;width:18px;height:18px;margin:1px 0;flex:none}.choices{display:grid;gap:9px;margin:17px 0}.choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{border:1px solid #d8c6be;border-radius:5px;background:#fff;text-align:left;padding:14px;color:#251d1e;font-weight:700;min-height:48px}.choice[aria-pressed=true]{border-color:#8b2b31;background:#fff2e4;box-shadow:inset 3px 0 #8b2b31}.choice small{display:block;font-size:12px;color:#685d5f;font-weight:500;margin-top:3px}.choice:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #2761ad;outline-offset:2px}.actions{padding:16px clamp(18px,4vw,34px) 20px;border-top:1px solid #efe8df;display:grid;gap:10px;max-width:760px;width:100%;margin:auto}.btn{display:flex;justify-content:center;align-items:center;gap:7px;text-align:center;min-height:48px;border-radius:5px;border:1px solid #c7b4a6;padding:10px 16px;text-decoration:none;background:#fff;color:#3c2c2e;font-weight:800}.btn.primary{background:#edb84f;border-color:#d5a237;color:#21191a}.btn.quiet{border:0;min-height:38px;color:#742a32}.backrow{display:flex;justify-content:space-between;gap:12px}.backrow .btn{flex:1}.notice{margin:4px 18px 10px;padding:12px 14px;border:1px solid #b97979;background:#fff2f2;color:#7e242a;border-radius:4px;font-size:13px}.footer{text-align:center;padding:17px 20px 24px;color:#6c6362;font-size:12px;line-height:1.8}.footer a{color:#792e34}.summary{border:1px solid #e9dcd0;border-radius:5px;margin:16px 0}.summary header{display:flex;justify-content:space-between;gap:10px;background:#faf4ee;padding:12px 14px}.summary h2{font-size:15px;margin:0}.summary dl{margin:0;padding:8px 14px 14px}.summary dt{font-size:12px;color:#716565;margin-top:10px}.summary dd{margin:3px 0 0;line-height:1.5;overflow-wrap:anywhere}.file-list{padding-left:20px;line-height:1.6}.end-state{border:1px solid #edd9bc;background:#fff9ee;padding:17px;border-radius:5px;margin-top:18px}.end-state h2{font-size:17px;margin:0 0 7px}.end-state p{margin:0}.validation{color:#9b2329;font-size:13px;min-height:16px}.preview-label{background:#fff3dd;color:#65481f;text-align:center;padding:7px;font-size:12px;font-weight:700}
@media(max-width:620px){.choices.two{grid-template-columns:1fr}.header{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-height:120px;padding:12px 18px}.brand{grid-column:1;grid-row:1}.language{grid-column:2;grid-row:1}.language summary{min-width:66px;height:38px;padding:0 10px;gap:6px}.header-title{grid-column:1/-1;grid-row:2}.room-nav{grid-column:1/-1;grid-row:3}.screen{padding-top:21px}.status-step{font-size:12px}}
.notice.success{border-color:#77a28c;background:#eff8f2;color:#22523d}
.linkbutton{border:0;background:none;color:#812c34;text-decoration:underline;font-weight:700;padding:0}
.question{display:grid;gap:9px;margin:24px 0}.question .hint{margin:0}.question textarea{width:100%;min-height:88px;resize:vertical;border:1px solid #bfaeac;border-radius:5px;padding:12px 13px;color:#241b1e}.question textarea:focus{outline:2px solid #8b2b31;outline-offset:1px}.question .choices{margin:4px 0}.question .unknown{justify-self:start}
.file-list{margin:0;padding:14px 20px 17px 34px}.file-list li{padding:4px 0;overflow-wrap:anywhere}.file-list .linkbutton{margin-left:8px;min-height:40px}.summary-empty{padding:0 14px 14px;margin:0;color:#62585a}.outstanding{border:1px solid #e9c97b;background:#fff9e9;border-radius:5px;padding:15px;margin:17px 0}.outstanding h2{font-size:15px;margin:0 0 7px}.outstanding p{margin:0;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:15px 18px}.timeline li{position:relative;margin-left:10px;padding:0 0 20px 28px;color:#756d6d;font-weight:600;line-height:1.3}.timeline li:not(:last-child)::before{content:"";position:absolute;top:20px;bottom:0;left:9px;width:2px;background:#e6dacf}.timeline li::after{content:"";position:absolute;top:1px;left:0;width:18px;height:18px;border:2px solid #d5c6b8;border-radius:50%;background:white}.timeline li.complete{color:#222}.timeline li.complete::after{background:#1d7446;border-color:#1d7446}.timeline li.current{color:#8b2b31;font-weight:800}.timeline li.current::after{border:5px solid #8b2b31}
.file-input{position:absolute;width:1px!important;height:1px!important;min-height:1px!important;opacity:0;overflow:hidden}.file-trigger{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:46px;padding:10px 15px;border:1px solid #bfaeac;border-radius:5px;background:#fff;cursor:pointer;text-align:center}.file-input:focus-visible+.file-trigger{outline:3px solid #2761ad;outline-offset:2px}
.language .language-flag{position:relative;display:block;flex:none;width:20px;height:14px;overflow:hidden;border-radius:3px;box-shadow:0 0 0 1px #ffffff2e,inset 0 0 0 1px #00000029;font-size:0}
.language-flag-pt{background:radial-gradient(circle at 42% 50%,#fff 0 7%,transparent 8%),radial-gradient(circle at 42% 50%,#d7a928 0 17%,transparent 18%),linear-gradient(90deg,#046a38 0 42%,#da291c 42% 100%)}
.language-flag-pt::before{content:"";position:absolute;left:38%;top:27%;width:20%;height:43%;border-radius:1px;background:#fff}
.language-flag-en{background:#012169 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='%23012169'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23fff' stroke-width='8'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23c8102e' stroke-width='4'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23fff' stroke-width='14'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23c8102e' stroke-width='8'/%3E%3C/svg%3E") center/cover no-repeat}
@media(min-width:900px){.app{width:min(100%,1120px)}.screen{max-width:940px}.screen.summary-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-content:start}.screen.summary-page>h1,.screen.summary-page>.note,.screen.summary-page>.preview-label{grid-column:1/-1}.screen.summary-page>.summary{margin:8px 0}.actions{max-width:1120px}}
