.workspace{max-width:1500px;margin:0 auto;padding:0 24px 80px}.workspace-toolbar{z-index:20;border:1px solid var(--border);backdrop-filter:blur(12px);background:#fffffff5;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding:14px 18px;display:flex;position:sticky;top:0;box-shadow:0 8px 30px #17324d14}.workspace-toolbar>div:first-child{flex-direction:column;gap:2px;display:flex}.save-state{color:var(--muted);font-size:.78rem;font-weight:500}.save-state--error{color:#a13030}.save-state--saving{color:#8a6416}.toolbar-actions,.workspace-actions{flex-wrap:wrap;gap:8px;display:flex}.workspace-grid{grid-template-columns:minmax(570px,1.05fr) minmax(480px,.95fr);align-items:start;gap:22px;display:grid}.editor{flex-direction:column;gap:16px;display:flex}.editor-section{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;margin:0;padding:22px;box-shadow:0 8px 28px #17324d0d}.editor-section legend{float:left;width:100%;font-family:var(--font-display);color:var(--ink);margin:0 0 4px;padding:0;font-size:1.15rem;font-weight:760}.editor-section>:not(legend){clear:both}.section-hint{color:var(--muted);margin:0 0 17px;font-size:.82rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-subgrid{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.field{min-width:0;color:var(--ink);flex-direction:column;gap:6px;font-size:.79rem;font-weight:700;display:flex}.field>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.field em{color:#b23a3a;font-style:normal}.field small{color:var(--muted);font-size:.68rem;font-weight:500}.field input,.field select,.field textarea{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9d3dc;border-radius:8px;padding:9px 11px;font-size:.88rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #10716624}.field--wide{grid-column:1/-1}.catalog-picker{max-width:400px;margin-bottom:15px}.line-items{flex-direction:column;gap:12px;display:flex}.line-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:15px}.line-item-heading{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.8rem;display:flex}.line-item-heading>div{gap:10px;display:flex}.line-item-grid{grid-template-columns:.7fr .8fr 1fr .8fr .8fr 1fr;align-items:end;gap:9px;margin-top:10px;display:grid}.line-total{text-align:right;border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;min-height:42px;padding:6px 9px;display:flex}.line-total span{color:var(--muted);text-transform:uppercase;font-size:.63rem}.line-total strong{font-size:.86rem}.text-button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;font-weight:700}.text-button--danger{color:#a13030}.button{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;padding:9px 15px;font-size:.84rem;font-weight:750;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button:focus-visible{outline-offset:2px;outline:3px solid #10716640}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button--primary{color:#fff;background:var(--brand);box-shadow:0 6px 15px #10716633}.button--primary:hover{background:var(--brand-dark)}.button--secondary{color:#fff;background:var(--ink)}.button--quiet{color:var(--ink);border-color:var(--border);background:#fff}.button--add{width:100%;color:var(--brand-dark);background:#effaf7;border:1px dashed #84bdb5;margin-top:12px}.button--danger{color:#9d2f2f;background:#fff7f7;border-color:#e8bebe}.totals-inputs{max-width:460px;margin:16px 0 0 auto}.conversion-row{align-items:end;gap:10px;max-width:480px;margin-top:16px;display:flex}.conversion-row .field{flex:1}.danger-zone{border-top:1px solid var(--border);color:var(--muted);margin-top:18px;padding-top:15px;font-size:.78rem}.danger-zone summary{color:#8f3030;cursor:pointer;font-weight:700}.preview-wrap{min-width:0}.preview-sticky{position:sticky;top:90px}.preview-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;margin:0 4px 8px;font-size:.72rem;font-weight:700;display:flex}.document-preview{color:#283b4c;background:#fff;border:1px solid #d3dbe2;border-radius:5px;min-height:690px;padding:42px;font-size:.72rem;box-shadow:0 12px 45px #17324d1f}.document-header{border-bottom:3px solid var(--ink);justify-content:space-between;gap:30px;padding-bottom:25px;display:flex}.business-brand,.document-identity{flex-direction:column;display:flex}.business-brand img{object-fit:contain;object-position:left center;width:112px;height:48px;margin-bottom:11px}.business-brand>strong{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:1.05rem}.business-brand span{color:#607284;line-height:1.45}.document-identity{align-items:flex-end}.document-identity h2{font-family:var(--font-display);color:var(--ink);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.75rem;line-height:1}.document-identity>strong{color:var(--brand);margin:9px 0 8px}.status-chip{color:#805c13;text-transform:uppercase;background:#fff5d9;border-radius:999px;padding:3px 7px;font-size:.6rem}.status-chip--completed,.status-chip--paid{color:#0d695f;background:#e6f8f4}.document-parties{grid-template-columns:1fr 1fr;gap:28px;margin:28px 0;display:grid}.document-parties>div{flex-direction:column;line-height:1.5;display:flex}.document-parties small,.project-strip small{color:var(--brand);letter-spacing:.09em;margin-bottom:5px;font-size:.58rem;font-weight:800}.document-parties>div strong{color:var(--ink);font-size:.82rem}.document-parties dl{margin:0}.document-parties dl div{justify-content:flex-end;gap:15px;margin-bottom:6px;display:flex}.document-parties dd{text-align:right;min-width:92px;color:var(--ink);margin:0;font-weight:700}.project-strip{background:#f2f6f8;border-radius:6px;gap:35px;margin:-8px 0 20px;padding:12px 14px;display:flex}.project-strip span{flex-direction:column;flex:1;display:flex}.preview-table-scroll{overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;font-size:.68rem}.preview-table th{color:#fff;background:var(--ink);text-align:left;text-transform:uppercase;letter-spacing:.05em;padding:9px 7px;font-size:.58rem}.preview-table th:not(:first-child),.preview-table td:not(:first-child){text-align:right}.preview-table td{vertical-align:top;border-bottom:1px solid #dbe3e9;padding:10px 7px}.preview-table td:first-child{max-width:180px;font-weight:650}.preview-table td small{color:var(--muted);font-weight:500;display:block}.preview-totals{width:min(280px,72%);margin:22px 0 28px auto}.preview-totals>div{justify-content:space-between;padding:5px 2px;display:flex}.preview-totals span{color:#667787}.preview-totals .grand-total,.preview-totals .balance-due{border-top:2px solid var(--ink);color:var(--ink);margin-top:5px;padding:10px 2px;font-size:.9rem}.preview-totals .grand-total span,.preview-totals .balance-due span{color:var(--ink);font-weight:800}.document-notes{border-top:1px solid #dbe3e9;gap:12px;margin-top:20px;padding-top:18px;display:grid}.document-notes strong{color:var(--ink);margin-bottom:3px;font-size:.66rem;display:block}.document-notes p{color:#607284;white-space:pre-wrap;margin:0;line-height:1.45}.document-notes>small{color:#8392a0;text-align:center;margin-top:15px}.mobile-preview-toggle{display:none}@media (width<=1100px){.workspace-grid{grid-template-columns:minmax(500px,1fr) minmax(390px,.85fr)}.line-item-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=850px){.workspace{padding:0 15px 55px}.workspace-toolbar{flex-direction:column;align-items:flex-start;position:relative;top:auto}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}.mobile-preview-toggle{display:inline-block}.workspace-grid{display:block}.workspace-grid .preview-wrap,.workspace-grid--preview .editor{display:none}.workspace-grid--preview .preview-wrap{display:block}.preview-sticky{position:relative;top:auto}.document-preview{padding:28px}.form-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.workspace{padding-inline:10px}.workspace-toolbar{padding:12px}.toolbar-actions .button{flex:40%}.editor-section{padding:17px}.form-grid,.form-grid--three{grid-template-columns:1fr}.line-item-grid{grid-template-columns:repeat(2,1fr)}.document-preview{transform-origin:0 0;min-width:550px;margin-bottom:-280px;transform:scale(.58)}.preview-wrap{overflow:hidden}.preview-label{max-width:550px}.conversion-row{flex-direction:column;align-items:stretch}.conversion-row .button{width:100%}}@media print{body{background:#fff!important}.no-print,body>header,body>footer,.site-header,.site-footer,.hero-copy,.content-section{display:none!important}.workspace,.workspace-grid,.preview-wrap,.preview-sticky{max-width:none!important;margin:0!important;padding:0!important;display:block!important}.document-preview{min-height:0;box-shadow:none;border:0;padding:0}.document-header{break-inside:avoid}.preview-table thead{display:table-header-group}.preview-table tr,.preview-totals,.document-notes{break-inside:avoid}@page{size:letter;margin:.45in}}.document-parties dt{color:#586d7e}.document-notes>small{color:#5f7485}.workspace-gate{border:0;min-width:0;margin:0;padding:0}
