*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;min-height:100vh;font-family:IBM Plex Sans,Plus Jakarta Sans,Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#edf5f2;color:#1b3a4b}.widget-shell{display:flex;flex-direction:column;min-height:100vh;background:#edf5f2;color:#1b3a4b;background-image:radial-gradient(1200px 600px at 0% -10%,rgba(61,122,107,.09),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(27,58,75,.06),transparent 60%)}.widget-shell--dark{background:#0d1e27;color:#e0eff0;background-image:radial-gradient(1200px 600px at 0% -10%,rgba(91,168,152,.12),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(27,58,75,.35),transparent 60%)}.widget-header{background:#ffffffc7;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(27,58,75,.08);position:sticky;top:0;z-index:50}.widget-shell--dark .widget-header{background:#152330cc;border-bottom-color:#e0eff014}.widget-header-inner{max-width:1400px;margin:0 auto;padding-block:14px;padding-inline:clamp(8px,2%,40px);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:baseline;gap:8px;min-width:0;flex-shrink:1}.brand-logo{font-size:22px;font-weight:900;color:#1b3a4b;letter-spacing:-.9px;line-height:1}.widget-shell--dark .brand-logo{color:#5ba898}.brand-version{font-size:10px;font-weight:700;color:#8aada4;text-transform:uppercase;letter-spacing:.08em;line-height:1}.brand-sep{font-size:14px;color:#b8d9d1;margin:0 4px}.widget-shell--dark .brand-sep{color:#23414f}.brand-title{font-size:15px;font-weight:700;color:#1b3a4b;letter-spacing:.005em;margin:0}.widget-shell--dark .brand-title{color:#e0eff0}.brand-context{font-size:11px;color:#8aada4;padding-left:12px;margin-left:10px;border-left:1px solid rgba(27,58,75,.12)}.widget-shell--dark .brand-context{color:#3d6870;border-left-color:#e0eff01f}.widget-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn-save{display:inline-flex;align-items:center;gap:6px;padding:8px 16px 8px 14px;border:none;border-radius:999px;background:linear-gradient(180deg,#3d7a6b,#1b3a4b);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:transform .4s cubic-bezier(.32,.72,0,1),box-shadow .4s cubic-bezier(.32,.72,0,1),filter .2s;font-family:inherit;box-shadow:0 1px #ffffff24 inset,0 6px 14px #1b3a4b33}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px #ffffff2e inset,0 10px 22px #1b3a4b40}.btn-save:active:not(:disabled){transform:translateY(0)}.btn-save:disabled{background:#edf5f2;color:#8aada4;cursor:not-allowed;box-shadow:none}.widget-shell--dark .btn-save{background:linear-gradient(180deg,#4a8a7c,#1b3a4b)}.widget-shell--dark .btn-save:disabled{background:#1a2e3a;color:#3d6870}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(27,58,75,.1);border-radius:999px;background:#fff;color:#3d7a6b;cursor:pointer;transition:all .25s cubic-bezier(.32,.72,0,1)}.btn-icon:hover{background:#edf5f2;color:#1b3a4b;border-color:#3d7a6b;transform:translateY(-1px)}.widget-shell--dark .btn-icon{background:#152330;border-color:#e0eff01a;color:#5ba898}.widget-shell--dark .btn-icon:hover{background:#1a2e3a;color:#e0eff0}.btn-pill{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid rgba(27,58,75,.12);border-radius:999px;background:#fff;color:#1b3a4b;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.32,.72,0,1);font-family:inherit;white-space:nowrap}.btn-pill:hover{background:#edf5f2;border-color:#3d7a6b;color:#1b3a4b;transform:translateY(-1px)}.btn-pill.active{background:#1b3a4b;border-color:#1b3a4b;color:#fff}.widget-shell--dark .btn-pill{background:#152330;border-color:#e0eff01a;color:#e0eff0}.widget-shell--dark .btn-pill:hover{background:#1a2e3a;border-color:#5ba898}.widget-shell--dark .btn-pill.active{background:#5ba898;border-color:#5ba898;color:#0d1e27}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;max-width:1400px;width:100%;margin:0 auto;padding-block:20px 32px;padding-inline:clamp(8px,2%,40px);align-items:stretch}.section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1400px;width:100%;margin:0 auto;padding-block:18px 0;padding-inline:clamp(8px,2%,40px)}.client-select{flex:1;padding:10px 12px;border:1px solid rgba(27,58,75,.1);border-radius:12px;background:#ffffffe6;-webkit-backdrop-filter:saturate(1.3) blur(6px);backdrop-filter:saturate(1.3) blur(6px);font-family:inherit;font-size:13px;color:#1b3a4b;cursor:pointer;box-shadow:0 1px 2px #1b3a4b08,0 8px 18px -12px #1b3a4b1a;transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.client-select:hover,.client-select:focus{border-color:#3d7a6b66;outline:0}.client-new-btn{flex:0 0 40px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(27,58,75,.1);border-radius:12px;background:linear-gradient(180deg,#1b3a4b,#12293a);color:#fff;cursor:pointer;box-shadow:0 1px 2px #1b3a4b1a,0 8px 18px -12px #1b3a4b40;transition:transform .25s cubic-bezier(.32,.72,0,1),filter .2s ease}.client-new-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.widget-shell--dark .client-select{background:#152330cc;border-color:#e0eff01a;color:#e0eff0}.widget-shell--dark .client-new-btn{background:linear-gradient(180deg,#5ba898,#3d7a6b);color:#0d1e27;border-color:#e0eff01a}.client-card{background:#ffffffe6;-webkit-backdrop-filter:saturate(1.3) blur(8px);backdrop-filter:saturate(1.3) blur(8px);border:1px solid rgba(27,58,75,.08);border-radius:18px;padding:16px 14px 6px;box-shadow:0 1px 2px #1b3a4b0a,0 14px 26px -16px #1b3a4b24;flex:1;min-height:0;display:flex;flex-direction:column}.widget-shell--dark .client-card{background:#152330cc;border-color:#e0eff014}.client-card-title{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1b3a4b;padding:0 4px 12px;border-bottom:1px solid rgba(27,58,75,.06);margin-bottom:8px}.widget-shell--dark .client-card-title{color:#e0eff0;border-bottom-color:#e0eff00f}.client-card-title .dot{width:7px;height:7px;border-radius:50%;background:#3d7a6b;box-shadow:0 0 0 3px #edf5f2;display:inline-block;flex-shrink:0}.widget-shell--dark .client-card-title .dot{background:#5ba898;box-shadow:0 0 0 3px #1a2e3a}.client-fields{display:flex;flex-direction:column;flex:1;justify-content:space-around}.client-field{display:flex;align-items:flex-start;gap:12px;padding:10px 4px;border-bottom:1px solid rgba(27,58,75,.05)}.client-field:last-child{border-bottom:0}.widget-shell--dark .client-field{border-bottom-color:#e0eff00d}.client-field-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:#edf5f2;color:#7f9e96;transition:background .2s ease,color .2s ease}.client-field-icon svg{width:17px;height:17px;display:block}.client-field.filled .client-field-icon{background:#3d7a6b;color:#fff}.widget-shell--dark .client-field-icon{background:#1a2e3a;color:#3d6870}.widget-shell--dark .client-field.filled .client-field-icon{background:#5ba898;color:#0d1e27}.client-field-body{display:flex;flex-direction:column;min-width:0;flex:1;padding-top:2px}.client-field-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8aada4;line-height:1.1}.client-field-value{font-size:13px;color:#8aada4;font-style:italic;font-weight:400;margin-top:3px;word-break:break-word;line-height:1.35}.client-field.filled .client-field-value{color:#1b3a4b;font-style:normal;font-weight:600}.widget-shell--dark .client-field-value{color:#5ba898}.widget-shell--dark .client-field.filled .client-field-value{color:#e0eff0}.nav-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(27,58,75,.08);border-radius:14px;background:#ffffffd9;-webkit-backdrop-filter:saturate(1.3) blur(6px);backdrop-filter:saturate(1.3) blur(6px);cursor:pointer;transition:transform .35s cubic-bezier(.32,.72,0,1),border-color .35s cubic-bezier(.32,.72,0,1),box-shadow .35s cubic-bezier(.32,.72,0,1),background .2s ease,color .2s ease;font-family:inherit;text-align:left;color:#1b3a4b;box-shadow:0 1px 2px #1b3a4b08,0 8px 18px -12px #1b3a4b1a;width:100%;min-width:0}.nav-card:hover{transform:translate(2px);border-color:#3d7a6b4d;box-shadow:0 2px 4px #1b3a4b0d,0 14px 28px -14px #1b3a4b2e}.nav-card.active{background:linear-gradient(180deg,#1b3a4b,#12293a);border-color:#1b3a4b;color:#fff;box-shadow:0 2px 4px #1b3a4b1a,0 16px 34px -18px #1b3a4b73;transform:none}.nav-card-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:#edf5f2;color:#3d7a6b;transition:background .2s ease,color .2s ease}.nav-card-icon svg{width:17px;height:17px;display:block}.nav-card.active .nav-card-icon{background:#ffffff24;color:#e0eff0}.nav-card-text{display:flex;flex-direction:column;min-width:0;line-height:1.2;flex:1}.nav-card-label{font-size:13px;font-weight:700;letter-spacing:-.01em}.nav-card-hint{font-size:11px;color:#7f9e96;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-card.active .nav-card-hint{color:#e0eff0b3}.nav-card-badge{position:absolute;top:50%;right:10px;transform:translateY(-50%);min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#3d7a6b;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.nav-card.active .nav-card-badge{background:#fff;color:#1b3a4b}.widget-shell--dark .nav-card{background:#152330bf;border-color:#e0eff014;color:#e0eff0}.widget-shell--dark .nav-card:hover{border-color:#5ba89866}.widget-shell--dark .nav-card.active{background:linear-gradient(180deg,#5ba898,#3d7a6b);border-color:#5ba898;color:#0d1e27}.widget-shell--dark .nav-card-icon{background:#1a2e3a;color:#5ba898}.widget-shell--dark .nav-card.active .nav-card-icon{background:#0d1e274d;color:#0d1e27}.widget-shell--dark .nav-card-hint{color:#5ba898}.widget-shell--dark .nav-card-badge{background:#5ba898;color:#0d1e27}.main-area{display:flex;flex-direction:column;gap:16px;min-width:0}.client-search-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.client-search-row .client-select{flex:1 1 260px;min-width:0}.client-search-row .client-new-btn{flex:0 0 auto;width:auto;padding:0 16px 0 12px;gap:8px}.client-new-btn-label{font-size:13px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.summary-rail{display:flex;flex-direction:column;gap:14px;align-self:stretch}.total-card{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:22px 28px;border-radius:20px;background:linear-gradient(135deg,#1b3a4b,#0f2634 60%,#12293a);color:#fff;box-shadow:0 2px 4px #1b3a4b1a,0 22px 50px -20px #1b3a4b80;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.total-card:before{content:"";position:absolute;inset:-40% -20% auto auto;width:320px;height:320px;background:radial-gradient(circle at center,rgba(91,168,152,.35),transparent 60%);pointer-events:none;transition:opacity .4s ease}.total-card--empty{background:#ffffffd9;color:#8aada4;box-shadow:0 1px 2px #1b3a4b0a,0 10px 22px -14px #1b3a4b1f;border:1px solid rgba(27,58,75,.08)}.total-card--empty:before{opacity:0}.total-card-label{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff9}.total-card--empty .total-card-label{color:#8aada4}.total-card-value{font-size:30px;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1;word-break:keep-all}.total-card-tax{font-size:11px;font-weight:500;color:#ffffff8c;text-transform:lowercase;letter-spacing:.02em;margin-top:2px}.total-card--empty .total-card-tax{color:#b8c5c1}.widget-shell--dark .total-card{background:linear-gradient(135deg,#5ba898,#3d7a6b 60%,#2d5d52);color:#0d1e27}.widget-shell--dark .total-card-label,.widget-shell--dark .total-card-tax{color:#0d1e2799}.widget-shell--dark .total-card--empty{background:#152330bf;color:#3d6870}.stats-card{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid rgba(27,58,75,.08);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px #1b3a4b0a,0 10px 22px -14px #1b3a4b1f;flex:0 0 auto}.widget-shell--dark .stats-card{background:#152330;border-color:#e0eff014}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto}.stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-right:1px solid rgba(27,58,75,.06);border-bottom:1px solid rgba(27,58,75,.06);min-width:0}.stat:nth-child(2n){border-right:0}.widget-shell--dark .stat{border-right-color:#e0eff00f;border-bottom-color:#e0eff00f}.stat-label{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7f9e96}.stat-value{font-size:18px;font-weight:800;letter-spacing:-.4px;font-variant-numeric:tabular-nums;color:#1b3a4b;line-height:1.1}.widget-shell--dark .stat-value{color:#e0eff0}.stat--iva .stat-value{color:#d97706}.stat--coste .stat-value{color:#3d7a6b}.widget-shell--dark .stat--iva .stat-value{color:#fbbf24}.widget-shell--dark .stat--coste .stat-value{color:#5ba898}.btn-ver-presupuesto{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:0;border-top:1px solid rgba(27,58,75,.06);background:linear-gradient(180deg,#1b3a4b,#12293a);color:#fff;font-size:14px;font-weight:700;letter-spacing:.01em;cursor:pointer;font-family:inherit;transition:filter .25s cubic-bezier(.32,.72,0,1),transform .05s ease}.btn-ver-presupuesto:hover:not(:disabled){filter:brightness(1.1)}.btn-ver-presupuesto:active:not(:disabled){transform:translateY(1px)}.btn-ver-presupuesto:disabled{background:#edf5f2;color:#b8c5c1;cursor:not-allowed}.widget-shell--dark .btn-ver-presupuesto{background:linear-gradient(180deg,#5ba898,#3d7a6b);color:#0d1e27}.widget-shell--dark .btn-ver-presupuesto:disabled{background:#1a2e3a;color:#3d6870}.tab-panel{flex:1;min-height:0;background:transparent}.tab-panel--pdf{display:flex}.pdf-viewer{width:100%;min-height:calc(100vh - 65px);border:0;background:#edf5f2;border-radius:0}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 24px;text-align:center;color:#3d7a6b}.placeholder h2{margin:0;font-size:18px;color:#1b3a4b}.placeholder p{margin:0;max-width:420px;color:#8aada4;line-height:1.5}.btn-open{display:inline-flex;align-items:center;gap:6px;background:#1b3a4b;color:#fff;border:none;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.btn-open:hover{background:#3d7a6b}.configurador-wrap{margin:0;padding:0;min-width:0}@media (max-width: 1080px){.layout{grid-template-columns:minmax(0,1fr)}.summary-rail{position:static;flex-direction:row;flex-wrap:wrap}.summary-rail .total-card{flex:1 1 220px}.summary-rail .stats-card{flex:2 1 380px}.summary-rail .client-card{flex:1 1 280px}.section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.section-tabs{grid-template-columns:1fr}}@media (max-width: 860px){.widget-header-inner{padding:10px 14px;flex-wrap:wrap;gap:8px}.brand-context{display:none}.layout{padding:14px 14px 24px;gap:14px}}@media (max-width: 640px){.brand-sep,.brand-title{display:none}.stats-grid{grid-template-columns:1fr}.stat:nth-child(2n){border-right:1px solid rgba(27,58,75,.06)}.nav-card-hint{display:none}.btn-pill{padding:7px 10px}}
