:root { --ink:#151218; --muted:#766f79; --line:#e8e2e9; --paper:#fff; --soft:#faf8fb; --lilac:#a084a8; --pink:#eb76dd; --purple:#8260a2; --shadow:0 20px 55px rgba(55,32,69,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:linear-gradient(130deg,#fff 0%,#fff 42%,#fcf9fc 100%); font-family:"DM Sans",sans-serif; }
button,input,textarea,select { font:inherit; }
.topbar { height:92px; display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:auto; padding:0 30px; border-bottom:1px solid var(--line); }
.brand { width:152px; color:var(--ink); display:inline-flex; flex-direction:column; position:relative; text-decoration:none; line-height:1; }
.brand-name { font-family:"Manrope",sans-serif; font-weight:700; font-size:31px; letter-spacing:-2px; }
.brand-subtitle { margin:6px 0 0 18px; font-size:7px; letter-spacing:4px; color:#9c899f; font-weight:700; }
.brand-swoosh { position:absolute; left:-6px; bottom:-11px; width:146px; height:16px; border-bottom:3px solid var(--pink); border-radius:0 0 95% 55%; transform:skewX(-28deg) rotate(-3deg); }
.brand-swoosh:before { content:""; position:absolute; width:72px; left:0; bottom:-3px; border-bottom:2px solid var(--lilac); }
.header-note { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:9px; }
.header-note span { width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,var(--lilac),var(--pink)); }
main { max-width:1240px; padding:78px 30px 56px; margin:auto; }
.intro { max-width:760px; margin:0 auto; text-align:center; }
.eyebrow { color:var(--purple); font-size:11px; letter-spacing:2px; font-weight:700; margin:0 0 13px; }
h1,h2 { font-family:"Manrope",sans-serif; margin:0; letter-spacing:-1.65px; }
h1 { font-size:clamp(38px,5vw,64px); line-height:1.05; font-weight:800; }
h1 em { font-style:normal; color:var(--purple); position:relative; }
h1 em:after { content:""; height:8px; width:100%; position:absolute; bottom:-4px; left:0; z-index:-1; opacity:.45; background:linear-gradient(90deg,var(--lilac),var(--pink)); border-radius:50%; transform:rotate(-2deg); }
.intro-text { color:var(--muted); line-height:1.6; font-size:17px; max-width:610px; margin:22px auto 38px; }.progress-wrap { max-width:470px; margin:0 auto; text-align:left; }
.progress-label { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; margin-bottom:9px; }.progress-label strong { color:var(--ink); }
.progress-track { height:5px; background:#ece7ee; border-radius:10px; overflow:hidden; }.progress-track span { display:block; height:100%; width:0; transition:width .3s; border-radius:inherit; background:linear-gradient(90deg,var(--purple),var(--pink)); }
.plan-selector { margin-top:58px; padding:34px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }.selector-heading { max-width:560px; }.selector-heading h2 { font-size:28px; }.selector-heading > p:last-child { color:var(--muted); font-size:14px; margin:11px 0 0; line-height:1.5; }
.briefing-links { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }.briefing-link { min-height:208px; padding:22px; display:flex; flex-direction:column; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:14px; transition:transform .2s,border-color .2s,box-shadow .2s; }.briefing-link:hover { transform:translateY(-4px); border-color:#bca8c6; box-shadow:0 15px 28px rgba(69,41,82,.1); }.briefing-link.featured { background:linear-gradient(140deg,#fbf8fc,#f6eff9); border-color:#d7c7df; }.link-number { color:var(--purple); font-size:11px; font-weight:700; letter-spacing:1.5px; }.briefing-link strong { font-family:"Manrope",sans-serif; font-size:19px; letter-spacing:-.5px; margin-top:26px; }.briefing-link small { margin-top:6px; color:var(--muted); line-height:1.45; font-size:12px; }.briefing-link b { margin-top:auto; padding-top:19px; color:var(--purple); font-size:12px; }.briefing-link i { font-style:normal; padding-left:4px; transition:padding .2s; }.briefing-link:hover i { padding-left:9px; }
.workspace { display:grid; grid-template-columns:minmax(0,840px); justify-content:center; margin-top:62px; align-items:start; }
.form-panel,.copy-panel { background:var(--paper); border:1px solid var(--line); border-radius:22px; padding:36px; box-shadow:var(--shadow); }
.copy-panel { position:sticky; top:22px; background:#fdfbfe; }
.panel-heading { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid var(--line); padding-bottom:23px; margin-bottom:25px; }.panel-heading h2 { font-size:22px; }
.secure-note { color:#8b7f91; font-size:11px; letter-spacing:.2px; padding:7px 10px; border:1px solid #e8e1ea; border-radius:20px; }
fieldset { margin:0; border:0; padding:0; } legend,label { display:block; font-size:13px; font-weight:600; color:#302b33; } legend { margin-bottom:12px; }
.plan-options { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:27px; }.plan-card { cursor:pointer; border:1px solid var(--line); border-radius:12px; padding:13px 9px; transition:.2s; }.plan-card:has(input:checked) { border-color:var(--purple); background:#faf6fc; box-shadow:0 0 0 2px #eee5f4; }.plan-card input { position:absolute; opacity:0; }.plan-card strong,.plan-card small { display:block; }.plan-card strong { font-size:12px; }.plan-card small { color:var(--muted); font-size:11px; margin-top:3px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.form-grid label,.full-field,.dynamic-fields label { display:flex; flex-direction:column; gap:7px; }
input,textarea,select { min-height:43px; border:1px solid #ded7e0; color:var(--ink); background:#fff; border-radius:9px; padding:10px 12px; outline:none; transition:.2s; } textarea { resize:vertical; min-height:82px; line-height:1.45; } input::placeholder,textarea::placeholder { color:#aaa2ac; } input:focus,textarea:focus,select:focus { border-color:var(--purple); box-shadow:0 0 0 3px #eee7f2; }
.section-caption { margin:0 0 17px; color:var(--muted); font-size:12px; }.full-field { margin-top:20px; }.dynamic-fields { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-top:17px; padding-top:24px; border-top:1px solid var(--line); }.dynamic-fields:before { content:"SOBRE A OFERTA"; grid-column:1/-1; color:var(--purple); font-size:10px; letter-spacing:1.8px; font-weight:700; margin-bottom:-2px; }.dynamic-fields .span-2 { grid-column:span 2; }
input.filled,textarea.filled,select.filled { border-color:#bda9c4; background:#fdfafe; }.save-note { color:#8d8290; font-size:11px; margin:19px 0 0; }.save-note span { display:inline-grid; place-items:center; width:16px; height:16px; border-radius:50%; margin-right:5px; color:#fff; background:#9a7ba3; font-size:10px; }
.generate-btn { width:100%; margin-top:27px; border:0; padding:14px 16px; cursor:pointer; color:#fff; font-weight:700; border-radius:10px; background:linear-gradient(100deg,#73518f,var(--pink)); box-shadow:0 10px 22px rgba(136,83,152,.25); transition:transform .2s,box-shadow .2s; }.generate-btn:hover { transform:translateY(-2px); box-shadow:0 14px 26px rgba(136,83,152,.32); }.generate-btn span { font-size:17px; margin-left:7px; }
.submitted-notice { margin:18px 0 0; color:#5d4d66; background:#f7f1f9; border-left:3px solid var(--purple); border-radius:5px; padding:12px 14px; font-size:13px; line-height:1.45; }
.copy-button { border:1px solid #dacde0; border-radius:7px; background:#fff; color:var(--purple); padding:8px 12px; font-size:12px; font-weight:700; cursor:pointer; }.copy-button:disabled { opacity:.45; cursor:not-allowed; }.copy-instruction,.edit-hint { color:var(--muted); font-size:13px; line-height:1.5; }.copy-instruction { margin:-8px 0 18px; }.edit-hint { margin:13px 0 0; font-size:11px; }
.copy-output { min-height:475px; background:white; border:1px solid #e9e3eb; border-radius:12px; overflow:auto; }.empty { display:grid; place-items:center; }.empty-state { text-align:center; color:#978c9c; }.empty-state span { display:inline-grid; place-items:center; color:var(--purple); background:#f4ecf7; width:41px; height:41px; border-radius:50%; font-size:20px; }.empty-state p { font-size:13px; line-height:1.6; }.copy-editor { width:100%; border:0; border-radius:0; min-height:475px; padding:21px; font-size:13px; line-height:1.6; background:transparent; }.copy-editor:focus { box-shadow:inset 0 0 0 2px #eee7f2; }
footer { max-width:1240px; margin:auto; padding:24px 30px 35px; border-top:1px solid var(--line); color:#8a818c; font-size:12px; } footer span { color:var(--pink); margin:0 6px; }
@media (max-width:860px) { .workspace { grid-template-columns:1fr; }.copy-panel { position:static; }.briefing-links { grid-template-columns:1fr; }.briefing-link { min-height:150px; }.briefing-link strong { margin-top:18px; }.topbar { padding:0 20px; }.header-note { display:none; }main { padding:52px 20px 38px; }.workspace { margin-top:44px; } }
@media (max-width:500px) { .form-panel,.copy-panel { padding:22px 18px; border-radius:16px; }.form-grid,.dynamic-fields { grid-template-columns:1fr; }.dynamic-fields .span-2 { grid-column:auto; }.plan-options { gap:6px; }.plan-card { padding:12px 6px; }.plan-card strong { font-size:11px; }.plan-card small { font-size:10px; }.copy-output,.copy-editor { min-height:390px; } }
