@font-face{font-family:Montserrat;src:url('/static/assets/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/static/assets/Montserrat-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;--ink:#222521;--muted:#62645e;--paper:#fff;--ground:#eeeee8;--line:#d3d5cd;--soft:#f7f7f3;--error:#9b3223;--focus:#486656}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:14px/1.6 Montserrat,sans-serif}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;min-height:43px;border:1px solid #aeb1a7;background:white;color:var(--ink);border-radius:5px;text-decoration:none;font-size:12px;font-weight:700;transition:background .15s ease}button:hover,.button:hover{background:#e9ece5}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover{background:#454c42}button:disabled{opacity:.5;cursor:not-allowed}.quiet{border-color:transparent;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:#dbe7d6;color:#202a1e}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:24px;line-height:1.35;font-weight:700;letter-spacing:-.025em}h2{font-size:18px;line-height:1.4;margin-bottom:14px}h3{font-size:14px;margin:24px 0 12px}.brand{width:112px;height:auto;display:block}.topbar{height:78px;background:white;display:flex;align-items:center;gap:24px;padding:0 30px;border-bottom:1px solid var(--line)}.app-name{border-left:1px solid var(--line);padding-left:24px;font-size:15px}.topbar #user-name{margin-left:auto;font-size:12px}.workspace{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}.archive{padding:24px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px}.archive>.primary{width:100%}.archive h2{font-size:12px;margin:0}.archive .search-label{font-size:11px;margin:0}.search-label input{font-size:11px;padding:9px}.archive-foot{font-size:11px;color:var(--muted);padding-top:35px;line-height:1.9}.archive-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);padding:15px 9px;background:transparent;border-radius:0;font-weight:400;min-height:70px}.archive-item strong,.archive-item span{display:block;overflow-wrap:anywhere}.archive-item strong{font-size:12px}.archive-item span{font-size:10px;color:var(--muted);margin-top:4px}.archive-item.active{background:white}.empty{font-size:12px;color:var(--muted)}main{min-width:0}.document-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 32px;background:var(--soft);border-bottom:1px solid var(--line)}.document-bar h1{margin:0 0 4px}.document-bar p{font-size:11px;color:var(--muted);margin:0}.actions{display:flex;gap:10px;flex-shrink:0}.editor-layout{display:grid;grid-template-columns:minmax(390px,1.05fr) minmax(330px,.95fr)}.editor{background:white;min-width:0;border-right:1px solid var(--line)}.tabs{display:flex;padding:0 26px;border-bottom:1px solid var(--line);overflow-x:auto;gap:18px}.tabs button{white-space:nowrap;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:18px 0;color:var(--muted);font-weight:400;font-size:11px;min-height:57px}.tabs button.selected{border-color:var(--ink);font-weight:700;color:var(--ink)}#proposal-form{padding:30px;max-width:850px}.hint{font-size:12px;color:var(--muted);max-width:70ch;margin-bottom:22px}label{display:block;font-size:12px;font-weight:700;margin:0 0 20px}input,textarea,select{display:block;width:100%;border:1px solid #b7bcb2;border-radius:4px;background:white;color:var(--ink);padding:11px 12px;margin-top:7px;font-weight:400;font-size:13px;caret-color:var(--ink)}textarea{resize:vertical;line-height:1.7;min-height:75px}input::placeholder,textarea::placeholder{color:#73786e;font-size:12px}.optional{font-size:10px;font-weight:400;color:var(--muted);display:inline-block}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.field-grid>div{min-width:0}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:17px;height:17px;flex-shrink:0;margin:2px 0 0;accent-color:var(--ink)}details{margin:24px 0;border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;font-size:12px;font-weight:700}details[open]>summary{margin-bottom:20px}.preview-panel{padding:24px;min-width:0}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-heading h2{font-size:13px;margin:0}.preview-heading span{font-size:10px;color:var(--muted)}#preview-empty{padding:50px 20px;text-align:center;color:var(--muted);font-size:12px;max-width:420px;margin:auto}#preview-empty h3{color:var(--ink);font-size:14px;margin-top:25px}.paper-outline{width:155px;height:200px;background:white;border:1px solid var(--line);margin:auto;padding:36px 21px;text-align:left;transform:rotate(-3deg)}.paper-outline span{font-size:11px;font-weight:700;color:var(--ink)}.paper-outline hr{height:1px;border:0;background:var(--line);margin:20px 0}.paper-outline hr:last-child{width:60%;margin-left:0}#pdf-frame{width:100%;height:690px;border:0;background:#ddd;margin:20px 0 10px}#pdf-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}#validation{background:#fcf8eb;border:1px solid #d9cda7;border-radius:5px;padding:18px;margin:20px 0;font-size:11px}#validation h3{margin:0 0 10px}#validation ul{padding-left:18px;margin:0}#validation li{margin-bottom:7px}#finalize{width:100%;margin-top:10px}#export-list button{display:flex;width:100%;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;font-weight:400;font-size:11px;border-radius:0}.price-line{border-bottom:1px solid var(--line);padding:20px 0}.price-line:first-child{padding-top:0}.price-line .row-head{display:flex;justify-content:space-between;align-items:center}.price-line .row-head h3{margin:0}.remove{font-size:11px;padding:5px 8px;min-height:30px;border:0;background:transparent;color:var(--error)}.price-grid{display:grid;grid-template-columns:75px 1fr 1fr;gap:12px}.price-grid label{font-size:10px}.totals{margin:24px 0;background:var(--soft);padding:18px;font-size:12px}.totals>div{display:flex;justify-content:space-between;gap:15px;margin:7px 0}.totals strong{font-variant-numeric:tabular-nums}.totals p{font-size:10px;color:var(--muted);margin:14px 0 0}.confirmations{border:1px solid var(--line);border-radius:5px;padding:18px;margin-top:28px}.confirmations legend{font-size:12px;font-weight:700;padding:0 7px}.confirmations label:last-child{margin-bottom:0}.extra-section{padding:15px 0;border-bottom:1px solid var(--line)}.error{color:var(--error)}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#20271e;color:white;max-width:min(620px,90vw);padding:14px 22px;border-radius:5px;z-index:20;font-size:12px;display:none}#notice.visible{display:block}.login-view{min-height:100vh;display:grid;place-items:center;padding:32px}.login-form{background:white;padding:48px;width:440px;max-width:100%;border:1px solid var(--line)}.login-form .brand{margin-bottom:44px;width:130px}.login-form h1{font-size:28px}.login-form p{font-size:12px;color:var(--muted)}.login-form button{width:100%;margin-top:8px}.login-form .error{color:var(--error);margin:16px 0 0}.suggestion-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.suggestion-item strong{display:block;margin-bottom:4px}#draft-suggestions{margin-top:25px}
@media(min-width:1600px){.editor-layout{grid-template-columns:minmax(500px,1fr) minmax(500px,1fr)}#pdf-frame{height:850px}.preview-panel{padding:30px 40px}}
@media(max-width:1150px){.workspace{grid-template-columns:200px minmax(0,1fr)}.editor-layout{grid-template-columns:1fr}.editor{border-right:0}.preview-panel{border-top:1px solid var(--line)}.document-bar{align-items:flex-start;padding:24px;flex-direction:column}.archive{padding:20px 12px}}
@media(max-width:650px){.topbar{padding:0 18px;height:70px;gap:12px}.topbar .brand{width:88px}.app-name{padding-left:12px;font-size:12px}.topbar #user-name{display:none}.topbar .quiet{margin-left:auto;font-size:10px;padding:5px}.workspace{display:block}.archive{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.archive h2,.archive-foot{display:none}#archive-list{grid-column:1/-1;display:flex;overflow:auto;max-height:100px}.archive-item{min-width:190px;max-width:240px;border-bottom:0;border-right:1px solid var(--line)}.search-label input{margin-top:2px}.archive>.primary{align-self:center}#proposal-form{padding:24px 18px}.tabs{padding:0 18px;gap:20px}.field-grid{grid-template-columns:1fr}.price-grid{grid-template-columns:65px 1fr 1fr;gap:8px}.price-grid input,.price-grid select{padding:9px 6px;font-size:12px}.document-bar{padding:20px 18px}.document-bar h1{font-size:21px}.actions{width:100%}.actions button{flex:1;padding:10px}.preview-panel{padding:20px 18px}#pdf-frame{height:550px}.login-form{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#pdf-pages{margin:20px 0 12px;max-height:72vh;overflow-y:auto;padding:12px;background:#dedfd8;scrollbar-color:#777f70 #dedfd8}
#pdf-pages img{display:block;width:100%;height:auto;margin:0 0 16px;background:white}
#pdf-pages img:last-child{margin-bottom:0}
.preview-panel{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto}
.archive-item span,.optional,.price-grid label,.preview-heading span,.totals p{font-size:11px}
.document-bar p,.archive .search-label,.tabs button{font-size:12px}
@media(max-width:1150px){.preview-panel{position:static;max-height:none}#pdf-pages{max-height:750px}}
@media(max-width:650px){.topbar .quiet{font-size:11px}#pdf-pages{padding:6px;max-height:560px}}
.settings-panel{max-width:680px;margin:36px auto;padding:32px;background:var(--paper)}
.settings-panel>button{margin:0 0 24px;padding-left:0}
.settings-panel p{max-width:65ch}
.settings-panel form{margin-top:28px}
#ai-settings-result{margin:20px 0;overflow-wrap:anywhere}
#setup-ai-from-notes{margin-bottom:20px}
.file-drop{padding:18px;border:1px dashed #949d8d;background:var(--soft);border-radius:5px}.file-drop .hint{display:block;margin:10px 0 0;font-weight:400}.file-drop input{border:0;padding:4px 0;background:transparent}.review-price{display:grid;grid-template-columns:minmax(0,1fr) 145px 85px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.review-price>span{font-size:12px;overflow-wrap:anywhere}.review-price label{font-size:10px;margin:0}.review-price input{font-size:12px;padding:9px}.review-item{border-bottom:1px solid var(--line);padding:16px 0}.review-item label{margin:0}.review-item details{margin:10px 0 0;padding:0;border:0}.review-item details p{font-size:12px;white-space:pre-wrap;margin-bottom:0}#compose-progress{margin:16px 0;font-size:12px}#applied-defaults{font-size:12px;padding-left:20px}#confirm-review{margin:22px 0 12px}
@media(max-width:650px){.review-price{grid-template-columns:1fr 90px}.review-price>span{grid-column:1/-1}#generate,#confirm-review{width:100%}.topbar .quiet{font-size:10px}}
@media(max-width:650px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:8px}.topbar .app-name{margin-right:auto}.topbar .quiet{margin-left:0}.settings-panel{margin:16px;padding:24px 18px}.settings-panel h1{font-size:23px}#save-ai-settings{width:100%}}
