:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#211b1d;background:#f4f1f0;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px;background:#541524;color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;color:#6f1d2d;display:grid;place-items:center;font-weight:900;font-size:24px}.brand strong,.brand span{display:block}.brand strong{letter-spacing:.08em}.brand span{opacity:.7;font-size:12px;letter-spacing:.22em}nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;color:#ffffffc2;border-radius:10px;padding:12px 14px;text-align:left;display:flex;align-items:center;gap:10px}.nav-item.active{background:#ffffff21;color:#fff}.nav-item:disabled{cursor:not-allowed;opacity:.42}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:18px 10px 0;font-size:13px;color:#ffffffb8}.status-dot{display:inline-block;width:8px;height:8px;background:#65d08c;border-radius:50%;margin-right:8px}.main{padding:34px;max-width:1600px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em}h2{margin-bottom:0;font-size:22px}.eyebrow{margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.18em;color:#8b5a64}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card,.panel{background:#fff;border:1px solid #e5dddf;box-shadow:0 10px 30px #3c1e270d}.metric-card{border-radius:16px;padding:20px}.metric-card span{display:block;color:#736a6d;font-size:14px;margin-bottom:7px}.metric-card strong{font-size:34px;line-height:1}.content-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(520px,1.45fr);gap:20px;align-items:start}.panel{border-radius:18px;padding:22px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:grid;gap:7px;color:#574f52;font-size:13px;font-weight:700}.full-width{grid-column:1/-1}input,textarea{width:100%;border:1px solid #d9d0d2;border-radius:10px;background:#fbfafa;padding:11px 12px;outline:none;color:#211b1d;transition:border-color .2s,box-shadow .2s,background .2s}input:focus,textarea:focus{border-color:#7b2638;box-shadow:0 0 0 3px #6f1d2d1a;background:#fff}textarea{resize:vertical}.form-actions{margin-top:18px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px}.primary-button,.secondary-button{border-radius:10px;padding:11px 16px;border:1px solid transparent;font-weight:800}.primary-button{color:#fff;background:#6f1d2d}.primary-button:hover{background:#571522}.primary-button:disabled{opacity:.65;cursor:wait}.secondary-button{background:#fff;color:#4b3d41;border-color:#d9d0d2}.form-message{margin:0;font-size:13px}.form-message.success{color:#17733b}.form-message.error{color:#aa1e2e}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#efe9ea;color:#62575a;font-size:12px;font-weight:800}.badge-ok{background:#e4f5e9;color:#176b38}.badge-error{background:#fde7e9;color:#9c1f30}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:left;border-bottom:1px solid #eee8e9;padding:14px 10px;vertical-align:top}th{color:#817579;font-size:11px;letter-spacing:.08em;text-transform:uppercase}td{color:#4f4649;font-size:13px}td strong,td span{display:block}td strong{color:#251e20;margin-bottom:4px}td span{color:#786e71}.state{display:inline-block;width:max-content;border-radius:999px;padding:6px 9px;background:#f2ecee;font-weight:800;font-size:11px}.state-nueva{background:#fff0d7;color:#8b5600}.state-en_seguimiento{background:#e8eefb;color:#31558b}.state-ganada{background:#e4f5e9;color:#176b38}.state-perdida{background:#fde7e9;color:#9c1f30}.empty-state{border:1px dashed #d9d0d2;border-radius:12px;padding:28px;text-align:center;color:#766d70;background:#fbfafa}.hidden{display:none!important}.setup-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.setup-card{max-width:620px;background:#fff;border:1px solid #e5dddf;border-radius:20px;padding:34px;box-shadow:0 18px 55px #3c1e2717}code{background:#f2ecee;border-radius:5px;padding:2px 5px}@media(max-width:1080px){.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.sidebar nav,.sidebar-footer{display:none}.brand{padding:0}.main{padding:20px 14px 34px}.metrics{grid-template-columns:repeat(3,1fr);gap:8px}.metric-card{padding:14px 12px}.metric-card strong{font-size:27px}.metric-card span{font-size:11px}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}}select{width:100%;border:1px solid #d9d0d2;border-radius:10px;background:#fbfafa;padding:11px 12px;outline:none;color:#211b1d}select:focus{border-color:#7b2638;box-shadow:0 0 0 3px #6f1d2d1a;background:#fff}.table-action{border:1px solid #d9d0d2;background:#fff;color:#6f1d2d;border-radius:8px;padding:7px 10px;font-weight:800}.table-action:hover{background:#f6eff1}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}.modal-backdrop{position:absolute;inset:0;background:#1c10149e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 44px);overflow-y:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px #180c104d}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:22px}.icon-button{border:0;background:#f2ecee;color:#6f1d2d;width:38px;height:38px;border-radius:10px;font-size:24px;line-height:1}.modal-actions{display:flex;gap:10px}.modal-open{overflow:hidden}@media(max-width:620px){.modal{padding:0;align-items:end}.modal-card{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.modal-actions{width:100%}.modal-actions button{flex:1}}.table-panel{min-width:0}.table-wrap{width:100%;overflow-x:auto;padding-bottom:4px}table{min-width:760px;table-layout:auto}th:nth-child(1),td:nth-child(1){min-width:190px}th:nth-child(2),td:nth-child(2){min-width:170px}th:nth-child(3),td:nth-child(3){min-width:125px;white-space:nowrap}th:nth-child(4),td:nth-child(4){min-width:145px;white-space:nowrap}th:last-child,td:last-child{width:86px;min-width:86px;text-align:right}.table-action{min-width:68px;white-space:nowrap}@media(max-width:1180px){.content-grid{grid-template-columns:minmax(320px,.82fr) minmax(0,1.55fr)}}@media(max-width:1080px){.content-grid{grid-template-columns:1fr}table{min-width:720px}}.table-tools{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr);gap:12px;margin-bottom:16px}.tool-field{display:grid;gap:6px}.tool-field span{color:#766d70;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.opportunity-row{cursor:pointer}.opportunity-row:hover td{background:#fbf7f8}th:first-child,td:first-child{width:86px;min-width:86px;text-align:left}th:nth-child(2),td:nth-child(2){min-width:190px}th:nth-child(3),td:nth-child(3){min-width:170px}th:nth-child(4),td:nth-child(4){min-width:125px;white-space:nowrap}th:nth-child(5),td:nth-child(5){min-width:145px;white-space:nowrap}@media(max-width:760px){.table-tools{grid-template-columns:1fr}}.clients-grid{grid-template-columns:minmax(360px,.9fr) minmax(560px,1.5fr)}.client-tools{grid-template-columns:minmax(260px,1fr) minmax(150px,.45fr)}.state-inactivo{background:#eee8ea;color:#6f6266}@media(max-width:1080px){.clients-grid{grid-template-columns:1fr}}@media(max-width:760px){.client-tools{grid-template-columns:1fr}}.modal-subtitle{margin:6px 0 0;color:#766d70;font-weight:700}.quote-modal-card{width:min(980px,100%)}.quote-items-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:24px 0 12px}.quote-items-header h3{margin:0}.quote-item-row{display:grid;grid-template-columns:minmax(240px,1.7fr) 110px 140px 130px 38px;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #eee8e9}.quote-item-subtotal{display:grid;gap:7px;padding-bottom:10px}.quote-item-subtotal span{color:#574f52;font-size:13px;font-weight:700}.remove-item-button{width:36px;height:42px;border:0;border-radius:9px;background:#f8e8eb;color:#971f34;font-size:22px}.quote-total{display:flex;justify-content:flex-end;align-items:baseline;gap:18px;margin-top:18px;padding:16px 0;border-top:2px solid #eee8e9}.quote-total strong{font-size:26px}.state-borrador{background:#eee8ea;color:#655b5e}.state-enviada{background:#e8eefb;color:#31558b}.state-aceptada{background:#e4f5e9;color:#176b38}.state-rechazada{background:#fde7e9;color:#9c1f30}@media(max-width:820px){.quote-item-row{grid-template-columns:1fr 1fr}.quote-description{grid-column:1 / -1}}@media(max-width:560px){.quote-item-row{grid-template-columns:1fr}.quote-description{grid-column:auto}.quote-items-header{align-items:stretch;flex-direction:column}}.state-pendiente{background:#fff1cf;color:#7a5310}.state-en_proceso{background:#e8eefb;color:#31558b}.state-terminado{background:#e4f5e9;color:#176b38}.state-entregado{background:#dff2ec;color:#0f6650}.state-cancelado{background:#fde7e9;color:#9c1f30}.order-modal-card{width:min(1180px,100%)}.order-item-row{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(5,minmax(105px,.7fr)) minmax(110px,.7fr);gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #eee8e9}.order-item-description{display:grid;gap:7px;padding-bottom:10px}.order-item-description span,.order-variation span{color:#574f52;font-size:13px;font-weight:700}.order-variation{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f5f1f2}.order-variation strong{font-size:18px}.order-variation small{color:#766d70}.variation-alert{background:#fde7e9;color:#9c1f30}.order-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;margin-top:20px}.order-summary-grid article{padding:16px;border:1px solid #eee8e9;border-radius:12px;background:#faf8f8}.order-summary-grid span{display:block;color:#766d70;font-weight:700;margin-bottom:6px}.order-summary-grid strong{font-size:24px}.alert-count{color:#9c1f30}@media(max-width:1080px){.order-item-row{grid-template-columns:repeat(3,1fr)}.order-item-description{grid-column:1/-1}}@media(max-width:620px){.order-item-row,.order-summary-grid{grid-template-columns:1fr}.order-item-description{grid-column:auto}}.product-modal-card{width:min(920px,100%)}.product-details{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin:18px 0 22px}.product-detail-card{padding:15px;border:1px solid #eee8e9;border-radius:12px;background:#faf8f8}.product-detail-card span{display:block;margin-bottom:6px;color:#766d70;font-size:13px;font-weight:800}.product-detail-card strong{display:block;line-height:1.45;white-space:pre-wrap}.table-secondary{display:block;max-width:360px;margin-top:4px;color:#766d70;font-size:13px;line-height:1.35}.state-activo{background:#e4f5e9;color:#176b38}.state-inactivo{background:#eee8ea;color:#655b5e}@media(max-width:680px){.product-details{grid-template-columns:1fr}}.product-edit-grid{margin:18px 0 8px}#productEditMessage{min-height:22px;margin:10px 0 0}.message-success{color:#176b38;font-weight:800}.message-error{color:#9c1f30;font-weight:800}.product-details{display:block;margin:18px 0 22px}.product-detail-section{margin-top:18px}.product-detail-section:first-child{margin-top:0}.product-detail-section h3{margin:0 0 10px;color:#5f1726;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.product-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.product-detail-full{grid-column:1 / -1}.product-price-card{border-color:#cfa8b1;background:#fff7f8}.product-price-card strong{color:#7b1830;font-size:22px}.product-observations-card{min-height:78px}.product-detail-section-admin .product-detail-card{background:#f7f4f5}@media(max-width:680px){.product-detail-grid{grid-template-columns:1fr}.product-detail-full{grid-column:auto}}.import-products-card{width:min(1500px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.import-upload-box{display:flex;align-items:end;gap:16px;padding:18px;margin-bottom:14px;border:1px dashed #c8b8b8;border-radius:14px;background:#faf7f7}.file-picker{flex:1;display:grid;gap:8px;font-weight:700}.file-picker input{padding:11px;border:1px solid #d8cccc;border-radius:10px;background:#fff}.import-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:16px 0}.import-summary article{padding:14px;border:1px solid #eadede;border-radius:12px;background:#fff}.import-summary span{display:block;color:#756969;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.import-summary strong{display:block;margin-top:4px;font-size:1.45rem}.import-table-wrap,.import-preview-wrap{margin-top:16px;max-height:280px;overflow:auto}.import-preview-wrap{max-height:420px}.import-preview-wrap table{min-width:1250px}.import-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:800}.import-status.success{background:#e6f4ea;color:#216e39}.import-status.warning{background:#fff3cd;color:#7a5a00}.import-status.error{background:#fde8e8;color:#a12626}.import-preview-wrap td small,.import-table-wrap td small{display:block;margin-top:4px;color:#746b6b;max-width:320px}@media(max-width:900px){.import-summary{grid-template-columns:repeat(2,1fr)}.import-upload-box{align-items:stretch;flex-direction:column}}.import-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid #eadede;border-radius:12px;background:#fff}.import-controls label{min-width:340px;font-weight:700}.import-controls select,.import-client-select{width:100%;min-width:230px;padding:9px 10px;border:1px solid #d8caca;border-radius:9px;background:#fff}.import-controls p{margin:0;color:#756969}.import-status.neutral{background:#eceff1;color:#4f5960}@media(max-width:900px){.import-controls{align-items:stretch;flex-direction:column}.import-controls label{min-width:0}}.related-products-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.related-product-button{border:1px solid var(--border, #d9dde3);background:#fff;border-radius:10px;padding:12px;text-align:left;cursor:pointer}.related-product-button:hover,.related-product-button:focus-visible{border-color:#7b1f36;box-shadow:0 0 0 2px #7b1f3614}.related-product-button strong,.related-product-button span{display:block}.related-product-button span{margin-top:4px;color:#68707d;font-size:.82rem}.product-modal-card{width:min(1180px,100%)}.technical-views-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:14px}.technical-view-card{min-width:0;border:1px solid #e5dddf;border-radius:14px;overflow:hidden;background:#fbf9f9}.technical-view-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e8e0e2;background:#fff}.technical-view-header strong{color:#3c3034}.technical-view-header span{color:#83777b;font-size:12px}.technical-canvas{min-height:330px;display:grid;place-items:center;padding:14px;overflow:hidden}.technical-canvas-2d{background:linear-gradient(#fbf9f9 1px,transparent 1px),linear-gradient(90deg,#fbf9f9 1px,transparent 1px);background-size:20px 20px}.box-net-svg{display:block;width:100%;max-height:330px}.net-panel,.net-flap{fill:#ead7bd;stroke:#714e37;stroke-width:1.5;vector-effect:non-scaling-stroke}.net-flap{fill:#f2e2cb}.net-glue{fill:#d8b88e;stroke:#714e37;stroke-width:1.5;vector-effect:non-scaling-stroke}.net-fold{stroke:#7b1f36;stroke-width:1.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.net-cut{stroke:#714e37;stroke-width:1.5;vector-effect:non-scaling-stroke}.net-label{fill:#3f3028;font-size:13px;font-weight:800;text-anchor:middle}.net-measure{fill:#66564e;font-size:11px;text-anchor:middle}.net-glue-label{fill:#5c3d2c;font-size:9px;font-weight:900;text-anchor:middle}.net-caption{fill:#6d6265;font-size:12px;font-weight:700}.technical-empty{min-height:250px;display:grid;place-content:center;gap:8px;text-align:center;color:#746a6d}.technical-empty strong{color:#493e42}.box-3d-stage{position:relative;width:100%;min-height:300px;display:grid;place-items:center;perspective:850px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}.box-3d-stage.is-dragging{cursor:grabbing}.box-3d-scene{position:relative;width:var(--box-w);height:var(--box-h);transform-style:preserve-3d;transition:transform .08s linear}.box-face{position:absolute;display:grid;place-items:center;border:2px solid #704c35;background:#dab584e0;color:#503622;font-size:12px;font-weight:900;backface-visibility:visible;box-shadow:inset 0 0 22px #58341c14}.box-face span{padding:4px 7px;border-radius:6px;background:#ffffff94}.box-front,.box-back{width:var(--box-w);height:var(--box-h)}.box-front{transform:translateZ(calc(var(--box-d) / 2))}.box-back{transform:rotateY(180deg) translateZ(calc(var(--box-d) / 2))}.box-right,.box-left{width:var(--box-d);height:var(--box-h);left:calc((var(--box-w) - var(--box-d)) / 2)}.box-right{transform:rotateY(90deg) translateZ(calc(var(--box-w) / 2))}.box-left{transform:rotateY(-90deg) translateZ(calc(var(--box-w) / 2))}.box-top,.box-bottom{width:var(--box-w);height:var(--box-d);top:calc((var(--box-h) - var(--box-d)) / 2)}.box-top{transform:rotateX(90deg) translateZ(calc(var(--box-h) / 2))}.box-bottom{transform:rotateX(-90deg) translateZ(calc(var(--box-h) / 2))}.box-3d-hint{position:absolute;left:0;right:0;bottom:3px;color:#817579;font-size:11px;text-align:center;pointer-events:none}@media(max-width:850px){.technical-views-grid{grid-template-columns:1fr}.technical-canvas{min-height:290px}.box-3d-stage{min-height:270px}}
