@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#202521;background:#f5f6f1;font-family:DM Sans,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;padding-bottom:64px}.topbar{height:76px;padding:0 max(28px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;color:#fbfaf5;background:#132d27;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.01em}.topbar>div:first-child{display:flex;align-items:center;gap:9px;font-size:14px;color:#c7d5ce}.topbar strong,.login-card h1{color:#fffdf7;font-family:Fraunces,Georgia,serif;font-size:21px;letter-spacing:-.035em}.topbar strong:before{content:"↗";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;color:#132d27;background:#d4e65a;border-radius:50%;font-family:Arial,sans-serif;font-size:17px}.topbar-user{display:flex;gap:18px;align-items:center;font-size:13px;color:#d9e3de}.stepper{max-width:900px;margin:38px auto 28px;padding:0 24px;display:flex;list-style:none;counter-reset:step}.stepper li{counter-increment:step;flex:1;position:relative;padding:32px 8px 0;color:#87918b;font-size:12px;font-weight:600;text-align:center}.stepper li:before{content:counter(step);position:absolute;top:0;left:calc(50% - 12px);width:24px;height:24px;display:grid;place-items:center;border:1px solid #c7cec8;border-radius:50%;background:#f5f6f1;font-size:11px}.stepper li:not(:last-child):after{content:"";position:absolute;z-index:-1;top:12px;left:50%;width:100%;height:1px;background:#d9ded9}.stepper li.active{color:#1e493d}.stepper li.active:before{color:#fff;background:#1e493d;border-color:#1e493d;box-shadow:0 0 0 5px #e1e9df}.stepper li.complete{color:#356957}.stepper li.complete:before{content:"✓";color:#132d27;background:#d4e65a;border-color:#d4e65a;font-weight:700}.stepper li.complete:after{background:#d4e65a}.panel{width:min(100% - 40px,900px);margin:0 auto;padding:clamp(26px,4vw,46px);background:#fffefa;border:1px solid #e0e4dd;border-radius:6px;box-shadow:0 18px 55px #14282112}.panel h2{margin:0 0 8px;color:#17372f;font:600 clamp(27px,3vw,36px)/1.12 Fraunces,Georgia,serif;letter-spacing:-.045em}.panel h2+p{margin-top:0}.field{display:block;margin:23px 0}.field>span{display:block;margin:0 0 8px;color:#334039;font-size:13px;font-weight:700}.field>span:first-letter{text-transform:none}input:not([type=checkbox]),textarea{width:100%;color:#1e2923;background:#fcfdf9;border:1px solid #cbd3cc;border-radius:4px;padding:12px 13px;outline:0;transition:border .15s,box-shadow .15s,background .15s}input:not([type=checkbox]){min-height:45px}textarea{line-height:1.5;resize:vertical}input:focus,textarea:focus{border-color:#3f8069;box-shadow:0 0 0 3px #42856d24;background:#fff}input[type=file]{padding:11px;background:#f4f7f1;border:1px dashed #9bac9f}input[type=file]::file-selector-button{margin-right:12px;padding:7px 10px;color:#17372f;background:#dce9dc;border:0;border-radius:3px;font-weight:700;cursor:pointer}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.grid-2 .field{margin:11px 0}.url-row{display:flex;gap:10px}.url-row input{min-width:0}.checkbox{display:flex;align-items:center;gap:10px;margin:25px 0 8px;color:#26342c;font-size:14px;font-weight:600}.checkbox input{width:18px;height:18px;accent-color:#2b745d}.btn{min-height:42px;padding:0 17px;color:#1b392f;background:#edf1e8;border:1px solid #d0d8d0;border-radius:3px;font-size:13px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-1px);background:#e2eadf;box-shadow:0 4px 12px #1b392f1c}.btn:disabled{opacity:.58;cursor:not-allowed}.btn-primary{color:#fbfff8;background:#1c5847;border-color:#1c5847}.btn-primary:hover:not(:disabled){background:#123f33}.btn-small{min-height:32px;padding:0 11px;font-size:12px}.topbar .btn{color:#eaf0eb;background:transparent;border-color:#ffffff40}.topbar .btn:hover:not(:disabled){background:#ffffff1a}.btn-row{display:flex;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:23px;border-top:1px solid #e4e8e2}.hint{color:#6b766f;font-size:13px;line-height:1.55}.success,.warning,.error,.working-banner,.error-banner{padding:12px 14px;border-radius:4px;font-size:13px;line-height:1.4}.success{color:#225e45;background:#e7f3e8;border-left:3px solid #4b9d6d}.warning{color:#7b4a0b;background:#fff4df;border-left:3px solid #e9a538}.error{color:#8c2929;background:#fff0ee;border-left:3px solid #d96052}.working-banner,.error-banner{width:min(100% - 40px,900px);margin:0 auto 18px}.working-banner{color:#245c4d;background:#e4f0e8;border-left:3px solid #438c6e}.error-banner{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#842d2d;background:#ffefec;border-left:3px solid #d96052}.salutation-preview{margin:22px 0 10px;color:#284238;font:600 17px Fraunces,Georgia,serif}.letter-editor{min-height:390px;font-family:DM Mono,monospace;font-size:13px}details{margin:20px 0;padding:13px;background:#f4f6f1;border-radius:4px}summary{color:#365044;font-size:13px;font-weight:700;cursor:pointer}.preview-pre{max-height:190px;overflow:auto;white-space:pre-wrap;color:#425047;font:12px/1.55 DM Mono,monospace}.answer-card{margin:18px 0;padding:18px;border:1px solid #dce3dc;border-left:4px solid #5d9d80;border-radius:4px;background:#fff}.answer-card.source-ai-drafted{border-left-color:#306d7e}.answer-card.source-needs-client-input{border-left-color:#d99022;background:#fffdf8}.answer-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:12px;color:#26372f;font-size:14px;line-height:1.4}.badge{flex:none;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.badge-auto-filled{color:#246143;background:#e5f3e8}.badge-ai-drafted{color:#1e5d6d;background:#e3f1f4}.badge-needs-client-input{color:#8c590c;background:#fff0d4}.answer-card .btn{margin-top:9px}.summary-table{width:100%;margin:26px 0;border-collapse:collapse;font-size:14px}.summary-table td{padding:12px 0;border-bottom:1px solid #e3e8e2}.summary-table td:first-child{width:38%;color:#728077;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.done-panel{text-align:center;padding:68px 36px}.done-panel h2:after{content:"";display:block;width:48px;height:3px;margin:20px auto 0;background:#d4e65a}.done-panel p{max-width:480px;margin:18px auto 28px;color:#65736a;line-height:1.6}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#132d27;background-image:radial-gradient(circle at 88% 15%,rgba(212,230,90,.2),transparent 24rem),linear-gradient(130deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,36px 36px}.login-card{width:min(100%,440px);padding:48px;position:relative;background:#fffdf7;border-radius:6px;box-shadow:0 30px 80px #00000040}.login-card:before{content:"↗";display:grid;place-items:center;width:46px;height:46px;margin-bottom:27px;color:#17372f;background:#d4e65a;border-radius:50%;font-size:28px}.login-card h1{margin:0;color:#17372f;font-size:37px}.subtitle{margin:5px 0 32px;color:#758076;font-size:14px}.login-card .btn{width:100%}.btn-google{color:#24332b;background:#fff;border-color:#cbd2cc}.login-card form{display:grid;gap:12px}.divider{display:flex;align-items:center;gap:11px;margin:23px 0;color:#9ba49d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e0e4df}.login-card .hint{margin:23px 0 0;text-align:center}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#476457;background:#f5f6f1;font-size:14px}@media(max-width:650px){.topbar{height:auto;min-height:66px;padding:13px 20px}.topbar-user{gap:8px;font-size:0}.topbar-user .btn{font-size:12px}.stepper{margin:25px auto 20px;padding:0 10px;overflow:hidden}.stepper li{min-width:54px;padding:29px 2px 0;font-size:10px}.panel{width:min(100% - 24px,900px);padding:25px 20px}.grid-2{grid-template-columns:1fr}.url-row{flex-direction:column}.url-row .btn{width:100%}.answer-head{flex-direction:column;gap:8px}.login-card{padding:34px 27px}}
