:root{
		--vf-navy:#0a1f3d;
		--vf-navy-2:#0f2a52;
		--vf-blue:#2f6fed;
		--vf-blue-dark:#1c4fc4;
		--vf-green:#17c673;
		--vf-green-dark:#0ea25c;
		--vf-bg:#f4f7fb;
		--vf-card:#ffffff;
		--vf-line:#e3e9f2;
		--vf-text:#101828;
		--vf-muted:#5a6b85;
		--vf-radius:16px;
		--vf-shadow:0 8px 28px rgba(10,31,61,.08);
	}
	#tggp-wrap *{box-sizing:border-box;}
	#tggp-wrap{
		font-family:'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
		background:var(--vf-bg);
		color:var(--vf-text);
		padding:32px 16px 64px;
		max-width:1180px;
		margin:0 auto;
		line-height:1.5;
	}
	#tggp-wrap .tggp-hero{
		background:linear-gradient(120deg,var(--vf-navy) 0%, var(--vf-navy-2) 55%, #123a75 100%);
		border-radius:20px;
		padding:36px 32px;
		color:#fff;
		position:relative;
		overflow:hidden;
		margin-bottom:28px;
	}
	#tggp-wrap .tggp-hero:before{
		content:"";
		position:absolute;
		right:-60px;top:-60px;
		width:260px;height:260px;
		background:radial-gradient(circle, rgba(23,198,115,.35) 0%, rgba(23,198,115,0) 70%);
	}
	#tggp-wrap .tggp-hero:after{
		content:"";
		position:absolute;
		left:-40px;bottom:-80px;
		width:220px;height:220px;
		background:radial-gradient(circle, rgba(47,111,237,.4) 0%, rgba(47,111,237,0) 70%);
	}
	#tggp-wrap .tggp-hero-eyebrow{
		display:inline-flex;align-items:center;gap:8px;
		font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
		background:rgba(23,198,115,.18);
		border:1px solid rgba(23,198,115,.4);
		color:#7cf0b6;
		padding:5px 12px;border-radius:999px;
		margin-bottom:14px;position:relative;z-index:1;
	}
	#tggp-wrap .tggp-hero h1{
		color:#fff;font-size:clamp(24px,3.4vw,34px);
		font-weight:700;margin:0 0 8px;position:relative;z-index:1;
	}
	#tggp-wrap .tggp-hero p{
		margin:0;color:#c7d3ea;max-width:640px;font-size:15px;position:relative;z-index:1;
	}

	#tggp-wrap .tggp-tabs{
		display:flex;gap:8px;margin-bottom:22px;
		background:var(--vf-card);
		border:1px solid var(--vf-line);
		border-radius:14px;padding:6px;
		box-shadow:var(--vf-shadow);
	}
	#tggp-wrap .tggp-tab-btn{
		flex:1;border:none;background:transparent;cursor:pointer;
		padding:13px 10px;border-radius:10px;
		font-weight:600;font-size:16px;color:var(--vf-muted);
		transition:all .2s ease;
		display:flex;align-items:center;justify-content:center;gap:8px;
	}
	#tggp-wrap .tggp-tab-btn svg{width:18px;height:18px;flex:none;}
	#tggp-wrap .tggp-tab-btn.active{
		background:linear-gradient(120deg,var(--vf-blue),var(--vf-blue-dark));
		color:#fff;box-shadow:0 6px 16px rgba(47,111,237,.35);
	}

	#tggp-wrap .tggp-panel{display:none;}
	#tggp-wrap .tggp-panel.active{display:block;animation:tggpFade .25s ease;}
	@keyframes tggpFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

	#tggp-wrap .tggp-grid{
		display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start;
	}
	#tggp-wrap .tggp-card{
		background:var(--vf-card);
		border:1px solid var(--vf-line);
		border-radius:var(--vf-radius);
		box-shadow:var(--vf-shadow);
		padding:24px;
	}
	#tggp-wrap .tggp-card h2{
		font-size:16px;font-weight:700;margin:0 0 18px;
		display:flex;align-items:center;gap:8px;color:var(--vf-navy);
	}
	#tggp-wrap .tggp-card h2 .dot{
		width:8px;height:8px;border-radius:50%;background:var(--vf-green);flex:none;
	}
	#tggp-wrap .tggp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
	#tggp-wrap .tggp-field{margin-bottom:14px;}
	#tggp-wrap .tggp-field label{
		display:block;font-size:13px;font-weight:600;color:var(--vf-muted);margin-bottom:6px;
	}
	#tggp-wrap .tggp-field label .tggp-hint{font-weight:400;color:#9aa8bd;}
	#tggp-wrap select,
	#tggp-wrap input[type="text"],
	#tggp-wrap input[type="number"]{
		width:100%;padding:5px 12px;border:1.5px solid var(--vf-line);
		border-radius:10px;font-size:14.5px;color:var(--vf-text);
		background:#fbfcfe;font-family:inherit;
		transition:border-color .15s, box-shadow .15s;
	}
	#tggp-wrap select:focus,
	#tggp-wrap input:focus{
		outline:none;border-color:var(--vf-blue);
		box-shadow:0 0 0 3px rgba(47,111,237,.15);
		background:#fff;
	}
	#tggp-wrap .tggp-suffix-wrap{position:relative;}
	#tggp-wrap .tggp-suffix-wrap input{padding-right:40px;}
	#tggp-wrap .tggp-suffix{
		position:absolute;right:12px;top:50%;transform:translateY(-50%);
		font-size:13px;color:#9aa8bd;font-weight:600;pointer-events:none;
	}
	#tggp-wrap .tggp-checkline{
		display:flex;align-items:center;gap:10px;margin:6px 0 14px;
		padding:12px 14px;background:#f6f9fd;border-radius:10px;border:1px solid var(--vf-line);
	}
	#tggp-wrap .tggp-checkline input[type="checkbox"]{width:18px;height:18px;accent-color:var(--vf-green);flex:none;}
	#tggp-wrap .tggp-checkline label{font-size:14px;font-weight:600;color:var(--vf-text);margin:0;cursor:pointer;}

	#tggp-wrap .tggp-radio-group{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
	#tggp-wrap .tggp-radio-opt{
		flex:1;min-width:150px;border:1.5px solid var(--vf-line);border-radius:10px;
		padding:11px 12px;cursor:pointer;display:flex;align-items:flex-start;gap:8px;
		font-size:13px;background:#fbfcfe;transition:.15s;
	}
	#tggp-wrap .tggp-radio-opt.checked{border-color:var(--vf-blue);background:rgba(47,111,237,.06);}
	#tggp-wrap .tggp-radio-opt input{margin-top:2px;accent-color:var(--vf-blue);}
	#tggp-wrap .tggp-radio-opt strong{display:block;font-size:13.5px;color:var(--vf-text);}
	#tggp-wrap .tggp-radio-opt span.desc{color:var(--vf-muted);font-size:12px;}

	#tggp-wrap .tggp-btn{
		width:100%;border:none;cursor:pointer;
		background:linear-gradient(120deg,var(--vf-green),var(--vf-green-dark));
		color:#fff;font-weight:700;font-size:15px;
		padding:14px 18px;border-radius:12px;
		box-shadow:0 8px 18px rgba(23,198,115,.32);
		display:flex;align-items:center;justify-content:center;gap:8px;
		transition:transform .12s ease;
	}
	#tggp-wrap .tggp-btn:hover{transform:translateY(-1px);}
	#tggp-wrap .tggp-btn:active{transform:translateY(0);}
	#tggp-wrap .tggp-btn.secondary{
		background:#fff;color:var(--vf-blue-dark);border:1.5px solid var(--vf-line);
		box-shadow:none;margin-top:10px;
	}
	#tggp-wrap .tggp-btn svg{width:18px;height:18px;}

	#tggp-wrap .tggp-result-card{
		background:linear-gradient(160deg,var(--vf-navy) 0%, var(--vf-navy-2) 100%);
		color:#fff;border-radius:var(--vf-radius);
		padding:24px;box-shadow:var(--vf-shadow);
		position:sticky;top:16px;
	}
	#tggp-wrap .tggp-result-card .tggp-empty{
		color:#9fb0cc;font-size:14px;text-align:center;padding:30px 10px;
	}
	#tggp-wrap .tggp-result-card .tggp-empty svg{width:40px;height:40px;opacity:.5;margin-bottom:10px;}
	#tggp-wrap .tggp-result-title{
		font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#7cf0b6;
		font-weight:700;margin-bottom:6px;
	}
	#tggp-wrap .tggp-result-total{
		font-size:clamp(24px,3vw,30px);font-weight:800;margin-bottom:18px;
		font-variant-numeric:tabular-nums;
	}
	#tggp-wrap .tggp-result-line{
		display:flex;justify-content:space-between;gap:10px;
		padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.14);
		font-size:13.5px;
	}
	#tggp-wrap .tggp-result-line:last-child{border-bottom:none;}
	#tggp-wrap .tggp-result-line span:first-child{color:#c7d3ea;}
	#tggp-wrap .tggp-result-line span:last-child{font-weight:700;font-variant-numeric:tabular-nums;}
	#tggp-wrap .tggp-result-line.tggp-highlight span:last-child{color:#7cf0b6;}
	#tggp-wrap .tggp-note{
		margin-top:16px;font-size:11.5px;color:#93a4c2;
		background:rgba(255,255,255,.06);padding:10px 12px;border-radius:8px;
		line-height:1.5;
	}

	#tggp-wrap .tggp-table-wrap{
		margin-top:22px;background:var(--vf-card);border:1px solid var(--vf-line);
		border-radius:var(--vf-radius);box-shadow:var(--vf-shadow);
		padding:22px;display:none;
	}
	#tggp-wrap .tggp-table-wrap.show{display:block;}
	#tggp-wrap .tggp-table-wrap h3{font-size:15px;margin:0 0 14px;color:var(--vf-navy);}
	#tggp-wrap table{width:100%;border-collapse:collapse;font-size:13px;}
	#tggp-wrap table th{
		text-align:right;background:#f6f9fd;color:var(--vf-muted);
		font-weight:700;padding:10px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;
	}
	#tggp-wrap table th:first-child, #tggp-wrap table td:first-child{text-align:center;}
	#tggp-wrap table td{padding:9px 10px;border-bottom:1px solid var(--vf-line);text-align:right;font-variant-numeric:tabular-nums;}
	#tggp-wrap table tr:last-child td{border-bottom:none;}
	#tggp-wrap .tggp-table-scroll{max-height:360px;overflow-y:auto;border:1px solid var(--vf-line);border-radius:10px;}
	#tggp-wrap .tggp-table-scroll table thead th{position:sticky;top:0;z-index:2;}
	#tggp-wrap .tggp-toggle-full{
		background:none;border:none;color:var(--vf-blue);font-weight:700;font-size:13px;
		cursor:pointer;margin-top:10px;padding:0;
	}

	@media (max-width: 860px){
		#tggp-wrap{padding:20px 12px 48px;}
		#tggp-wrap .tggp-hero{padding:26px 20px;}
		#tggp-wrap .tggp-grid{grid-template-columns:1fr;}
		#tggp-wrap .tggp-row{grid-template-columns:1fr;}
		#tggp-wrap .tggp-result-card{position:static;}
		#tggp-wrap .tggp-tab-btn{font-size:13px;padding:12px 6px;}
		#tggp-wrap .tggp-tab-btn span.tggp-tab-full{display:none;}
	}
	@media (min-width:861px){
		#tggp-wrap .tggp-tab-btn span.tggp-tab-short{display:none;}
	}

	/* PDF export area (off-screen render target) */
	#tggp-pdf-render{position:fixed;left:-9999px;top:0;width:760px;background:#fff;}
