/* Estilos limitados à atividade. Cabeçalho/rodapé são globais. */
.ft-simulador{
            --bg-loja: #ffffff;
            --txt-loja: #0f172a;
            --txt-sec-loja: #64748b;
            --btn-loja: #3b82f6;
            --btn-hover-loja: #1d4ed8;
            --card-radius: 8px;
            --vitrine-gap: 20px;
            --font-titulo: 16px;
            --font-preco: 14px;
            --header-height: 70px;
        }
.ft-simulador *{ box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.ft-simulador{ display: flex; height: 100vh; overflow: hidden; flex-direction: row; background-color: #0f172a; }
.ft-simulador .menu-mobile{
            display: none;
            position: fixed;
            top: 0; left: 0; right: 0;
            height: 50px;
            background: #0f172a;
            z-index: 999;
            border-bottom: 1px solid #1e293b;
        }
.ft-simulador .btn-tab{
            flex: 1;
            background: none;
            border: none;
            color: #94a3b8;
            font-weight: 600;
            font-size: 13px;
            cursor: pointer;
            transition: all 0.2s;
        }
.ft-simulador .btn-tab.ativo{
            background: #1e293b;
            color: #3b82f6;
            border-bottom: 3px solid #3b82f6;
        }
.ft-simulador #painel-controle{
            width: 420px; background: #1e293b; color: #f8fafc; padding: 25px;
            overflow-y: auto; box-shadow: 4px 0 15px rgba(0,0,0,0.4);
            display: flex; flex-direction: column; gap: 20px; z-index: 10;
        }
.ft-simulador .topo-painel{
            border-bottom: 1px solid #334155;
            padding-bottom: 15px;
        }
.ft-simulador #painel-controle h2{ font-size: 20px; color: #3b82f6; font-weight: 700; margin-bottom: 4px; }
.ft-simulador #painel-controle .sub{ font-size: 12px; color: #94a3b8; line-height: 1.4; }
.ft-simulador .btn-print{
            background: #10b981; color: white; border: none; padding: 10px 15px;
            border-radius: 6px; font-weight: bold; font-size: 13px; cursor: pointer;
            display: flex; align-items: center; justify-content: center; gap: 8px;
            transition: background 0.2s; margin-top: 10px; box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.2);
        }
.ft-simulador .btn-print:hover{ background: #059669; }
.ft-simulador #painel-controle h3{ 
            margin-top: 10px; font-size: 12px; text-transform: uppercase; 
            color: #f43f5e; letter-spacing: 0.05em; border-bottom: 1px solid #334155; padding-bottom: 5px; 
        }
.ft-simulador .campo{ display: flex; flex-direction: column; gap: 6px; }
.ft-simulador .campo label{ font-size: 12px; color: #cbd5e1; font-weight: 500; }
.ft-simulador .campo input{ 
            width: 100%; padding: 8px 12px; border-radius: 6px; border: 1px solid #475569; 
            background: #0f172a; color: #ffffff; font-size: 13px; transition: border 0.2s;
        }
.ft-simulador .campo input:focus{ border-color: #3b82f6; outline: none; }
.ft-simulador #area-loja{
            flex: 1; background: var(--bg-loja); color: var(--txt-loja);
            padding: 40px; overflow-y: auto; display: flex; flex-direction: column; transition: all 0.2s;
        }
.ft-simulador header{
            height: var(--header-height); padding: 0 10px; background: transparent; 
            border-bottom: 2px solid rgba(0,0,0,0.06); display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;
        }
.ft-simulador header h1{ font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.ft-simulador .cart-status{ background: rgba(0,0,0,0.05); padding: 8px 16px; border-radius: 50px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.ft-simulador .btn-limpar{ background: #ef4444; color: white; border: none; padding: 4px 8px; border-radius: 4px; font-size: 11px; cursor: pointer; }
.ft-simulador .vitrine{
            display: flex; flex-wrap: wrap; gap: var(--vitrine-gap); justify-content: center; margin-bottom: 40px;
        }
.ft-simulador .product-card{
            background: rgba(0,0,0,0.01); border: 1px solid rgba(0,0,0,0.06);
            padding: 20px; width: 220px; text-align: center; border-radius: var(--card-radius);
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02); transition: transform 0.2s, box-shadow 0.2s;
        }
.ft-simulador .product-card:hover{ transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); }
.ft-simulador .product-card img{ max-width: 100%; height: 120px; object-fit: contain; margin-bottom: 15px; filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.1)); }
.ft-simulador .product-card h4{ font-size: var(--font-titulo); font-weight: 600; margin-bottom: 8px; }
.ft-simulador .product-card .preco{ font-size: var(--font-preco); font-weight: 700; color: var(--btn-loja); margin-bottom: 15px; }
.ft-simulador .btn-comprar{
            background: var(--btn-loja); color: white; border: none; padding: 10px; 
            width: 100%; font-weight: 600; border-radius: 6px; transition: background 0.2s; font-size: 13px;
        }
