/* ============================================================
   VORIGON — CUBAGEM V2
   Interface limpa, premium e orientada a operação.
   ============================================================ */
#tela-cubagem{
  --cub-bg:#07111d;
  --cub-surface:#0b1826;
  --cub-surface-2:#0f1e2d;
  --cub-line:rgba(137,166,194,.13);
  --cub-line-strong:rgba(113,196,228,.28);
  --cub-text:#edf6ff;
  --cub-muted:#7f95aa;
  --cub-muted-2:#5c738a;
  --cub-blue:#168bff;
  --cub-cyan:#71c4e4;
  min-height:100vh;
  background:
    radial-gradient(circle at 86% 8%,rgba(22,139,255,.10),transparent 25%),
    radial-gradient(circle at 30% 100%,rgba(113,196,228,.04),transparent 34%),
    var(--cub-bg);
  color:var(--cub-text);
}
#tela-cubagem *{box-sizing:border-box}
.cub-shell{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:36px 0 72px}

/* HERO */
.cub-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:54px;align-items:center;min-height:330px;padding:18px 4px 36px;border-bottom:1px solid rgba(137,166,194,.09)}
.cub-hero-copy{max-width:850px}
.cub-back{border:0;background:transparent;color:#71879c;padding:0;margin:0 0 28px;font:700 11px/1 Inter,Arial,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;letter-spacing:.03em;transition:.18s ease}
.cub-back:hover{color:#dcecff;transform:translateX(-2px)}
.cub-eyebrow{display:flex;align-items:center;gap:10px;color:var(--cub-cyan);font:800 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;margin-bottom:14px}
.cub-eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--cub-blue),var(--cub-cyan))}
.cub-hero h1{margin:0;color:#f8fbff;font:800 clamp(44px,5.4vw,76px)/.96 Manrope,Inter,Arial,sans-serif;letter-spacing:-.055em;max-width:780px}
.cub-hero h1 span{display:block;color:var(--cub-cyan);font-weight:320}
.cub-hero-copy>p{margin:22px 0 0;max-width:680px;color:#8ea2b5;font:500 15px/1.65 Inter,Arial,sans-serif}
.cub-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.cub-hero-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:1px solid rgba(113,196,228,.13);border-radius:999px;background:rgba(255,255,255,.018);color:#7890a6;font:700 10px/1 Inter,Arial,sans-serif}
.cub-hero-chip i{color:#5caeea}
.cub-hero-chip strong{color:#bbcada;font-weight:760}

/* 3D CUBE */
.cub-hero-visual{position:relative;height:270px;display:grid;place-items:center;isolation:isolate}
.cub-hero-visual::before{content:"";position:absolute;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,rgba(22,139,255,.13),rgba(113,196,228,.035) 45%,transparent 70%);filter:blur(1px);z-index:-2}
.cub-hero-visual::after{content:"";position:absolute;bottom:31px;width:160px;height:24px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(12px);z-index:-1}
.cub-cube-scene{width:180px;height:180px;display:grid;place-items:center;perspective:780px;perspective-origin:50% 42%}
.cub-cube{position:relative;width:116px;height:116px;transform-style:preserve-3d;animation:cubCubeSpin 14s linear infinite;will-change:transform}
.cub-cube-face{position:absolute;inset:0;border:1px solid rgba(113,196,228,.72);background:linear-gradient(135deg,rgba(22,139,255,.10),rgba(113,196,228,.025));box-shadow:inset 0 0 28px rgba(22,139,255,.035);backface-visibility:visible}
.cub-cube-face::before,.cub-cube-face::after{content:"";position:absolute;background:rgba(113,196,228,.18)}
.cub-cube-face::before{left:50%;top:0;bottom:0;width:1px}
.cub-cube-face::after{top:50%;left:0;right:0;height:1px}
.cub-face-front{transform:translateZ(58px)}
.cub-face-back{transform:rotateY(180deg) translateZ(58px)}
.cub-face-right{transform:rotateY(90deg) translateZ(58px)}
.cub-face-left{transform:rotateY(-90deg) translateZ(58px)}
.cub-face-top{transform:rotateX(90deg) translateZ(58px)}
.cub-face-bottom{transform:rotateX(-90deg) translateZ(58px)}
.cub-cube-core{position:absolute;inset:29px;border:1px solid rgba(113,196,228,.17);transform:translateZ(0);box-shadow:0 0 36px rgba(22,139,255,.10)}
.cub-dimension-tag{position:absolute;right:8px;bottom:18px;display:flex;align-items:center;gap:8px;color:#658099;font:700 9px/1 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.cub-dimension-tag span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;border:1px solid rgba(113,196,228,.15);color:var(--cub-cyan)}
@keyframes cubCubeSpin{0%{transform:rotateX(-18deg) rotateY(0deg) rotateZ(2deg)}50%{transform:rotateX(-12deg) rotateY(180deg) rotateZ(-2deg)}100%{transform:rotateX(-18deg) rotateY(360deg) rotateZ(2deg)}}

/* FACTOR STRIP — compacto, inspirado em painel de fatores */
.cub-factor-strip{width:min(100%, 680px);margin:18px 0 14px;border:1px solid var(--cub-line);border-radius:15px;background:#081522;overflow:hidden;box-shadow:0 14px 42px rgba(0,0,0,.12)}
.cub-modal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-width:0}
.cub-modal-btn{position:relative;min-width:0;height:92px;border:0;border-right:1px solid rgba(126,155,185,.10);border-radius:0;background:transparent;color:#62778d;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.cub-modal-btn:last-child{border-right:0}
.cub-modal-btn:hover{color:#a8bfd2;background:rgba(255,255,255,.018)}
.cub-modal-btn.is-active{color:#e9f6ff;background:linear-gradient(145deg,rgba(22,139,255,.18),rgba(12,55,89,.24));box-shadow:inset 0 2px 0 rgba(113,196,228,.55)}
.cub-modal-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font:820 9px/1 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.cub-modal-btn>strong{display:block;color:#91a2b3;font:850 23px/.95 Manrope,Inter,Arial,sans-serif;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.cub-modal-btn>small{display:block;color:#425a70;font:760 7.5px/1 Inter,Arial,sans-serif;letter-spacing:.06em}
.cub-modal-btn.is-active .cub-modal-label{color:#9bdcff}
.cub-modal-btn.is-active>strong{color:#dff4ff}
.cub-modal-btn.is-active>small{color:#5f94b6}
.cub-custom-factor{display:none;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid rgba(126,155,185,.09);background:rgba(5,16,27,.42)}
.cub-custom-factor.is-visible{display:flex}
.cub-custom-factor label{color:#718aa0;font:750 9px/1.3 Inter,Arial,sans-serif;white-space:nowrap}
.cub-custom-factor input{width:100px;height:32px;border:1px solid rgba(126,155,185,.18);border-radius:7px;background:#071522;color:#e8f4ff;padding:0 9px;font:750 11px/1 Inter,Arial,sans-serif;outline:none}
.cub-custom-factor input:focus{border-color:#168bff;box-shadow:0 0 0 3px rgba(22,139,255,.08)}
.cub-custom-factor small{color:#4f697f;font:600 8.5px/1.35 Inter,Arial,sans-serif}

/* DIMENSION GUIDE */
.cub-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:10px 4px;color:#5f778d}
.cub-guide-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cub-guide-item{display:flex;align-items:center;gap:7px;font:700 9.5px/1 Inter,Arial,sans-serif}
.cub-guide-item b{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:rgba(113,196,228,.07);color:var(--cub-cyan);font:850 10px/1 Manrope,Inter,Arial,sans-serif}
.cub-guide-note{font:700 8.5px/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#445e75}

/* WORKSPACE */
.cub-workspace{border:1px solid var(--cub-line);background:rgba(9,22,35,.74);border-radius:16px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.14)}
.cub-workspace-head{padding:17px 18px;border-bottom:1px solid rgba(126,155,185,.09);display:flex;align-items:center;justify-content:space-between;gap:18px}
.cub-workspace-title{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
.cub-workspace-title small{color:#5b748b;font:800 9px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.cub-workspace-title h2{margin:0;color:#dce9f5;font:750 15px/1.2 Manrope,Inter,Arial,sans-serif}
.cub-workspace-title p{margin:0;color:#506b84;font:600 9.5px/1.4 Inter,Arial,sans-serif}
.cub-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.cub-action{height:36px;border-radius:9px;padding:0 11px;border:1px solid rgba(126,155,185,.13);background:transparent;color:#7790a7;font:750 10px/1 Inter,Arial,sans-serif;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:.16s ease}
.cub-action:hover{border-color:rgba(113,196,228,.28);color:#cfe1f1;background:rgba(113,196,228,.035)}
.cub-action-primary{border-color:rgba(22,139,255,.42);background:rgba(22,139,255,.12);color:#bfe4ff}
.cub-action-primary:hover{color:#fff;border-color:rgba(22,139,255,.66);background:rgba(22,139,255,.18)}
.cub-action-danger:hover{border-color:rgba(255,85,100,.28);color:#ff8f99;background:rgba(255,60,80,.035)}

.cub-table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#20394f #091522}
.cub-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;font-family:Inter,Arial,sans-serif}
.cub-table thead th{height:42px;padding:0 9px;background:#091625;border-bottom:1px solid rgba(126,155,185,.095);color:#526a82;font:800 8.5px/1.1 Inter,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;text-align:left;white-space:nowrap}
.cub-table thead th.cub-th-number{text-align:right}
.cub-table tbody tr{transition:background .14s ease}
.cub-table tbody tr:hover{background:rgba(113,196,228,.016)}
.cub-table tbody tr.is-valid{box-shadow:inset 2px 0 0 rgba(22,139,255,.48)}
.cub-table td{padding:9px 8px;border-bottom:1px solid rgba(126,155,185,.06);vertical-align:middle}
.cub-table tbody tr:last-child td{border-bottom:0}
.cub-row-index{width:34px;color:#3e5b73;font:800 9px/1 Inter,Arial,sans-serif;text-align:center;font-variant-numeric:tabular-nums}
.cub-input{width:100%;height:37px;border:1px solid rgba(126,155,185,.12);border-radius:8px;background:#071522;color:#dceaf7;padding:0 10px;font:700 10.5px/1 Inter,Arial,sans-serif;outline:none;transition:.15s ease;font-variant-numeric:tabular-nums}
.cub-input::placeholder{color:#39556e}
.cub-input:focus{border-color:rgba(22,139,255,.75);background:#091b2b;box-shadow:0 0 0 3px rgba(22,139,255,.07)}
.cub-input-desc{min-width:160px}
.cub-input-qty{width:64px;text-align:center}
.cub-input-dim{width:86px;text-align:right}
.cub-input-weight{width:90px;text-align:right}
.cub-cell-result{text-align:right;white-space:nowrap;color:#7890a6;font:750 10px/1.2 Inter,Arial,sans-serif;font-variant-numeric:tabular-nums}
.cub-cell-result strong{display:block;color:#bbcada;font:820 11px/1.15 Manrope,Inter,Arial,sans-serif}
.cub-cell-result small{display:block;color:#425d75;font:650 7.5px/1.2 Inter,Arial,sans-serif;margin-top:2px}
.cub-cell-charge strong{color:var(--cub-cyan)}
.cub-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.cub-row-btn{width:29px;height:29px;border-radius:8px;border:1px solid transparent;background:transparent;color:#506a81;display:grid;place-items:center;cursor:pointer;transition:.15s ease}
.cub-row-btn:hover{color:#d3e5f4;border-color:rgba(113,196,228,.16);background:rgba(113,196,228,.035)}
.cub-row-btn.is-delete:hover{color:#ff7b88;border-color:rgba(255,80,95,.18);background:rgba(255,70,90,.035)}

/* SUMMARY */
.cub-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:14px;border:1px solid var(--cub-line);border-radius:16px;overflow:hidden;background:var(--cub-line)}
.cub-summary-card{position:relative;min-height:112px;background:#0a1725;padding:17px 18px}
.cub-summary-card small{display:flex;align-items:center;gap:7px;color:#526d85;font:800 8.5px/1.2 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.cub-summary-card small i{color:#568db7}
.cub-summary-card strong{display:block;margin-top:16px;color:#e6f1fa;font:850 clamp(21px,1.8vw,28px)/1 Manrope,Inter,Arial,sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.cub-summary-card span{display:block;margin-top:7px;color:#4e687f;font:650 8.5px/1.3 Inter,Arial,sans-serif}
.cub-summary-card.is-highlight{background:linear-gradient(135deg,rgba(22,139,255,.16),rgba(8,27,45,.96))}
.cub-summary-card.is-highlight::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--cub-blue),var(--cub-cyan))}
.cub-summary-card.is-highlight strong{color:#82d6f5}
.cub-summary-card.is-highlight small{color:#73a8c9}

/* FORMULA */
.cub-formula{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:15px 4px;color:#536c83}
.cub-formula-icon{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:rgba(113,196,228,.055);color:#5ca8d6}
.cub-formula h3{margin:1px 0 4px;color:#7990a6;font:760 10px/1.2 Inter,Arial,sans-serif}
.cub-formula p{margin:0;color:#4f687e;font:600 9.5px/1.55 Inter,Arial,sans-serif}
.cub-formula code{font:700 9px/1.3 "Roboto Mono",monospace;color:#728ba2;background:transparent;padding:0}

@media (prefers-reduced-motion:reduce){.cub-cube{animation:none!important;transform:rotateX(-16deg) rotateY(32deg)!important}}
@media(max-width:1120px){.cub-shell{width:min(100% - 40px,1460px)}.cub-hero{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.cub-cube{width:100px;height:100px}.cub-face-front{transform:translateZ(50px)}.cub-face-back{transform:rotateY(180deg) translateZ(50px)}.cub-face-right{transform:rotateY(90deg) translateZ(50px)}.cub-face-left{transform:rotateY(-90deg) translateZ(50px)}.cub-face-top{transform:rotateX(90deg) translateZ(50px)}.cub-face-bottom{transform:rotateX(-90deg) translateZ(50px)}.cub-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cub-shell{width:calc(100% - 26px);padding-top:22px}.cub-hero{display:block;min-height:auto;padding-bottom:28px}.cub-hero-visual{height:180px;margin-top:18px}.cub-hero h1{font-size:44px}.cub-factor-strip{width:100%}.cub-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cub-modal-btn{height:82px;border-bottom:1px solid rgba(126,155,185,.08)}.cub-modal-btn:nth-child(2){border-right:0}.cub-custom-factor{flex-wrap:wrap}.cub-workspace-head{align-items:flex-start;flex-direction:column}.cub-actions{width:100%;justify-content:flex-start}.cub-summary{grid-template-columns:1fr}.cub-guide{align-items:flex-start;flex-direction:column}.cub-guide-note{display:none}}
