:root{font-family:'Segoe UI',Arial,sans-serif;color:#202a39;background:#f5f3ed;font-size:15px;--ink:#202a39;--bronze:#8d6841;--line:#dedbd3;--paper:#fffefa}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app-shell{max-width:1600px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:27px 5%;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--ink);font-size:19px;font-weight:650;letter-spacing:.21em}.brand-mark{font-family:Georgia,serif;font-size:44px;font-weight:400;letter-spacing:-.09em;color:var(--bronze);padding-right:17px;border-right:1px solid var(--line)}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:7px;color:#70675c}.workspace{font-size:13px;text-align:right}.workspace span{display:block;margin-top:5px;color:#79736b;font-size:11px}nav{display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper)}.main-nav{display:flex;gap:30px}button{font:inherit;cursor:pointer;border:1px solid #cbc5ba;border-radius:3px;background:var(--paper);color:var(--ink);padding:11px 17px;transition:background .15s}button:hover{background:#eee9e0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #8d6841;outline-offset:4px}nav button{border:0;background:transparent;font-size:13px;padding:20px 0;border-bottom:2px solid transparent;border-radius:0;color:#6a665f;white-space:nowrap}nav button.active{border-bottom-color:var(--bronze);color:var(--ink);font-weight:650}.more-nav{position:relative}.more-nav>summary{font-size:12px;font-weight:500;list-style:none;padding:20px 0;color:#6a665f}.more-nav>summary::-webkit-details-marker{display:none}.more-nav>summary span{margin-left:12px}.nav-menu{position:absolute;right:0;top:55px;min-width:280px;z-index:10;background:var(--paper);border:1px solid var(--line);padding:10px 20px;box-shadow:0 12px 25px #202a3914;display:grid}.nav-menu button{padding:13px 0;text-align:left;white-space:normal}.nav-menu button:hover{color:var(--bronze)}main{padding:38px 5% 22px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}header small{font-size:10px;letter-spacing:.18em;color:#847663}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:10px 0 21px;font-size:43px;letter-spacing:-.045em}h2{font-size:18px;font-weight:600;letter-spacing:-.02em;margin-top:0}h3{font-size:16px}.badge{padding:7px 11px;border:1px solid #d7cdbf;border-radius:2px;color:#806140;font-size:9px;letter-spacing:.12em;background:#f2ece2}.notice{border-left:2px solid #b69a75;padding:9px 14px;font-size:12px;line-height:1.65;color:#766855;background:#eee9df;margin:0 0 27px}.cards{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 28px;border:1px solid var(--line);background:var(--paper)}.card{padding:26px 30px;border-right:1px solid var(--line)}.card:last-child{border-right:0}.card small{font-size:11px;color:#766c60;letter-spacing:.025em}.card strong{display:block;font-size:35px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:12px 0}.card .muted{font-size:11px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:26px;margin-bottom:20px}.muted{color:#746f67;font-size:13px;line-height:1.75}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;letter-spacing:.06em;color:#7a7063;background:#f5f2ec;font-weight:600}td,th{padding:16px 13px;border-bottom:1px solid #e8e3da}td.amount{text-align:right;white-space:nowrap}.table-wrap{overflow:auto}.primary{background:var(--ink);color:#fffefa;border-color:var(--ink)}.primary:hover{background:#374356}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:grid;gap:8px;color:#5d5b56;font-size:12px}input,select,textarea{font:inherit;width:100%;padding:11px;border:1px solid #ccc6bc;border-radius:3px;background:#fffefa;color:var(--ink)}textarea{min-height:90px}.full{grid-column:1/-1}.actions{display:flex;gap:10px;margin-top:21px;flex-wrap:wrap}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:5px 8px;background:#eee9e1;border-radius:2px;font-size:11px;color:#70604e}.study-row{padding:17px 0;border-bottom:1px solid #e6e0d7}details summary{cursor:pointer;font-weight:600;padding:8px 0}a{color:#806140}.proposal{padding:18px;background:#f5f2ec;border-left:2px solid #b69a75;margin:12px 0}.proposal button{margin-top:9px}.error{color:#9b332c}#message{position:sticky;bottom:15px;background:var(--ink);color:white;border-radius:3px;padding:14px 18px;display:none;box-shadow:0 5px 20px #202a3925}.empty{padding:30px;text-align:center;color:#746f67}.line-editor{display:grid;grid-template-columns:1.2fr 1.6fr .6fr .9fr .65fr .65fr auto;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);align-items:end}.line-editor button{height:43px}input[type=checkbox]{width:auto;margin-right:8px}footer{display:flex;gap:20px;font-size:10px;letter-spacing:.12em;color:#847d73;border-top:1px solid var(--line);padding:26px 0 5px;margin-top:42px}footer span{letter-spacing:0}footer span:last-child{margin-left:auto}.overview{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.welcome{background:var(--ink);color:#fffefa;padding:35px;position:relative;overflow:hidden}.welcome .eyebrow{font-size:10px;letter-spacing:.18em;color:#cfb78f}.welcome h2{font-family:Georgia,serif;font-weight:400;font-size:31px;line-height:1.2;max-width:420px;margin:18px 0}.welcome p{color:#c4c5c8;max-width:420px;font-size:13px;line-height:1.7}.welcome button{background:#dbc5a4;border-color:#dbc5a4;color:#202a39}.event-list{padding:25px;background:var(--paper);border:1px solid var(--line)}.event-preview{display:flex;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.event-date{color:var(--bronze);font-family:Georgia,serif;font-size:28px}.event-preview strong{display:block;font-size:14px;font-weight:600}.event-preview small{display:block;margin-top:7px;color:#746f67;font-size:11px}@media(max-width:1100px){.line-editor{grid-template-columns:repeat(2,1fr)}.main-nav{gap:20px}}@media(max-width:750px){.masthead{padding:20px 5%}.workspace{font-size:11px}.brand{font-size:15px}.brand-mark{font-size:34px}.main-nav{gap:20px;overflow-x:auto;min-width:0;flex:1}.more-nav{margin-left:18px}nav button{font-size:12px}main{padding:26px 5%}h1{font-size:34px}.cards{grid-template-columns:1fr}.card{border-right:0;border-bottom:1px solid var(--line);padding:22px}.card:last-child{border-bottom:0}.grid,.overview{grid-template-columns:1fr}.full{grid-column:auto}.welcome{padding:25px}.badge{max-width:95px;line-height:1.6}.panel{padding:20px}.toolbar{flex-wrap:wrap}footer{flex-wrap:wrap}.line-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.masthead,nav,header,.notice,button,#message,footer{display:none}main{padding:0}.panel{border:0}}

.brand{border:0;background:transparent;padding:0;text-align:left}.brand:hover{background:transparent}

.template-models{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.template-models button{padding:23px;text-align:left;display:grid;gap:10px}.template-models .selected{border:2px solid var(--bronze);background:#eee9e0}.model-icon{font-family:Georgia,serif;font-size:32px;color:var(--bronze)}.template-models small{font-size:11px;color:#756b5e}.template-workspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(400px,1.15fr);gap:28px;align-items:start}.template-controls label{margin-bottom:15px}.visibility{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.visibility label,.check-label{display:flex;align-items:center}.invoice-paper{--accent:#8d6841;background:white;padding:42px;border:1px solid #e4ded3;box-shadow:0 6px 24px #202a3910;min-height:660px;font-size:12px}.palette-ink{--accent:#202a39}.palette-burgundy{--accent:#713c4e}.invoice-brand{display:flex;align-items:flex-start;gap:22px}.invoice-monogram{font-family:Georgia,serif;font-size:45px;color:var(--accent)}.invoice-brand strong{font-size:17px;color:var(--accent)}.invoice-brand p{font-size:11px;line-height:1.8;color:#79736d}.invoice-title{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--accent);padding-top:22px;margin-top:24px}.invoice-title h2{font-family:Georgia,serif;font-size:26px;color:var(--accent);font-weight:400}.invoice-title>strong{font-size:11px}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0}.invoice-parties small{display:block;color:#8b8173;font-size:9px;letter-spacing:.1em;margin-bottom:9px}.invoice-parties strong{font-size:12px}.invoice-paper table{font-size:11px}.invoice-paper td,.invoice-paper th{padding:12px 8px}.invoice-paper th{color:var(--accent)}.invoice-sums{max-width:260px;margin:28px 0 28px auto}.invoice-sums p{display:flex;justify-content:space-between;gap:20px}.invoice-total{border-top:1px solid var(--accent);padding-top:15px;font-size:17px;color:var(--accent)}.invoice-footer{border-top:1px solid #e4ded3;padding-top:20px;color:#7c756c;font-size:11px;line-height:1.6;white-space:pre-line}.invoice-footer small{font-size:9px;letter-spacing:.12em}.layout-classic .invoice-brand{justify-content:center;text-align:center}.layout-classic .invoice-title{border-top:0;border-bottom:2px solid var(--accent)}.layout-classic .invoice-title h2{font-family:'Segoe UI',sans-serif;font-weight:650}.layout-minimal .invoice-monogram{display:none}.layout-minimal .invoice-title{border-top:1px solid #e4ded3}.layout-minimal .invoice-title h2{font-family:'Segoe UI',sans-serif;font-size:21px}.layout-minimal .invoice-paper th{background:transparent}button:disabled{opacity:.45;cursor:not-allowed} @media(max-width:1000px){.template-workspace{grid-template-columns:1fr}}@media(max-width:600px){.template-models{grid-template-columns:1fr}.invoice-paper{padding:22px;min-height:540px}.invoice-title{flex-wrap:wrap}.visibility{grid-template-columns:1fr}.preview-column .toolbar{align-items:end}}@media print{.template-models,.template-controls,.preview-column>.toolbar{display:none!important}.template-workspace{display:block}body{background:white}.invoice-paper{border:0;box-shadow:none;padding:12mm;min-height:0}.template-workspace~*,#content>.toolbar{display:none!important}.invoice-paper h2{display:block}.invoice-paper .invoice-footer{display:block}}

.schedule-row{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:end;padding:15px 0;border-bottom:1px solid var(--line)}#payment-calendar{padding:24px 0;border-top:1px solid var(--line);margin-top:20px}.workspace{max-width:380px}.workspace span{line-height:1.5}@media(max-width:600px){.schedule-row{grid-template-columns:1fr}.workspace{max-width:170px}}

.assistant-intro h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin-top:18px}.ai-answer{border-left:2px solid var(--bronze);padding:20px;margin-top:25px;background:#f2eee6}.ai-answer p{white-space:pre-wrap;line-height:1.75}.proposal>.tag{margin-left:15px}

.section-editor{padding:19px;border:1px solid var(--line);margin-bottom:16px;background:#f6f3ed}.section-editor textarea{min-height:85px}.estimate-cover{padding:30px;background:#202a39;color:#fffefa;margin:-42px -42px 25px}.estimate-cover .invoice-brand strong,.estimate-cover .invoice-monogram{color:#dbc5a4}.estimate-cover .invoice-brand p{color:#d5d5d6}.estimate-cover>small{display:block;font-size:10px;letter-spacing:.14em;margin-top:27px;color:#d8c6ab}.estimate-cover h2{font-family:Georgia,serif;font-size:40px;font-weight:400;margin:14px 0;color:white}.estimate-tagline{font-size:15px;line-height:1.6;color:#d5d5d6}.estimate-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid #ffffff35;font-size:10px;margin-top:25px}.estimate-event{display:grid;gap:8px;padding:16px 20px;border-left:3px solid var(--accent);background:#f4f0e8;margin:20px 0;font-size:12px}.estimate-event span{color:#7a7063;font-size:11px}.estimate-block{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #e4ded3;break-inside:avoid}.estimate-block p{white-space:pre-line;line-height:1.8;color:#746f67;font-size:12px;margin:10px 0 0}.estimate-block h3,.estimate-pricing h3{color:var(--accent);font-family:Georgia,serif;font-size:18px;font-weight:400;margin:0}.block-number{font-size:12px;color:var(--accent);padding-top:3px;min-width:20px}.estimate-pricing{margin:30px 0}.estimate-pricing h3{margin-bottom:18px}.estimate-paper.palette-burgundy .estimate-cover{background:#713c4e}.estimate-paper.palette-bronze .estimate-cover{background:#202a39}.budget-timeline .estimate-cover{background:#f3efe7!important;color:#202a39;border-bottom:3px solid var(--accent)}.budget-timeline .estimate-cover h2,.budget-timeline .invoice-brand strong,.budget-timeline .invoice-monogram{color:var(--accent)}.budget-timeline .invoice-brand p,.budget-timeline .estimate-cover>small,.budget-timeline .estimate-tagline{color:#746f67}.budget-timeline .estimate-meta{border-top-color:#cec5b7}.budget-timeline .estimate-block{border-bottom:0;border-left:1px solid #cec5b7;padding-left:17px;margin:10px 0}.budget-timeline .block-number{background:var(--accent);color:white;border-radius:50%;padding:7px;width:30px;height:30px;text-align:center;flex-shrink:0}.budget-compact .estimate-cover{background:white!important;color:var(--accent);border-bottom:1px solid var(--accent);padding:0;margin:0 0 20px}.budget-compact .estimate-cover h2{color:var(--accent);font-size:27px}.budget-compact .invoice-brand strong,.budget-compact .invoice-monogram{color:var(--accent)}.budget-compact .invoice-brand p,.budget-compact .estimate-cover>small,.budget-compact .estimate-tagline{color:#746f67}.budget-compact .estimate-meta{border-color:#e4ded3}.budget-compact .block-number{display:none}.budget-compact .estimate-block{padding:12px 0}.budget-font-sans h2,.budget-font-sans h3{font-family:'Segoe UI',Arial,sans-serif}.budget-spacing-compact .estimate-block{padding-top:10px;padding-bottom:10px}.budget-spacing-airy .estimate-block{padding-top:28px;padding-bottom:28px}.budget-spacing-airy .estimate-block p{line-height:2}.estimate-paper .invoice-footer{margin-top:25px}@media(max-width:600px){.estimate-cover{margin:-22px -22px 20px;padding:22px}.estimate-cover h2{font-size:29px}.budget-compact .estimate-cover{margin:0}.estimate-block{gap:12px}}@media print{.estimate-cover{margin:0;padding:8mm;print-color-adjust:exact}.estimate-paper{padding:6mm}.estimate-block{break-inside:avoid}.estimate-cover h2{display:block}.budget-compact .estimate-cover{padding:0}}

#content>.estimate-paper{max-width:850px;margin:0 auto}@media print{#content>.estimate-paper{max-width:none;margin:0}}

.pdf-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7;padding:15px;background:#f4f0e8;max-height:350px;overflow:auto}#bank-pdf-csv{font-family:Consolas,monospace;font-size:12px;min-height:180px}

.company-select{display:flex;flex-direction:column;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#776d60}.company-select select{min-width:220px;max-width:300px;margin:0;background:#fffdf9;color:#1c2a3a;border:1px solid #d8d0c4;border-radius:8px;padding:8px 12px;font-size:14px;text-transform:none;letter-spacing:0}.workspace{display:flex;flex-direction:column;align-items:flex-end;gap:5px}@media(max-width:600px){.company-select select{min-width:0;max-width:180px}.workspace{font-size:10px}}

#app-brand-name,#app-footer-name{text-transform:uppercase}#app-brand-name{display:inline;font-size:inherit}#app-footer-name{font-weight:inherit}

.actions{gap:16px}.toolbar{column-gap:18px;row-gap:14px;flex-wrap:wrap}#content button+button{margin-inline-start:12px}#content .actions button+button,#content .toolbar button+button,#content .template-models button+button{margin-inline-start:0}#content form>button{margin-top:18px}#content button{min-height:44px}@media(max-width:600px){.actions{gap:14px}.toolbar button{flex-shrink:0}#content button+button{margin-top:8px}}

.template-models{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.template-models button{min-height:145px}.format-summary{padding:20px;background:#f7f3eb;border-left:3px solid var(--accent)}.format-summary li{padding:8px 0}.format-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.format-phases{display:grid;gap:16px;border-left:2px solid var(--accent);padding-left:20px}.service-format-card{padding:20px;border:1px solid #ded6c9;background:#faf8f4;break-inside:avoid}.service-format-card h3{font-family:Georgia,serif;font-size:17px;font-weight:400;margin:14px 0}.format-step{font-size:9px;letter-spacing:.12em;color:var(--accent)}.service-format-card dl{font-size:11px;margin:0}.service-format-card dl div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e3dccc;padding:9px 0}.service-format-card dd{margin:0;text-align:right}.adjustment-reference{border-left:3px solid var(--accent);padding:14px 20px;background:#f5f1ea;margin:20px 0}.credit-note-total{display:flex;flex-direction:column;gap:15px;background:var(--accent);color:white;padding:28px;margin:24px 0}.credit-note-total strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.credit-note-total small{font-size:10px;letter-spacing:.1em}.delivery-signatures{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:35px 0;font-size:12px}@media(max-width:650px){.format-packages{grid-template-columns:1fr}.invoice-paper .table-wrap{overflow-x:auto}.comparison-table{min-width:380px}}

form[data-form="template"]:has(input[name="documentType"][value="rectification"]) .visibility,form[data-form="template"]:has(input[name="documentType"][value="credit"]) .visibility,form[data-form="template"]:has(input[name="documentType"][value="delivery"]) .visibility{display:none}

.event-management-list{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:26px}.event-management-list button{display:grid;gap:8px;text-align:left;min-width:200px}.event-management-list small{color:#766c60}.event-section-body{padding-top:22px}.event-section-body form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.event-task-list{display:grid;gap:12px}.event-task-list button{text-align:left;display:grid;gap:8px}.event-task-list button[aria-pressed=true]{background:#eee9df;border-color:#8d6841}.event-task-list small{color:#766c60}.stage-editor{display:grid;gap:18px;padding-top:18px}.pre-line{white-space:pre-line}.client-portal-cover{padding:36px;background:#1c2a3a;color:#fffefa;margin-bottom:26px}.client-portal-cover h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.client-portal-cover span{color:#d3b38a;font-size:11px;letter-spacing:.1em}.cards .card strong{font-size:clamp(18px,2.5vw,32px)}

.language-select{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.language-select select{width:auto;min-width:100px;margin:0}.workspace{flex-wrap:wrap;gap:18px}

/* Extras disponibles en el paquete de hosting. */
dialog.panel{width:min(820px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line,#ddd);border-radius:16px;padding:28px}dialog::backdrop{background:rgba(20,30,45,.5)}dialog.panel p button{margin:6px 0 6px 14px}dialog.panel form{margin:20px 0}dialog.panel input[readonly]{width:100%}