.ft-simulador .btn-comprar:hover{ background: var(--btn-hover-loja); cursor: pointer; }
.ft-simulador #carrinho-info{ 
            background: rgba(0,0,0,0.02); padding: 25px; border-radius: 12px; margin-top: auto; 
            border: 2px dashed rgba(0,0,0,0.08); max-width: 500px; width: 100%; align-self: center;
        }
.ft-simulador #carrinho-info h3{ font-size: 16px; margin-bottom: 15px; font-weight: 700; }
.ft-simulador #carrinho-info p{ font-size: 14px; margin-bottom: 8px; display: flex; justify-content: space-between; color: var(--txt-sec-loja); }
.ft-simulador #carrinho-info p span{ font-weight: 600; color: var(--txt-loja); }
.ft-simulador .cupom-area{ display: flex; gap: 8px; margin: 15px 0; }
.ft-simulador .cupom-area input{ flex: 1; padding: 8px 12px; border: 1px solid rgba(0,0,0,0.15); border-radius: 6px; font-size: 13px; }
.ft-simulador .cupom-area button{ padding: 8px 16px; background:#0f172a; color:white; border:none; border-radius: 6px; cursor:pointer; font-weight: 600; font-size: 13px; }
.ft-simulador #carrinho-info h4{ font-size: 18px; font-weight: 700; border-top: 1px solid rgba(0,0,0,0.1); padding-top: 15px; display: flex; justify-content: space-between; }
@media (max-width: 768px){.ft-simulador{ padding-top: 50px; height: 100vh; }
.ft-simulador .menu-mobile{ display: flex; }
.ft-simulador #painel-controle,.ft-simulador #area-loja{ width: 100%; height: calc(100vh - 50px); position: absolute; top: 50px; left: 0; }
.ft-simulador.ver-painel #area-loja{ display: none; }
.ft-simulador.ver-painel #painel-controle{ display: flex; }
.ft-simulador.ver-loja #painel-controle{ display: none; }
.ft-simulador.ver-loja #area-loja{ display: flex; padding: 20px; }

        }
@media print{.ft-simulador{ background: white; color: black; display: block; height: auto; }
.ft-simulador #painel-controle,.ft-simulador .menu-mobile{ display: none !important; }
.ft-simulador #area-loja{ display: flex !important; width: 100% !important; padding: 0 !important; }

        }

    
.ft-simulador{position:relative;isolation:isolate;box-sizing:border-box;min-width:0;}

.ft-simulador{height:800px;max-height:none;}
.ft-simulador .menu-mobile{position:absolute;}
@media(max-width:900px){.ft-simulador{height:850px;}.ft-simulador #painel-controle,.ft-simulador #area-loja{height:calc(100% - 50px);}}
@media print{.ft-simulador{height:auto;overflow:visible;}}

@media(prefers-reduced-motion:reduce){.ft-simulador *{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}}

/* Painel alinhado à Biblioteca; a loja mantém os estilos editáveis pelo aluno. */
.ft-simulador{width:min(1180px,calc(100% - 32px));margin:0 auto 40px;border:1px solid var(--line,#dfe5ee);border-radius:18px;}
.ft-simulador #painel-controle{background:var(--surface,#fff);color:var(--text,#172033);box-shadow:none;border-right:1px solid var(--line,#dfe5ee);}
.ft-simulador #painel-controle :is(h2,h3){color:var(--school-blue,#0d2c6c);}
.ft-simulador #painel-controle :is(.sub,.campo label){color:var(--muted,#687487);}
.ft-simulador #painel-controle .campo input{background:var(--background,#f4f7f6);color:var(--text,#172033);border-color:var(--line,#dfe5ee);}
.ft-simulador .topo-painel{border-color:var(--line,#dfe5ee);}
.ft-simulador .btn-print{background:var(--school-blue,#0d2c6c);box-shadow:none;}
.ft-simulador .menu-mobile{background:var(--surface,#fff);border-color:var(--line,#dfe5ee);}
.ft-simulador .btn-tab{color:var(--muted,#687487);}
.ft-simulador .btn-tab.ativo{background:var(--school-blue-light,#edf4ff);color:var(--school-blue,#0d2c6c);border-color:var(--school-blue,#0d2c6c);}
@media(max-width:768px){.ft-simulador{height:800px;}.ft-simulador #painel-controle,.ft-simulador #area-loja{height:calc(100% - 50px);}}
@media print{.ft-tool-intro{display:none;}.ft-simulador{width:100%;border:0;border-radius:0;height:auto!important;overflow:visible!important;}.ft-simulador #area-loja{position:static!important;height:auto!important;overflow:visible!important;}}
