:root{--dark:#052c2b;--dark2:#031b1d;--green:#00d58a;--cyan:#20d5d2;--teal:#078f83;--bg:#eaf4f3;--card:rgba(255,255,255,.78);--text:#0a242a;--muted:#61777d;--line:rgba(11,83,80,.13);--shadow:0 22px 60px rgba(3,38,40,.11);--grad:linear-gradient(120deg,#00c987,#18c7cf)}
html{background:#eaf4f3}body{min-height:100vh;background:radial-gradient(circle at 8% 2%,rgba(0,213,138,.13),transparent 30rem),radial-gradient(circle at 95% 18%,rgba(32,213,210,.12),transparent 34rem),linear-gradient(145deg,#edf7f6 0%,#f7fafb 45%,#e8f2f2 100%);background-attachment:fixed}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(7,86,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,86,82,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.top{min-height:112px;height:auto;padding:16px 34px;position:relative;overflow:hidden;border-bottom:1px solid rgba(92,255,217,.14);background:radial-gradient(circle at 8% -30%,rgba(0,213,138,.32),transparent 34%),radial-gradient(circle at 82% 130%,rgba(22,198,223,.19),transparent 38%),linear-gradient(112deg,#073f3a 0%,#052b2c 45%,#031619 100%);box-shadow:0 20px 50px rgba(2,25,27,.22)}.top::after{content:"";position:absolute;right:-90px;top:-130px;width:330px;height:330px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.018)}.top>*{position:relative;z-index:1}.brand{gap:20px}.logoBox{width:120px;height:78px}.logoBox img{max-width:112px;max-height:76px;filter:drop-shadow(0 7px 14px rgba(0,0,0,.22))}.divider{height:58px;background:linear-gradient(transparent,rgba(255,255,255,.34),transparent)}.title h1{font-size:29px;letter-spacing:-.7px;color:#5aeee1}.title p{margin-top:5px;font-size:15px;color:rgba(255,255,255,.72);letter-spacing:.3px}
.topnav{gap:8px}.topnav button,.gear{min-width:100px;height:45px;padding:9px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.065);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 7px 18px rgba(0,0,0,.08);backdrop-filter:blur(12px);transition:transform .18s ease,border-color .18s ease,background .18s ease}.topnav button:hover,.gear:hover{transform:translateY(-2px)}.topnav button.active{color:#032623;background:linear-gradient(120deg,#61efbb,#4be2e0);box-shadow:0 10px 24px rgba(0,213,138,.22)}.gear{min-width:45px;width:45px}
.app{min-height:calc(100vh - 112px)}.main{padding:32px clamp(20px,4vw,58px) 56px;position:relative}.hero,.card{border:1px solid rgba(255,255,255,.82);background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(247,252,251,.66));box-shadow:var(--shadow),inset 0 1px 0 #fff;backdrop-filter:blur(18px)}.hero{padding:29px 34px;border-radius:20px;overflow:hidden;position:relative}.hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad)}.hero h2{font-size:27px;letter-spacing:-.55px}.hero p{color:var(--muted)}.period{background:rgba(255,255,255,.66);border-color:rgba(7,143,131,.16);border-radius:13px;box-shadow:inset 0 1px 0 #fff}
.card{border-radius:20px}.cardHead{padding:22px 28px;background:linear-gradient(90deg,rgba(4,63,59,.035),transparent);border-bottom-color:rgba(7,83,80,.10)}.cardHead h2{letter-spacing:-.6px}.content{padding:28px}.side{padding:28px 18px;border-right:1px solid rgba(7,83,80,.10);background:rgba(250,253,252,.76);box-shadow:16px 0 40px rgba(3,38,40,.055);backdrop-filter:blur(18px)}.side h4{margin:27px 11px 10px;color:#71858a;letter-spacing:.9px}.side button{border-radius:12px;margin:3px 0;transition:.18s ease}.side button:hover{transform:translateX(3px)}.side button.active{background:linear-gradient(110deg,rgba(0,213,138,.17),rgba(32,213,210,.10));box-shadow:inset 3px 0 0 #00bd85}
.field label{color:#3b565d;margin-bottom:8px}.field input,.field select,.field textarea{min-height:46px;border-radius:13px;border:1px solid rgba(10,91,87,.15);background:rgba(255,255,255,.76);box-shadow:inset 0 1px 2px rgba(2,48,46,.035),0 1px 0 #fff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#13bfa7;background:#fff;box-shadow:0 0 0 4px rgba(0,194,151,.10),0 8px 24px rgba(4,70,66,.07)}.field input[readonly]{background:rgba(226,241,239,.75);color:#526b70}.btn{border-radius:13px;padding:13px 19px;box-shadow:0 8px 20px rgba(4,67,63,.09);transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(4,67,63,.14)}.primary{background:linear-gradient(120deg,#00c985,#18c4cc)}.outline{background:rgba(255,255,255,.68)}
.result,.resourceCard{border-radius:15px;border:1px solid rgba(0,166,140,.16);background:linear-gradient(135deg,rgba(232,250,246,.88),rgba(245,253,252,.68));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.money,.resourceCard .big{color:#007f72}.dataTable th{color:#60787d}.dataTable tr:hover td{background:rgba(0,191,153,.035)}
@media(max-width:1100px){.top{padding:20px 24px}.topnav{margin-top:14px}}@media(max-width:650px){.topnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topnav button{width:auto;min-width:0}.gear{grid-column:1/-1;justify-self:start}.hero,.card{border-radius:16px}.hero{padding:24px}.content{padding:22px 18px}}@media print{body{background:#fff}body::before{display:none}}

/* Direção visual premium: mais contraste e seções com identidade própria. */
.top{background:radial-gradient(circle at 15% -60%,rgba(0,255,177,.42),transparent 38%),radial-gradient(circle at 77% 160%,rgba(25,211,226,.26),transparent 45%),linear-gradient(118deg,#07584d 0%,#053436 43%,#03171b 100%)}
.top::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 45%,rgba(255,255,255,.035) 45% 46%,transparent 46% 100%);background-size:95px 100%;opacity:.45}.logoBox{border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 35px rgba(0,0,0,.14)}
.title h1{font-weight:850;text-shadow:0 3px 18px rgba(53,238,209,.18)}.topnav button{position:relative;overflow:hidden}.topnav button::after{content:"";position:absolute;left:15%;right:15%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#5df1d7,transparent);opacity:0;transition:.2s}.topnav button:hover::after,.topnav button.active::after{opacity:1}.topnav button.active{box-shadow:0 12px 30px rgba(0,222,164,.28),inset 0 1px 0 rgba(255,255,255,.55)}
.hero{color:#fff;border-color:rgba(80,242,211,.24);background:radial-gradient(circle at 92% 10%,rgba(39,219,208,.22),transparent 34%),linear-gradient(125deg,#09584f 0%,#06393b 55%,#06252b 100%);box-shadow:0 28px 65px rgba(2,43,43,.20),inset 0 1px 0 rgba(255,255,255,.10)}.hero::after{content:"AR IT • COTAÇÃO 2.0";position:absolute;right:30px;bottom:-7px;font-size:42px;font-weight:900;letter-spacing:2px;color:rgba(255,255,255,.035);white-space:nowrap}.hero h2{color:#fff;font-size:30px}.hero p{color:rgba(255,255,255,.72)}.hero .period{position:relative;z-index:1;color:#d9fff7;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(12px)}
#screen>.card{border-color:rgba(13,133,121,.14);background:linear-gradient(155deg,rgba(248,253,252,.91),rgba(225,243,241,.70));box-shadow:0 26px 70px rgba(4,52,52,.13),inset 0 1px 0 #fff}
#screen>.card>.cardHead{position:relative;color:#fff;border:0;background:radial-gradient(circle at 87% 20%,rgba(51,225,205,.25),transparent 34%),linear-gradient(110deg,#0b6659,#07504e 52%,#073138)}
#screen>.card>.cardHead::after{content:"";position:absolute;left:28px;bottom:0;width:76px;height:4px;border-radius:99px;background:linear-gradient(90deg,#49efb6,#48dfe4)}#screen>.card>.cardHead h2{color:#fff}#screen>.card>.cardHead .muted{color:rgba(255,255,255,.68)}
.content>.grid{gap:14px}.content>.grid>.field{padding:16px;border:1px solid rgba(9,111,103,.10);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(235,247,245,.66));box-shadow:0 10px 28px rgba(3,61,58,.055),inset 0 1px 0 #fff}.content>.grid>.field:hover{border-color:rgba(0,184,148,.24);box-shadow:0 15px 32px rgba(3,61,58,.09),inset 0 1px 0 #fff}
.field input,.field select,.field textarea{border-color:rgba(8,84,81,.13);background:rgba(255,255,255,.88)}.field label{font-size:12px;letter-spacing:.2px;text-transform:none}.result{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(218,250,241,.90),rgba(233,250,250,.76))}.result::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#00c98a,#20cfd0)}
.totals{margin-top:8px;padding:22px 20px;border-top:0;border-radius:16px;background:linear-gradient(110deg,rgba(5,80,75,.07),rgba(0,213,170,.06))}.money{font-size:31px;background:linear-gradient(90deg,#008b70,#00aaa7);-webkit-background-clip:text;background-clip:text;color:transparent}.proposalItem{margin:7px 0;border:1px solid rgba(9,111,103,.09);border-radius:12px;background:rgba(255,255,255,.58);transition:.18s}.proposalItem:hover{transform:translateX(3px);background:#fff;box-shadow:0 9px 25px rgba(3,61,58,.07)}
.resourceCard{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(221,247,241,.78));box-shadow:0 13px 32px rgba(3,61,58,.07)}.resourceCard::after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-32px;bottom:-34px;background:rgba(0,202,154,.09)}
.btn.primary{background:linear-gradient(115deg,#00ba7f,#1bc6cf);box-shadow:0 12px 26px rgba(0,177,143,.20)}.btn.outline{border-color:rgba(0,162,139,.35);background:rgba(255,255,255,.78)}
@media(max-width:650px){.hero::after{font-size:26px;right:16px}.hero h2{font-size:27px}#screen>.card>.cardHead{padding:20px}.content>.grid>.field{padding:14px}}

/* Proposta comercial: identidade própria na tela e no PDF. */
#proposalWrap>.card{position:relative;border-color:rgba(2,112,103,.20);background:linear-gradient(150deg,rgba(247,253,252,.96),rgba(219,242,239,.78));box-shadow:0 32px 80px rgba(2,45,47,.17),inset 0 1px 0 #fff}
#proposalWrap>.card::before{content:"PROPOSTA COMERCIAL";position:absolute;z-index:3;right:25px;top:18px;padding:7px 11px;border:1px solid rgba(117,255,220,.24);border-radius:999px;color:#b8fff0;background:rgba(255,255,255,.07);font-size:10px;font-weight:900;letter-spacing:1.25px;pointer-events:none}
#proposalWrap>.card>.cardHead{min-height:132px;padding:36px 28px 26px;align-items:flex-end;background:radial-gradient(circle at 86% 5%,rgba(53,234,205,.23),transparent 35%),linear-gradient(118deg,#073b42 0%,#075a55 52%,#08766a 100%)}
#proposalWrap>.card>.cardHead h2{max-width:70%;font-size:28px;line-height:1.15;color:#fff;text-shadow:0 5px 22px rgba(0,0,0,.13)}
#proposalWrap>.card>.cardHead .muted{display:block;max-width:620px;margin-top:9px;color:rgba(231,255,250,.68);font-size:13px}
#proposalWrap>.card>.cardHead .noPrint{display:flex;gap:8px;align-items:center}
#proposalWrap>.card>.cardHead .btn{border-color:rgba(255,255,255,.25);color:#eafffa;background:rgba(255,255,255,.095);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 25px rgba(0,0,0,.12)}
#proposalWrap>.card>.cardHead .btn:last-child{color:#073a37;background:linear-gradient(120deg,#61efbb,#4be2e0)}
#proposalWrap>.card>.content{padding:27px 28px 30px}
#proposalWrap>.card>.content>p:first-child{display:inline-flex;align-items:center;gap:7px;margin:0 0 19px;padding:9px 13px;border-radius:999px;color:#31575a;background:rgba(255,255,255,.66);border:1px solid rgba(7,106,99,.10)}
#proposalWrap>.card .proposalItem{grid-template-columns:minmax(150px,1.5fr) .35fr .65fr .7fr auto;gap:12px;margin:10px 0;padding:17px 16px;border:1px solid rgba(4,113,103,.12);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(235,248,246,.72));box-shadow:0 12px 28px rgba(4,58,57,.065),inset 0 1px 0 #fff}
#proposalWrap>.card .proposalItem>b:first-child{color:#075f58;font-size:15px}
#proposalWrap>.card .proposalItem span{padding:5px 8px;border-left:1px solid rgba(7,94,88,.09)}
#proposalWrap>.card .proposalItem small{padding-top:11px!important;border-top:1px dashed rgba(7,94,88,.15);line-height:1.5}
#proposalWrap>.card .proposalItem .btn{width:35px;height:35px;padding:0;border-radius:10px;color:#a33434;border-color:rgba(193,55,55,.18);background:rgba(255,245,245,.82)}
#proposalWrap>.card .result{min-height:100px;display:flex;align-items:center;padding:24px 24px 24px 29px;color:#527074;background:linear-gradient(125deg,rgba(232,249,245,.88),rgba(255,255,255,.72))}
#proposalWrap>.card .totals{position:relative;margin-top:24px;padding:24px 25px;color:#e9fffa;overflow:hidden;background:radial-gradient(circle at 88% 20%,rgba(45,226,201,.20),transparent 30%),linear-gradient(115deg,#073d43,#075b57 58%,#08766a);box-shadow:0 18px 42px rgba(3,58,57,.17)}
#proposalWrap>.card .totals::before{content:"VALOR TOTAL DA PROPOSTA";position:absolute;right:24px;top:14px;color:rgba(232,255,249,.55);font-size:10px;font-weight:900;letter-spacing:1.15px}
#proposalWrap>.card .totals .muted{color:rgba(232,255,249,.60)}
#proposalWrap>.card .totals .money{margin-top:12px;background:linear-gradient(90deg,#7ff4cd,#55e4e6);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 25px rgba(65,238,211,.12)}

@media(max-width:650px){#proposalWrap>.card::before{left:20px;right:auto}#proposalWrap>.card>.cardHead{padding-top:63px;display:block}#proposalWrap>.card>.cardHead h2{max-width:none;font-size:24px}#proposalWrap>.card>.cardHead .noPrint{margin-top:18px;flex-wrap:wrap}#proposalWrap>.card .proposalItem{grid-template-columns:1fr 1fr}#proposalWrap>.card .proposalItem small{grid-column:1/-1!important}#proposalWrap>.card .totals{display:block}#proposalWrap>.card .totals>div:last-child{text-align:left!important;margin-top:18px}}

@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdfHeader{display:block!important;margin:0 0 26px;padding:22px 26px 28px;border-radius:0 0 18px 18px;color:#fff;background:radial-gradient(circle at 86% 5%,rgba(53,234,205,.25),transparent 34%),linear-gradient(118deg,#073b42,#075a55 55%,#08766a)}
  .pdfHeader:after{left:185px;right:26px;bottom:19px;background:rgba(255,255,255,.38);box-shadow:none}
  .pdfLogo{width:112px;height:112px;filter:drop-shadow(0 7px 16px rgba(0,0,0,.16))}
  .pdfTitle h1,.pdfTitle p,.pdfMeta{color:#fff}.pdfTitle h1{font-size:34px}.pdfTitle p{font-size:20px;color:rgba(255,255,255,.72)}.pdfMeta{font-size:14px;color:rgba(255,255,255,.82)}
  #proposalWrap>.card{border:0;background:#fff;box-shadow:none}
  #proposalWrap>.card::before{display:none}
  #proposalWrap>.card>.cardHead{min-height:auto;padding:10px 24px 18px;color:#0a3336;background:#fff!important;border-bottom:2px solid #0a8c7d}
  #proposalWrap>.card>.cardHead h2{max-width:none;color:#0a3f40;font-size:23px}
  #proposalWrap>.card>.cardHead .muted{color:#607579}
  #proposalWrap>.card>.content{padding:16px 24px}
  #proposalWrap>.card .proposalItem{break-inside:avoid;margin:7px 0;padding:11px 12px;border:1px solid #d6e8e5;background:#f7fbfa;box-shadow:none}
  #proposalWrap>.card .totals{break-inside:avoid;margin-top:18px;padding:18px 20px;color:#fff;background:linear-gradient(110deg,#073d43,#08766a);box-shadow:none}
  #proposalWrap>.card .totals .money{color:#8ff8d7;background:none;-webkit-text-fill-color:#8ff8d7}
}

/* Firewall sizing assistant */
.sizingIntro>div:first-child>p,.sizingIntro>.headroomBadge{display:none}
.sizingIntro{justify-content:flex-start}
.sizingIntro,.catalogHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:22px 24px;border:1px solid rgba(21,184,166,.22);border-radius:22px;background:linear-gradient(135deg,rgba(4,28,34,.98),rgba(8,61,66,.94));color:#f5fffe;box-shadow:0 18px 45px rgba(3,28,33,.16)}
.sizingIntro h3,.catalogHeader h3{margin:5px 0 6px;font-size:24px}.sizingIntro p,.catalogHeader p{margin:0;color:#bfe4df;max-width:720px}.sizingEyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#36d5c1}.headroomBadge{width:116px;min-width:116px;height:116px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 35% 25%,#22d3b6,#087e75 68%,#04534f);border:5px solid rgba(255,255,255,.16);box-shadow:0 0 0 7px rgba(27,210,185,.1)}.headroomBadge b{font-size:31px;line-height:1}.headroomBadge span{margin-top:5px;font-size:10px;max-width:72px;line-height:1.2;color:#dcfffa}
.sizingResult{margin-top:22px}.sizingCard{display:grid;grid-template-columns:230px 1fr;overflow:hidden;border:1px solid rgba(12,127,116,.2);border-radius:24px;background:linear-gradient(145deg,#fff,#f3fbfa);box-shadow:0 22px 55px rgba(8,56,64,.13)}.sizingCard.sizingWarning{border-color:#f2b84b}.sizingMedia{display:grid;place-items:center;min-height:310px;padding:22px;background:linear-gradient(155deg,#062e35,#0a5a5e)}.sizingMedia img{max-width:100%;max-height:240px;object-fit:contain}.fwProductFallback{width:170px;height:118px;border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;background:linear-gradient(145deg,#0d3740,#16a596);border:1px solid rgba(255,255,255,.25);box-shadow:0 22px 28px rgba(0,0,0,.25)}.fwProductFallback span{font-size:11px;letter-spacing:.14em;color:#bdf7ee}.fwProductFallback b{margin-top:7px;font-size:24px}.sizingMain{padding:25px}.sizingTop{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.sizingTop h3{font-size:27px;margin:4px 0}.sizingTop p{margin:0;color:#64748b}.headroomPill{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#d9faf4;color:#08796e;font-size:12px;font-weight:900}.sizingAlert{margin:16px 0;padding:12px 14px;border-radius:12px;background:#fff2cd;color:#7c5410}.sizingMetrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:20px 0}.sizingMetrics div{padding:14px;border-radius:15px;background:#edf8f7;border:1px solid #d8efec}.sizingMetrics span,.sizingMetrics small{display:block;color:#607a7b;font-size:11px}.sizingMetrics b{display:block;margin:5px 0;font-size:19px;color:#063f43}.sizingSpecs{padding-top:4px;color:#425f63}.sizingSpecs p{margin:8px 0}.sizingActions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px}.sizingActions a{text-decoration:none}
.catalogStats{display:flex;gap:8px;flex-wrap:wrap}.catalogStats span{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);color:#d8fffa;font-size:12px}.catalogStats b{font-size:18px;color:#fff}.fwCatalogTable{max-height:560px;overflow:auto;border-radius:16px;border:1px solid #dcebea}.fwCatalogTable table{min-width:1100px}.fwCatalogTable thead{position:sticky;top:0;z-index:2}.fwDisabled{opacity:.48}.fwAddPanel{margin-top:18px;padding:18px 20px;border:1px solid #d6e9e7;border-radius:16px;background:#f8fcfb}.fwAddPanel summary{cursor:pointer;font-weight:900;color:#086e67}.fwAddPanel .grid{margin-top:18px}
@media(max-width:900px){.sizingCard{grid-template-columns:1fr}.sizingMedia{min-height:190px}.sizingMetrics{grid-template-columns:repeat(2,1fr)}.catalogHeader{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.sizingIntro{align-items:flex-start}.headroomBadge{width:82px;min-width:82px;height:82px}.headroomBadge b{font-size:23px}.sizingMetrics{grid-template-columns:1fr}.sizingTop{flex-direction:column}.sizingMain{padding:18px}}
