*{box-sizing:border-box}:root{--bg: #eef3f8;--surface: #ffffff;--surface-soft: #f6f9fc;--ink: #142033;--muted: #66758a;--line: #dce5ef;--blue: #0f5fab;--blue-2: #073f79;--cyan: #00a7d8;--green: #129c58;--red: #c43434;--amber: #b7791f;--nav: #071321;--nav-2: #0b1d31;--shadow: 0 18px 45px rgba(13, 35, 58, .11);--radius: 22px}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font-family:inherit}button{border:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#fff;padding:22px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.brand strong{display:block;letter-spacing:.08em;font-size:18px}.brand span{display:block;color:#8fc8ef;font-size:12px;text-transform:uppercase}.logo-box{width:54px;height:54px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:18px;display:grid;place-items:center;overflow:hidden;color:#9ad9ff;font-weight:900}.logo-box img{width:100%;height:100%;object-fit:contain;padding:4px}.save-status{display:flex;align-items:center;gap:8px;background:#129c581f;color:#93e7bc;border:1px solid rgba(18,156,88,.28);padding:11px 12px;border-radius:14px;font-size:13px;margin-bottom:20px}.pulse{width:8px;height:8px;background:#25d366;border-radius:999px}.nav{display:grid;gap:6px}.nav-link{background:transparent;color:#dbe9f6;text-align:left;padding:12px 13px;border-radius:14px;cursor:pointer;transition:.2s ease;display:flex;gap:10px;align-items:center;font-weight:700}.nav-link:hover{background:#ffffff14}.nav-link.active{background:linear-gradient(90deg,var(--blue),#0a7cc4);color:#fff}.sidebar-actions{display:grid;gap:8px;margin-top:24px}.main{min-width:0}.hero{position:relative;height:248px;overflow:hidden;background:#07243f}.hero-bg,.hero-bg img,.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,#071321f5,#07223bb8 48%,#07132138),radial-gradient(circle at 68% 35%,rgba(0,167,216,.25),transparent 42%)}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:22px;padding:38px 42px;color:#fff}.hero-logo .logo-box{width:92px;height:92px;border-radius:28px}.hero h1{margin:0;font-size:38px;line-height:1.05;letter-spacing:-.03em}.hero p{color:#b8d2e7;margin:10px 0 14px}.hero-meta{display:flex;flex-wrap:wrap;gap:10px}.hero-meta span{padding:7px 10px;background:#ffffff17;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#d7eafa;font-size:12px}.hero-actions{position:absolute;right:28px;bottom:24px;z-index:3;display:flex;gap:10px}.small-upload,.upload-line,.file-button{cursor:pointer;position:relative}.small-upload input,.upload-line input,.file-button input{display:none}.small-upload{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.18);padding:10px 13px;border-radius:12px;font-size:12px;font-weight:800}.page-content{padding:24px}.stack{display:grid;gap:18px}.card,.metric,.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px}.metric{padding:18px}.metric span,.info-block span,.line span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{display:block;margin-top:8px;font-size:24px;letter-spacing:-.04em}.metric small{color:var(--muted)}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.budget-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.two-column,.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 392px;gap:18px;align-items:start}.two-column.inner{grid-template-columns:1fr 1fr}.catalog-page{grid-template-columns:minmax(0,1fr) 420px}.budget-main{display:grid;gap:18px}.sticky-panel,.summary-card{position:sticky;top:22px}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.section-head.compact{margin-bottom:14px}.section-head h2,.proposal-top h2{margin:0;font-size:22px;letter-spacing:-.03em}.section-head p,.proposal-top p{margin:5px 0 0;color:var(--muted)}.badge{background:#e9f5ff;color:var(--blue);border:1px solid #cce9ff;padding:8px 11px;border-radius:999px;font-weight:800;white-space:nowrap}.field,.textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;padding:13px 14px;outline:none;font-size:14px}.field:focus,.textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px #00a7d81f}.textarea{min-height:150px;resize:vertical}.textarea.big{min-height:360px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid.single{grid-template-columns:1fr}.span-2{grid-column:span 2}.inline-fields{display:grid;grid-template-columns:1fr 84px;gap:10px}.btn{padding:12px 14px;border-radius:14px;font-weight:900;cursor:pointer;transition:.2s ease;text-align:center}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn-full{width:100%}.btn-primary{background:linear-gradient(135deg,var(--blue),#0878c9);color:#fff}.btn-success{background:linear-gradient(135deg,var(--green),#16b96a);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-warning{background:#fff6e8;color:var(--amber);border:1px solid #f2d8a9}.btn-muted{background:#ffffff14;color:#dbe9f6;border:1px solid rgba(255,255,255,.1)}.btn-outline{background:#fff;color:var(--blue);border:1px solid var(--line)}.btn-whatsapp{background:#25d366;color:#072414}.list{display:grid;gap:10px}.list-row{width:100%;display:flex;gap:12px;align-items:center;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;text-align:left}.clickable{cursor:pointer}.clickable:hover{border-color:#9fc9e8;background:#f2f8fd}.avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.list-row strong,.catalog-info strong,.compact-row strong{display:block}.list-row span,.catalog-info span,.compact-row span{color:var(--muted);font-size:13px}.empty{padding:28px;text-align:center;background:var(--surface-soft);border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.catalog-row{display:grid;grid-template-columns:80px minmax(0,1fr) 130px 130px;gap:14px;align-items:center;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:18px}.catalog-info small{display:block;margin-top:6px;color:#9aa7b7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-price{font-weight:900;color:var(--blue)}.catalog-actions,.row-actions{display:grid;gap:8px}.edit-box{grid-column:1 / -1;display:grid;gap:12px}.edit-preview{width:100%;height:130px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.upload-line{display:block;border:1px dashed #9fc9e8;background:#f4faff;color:var(--blue);text-align:center;border-radius:14px;padding:13px;font-weight:900}.image-box{width:72px;height:72px;border-radius:18px;background:#eaf1f7;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;color:#9aa7b7;font-size:12px;flex:0 0 auto}.image-box.small{width:48px;height:48px;border-radius:14px}.image-box img{width:100%;height:100%;object-fit:cover}.proposal-card{padding:0;overflow:hidden}.proposal-top{background:linear-gradient(135deg,#fff,#eef8ff);border-bottom:1px solid var(--line);padding:22px;display:grid;grid-template-columns:1fr minmax(340px,520px);gap:18px;align-items:end}.eyebrow{display:inline-block;color:var(--blue);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:6px}.proposal-selects{display:grid;gap:10px}.three-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.mini-panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;padding:16px}.mini-panel h3{margin:0 0 14px}.tech-box,.payment-box{display:grid;gap:8px;background:#eaf6ff;border:1px solid #cce9ff;color:#18476b;padding:12px;border-radius:16px;margin-top:12px;font-size:13px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tabs button{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.tabs button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.compact-list{display:grid;gap:10px}.compact-row{display:grid;grid-template-columns:54px minmax(0,1fr) 130px;align-items:center;gap:12px;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;padding:12px;cursor:pointer}.compact-row:hover{border-color:#9fc9e8}.compact-row b{text-align:right;color:var(--blue)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px}th{background:#f4f8fb;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.04em}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.table-item{display:flex;align-items:center;gap:10px}.qty{width:72px;border:1px solid var(--line);border-radius:12px;padding:10px}.auto-row{background:#f0f9ff}.summary-card{padding:20px;align-self:start}.summary-title{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}.summary-title span{color:var(--muted);font-weight:900;text-transform:uppercase;font-size:12px}.summary-title strong{font-size:32px;color:var(--blue);letter-spacing:-.04em}.summary-lines{display:grid;gap:11px;padding:16px 0;border-bottom:1px solid var(--line)}.line{display:flex;justify-content:space-between;gap:14px}.negative{color:var(--red)}.discount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0 4px}.discount-grid label{color:var(--muted);font-size:12px;font-weight:900;display:grid;gap:6px}.summary-actions{display:grid;gap:10px;margin-top:16px}.proposal-note{margin-top:16px;padding:14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}.proposal-note p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.info-block{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;padding:16px}.info-block strong{display:block;margin-top:8px;font-size:20px}.narrow{max-width:820px}.mt{margin-top:18px}.backup-actions{display:grid;gap:12px;max-width:420px}.icon-btn{width:34px;height:34px;border-radius:10px;cursor:pointer}.icon-btn.danger{background:#ffecec;color:var(--red);font-weight:900}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(0,167,216,.16),transparent 30%),linear-gradient(135deg,#06101c,#0b2742);color:#fff;padding:22px}.login-card{width:min(100%,450px);background:#ffffff14;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px;padding:34px;box-shadow:0 28px 80px #00000040;text-align:center}.login-mark{width:76px;height:76px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,var(--blue),var(--cyan));font-size:36px;font-weight:900}.login-card h1{margin:0;font-size:26px}.login-card p{color:#b8d2e7}.login-form{display:grid;gap:12px;margin:24px 0;text-align:left}.error-box{background:#c4343424;border:1px solid rgba(196,52,52,.38);color:#ffd7d7;padding:12px;border-radius:14px}@media (max-width: 1200px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav,.sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-layout,.two-column,.catalog-page{grid-template-columns:1fr}.summary-card,.sticky-panel{position:static}.metrics-grid,.budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.three-panels,.proposal-top{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.page-content{padding:14px}.hero{height:auto;min-height:250px}.hero-content{padding:26px 18px 82px;align-items:flex-start}.hero h1{font-size:28px}.hero-logo .logo-box{width:70px;height:70px}.metrics-grid,.budget-metrics,.info-grid,.two-column.inner,.form-grid,.discount-grid,.nav,.sidebar-actions,.catalog-row{grid-template-columns:1fr}.compact-row{grid-template-columns:54px 1fr}.compact-row b{grid-column:1 / -1;text-align:left}}@media print{.app-shell{display:block}.main{width:100%}.hero{height:150px}.page-content{padding:0}.budget-layout,.two-column{display:block}.card,.summary-card{box-shadow:none;border:1px solid #ddd;break-inside:avoid;margin-bottom:12px}.summary-card{position:static}.field,.textarea{border:1px solid #ddd}body{background:#fff}}.budget-layout{grid-template-columns:minmax(0,1fr) 360px!important;gap:18px}.budget-side{min-width:0;width:100%;max-width:360px;justify-self:end}.summary-card{width:100%!important;max-width:360px!important;position:sticky;top:20px;z-index:1}.visibility-toggle{margin-top:14px;padding:12px;border-radius:16px;background:#f4f8fb;border:1px solid var(--line)}.visibility-toggle label{display:flex;gap:10px;align-items:center;font-weight:900;color:var(--ink);cursor:pointer}.visibility-toggle input{width:18px;height:18px;accent-color:var(--blue)}.visibility-toggle small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.pdf-document{display:none}@media (max-width: 1280px){.budget-layout{grid-template-columns:1fr!important}.budget-side,.summary-card{max-width:100%!important;width:100%!important;justify-self:stretch;position:static!important}}@media print{@page{size:A4 portrait;margin:0}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body,#root{width:210mm!important;min-height:297mm!important;margin:0!important;padding:0!important;background:#fff!important}.app-shell,.sidebar,.main,.hero,.page-content,.no-print{display:none!important}.pdf-document{display:block!important;visibility:visible!important;position:static!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;color:#101827!important;font-family:Arial,Helvetica,sans-serif!important}.pdf-document *{visibility:visible!important}.pdf-page{display:block!important;width:210mm!important;height:297mm!important;min-height:297mm!important;page-break-after:always;break-after:page;position:relative!important;overflow:hidden!important;background:#fff!important;color:#101827!important}.pdf-page:last-child{page-break-after:auto;break-after:auto}.pdf-cover-page{background:linear-gradient(135deg,#06101c,#0b2742)!important;color:#fff!important}.pdf-cover-banner{height:96mm;width:100%;background:#06101c!important;overflow:hidden;border-bottom:2px solid #00a7d8}.pdf-cover-banner img{width:100%;height:100%;object-fit:contain;display:block;background:#06101c!important}.pdf-cover-content{display:grid;grid-template-columns:1fr 72mm;gap:12mm;padding:17mm 16mm 10mm;align-items:start}.pdf-eyebrow{color:#00a7d8!important;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:11pt}.pdf-cover-content h1{margin:5mm 0 4mm;font-size:32pt;line-height:1.02;letter-spacing:-.04em;color:#fff!important}.pdf-cover-content p{font-size:12.5pt;line-height:1.45;color:#d7eafa!important;max-width:95mm}.pdf-cover-card{background:#ffffff14!important;border:1px solid rgba(255,255,255,.18);border-radius:7mm;padding:7mm;display:grid;gap:2mm}.pdf-cover-card strong{color:#7edcff!important;font-size:8.6pt;text-transform:uppercase;margin-top:2mm}.pdf-cover-card span{color:#fff!important;font-size:12.2pt;font-weight:800}.pdf-cover-tags{margin-top:8mm;display:flex;flex-wrap:wrap;gap:3mm}.pdf-cover-tags span{border:1px solid rgba(0,167,216,.55);background:#00a7d814!important;border-radius:999px;padding:3mm 4mm;text-align:center;font-weight:900;color:#dff6ff!important;font-size:9pt}.pdf-cover-bottom{position:absolute;left:16mm;right:16mm;bottom:13mm;border-top:1px solid rgba(0,167,216,.45);padding-top:6mm;display:flex;justify-content:space-between;gap:8mm;color:#d7eafa!important;font-size:10pt}.pdf-cover-bottom b{color:#fff!important;font-size:12pt}.pdf-budget-page,.pdf-final-page{padding:9mm;display:flex!important;flex-direction:column;gap:4.2mm;background:#fff!important}.pdf-topline{display:flex;justify-content:space-between;gap:8mm;align-items:center;border-bottom:2px solid #0f5fab;padding-bottom:4mm}.pdf-topline h2{margin:0;font-size:18pt;color:#06101c!important}.pdf-topline p{margin:1mm 0 0;color:#66758a!important;font-size:9.4pt}.pdf-total-badge{background:#06101c!important;color:#00a7d8!important;border-radius:4mm;padding:4mm 6mm;font-size:16pt;font-weight:900;white-space:nowrap}.pdf-total-badge.small{font-size:13pt}.pdf-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:4.2mm}.pdf-box{border:1px solid #dce5ef;border-radius:4mm;padding:4.5mm;background:#fff!important;page-break-inside:avoid;break-inside:avoid}.pdf-box h3{margin:0 0 2.8mm;color:#0f5fab!important;font-size:11.3pt;text-transform:uppercase;letter-spacing:.04em}.pdf-box p{margin:1.45mm 0;color:#142033!important;font-size:9.15pt;line-height:1.35}.pdf-items table{width:100%;min-width:0;border-collapse:collapse;font-size:8.25pt}.pdf-items th{background:#06101c!important;color:#fff!important;padding:2.2mm;font-size:7.9pt}.pdf-items td{padding:2.05mm;border-bottom:1px solid #dce5ef;color:#142033!important}.pdf-summary{background:#f6f9fc!important}.pdf-grand-total{margin:3mm 0;background:#06101c!important;color:#00a7d8!important;border-radius:4mm;padding:3.4mm;font-size:18pt;font-weight:900;text-align:center}.pdf-scope-box p{font-size:10pt}.pdf-signature-box{min-height:45mm}.pdf-signature-line{height:12mm;border-bottom:1px solid #8da0b3;margin:4mm 0 2mm}.pdf-contact-section{display:grid;grid-template-columns:1fr 45mm;gap:7mm;align-items:center;border:1px solid #dce5ef;border-radius:5mm;padding:5mm;background:#f6f9fc!important;page-break-inside:avoid;break-inside:avoid}.pdf-contact-left h3{margin:0 0 2.5mm;color:#0f5fab!important;font-size:13pt}.pdf-contact-left p{font-size:9.4pt;color:#142033!important;line-height:1.4;margin:0}.pdf-contact-info{margin-top:3mm;font-size:9.2pt;line-height:1.45;color:#142033!important}.pdf-contact-right img{width:45mm;height:45mm;object-fit:cover;border-radius:4mm;border:1px solid #dce5ef;display:block}.pdf-footer{margin-top:auto;width:100%;height:43mm;overflow:hidden;border-radius:0;background:#06101c!important;page-break-inside:avoid;break-inside:avoid}.pdf-footer img{width:100%;height:100%;object-fit:contain;display:block;background:#06101c!important}}
